ETH Price: $2,062.17 (-0.68%)
Gas: 0.03 Gwei
 

Overview

ETH Balance

0.02 ETH

Eth Value

$41.24 (@ $2,062.17/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve244565312026-02-14 17:29:2317 hrs ago1771090163IN
0x2B1CDeCc...Da628E692
0 ETH0.000025521.05318948
Approve240192722025-12-15 16:43:4761 days ago1765817027IN
0x2B1CDeCc...Da628E692
0 ETH0.000057562.37555057
Approve239568622025-12-06 22:41:2370 days ago1765060883IN
0x2B1CDeCc...Da628E692
0 ETH0.000004190.09
Approve235003562025-10-03 22:52:11134 days ago1759531931IN
0x2B1CDeCc...Da628E692
0 ETH0.000004310.17815343
Approve220714622025-03-18 4:44:35334 days ago1742273075IN
0x2B1CDeCc...Da628E692
0 ETH0.000160413.4440784
Approve218430332025-02-14 6:52:35366 days ago1739515955IN
0x2B1CDeCc...Da628E692
0 ETH0.000036611.51088818
Approve218418102025-02-14 2:45:35366 days ago1739501135IN
0x2B1CDeCc...Da628E692
0 ETH0.000021370.87969016
Approve211148802024-11-04 14:27:47467 days ago1730730467IN
0x2B1CDeCc...Da628E692
0 ETH0.000430029.24436361
Approve209569542024-10-13 13:29:23489 days ago1728826163IN
0x2B1CDeCc...Da628E692
0 ETH0.0003584114.76104336
Approve209075382024-10-06 15:54:59496 days ago1728230099IN
0x2B1CDeCc...Da628E692
0 ETH0.0009010619.47106228
Approve208397142024-09-27 4:57:47506 days ago1727413067IN
0x2B1CDeCc...Da628E692
0 ETH0.0002698311.10767457
Approve207111012024-09-09 5:55:23524 days ago1725861323IN
0x2B1CDeCc...Da628E692
0 ETH0.000196964.22882782
Approve203977862024-07-27 12:08:35567 days ago1722082115IN
0x2B1CDeCc...Da628E692
0 ETH0.000072821.56555366
Approve202573632024-07-07 21:37:23587 days ago1720388243IN
0x2B1CDeCc...Da628E692
0 ETH0.000109832.37719554
Approve202087992024-07-01 2:51:23594 days ago1719802283IN
0x2B1CDeCc...Da628E692
0 ETH0.000143413.08298732
Approve199767352024-05-29 16:33:35626 days ago1717000415IN
0x2B1CDeCc...Da628E692
0 ETH0.0010460522.48762484
Approve199186002024-05-21 13:32:11634 days ago1716298331IN
0x2B1CDeCc...Da628E692
0 ETH0.0009934321.35638754
Approve198500492024-05-11 23:23:47644 days ago1715469827IN
0x2B1CDeCc...Da628E692
0 ETH0.00013933.01024721
Approve196714102024-04-16 23:47:59669 days ago1713311279IN
0x2B1CDeCc...Da628E692
0 ETH0.000164246.76091404
Approve193158262024-02-27 2:12:23719 days ago1708999943IN
0x2B1CDeCc...Da628E692
0 ETH0.0037002679.95903555
Approve192574732024-02-18 21:54:23727 days ago1708293263IN
0x2B1CDeCc...Da628E692
0 ETH0.0012414826.65438059
Approve191002352024-01-27 20:17:11749 days ago1706386631IN
0x2B1CDeCc...Da628E692
0 ETH0.0002877711.84614132
Approve190738612024-01-24 3:36:11753 days ago1706067371IN
0x2B1CDeCc...Da628E692
0 ETH0.0005151811.06102491
Approve190623362024-01-22 12:40:35754 days ago1705927235IN
0x2B1CDeCc...Da628E692
0 ETH0.0008754718.79632099
Approve190526602024-01-21 3:50:35756 days ago1705809035IN
0x2B1CDeCc...Da628E692
0 ETH0.0005204911.18933113
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer186278542023-11-22 14:25:23815 days ago1700663123
0x2B1CDeCc...Da628E692
0.05835095 ETH
Transfer186278542023-11-22 14:25:23815 days ago1700663123
0x2B1CDeCc...Da628E692
0.05835095 ETH
Transfer186278432023-11-22 14:23:11815 days ago1700662991
0x2B1CDeCc...Da628E692
0.08947626 ETH
Transfer186278432023-11-22 14:23:11815 days ago1700662991
0x2B1CDeCc...Da628E692
0.08947626 ETH
Transfer186278432023-11-22 14:23:11815 days ago1700662991
0x2B1CDeCc...Da628E692
0.11443039 ETH
Transfer186278432023-11-22 14:23:11815 days ago1700662991
0x2B1CDeCc...Da628E692
0.11443039 ETH
Transfer186278432023-11-22 14:23:11815 days ago1700662991
0x2B1CDeCc...Da628E692
0.13443036 ETH
Transfer186278432023-11-22 14:23:11815 days ago1700662991
0x2B1CDeCc...Da628E692
0.13443036 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.03680839 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.03680839 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.03852072 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.03852072 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.04035557 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.04035557 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.04232495 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.04232495 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.04444232 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.04444232 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.04672293 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.04672293 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.049184 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.049184 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.0518451 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.0518451 ETH
Transfer186272582023-11-22 12:24:47815 days ago1700655887
0x2B1CDeCc...Da628E692
0.05472854 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VB

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-11-22
*/

/*

https://t.me/VitalikButerinEntry

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;

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 VB 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;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000000 * 10**_decimals;
    string private constant _name = unicode"Vitalik Buterin";
    string private constant _symbol = unicode"VB";
    uint256 public _maxTxAmount = 200000000 * 10**_decimals;
    uint256 public _maxWalletSize = 200000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 100000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 100000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    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 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 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 _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 _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]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 25  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        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 min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    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;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

API
[{"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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

6080604052601960075560196008555f6009555f600a556014600b55601e600c556014600d555f600e556009600a62000039919062000332565b6200004990630bebc20062000349565b600f556200005a6009600a62000332565b6200006a90630bebc20062000349565b6010556200007b6009600a62000332565b6200008b906305f5e10062000349565b6011556200009c6009600a62000332565b620000ac906305f5e10062000349565b6012556014805461ffff60a81b19169055348015620000c9575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b031916331790556200012a6009600a62000332565b6200013b906402540be40062000349565b335f908152600160208190526040822092909255600390620001645f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001c23390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001fb6009600a62000332565b6200020c906402540be40062000349565b60405190815260200160405180910390a362000363565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027757815f19048211156200025b576200025b62000223565b808516156200026957918102915b93841c93908002906200023c565b509250929050565b5f826200028f575060016200032c565b816200029d57505f6200032c565b8160018114620002b65760028114620002c157620002e1565b60019150506200032c565b60ff841115620002d557620002d562000223565b50506001821b6200032c565b5060208310610133831016604e8410600b841016171562000306575081810a6200032c565b62000312838362000237565b805f190482111562000328576200032862000223565b0290505b92915050565b5f6200034260ff8416836200027f565b9392505050565b80820281158282048414176200032c576200032c62000223565b611a2e80620003715f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610340578063bf474bed1461035f578063c9567bf914610374578063d34628cc14610388578063dd62ed3e146103a7575f80fd5b8063751039fc146102b25780637d1db4a5146102c65780638da5cb5b146102db5780638f9a55c01461030157806395d89b4114610316575f80fd5b8063313ce567116100e3578063313ce567146101f757806331c2d847146102125780633bbac5791461023357806370a082311461026a578063715018a61461029e575f80fd5b806306fdde0314610129578063095ea7b3146101725780630faee56f146101a157806318160ddd146101c457806323b872dd146101d8575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600f81526e2b34ba30b634b590213aba32b934b760891b60208201525b604051610169919061153d565b60405180910390f35b34801561017d575f80fd5b5061019161018c3660046115af565b6103eb565b6040519015158152602001610169565b3480156101ac575f80fd5b506101b660125481565b604051908152602001610169565b3480156101cf575f80fd5b506101b6610401565b3480156101e3575f80fd5b506101916101f23660046115d9565b610422565b348015610202575f80fd5b5060405160098152602001610169565b34801561021d575f80fd5b5061023161022c36600461162b565b610489565b005b34801561023e575f80fd5b5061019161024d3660046116eb565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610275575f80fd5b506101b66102843660046116eb565b6001600160a01b03165f9081526001602052604090205490565b3480156102a9575f80fd5b50610231610523565b3480156102bd575f80fd5b50610231610594565b3480156102d1575f80fd5b506101b6600f5481565b3480156102e6575f80fd5b505f546040516001600160a01b039091168152602001610169565b34801561030c575f80fd5b506101b660105481565b348015610321575f80fd5b506040805180820190915260028152612b2160f11b602082015261015c565b34801561034b575f80fd5b5061019161035a3660046115af565b610648565b34801561036a575f80fd5b506101b660115481565b34801561037f575f80fd5b50610231610654565b348015610393575f80fd5b506102316103a236600461162b565b610a02565b3480156103b2575f80fd5b506101b66103c1366004611706565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103f7338484610a90565b5060015b92915050565b5f61040e6009600a611831565b61041d906402540be40061183f565b905090565b5f61042e848484610bb3565b61047f843361047a856040518060600160405280602881526020016119d1602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111b9565b610a90565b5060019392505050565b5f546001600160a01b031633146104bb5760405162461bcd60e51b81526004016104b290611856565b60405180910390fd5b5f5b815181101561051f575f60045f8484815181106104dc576104dc61188b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806105178161189f565b9150506104bd565b5050565b5f546001600160a01b0316331461054c5760405162461bcd60e51b81526004016104b290611856565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105bd5760405162461bcd60e51b81526004016104b290611856565b6105c96009600a611831565b6105d8906402540be40061183f565b600f556105e76009600a611831565b6105f6906402540be40061183f565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106266009600a611831565b610635906402540be40061183f565b60405190815260200160405180910390a1565b5f6103f7338484610bb3565b5f546001600160a01b0316331461067d5760405162461bcd60e51b81526004016104b290611856565b601454600160a01b900460ff16156106d75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b2565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107219030906107126009600a611831565b61047a906402540be40061183f565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610771573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079591906118b7565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081891906118b7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610862573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088691906118b7565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108cd816001600160a01b03165f9081526001602052604090205490565b5f806108e05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610946573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096b91906118d2565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e491906118fd565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a2b5760405162461bcd60e51b81526004016104b290611856565b5f5b815181101561051f57600160045f848481518110610a4d57610a4d61188b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610a888161189f565b915050610a2d565b6001600160a01b038316610af25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b2565b6001600160a01b038216610b535760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c175760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b2565b6001600160a01b038216610c795760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b2565b5f8111610cda5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b2565b5f80546001600160a01b03858116911614801590610d0557505f546001600160a01b03848116911614155b1561107c576001600160a01b0384165f9081526004602052604090205460ff16158015610d4a57506001600160a01b0383165f9081526004602052604090205460ff16155b610d52575f80fd5b610d7e6064610d78600b54600e5411610d6d57600754610d71565b6009545b85906111f1565b90611276565b6014549091506001600160a01b038581169116148015610dac57506013546001600160a01b03848116911614155b8015610dd057506001600160a01b0383165f9081526003602052604090205460ff16155b15610ed757600f54821115610e275760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b2565b60105482610e49856001600160a01b03165f9081526001602052604090205490565b610e53919061191c565b1115610ea15760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b2565b436006546019610eb1919061191c565b1115610ec257823b15610ec2575f80fd5b600e8054905f610ed18361189f565b91905055505b6014546001600160a01b03848116911614801590610f0d57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f8c5760105482610f34856001600160a01b03165f9081526001602052604090205490565b610f3e919061191c565b1115610f8c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b2565b6014546001600160a01b038481169116148015610fb257506001600160a01b0384163014155b15610fdf57610fdc6064610d78600c54600e5411610fd257600854610d71565b600a5485906111f1565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561101557506014546001600160a01b038581169116145b801561102a5750601454600160b01b900460ff165b8015611037575060115481115b80156110465750600d54600e54115b1561107a576110686110638461105e846012546112b7565b6112b7565b6112cb565b478015611078576110784761143b565b505b505b80156110f457305f9081526001602052604090205461109b9082611472565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110eb9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461111690836114d0565b6001600160a01b0385165f9081526001602052604090205561115961113b83836114d0565b6001600160a01b0385165f9081526001602052604090205490611472565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111a285856114d0565b60405190815260200160405180910390a350505050565b5f81848411156111dc5760405162461bcd60e51b81526004016104b2919061153d565b505f6111e8848661192f565b95945050505050565b5f825f0361120057505f6103fb565b5f61120b838561183f565b9050826112188583611942565b1461126f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b2565b9392505050565b5f61126f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611511565b5f8183116112c5578261126f565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113115761131161188b565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611368573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138c91906118b7565b8160018151811061139f5761139f61188b565b6001600160a01b0392831660209182029290920101526013546113c59130911684610a90565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113fd9085905f90869030904290600401611961565b5f604051808303815f87803b158015611414575f80fd5b505af1158015611426573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561051f573d5f803e3d5ffd5b5f8061147e838561191c565b90508381101561126f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b2565b5f61126f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b9565b5f81836115315760405162461bcd60e51b81526004016104b2919061153d565b505f6111e88486611942565b5f6020808352835180828501525f5b818110156115685785810183015185820160400152820161154c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461159c575f80fd5b50565b80356115aa81611588565b919050565b5f80604083850312156115c0575f80fd5b82356115cb81611588565b946020939093013593505050565b5f805f606084860312156115eb575f80fd5b83356115f681611588565b9250602084013561160681611588565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561163c575f80fd5b823567ffffffffffffffff80821115611653575f80fd5b818501915085601f830112611666575f80fd5b81358181111561167857611678611617565b8060051b604051601f19603f8301168101818110858211171561169d5761169d611617565b6040529182528482019250838101850191888311156116ba575f80fd5b938501935b828510156116df576116d08561159f565b845293850193928501926116bf565b98975050505050505050565b5f602082840312156116fb575f80fd5b813561126f81611588565b5f8060408385031215611717575f80fd5b823561172281611588565b9150602083013561173281611588565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561178b57815f19048211156117715761177161173d565b8085161561177e57918102915b93841c9390800290611756565b509250929050565b5f826117a1575060016103fb565b816117ad57505f6103fb565b81600181146117c357600281146117cd576117e9565b60019150506103fb565b60ff8411156117de576117de61173d565b50506001821b6103fb565b5060208310610133831016604e8410600b841016171561180c575081810a6103fb565b6118168383611751565b805f19048211156118295761182961173d565b029392505050565b5f61126f60ff841683611793565b80820281158282048414176103fb576103fb61173d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118b0576118b061173d565b5060010190565b5f602082840312156118c7575f80fd5b815161126f81611588565b5f805f606084860312156118e4575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561190d575f80fd5b8151801515811461126f575f80fd5b808201808211156103fb576103fb61173d565b818103818111156103fb576103fb61173d565b5f8261195c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119af5784516001600160a01b03168352938301939183019160010161198a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c53bfef3a463cfb7a2b58cd03a9a6744379125cd0dc68eff10ceef00f3ecaa1164736f6c63430008140033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610340578063bf474bed1461035f578063c9567bf914610374578063d34628cc14610388578063dd62ed3e146103a7575f80fd5b8063751039fc146102b25780637d1db4a5146102c65780638da5cb5b146102db5780638f9a55c01461030157806395d89b4114610316575f80fd5b8063313ce567116100e3578063313ce567146101f757806331c2d847146102125780633bbac5791461023357806370a082311461026a578063715018a61461029e575f80fd5b806306fdde0314610129578063095ea7b3146101725780630faee56f146101a157806318160ddd146101c457806323b872dd146101d8575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600f81526e2b34ba30b634b590213aba32b934b760891b60208201525b604051610169919061153d565b60405180910390f35b34801561017d575f80fd5b5061019161018c3660046115af565b6103eb565b6040519015158152602001610169565b3480156101ac575f80fd5b506101b660125481565b604051908152602001610169565b3480156101cf575f80fd5b506101b6610401565b3480156101e3575f80fd5b506101916101f23660046115d9565b610422565b348015610202575f80fd5b5060405160098152602001610169565b34801561021d575f80fd5b5061023161022c36600461162b565b610489565b005b34801561023e575f80fd5b5061019161024d3660046116eb565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610275575f80fd5b506101b66102843660046116eb565b6001600160a01b03165f9081526001602052604090205490565b3480156102a9575f80fd5b50610231610523565b3480156102bd575f80fd5b50610231610594565b3480156102d1575f80fd5b506101b6600f5481565b3480156102e6575f80fd5b505f546040516001600160a01b039091168152602001610169565b34801561030c575f80fd5b506101b660105481565b348015610321575f80fd5b506040805180820190915260028152612b2160f11b602082015261015c565b34801561034b575f80fd5b5061019161035a3660046115af565b610648565b34801561036a575f80fd5b506101b660115481565b34801561037f575f80fd5b50610231610654565b348015610393575f80fd5b506102316103a236600461162b565b610a02565b3480156103b2575f80fd5b506101b66103c1366004611706565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103f7338484610a90565b5060015b92915050565b5f61040e6009600a611831565b61041d906402540be40061183f565b905090565b5f61042e848484610bb3565b61047f843361047a856040518060600160405280602881526020016119d1602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111b9565b610a90565b5060019392505050565b5f546001600160a01b031633146104bb5760405162461bcd60e51b81526004016104b290611856565b60405180910390fd5b5f5b815181101561051f575f60045f8484815181106104dc576104dc61188b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806105178161189f565b9150506104bd565b5050565b5f546001600160a01b0316331461054c5760405162461bcd60e51b81526004016104b290611856565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105bd5760405162461bcd60e51b81526004016104b290611856565b6105c96009600a611831565b6105d8906402540be40061183f565b600f556105e76009600a611831565b6105f6906402540be40061183f565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106266009600a611831565b610635906402540be40061183f565b60405190815260200160405180910390a1565b5f6103f7338484610bb3565b5f546001600160a01b0316331461067d5760405162461bcd60e51b81526004016104b290611856565b601454600160a01b900460ff16156106d75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b2565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107219030906107126009600a611831565b61047a906402540be40061183f565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610771573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079591906118b7565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081891906118b7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610862573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088691906118b7565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108cd816001600160a01b03165f9081526001602052604090205490565b5f806108e05f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610946573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096b91906118d2565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e491906118fd565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a2b5760405162461bcd60e51b81526004016104b290611856565b5f5b815181101561051f57600160045f848481518110610a4d57610a4d61188b565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610a888161189f565b915050610a2d565b6001600160a01b038316610af25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b2565b6001600160a01b038216610b535760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c175760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b2565b6001600160a01b038216610c795760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b2565b5f8111610cda5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b2565b5f80546001600160a01b03858116911614801590610d0557505f546001600160a01b03848116911614155b1561107c576001600160a01b0384165f9081526004602052604090205460ff16158015610d4a57506001600160a01b0383165f9081526004602052604090205460ff16155b610d52575f80fd5b610d7e6064610d78600b54600e5411610d6d57600754610d71565b6009545b85906111f1565b90611276565b6014549091506001600160a01b038581169116148015610dac57506013546001600160a01b03848116911614155b8015610dd057506001600160a01b0383165f9081526003602052604090205460ff16155b15610ed757600f54821115610e275760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b2565b60105482610e49856001600160a01b03165f9081526001602052604090205490565b610e53919061191c565b1115610ea15760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b2565b436006546019610eb1919061191c565b1115610ec257823b15610ec2575f80fd5b600e8054905f610ed18361189f565b91905055505b6014546001600160a01b03848116911614801590610f0d57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f8c5760105482610f34856001600160a01b03165f9081526001602052604090205490565b610f3e919061191c565b1115610f8c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b2565b6014546001600160a01b038481169116148015610fb257506001600160a01b0384163014155b15610fdf57610fdc6064610d78600c54600e5411610fd257600854610d71565b600a5485906111f1565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561101557506014546001600160a01b038581169116145b801561102a5750601454600160b01b900460ff165b8015611037575060115481115b80156110465750600d54600e54115b1561107a576110686110638461105e846012546112b7565b6112b7565b6112cb565b478015611078576110784761143b565b505b505b80156110f457305f9081526001602052604090205461109b9082611472565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110eb9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461111690836114d0565b6001600160a01b0385165f9081526001602052604090205561115961113b83836114d0565b6001600160a01b0385165f9081526001602052604090205490611472565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111a285856114d0565b60405190815260200160405180910390a350505050565b5f81848411156111dc5760405162461bcd60e51b81526004016104b2919061153d565b505f6111e8848661192f565b95945050505050565b5f825f0361120057505f6103fb565b5f61120b838561183f565b9050826112188583611942565b1461126f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b2565b9392505050565b5f61126f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611511565b5f8183116112c5578261126f565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113115761131161188b565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611368573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138c91906118b7565b8160018151811061139f5761139f61188b565b6001600160a01b0392831660209182029290920101526013546113c59130911684610a90565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113fd9085905f90869030904290600401611961565b5f604051808303815f87803b158015611414575f80fd5b505af1158015611426573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561051f573d5f803e3d5ffd5b5f8061147e838561191c565b90508381101561126f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b2565b5f61126f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b9565b5f81836115315760405162461bcd60e51b81526004016104b2919061153d565b505f6111e88486611942565b5f6020808352835180828501525f5b818110156115685785810183015185820160400152820161154c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461159c575f80fd5b50565b80356115aa81611588565b919050565b5f80604083850312156115c0575f80fd5b82356115cb81611588565b946020939093013593505050565b5f805f606084860312156115eb575f80fd5b83356115f681611588565b9250602084013561160681611588565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561163c575f80fd5b823567ffffffffffffffff80821115611653575f80fd5b818501915085601f830112611666575f80fd5b81358181111561167857611678611617565b8060051b604051601f19603f8301168101818110858211171561169d5761169d611617565b6040529182528482019250838101850191888311156116ba575f80fd5b938501935b828510156116df576116d08561159f565b845293850193928501926116bf565b98975050505050505050565b5f602082840312156116fb575f80fd5b813561126f81611588565b5f8060408385031215611717575f80fd5b823561172281611588565b9150602083013561173281611588565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561178b57815f19048211156117715761177161173d565b8085161561177e57918102915b93841c9390800290611756565b509250929050565b5f826117a1575060016103fb565b816117ad57505f6103fb565b81600181146117c357600281146117cd576117e9565b60019150506103fb565b60ff8411156117de576117de61173d565b50506001821b6103fb565b5060208310610133831016604e8410600b841016171561180c575081810a6103fb565b6118168383611751565b805f19048211156118295761182961173d565b029392505050565b5f61126f60ff841683611793565b80820281158282048414176103fb576103fb61173d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118b0576118b061173d565b5060010190565b5f602082840312156118c7575f80fd5b815161126f81611588565b5f805f606084860312156118e4575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561190d575f80fd5b8151801515811461126f575f80fd5b808201808211156103fb576103fb61173d565b818103818111156103fb576103fb61173d565b5f8261195c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119af5784516001600160a01b03168352938301939183019160010161198a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c53bfef3a463cfb7a2b58cd03a9a6744379125cd0dc68eff10ceef00f3ecaa1164736f6c63430008140033

Deployed Bytecode Sourcemap

3522:8001:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5369:83;;;;;;;;;;-1:-1:-1;5439:5:0;;;;;;;;;;;;-1:-1:-1;;;5439:5:0;;;;5369:83;;;;;;;:::i;:::-;;;;;;;;6202:161;;;;;;;;;;-1:-1:-1;6202:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6202:161:0;1162:187:1;4641:53:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4641:53:0;1354:177:1;5646:95:0;;;;;;;;;;;;;:::i;6371:313::-;;;;;;;;;;-1:-1:-1;6371:313:0;;;;;:::i;:::-;;:::i;5555:83::-;;;;;;;;;;-1:-1:-1;5555:83:0;;4257:1;2139:36:1;;2127:2;2112:18;5555:83:0;1997:184:1;10513:162:0;;;;;;;;;;-1:-1:-1;10513:162:0;;;;;:::i;:::-;;:::i;:::-;;10683:83;;;;;;;;;;-1:-1:-1;10683:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;10751:7:0;10730:4;10751:7;;;:4;:7;;;;;;;;;10683:83;5749:119;;;;;;;;;;-1:-1:-1;5749:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5842:18:0;5815:7;5842:18;;;:9;:18;;;;;;;5749:119;2603:148;;;;;;;;;;;;;:::i;10074:159::-;;;;;;;;;;;;;:::i;4449:55::-;;;;;;;;;;;;;;;;2389:79;;;;;;;;;;-1:-1:-1;2427:7:0;2454:6;2389:79;;-1:-1:-1;;;;;2454:6:0;;;3842:51:1;;3830:2;3815:18;2389:79:0;3696:203:1;4511:57:0;;;;;;;;;;;;;;;;5460:87;;;;;;;;;;-1:-1:-1;5532:7:0;;;;;;;;;;;;-1:-1:-1;;;5532:7:0;;;;5460:87;;5876:167;;;;;;;;;;-1:-1:-1;5876:167:0;;;;;:::i;:::-;;:::i;4575:59::-;;;;;;;;;;;;;;;;10774:707;;;;;;;;;;;;;:::i;10341:164::-;;;;;;;;;;-1:-1:-1;10341:164:0;;;;;:::i;:::-;;:::i;6051:143::-;;;;;;;;;;-1:-1:-1;6051:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6159:18:0;;;6132:7;6159:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6051:143;6202:161;6277:4;6294:39;223:10;6317:7;6326:6;6294:8;:39::i;:::-;-1:-1:-1;6351:4:0;6202:161;;;;;:::o;5646:95::-;5699:7;4314:13;4257:1;4314:2;:13;:::i;:::-;4300:27;;:11;:27;:::i;:::-;5719:14;;5646:95;:::o;6371:313::-;6469:4;6486:36;6496:6;6504:9;6515:6;6486:9;:36::i;:::-;6533:121;6542:6;223:10;6564:89;6602:6;6564:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6564:19:0;;;;;;:11;:19;;;;;;;;223:10;6564:33;;;;;;;;;;:37;:89::i;:::-;6533:8;:121::i;:::-;-1:-1:-1;6672:4:0;6371:313;;;;;:::o;10513:162::-;2516:6;;-1:-1:-1;;;;;2516:6:0;223:10;2516:22;2508:67;;;;-1:-1:-1;;;2508:67:0;;;;;;;:::i;:::-;;;;;;;;;10586:6:::1;10581:87;10602:6;:13;10598:1;:17;10581:87;;;10653:5;10635:4;:15;10640:6;10647:1;10640:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10635:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10635:15:0;:23;;-1:-1:-1;;10635:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10617:3;::::1;::::0;::::1;:::i;:::-;;;;10581:87;;;;10513:162:::0;:::o;2603:148::-;2516:6;;-1:-1:-1;;;;;2516:6:0;223:10;2516:22;2508:67;;;;-1:-1:-1;;;2508:67:0;;;;;;;:::i;:::-;2710:1:::1;2694:6:::0;;2673:40:::1;::::0;-1:-1:-1;;;;;2694:6:0;;::::1;::::0;2673:40:::1;::::0;2710:1;;2673:40:::1;2741:1;2724:19:::0;;-1:-1:-1;;;;;;2724:19:0::1;::::0;;2603:148::o;10074:159::-;2516:6;;-1:-1:-1;;;;;2516:6:0;223:10;2516:22;2508:67;;;;-1:-1:-1;;;2508:67:0;;;;;;;:::i;:::-;4314:13:::1;4257:1;4314:2;:13;:::i;:::-;4300:27;::::0;:11:::1;:27;:::i;:::-;10127:12;:22:::0;4314:13:::1;4257:1;4314:2;:13;:::i;:::-;4300:27;::::0;:11:::1;:27;:::i;:::-;10160:14;:22:::0;10198:27:::1;4314:13;4257:1;4314:2;:13;:::i;:::-;4300:27;::::0;:11:::1;:27;:::i;:::-;10198;::::0;1500:25:1;;;1488:2;1473:18;10198:27:0::1;;;;;;;10074:159::o:0;5876:167::-;5954:4;5971:42;223:10;5995:9;6006:6;5971:9;:42::i;10774:707::-;2516:6;;-1:-1:-1;;;;;2516:6:0;223:10;2516:22;2508:67;;;;-1:-1:-1;;;2508:67:0;;;;;;;:::i;:::-;10838:11:::1;::::0;-1:-1:-1;;;10838:11:0;::::1;;;10837:12;10829:47;;;::::0;-1:-1:-1;;;10829:47:0;;6820:2:1;10829:47:0::1;::::0;::::1;6802:21:1::0;6859:2;6839:18;;;6832:30;6898:25;6878:18;;;6871:53;6941:18;;10829:47:0::1;6618:347:1::0;10829:47:0::1;10887:15;:80:::0;;-1:-1:-1;;;;;;10887:80:0::1;10924:42;10887:80:::0;;::::1;::::0;;;10978:58:::1;::::0;10995:4:::1;::::0;4314:13:::1;4257:1;4314:2;:13;:::i;:::-;4300:27;::::0;:11:::1;:27;:::i;10978:58::-;11081:15;;;;;;;;;-1:-1:-1::0;;;;;11081:15:0::1;-1:-1:-1::0;;;;;11081:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11063:55:0::1;;11127:4;11134:15;;;;;;;;;-1:-1:-1::0;;;;;11134:15:0::1;-1:-1:-1::0;;;;;11134:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11063:94;::::0;-1:-1:-1;;;;;;11063:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7456:15:1;;;11063:94:0::1;::::0;::::1;7438:34:1::0;7508:15;;7488:18;;;7481:43;7373:18;;11063:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11047:13;:110:::0;;-1:-1:-1;;;;;11047:110:0;;::::1;-1:-1:-1::0;;;;;;11047:110:0;;::::1;;::::0;;11168:15:::1;::::0;::::1;:31;11207:21;11238:4;11244:24;11238:4:::0;-1:-1:-1;;;;;5842:18:0;5815:7;5842:18;;;:9;:18;;;;;;;5749:119;11244:24:::1;11269:1;11271::::0;11273:7:::1;2427::::0;2454:6;-1:-1:-1;;;;;2454:6:0;;2389:79;11273:7:::1;11168:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11168:129:0;;;-1:-1:-1;;;;;7894:15:1;;;11168:129:0::1;::::0;::::1;7876:34:1::0;7926:18;;;7919:34;;;;7969:18;;;7962:34;;;;8012:18;;;8005:34;8076:15;;;8055:19;;;8048:44;11281:15:0::1;8108:19:1::0;;;8101:35;7810:19;;11168:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11315:13:0::1;::::0;11346:15:::1;::::0;11308:71:::1;::::0;-1:-1:-1;;;11308:71:0;;-1:-1:-1;;;;;11346:15:0;;::::1;11308:71;::::0;::::1;8632:51:1::0;-1:-1:-1;;8699:18:1;;;8692:34;11315:13:0;::::1;::::0;-1:-1:-1;11308:29:0::1;::::0;8605:18:1;;11308:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11390:11:0::1;:18:::0;;-1:-1:-1;;;;11419:18:0;-1:-1:-1;;;11419:18:0;;;11461:12:::1;11448:10;:25:::0;10774:707::o;10341:164::-;2516:6;;-1:-1:-1;;;;;2516:6:0;223:10;2516:22;2508:67;;;;-1:-1:-1;;;2508:67:0;;;;;;;:::i;:::-;10415:6:::1;10410:88;10431:5;:12;10427:1;:16;10410:88;;;10482:4;10465;:14;10470:5;10476:1;10470:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10465:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10465:14:0;:21;;-1:-1:-1;;10465:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10445:3;::::1;::::0;::::1;:::i;:::-;;;;10410:88;;6692:335:::0;-1:-1:-1;;;;;6785:19:0;;6777:68;;;;-1:-1:-1;;;6777:68:0;;9221:2:1;6777:68:0;;;9203:21:1;9260:2;9240:18;;;9233:30;9299:34;9279:18;;;9272:62;-1:-1:-1;;;9350:18:1;;;9343:34;9394:19;;6777:68:0;9019:400:1;6777:68:0;-1:-1:-1;;;;;6864:21:0;;6856:68;;;;-1:-1:-1;;;6856:68:0;;9626:2:1;6856:68:0;;;9608:21:1;9665:2;9645:18;;;9638:30;9704:34;9684:18;;;9677:62;-1:-1:-1;;;9755:18:1;;;9748:32;9797:19;;6856:68:0;9424:398:1;6856:68:0;-1:-1:-1;;;;;6935:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6987:32;;1500:25:1;;;6987:32:0;;1473:18:1;6987:32:0;;;;;;;6692:335;;;:::o;7035:2229::-;-1:-1:-1;;;;;7123:18:0;;7115:68;;;;-1:-1:-1;;;7115:68:0;;10029:2:1;7115:68:0;;;10011:21:1;10068:2;10048:18;;;10041:30;10107:34;10087:18;;;10080:62;-1:-1:-1;;;10158:18:1;;;10151:35;10203:19;;7115:68:0;9827:401:1;7115:68:0;-1:-1:-1;;;;;7202:16:0;;7194:64;;;;-1:-1:-1;;;7194:64:0;;10435:2:1;7194:64:0;;;10417:21:1;10474:2;10454:18;;;10447:30;10513:34;10493:18;;;10486:62;-1:-1:-1;;;10564:18:1;;;10557:33;10607:19;;7194:64:0;10233:399:1;7194:64:0;7286:1;7277:6;:10;7269:64;;;;-1:-1:-1;;;7269:64:0;;10839:2:1;7269:64:0;;;10821:21:1;10878:2;10858:18;;;10851:30;10917:34;10897:18;;;10890:62;-1:-1:-1;;;10968:18:1;;;10961:39;11017:19;;7269:64:0;10637:405:1;7269:64:0;7344:17;2454:6;;-1:-1:-1;;;;;7378:15:0;;;2454:6;;7378:15;;;;:32;;-1:-1:-1;2427:7:0;2454:6;-1:-1:-1;;;;;7397:13:0;;;2454:6;;7397:13;;7378:32;7374:1534;;;-1:-1:-1;;;;;7436:10:0;;;;;;:4;:10;;;;;;;;7435:11;:24;;;;-1:-1:-1;;;;;;7451:8:0;;;;;;:4;:8;;;;;;;;7450:9;7435:24;7427:33;;;;;;7487:76;7559:3;7487:67;7509:15;;7499:9;;:25;7498:55;;7539:14;;7498:55;;;7526:12;;7498:55;7487:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7592:13;;7475:88;;-1:-1:-1;;;;;;7584:21:0;;;7592:13;;7584:21;:55;;;;-1:-1:-1;7623:15:0;;-1:-1:-1;;;;;7609:30:0;;;7623:15;;7609:30;;7584:55;:83;;;;-1:-1:-1;;;;;;7645:22:0;;;;;;:18;:22;;;;;;;;7643:24;7584:83;7580:437;;;7707:12;;7697:6;:22;;7689:60;;;;-1:-1:-1;;;7689:60:0;;11249:2:1;7689:60:0;;;11231:21:1;11288:2;11268:18;;;11261:30;11327:27;11307:18;;;11300:55;11372:18;;7689:60:0;11047:349:1;7689:60:0;7802:14;;7792:6;7776:13;7786:2;-1:-1:-1;;;;;5842:18:0;5815:7;5842:18;;;:9;:18;;;;;;;5749:119;7776:13;:22;;;;:::i;:::-;:40;;7768:79;;;;-1:-1:-1;;;7768:79:0;;11733:2:1;7768:79:0;;;11715:21:1;11772:2;11752:18;;;11745:30;11811:28;11791:18;;;11784:56;11857:18;;7768:79:0;11531:350:1;7768:79:0;7891:12;7872:10;;7885:2;7872:15;;;;:::i;:::-;:31;7868:104;;;9511:20;;9559:8;7928:24;;;;;;7990:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7580:437;8043:13;;-1:-1:-1;;;;;8037:19:0;;;8043:13;;8037:19;;;;:47;;-1:-1:-1;;;;;;8062:22:0;;;;;;:18;:22;;;;;;;;8060:24;8037:47;8033:167;;;8139:14;;8129:6;8113:13;8123:2;-1:-1:-1;;;;;5842:18:0;5815:7;5842:18;;;:9;:18;;;;;;;5749:119;8113:13;:22;;;;:::i;:::-;:40;;8105:79;;;;-1:-1:-1;;;8105:79:0;;11733:2:1;8105:79:0;;;11715:21:1;11772:2;11752:18;;;11745:30;11811:28;11791:18;;;11784:56;11857:18;;8105:79:0;11531:350:1;8105:79:0;8225:13;;-1:-1:-1;;;;;8219:19:0;;;8225:13;;8219:19;:43;;;;-1:-1:-1;;;;;;8242:20:0;;8257:4;8242:20;;8219:43;8216:174;;;8295:79;8370:3;8295:70;8317:16;;8307:9;;:26;8306:58;;8349:15;;8306:58;;;8335:13;;8295:6;;:10;:70::i;:79::-;8283:91;;8216:174;8455:4;8406:28;5842:18;;;:9;:18;;;;;;8481:6;;-1:-1:-1;;;8481:6:0;;;;8480:7;:32;;;;-1:-1:-1;8499:13:0;;-1:-1:-1;;;;;8491:21:0;;;8499:13;;8491:21;8480:32;:47;;;;-1:-1:-1;8516:11:0;;-1:-1:-1;;;8516:11:0;;;;8480:47;:89;;;;;8552:17;;8531:20;:38;8480:89;:121;;;;;8583:18;;8573:9;;:28;8480:121;8476:421;;;8622:67;8639:49;8643:6;8650:37;8654:20;8675:11;;8650:3;:37::i;:::-;8639:3;:49::i;:::-;8622:16;:67::i;:::-;8737:21;8780:22;;8777:105;;8827:35;8840:21;8827:12;:35::i;:::-;8603:294;8476:421;7412:1496;7374:1534;8923:11;;8920:161;;8991:4;8973:24;;;;:9;:24;;;;;;:39;;9002:9;8973:28;:39::i;:::-;8966:4;8948:24;;;;:9;:24;;;;;;;:64;;;;9030:39;;-1:-1:-1;;;;;9030:39:0;;;;;;;9059:9;1500:25:1;;1488:2;1473:18;;1354:177;9030:39:0;;;;;;;;8920:161;-1:-1:-1;;;;;9107:15:0;;;;;;:9;:15;;;;;;:27;;9127:6;9107:19;:27::i;:::-;-1:-1:-1;;;;;9091:15:0;;;;;;:9;:15;;;;;:43;9159:40;9177:21;:6;9188:9;9177:10;:21::i;:::-;-1:-1:-1;;;;;9159:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9145:13:0;;;;;;;:9;:13;;;;;:54;;;;9215:41;;;9234:21;:6;9245:9;9234:10;:21::i;:::-;9215:41;;1500:25:1;;;1488:2;1473:18;9215:41:0;;;;;;;7104:2160;7035:2229;;;:::o;1281:190::-;1367:7;1403:12;1395:6;;;;1387:29;;;;-1:-1:-1;;;1387:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1427:9:0;1439:5;1443:1;1439;:5;:::i;:::-;1427:17;1281:190;-1:-1:-1;;;;;1281:190:0:o;1479:246::-;1537:7;1561:1;1566;1561:6;1557:47;;-1:-1:-1;1591:1:0;1584:8;;1557:47;1614:9;1626:5;1630:1;1626;:5;:::i;:::-;1614:17;-1:-1:-1;1659:1:0;1650:5;1654:1;1614:17;1650:5;:::i;:::-;:10;1642:56;;;;-1:-1:-1;;;1642:56:0;;12443:2:1;1642:56:0;;;12425:21:1;12482:2;12462:18;;;12455:30;12521:34;12501:18;;;12494:62;-1:-1:-1;;;12572:18:1;;;12565:31;12613:19;;1642:56:0;12241:397:1;1642:56:0;1716:1;1479:246;-1:-1:-1;;;1479:246:0:o;1733:132::-;1791:7;1818:39;1822:1;1825;1818:39;;;;;;;;;;;;;;;;;:3;:39::i;9274:98::-;9331:7;9358:1;9356;:3;9355:9;;9363:1;9355:9;;;-1:-1:-1;9361:1:0;9274:98;-1:-1:-1;9274:98:0:o;9583:483::-;4976:6;:13;;-1:-1:-1;;;;4976:13:0;-1:-1:-1;;;4976:13:0;;;9685:16:::1;::::0;;9699:1:::1;9685:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9685:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9685:16:0::1;9661:40;;9730:4;9712;9717:1;9712:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9712:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9756:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9756:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9712:7;;9756:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9746:4;9751:1;9746:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9746:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9821:15:::1;::::0;9789:62:::1;::::0;9806:4:::1;::::0;9821:15:::1;9839:11:::0;9789:8:::1;:62::i;:::-;9862:15;::::0;:196:::1;::::0;-1:-1:-1;;;9862:196:0;;-1:-1:-1;;;;;9862:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9943:11;;9862:15:::1;::::0;9985:4;;10012::::1;::::0;10032:15:::1;::::0;9862:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5012:6:0;:14;;-1:-1:-1;;;;5012:14:0;;;-1:-1:-1;;;;9583:483:0:o;10241:92::-;10298:10;;:27;;-1:-1:-1;;;;;10298:10:0;;;;:27;;;;;10318:6;;10298:10;:27;:10;:27;10318:6;10298:10;:27;;;;;;;;;;;;;;;;;;;950:179;1008:7;;1040:5;1044:1;1040;:5;:::i;:::-;1028:17;;1069:1;1064;:6;;1056:46;;;;-1:-1:-1;;;1056:46:0;;13830:2:1;1056:46:0;;;13812:21:1;13869:2;13849:18;;;13842:30;13908:29;13888:18;;;13881:57;13955:18;;1056:46:0;13628:351:1;1137:136:0;1195:7;1222:43;1226:1;1229;1222:43;;;;;;;;;;;;;;;;;:3;:43::i;1873:189::-;1959:7;1994:12;1987:5;1979:28;;;;-1:-1:-1;;;1979:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2018:9:0;2030:5;2034:1;2030;: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;622:70;567:131;:::o;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;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630: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:127::-;4358:10;4353:3;4349:20;4346:1;4339:31;4389:4;4386:1;4379:15;4413:4;4410:1;4403:15;4429:422;4518:1;4561:5;4518:1;4575:270;4596:7;4586:8;4583:21;4575:270;;;4655:4;4651:1;4647:6;4643:17;4637:4;4634:27;4631:53;;;4664:18;;:::i;:::-;4714:7;4704:8;4700:22;4697:55;;;4734:16;;;;4697:55;4813:22;;;;4773:15;;;;4575:270;;;4579:3;4429:422;;;;;:::o;4856:806::-;4905:5;4935:8;4925:80;;-1:-1:-1;4976:1:1;4990:5;;4925:80;5024:4;5014:76;;-1:-1:-1;5061:1:1;5075:5;;5014:76;5106:4;5124:1;5119:59;;;;5192:1;5187:130;;;;5099:218;;5119:59;5149:1;5140:10;;5163:5;;;5187:130;5224:3;5214:8;5211:17;5208:43;;;5231:18;;:::i;:::-;-1:-1:-1;;5287:1:1;5273:16;;5302:5;;5099:218;;5401:2;5391:8;5388:16;5382:3;5376:4;5373:13;5369:36;5363:2;5353:8;5350:16;5345:2;5339:4;5336:12;5332:35;5329:77;5326:159;;;-1:-1:-1;5438:19:1;;;5470:5;;5326:159;5517:34;5542:8;5536:4;5517:34;:::i;:::-;5587:6;5583:1;5579:6;5575:19;5566:7;5563:32;5560:58;;;5598:18;;:::i;:::-;5636:20;;4856:806;-1:-1:-1;;;4856:806:1:o;5667:140::-;5725:5;5754:47;5795:4;5785:8;5781:19;5775:4;5754:47;:::i;5812:168::-;5885:9;;;5916;;5933:15;;;5927:22;;5913:37;5903:71;;5954:18;;:::i;5985:356::-;6187:2;6169:21;;;6206:18;;;6199:30;6265:34;6260:2;6245:18;;6238:62;6332:2;6317:18;;5985:356::o;6346:127::-;6407:10;6402:3;6398:20;6395:1;6388:31;6438:4;6435:1;6428:15;6462:4;6459:1;6452:15;6478:135;6517:3;6538:17;;;6535:43;;6558:18;;:::i;:::-;-1:-1:-1;6605:1:1;6594:13;;6478:135::o;6970:251::-;7040:6;7093:2;7081:9;7072:7;7068:23;7064:32;7061:52;;;7109:1;7106;7099:12;7061:52;7141:9;7135:16;7160:31;7185:5;7160:31;:::i;8147:306::-;8235:6;8243;8251;8304:2;8292:9;8283:7;8279:23;8275:32;8272:52;;;8320:1;8317;8310:12;8272:52;8349:9;8343:16;8333:26;;8399:2;8388:9;8384:18;8378:25;8368:35;;8443:2;8432:9;8428:18;8422:25;8412:35;;8147:306;;;;;:::o;8737:277::-;8804:6;8857:2;8845:9;8836:7;8832:23;8828:32;8825:52;;;8873:1;8870;8863:12;8825:52;8905:9;8899:16;8958:5;8951:13;8944:21;8937:5;8934:32;8924:60;;8980:1;8977;8970:12;11401:125;11466:9;;;11487:10;;;11484:36;;;11500:18;;:::i;11886:128::-;11953:9;;;11974:11;;;11971:37;;;11988:18;;:::i;12019:217::-;12059:1;12085;12075:132;;12129:10;12124:3;12120:20;12117:1;12110:31;12164:4;12161:1;12154:15;12192:4;12189:1;12182:15;12075:132;-1:-1:-1;12221:9:1;;12019:217::o;12643:980::-;12905:4;12953:3;12942:9;12938:19;12984:6;12973:9;12966:25;13010:2;13048:6;13043:2;13032:9;13028:18;13021:34;13091:3;13086:2;13075:9;13071:18;13064:31;13115:6;13150;13144:13;13181:6;13173;13166:22;13219:3;13208:9;13204:19;13197:26;;13258:2;13250:6;13246:15;13232:29;;13279:1;13289:195;13303:6;13300:1;13297:13;13289:195;;;13368:13;;-1:-1:-1;;;;;13364:39:1;13352:52;;13459:15;;;;13424:12;;;;13400:1;13318:9;13289:195;;;-1:-1:-1;;;;;;;13540:32:1;;;;13535:2;13520:18;;13513:60;-1:-1:-1;;;13604:3:1;13589:19;13582:35;13501:3;12643:980;-1:-1:-1;;;12643:980:1:o

Swarm Source

ipfs://c53bfef3a463cfb7a2b58cd03a9a6744379125cd0dc68eff10ceef00f3ecaa11

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.