ETH Price: $3,419.18 (+3.60%)

Token

Decentralization Obligatory, Practicality Essentia... (DOPE)
 

Overview

Max Total Supply

420,690,000,000 DOPE

Holders

174

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
196,174,646.301879768 DOPE

Value
$0.00
0x000000fee13a103a10d593b9ae06b3e05f2e7e1c
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:
Contract

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-11-19
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.0;

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

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

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

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

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

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

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

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

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Contract is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=15;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"Decentralization Obligatory, Practicality Essential";
    string private constant _symbol = unicode"DOPE";
    uint256 public _maxTxAmount = 8413800000 * 10**_decimals;
    uint256 public _maxWalletSize = 8413800000 *10**_decimals;
    uint256 public _taxSwapThreshold= 420690000 * 10**_decimals;
    uint256 public _maxTaxSwap= 84138000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, 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 _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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

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


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600f600655600f600755600060085560006009556014600a556014600b556014600c556000600d556009600a6200003c919062000512565b6401f58066406200004e91906200064f565b600e556009600a62000061919062000512565b6401f58066406200007391906200064f565b600f556009600a62000086919062000512565b63191338506200009791906200064f565b6010556009600a620000aa919062000512565b64139703fe80620000bc91906200064f565b6011556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff021916908315150217905550600060145560006015553480156200010c57600080fd5b5060006200011f6200045860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001cd6200045860201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021d919062000512565b6461f313f8806200022f91906200064f565b60016000620002436200045860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002976200046060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003ca6200045860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000429919062000512565b6461f313f8806200043b91906200064f565b6040516200044a91906200049a565b60405180910390a362000703565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200049481620006b0565b82525050565b6000602082019050620004b1600083018462000489565b92915050565b6000808291508390505b60018511156200050957808604811115620004e157620004e0620006c7565b5b6001851615620004f15780820291505b80810290506200050185620006f6565b9450620004c1565b94509492505050565b60006200051f82620006b0565b91506200052c83620006ba565b92506200055b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000563565b905092915050565b60008262000575576001905062000648565b8162000585576000905062000648565b81600181146200059e5760028114620005a957620005df565b600191505062000648565b60ff841115620005be57620005bd620006c7565b5b8360020a915084821115620005d857620005d7620006c7565b5b5062000648565b5060208310610133831016604e8410600b8410161715620006195782820a905083811115620006135762000612620006c7565b5b62000648565b620006288484846001620004b7565b92509050818404811115620006425762000641620006c7565b5b81810290505b9392505050565b60006200065c82620006b0565b91506200066983620006b0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006a557620006a4620006c7565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b612fe880620007136000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461038a578063a9059cbb146103b5578063bf474bed146103f2578063c9567bf91461041d578063dd62ed3e146104345761011f565b8063715018a6146102db578063751039fc146102f25780637d1db4a5146103095780638da5cb5b146103345780638f9a55c01461035f5761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f5780633bbac5791461024a57806351bc3c851461028757806370a082311461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610471565b60405161014691906128a6565b60405180910390f35b34801561015b57600080fd5b506101766004803603810190610171919061221c565b610491565b604051610183919061288b565b60405180910390f35b34801561019857600080fd5b506101a16104af565b6040516101ae9190612a48565b60405180910390f35b3480156101c357600080fd5b506101cc6104b5565b6040516101d99190612a48565b60405180910390f35b3480156101ee57600080fd5b50610209600480360381019061020491906121cd565b6104da565b604051610216919061288b565b60405180910390f35b34801561022b57600080fd5b506102346105b3565b6040516102419190612abd565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061213f565b6105bc565b60405161027e919061288b565b60405180910390f35b34801561029357600080fd5b5061029c610612565b005b3480156102aa57600080fd5b506102c560048036038101906102c0919061213f565b6106af565b6040516102d29190612a48565b60405180910390f35b3480156102e757600080fd5b506102f06106f8565b005b3480156102fe57600080fd5b5061030761084b565b005b34801561031557600080fd5b5061031e61097e565b60405161032b9190612a48565b60405180910390f35b34801561034057600080fd5b50610349610984565b60405161035691906127bd565b60405180910390f35b34801561036b57600080fd5b506103746109ad565b6040516103819190612a48565b60405180910390f35b34801561039657600080fd5b5061039f6109b3565b6040516103ac91906128a6565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d7919061221c565b6109f0565b6040516103e9919061288b565b60405180910390f35b3480156103fe57600080fd5b50610407610a0e565b6040516104149190612a48565b60405180910390f35b34801561042957600080fd5b50610432610a14565b005b34801561044057600080fd5b5061045b60048036038101906104569190612191565b610f98565b6040516104689190612a48565b60405180910390f35b6060604051806060016040528060338152602001612f5860339139905090565b60006104a561049e61101f565b8484611027565b6001905092915050565b60115481565b60006009600a6104c59190612c07565b6461f313f8806104d59190612d25565b905090565b60006104e78484846111f2565b6105a8846104f361101f565b6105a385604051806060016040528060288152602001612f8b60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061055961101f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b239092919063ffffffff16565b611027565b600190509392505050565b60006009905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661065361101f565b73ffffffffffffffffffffffffffffffffffffffff161461067357600080fd5b600061067e306106af565b905060008111156106935761069281611b87565b5b600047905060008111156106ab576106aa81611e81565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61070061101f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490612988565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61085361101f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d790612988565b60405180910390fd5b6009600a6108ee9190612c07565b6461f313f8806108fe9190612d25565b600e819055506009600a6109129190612c07565b6461f313f8806109229190612d25565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109579190612c07565b6461f313f8806109679190612d25565b6040516109749190612a48565b60405180910390a1565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600481526020017f444f504500000000000000000000000000000000000000000000000000000000815250905090565b6000610a046109fd61101f565b84846111f2565b6001905092915050565b60105481565b610a1c61101f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa090612988565b60405180910390fd5b601360149054906101000a900460ff1615610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af090612a28565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b9830601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b839190612c07565b6461f313f880610b939190612d25565b611027565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c0057600080fd5b505afa158015610c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c389190612168565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf49190612168565b6040518363ffffffff1660e01b8152600401610d119291906127d8565b602060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d639190612168565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dec306106af565b600080610df7610984565b426040518863ffffffff1660e01b8152600401610e199695949392919061282a565b6060604051808303818588803b158015610e3257600080fd5b505af1158015610e46573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e6b9190612281565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0d929190612801565b602060405180830381600087803b158015610f2757600080fd5b505af1158015610f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5f9190612258565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90612a08565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fe90612908565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e59190612a48565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611259906129c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c9906128c8565b60405180910390fd5b60008111611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c906129a8565b60405180910390fd5b600061131f610984565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561138d575061135d610984565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561186657600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114365750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61143f57600080fd5b61147b606461146d600a54600d541161145a5760065461145e565b6008545b85611eed90919063ffffffff16565b611f6890919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115285750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561157e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561163957600e548211156115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf906128e8565b60405180910390fd5b600f54826115d5856106af565b6115df9190612b2d565b1115611620576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611617906129e8565b60405180910390fd5b600d600081548092919061163390612e4d565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116c257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117065761170360646116f5600b54600d54116116e2576007546116e6565b6009545b85611eed90919063ffffffff16565b611f6890919063ffffffff16565b90505b6000611711306106af565b9050601360159054906101000a900460ff1615801561177d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117955750601360169054906101000a900460ff165b80156117a2575060105481115b80156117b15750600c54600d54115b15611864576015544311156117c95760006014819055505b60036014541061180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180590612948565b60405180910390fd5b61182b6118268461182184601154611fb2565b611fb2565b611b87565b600047905060008111156118435761184247611e81565b5b6014600081548092919061185690612e4d565b919050555043601581905550505b505b600081111561196a576118c181600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119619190612a48565b60405180910390a35b6119bc82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a63611a15828461202990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b08848661202990919063ffffffff16565b604051611b159190612a48565b60405180910390a350505050565b6000838311158290611b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6291906128a6565b60405180910390fd5b5060008385611b7a9190612d7f565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611be5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611c135781602001602082028036833780820191505090505b5090503081600081518110611c51577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611cf357600080fd5b505afa158015611d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2b9190612168565b81600181518110611d65577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611dcc30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611027565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e30959493929190612a63565b600060405180830381600087803b158015611e4a57600080fd5b505af1158015611e5e573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ee9573d6000803e3d6000fd5b5050565b600080831415611f005760009050611f62565b60008284611f0e9190612d25565b9050828482611f1d9190612b83565b14611f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5490612968565b60405180910390fd5b809150505b92915050565b6000611faa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612073565b905092915050565b6000818311611fc15782611fc3565b815b905092915050565b6000808284611fda9190612b2d565b90508381101561201f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201690612928565b60405180910390fd5b8091505092915050565b600061206b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b23565b905092915050565b600080831182906120ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b191906128a6565b60405180910390fd5b50600083856120c99190612b83565b9050809150509392505050565b6000813590506120e581612f12565b92915050565b6000815190506120fa81612f12565b92915050565b60008151905061210f81612f29565b92915050565b60008135905061212481612f40565b92915050565b60008151905061213981612f40565b92915050565b60006020828403121561215157600080fd5b600061215f848285016120d6565b91505092915050565b60006020828403121561217a57600080fd5b6000612188848285016120eb565b91505092915050565b600080604083850312156121a457600080fd5b60006121b2858286016120d6565b92505060206121c3858286016120d6565b9150509250929050565b6000806000606084860312156121e257600080fd5b60006121f0868287016120d6565b9350506020612201868287016120d6565b925050604061221286828701612115565b9150509250925092565b6000806040838503121561222f57600080fd5b600061223d858286016120d6565b925050602061224e85828601612115565b9150509250929050565b60006020828403121561226a57600080fd5b600061227884828501612100565b91505092915050565b60008060006060848603121561229657600080fd5b60006122a48682870161212a565b93505060206122b58682870161212a565b92505060406122c68682870161212a565b9150509250925092565b60006122dc83836122e8565b60208301905092915050565b6122f181612db3565b82525050565b61230081612db3565b82525050565b600061231182612ae8565b61231b8185612b0b565b935061232683612ad8565b8060005b8381101561235757815161233e88826122d0565b975061234983612afe565b92505060018101905061232a565b5085935050505092915050565b61236d81612dc5565b82525050565b61237c81612e08565b82525050565b600061238d82612af3565b6123978185612b1c565b93506123a7818560208601612e1a565b6123b081612ef4565b840191505092915050565b60006123c8602383612b1c565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061242e601983612b1c565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b600061246e602283612b1c565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124d4601b83612b1c565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000612514601783612b1c565b91507f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006000830152602082019050919050565b6000612554602183612b1c565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125ba602083612b1c565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006125fa602983612b1c565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b6000612660602583612b1c565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126c6601a83612b1c565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b6000612706602483612b1c565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061276c601783612b1c565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b6127a881612df1565b82525050565b6127b781612dfb565b82525050565b60006020820190506127d260008301846122f7565b92915050565b60006040820190506127ed60008301856122f7565b6127fa60208301846122f7565b9392505050565b600060408201905061281660008301856122f7565b612823602083018461279f565b9392505050565b600060c08201905061283f60008301896122f7565b61284c602083018861279f565b6128596040830187612373565b6128666060830186612373565b61287360808301856122f7565b61288060a083018461279f565b979650505050505050565b60006020820190506128a06000830184612364565b92915050565b600060208201905081810360008301526128c08184612382565b905092915050565b600060208201905081810360008301526128e1816123bb565b9050919050565b6000602082019050818103600083015261290181612421565b9050919050565b6000602082019050818103600083015261292181612461565b9050919050565b60006020820190508181036000830152612941816124c7565b9050919050565b6000602082019050818103600083015261296181612507565b9050919050565b6000602082019050818103600083015261298181612547565b9050919050565b600060208201905081810360008301526129a1816125ad565b9050919050565b600060208201905081810360008301526129c1816125ed565b9050919050565b600060208201905081810360008301526129e181612653565b9050919050565b60006020820190508181036000830152612a01816126b9565b9050919050565b60006020820190508181036000830152612a21816126f9565b9050919050565b60006020820190508181036000830152612a418161275f565b9050919050565b6000602082019050612a5d600083018461279f565b92915050565b600060a082019050612a78600083018861279f565b612a856020830187612373565b8181036040830152612a978186612306565b9050612aa660608301856122f7565b612ab3608083018461279f565b9695505050505050565b6000602082019050612ad260008301846127ae565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612b3882612df1565b9150612b4383612df1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b7857612b77612e96565b5b828201905092915050565b6000612b8e82612df1565b9150612b9983612df1565b925082612ba957612ba8612ec5565b5b828204905092915050565b6000808291508390505b6001851115612bfe57808604811115612bda57612bd9612e96565b5b6001851615612be95780820291505b8081029050612bf785612f05565b9450612bbe565b94509492505050565b6000612c1282612df1565b9150612c1d83612dfb565b9250612c4a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c52565b905092915050565b600082612c625760019050612d1e565b81612c705760009050612d1e565b8160018114612c865760028114612c9057612cbf565b6001915050612d1e565b60ff841115612ca257612ca1612e96565b5b8360020a915084821115612cb957612cb8612e96565b5b50612d1e565b5060208310610133831016604e8410600b8410161715612cf45782820a905083811115612cef57612cee612e96565b5b612d1e565b612d018484846001612bb4565b92509050818404811115612d1857612d17612e96565b5b81810290505b9392505050565b6000612d3082612df1565b9150612d3b83612df1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d7457612d73612e96565b5b828202905092915050565b6000612d8a82612df1565b9150612d9583612df1565b925082821015612da857612da7612e96565b5b828203905092915050565b6000612dbe82612dd1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612e1382612df1565b9050919050565b60005b83811015612e38578082015181840152602081019050612e1d565b83811115612e47576000848401525b50505050565b6000612e5882612df1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612e8b57612e8a612e96565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b612f1b81612db3565b8114612f2657600080fd5b50565b612f3281612dc5565b8114612f3d57600080fd5b50565b612f4981612df1565b8114612f5457600080fd5b5056fe446563656e7472616c697a6174696f6e204f626c696761746f72792c2050726163746963616c69747920457373656e7469616c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bd2b1d9c91dec5d778da5c9ba953726d408f6fdb44ebeb8a9bc328514260202564736f6c63430008000033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461038a578063a9059cbb146103b5578063bf474bed146103f2578063c9567bf91461041d578063dd62ed3e146104345761011f565b8063715018a6146102db578063751039fc146102f25780637d1db4a5146103095780638da5cb5b146103345780638f9a55c01461035f5761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f5780633bbac5791461024a57806351bc3c851461028757806370a082311461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610471565b60405161014691906128a6565b60405180910390f35b34801561015b57600080fd5b506101766004803603810190610171919061221c565b610491565b604051610183919061288b565b60405180910390f35b34801561019857600080fd5b506101a16104af565b6040516101ae9190612a48565b60405180910390f35b3480156101c357600080fd5b506101cc6104b5565b6040516101d99190612a48565b60405180910390f35b3480156101ee57600080fd5b50610209600480360381019061020491906121cd565b6104da565b604051610216919061288b565b60405180910390f35b34801561022b57600080fd5b506102346105b3565b6040516102419190612abd565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061213f565b6105bc565b60405161027e919061288b565b60405180910390f35b34801561029357600080fd5b5061029c610612565b005b3480156102aa57600080fd5b506102c560048036038101906102c0919061213f565b6106af565b6040516102d29190612a48565b60405180910390f35b3480156102e757600080fd5b506102f06106f8565b005b3480156102fe57600080fd5b5061030761084b565b005b34801561031557600080fd5b5061031e61097e565b60405161032b9190612a48565b60405180910390f35b34801561034057600080fd5b50610349610984565b60405161035691906127bd565b60405180910390f35b34801561036b57600080fd5b506103746109ad565b6040516103819190612a48565b60405180910390f35b34801561039657600080fd5b5061039f6109b3565b6040516103ac91906128a6565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d7919061221c565b6109f0565b6040516103e9919061288b565b60405180910390f35b3480156103fe57600080fd5b50610407610a0e565b6040516104149190612a48565b60405180910390f35b34801561042957600080fd5b50610432610a14565b005b34801561044057600080fd5b5061045b60048036038101906104569190612191565b610f98565b6040516104689190612a48565b60405180910390f35b6060604051806060016040528060338152602001612f5860339139905090565b60006104a561049e61101f565b8484611027565b6001905092915050565b60115481565b60006009600a6104c59190612c07565b6461f313f8806104d59190612d25565b905090565b60006104e78484846111f2565b6105a8846104f361101f565b6105a385604051806060016040528060288152602001612f8b60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061055961101f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b239092919063ffffffff16565b611027565b600190509392505050565b60006009905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661065361101f565b73ffffffffffffffffffffffffffffffffffffffff161461067357600080fd5b600061067e306106af565b905060008111156106935761069281611b87565b5b600047905060008111156106ab576106aa81611e81565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61070061101f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490612988565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61085361101f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d790612988565b60405180910390fd5b6009600a6108ee9190612c07565b6461f313f8806108fe9190612d25565b600e819055506009600a6109129190612c07565b6461f313f8806109229190612d25565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109579190612c07565b6461f313f8806109679190612d25565b6040516109749190612a48565b60405180910390a1565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600481526020017f444f504500000000000000000000000000000000000000000000000000000000815250905090565b6000610a046109fd61101f565b84846111f2565b6001905092915050565b60105481565b610a1c61101f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa090612988565b60405180910390fd5b601360149054906101000a900460ff1615610af9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af090612a28565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b9830601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b839190612c07565b6461f313f880610b939190612d25565b611027565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c0057600080fd5b505afa158015610c14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c389190612168565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf49190612168565b6040518363ffffffff1660e01b8152600401610d119291906127d8565b602060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d639190612168565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dec306106af565b600080610df7610984565b426040518863ffffffff1660e01b8152600401610e199695949392919061282a565b6060604051808303818588803b158015610e3257600080fd5b505af1158015610e46573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e6b9190612281565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0d929190612801565b602060405180830381600087803b158015610f2757600080fd5b505af1158015610f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5f9190612258565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90612a08565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611107576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fe90612908565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e59190612a48565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611259906129c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c9906128c8565b60405180910390fd5b60008111611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c906129a8565b60405180910390fd5b600061131f610984565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561138d575061135d610984565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561186657600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114365750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61143f57600080fd5b61147b606461146d600a54600d541161145a5760065461145e565b6008545b85611eed90919063ffffffff16565b611f6890919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115285750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561157e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561163957600e548211156115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf906128e8565b60405180910390fd5b600f54826115d5856106af565b6115df9190612b2d565b1115611620576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611617906129e8565b60405180910390fd5b600d600081548092919061163390612e4d565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116c257503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117065761170360646116f5600b54600d54116116e2576007546116e6565b6009545b85611eed90919063ffffffff16565b611f6890919063ffffffff16565b90505b6000611711306106af565b9050601360159054906101000a900460ff1615801561177d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117955750601360169054906101000a900460ff165b80156117a2575060105481115b80156117b15750600c54600d54115b15611864576015544311156117c95760006014819055505b60036014541061180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180590612948565b60405180910390fd5b61182b6118268461182184601154611fb2565b611fb2565b611b87565b600047905060008111156118435761184247611e81565b5b6014600081548092919061185690612e4d565b919050555043601581905550505b505b600081111561196a576118c181600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119619190612a48565b60405180910390a35b6119bc82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a63611a15828461202990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fcb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b08848661202990919063ffffffff16565b604051611b159190612a48565b60405180910390a350505050565b6000838311158290611b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6291906128a6565b60405180910390fd5b5060008385611b7a9190612d7f565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611be5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611c135781602001602082028036833780820191505090505b5090503081600081518110611c51577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611cf357600080fd5b505afa158015611d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2b9190612168565b81600181518110611d65577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611dcc30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611027565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e30959493929190612a63565b600060405180830381600087803b158015611e4a57600080fd5b505af1158015611e5e573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611ee9573d6000803e3d6000fd5b5050565b600080831415611f005760009050611f62565b60008284611f0e9190612d25565b9050828482611f1d9190612b83565b14611f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5490612968565b60405180910390fd5b809150505b92915050565b6000611faa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612073565b905092915050565b6000818311611fc15782611fc3565b815b905092915050565b6000808284611fda9190612b2d565b90508381101561201f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201690612928565b60405180910390fd5b8091505092915050565b600061206b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b23565b905092915050565b600080831182906120ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b191906128a6565b60405180910390fd5b50600083856120c99190612b83565b9050809150509392505050565b6000813590506120e581612f12565b92915050565b6000815190506120fa81612f12565b92915050565b60008151905061210f81612f29565b92915050565b60008135905061212481612f40565b92915050565b60008151905061213981612f40565b92915050565b60006020828403121561215157600080fd5b600061215f848285016120d6565b91505092915050565b60006020828403121561217a57600080fd5b6000612188848285016120eb565b91505092915050565b600080604083850312156121a457600080fd5b60006121b2858286016120d6565b92505060206121c3858286016120d6565b9150509250929050565b6000806000606084860312156121e257600080fd5b60006121f0868287016120d6565b9350506020612201868287016120d6565b925050604061221286828701612115565b9150509250925092565b6000806040838503121561222f57600080fd5b600061223d858286016120d6565b925050602061224e85828601612115565b9150509250929050565b60006020828403121561226a57600080fd5b600061227884828501612100565b91505092915050565b60008060006060848603121561229657600080fd5b60006122a48682870161212a565b93505060206122b58682870161212a565b92505060406122c68682870161212a565b9150509250925092565b60006122dc83836122e8565b60208301905092915050565b6122f181612db3565b82525050565b61230081612db3565b82525050565b600061231182612ae8565b61231b8185612b0b565b935061232683612ad8565b8060005b8381101561235757815161233e88826122d0565b975061234983612afe565b92505060018101905061232a565b5085935050505092915050565b61236d81612dc5565b82525050565b61237c81612e08565b82525050565b600061238d82612af3565b6123978185612b1c565b93506123a7818560208601612e1a565b6123b081612ef4565b840191505092915050565b60006123c8602383612b1c565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061242e601983612b1c565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b600061246e602283612b1c565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124d4601b83612b1c565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000612514601783612b1c565b91507f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006000830152602082019050919050565b6000612554602183612b1c565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125ba602083612b1c565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006125fa602983612b1c565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b6000612660602583612b1c565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126c6601a83612b1c565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b6000612706602483612b1c565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061276c601783612b1c565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b6127a881612df1565b82525050565b6127b781612dfb565b82525050565b60006020820190506127d260008301846122f7565b92915050565b60006040820190506127ed60008301856122f7565b6127fa60208301846122f7565b9392505050565b600060408201905061281660008301856122f7565b612823602083018461279f565b9392505050565b600060c08201905061283f60008301896122f7565b61284c602083018861279f565b6128596040830187612373565b6128666060830186612373565b61287360808301856122f7565b61288060a083018461279f565b979650505050505050565b60006020820190506128a06000830184612364565b92915050565b600060208201905081810360008301526128c08184612382565b905092915050565b600060208201905081810360008301526128e1816123bb565b9050919050565b6000602082019050818103600083015261290181612421565b9050919050565b6000602082019050818103600083015261292181612461565b9050919050565b60006020820190508181036000830152612941816124c7565b9050919050565b6000602082019050818103600083015261296181612507565b9050919050565b6000602082019050818103600083015261298181612547565b9050919050565b600060208201905081810360008301526129a1816125ad565b9050919050565b600060208201905081810360008301526129c1816125ed565b9050919050565b600060208201905081810360008301526129e181612653565b9050919050565b60006020820190508181036000830152612a01816126b9565b9050919050565b60006020820190508181036000830152612a21816126f9565b9050919050565b60006020820190508181036000830152612a418161275f565b9050919050565b6000602082019050612a5d600083018461279f565b92915050565b600060a082019050612a78600083018861279f565b612a856020830187612373565b8181036040830152612a978186612306565b9050612aa660608301856122f7565b612ab3608083018461279f565b9695505050505050565b6000602082019050612ad260008301846127ae565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612b3882612df1565b9150612b4383612df1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b7857612b77612e96565b5b828201905092915050565b6000612b8e82612df1565b9150612b9983612df1565b925082612ba957612ba8612ec5565b5b828204905092915050565b6000808291508390505b6001851115612bfe57808604811115612bda57612bd9612e96565b5b6001851615612be95780820291505b8081029050612bf785612f05565b9450612bbe565b94509492505050565b6000612c1282612df1565b9150612c1d83612dfb565b9250612c4a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c52565b905092915050565b600082612c625760019050612d1e565b81612c705760009050612d1e565b8160018114612c865760028114612c9057612cbf565b6001915050612d1e565b60ff841115612ca257612ca1612e96565b5b8360020a915084821115612cb957612cb8612e96565b5b50612d1e565b5060208310610133831016604e8410600b8410161715612cf45782820a905083811115612cef57612cee612e96565b5b612d1e565b612d018484846001612bb4565b92509050818404811115612d1857612d17612e96565b5b81810290505b9392505050565b6000612d3082612df1565b9150612d3b83612df1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d7457612d73612e96565b5b828202905092915050565b6000612d8a82612df1565b9150612d9583612df1565b925082821015612da857612da7612e96565b5b828203905092915050565b6000612dbe82612dd1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612e1382612df1565b9050919050565b60005b83811015612e38578082015181840152602081019050612e1d565b83811115612e47576000848401525b50505050565b6000612e5882612df1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612e8b57612e8a612e96565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b612f1b81612db3565b8114612f2657600080fd5b50565b612f3281612dc5565b8114612f3d57600080fd5b50565b612f4981612df1565b8114612f5457600080fd5b5056fe446563656e7472616c697a6174696f6e204f626c696761746f72792c2050726163746963616c69747920457373656e7469616c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bd2b1d9c91dec5d778da5c9ba953726d408f6fdb44ebeb8a9bc328514260202564736f6c63430008000033

Deployed Bytecode Sourcemap

3479:7822:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5425:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6258:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4619:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5702:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6427:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5611:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10950:348;;;;;;;;;;;;;:::i;:::-;;5805:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2560:148;;;;;;;;;;;;;:::i;:::-;;9878:159;;;;;;;;;;;;;:::i;:::-;;4426:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2346:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4489:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5516:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5932:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4553:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10236:671;;;;;;;;;;;;;:::i;:::-;;6107:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5425:83;5462:13;5495:5;;;;;;;;;;;;;;;;;5488:12;;5425:83;:::o;6258:161::-;6333:4;6350:39;6359:12;:10;:12::i;:::-;6373:7;6382:6;6350:8;:39::i;:::-;6407:4;6400:11;;6258:161;;;;:::o;4619:55::-;;;;:::o;5702:95::-;5755:7;4195:1;4253:2;:13;;;;:::i;:::-;4238:12;:28;;;;:::i;:::-;5775:14;;5702:95;:::o;6427:313::-;6525:4;6542:36;6552:6;6560:9;6571:6;6542:9;:36::i;:::-;6589:121;6598:6;6606:12;:10;:12::i;:::-;6620:89;6658:6;6620:89;;;;;;;;;;;;;;;;;:11;:19;6632:6;6620:19;;;;;;;;;;;;;;;:33;6640:12;:10;:12::i;:::-;6620:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6589:8;:121::i;:::-;6728:4;6721:11;;6427:313;;;;;:::o;5611:83::-;5652:5;4195:1;5670:16;;5611:83;:::o;10145:::-;10192:4;10213;:7;10218:1;10213:7;;;;;;;;;;;;;;;;;;;;;;;;;10206:14;;10145:83;;;:::o;10950:348::-;11014:10;;;;;;;;;;;11000:24;;:12;:10;:12::i;:::-;:24;;;10992:33;;;;;;11036:20;11057:24;11075:4;11057:9;:24::i;:::-;11036:45;;11108:1;11095:12;:14;11092:73;;;11123:30;11140:12;11123:16;:30::i;:::-;11092:73;11175:18;11194:21;11175:40;;11240:1;11229:10;:12;11226:65;;;11255:24;11268:10;11255:12;:24::i;:::-;11226:65;10950:348;;:::o;5805:119::-;5871:7;5898:9;:18;5908:7;5898:18;;;;;;;;;;;;;;;;5891:25;;5805:119;;;:::o;2560:148::-;2483:12;:10;:12::i;:::-;2473:22;;:6;;;;;;;;;;:22;;;2465:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2667:1:::1;2630:40;;2651:6;::::0;::::1;;;;;;;;2630:40;;;;;;;;;;;;2698:1;2681:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2560:148::o:0;9878:159::-;2483:12;:10;:12::i;:::-;2473:22;;:6;;;;;;;;;;:22;;;2465:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4195:1:::1;4253:2;:13;;;;:::i;:::-;4238:12;:28;;;;:::i;:::-;9931:12;:22;;;;4195:1;4253:2;:13;;;;:::i;:::-;4238:12;:28;;;;:::i;:::-;9964:14;:22;;;;10002:27;4195:1;4253:2;:13;;;;:::i;:::-;4238:12;:28;;;;:::i;:::-;10002:27;;;;;;:::i;:::-;;;;;;;;9878:159::o:0;4426:56::-;;;;:::o;2346:79::-;2384:7;2411:6;;;;;;;;;;;2404:13;;2346:79;:::o;4489:57::-;;;;:::o;5516:87::-;5555:13;5588:7;;;;;;;;;;;;;;;;;5581:14;;5516:87;:::o;5932:167::-;6010:4;6027:42;6037:12;:10;:12::i;:::-;6051:9;6062:6;6027:9;:42::i;:::-;6087:4;6080:11;;5932:167;;;;:::o;4553:59::-;;;;:::o;10236:671::-;2483:12;:10;:12::i;:::-;2473:22;;:6;;;;;;;;;;:22;;;2465:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10300:11:::1;;;;;;;;;;;10299:12;10291:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10386:42;10349:15;;:80;;;;;;;;;;;;;;;;;;10440:58;10457:4;10472:15;;;;;;;;;;;4195:1;4253:2;:13;;;;:::i;:::-;4238:12;:28;;;;:::i;:::-;10440:8;:58::i;:::-;10543:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10525:55;;;10589:4;10596:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10525:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10509:13;;:110;;;;;;;;;;;;;;;;;;10630:15;;;;;;;;;;;:31;;;10669:21;10700:4;10706:24;10724:4;10706:9;:24::i;:::-;10731:1;10733::::0;10735:7:::1;:5;:7::i;:::-;10743:15;10630:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10777:13;;;;;;;;;;;10770:29;;;10808:15;;;;;;;;;;;10826:14;10770:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10866:4;10852:11;;:18;;;;;;;;;;;;;;;;;;10895:4;10881:11;;:18;;;;;;;;;;;;;;;;;;10236:671::o:0;6107:143::-;6188:7;6215:11;:18;6227:5;6215:18;;;;;;;;;;;;;;;:27;6234:7;6215:27;;;;;;;;;;;;;;;;6208:34;;6107:143;;;;:::o;101:98::-;154:7;181:10;174:17;;101:98;:::o;6748:335::-;6858:1;6841:19;;:5;:19;;;;6833:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6939:1;6920:21;;:7;:21;;;;6912:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7021:6;6991:11;:18;7003:5;6991:18;;;;;;;;;;;;;;;:27;7010:7;6991:27;;;;;;;;;;;;;;;:36;;;;7059:7;7043:32;;7052:5;7043:32;;;7068:6;7043:32;;;;;;:::i;:::-;;;;;;;;6748:335;;;:::o;7091:2180::-;7195:1;7179:18;;:4;:18;;;;7171:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7272:1;7258:16;;:2;:16;;;;7250:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7342:1;7333:6;:10;7325:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7400:17;7442:7;:5;:7::i;:::-;7434:15;;:4;:15;;;;:32;;;;;7459:7;:5;:7::i;:::-;7453:13;;:2;:13;;;;7434:32;7430:1485;;;7492:4;:10;7497:4;7492:10;;;;;;;;;;;;;;;;;;;;;;;;;7491:11;:24;;;;;7507:4;:8;7512:2;7507:8;;;;;;;;;;;;;;;;;;;;;;;;;7506:9;7491:24;7483:33;;;;;;7543:76;7615:3;7543:67;7565:15;;7555:9;;:25;7554:55;;7595:14;;7554:55;;;7582:12;;7554:55;7543:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7531:88;;7648:13;;;;;;;;;;;7640:21;;:4;:21;;;:55;;;;;7679:15;;;;;;;;;;;7665:30;;:2;:30;;;;7640:55;:83;;;;;7701:18;:22;7720:2;7701:22;;;;;;;;;;;;;;;;;;;;;;;;;7699:24;7640:83;7636:313;;;7763:12;;7753:6;:22;;7745:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7858:14;;7848:6;7832:13;7842:2;7832:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7824:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7922:9;;:11;;;;;;;;;:::i;:::-;;;;;;7636:313;7974:13;;;;;;;;;;;7968:19;;:2;:19;;;:43;;;;;8006:4;7991:20;;:4;:20;;;;7968:43;7965:174;;;8044:79;8119:3;8044:70;8066:16;;8056:9;;:26;8055:58;;8098:15;;8055:58;;;8084:13;;8055:58;8044:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8032:91;;7965:174;8155:28;8186:24;8204:4;8186:9;:24::i;:::-;8155:55;;8230:6;;;;;;;;;;;8229:7;:30;;;;;8246:13;;;;;;;;;;;8240:19;;:2;:19;;;8229:30;:45;;;;;8263:11;;;;;;;;;;;8229:45;:89;;;;;8301:17;;8278:20;:40;8229:89;:123;;;;;8334:18;;8322:9;;:30;8229:123;8225:679;;;8392:13;;8377:12;:28;8373:90;;;8442:1;8430:9;:13;;;;8373:90;8501:1;8489:9;;:13;8481:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8549:69;8566:51;8570:6;8578:38;8582:20;8604:11;;8578:3;:38::i;:::-;8566:3;:51::i;:::-;8549:16;:69::i;:::-;8637:26;8666:21;8637:50;;8731:1;8710:18;:22;8706:106;;;8757:35;8770:21;8757:12;:35::i;:::-;8706:106;8830:9;;:11;;;;;;;;;:::i;:::-;;;;;;8876:12;8860:13;:28;;;;8225:679;;7430:1485;;8940:1;8930:9;:11;8927:161;;;8980:39;9009:9;8980;:24;8998:4;8980:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8955:9;:24;8973:4;8955:24;;;;;;;;;;;;;;;:64;;;;9060:4;9037:39;;9046:4;9037:39;;;9066:9;9037:39;;;;;;:::i;:::-;;;;;;;;8927:161;9114:27;9134:6;9114:9;:15;9124:4;9114:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9098:9;:15;9108:4;9098:15;;;;;;;;;;;;;;;:43;;;;9166:40;9184:21;9195:9;9184:6;:10;;:21;;;;:::i;:::-;9166:9;:13;9176:2;9166:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9152:9;:13;9162:2;9152:13;;;;;;;;;;;;;;;:54;;;;9237:2;9222:41;;9231:4;9222:41;;;9241:21;9252:9;9241:6;:10;;:21;;;;:::i;:::-;9222:41;;;;;;:::i;:::-;;;;;;;;7091:2180;;;;:::o;1238:190::-;1324:7;1357:1;1352;:6;;1360:12;1344:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1384:9;1400:1;1396;:5;;;;:::i;:::-;1384:17;;1419:1;1412:8;;;1238:190;;;;;:::o;9387:483::-;5043:4;5034:6;;:13;;;;;;;;;;;;;;;;;;9465:21:::1;9503:1;9489:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9465:40;;9534:4;9516;9521:1;9516:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;9560:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9550:4;9555:1;9550:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;9593:62;9610:4;9625:15;;;;;;;;;;;9643:11;9593:8;:62::i;:::-;9666:15;;;;;;;;;;;:66;;;9747:11;9773:1;9789:4;9816;9836:15;9666:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5058:1;5079:5:::0;5070:6;;:14;;;;;;;;;;;;;;;;;;9387:483;:::o;10045:92::-;10102:10;;;;;;;;;;;:19;;:27;10122:6;10102:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10045:92;:::o;1436:246::-;1494:7;1523:1;1518;:6;1514:47;;;1548:1;1541:8;;;;1514:47;1571:9;1587:1;1583;:5;;;;:::i;:::-;1571:17;;1616:1;1611;1607;:5;;;;:::i;:::-;:10;1599:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1673:1;1666:8;;;1436:246;;;;;:::o;1690:132::-;1748:7;1775:39;1779:1;1782;1775:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1768:46;;1690:132;;;;:::o;9281:98::-;9338:7;9365:1;9363;:3;9362:9;;9370:1;9362:9;;;9368:1;9362:9;9355:16;;9281:98;;;;:::o;907:179::-;965:7;985:9;1001:1;997;:5;;;;:::i;:::-;985:17;;1026:1;1021;:6;;1013:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1077:1;1070:8;;;907:179;;;;:::o;1094:136::-;1152:7;1179:43;1183:1;1186;1179:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1172:50;;1094:136;;;;:::o;1830:189::-;1916:7;1948:1;1944;:5;1951:12;1936:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1975:9;1991:1;1987;:5;;;;:::i;:::-;1975:17;;2010:1;2003:8;;;1830:189;;;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:137::-;;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;;;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;;;;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;;;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:596::-;;;;3117:2;3105:9;3096:7;3092:23;3088:32;3085:2;;;3133:1;3130;3123:12;3085:2;3176:1;3201:64;3257:7;3248:6;3237:9;3233:22;3201:64;:::i;:::-;3191:74;;3147:128;3314:2;3340:64;3396:7;3387:6;3376:9;3372:22;3340:64;:::i;:::-;3330:74;;3285:129;3453:2;3479:64;3535:7;3526:6;3515:9;3511:22;3479:64;:::i;:::-;3469:74;;3424:129;3075:485;;;;;:::o;3566:179::-;;3656:46;3698:3;3690:6;3656:46;:::i;:::-;3734:4;3729:3;3725:14;3711:28;;3646:99;;;;:::o;3751:108::-;3828:24;3846:5;3828:24;:::i;:::-;3823:3;3816:37;3806:53;;:::o;3865:118::-;3952:24;3970:5;3952:24;:::i;:::-;3947:3;3940:37;3930:53;;:::o;4019:732::-;;4167:54;4215:5;4167:54;:::i;:::-;4237:86;4316:6;4311:3;4237:86;:::i;:::-;4230:93;;4347:56;4397:5;4347:56;:::i;:::-;4426:7;4457:1;4442:284;4467:6;4464:1;4461:13;4442:284;;;4543:6;4537:13;4570:63;4629:3;4614:13;4570:63;:::i;:::-;4563:70;;4656:60;4709:6;4656:60;:::i;:::-;4646:70;;4502:224;4489:1;4486;4482:9;4477:14;;4442:284;;;4446:14;4742:3;4735:10;;4143:608;;;;;;;:::o;4757:109::-;4838:21;4853:5;4838:21;:::i;:::-;4833:3;4826:34;4816:50;;:::o;4872:147::-;4967:45;5006:5;4967:45;:::i;:::-;4962:3;4955:58;4945:74;;:::o;5025:364::-;;5141:39;5174:5;5141:39;:::i;:::-;5196:71;5260:6;5255:3;5196:71;:::i;:::-;5189:78;;5276:52;5321:6;5316:3;5309:4;5302:5;5298:16;5276:52;:::i;:::-;5353:29;5375:6;5353:29;:::i;:::-;5348:3;5344:39;5337:46;;5117:272;;;;;:::o;5395:367::-;;5558:67;5622:2;5617:3;5558:67;:::i;:::-;5551:74;;5655:34;5651:1;5646:3;5642:11;5635:55;5721:5;5716:2;5711:3;5707:12;5700:27;5753:2;5748:3;5744:12;5737:19;;5541:221;;;:::o;5768:323::-;;5931:67;5995:2;5990:3;5931:67;:::i;:::-;5924:74;;6028:27;6024:1;6019:3;6015:11;6008:48;6082:2;6077:3;6073:12;6066:19;;5914:177;;;:::o;6097:366::-;;6260:67;6324:2;6319:3;6260:67;:::i;:::-;6253:74;;6357:34;6353:1;6348:3;6344:11;6337:55;6423:4;6418:2;6413:3;6409:12;6402:26;6454:2;6449:3;6445:12;6438:19;;6243:220;;;:::o;6469:325::-;;6632:67;6696:2;6691:3;6632:67;:::i;:::-;6625:74;;6729:29;6725:1;6720:3;6716:11;6709:50;6785:2;6780:3;6776:12;6769:19;;6615:179;;;:::o;6800:321::-;;6963:67;7027:2;7022:3;6963:67;:::i;:::-;6956:74;;7060:25;7056:1;7051:3;7047:11;7040:46;7112:2;7107:3;7103:12;7096:19;;6946:175;;;:::o;7127:365::-;;7290:67;7354:2;7349:3;7290:67;:::i;:::-;7283:74;;7387:34;7383:1;7378:3;7374:11;7367:55;7453:3;7448:2;7443:3;7439:12;7432:25;7483:2;7478:3;7474:12;7467:19;;7273:219;;;:::o;7498:330::-;;7661:67;7725:2;7720:3;7661:67;:::i;:::-;7654:74;;7758:34;7754:1;7749:3;7745:11;7738:55;7819:2;7814:3;7810:12;7803:19;;7644:184;;;:::o;7834:373::-;;7997:67;8061:2;8056:3;7997:67;:::i;:::-;7990:74;;8094:34;8090:1;8085:3;8081:11;8074:55;8160:11;8155:2;8150:3;8146:12;8139:33;8198:2;8193:3;8189:12;8182:19;;7980:227;;;:::o;8213:369::-;;8376:67;8440:2;8435:3;8376:67;:::i;:::-;8369:74;;8473:34;8469:1;8464:3;8460:11;8453:55;8539:7;8534:2;8529:3;8525:12;8518:29;8573:2;8568:3;8564:12;8557:19;;8359:223;;;:::o;8588:324::-;;8751:67;8815:2;8810:3;8751:67;:::i;:::-;8744:74;;8848:28;8844:1;8839:3;8835:11;8828:49;8903:2;8898:3;8894:12;8887:19;;8734:178;;;:::o;8918:368::-;;9081:67;9145:2;9140:3;9081:67;:::i;:::-;9074:74;;9178:34;9174:1;9169:3;9165:11;9158:55;9244:6;9239:2;9234:3;9230:12;9223:28;9277:2;9272:3;9268:12;9261:19;;9064:222;;;:::o;9292:321::-;;9455:67;9519:2;9514:3;9455:67;:::i;:::-;9448:74;;9552:25;9548:1;9543:3;9539:11;9532:46;9604:2;9599:3;9595:12;9588:19;;9438:175;;;:::o;9619:118::-;9706:24;9724:5;9706:24;:::i;:::-;9701:3;9694:37;9684:53;;:::o;9743:112::-;9826:22;9842:5;9826:22;:::i;:::-;9821:3;9814:35;9804:51;;:::o;9861:222::-;;9992:2;9981:9;9977:18;9969:26;;10005:71;10073:1;10062:9;10058:17;10049:6;10005:71;:::i;:::-;9959:124;;;;:::o;10089:332::-;;10248:2;10237:9;10233:18;10225:26;;10261:71;10329:1;10318:9;10314:17;10305:6;10261:71;:::i;:::-;10342:72;10410:2;10399:9;10395:18;10386:6;10342:72;:::i;:::-;10215:206;;;;;:::o;10427:332::-;;10586:2;10575:9;10571:18;10563:26;;10599:71;10667:1;10656:9;10652:17;10643:6;10599:71;:::i;:::-;10680:72;10748:2;10737:9;10733:18;10724:6;10680:72;:::i;:::-;10553:206;;;;;:::o;10765:807::-;;11052:3;11041:9;11037:19;11029:27;;11066:71;11134:1;11123:9;11119:17;11110:6;11066:71;:::i;:::-;11147:72;11215:2;11204:9;11200:18;11191:6;11147:72;:::i;:::-;11229:80;11305:2;11294:9;11290:18;11281:6;11229:80;:::i;:::-;11319;11395:2;11384:9;11380:18;11371:6;11319:80;:::i;:::-;11409:73;11477:3;11466:9;11462:19;11453:6;11409:73;:::i;:::-;11492;11560:3;11549:9;11545:19;11536:6;11492:73;:::i;:::-;11019:553;;;;;;;;;:::o;11578:210::-;;11703:2;11692:9;11688:18;11680:26;;11716:65;11778:1;11767:9;11763:17;11754:6;11716:65;:::i;:::-;11670:118;;;;:::o;11794:313::-;;11945:2;11934:9;11930:18;11922:26;;11994:9;11988:4;11984:20;11980:1;11969:9;11965:17;11958:47;12022:78;12095:4;12086:6;12022:78;:::i;:::-;12014:86;;11912:195;;;;:::o;12113:419::-;;12317:2;12306:9;12302:18;12294:26;;12366:9;12360:4;12356:20;12352:1;12341:9;12337:17;12330:47;12394:131;12520:4;12394:131;:::i;:::-;12386:139;;12284:248;;;:::o;12538:419::-;;12742:2;12731:9;12727:18;12719:26;;12791:9;12785:4;12781:20;12777:1;12766:9;12762:17;12755:47;12819:131;12945:4;12819:131;:::i;:::-;12811:139;;12709:248;;;:::o;12963:419::-;;13167:2;13156:9;13152:18;13144:26;;13216:9;13210:4;13206:20;13202:1;13191:9;13187:17;13180:47;13244:131;13370:4;13244:131;:::i;:::-;13236:139;;13134:248;;;:::o;13388:419::-;;13592:2;13581:9;13577:18;13569:26;;13641:9;13635:4;13631:20;13627:1;13616:9;13612:17;13605:47;13669:131;13795:4;13669:131;:::i;:::-;13661:139;;13559:248;;;:::o;13813:419::-;;14017:2;14006:9;14002:18;13994:26;;14066:9;14060:4;14056:20;14052:1;14041:9;14037:17;14030:47;14094:131;14220:4;14094:131;:::i;:::-;14086:139;;13984:248;;;:::o;14238:419::-;;14442:2;14431:9;14427:18;14419:26;;14491:9;14485:4;14481:20;14477:1;14466:9;14462:17;14455:47;14519:131;14645:4;14519:131;:::i;:::-;14511:139;;14409:248;;;:::o;14663:419::-;;14867:2;14856:9;14852:18;14844:26;;14916:9;14910:4;14906:20;14902:1;14891:9;14887:17;14880:47;14944:131;15070:4;14944:131;:::i;:::-;14936:139;;14834:248;;;:::o;15088:419::-;;15292:2;15281:9;15277:18;15269:26;;15341:9;15335:4;15331:20;15327:1;15316:9;15312:17;15305:47;15369:131;15495:4;15369:131;:::i;:::-;15361:139;;15259:248;;;:::o;15513:419::-;;15717:2;15706:9;15702:18;15694:26;;15766:9;15760:4;15756:20;15752:1;15741:9;15737:17;15730:47;15794:131;15920:4;15794:131;:::i;:::-;15786:139;;15684:248;;;:::o;15938:419::-;;16142:2;16131:9;16127:18;16119:26;;16191:9;16185:4;16181:20;16177:1;16166:9;16162:17;16155:47;16219:131;16345:4;16219:131;:::i;:::-;16211:139;;16109:248;;;:::o;16363:419::-;;16567:2;16556:9;16552:18;16544:26;;16616:9;16610:4;16606:20;16602:1;16591:9;16587:17;16580:47;16644:131;16770:4;16644:131;:::i;:::-;16636:139;;16534:248;;;:::o;16788:419::-;;16992:2;16981:9;16977:18;16969:26;;17041:9;17035:4;17031:20;17027:1;17016:9;17012:17;17005:47;17069:131;17195:4;17069:131;:::i;:::-;17061:139;;16959:248;;;:::o;17213:222::-;;17344:2;17333:9;17329:18;17321:26;;17357:71;17425:1;17414:9;17410:17;17401:6;17357:71;:::i;:::-;17311:124;;;;:::o;17441:831::-;;17742:3;17731:9;17727:19;17719:27;;17756:71;17824:1;17813:9;17809:17;17800:6;17756:71;:::i;:::-;17837:80;17913:2;17902:9;17898:18;17889:6;17837:80;:::i;:::-;17964:9;17958:4;17954:20;17949:2;17938:9;17934:18;17927:48;17992:108;18095:4;18086:6;17992:108;:::i;:::-;17984:116;;18110:72;18178:2;18167:9;18163:18;18154:6;18110:72;:::i;:::-;18192:73;18260:3;18249:9;18245:19;18236:6;18192:73;:::i;:::-;17709:563;;;;;;;;:::o;18278:214::-;;18405:2;18394:9;18390:18;18382:26;;18418:67;18482:1;18471:9;18467:17;18458:6;18418:67;:::i;:::-;18372:120;;;;:::o;18498:132::-;;18588:3;18580:11;;18618:4;18613:3;18609:14;18601:22;;18570:60;;;:::o;18636:114::-;;18737:5;18731:12;18721:22;;18710:40;;;:::o;18756:99::-;;18842:5;18836:12;18826:22;;18815:40;;;:::o;18861:113::-;;18963:4;18958:3;18954:14;18946:22;;18936:38;;;:::o;18980:184::-;;19113:6;19108:3;19101:19;19153:4;19148:3;19144:14;19129:29;;19091:73;;;;:::o;19170:169::-;;19288:6;19283:3;19276:19;19328:4;19323:3;19319:14;19304:29;;19266:73;;;;:::o;19345:305::-;;19404:20;19422:1;19404:20;:::i;:::-;19399:25;;19438:20;19456:1;19438:20;:::i;:::-;19433:25;;19592:1;19524:66;19520:74;19517:1;19514:81;19511:2;;;19598:18;;:::i;:::-;19511:2;19642:1;19639;19635:9;19628:16;;19389:261;;;;:::o;19656:185::-;;19713:20;19731:1;19713:20;:::i;:::-;19708:25;;19747:20;19765:1;19747:20;:::i;:::-;19742:25;;19786:1;19776:2;;19791:18;;:::i;:::-;19776:2;19833:1;19830;19826:9;19821:14;;19698:143;;;;:::o;19847:848::-;;;19939:6;19930:15;;19963:5;19954:14;;19977:712;19998:1;19988:8;19985:15;19977:712;;;20093:4;20088:3;20084:14;20078:4;20075:24;20072:2;;;20102:18;;:::i;:::-;20072:2;20152:1;20142:8;20138:16;20135:2;;;20567:4;20560:5;20556:16;20547:25;;20135:2;20617:4;20611;20607:15;20599:23;;20647:32;20670:8;20647:32;:::i;:::-;20635:44;;19977:712;;;19920:775;;;;;;;:::o;20701:281::-;;20783:23;20801:4;20783:23;:::i;:::-;20775:31;;20827:25;20843:8;20827:25;:::i;:::-;20815:37;;20871:104;20908:66;20898:8;20892:4;20871:104;:::i;:::-;20862:113;;20765:217;;;;:::o;20988:1073::-;;21233:8;21223:2;;21254:1;21245:10;;21256:5;;21223:2;21282:4;21272:2;;21299:1;21290:10;;21301:5;;21272:2;21368:4;21416:1;21411:27;;;;21452:1;21447:191;;;;21361:277;;21411:27;21429:1;21420:10;;21431:5;;;21447:191;21492:3;21482:8;21479:17;21476:2;;;21499:18;;:::i;:::-;21476:2;21548:8;21545:1;21541:16;21532:25;;21583:3;21576:5;21573:14;21570:2;;;21590:18;;:::i;:::-;21570:2;21623:5;;;21361:277;;21747:2;21737:8;21734:16;21728:3;21722:4;21719:13;21715:36;21697:2;21687:8;21684:16;21679:2;21673:4;21670:12;21666:35;21650:111;21647:2;;;21803:8;21797:4;21793:19;21784:28;;21838:3;21831:5;21828:14;21825:2;;;21845:18;;:::i;:::-;21825:2;21878:5;;21647:2;21918:42;21956:3;21946:8;21940:4;21937:1;21918:42;:::i;:::-;21903:57;;;;21992:4;21987:3;21983:14;21976:5;21973:25;21970:2;;;22001:18;;:::i;:::-;21970:2;22050:4;22043:5;22039:16;22030:25;;21048:1013;;;;;;:::o;22067:348::-;;22130:20;22148:1;22130:20;:::i;:::-;22125:25;;22164:20;22182:1;22164:20;:::i;:::-;22159:25;;22352:1;22284:66;22280:74;22277:1;22274:81;22269:1;22262:9;22255:17;22251:105;22248:2;;;22359:18;;:::i;:::-;22248:2;22407:1;22404;22400:9;22389:20;;22115:300;;;;:::o;22421:191::-;;22481:20;22499:1;22481:20;:::i;:::-;22476:25;;22515:20;22533:1;22515:20;:::i;:::-;22510:25;;22554:1;22551;22548:8;22545:2;;;22559:18;;:::i;:::-;22545:2;22604:1;22601;22597:9;22589:17;;22466:146;;;;:::o;22618:96::-;;22684:24;22702:5;22684:24;:::i;:::-;22673:35;;22663:51;;;:::o;22720:90::-;;22797:5;22790:13;22783:21;22772:32;;22762:48;;;:::o;22816:126::-;;22893:42;22886:5;22882:54;22871:65;;22861:81;;;:::o;22948:77::-;;23014:5;23003:16;;22993:32;;;:::o;23031:86::-;;23106:4;23099:5;23095:16;23084:27;;23074:43;;;:::o;23123:121::-;;23214:24;23232:5;23214:24;:::i;:::-;23201:37;;23191:53;;;:::o;23250:307::-;23318:1;23328:113;23342:6;23339:1;23336:13;23328:113;;;23427:1;23422:3;23418:11;23412:18;23408:1;23403:3;23399:11;23392:39;23364:2;23361:1;23357:10;23352:15;;23328:113;;;23459:6;23456:1;23453:13;23450:2;;;23539:1;23530:6;23525:3;23521:16;23514:27;23450:2;23299:258;;;;:::o;23563:233::-;;23625:24;23643:5;23625:24;:::i;:::-;23616:33;;23671:66;23664:5;23661:77;23658:2;;;23741:18;;:::i;:::-;23658:2;23788:1;23781:5;23777:13;23770:20;;23606:190;;;:::o;23802:180::-;23850:77;23847:1;23840:88;23947:4;23944:1;23937:15;23971:4;23968:1;23961:15;23988:180;24036:77;24033:1;24026:88;24133:4;24130:1;24123:15;24157:4;24154:1;24147:15;24174:102;;24266:2;24262:7;24257:2;24250:5;24246:14;24242:28;24232:38;;24222:54;;;:::o;24282:102::-;;24371:5;24368:1;24364:13;24343:34;;24333:51;;;:::o;24390:122::-;24463:24;24481:5;24463:24;:::i;:::-;24456:5;24453:35;24443:2;;24502:1;24499;24492:12;24443:2;24433:79;:::o;24518:116::-;24588:21;24603:5;24588:21;:::i;:::-;24581:5;24578:32;24568:2;;24624:1;24621;24614:12;24568:2;24558:76;:::o;24640:122::-;24713:24;24731:5;24713:24;:::i;:::-;24706:5;24703:35;24693:2;;24752:1;24749;24742:12;24693:2;24683:79;:::o

Swarm Source

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