ETH Price: $3,240.40 (-0.28%)

Token

Dream Big Again (DREAM)
 

Overview

Max Total Supply

420,690,000,000 DREAM

Holders

38

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,706,780,595.613346947 DREAM

Value
$0.00
0x9F5957F398Ef596044E297bAE1E0BB82caF9d051
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, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSED
//t.me/dreambigagainETH

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"Dream Big Again";
    string private constant _symbol = unicode"DREAM";
    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"}]

6080604052600f600655600f600755600060085560006009556014600a556014600b556014600c556000600d556009600a6200003c919062000512565b6401f58066406200004e91906200064f565b600e556009600a62000061919062000512565b6401f58066406200007391906200064f565b600f556009600a62000086919062000512565b63191338506200009791906200064f565b6010556009600a620000aa919062000512565b64139703fe80620000bc91906200064f565b6011556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff021916908315150217905550600060145560006015553480156200010c57600080fd5b5060006200011f6200045860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001cd6200045860201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021d919062000512565b6461f313f8806200022f91906200064f565b60016000620002436200045860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002976200046060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003ca6200045860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000429919062000512565b6461f313f8806200043b91906200064f565b6040516200044a91906200049a565b60405180910390a362000703565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200049481620006b0565b82525050565b6000602082019050620004b1600083018462000489565b92915050565b6000808291508390505b60018511156200050957808604811115620004e157620004e0620006c7565b5b6001851615620004f15780820291505b80810290506200050185620006f6565b9450620004c1565b94509492505050565b60006200051f82620006b0565b91506200052c83620006ba565b92506200055b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000563565b905092915050565b60008262000575576001905062000648565b8162000585576000905062000648565b81600181146200059e5760028114620005a957620005df565b600191505062000648565b60ff841115620005be57620005bd620006c7565b5b8360020a915084821115620005d857620005d7620006c7565b5b5062000648565b5060208310610133831016604e8410600b8410161715620006195782820a905083811115620006135762000612620006c7565b5b62000648565b620006288484846001620004b7565b92509050818404811115620006425762000641620006c7565b5b81810290505b9392505050565b60006200065c82620006b0565b91506200066983620006b0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006a557620006a4620006c7565b5b828202905092915050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b612fd280620007136000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461038a578063a9059cbb146103b5578063bf474bed146103f2578063c9567bf91461041d578063dd62ed3e146104345761011f565b8063715018a6146102db578063751039fc146102f25780637d1db4a5146103095780638da5cb5b146103345780638f9a55c01461035f5761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f5780633bbac5791461024a57806351bc3c851461028757806370a082311461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610471565b60405161014691906128c3565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612239565b6104ae565b60405161018391906128a8565b60405180910390f35b34801561019857600080fd5b506101a16104cc565b6040516101ae9190612a65565b60405180910390f35b3480156101c357600080fd5b506101cc6104d2565b6040516101d99190612a65565b60405180910390f35b3480156101ee57600080fd5b50610209600480360381019061020491906121ea565b6104f7565b60405161021691906128a8565b60405180910390f35b34801561022b57600080fd5b506102346105d0565b6040516102419190612ada565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061215c565b6105d9565b60405161027e91906128a8565b60405180910390f35b34801561029357600080fd5b5061029c61062f565b005b3480156102aa57600080fd5b506102c560048036038101906102c0919061215c565b6106cc565b6040516102d29190612a65565b60405180910390f35b3480156102e757600080fd5b506102f0610715565b005b3480156102fe57600080fd5b50610307610868565b005b34801561031557600080fd5b5061031e61099b565b60405161032b9190612a65565b60405180910390f35b34801561034057600080fd5b506103496109a1565b60405161035691906127da565b60405180910390f35b34801561036b57600080fd5b506103746109ca565b6040516103819190612a65565b60405180910390f35b34801561039657600080fd5b5061039f6109d0565b6040516103ac91906128c3565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190612239565b610a0d565b6040516103e991906128a8565b60405180910390f35b3480156103fe57600080fd5b50610407610a2b565b6040516104149190612a65565b60405180910390f35b34801561042957600080fd5b50610432610a31565b005b34801561044057600080fd5b5061045b600480360381019061045691906121ae565b610fb5565b6040516104689190612a65565b60405180910390f35b60606040518060400160405280600f81526020017f447265616d2042696720416761696e0000000000000000000000000000000000815250905090565b60006104c26104bb61103c565b8484611044565b6001905092915050565b60115481565b60006009600a6104e29190612c24565b6461f313f8806104f29190612d42565b905090565b600061050484848461120f565b6105c58461051061103c565b6105c085604051806060016040528060288152602001612f7560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057661103c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b409092919063ffffffff16565b611044565b600190509392505050565b60006009905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661067061103c565b73ffffffffffffffffffffffffffffffffffffffff161461069057600080fd5b600061069b306106cc565b905060008111156106b0576106af81611ba4565b5b600047905060008111156106c8576106c781611e9e565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61071d61103c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906129a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61087061103c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f4906129a5565b60405180910390fd5b6009600a61090b9190612c24565b6461f313f88061091b9190612d42565b600e819055506009600a61092f9190612c24565b6461f313f88061093f9190612d42565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109749190612c24565b6461f313f8806109849190612d42565b6040516109919190612a65565b60405180910390a1565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600581526020017f445245414d000000000000000000000000000000000000000000000000000000815250905090565b6000610a21610a1a61103c565b848461120f565b6001905092915050565b60105481565b610a3961103c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd906129a5565b60405180910390fd5b601360149054906101000a900460ff1615610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d90612a45565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bb530601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ba09190612c24565b6461f313f880610bb09190612d42565b611044565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190612185565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd957600080fd5b505afa158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d119190612185565b6040518363ffffffff1660e01b8152600401610d2e9291906127f5565b602060405180830381600087803b158015610d4857600080fd5b505af1158015610d5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d809190612185565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e09306106cc565b600080610e146109a1565b426040518863ffffffff1660e01b8152600401610e3696959493929190612847565b6060604051808303818588803b158015610e4f57600080fd5b505af1158015610e63573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e88919061229e565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f2a92919061281e565b602060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7c9190612275565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ab90612a25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111b90612925565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112029190612a65565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611276906129e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e6906128e5565b60405180910390fd5b60008111611332576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611329906129c5565b60405180910390fd5b600061133c6109a1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113aa575061137a6109a1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561188357600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114535750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61145c57600080fd5b611498606461148a600a54600d54116114775760065461147b565b6008545b85611f0a90919063ffffffff16565b611f8590919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115455750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561159b5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561165657600e548211156115e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dc90612905565b60405180910390fd5b600f54826115f2856106cc565b6115fc9190612b4a565b111561163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163490612a05565b60405180910390fd5b600d600081548092919061165090612e6a565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116df57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611723576117206064611712600b54600d54116116ff57600754611703565b6009545b85611f0a90919063ffffffff16565b611f8590919063ffffffff16565b90505b600061172e306106cc565b9050601360159054906101000a900460ff1615801561179a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117b25750601360169054906101000a900460ff165b80156117bf575060105481115b80156117ce5750600c54600d54115b15611881576015544311156117e65760006014819055505b60036014541061182b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182290612965565b60405180910390fd5b6118486118438461183e84601154611fcf565b611fcf565b611ba4565b600047905060008111156118605761185f47611e9e565b5b6014600081548092919061187390612e6a565b919050555043601581905550505b505b6000811115611987576118de81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe890919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161197e9190612a65565b60405180910390a35b6119d982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a80611a32828461204690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b25848661204690919063ffffffff16565b604051611b329190612a65565b60405180910390a350505050565b6000838311158290611b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7f91906128c3565b60405180910390fd5b5060008385611b979190612d9c565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c02577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611c305781602001602082028036833780820191505090505b5090503081600081518110611c6e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d1057600080fd5b505afa158015611d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d489190612185565b81600181518110611d82577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611de930601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611044565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e4d959493929190612a80565b600060405180830381600087803b158015611e6757600080fd5b505af1158015611e7b573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f06573d6000803e3d6000fd5b5050565b600080831415611f1d5760009050611f7f565b60008284611f2b9190612d42565b9050828482611f3a9190612ba0565b14611f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7190612985565b60405180910390fd5b809150505b92915050565b6000611fc783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612090565b905092915050565b6000818311611fde5782611fe0565b815b905092915050565b6000808284611ff79190612b4a565b90508381101561203c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203390612945565b60405180910390fd5b8091505092915050565b600061208883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b40565b905092915050565b600080831182906120d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ce91906128c3565b60405180910390fd5b50600083856120e69190612ba0565b9050809150509392505050565b60008135905061210281612f2f565b92915050565b60008151905061211781612f2f565b92915050565b60008151905061212c81612f46565b92915050565b60008135905061214181612f5d565b92915050565b60008151905061215681612f5d565b92915050565b60006020828403121561216e57600080fd5b600061217c848285016120f3565b91505092915050565b60006020828403121561219757600080fd5b60006121a584828501612108565b91505092915050565b600080604083850312156121c157600080fd5b60006121cf858286016120f3565b92505060206121e0858286016120f3565b9150509250929050565b6000806000606084860312156121ff57600080fd5b600061220d868287016120f3565b935050602061221e868287016120f3565b925050604061222f86828701612132565b9150509250925092565b6000806040838503121561224c57600080fd5b600061225a858286016120f3565b925050602061226b85828601612132565b9150509250929050565b60006020828403121561228757600080fd5b60006122958482850161211d565b91505092915050565b6000806000606084860312156122b357600080fd5b60006122c186828701612147565b93505060206122d286828701612147565b92505060406122e386828701612147565b9150509250925092565b60006122f98383612305565b60208301905092915050565b61230e81612dd0565b82525050565b61231d81612dd0565b82525050565b600061232e82612b05565b6123388185612b28565b935061234383612af5565b8060005b8381101561237457815161235b88826122ed565b975061236683612b1b565b925050600181019050612347565b5085935050505092915050565b61238a81612de2565b82525050565b61239981612e25565b82525050565b60006123aa82612b10565b6123b48185612b39565b93506123c4818560208601612e37565b6123cd81612f11565b840191505092915050565b60006123e5602383612b39565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061244b601983612b39565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b600061248b602283612b39565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124f1601b83612b39565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000612531601783612b39565b91507f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006000830152602082019050919050565b6000612571602183612b39565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125d7602083612b39565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000612617602983612b39565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b600061267d602583612b39565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126e3601a83612b39565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b6000612723602483612b39565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612789601783612b39565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b6127c581612e0e565b82525050565b6127d481612e18565b82525050565b60006020820190506127ef6000830184612314565b92915050565b600060408201905061280a6000830185612314565b6128176020830184612314565b9392505050565b60006040820190506128336000830185612314565b61284060208301846127bc565b9392505050565b600060c08201905061285c6000830189612314565b61286960208301886127bc565b6128766040830187612390565b6128836060830186612390565b6128906080830185612314565b61289d60a08301846127bc565b979650505050505050565b60006020820190506128bd6000830184612381565b92915050565b600060208201905081810360008301526128dd818461239f565b905092915050565b600060208201905081810360008301526128fe816123d8565b9050919050565b6000602082019050818103600083015261291e8161243e565b9050919050565b6000602082019050818103600083015261293e8161247e565b9050919050565b6000602082019050818103600083015261295e816124e4565b9050919050565b6000602082019050818103600083015261297e81612524565b9050919050565b6000602082019050818103600083015261299e81612564565b9050919050565b600060208201905081810360008301526129be816125ca565b9050919050565b600060208201905081810360008301526129de8161260a565b9050919050565b600060208201905081810360008301526129fe81612670565b9050919050565b60006020820190508181036000830152612a1e816126d6565b9050919050565b60006020820190508181036000830152612a3e81612716565b9050919050565b60006020820190508181036000830152612a5e8161277c565b9050919050565b6000602082019050612a7a60008301846127bc565b92915050565b600060a082019050612a9560008301886127bc565b612aa26020830187612390565b8181036040830152612ab48186612323565b9050612ac36060830185612314565b612ad060808301846127bc565b9695505050505050565b6000602082019050612aef60008301846127cb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612b5582612e0e565b9150612b6083612e0e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b9557612b94612eb3565b5b828201905092915050565b6000612bab82612e0e565b9150612bb683612e0e565b925082612bc657612bc5612ee2565b5b828204905092915050565b6000808291508390505b6001851115612c1b57808604811115612bf757612bf6612eb3565b5b6001851615612c065780820291505b8081029050612c1485612f22565b9450612bdb565b94509492505050565b6000612c2f82612e0e565b9150612c3a83612e18565b9250612c677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c6f565b905092915050565b600082612c7f5760019050612d3b565b81612c8d5760009050612d3b565b8160018114612ca35760028114612cad57612cdc565b6001915050612d3b565b60ff841115612cbf57612cbe612eb3565b5b8360020a915084821115612cd657612cd5612eb3565b5b50612d3b565b5060208310610133831016604e8410600b8410161715612d115782820a905083811115612d0c57612d0b612eb3565b5b612d3b565b612d1e8484846001612bd1565b92509050818404811115612d3557612d34612eb3565b5b81810290505b9392505050565b6000612d4d82612e0e565b9150612d5883612e0e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d9157612d90612eb3565b5b828202905092915050565b6000612da782612e0e565b9150612db283612e0e565b925082821015612dc557612dc4612eb3565b5b828203905092915050565b6000612ddb82612dee565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612e3082612e0e565b9050919050565b60005b83811015612e55578082015181840152602081019050612e3a565b83811115612e64576000848401525b50505050565b6000612e7582612e0e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612ea857612ea7612eb3565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b612f3881612dd0565b8114612f4357600080fd5b50565b612f4f81612de2565b8114612f5a57600080fd5b50565b612f6681612e0e565b8114612f7157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208a514af10c9a1341b2527f02a8dec54f77100849efa895e0b2665942c16c4f7364736f6c63430008000033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461038a578063a9059cbb146103b5578063bf474bed146103f2578063c9567bf91461041d578063dd62ed3e146104345761011f565b8063715018a6146102db578063751039fc146102f25780637d1db4a5146103095780638da5cb5b146103345780638f9a55c01461035f5761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f5780633bbac5791461024a57806351bc3c851461028757806370a082311461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610471565b60405161014691906128c3565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612239565b6104ae565b60405161018391906128a8565b60405180910390f35b34801561019857600080fd5b506101a16104cc565b6040516101ae9190612a65565b60405180910390f35b3480156101c357600080fd5b506101cc6104d2565b6040516101d99190612a65565b60405180910390f35b3480156101ee57600080fd5b50610209600480360381019061020491906121ea565b6104f7565b60405161021691906128a8565b60405180910390f35b34801561022b57600080fd5b506102346105d0565b6040516102419190612ada565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061215c565b6105d9565b60405161027e91906128a8565b60405180910390f35b34801561029357600080fd5b5061029c61062f565b005b3480156102aa57600080fd5b506102c560048036038101906102c0919061215c565b6106cc565b6040516102d29190612a65565b60405180910390f35b3480156102e757600080fd5b506102f0610715565b005b3480156102fe57600080fd5b50610307610868565b005b34801561031557600080fd5b5061031e61099b565b60405161032b9190612a65565b60405180910390f35b34801561034057600080fd5b506103496109a1565b60405161035691906127da565b60405180910390f35b34801561036b57600080fd5b506103746109ca565b6040516103819190612a65565b60405180910390f35b34801561039657600080fd5b5061039f6109d0565b6040516103ac91906128c3565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d79190612239565b610a0d565b6040516103e991906128a8565b60405180910390f35b3480156103fe57600080fd5b50610407610a2b565b6040516104149190612a65565b60405180910390f35b34801561042957600080fd5b50610432610a31565b005b34801561044057600080fd5b5061045b600480360381019061045691906121ae565b610fb5565b6040516104689190612a65565b60405180910390f35b60606040518060400160405280600f81526020017f447265616d2042696720416761696e0000000000000000000000000000000000815250905090565b60006104c26104bb61103c565b8484611044565b6001905092915050565b60115481565b60006009600a6104e29190612c24565b6461f313f8806104f29190612d42565b905090565b600061050484848461120f565b6105c58461051061103c565b6105c085604051806060016040528060288152602001612f7560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057661103c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b409092919063ffffffff16565b611044565b600190509392505050565b60006009905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661067061103c565b73ffffffffffffffffffffffffffffffffffffffff161461069057600080fd5b600061069b306106cc565b905060008111156106b0576106af81611ba4565b5b600047905060008111156106c8576106c781611e9e565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61071d61103c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906129a5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61087061103c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f4906129a5565b60405180910390fd5b6009600a61090b9190612c24565b6461f313f88061091b9190612d42565b600e819055506009600a61092f9190612c24565b6461f313f88061093f9190612d42565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109749190612c24565b6461f313f8806109849190612d42565b6040516109919190612a65565b60405180910390a1565b600e5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600581526020017f445245414d000000000000000000000000000000000000000000000000000000815250905090565b6000610a21610a1a61103c565b848461120f565b6001905092915050565b60105481565b610a3961103c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abd906129a5565b60405180910390fd5b601360149054906101000a900460ff1615610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d90612a45565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bb530601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ba09190612c24565b6461f313f880610bb09190612d42565b611044565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190612185565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd957600080fd5b505afa158015610ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d119190612185565b6040518363ffffffff1660e01b8152600401610d2e9291906127f5565b602060405180830381600087803b158015610d4857600080fd5b505af1158015610d5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d809190612185565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e09306106cc565b600080610e146109a1565b426040518863ffffffff1660e01b8152600401610e3696959493929190612847565b6060604051808303818588803b158015610e4f57600080fd5b505af1158015610e63573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e88919061229e565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f2a92919061281e565b602060405180830381600087803b158015610f4457600080fd5b505af1158015610f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7c9190612275565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ab90612a25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111b90612925565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112029190612a65565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611276906129e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e6906128e5565b60405180910390fd5b60008111611332576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611329906129c5565b60405180910390fd5b600061133c6109a1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156113aa575061137a6109a1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561188357600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114535750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61145c57600080fd5b611498606461148a600a54600d54116114775760065461147b565b6008545b85611f0a90919063ffffffff16565b611f8590919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115455750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561159b5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561165657600e548211156115e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dc90612905565b60405180910390fd5b600f54826115f2856106cc565b6115fc9190612b4a565b111561163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163490612a05565b60405180910390fd5b600d600081548092919061165090612e6a565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116df57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611723576117206064611712600b54600d54116116ff57600754611703565b6009545b85611f0a90919063ffffffff16565b611f8590919063ffffffff16565b90505b600061172e306106cc565b9050601360159054906101000a900460ff1615801561179a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117b25750601360169054906101000a900460ff165b80156117bf575060105481115b80156117ce5750600c54600d54115b15611881576015544311156117e65760006014819055505b60036014541061182b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182290612965565b60405180910390fd5b6118486118438461183e84601154611fcf565b611fcf565b611ba4565b600047905060008111156118605761185f47611e9e565b5b6014600081548092919061187390612e6a565b919050555043601581905550505b505b6000811115611987576118de81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe890919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161197e9190612a65565b60405180910390a35b6119d982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a80611a32828461204690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fe890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b25848661204690919063ffffffff16565b604051611b329190612a65565b60405180910390a350505050565b6000838311158290611b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7f91906128c3565b60405180910390fd5b5060008385611b979190612d9c565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c02577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611c305781602001602082028036833780820191505090505b5090503081600081518110611c6e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d1057600080fd5b505afa158015611d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d489190612185565b81600181518110611d82577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611de930601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611044565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e4d959493929190612a80565b600060405180830381600087803b158015611e6757600080fd5b505af1158015611e7b573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f06573d6000803e3d6000fd5b5050565b600080831415611f1d5760009050611f7f565b60008284611f2b9190612d42565b9050828482611f3a9190612ba0565b14611f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7190612985565b60405180910390fd5b809150505b92915050565b6000611fc783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612090565b905092915050565b6000818311611fde5782611fe0565b815b905092915050565b6000808284611ff79190612b4a565b90508381101561203c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203390612945565b60405180910390fd5b8091505092915050565b600061208883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b40565b905092915050565b600080831182906120d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ce91906128c3565b60405180910390fd5b50600083856120e69190612ba0565b9050809150509392505050565b60008135905061210281612f2f565b92915050565b60008151905061211781612f2f565b92915050565b60008151905061212c81612f46565b92915050565b60008135905061214181612f5d565b92915050565b60008151905061215681612f5d565b92915050565b60006020828403121561216e57600080fd5b600061217c848285016120f3565b91505092915050565b60006020828403121561219757600080fd5b60006121a584828501612108565b91505092915050565b600080604083850312156121c157600080fd5b60006121cf858286016120f3565b92505060206121e0858286016120f3565b9150509250929050565b6000806000606084860312156121ff57600080fd5b600061220d868287016120f3565b935050602061221e868287016120f3565b925050604061222f86828701612132565b9150509250925092565b6000806040838503121561224c57600080fd5b600061225a858286016120f3565b925050602061226b85828601612132565b9150509250929050565b60006020828403121561228757600080fd5b60006122958482850161211d565b91505092915050565b6000806000606084860312156122b357600080fd5b60006122c186828701612147565b93505060206122d286828701612147565b92505060406122e386828701612147565b9150509250925092565b60006122f98383612305565b60208301905092915050565b61230e81612dd0565b82525050565b61231d81612dd0565b82525050565b600061232e82612b05565b6123388185612b28565b935061234383612af5565b8060005b8381101561237457815161235b88826122ed565b975061236683612b1b565b925050600181019050612347565b5085935050505092915050565b61238a81612de2565b82525050565b61239981612e25565b82525050565b60006123aa82612b10565b6123b48185612b39565b93506123c4818560208601612e37565b6123cd81612f11565b840191505092915050565b60006123e5602383612b39565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061244b601983612b39565b91507f4578636565647320746865205f6d61785478416d6f756e742e000000000000006000830152602082019050919050565b600061248b602283612b39565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006124f1601b83612b39565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000612531601783612b39565b91507f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006000830152602082019050919050565b6000612571602183612b39565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006125d7602083612b39565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b6000612617602983612b39565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b600061267d602583612b39565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006126e3601a83612b39565b91507f4578636565647320746865206d617857616c6c657453697a652e0000000000006000830152602082019050919050565b6000612723602483612b39565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612789601783612b39565b91507f74726164696e6720697320616c7265616479206f70656e0000000000000000006000830152602082019050919050565b6127c581612e0e565b82525050565b6127d481612e18565b82525050565b60006020820190506127ef6000830184612314565b92915050565b600060408201905061280a6000830185612314565b6128176020830184612314565b9392505050565b60006040820190506128336000830185612314565b61284060208301846127bc565b9392505050565b600060c08201905061285c6000830189612314565b61286960208301886127bc565b6128766040830187612390565b6128836060830186612390565b6128906080830185612314565b61289d60a08301846127bc565b979650505050505050565b60006020820190506128bd6000830184612381565b92915050565b600060208201905081810360008301526128dd818461239f565b905092915050565b600060208201905081810360008301526128fe816123d8565b9050919050565b6000602082019050818103600083015261291e8161243e565b9050919050565b6000602082019050818103600083015261293e8161247e565b9050919050565b6000602082019050818103600083015261295e816124e4565b9050919050565b6000602082019050818103600083015261297e81612524565b9050919050565b6000602082019050818103600083015261299e81612564565b9050919050565b600060208201905081810360008301526129be816125ca565b9050919050565b600060208201905081810360008301526129de8161260a565b9050919050565b600060208201905081810360008301526129fe81612670565b9050919050565b60006020820190508181036000830152612a1e816126d6565b9050919050565b60006020820190508181036000830152612a3e81612716565b9050919050565b60006020820190508181036000830152612a5e8161277c565b9050919050565b6000602082019050612a7a60008301846127bc565b92915050565b600060a082019050612a9560008301886127bc565b612aa26020830187612390565b8181036040830152612ab48186612323565b9050612ac36060830185612314565b612ad060808301846127bc565b9695505050505050565b6000602082019050612aef60008301846127cb565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612b5582612e0e565b9150612b6083612e0e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b9557612b94612eb3565b5b828201905092915050565b6000612bab82612e0e565b9150612bb683612e0e565b925082612bc657612bc5612ee2565b5b828204905092915050565b6000808291508390505b6001851115612c1b57808604811115612bf757612bf6612eb3565b5b6001851615612c065780820291505b8081029050612c1485612f22565b9450612bdb565b94509492505050565b6000612c2f82612e0e565b9150612c3a83612e18565b9250612c677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c6f565b905092915050565b600082612c7f5760019050612d3b565b81612c8d5760009050612d3b565b8160018114612ca35760028114612cad57612cdc565b6001915050612d3b565b60ff841115612cbf57612cbe612eb3565b5b8360020a915084821115612cd657612cd5612eb3565b5b50612d3b565b5060208310610133831016604e8410600b8410161715612d115782820a905083811115612d0c57612d0b612eb3565b5b612d3b565b612d1e8484846001612bd1565b92509050818404811115612d3557612d34612eb3565b5b81810290505b9392505050565b6000612d4d82612e0e565b9150612d5883612e0e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612d9157612d90612eb3565b5b828202905092915050565b6000612da782612e0e565b9150612db283612e0e565b925082821015612dc557612dc4612eb3565b5b828203905092915050565b6000612ddb82612dee565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612e3082612e0e565b9050919050565b60005b83811015612e55578082015181840152602081019050612e3a565b83811115612e64576000848401525b50505050565b6000612e7582612e0e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612ea857612ea7612eb3565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b612f3881612dd0565b8114612f4357600080fd5b50565b612f4f81612de2565b8114612f5a57600080fd5b50565b612f6681612e0e565b8114612f7157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208a514af10c9a1341b2527f02a8dec54f77100849efa895e0b2665942c16c4f7364736f6c63430008000033

Deployed Bytecode Sourcemap

3504:7787:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5415:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6248:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4609:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5692:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6417:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5601:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10940:348;;;;;;;;;;;;;:::i;:::-;;5795:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2585:148;;;;;;;;;;;;;:::i;:::-;;9868:159;;;;;;;;;;;;;:::i;:::-;;4416:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2371:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4479:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5506:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5922:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4543:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10226:671;;;;;;;;;;;;;:::i;:::-;;6097:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5415:83;5452:13;5485:5;;;;;;;;;;;;;;;;;5478:12;;5415:83;:::o;6248:161::-;6323:4;6340:39;6349:12;:10;:12::i;:::-;6363:7;6372:6;6340:8;:39::i;:::-;6397:4;6390:11;;6248:161;;;;:::o;4609:55::-;;;;:::o;5692:95::-;5745:7;4220:1;4278:2;:13;;;;:::i;:::-;4263:12;:28;;;;:::i;:::-;5765:14;;5692:95;:::o;6417:313::-;6515:4;6532:36;6542:6;6550:9;6561:6;6532:9;:36::i;:::-;6579:121;6588:6;6596:12;:10;:12::i;:::-;6610:89;6648:6;6610:89;;;;;;;;;;;;;;;;;:11;:19;6622:6;6610:19;;;;;;;;;;;;;;;:33;6630:12;:10;:12::i;:::-;6610:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6579:8;:121::i;:::-;6718:4;6711:11;;6417:313;;;;;:::o;5601:83::-;5642:5;4220:1;5660:16;;5601:83;:::o;10135:::-;10182:4;10203;:7;10208:1;10203:7;;;;;;;;;;;;;;;;;;;;;;;;;10196:14;;10135:83;;;:::o;10940:348::-;11004:10;;;;;;;;;;;10990:24;;:12;:10;:12::i;:::-;:24;;;10982:33;;;;;;11026:20;11047:24;11065:4;11047:9;:24::i;:::-;11026:45;;11098:1;11085:12;:14;11082:73;;;11113:30;11130:12;11113:16;:30::i;:::-;11082:73;11165:18;11184:21;11165:40;;11230:1;11219:10;:12;11216:65;;;11245:24;11258:10;11245:12;:24::i;:::-;11216:65;10940:348;;:::o;5795:119::-;5861:7;5888:9;:18;5898:7;5888:18;;;;;;;;;;;;;;;;5881:25;;5795:119;;;:::o;2585:148::-;2508:12;:10;:12::i;:::-;2498:22;;:6;;;;;;;;;;:22;;;2490:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2692:1:::1;2655:40;;2676:6;::::0;::::1;;;;;;;;2655:40;;;;;;;;;;;;2723:1;2706:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2585:148::o:0;9868:159::-;2508:12;:10;:12::i;:::-;2498:22;;:6;;;;;;;;;;:22;;;2490:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4220:1:::1;4278:2;:13;;;;:::i;:::-;4263:12;:28;;;;:::i;:::-;9921:12;:22;;;;4220:1;4278:2;:13;;;;:::i;:::-;4263:12;:28;;;;:::i;:::-;9954:14;:22;;;;9992:27;4220:1;4278:2;:13;;;;:::i;:::-;4263:12;:28;;;;:::i;:::-;9992:27;;;;;;:::i;:::-;;;;;;;;9868:159::o:0;4416:56::-;;;;:::o;2371:79::-;2409:7;2436:6;;;;;;;;;;;2429:13;;2371:79;:::o;4479:57::-;;;;:::o;5506:87::-;5545:13;5578:7;;;;;;;;;;;;;;;;;5571:14;;5506:87;:::o;5922:167::-;6000:4;6017:42;6027:12;:10;:12::i;:::-;6041:9;6052:6;6017:9;:42::i;:::-;6077:4;6070:11;;5922:167;;;;:::o;4543:59::-;;;;:::o;10226:671::-;2508:12;:10;:12::i;:::-;2498:22;;:6;;;;;;;;;;:22;;;2490:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10290:11:::1;;;;;;;;;;;10289:12;10281:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10376:42;10339:15;;:80;;;;;;;;;;;;;;;;;;10430:58;10447:4;10462:15;;;;;;;;;;;4220:1;4278:2;:13;;;;:::i;:::-;4263:12;:28;;;;:::i;:::-;10430:8;:58::i;:::-;10533:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10515:55;;;10579:4;10586:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10515:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10499:13;;:110;;;;;;;;;;;;;;;;;;10620:15;;;;;;;;;;;:31;;;10659:21;10690:4;10696:24;10714:4;10696:9;:24::i;:::-;10721:1;10723::::0;10725:7:::1;:5;:7::i;:::-;10733:15;10620:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10767:13;;;;;;;;;;;10760:29;;;10798:15;;;;;;;;;;;10816:14;10760:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10856:4;10842:11;;:18;;;;;;;;;;;;;;;;;;10885:4;10871:11;;:18;;;;;;;;;;;;;;;;;;10226:671::o:0;6097:143::-;6178:7;6205:11;:18;6217:5;6205:18;;;;;;;;;;;;;;;:27;6224:7;6205:27;;;;;;;;;;;;;;;;6198:34;;6097:143;;;;:::o;126:98::-;179:7;206:10;199:17;;126:98;:::o;6738:335::-;6848:1;6831:19;;:5;:19;;;;6823:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6929:1;6910:21;;:7;:21;;;;6902:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7011:6;6981:11;:18;6993:5;6981:18;;;;;;;;;;;;;;;:27;7000:7;6981:27;;;;;;;;;;;;;;;:36;;;;7049:7;7033:32;;7042:5;7033:32;;;7058:6;7033:32;;;;;;:::i;:::-;;;;;;;;6738:335;;;:::o;7081:2180::-;7185:1;7169:18;;:4;:18;;;;7161:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7262:1;7248:16;;:2;:16;;;;7240:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7332:1;7323:6;:10;7315:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7390:17;7432:7;:5;:7::i;:::-;7424:15;;:4;:15;;;;:32;;;;;7449:7;:5;:7::i;:::-;7443:13;;:2;:13;;;;7424:32;7420:1485;;;7482:4;:10;7487:4;7482:10;;;;;;;;;;;;;;;;;;;;;;;;;7481:11;:24;;;;;7497:4;:8;7502:2;7497:8;;;;;;;;;;;;;;;;;;;;;;;;;7496:9;7481:24;7473:33;;;;;;7533:76;7605:3;7533:67;7555:15;;7545:9;;:25;7544:55;;7585:14;;7544:55;;;7572:12;;7544:55;7533:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7521:88;;7638:13;;;;;;;;;;;7630:21;;:4;:21;;;:55;;;;;7669:15;;;;;;;;;;;7655:30;;:2;:30;;;;7630:55;:83;;;;;7691:18;:22;7710:2;7691:22;;;;;;;;;;;;;;;;;;;;;;;;;7689:24;7630:83;7626:313;;;7753:12;;7743:6;:22;;7735:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7848:14;;7838:6;7822:13;7832:2;7822:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7814:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7912:9;;:11;;;;;;;;;:::i;:::-;;;;;;7626:313;7964:13;;;;;;;;;;;7958:19;;:2;:19;;;:43;;;;;7996:4;7981:20;;:4;:20;;;;7958:43;7955:174;;;8034:79;8109:3;8034:70;8056:16;;8046:9;;:26;8045:58;;8088:15;;8045:58;;;8074:13;;8045:58;8034:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8022:91;;7955:174;8145:28;8176:24;8194:4;8176:9;:24::i;:::-;8145:55;;8220:6;;;;;;;;;;;8219:7;:30;;;;;8236:13;;;;;;;;;;;8230:19;;:2;:19;;;8219:30;:45;;;;;8253:11;;;;;;;;;;;8219:45;:89;;;;;8291:17;;8268:20;:40;8219:89;:123;;;;;8324:18;;8312:9;;:30;8219:123;8215:679;;;8382:13;;8367:12;:28;8363:90;;;8432:1;8420:9;:13;;;;8363:90;8491:1;8479:9;;:13;8471:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8539:69;8556:51;8560:6;8568:38;8572:20;8594:11;;8568:3;:38::i;:::-;8556:3;:51::i;:::-;8539:16;:69::i;:::-;8627:26;8656:21;8627:50;;8721:1;8700:18;:22;8696:106;;;8747:35;8760:21;8747:12;:35::i;:::-;8696:106;8820:9;;:11;;;;;;;;;:::i;:::-;;;;;;8866:12;8850:13;:28;;;;8215:679;;7420:1485;;8930:1;8920:9;:11;8917:161;;;8970:39;8999:9;8970;:24;8988:4;8970:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8945:9;:24;8963:4;8945:24;;;;;;;;;;;;;;;:64;;;;9050:4;9027:39;;9036:4;9027:39;;;9056:9;9027:39;;;;;;:::i;:::-;;;;;;;;8917:161;9104:27;9124:6;9104:9;:15;9114:4;9104:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9088:9;:15;9098:4;9088:15;;;;;;;;;;;;;;;:43;;;;9156:40;9174:21;9185:9;9174:6;:10;;:21;;;;:::i;:::-;9156:9;:13;9166:2;9156:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9142:9;:13;9152:2;9142:13;;;;;;;;;;;;;;;:54;;;;9227:2;9212:41;;9221:4;9212:41;;;9231:21;9242:9;9231:6;:10;;:21;;;;:::i;:::-;9212:41;;;;;;:::i;:::-;;;;;;;;7081:2180;;;;:::o;1263:190::-;1349:7;1382:1;1377;:6;;1385:12;1369:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1409:9;1425:1;1421;:5;;;;:::i;:::-;1409:17;;1444:1;1437:8;;;1263:190;;;;;:::o;9377:483::-;5033:4;5024:6;;:13;;;;;;;;;;;;;;;;;;9455:21:::1;9493:1;9479:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9455:40;;9524:4;9506;9511:1;9506:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;9550:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9540:4;9545:1;9540:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;9583:62;9600:4;9615:15;;;;;;;;;;;9633:11;9583:8;:62::i;:::-;9656:15;;;;;;;;;;;:66;;;9737:11;9763:1;9779:4;9806;9826:15;9656:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5048:1;5069:5:::0;5060:6;;:14;;;;;;;;;;;;;;;;;;9377:483;:::o;10035:92::-;10092:10;;;;;;;;;;;:19;;:27;10112:6;10092:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10035:92;:::o;1461:246::-;1519:7;1548:1;1543;:6;1539:47;;;1573:1;1566:8;;;;1539:47;1596:9;1612:1;1608;:5;;;;:::i;:::-;1596:17;;1641:1;1636;1632;:5;;;;:::i;:::-;:10;1624:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1698:1;1691:8;;;1461:246;;;;;:::o;1715:132::-;1773:7;1800:39;1804:1;1807;1800:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1793:46;;1715:132;;;;:::o;9271:98::-;9328:7;9355:1;9353;:3;9352:9;;9360:1;9352:9;;;9358:1;9352:9;9345:16;;9271:98;;;;:::o;932:179::-;990:7;1010:9;1026:1;1022;:5;;;;:::i;:::-;1010:17;;1051:1;1046;:6;;1038:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1102:1;1095:8;;;932:179;;;;:::o;1119:136::-;1177:7;1204:43;1208:1;1211;1204:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1197:50;;1119:136;;;;:::o;1855:189::-;1941:7;1973:1;1969;:5;1976:12;1961:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2000:9;2016:1;2012;:5;;;;:::i;:::-;2000:17;;2035:1;2028:8;;;1855: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://8a514af10c9a1341b2527f02a8dec54f77100849efa895e0b2665942c16c4f73
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.