ETH Price: $3,971.00 (-0.67%)
Gas: 15.7 Gwei

Contract

0x98Fe11B3ddB10EdcaC6584DbfDEC44923dD5d460
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve204286752024-07-31 19:38:59138 days ago1722454739IN
0x98Fe11B3...23dD5d460
0 ETH0.0005331611.46064999
Approve204286352024-07-31 19:30:59138 days ago1722454259IN
0x98Fe11B3...23dD5d460
0 ETH0.0006039112.9816612
Approve204286172024-07-31 19:27:23138 days ago1722454043IN
0x98Fe11B3...23dD5d460
0 ETH0.0007264615.61579962
Approve204285772024-07-31 19:19:23138 days ago1722453563IN
0x98Fe11B3...23dD5d460
0 ETH0.0008030717.24040351
Approve204285122024-07-31 19:06:23138 days ago1722452783IN
0x98Fe11B3...23dD5d460
0 ETH0.0007644216.41065238
Approve204285092024-07-31 19:05:47138 days ago1722452747IN
0x98Fe11B3...23dD5d460
0 ETH0.0007773816.68889404
Approve204285032024-07-31 19:04:35138 days ago1722452675IN
0x98Fe11B3...23dD5d460
0 ETH0.0005385611.56489577
Approve204284972024-07-31 19:03:23138 days ago1722452603IN
0x98Fe11B3...23dD5d460
0 ETH0.0007163915.37949425
Approve204284952024-07-31 19:02:59138 days ago1722452579IN
0x98Fe11B3...23dD5d460
0 ETH0.0006612614.19599236
Approve204284932024-07-31 19:02:35138 days ago1722452555IN
0x98Fe11B3...23dD5d460
0 ETH0.0006701614.38714233
Approve204284922024-07-31 19:02:23138 days ago1722452543IN
0x98Fe11B3...23dD5d460
0 ETH0.0006864114.73586022
Approve204284752024-07-31 18:58:59138 days ago1722452339IN
0x98Fe11B3...23dD5d460
0 ETH0.0006750314.49171531
Approve204284662024-07-31 18:57:11138 days ago1722452231IN
0x98Fe11B3...23dD5d460
0 ETH0.0003404512.77744052
Approve204284642024-07-31 18:56:47138 days ago1722452207IN
0x98Fe11B3...23dD5d460
0 ETH0.0005454711.71935749
Remove Limits204284622024-07-31 18:56:23138 days ago1722452183IN
0x98Fe11B3...23dD5d460
0 ETH0.0005647413.69817902
Approve204284612024-07-31 18:56:11138 days ago1722452171IN
0x98Fe11B3...23dD5d460
0 ETH0.000803517.25407901
Approve204284602024-07-31 18:55:59138 days ago1722452159IN
0x98Fe11B3...23dD5d460
0 ETH0.0005259711.2944421
Change Fee204284592024-07-31 18:55:47138 days ago1722452147IN
0x98Fe11B3...23dD5d460
0 ETH0.0003565913.59531508
Approve204284562024-07-31 18:55:11138 days ago1722452111IN
0x98Fe11B3...23dD5d460
0 ETH0.0006719714.42605201
Approve204284532024-07-31 18:54:35138 days ago1722452075IN
0x98Fe11B3...23dD5d460
0 ETH0.0008302317.82347683
Approve204284512024-07-31 18:54:11138 days ago1722452051IN
0x98Fe11B3...23dD5d460
0 ETH0.0008167917.53499719
Approve204284482024-07-31 18:53:35138 days ago1722452015IN
0x98Fe11B3...23dD5d460
0 ETH0.0007631716.3838535
Approve204284302024-07-31 18:49:59138 days ago1722451799IN
0x98Fe11B3...23dD5d460
0 ETH0.0008818418.93622687
Approve204284222024-07-31 18:48:23138 days ago1722451703IN
0x98Fe11B3...23dD5d460
0 ETH0.0008115817.42301596
Approve204284192024-07-31 18:47:47138 days ago1722451667IN
0x98Fe11B3...23dD5d460
0 ETH0.000697814.98045781
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
204290082024-07-31 20:46:23138 days ago1722458783
0x98Fe11B3...23dD5d460
0.00285266 ETH
204290082024-07-31 20:46:23138 days ago1722458783
0x98Fe11B3...23dD5d460
0.00285266 ETH
204289412024-07-31 20:32:35138 days ago1722457955
0x98Fe11B3...23dD5d460
0.00303352 ETH
204289412024-07-31 20:32:35138 days ago1722457955
0x98Fe11B3...23dD5d460
0.00303352 ETH
204288212024-07-31 20:08:35138 days ago1722456515
0x98Fe11B3...23dD5d460
0.00304856 ETH
204288212024-07-31 20:08:35138 days ago1722456515
0x98Fe11B3...23dD5d460
0.00304856 ETH
204287872024-07-31 20:01:35138 days ago1722456095
0x98Fe11B3...23dD5d460
0.0036414 ETH
204287872024-07-31 20:01:35138 days ago1722456095
0x98Fe11B3...23dD5d460
0.0036414 ETH
204287102024-07-31 19:45:59138 days ago1722455159
0x98Fe11B3...23dD5d460
0.00388139 ETH
204287102024-07-31 19:45:59138 days ago1722455159
0x98Fe11B3...23dD5d460
0.00388139 ETH
204286752024-07-31 19:38:59138 days ago1722454739
0x98Fe11B3...23dD5d460
0.00395318 ETH
204286752024-07-31 19:38:59138 days ago1722454739
0x98Fe11B3...23dD5d460
0.00395318 ETH
204286732024-07-31 19:38:35138 days ago1722454715
0x98Fe11B3...23dD5d460
0.00700641 ETH
204286732024-07-31 19:38:35138 days ago1722454715
0x98Fe11B3...23dD5d460
0.00700641 ETH
204286542024-07-31 19:34:47138 days ago1722454487
0x98Fe11B3...23dD5d460
0.00931661 ETH
204286542024-07-31 19:34:47138 days ago1722454487
0x98Fe11B3...23dD5d460
0.00931661 ETH
204286352024-07-31 19:30:59138 days ago1722454259
0x98Fe11B3...23dD5d460
0.01028025 ETH
204286352024-07-31 19:30:59138 days ago1722454259
0x98Fe11B3...23dD5d460
0.01028025 ETH
204286252024-07-31 19:28:59138 days ago1722454139
0x98Fe11B3...23dD5d460
0.01054983 ETH
204286252024-07-31 19:28:59138 days ago1722454139
0x98Fe11B3...23dD5d460
0.01054983 ETH
204286212024-07-31 19:28:11138 days ago1722454091
0x98Fe11B3...23dD5d460
0.0111586 ETH
204286212024-07-31 19:28:11138 days ago1722454091
0x98Fe11B3...23dD5d460
0.0111586 ETH
204286192024-07-31 19:27:47138 days ago1722454067
0x98Fe11B3...23dD5d460
0.01202305 ETH
204286192024-07-31 19:27:47138 days ago1722454067
0x98Fe11B3...23dD5d460
0.01202305 ETH
204286042024-07-31 19:24:47138 days ago1722453887
0x98Fe11B3...23dD5d460
0.01284413 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
neirocoin

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-31
*/

/*

Telegram: https://t.me/officialneirocoin
Twitter: https://x.com/neirocoinerc20
Website: https://www.neiro-coin.live

0/0 TAX
OWNERSHIP RENOUNCED

*/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.17;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract neirocoin is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    uint256 private enabled = 0;
    address payable private _taxWallet = payable(0x639aB9965Ed2Fb940af95ce7ABB0EceaEEf09362);
    uint256 private _initBuyTax=25;
    uint256 private _initSellTax=45;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private lastSwap;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Neirocoin";
    string private constant _symbol = unicode"NEIRO";
    uint256 public _maxTxAmount =   20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold=8000000 * 10**_decimals;
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_msgSender()] = true;
        _isExcludedFromFee[_taxWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"ERROR: Trading is already enabled.");
        swapEnabled = true;
        tradingOpen = true;
        lastSwap = block.number;
    }

    function unblockSnipers(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }
       
    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function changeFee(uint256 _newInitialBuyFee, uint256 _newInitialSellFee) external onlyOwner() {
      _initBuyTax=_newInitialBuyFee;
      _initSellTax=_newInitialSellFee;
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function blockSnipers(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
  
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(tradingOpen, "Trading not open");
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul(_initBuyTax).div(100);
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul(_initSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && lastSwap != block.number) {
                swapTokensForEth(_taxSwapThreshold);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }   
                lastSwap = block.number;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        _taxSwapThreshold = 2000000 * 10**_decimals;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
                
    function manualSend() external {
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          _taxWallet.transfer(ethBalance);
        }
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newInitialBuyFee","type":"uint256"},{"internalType":"uint256","name":"_newInitialSellFee","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"unblockSnipers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260006005819055600680546001600160a01b03191673639ab9965ed2fb940af95ce7abb0eceaeef093621790556019600755602d6008556009818155600a918255620000509162000505565b62000060906301312d006200051d565b600c55620000716009600a62000505565b62000081906301312d006200051d565b600d55620000926009600a62000505565b620000a190627a12006200051d565b600e556010805462ffffff60a01b19169055348015620000c057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000167573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018d919062000537565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000216919062000537565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028a919062000537565b601080546001600160a01b0319166001600160a01b0392909216919091179055620002b86009600a62000505565b620002c890633b9aca006200051d565b336000908152600160208190526040822092909255600390620002f36000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260039283905290812080549093166001908117909355620003403390565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600654909116815260039092529020805490911660011790556200038f3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003c96009600a62000505565b620003d990633b9aca006200051d565b60405190815260200160405180910390a362000562565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004475781600019048211156200042b576200042b620003f0565b808516156200043957918102915b93841c93908002906200040b565b509250929050565b6000826200046057506001620004ff565b816200046f57506000620004ff565b81600181146200048857600281146200049357620004b3565b6001915050620004ff565b60ff841115620004a757620004a7620003f0565b50506001821b620004ff565b5060208310610133831016604e8410600b8410161715620004d8575081810a620004ff565b620004e4838362000406565b8060001904821115620004fb57620004fb620003f0565b0290505b92915050565b60006200051660ff8416836200044f565b9392505050565b8082028115828204841417620004ff57620004ff620003f0565b6000602082840312156200054a57600080fd5b81516001600160a01b03811681146200051657600080fd5b6117c180620005726000396000f3fe6080604052600436106101395760003560e01c806378bfa713116100ab57806395d89b411161006f57806395d89b4114610366578063a9059cbb14610394578063bf474bed146103b4578063dd62ed3e146103ca578063e3ca2d6514610410578063f42938901461043057600080fd5b806378bfa713146102e75780637d1db4a5146103075780638a8c523c1461031d5780638da5cb5b146103325780638f9a55c01461035057600080fd5b8063313ce567116100fd578063313ce5671461021e57806349bd5a5e1461023a57806351bc3c851461027257806370a0823114610287578063715018a6146102bd578063751039fc146102d257600080fd5b806306fdde0314610145578063095ea7b314610189578063137e82d6146101b957806318160ddd146101db57806323b872dd146101fe57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260098152682732b4b937b1b7b4b760b91b60208201525b60405161018091906112d6565b60405180910390f35b34801561019557600080fd5b506101a96101a4366004611349565b610445565b6040519015158152602001610180565b3480156101c557600080fd5b506101d96101d436600461138b565b61045c565b005b3480156101e757600080fd5b506101f06104fb565b604051908152602001610180565b34801561020a57600080fd5b506101a9610219366004611450565b61051c565b34801561022a57600080fd5b5060405160098152602001610180565b34801561024657600080fd5b5060105461025a906001600160a01b031681565b6040516001600160a01b039091168152602001610180565b34801561027e57600080fd5b506101d9610585565b34801561029357600080fd5b506101f06102a2366004611491565b6001600160a01b031660009081526001602052604090205490565b3480156102c957600080fd5b506101d96105d4565b3480156102de57600080fd5b506101d9610648565b3480156102f357600080fd5b506101d961030236600461138b565b610716565b34801561031357600080fd5b506101f0600c5481565b34801561032957600080fd5b506101d96107a8565b34801561033e57600080fd5b506000546001600160a01b031661025a565b34801561035c57600080fd5b506101f0600d5481565b34801561037257600080fd5b506040805180820190915260058152644e4549524f60d81b6020820152610173565b3480156103a057600080fd5b506101a96103af366004611349565b610854565b3480156103c057600080fd5b506101f0600e5481565b3480156103d657600080fd5b506101f06103e53660046114ae565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561041c57600080fd5b506101d961042b3660046114e7565b610861565b34801561043c57600080fd5b506101d9610896565b60006104523384846108da565b5060015b92915050565b6000546001600160a01b0316331461048f5760405162461bcd60e51b815260040161048690611509565b60405180910390fd5b60005b81518110156104f7576001600460008484815181106104b3576104b361153e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806104ef8161156a565b915050610492565b5050565b60006105096009600a611667565b61051790633b9aca00611676565b905090565b60006105298484846109fe565b61057b843361057685604051806060016040528060288152602001611764602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f4e565b6108da565b5060019392505050565b6006546001600160a01b0316336001600160a01b0316146105a557600080fd5b3060009081526001602052604090205480156105c4576105c481610f88565b4780156104f7576104f781611102565b6000546001600160a01b031633146105fe5760405162461bcd60e51b815260040161048690611509565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106725760405162461bcd60e51b815260040161048690611509565b61067e6009600a611667565b61068c90633b9aca00611676565b600c5561069b6009600a611667565b6106a990633b9aca00611676565b600d556106b86009600a611667565b6106c590621e8480611676565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106f56009600a611667565b61070390633b9aca00611676565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107405760405162461bcd60e51b815260040161048690611509565b60005b81518110156104f7576000600460008484815181106107645761076461153e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107a08161156a565b915050610743565b6000546001600160a01b031633146107d25760405162461bcd60e51b815260040161048690611509565b601054600160a01b900460ff16156108375760405162461bcd60e51b815260206004820152602260248201527f4552524f523a2054726164696e6720697320616c726561647920656e61626c65604482015261321760f11b6064820152608401610486565b6010805462ff00ff60a01b19166201000160a01b17905543600b55565b60006104523384846109fe565b6000546001600160a01b0316331461088b5760405162461bcd60e51b815260040161048690611509565b600791909155600855565b4780156108d7576006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156104f7573d6000803e3d6000fd5b50565b6001600160a01b03831661093c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610486565b6001600160a01b03821661099d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610486565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610486565b6001600160a01b038216610ac45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610486565b60008111610b265760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610486565b600080546001600160a01b03858116911614801590610b5357506000546001600160a01b03848116911614155b15610e0b576001600160a01b03841660009081526004602052604090205460ff16158015610b9a57506001600160a01b03831660009081526004602052604090205460ff16155b610ba357600080fd5b6010546001600160a01b038581169116148015610bce5750600f546001600160a01b03848116911614155b8015610bf357506001600160a01b03831660009081526003602052604090205460ff16155b15610d3457601054600160a01b900460ff16610c445760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610486565b600c54821115610c965760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610486565b600d5482610cb9856001600160a01b031660009081526001602052604090205490565b610cc3919061168d565b1115610d115760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610486565b610d316064610d2b6007548561113c90919063ffffffff16565b906111c5565b90505b6010546001600160a01b038481169116148015610d5a57506001600160a01b0384163014155b15610d7c57610d796064610d2b6008548561113c90919063ffffffff16565b90505b30600090815260016020526040902054601054600160a81b900460ff16158015610db357506010546001600160a01b038581169116145b8015610dc85750601054600160b01b900460ff165b8015610dd55750600e5481115b8015610de3575043600b5414155b15610e0957610df3600e54610f88565b478015610e0357610e0347611102565b5043600b555b505b8015610e855730600090815260016020526040902054610e2b9082611207565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7c9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610ea89083611266565b6001600160a01b038516600090815260016020526040902055610eed610ece8383611266565b6001600160a01b03851660009081526001602052604090205490611207565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f378585611266565b60405190815260200160405180910390a350505050565b60008184841115610f725760405162461bcd60e51b815260040161048691906112d6565b506000610f7f84866116a0565b95945050505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd057610fd061153e565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d91906116b3565b816001815181106110605761106061153e565b6001600160a01b039283166020918202929092010152600f5461108691309116846108da565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110bf9085906000908690309042906004016116d0565b600060405180830381600087803b1580156110d957600080fd5b505af11580156110ed573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156104f7573d6000803e3d6000fd5b60008260000361114e57506000610456565b600061115a8385611676565b9050826111678583611741565b146111be5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610486565b9392505050565b60006111be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112a8565b600080611214838561168d565b9050838110156111be5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610486565b60006111be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f4e565b600081836112c95760405162461bcd60e51b815260040161048691906112d6565b506000610f7f8486611741565b600060208083528351808285015260005b81811015611303578581018301518582016040015282016112e7565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108d757600080fd5b803561134481611324565b919050565b6000806040838503121561135c57600080fd5b823561136781611324565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561139e57600080fd5b823567ffffffffffffffff808211156113b657600080fd5b818501915085601f8301126113ca57600080fd5b8135818111156113dc576113dc611375565b8060051b604051601f19603f8301168101818110858211171561140157611401611375565b60405291825284820192508381018501918883111561141f57600080fd5b938501935b828510156114445761143585611339565b84529385019392850192611424565b98975050505050505050565b60008060006060848603121561146557600080fd5b833561147081611324565b9250602084013561148081611324565b929592945050506040919091013590565b6000602082840312156114a357600080fd5b81356111be81611324565b600080604083850312156114c157600080fd5b82356114cc81611324565b915060208301356114dc81611324565b809150509250929050565b600080604083850312156114fa57600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161157c5761157c611554565b5060010190565b600181815b808511156115be5781600019048211156115a4576115a4611554565b808516156115b157918102915b93841c9390800290611588565b509250929050565b6000826115d557506001610456565b816115e257506000610456565b81600181146115f857600281146116025761161e565b6001915050610456565b60ff84111561161357611613611554565b50506001821b610456565b5060208310610133831016604e8410600b8410161715611641575081810a610456565b61164b8383611583565b806000190482111561165f5761165f611554565b029392505050565b60006111be60ff8416836115c6565b808202811582820484141761045657610456611554565b8082018082111561045657610456611554565b8181038181111561045657610456611554565b6000602082840312156116c557600080fd5b81516111be81611324565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117205784516001600160a01b0316835293830193918301916001016116fb565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261175e57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bc279833b0213a57a1052b878b2ba9e97bb5882b0bb49a9cd76c17c5d44106c264736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806378bfa713116100ab57806395d89b411161006f57806395d89b4114610366578063a9059cbb14610394578063bf474bed146103b4578063dd62ed3e146103ca578063e3ca2d6514610410578063f42938901461043057600080fd5b806378bfa713146102e75780637d1db4a5146103075780638a8c523c1461031d5780638da5cb5b146103325780638f9a55c01461035057600080fd5b8063313ce567116100fd578063313ce5671461021e57806349bd5a5e1461023a57806351bc3c851461027257806370a0823114610287578063715018a6146102bd578063751039fc146102d257600080fd5b806306fdde0314610145578063095ea7b314610189578063137e82d6146101b957806318160ddd146101db57806323b872dd146101fe57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260098152682732b4b937b1b7b4b760b91b60208201525b60405161018091906112d6565b60405180910390f35b34801561019557600080fd5b506101a96101a4366004611349565b610445565b6040519015158152602001610180565b3480156101c557600080fd5b506101d96101d436600461138b565b61045c565b005b3480156101e757600080fd5b506101f06104fb565b604051908152602001610180565b34801561020a57600080fd5b506101a9610219366004611450565b61051c565b34801561022a57600080fd5b5060405160098152602001610180565b34801561024657600080fd5b5060105461025a906001600160a01b031681565b6040516001600160a01b039091168152602001610180565b34801561027e57600080fd5b506101d9610585565b34801561029357600080fd5b506101f06102a2366004611491565b6001600160a01b031660009081526001602052604090205490565b3480156102c957600080fd5b506101d96105d4565b3480156102de57600080fd5b506101d9610648565b3480156102f357600080fd5b506101d961030236600461138b565b610716565b34801561031357600080fd5b506101f0600c5481565b34801561032957600080fd5b506101d96107a8565b34801561033e57600080fd5b506000546001600160a01b031661025a565b34801561035c57600080fd5b506101f0600d5481565b34801561037257600080fd5b506040805180820190915260058152644e4549524f60d81b6020820152610173565b3480156103a057600080fd5b506101a96103af366004611349565b610854565b3480156103c057600080fd5b506101f0600e5481565b3480156103d657600080fd5b506101f06103e53660046114ae565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561041c57600080fd5b506101d961042b3660046114e7565b610861565b34801561043c57600080fd5b506101d9610896565b60006104523384846108da565b5060015b92915050565b6000546001600160a01b0316331461048f5760405162461bcd60e51b815260040161048690611509565b60405180910390fd5b60005b81518110156104f7576001600460008484815181106104b3576104b361153e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806104ef8161156a565b915050610492565b5050565b60006105096009600a611667565b61051790633b9aca00611676565b905090565b60006105298484846109fe565b61057b843361057685604051806060016040528060288152602001611764602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f4e565b6108da565b5060019392505050565b6006546001600160a01b0316336001600160a01b0316146105a557600080fd5b3060009081526001602052604090205480156105c4576105c481610f88565b4780156104f7576104f781611102565b6000546001600160a01b031633146105fe5760405162461bcd60e51b815260040161048690611509565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106725760405162461bcd60e51b815260040161048690611509565b61067e6009600a611667565b61068c90633b9aca00611676565b600c5561069b6009600a611667565b6106a990633b9aca00611676565b600d556106b86009600a611667565b6106c590621e8480611676565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106f56009600a611667565b61070390633b9aca00611676565b60405190815260200160405180910390a1565b6000546001600160a01b031633146107405760405162461bcd60e51b815260040161048690611509565b60005b81518110156104f7576000600460008484815181106107645761076461153e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107a08161156a565b915050610743565b6000546001600160a01b031633146107d25760405162461bcd60e51b815260040161048690611509565b601054600160a01b900460ff16156108375760405162461bcd60e51b815260206004820152602260248201527f4552524f523a2054726164696e6720697320616c726561647920656e61626c65604482015261321760f11b6064820152608401610486565b6010805462ff00ff60a01b19166201000160a01b17905543600b55565b60006104523384846109fe565b6000546001600160a01b0316331461088b5760405162461bcd60e51b815260040161048690611509565b600791909155600855565b4780156108d7576006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156104f7573d6000803e3d6000fd5b50565b6001600160a01b03831661093c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610486565b6001600160a01b03821661099d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610486565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610486565b6001600160a01b038216610ac45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610486565b60008111610b265760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610486565b600080546001600160a01b03858116911614801590610b5357506000546001600160a01b03848116911614155b15610e0b576001600160a01b03841660009081526004602052604090205460ff16158015610b9a57506001600160a01b03831660009081526004602052604090205460ff16155b610ba357600080fd5b6010546001600160a01b038581169116148015610bce5750600f546001600160a01b03848116911614155b8015610bf357506001600160a01b03831660009081526003602052604090205460ff16155b15610d3457601054600160a01b900460ff16610c445760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b6044820152606401610486565b600c54821115610c965760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610486565b600d5482610cb9856001600160a01b031660009081526001602052604090205490565b610cc3919061168d565b1115610d115760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610486565b610d316064610d2b6007548561113c90919063ffffffff16565b906111c5565b90505b6010546001600160a01b038481169116148015610d5a57506001600160a01b0384163014155b15610d7c57610d796064610d2b6008548561113c90919063ffffffff16565b90505b30600090815260016020526040902054601054600160a81b900460ff16158015610db357506010546001600160a01b038581169116145b8015610dc85750601054600160b01b900460ff165b8015610dd55750600e5481115b8015610de3575043600b5414155b15610e0957610df3600e54610f88565b478015610e0357610e0347611102565b5043600b555b505b8015610e855730600090815260016020526040902054610e2b9082611207565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7c9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610ea89083611266565b6001600160a01b038516600090815260016020526040902055610eed610ece8383611266565b6001600160a01b03851660009081526001602052604090205490611207565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f378585611266565b60405190815260200160405180910390a350505050565b60008184841115610f725760405162461bcd60e51b815260040161048691906112d6565b506000610f7f84866116a0565b95945050505050565b6010805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd057610fd061153e565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d91906116b3565b816001815181106110605761106061153e565b6001600160a01b039283166020918202929092010152600f5461108691309116846108da565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110bf9085906000908690309042906004016116d0565b600060405180830381600087803b1580156110d957600080fd5b505af11580156110ed573d6000803e3d6000fd5b50506010805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156104f7573d6000803e3d6000fd5b60008260000361114e57506000610456565b600061115a8385611676565b9050826111678583611741565b146111be5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610486565b9392505050565b60006111be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112a8565b600080611214838561168d565b9050838110156111be5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610486565b60006111be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f4e565b600081836112c95760405162461bcd60e51b815260040161048691906112d6565b506000610f7f8486611741565b600060208083528351808285015260005b81811015611303578581018301518582016040015282016112e7565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146108d757600080fd5b803561134481611324565b919050565b6000806040838503121561135c57600080fd5b823561136781611324565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561139e57600080fd5b823567ffffffffffffffff808211156113b657600080fd5b818501915085601f8301126113ca57600080fd5b8135818111156113dc576113dc611375565b8060051b604051601f19603f8301168101818110858211171561140157611401611375565b60405291825284820192508381018501918883111561141f57600080fd5b938501935b828510156114445761143585611339565b84529385019392850192611424565b98975050505050505050565b60008060006060848603121561146557600080fd5b833561147081611324565b9250602084013561148081611324565b929592945050506040919091013590565b6000602082840312156114a357600080fd5b81356111be81611324565b600080604083850312156114c157600080fd5b82356114cc81611324565b915060208301356114dc81611324565b809150509250929050565b600080604083850312156114fa57600080fd5b50508035926020909101359150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161157c5761157c611554565b5060010190565b600181815b808511156115be5781600019048211156115a4576115a4611554565b808516156115b157918102915b93841c9390800290611588565b509250929050565b6000826115d557506001610456565b816115e257506000610456565b81600181146115f857600281146116025761161e565b6001915050610456565b60ff84111561161357611613611554565b50506001821b610456565b5060208310610133831016604e8410600b8410161715611641575081810a610456565b61164b8383611583565b806000190482111561165f5761165f611554565b029392505050565b60006111be60ff8416836115c6565b808202811582820484141761045657610456611554565b8082018082111561045657610456611554565b8181038181111561045657610456611554565b6000602082840312156116c557600080fd5b81516111be81611324565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117205784516001600160a01b0316835293830193918301916001016116fb565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261175e57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bc279833b0213a57a1052b878b2ba9e97bb5882b0bb49a9cd76c17c5d44106c264736f6c63430008110033

Deployed Bytecode Sourcemap

3640:7755:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5975:83;;;;;;;;;;-1:-1:-1;6045:5:0;;;;;;;;;;;;-1:-1:-1;;;6045:5:0;;;;5975:83;;;;;;;:::i;:::-;;;;;;;;7151:161;;;;;;;;;;-1:-1:-1;7151:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7151:161:0;1162:187:1;7865:169:0;;;;;;;;;;-1:-1:-1;7865:169:0;;;;;:::i;:::-;;:::i;:::-;;6252:95;;;;;;;;;;;;;:::i;:::-;;;2758:25:1;;;2746:2;2731:18;6252:95:0;2612:177:1;8044:313:0;;;;;;;;;;-1:-1:-1;8044:313:0;;;;;:::i;:::-;;:::i;6161:83::-;;;;;;;;;;-1:-1:-1;6161:83:0;;4305:1;3397:36:1;;3385:2;3370:18;6161:83:0;3255:184:1;4731:28:0;;;;;;;;;;-1:-1:-1;4731:28:0;;;;-1:-1:-1;;;;;4731:28:0;;;;;;-1:-1:-1;;;;;3608:32:1;;;3590:51;;3578:2;3563:18;4731:28:0;3444:203:1;7509:348:0;;;;;;;;;;;;;:::i;6355:119::-;;;;;;;;;;-1:-1:-1;6355:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6448:18:0;6421:7;6448:18;;;:9;:18;;;;;;;6355:119;2721:148;;;;;;;;;;;;;:::i;10738:213::-;;;;;;;;;;;;;:::i;5791:169::-;;;;;;;;;;-1:-1:-1;5791:169:0;;;;;:::i;:::-;;:::i;4493:56::-;;;;;;;;;;;;;;;;5568:215;;;;;;;;;;;;;:::i;2507:79::-;;;;;;;;;;-1:-1:-1;2545:7:0;2572:6;-1:-1:-1;;;;;2572:6:0;2507:79;;4556:56;;;;;;;;;;;;;;;;6066:87;;;;;;;;;;-1:-1:-1;6138:7:0;;;;;;;;;;;;-1:-1:-1;;;6138:7:0;;;;6066:87;;6482:167;;;;;;;;;;-1:-1:-1;6482:167:0;;;;;:::i;:::-;;:::i;4619:56::-;;;;;;;;;;;;;;;;7000:143;;;;;;;;;;-1:-1:-1;7000:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7108:18:0;;;7081:7;7108:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7000:143;7320:181;;;;;;;;;;-1:-1:-1;7320:181:0;;;;;:::i;:::-;;:::i;11181:172::-;;;;;;;;;;;;;:::i;7151:161::-;7226:4;7243:39;342:10;7266:7;7275:6;7243:8;:39::i;:::-;-1:-1:-1;7300:4:0;7151:161;;;;;:::o;7865:169::-;2634:6;;-1:-1:-1;;;;;2634:6:0;342:10;2634:22;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;;;;;;;;;7944:6:::1;7939:88;7960:5;:12;7956:1;:16;7939:88;;;8011:4;7994;:14;7999:5;8005:1;7999:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7994:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;7994:14:0;:21;;-1:-1:-1;;7994:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7974:3;::::1;::::0;::::1;:::i;:::-;;;;7939:88;;;;7865:169:::0;:::o;6252:95::-;6305:7;4361:13;4305:1;4361:2;:13;:::i;:::-;4348:26;;:10;:26;:::i;:::-;6325:14;;6252:95;:::o;8044:313::-;8142:4;8159:36;8169:6;8177:9;8188:6;8159:9;:36::i;:::-;8206:121;8215:6;342:10;8237:89;8275:6;8237:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8237:19:0;;;;;;:11;:19;;;;;;;;342:10;8237:33;;;;;;;;;;:37;:89::i;:::-;8206:8;:121::i;:::-;-1:-1:-1;8345:4:0;8044:313;;;;;:::o;7509:348::-;7573:10;;-1:-1:-1;;;;;7573:10:0;342;-1:-1:-1;;;;;7559:24:0;;7551:33;;;;;;7634:4;7595:20;6448:18;;;:9;:18;;;;;;7654:14;;7651:73;;7682:30;7699:12;7682:16;:30::i;:::-;7753:21;7788:12;;7785:65;;7814:24;7827:10;7814:12;:24::i;2721:148::-;2634:6;;-1:-1:-1;;;;;2634:6:0;342:10;2634:22;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;2828:1:::1;2812:6:::0;;2791:40:::1;::::0;-1:-1:-1;;;;;2812:6:0;;::::1;::::0;2791:40:::1;::::0;2828:1;;2791:40:::1;2859:1;2842:19:::0;;-1:-1:-1;;;;;;2842:19:0::1;::::0;;2721:148::o;10738:213::-;2634:6;;-1:-1:-1;;;;;2634:6:0;342:10;2634:22;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;4361:13:::1;4305:1;4361:2;:13;:::i;:::-;4348:26;::::0;:10:::1;:26;:::i;:::-;10791:12;:22:::0;4361:13:::1;4305:1;4361:2;:13;:::i;:::-;4348:26;::::0;:10:::1;:26;:::i;:::-;10824:14;:22:::0;10887:13:::1;4305:1;10887:2;:13;:::i;:::-;10877:23;::::0;:7:::1;:23;:::i;:::-;10857:17;:43:::0;10916:27:::1;4361:13;4305:1;4361:2;:13;:::i;:::-;4348:26;::::0;:10:::1;:26;:::i;:::-;10916:27;::::0;2758:25:1;;;2746:2;2731:18;10916:27:0::1;;;;;;;10738:213::o:0;5791:169::-;2634:6;;-1:-1:-1;;;;;2634:6:0;342:10;2634:22;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;5871:6:::1;5866:87;5887:6;:13;5883:1;:17;5866:87;;;5938:5;5920:4;:15;5925:6;5932:1;5925:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;5920:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;5920:15:0;:23;;-1:-1:-1;;5920:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;5902:3;::::1;::::0;::::1;:::i;:::-;;;;5866:87;;5568:215:::0;2634:6;;-1:-1:-1;;;;;2634:6:0;342:10;2634:22;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;5634:11:::1;::::0;-1:-1:-1;;;5634:11:0;::::1;;;5633:12;5625:58;;;::::0;-1:-1:-1;;;5625:58:0;;7073:2:1;5625:58:0::1;::::0;::::1;7055:21:1::0;7112:2;7092:18;;;7085:30;7151:34;7131:18;;;7124:62;-1:-1:-1;;;7202:18:1;;;7195:32;7244:19;;5625:58:0::1;6871:398:1::0;5625:58:0::1;5694:11;:18:::0;;-1:-1:-1;;;;5723:18:0;-1:-1:-1;;;5723:18:0;;;5763:12:::1;5752:8;:23:::0;5568:215::o;6482:167::-;6560:4;6577:42;342:10;6601:9;6612:6;6577:9;:42::i;7320:181::-;2634:6;;-1:-1:-1;;;;;2634:6:0;342:10;2634:22;2626:67;;;;-1:-1:-1;;;2626:67:0;;;;;;;:::i;:::-;7424:11:::1;:29:::0;;;;7462:12:::1;:31:::0;7320:181::o;11181:172::-;11242:21;11277:12;;11274:72;;11303:10;;:31;;-1:-1:-1;;;;;11303:10:0;;;;:31;;;;;11323:10;;11303;:31;:10;:31;11323:10;11303;:31;;;;;;;;;;;;;;;;;;;11274:72;11212:141;11181:172::o;6657:335::-;-1:-1:-1;;;;;6750:19:0;;6742:68;;;;-1:-1:-1;;;6742:68:0;;7476:2:1;6742:68:0;;;7458:21:1;7515:2;7495:18;;;7488:30;7554:34;7534:18;;;7527:62;-1:-1:-1;;;7605:18:1;;;7598:34;7649:19;;6742:68:0;7274:400:1;6742:68:0;-1:-1:-1;;;;;6829:21:0;;6821:68;;;;-1:-1:-1;;;6821:68:0;;7881:2:1;6821:68:0;;;7863:21:1;7920:2;7900:18;;;7893:30;7959:34;7939:18;;;7932:62;-1:-1:-1;;;8010:18:1;;;8003:32;8052:19;;6821:68:0;7679:398:1;6821:68:0;-1:-1:-1;;;;;6900:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6952:32;;2758:25:1;;;6952:32:0;;2731:18:1;6952:32:0;;;;;;;6657:335;;;:::o;8365:1874::-;-1:-1:-1;;;;;8453:18:0;;8445:68;;;;-1:-1:-1;;;8445:68:0;;8284:2:1;8445:68:0;;;8266:21:1;8323:2;8303:18;;;8296:30;8362:34;8342:18;;;8335:62;-1:-1:-1;;;8413:18:1;;;8406:35;8458:19;;8445:68:0;8082:401:1;8445:68:0;-1:-1:-1;;;;;8532:16:0;;8524:64;;;;-1:-1:-1;;;8524:64:0;;8690:2:1;8524:64:0;;;8672:21:1;8729:2;8709:18;;;8702:30;8768:34;8748:18;;;8741:62;-1:-1:-1;;;8819:18:1;;;8812:33;8862:19;;8524:64:0;8488:399:1;8524:64:0;8616:1;8607:6;:10;8599:64;;;;-1:-1:-1;;;8599:64:0;;9094:2:1;8599:64:0;;;9076:21:1;9133:2;9113:18;;;9106:30;9172:34;9152:18;;;9145:62;-1:-1:-1;;;9223:18:1;;;9216:39;9272:19;;8599:64:0;8892:405:1;8599:64:0;8674:17;2572:6;;-1:-1:-1;;;;;8708:15:0;;;2572:6;;8708:15;;;;:32;;-1:-1:-1;2545:7:0;2572:6;-1:-1:-1;;;;;8727:13:0;;;2572:6;;8727:13;;8708:32;8704:1177;;;-1:-1:-1;;;;;8766:10:0;;;;;;:4;:10;;;;;;;;8765:11;:24;;;;-1:-1:-1;;;;;;8781:8:0;;;;;;:4;:8;;;;;;;;8780:9;8765:24;8757:33;;;;;;8817:13;;-1:-1:-1;;;;;8809:21:0;;;8817:13;;8809:21;:55;;;;-1:-1:-1;8848:15:0;;-1:-1:-1;;;;;8834:30:0;;;8848:15;;8834:30;;8809:55;:83;;;;-1:-1:-1;;;;;;8870:22:0;;;;;;:18;:22;;;;;;;;8868:24;8809:83;8805:405;;;8922:11;;-1:-1:-1;;;8922:11:0;;;;8914:40;;;;-1:-1:-1;;;8914:40:0;;9504:2:1;8914:40:0;;;9486:21:1;9543:2;9523:18;;;9516:30;-1:-1:-1;;;9562:18:1;;;9555:46;9618:18;;8914:40:0;9302:340:1;8914:40:0;8991:12;;8981:6;:22;;8973:60;;;;-1:-1:-1;;;8973:60:0;;9849:2:1;8973:60:0;;;9831:21:1;9888:2;9868:18;;;9861:30;9927:27;9907:18;;;9900:55;9972:18;;8973:60:0;9647:349:1;8973:60:0;9086:14;;9076:6;9060:13;9070:2;-1:-1:-1;;;;;6448:18:0;6421:7;6448:18;;;:9;:18;;;;;;;6355:119;9060:13;:22;;;;:::i;:::-;:40;;9052:79;;;;-1:-1:-1;;;9052:79:0;;10333:2:1;9052:79:0;;;10315:21:1;10372:2;10352:18;;;10345:30;10411:28;10391:18;;;10384:56;10457:18;;9052:79:0;10131:350:1;9052:79:0;9162:32;9190:3;9162:23;9173:11;;9162:6;:10;;:23;;;;:::i;:::-;:27;;:32::i;:::-;9150:44;;8805:405;9235:13;;-1:-1:-1;;;;;9229:19:0;;;9235:13;;9229:19;:43;;;;-1:-1:-1;;;;;;9252:20:0;;9267:4;9252:20;;9229:43;9226:128;;;9305:33;9334:3;9305:24;9316:12;;9305:6;:10;;:24;;;;:::i;:33::-;9293:45;;9226:128;9419:4;9370:28;6448:18;;;:9;:18;;;;;;9445:6;;-1:-1:-1;;;9445:6:0;;;;9444:7;:32;;;;-1:-1:-1;9463:13:0;;-1:-1:-1;;;;;9455:21:0;;;9463:13;;9455:21;9444:32;:47;;;;-1:-1:-1;9480:11:0;;-1:-1:-1;;;9480:11:0;;;;9444:47;:89;;;;;9516:17;;9495:20;:38;9444:89;:117;;;;;9549:12;9537:8;;:24;;9444:117;9440:430;;;9582:35;9599:17;;9582:16;:35::i;:::-;9665:21;9708:22;;9705:105;;9755:35;9768:21;9755:12;:35::i;:::-;-1:-1:-1;9842:12:0;9831:8;:23;9440:430;8742:1139;8704:1177;9896:11;;9893:161;;9964:4;9946:24;;;;:9;:24;;;;;;:39;;9975:9;9946:28;:39::i;:::-;9939:4;9921:24;;;;:9;:24;;;;;;;:64;;;;10003:39;;-1:-1:-1;;;;;10003:39:0;;;;;;;10032:9;2758:25:1;;2746:2;2731:18;;2612:177;10003:39:0;;;;;;;;9893:161;-1:-1:-1;;;;;10082:15:0;;;;;;:9;:15;;;;;;:27;;10102:6;10082:19;:27::i;:::-;-1:-1:-1;;;;;10066:15:0;;;;;;:9;:15;;;;;:43;10134:40;10152:21;:6;10163:9;10152:10;:21::i;:::-;-1:-1:-1;;;;;10134:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10120:13:0;;;;;;;:9;:13;;;;;:54;;;;10190:41;;;10209:21;:6;10220:9;10209:10;:21::i;:::-;10190:41;;2758:25:1;;;2746:2;2731:18;10190:41:0;;;;;;;8434:1805;8365:1874;;;:::o;1399:190::-;1485:7;1521:12;1513:6;;;;1505:29;;;;-1:-1:-1;;;1505:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1545:9:0;1557:5;1561:1;1557;:5;:::i;:::-;1545:17;1399:190;-1:-1:-1;;;;;1399:190:0:o;10247:483::-;4962:6;:13;;-1:-1:-1;;;;4962:13:0;-1:-1:-1;;;4962:13:0;;;10349:16:::1;::::0;;10363:1:::1;10349:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10349:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10349:16:0::1;10325:40;;10394:4;10376;10381:1;10376:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10376:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10420:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10420:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10376:7;;10420:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10410:4;10415:1;10410:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10410:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10485:15:::1;::::0;10453:62:::1;::::0;10470:4:::1;::::0;10485:15:::1;10503:11:::0;10453:8:::1;:62::i;:::-;10526:15;::::0;:196:::1;::::0;-1:-1:-1;;;10526:196:0;;-1:-1:-1;;;;;10526:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10607:11;;10526:15:::1;::::0;10649:4;;10676::::1;::::0;10696:15:::1;::::0;10526:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4998:6:0;:14;;-1:-1:-1;;;;4998:14:0;;;-1:-1:-1;;;;10247:483:0:o;11065:92::-;11122:10;;:27;;-1:-1:-1;;;;;11122:10:0;;;;:27;;;;;11142:6;;11122:10;:27;:10;:27;11142:6;11122:10;:27;;;;;;;;;;;;;;;;;;;1597:246;1655:7;1679:1;1684;1679:6;1675:47;;-1:-1:-1;1709:1:0;1702:8;;1675:47;1732:9;1744:5;1748:1;1744;:5;:::i;:::-;1732:17;-1:-1:-1;1777:1:0;1768:5;1772:1;1732:17;1768:5;:::i;:::-;:10;1760:56;;;;-1:-1:-1;;;1760:56:0;;12284:2:1;1760:56:0;;;12266:21:1;12323:2;12303:18;;;12296:30;12362:34;12342:18;;;12335:62;-1:-1:-1;;;12413:18:1;;;12406:31;12454:19;;1760:56:0;12082:397:1;1760:56:0;1834:1;1597:246;-1:-1:-1;;;1597:246:0:o;1851:132::-;1909:7;1936:39;1940:1;1943;1936:39;;;;;;;;;;;;;;;;;:3;:39::i;1068:179::-;1126:7;;1158:5;1162:1;1158;:5;:::i;:::-;1146:17;;1187:1;1182;:6;;1174:46;;;;-1:-1:-1;;;1174:46:0;;12686:2:1;1174:46:0;;;12668:21:1;12725:2;12705:18;;;12698:30;12764:29;12744:18;;;12737:57;12811:18;;1174:46:0;12484:351:1;1255:136:0;1313:7;1340:43;1344:1;1347;1340:43;;;;;;;;;;;;;;;;;:3;:43::i;1991:189::-;2077:7;2112:12;2105:5;2097:28;;;;-1:-1:-1;;;2097:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2136:9:0;2148:5;2152:1;2148;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:127::-;1415:10;1410:3;1406:20;1403:1;1396:31;1446:4;1443:1;1436:15;1470:4;1467:1;1460:15;1486:1121;1570:6;1601:2;1644;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1700:9;1687:23;1729:18;1770:2;1762:6;1759:14;1756:34;;;1786:1;1783;1776:12;1756:34;1824:6;1813:9;1809:22;1799:32;;1869:7;1862:4;1858:2;1854:13;1850:27;1840:55;;1891:1;1888;1881:12;1840:55;1927:2;1914:16;1949:2;1945;1942:10;1939:36;;;1955:18;;:::i;:::-;2001:2;1998:1;1994:10;2033:2;2027:9;2096:2;2092:7;2087:2;2083;2079:11;2075:25;2067:6;2063:38;2151:6;2139:10;2136:22;2131:2;2119:10;2116:18;2113:46;2110:72;;;2162:18;;:::i;:::-;2198:2;2191:22;2248:18;;;2282:15;;;;-1:-1:-1;2324:11:1;;;2320:20;;;2352:19;;;2349:39;;;2384:1;2381;2374:12;2349:39;2408:11;;;;2428:148;2444:6;2439:3;2436:15;2428:148;;;2510:23;2529:3;2510:23;:::i;:::-;2498:36;;2461:12;;;;2554;;;;2428:148;;;2595:6;1486:1121;-1:-1:-1;;;;;;;;1486:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3652:247::-;3711:6;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:248::-;4365:6;4373;4426:2;4414:9;4405:7;4401:23;4397:32;4394:52;;;4442:1;4439;4432:12;4394:52;-1:-1:-1;;4465:23:1;;;4535:2;4520:18;;;4507:32;;-1:-1:-1;4297:248:1:o;4550:356::-;4752:2;4734:21;;;4771:18;;;4764:30;4830:34;4825:2;4810:18;;4803:62;4897:2;4882:18;;4550:356::o;4911:127::-;4972:10;4967:3;4963:20;4960:1;4953:31;5003:4;5000:1;4993:15;5027:4;5024:1;5017:15;5043:127;5104:10;5099:3;5095:20;5092:1;5085:31;5135:4;5132:1;5125:15;5159:4;5156:1;5149:15;5175:135;5214:3;5235:17;;;5232:43;;5255:18;;:::i;:::-;-1:-1:-1;5302:1:1;5291:13;;5175:135::o;5315:422::-;5404:1;5447:5;5404:1;5461:270;5482:7;5472:8;5469:21;5461:270;;;5541:4;5537:1;5533:6;5529:17;5523:4;5520:27;5517:53;;;5550:18;;:::i;:::-;5600:7;5590:8;5586:22;5583:55;;;5620:16;;;;5583:55;5699:22;;;;5659:15;;;;5461:270;;;5465:3;5315:422;;;;;:::o;5742:806::-;5791:5;5821:8;5811:80;;-1:-1:-1;5862:1:1;5876:5;;5811:80;5910:4;5900:76;;-1:-1:-1;5947:1:1;5961:5;;5900:76;5992:4;6010:1;6005:59;;;;6078:1;6073:130;;;;5985:218;;6005:59;6035:1;6026:10;;6049:5;;;6073:130;6110:3;6100:8;6097:17;6094:43;;;6117:18;;:::i;:::-;-1:-1:-1;;6173:1:1;6159:16;;6188:5;;5985:218;;6287:2;6277:8;6274:16;6268:3;6262:4;6259:13;6255:36;6249:2;6239:8;6236:16;6231:2;6225:4;6222:12;6218:35;6215:77;6212:159;;;-1:-1:-1;6324:19:1;;;6356:5;;6212:159;6403:34;6428:8;6422:4;6403:34;:::i;:::-;6473:6;6469:1;6465:6;6461:19;6452:7;6449:32;6446:58;;;6484:18;;:::i;:::-;6522:20;;5742:806;-1:-1:-1;;;5742:806:1:o;6553:140::-;6611:5;6640:47;6681:4;6671:8;6667:19;6661:4;6640:47;:::i;6698:168::-;6771:9;;;6802;;6819:15;;;6813:22;;6799:37;6789:71;;6840:18;;:::i;10001:125::-;10066:9;;;10087:10;;;10084:36;;;10100:18;;:::i;10486:128::-;10553:9;;;10574:11;;;10571:37;;;10588:18;;:::i;10619:251::-;10689:6;10742:2;10730:9;10721:7;10717:23;10713:32;10710:52;;;10758:1;10755;10748:12;10710:52;10790:9;10784:16;10809:31;10834:5;10809:31;:::i;10875:980::-;11137:4;11185:3;11174:9;11170:19;11216:6;11205:9;11198:25;11242:2;11280:6;11275:2;11264:9;11260:18;11253:34;11323:3;11318:2;11307:9;11303:18;11296:31;11347:6;11382;11376:13;11413:6;11405;11398:22;11451:3;11440:9;11436:19;11429:26;;11490:2;11482:6;11478:15;11464:29;;11511:1;11521:195;11535:6;11532:1;11529:13;11521:195;;;11600:13;;-1:-1:-1;;;;;11596:39:1;11584:52;;11691:15;;;;11656:12;;;;11632:1;11550:9;11521:195;;;-1:-1:-1;;;;;;;11772:32:1;;;;11767:2;11752:18;;11745:60;-1:-1:-1;;;11836:3:1;11821:19;11814:35;11733:3;10875:980;-1:-1:-1;;;10875:980:1:o;11860:217::-;11900:1;11926;11916:132;;11970:10;11965:3;11961:20;11958:1;11951:31;12005:4;12002:1;11995:15;12033:4;12030:1;12023:15;11916:132;-1:-1:-1;12062:9:1;;11860:217::o

Swarm Source

ipfs://bc279833b0213a57a1052b878b2ba9e97bb5882b0bb49a9cd76c17c5d44106c2

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.