ETH Price: $2,507.60 (-3.12%)

Token

Unclog Tracker (UNCLOG)
 

Overview

Max Total Supply

1,000,000 UNCLOG

Holders

103

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 UNCLOG

Value
$0.00
0xa03205c3169a9ab942e4be2c3543c34dd1bd730a
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:
CLOG

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-29
*/

/* 
Website: https://unclogtracker.xyz/

Telegram Portal: https://t.me/unclogtrackerportal

Telegram Bot: https://t.me/UnClogTrackerBot

X: https://twitter.com/unclogtracker

Docs: https://unclog-tracker-bot.gitbook.io/unclog-tracker-docs/
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

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(), "Sender 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 CLOG 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;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool private transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=5;
    uint256 private _finalSellTax=5;
    uint256 private _reduceBuyTax=20;
    uint256 private _reduceSellTax=30;
    uint256 private _swapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"Unclog Tracker";
    string private constant _symbol = unicode"UNCLOG";
    uint256 public _maxTxAmount = 10000 * 10**_decimals;
    uint256 public _maxWalletSize = 10000 * 10**_decimals;
    uint256 internal  _taxSwapThreshold= 10000 * 10**_decimals;
    uint256 internal _maxTaxSwap= 10000 * 10**_decimals;
    uint private _initialTradeBlock;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    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, "transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "approve from the zero address");
        require(spender != address(0), "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), "transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTax)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_swapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        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;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

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


    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);
        _initialTradeBlock = block.number;
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

}

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":"_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":[{"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":[],"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"}]

6080604052600160065f6101000a81548160ff0219169083151502179055506019600755601960085560056009556005600a556014600b55601e600c556014600d555f600e556009600a62000055919062000605565b61271062000064919062000655565b600f556009600a62000077919062000605565b61271062000086919062000655565b6010556009600a62000099919062000605565b612710620000a8919062000655565b6011556009600a620000bb919062000605565b612710620000ca919062000655565b6012555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055503480156200010c575f80fd5b505f6200011e6200044560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001ca6200044560201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021a919062000605565b620f42406200022a919062000655565b60015f6200023d6200044560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200028f6200044c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003ba6200044560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000418919062000605565b620f424062000428919062000655565b604051620004379190620006b0565b60405180910390a3620006cb565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004fd57808604811115620004d557620004d462000473565b5b6001851615620004e55780820291505b8081029050620004f585620004a0565b9450620004b5565b94509492505050565b5f82620005175760019050620005e9565b8162000526575f9050620005e9565b81600181146200053f57600281146200054a5762000580565b6001915050620005e9565b60ff8411156200055f576200055e62000473565b5b8360020a91508482111562000579576200057862000473565b5b50620005e9565b5060208310610133831016604e8410600b8410161715620005ba5782820a905083811115620005b457620005b362000473565b5b620005e9565b620005c98484846001620004ac565b92509050818404811115620005e357620005e262000473565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061182620005f0565b91506200061e83620005f9565b92506200064d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000506565b905092915050565b5f6200066182620005f0565b91506200066e83620005f0565b92508282026200067e81620005f0565b9150828204841483151762000698576200069762000473565b5b5092915050565b620006aa81620005f0565b82525050565b5f602082019050620006c55f8301846200069f565b92915050565b612c6580620006d95f395ff3fe6080604052600436106100eb575f3560e01c8063751039fc1161008957806395d89b411161005857806395d89b41146102d2578063a9059cbb146102fc578063c9567bf914610338578063dd62ed3e1461034e576100f2565b8063751039fc1461023e5780637d1db4a5146102545780638da5cb5b1461027e5780638f9a55c0146102a8576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c257806370a08231146101ec578063715018a614610228576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a61038a565b6040516101179190611e5e565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190611f0f565b6103c7565b6040516101539190611f67565b60405180910390f35b348015610167575f80fd5b506101706103e4565b60405161017d9190611f8f565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a79190611fa8565b610406565b6040516101b99190611f67565b60405180910390f35b3480156101cd575f80fd5b506101d66104da565b6040516101e39190612013565b60405180910390f35b3480156101f7575f80fd5b50610212600480360381019061020d919061202c565b6104e2565b60405161021f9190611f8f565b60405180910390f35b348015610233575f80fd5b5061023c610528565b005b348015610249575f80fd5b50610252610676565b005b34801561025f575f80fd5b506102686107bb565b6040516102759190611f8f565b60405180910390f35b348015610289575f80fd5b506102926107c1565b60405161029f9190612066565b60405180910390f35b3480156102b3575f80fd5b506102bc6107e8565b6040516102c99190611f8f565b60405180910390f35b3480156102dd575f80fd5b506102e66107ee565b6040516102f39190611e5e565b60405180910390f35b348015610307575f80fd5b50610322600480360381019061031d9190611f0f565b61082b565b60405161032f9190611f67565b60405180910390f35b348015610343575f80fd5b5061034c610848565b005b348015610359575f80fd5b50610374600480360381019061036f919061207f565b610d70565b6040516103819190611f8f565b60405180910390f35b60606040518060400160405280600e81526020017f556e636c6f6720547261636b6572000000000000000000000000000000000000815250905090565b5f6103da6103d3610df2565b8484610df9565b6001905092915050565b5f6009600a6103f39190612219565b620f42406104019190612263565b905090565b5f610412848484610fbc565b6104cf8461041e610df2565b6104ca85604051806060016040528060218152602001612c0f6021913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610481610df2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118c19092919063ffffffff16565b610df9565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610530610df2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b3906122ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61067e610df2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610701906122ee565b60405180910390fd5b6009600a6107189190612219565b620f42406107269190612263565b600f819055506009600a61073a9190612219565b620f42406107489190612263565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6107969190612219565b620f42406107a49190612263565b6040516107b19190611f8f565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f554e434c4f470000000000000000000000000000000000000000000000000000815250905090565b5f61083e610837610df2565b8484610fbc565b6001905092915050565b610850610df2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d3906122ee565b60405180910390fd5b601560149054906101000a900460ff161561092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390612356565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109c73060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6109b49190612219565b620f42406109c29190612263565b610df9565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a559190612388565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aff9190612388565b6040518363ffffffff1660e01b8152600401610b1c9291906123b3565b6020604051808303815f875af1158015610b38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5c9190612388565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610be3306104e2565b5f80610bed6107c1565b426040518863ffffffff1660e01b8152600401610c0f9695949392919061241c565b60606040518083038185885af1158015610c2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c50919061248f565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610cf09291906124df565b6020604051808303815f875af1158015610d0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d309190612530565b50436013819055506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5e906125a5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecc9061260d565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610faf9190611f8f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361102a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102190612675565b60405180910390fd5b5f811161106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390612703565b60405180910390fd5b5f6110756107c1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156110e357506110b36107c1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611611576111246064611116600b54600e541161110357600754611107565b6009545b8561192390919063ffffffff16565b61199a90919063ffffffff16565b905060065f9054906101000a900460ff16156112ac5760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111e4575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112ab574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125f90612791565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611355575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113a8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561146257600f548211156113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e99061281f565b60405180910390fd5b601054826113ff856104e2565b611409919061283d565b111561144a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611441906128ba565b60405180910390fd5b600e5f81548092919061145c906128d8565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114ea57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561152e5761152b606461151d600c54600e541161150a5760085461150e565b600a545b8561192390919063ffffffff16565b61199a90919063ffffffff16565b90505b5f611538306104e2565b905060158054906101000a900460ff161580156115a1575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156115b95750601560169054906101000a900460ff165b80156115c6575060115481115b80156115d55750600d54600e54115b1561160f576115f76115f2846115ed846012546119e3565b6119e3565b6119fb565b5f4790505f81111561160d5761160c47611c64565b5b505b505b5f811115611710576116698160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ccd90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117079190611f8f565b60405180910390a35b6117608260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d2a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118036117b78284611d2a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ccd90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118a68486611d2a90919063ffffffff16565b6040516118b39190611f8f565b60405180910390a350505050565b5f838311158290611908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ff9190611e5e565b60405180910390fd5b505f8385611916919061291f565b9050809150509392505050565b5f808303611933575f9050611994565b5f82846119409190612263565b905082848261194f919061297f565b1461198f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198690612a1f565b60405180910390fd5b809150505b92915050565b5f6119db83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d73565b905092915050565b5f8183116119f157826119f3565b815b905092915050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a3157611a30612a3d565b5b604051908082528060200260200182016040528015611a5f5781602001602082028036833780820191505090505b50905030815f81518110611a7657611a75612a6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b3e9190612388565b81600181518110611b5257611b51612a6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bb83060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610df9565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c1a959493929190612b4e565b5f604051808303815f87803b158015611c31575f80fd5b505af1158015611c43573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cc9573d5f803e3d5ffd5b5050565b5f808284611cdb919061283d565b905083811015611d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1790612bf0565b60405180910390fd5b8091505092915050565b5f611d6b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118c1565b905092915050565b5f8083118290611db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db09190611e5e565b60405180910390fd5b505f8385611dc7919061297f565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611e0b578082015181840152602081019050611df0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e3082611dd4565b611e3a8185611dde565b9350611e4a818560208601611dee565b611e5381611e16565b840191505092915050565b5f6020820190508181035f830152611e768184611e26565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611eab82611e82565b9050919050565b611ebb81611ea1565b8114611ec5575f80fd5b50565b5f81359050611ed681611eb2565b92915050565b5f819050919050565b611eee81611edc565b8114611ef8575f80fd5b50565b5f81359050611f0981611ee5565b92915050565b5f8060408385031215611f2557611f24611e7e565b5b5f611f3285828601611ec8565b9250506020611f4385828601611efb565b9150509250929050565b5f8115159050919050565b611f6181611f4d565b82525050565b5f602082019050611f7a5f830184611f58565b92915050565b611f8981611edc565b82525050565b5f602082019050611fa25f830184611f80565b92915050565b5f805f60608486031215611fbf57611fbe611e7e565b5b5f611fcc86828701611ec8565b9350506020611fdd86828701611ec8565b9250506040611fee86828701611efb565b9150509250925092565b5f60ff82169050919050565b61200d81611ff8565b82525050565b5f6020820190506120265f830184612004565b92915050565b5f6020828403121561204157612040611e7e565b5b5f61204e84828501611ec8565b91505092915050565b61206081611ea1565b82525050565b5f6020820190506120795f830184612057565b92915050565b5f806040838503121561209557612094611e7e565b5b5f6120a285828601611ec8565b92505060206120b385828601611ec8565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561213f5780860481111561211b5761211a6120bd565b5b600185161561212a5780820291505b8081029050612138856120ea565b94506120ff565b94509492505050565b5f826121575760019050612212565b81612164575f9050612212565b816001811461217a5760028114612184576121b3565b6001915050612212565b60ff841115612196576121956120bd565b5b8360020a9150848211156121ad576121ac6120bd565b5b50612212565b5060208310610133831016604e8410600b84101617156121e85782820a9050838111156121e3576121e26120bd565b5b612212565b6121f584848460016120f6565b9250905081840481111561220c5761220b6120bd565b5b81810290505b9392505050565b5f61222382611edc565b915061222e83611ff8565b925061225b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612148565b905092915050565b5f61226d82611edc565b915061227883611edc565b925082820261228681611edc565b9150828204841483151761229d5761229c6120bd565b5b5092915050565b7f53656e646572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6122d8601783611dde565b91506122e3826122a4565b602082019050919050565b5f6020820190508181035f830152612305816122cc565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612340601783611dde565b915061234b8261230c565b602082019050919050565b5f6020820190508181035f83015261236d81612334565b9050919050565b5f8151905061238281611eb2565b92915050565b5f6020828403121561239d5761239c611e7e565b5b5f6123aa84828501612374565b91505092915050565b5f6040820190506123c65f830185612057565b6123d36020830184612057565b9392505050565b5f819050919050565b5f819050919050565b5f6124066124016123fc846123da565b6123e3565b611edc565b9050919050565b612416816123ec565b82525050565b5f60c08201905061242f5f830189612057565b61243c6020830188611f80565b612449604083018761240d565b612456606083018661240d565b6124636080830185612057565b61247060a0830184611f80565b979650505050505050565b5f8151905061248981611ee5565b92915050565b5f805f606084860312156124a6576124a5611e7e565b5b5f6124b38682870161247b565b93505060206124c48682870161247b565b92505060406124d58682870161247b565b9150509250925092565b5f6040820190506124f25f830185612057565b6124ff6020830184611f80565b9392505050565b61250f81611f4d565b8114612519575f80fd5b50565b5f8151905061252a81612506565b92915050565b5f6020828403121561254557612544611e7e565b5b5f6125528482850161251c565b91505092915050565b7f617070726f76652066726f6d20746865207a65726f20616464726573730000005f82015250565b5f61258f601d83611dde565b915061259a8261255b565b602082019050919050565b5f6020820190508181035f8301526125bc81612583565b9050919050565b7f617070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f6125f7601b83611dde565b9150612602826125c3565b602082019050919050565b5f6020820190508181035f830152612624816125eb565b9050919050565b7f7472616e736665722066726f6d20746865207a65726f206164647265737300005f82015250565b5f61265f601e83611dde565b915061266a8261262b565b602082019050919050565b5f6020820190508181035f83015261268c81612653565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6126ed602983611dde565b91506126f882612693565b604082019050919050565b5f6020820190508181035f83015261271a816126e1565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e20204f6e6c79206f6e5f8201527f652070757263686173652070657220626c6f636b20616c6c6f7765642e000000602082015250565b5f61277b603d83611dde565b915061278682612721565b604082019050919050565b5f6020820190508181035f8301526127a88161276f565b9050919050565b7f4578636565647320746865204d617820416d6f756e7420706572205472616e735f8201527f616374696f6e2e00000000000000000000000000000000000000000000000000602082015250565b5f612809602783611dde565b9150612814826127af565b604082019050919050565b5f6020820190508181035f830152612836816127fd565b9050919050565b5f61284782611edc565b915061285283611edc565b925082820190508082111561286a576128696120bd565b5b92915050565b7f4578636565647320746865204d61782057616c6c657420416d6f756e742e00005f82015250565b5f6128a4601e83611dde565b91506128af82612870565b602082019050919050565b5f6020820190508181035f8301526128d181612898565b9050919050565b5f6128e282611edc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612914576129136120bd565b5b600182019050919050565b5f61292982611edc565b915061293483611edc565b925082820390508181111561294c5761294b6120bd565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61298982611edc565b915061299483611edc565b9250826129a4576129a3612952565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a09602183611dde565b9150612a14826129af565b604082019050919050565b5f6020820190508181035f830152612a36816129fd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ac981611ea1565b82525050565b5f612ada8383612ac0565b60208301905092915050565b5f602082019050919050565b5f612afc82612a97565b612b068185612aa1565b9350612b1183612ab1565b805f5b83811015612b41578151612b288882612acf565b9750612b3383612ae6565b925050600181019050612b14565b5085935050505092915050565b5f60a082019050612b615f830188611f80565b612b6e602083018761240d565b8181036040830152612b808186612af2565b9050612b8f6060830185612057565b612b9c6080830184611f80565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612bda601b83611dde565b9150612be582612ba6565b602082019050919050565b5f6020820190508181035f830152612c0781612bce565b905091905056fe7472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eb1dc5451cdffa060455f686bba8b2069527e86ad61df60c35c51e6fc989f82964736f6c63430008140033

Deployed Bytecode

0x6080604052600436106100eb575f3560e01c8063751039fc1161008957806395d89b411161005857806395d89b41146102d2578063a9059cbb146102fc578063c9567bf914610338578063dd62ed3e1461034e576100f2565b8063751039fc1461023e5780637d1db4a5146102545780638da5cb5b1461027e5780638f9a55c0146102a8576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c257806370a08231146101ec578063715018a614610228576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a61038a565b6040516101179190611e5e565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190611f0f565b6103c7565b6040516101539190611f67565b60405180910390f35b348015610167575f80fd5b506101706103e4565b60405161017d9190611f8f565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a79190611fa8565b610406565b6040516101b99190611f67565b60405180910390f35b3480156101cd575f80fd5b506101d66104da565b6040516101e39190612013565b60405180910390f35b3480156101f7575f80fd5b50610212600480360381019061020d919061202c565b6104e2565b60405161021f9190611f8f565b60405180910390f35b348015610233575f80fd5b5061023c610528565b005b348015610249575f80fd5b50610252610676565b005b34801561025f575f80fd5b506102686107bb565b6040516102759190611f8f565b60405180910390f35b348015610289575f80fd5b506102926107c1565b60405161029f9190612066565b60405180910390f35b3480156102b3575f80fd5b506102bc6107e8565b6040516102c99190611f8f565b60405180910390f35b3480156102dd575f80fd5b506102e66107ee565b6040516102f39190611e5e565b60405180910390f35b348015610307575f80fd5b50610322600480360381019061031d9190611f0f565b61082b565b60405161032f9190611f67565b60405180910390f35b348015610343575f80fd5b5061034c610848565b005b348015610359575f80fd5b50610374600480360381019061036f919061207f565b610d70565b6040516103819190611f8f565b60405180910390f35b60606040518060400160405280600e81526020017f556e636c6f6720547261636b6572000000000000000000000000000000000000815250905090565b5f6103da6103d3610df2565b8484610df9565b6001905092915050565b5f6009600a6103f39190612219565b620f42406104019190612263565b905090565b5f610412848484610fbc565b6104cf8461041e610df2565b6104ca85604051806060016040528060218152602001612c0f6021913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610481610df2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118c19092919063ffffffff16565b610df9565b600190509392505050565b5f6009905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610530610df2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b3906122ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61067e610df2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610701906122ee565b60405180910390fd5b6009600a6107189190612219565b620f42406107269190612263565b600f819055506009600a61073a9190612219565b620f42406107489190612263565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6107969190612219565b620f42406107a49190612263565b6040516107b19190611f8f565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f554e434c4f470000000000000000000000000000000000000000000000000000815250905090565b5f61083e610837610df2565b8484610fbc565b6001905092915050565b610850610df2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d3906122ee565b60405180910390fd5b601560149054906101000a900460ff161561092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390612356565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506109c73060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6109b49190612219565b620f42406109c29190612263565b610df9565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a559190612388565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aff9190612388565b6040518363ffffffff1660e01b8152600401610b1c9291906123b3565b6020604051808303815f875af1158015610b38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5c9190612388565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610be3306104e2565b5f80610bed6107c1565b426040518863ffffffff1660e01b8152600401610c0f9695949392919061241c565b60606040518083038185885af1158015610c2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c50919061248f565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610cf09291906124df565b6020604051808303815f875af1158015610d0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d309190612530565b50436013819055506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5e906125a5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecc9061260d565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610faf9190611f8f565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361102a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102190612675565b60405180910390fd5b5f811161106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390612703565b60405180910390fd5b5f6110756107c1565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156110e357506110b36107c1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611611576111246064611116600b54600e541161110357600754611107565b6009545b8561192390919063ffffffff16565b61199a90919063ffffffff16565b905060065f9054906101000a900460ff16156112ac5760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156111e4575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112ab574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125f90612791565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611355575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156113a8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561146257600f548211156113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e99061281f565b60405180910390fd5b601054826113ff856104e2565b611409919061283d565b111561144a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611441906128ba565b60405180910390fd5b600e5f81548092919061145c906128d8565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114ea57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561152e5761152b606461151d600c54600e541161150a5760085461150e565b600a545b8561192390919063ffffffff16565b61199a90919063ffffffff16565b90505b5f611538306104e2565b905060158054906101000a900460ff161580156115a1575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156115b95750601560169054906101000a900460ff165b80156115c6575060115481115b80156115d55750600d54600e54115b1561160f576115f76115f2846115ed846012546119e3565b6119e3565b6119fb565b5f4790505f81111561160d5761160c47611c64565b5b505b505b5f811115611710576116698160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ccd90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117079190611f8f565b60405180910390a35b6117608260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d2a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118036117b78284611d2a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ccd90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118a68486611d2a90919063ffffffff16565b6040516118b39190611f8f565b60405180910390a350505050565b5f838311158290611908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ff9190611e5e565b60405180910390fd5b505f8385611916919061291f565b9050809150509392505050565b5f808303611933575f9050611994565b5f82846119409190612263565b905082848261194f919061297f565b1461198f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198690612a1f565b60405180910390fd5b809150505b92915050565b5f6119db83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d73565b905092915050565b5f8183116119f157826119f3565b815b905092915050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a3157611a30612a3d565b5b604051908082528060200260200182016040528015611a5f5781602001602082028036833780820191505090505b50905030815f81518110611a7657611a75612a6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b3e9190612388565b81600181518110611b5257611b51612a6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bb83060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610df9565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c1a959493929190612b4e565b5f604051808303815f87803b158015611c31575f80fd5b505af1158015611c43573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cc9573d5f803e3d5ffd5b5050565b5f808284611cdb919061283d565b905083811015611d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1790612bf0565b60405180910390fd5b8091505092915050565b5f611d6b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118c1565b905092915050565b5f8083118290611db9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db09190611e5e565b60405180910390fd5b505f8385611dc7919061297f565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611e0b578082015181840152602081019050611df0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e3082611dd4565b611e3a8185611dde565b9350611e4a818560208601611dee565b611e5381611e16565b840191505092915050565b5f6020820190508181035f830152611e768184611e26565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611eab82611e82565b9050919050565b611ebb81611ea1565b8114611ec5575f80fd5b50565b5f81359050611ed681611eb2565b92915050565b5f819050919050565b611eee81611edc565b8114611ef8575f80fd5b50565b5f81359050611f0981611ee5565b92915050565b5f8060408385031215611f2557611f24611e7e565b5b5f611f3285828601611ec8565b9250506020611f4385828601611efb565b9150509250929050565b5f8115159050919050565b611f6181611f4d565b82525050565b5f602082019050611f7a5f830184611f58565b92915050565b611f8981611edc565b82525050565b5f602082019050611fa25f830184611f80565b92915050565b5f805f60608486031215611fbf57611fbe611e7e565b5b5f611fcc86828701611ec8565b9350506020611fdd86828701611ec8565b9250506040611fee86828701611efb565b9150509250925092565b5f60ff82169050919050565b61200d81611ff8565b82525050565b5f6020820190506120265f830184612004565b92915050565b5f6020828403121561204157612040611e7e565b5b5f61204e84828501611ec8565b91505092915050565b61206081611ea1565b82525050565b5f6020820190506120795f830184612057565b92915050565b5f806040838503121561209557612094611e7e565b5b5f6120a285828601611ec8565b92505060206120b385828601611ec8565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561213f5780860481111561211b5761211a6120bd565b5b600185161561212a5780820291505b8081029050612138856120ea565b94506120ff565b94509492505050565b5f826121575760019050612212565b81612164575f9050612212565b816001811461217a5760028114612184576121b3565b6001915050612212565b60ff841115612196576121956120bd565b5b8360020a9150848211156121ad576121ac6120bd565b5b50612212565b5060208310610133831016604e8410600b84101617156121e85782820a9050838111156121e3576121e26120bd565b5b612212565b6121f584848460016120f6565b9250905081840481111561220c5761220b6120bd565b5b81810290505b9392505050565b5f61222382611edc565b915061222e83611ff8565b925061225b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612148565b905092915050565b5f61226d82611edc565b915061227883611edc565b925082820261228681611edc565b9150828204841483151761229d5761229c6120bd565b5b5092915050565b7f53656e646572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6122d8601783611dde565b91506122e3826122a4565b602082019050919050565b5f6020820190508181035f830152612305816122cc565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612340601783611dde565b915061234b8261230c565b602082019050919050565b5f6020820190508181035f83015261236d81612334565b9050919050565b5f8151905061238281611eb2565b92915050565b5f6020828403121561239d5761239c611e7e565b5b5f6123aa84828501612374565b91505092915050565b5f6040820190506123c65f830185612057565b6123d36020830184612057565b9392505050565b5f819050919050565b5f819050919050565b5f6124066124016123fc846123da565b6123e3565b611edc565b9050919050565b612416816123ec565b82525050565b5f60c08201905061242f5f830189612057565b61243c6020830188611f80565b612449604083018761240d565b612456606083018661240d565b6124636080830185612057565b61247060a0830184611f80565b979650505050505050565b5f8151905061248981611ee5565b92915050565b5f805f606084860312156124a6576124a5611e7e565b5b5f6124b38682870161247b565b93505060206124c48682870161247b565b92505060406124d58682870161247b565b9150509250925092565b5f6040820190506124f25f830185612057565b6124ff6020830184611f80565b9392505050565b61250f81611f4d565b8114612519575f80fd5b50565b5f8151905061252a81612506565b92915050565b5f6020828403121561254557612544611e7e565b5b5f6125528482850161251c565b91505092915050565b7f617070726f76652066726f6d20746865207a65726f20616464726573730000005f82015250565b5f61258f601d83611dde565b915061259a8261255b565b602082019050919050565b5f6020820190508181035f8301526125bc81612583565b9050919050565b7f617070726f766520746f20746865207a65726f206164647265737300000000005f82015250565b5f6125f7601b83611dde565b9150612602826125c3565b602082019050919050565b5f6020820190508181035f830152612624816125eb565b9050919050565b7f7472616e736665722066726f6d20746865207a65726f206164647265737300005f82015250565b5f61265f601e83611dde565b915061266a8261262b565b602082019050919050565b5f6020820190508181035f83015261268c81612653565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6126ed602983611dde565b91506126f882612693565b604082019050919050565b5f6020820190508181035f83015261271a816126e1565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e20204f6e6c79206f6e5f8201527f652070757263686173652070657220626c6f636b20616c6c6f7765642e000000602082015250565b5f61277b603d83611dde565b915061278682612721565b604082019050919050565b5f6020820190508181035f8301526127a88161276f565b9050919050565b7f4578636565647320746865204d617820416d6f756e7420706572205472616e735f8201527f616374696f6e2e00000000000000000000000000000000000000000000000000602082015250565b5f612809602783611dde565b9150612814826127af565b604082019050919050565b5f6020820190508181035f830152612836816127fd565b9050919050565b5f61284782611edc565b915061285283611edc565b925082820190508082111561286a576128696120bd565b5b92915050565b7f4578636565647320746865204d61782057616c6c657420416d6f756e742e00005f82015250565b5f6128a4601e83611dde565b91506128af82612870565b602082019050919050565b5f6020820190508181035f8301526128d181612898565b9050919050565b5f6128e282611edc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612914576129136120bd565b5b600182019050919050565b5f61292982611edc565b915061293483611edc565b925082820390508181111561294c5761294b6120bd565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61298982611edc565b915061299483611edc565b9250826129a4576129a3612952565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a09602183611dde565b9150612a14826129af565b604082019050919050565b5f6020820190508181035f830152612a36816129fd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ac981611ea1565b82525050565b5f612ada8383612ac0565b60208301905092915050565b5f602082019050919050565b5f612afc82612a97565b612b068185612aa1565b9350612b1183612ab1565b805f5b83811015612b41578151612b288882612acf565b9750612b3383612ae6565b925050600181019050612b14565b5085935050505092915050565b5f60a082019050612b615f830188611f80565b612b6e602083018761240d565b8181036040830152612b808186612af2565b9050612b8f6060830185612057565b612b9c6080830184611f80565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612bda601b83611dde565b9150612be582612ba6565b602082019050919050565b5f6020820190508181035f830152612c0781612bce565b905091905056fe7472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eb1dc5451cdffa060455f686bba8b2069527e86ad61df60c35c51e6fc989f82964736f6c63430008140033

Deployed Bytecode Sourcemap

3718:7582:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5673:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6506:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5950:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6675:306;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5859:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6053:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2799:148;;;;;;;;;;;;;:::i;:::-;;10236:197;;;;;;;;;;;;;:::i;:::-;;4728:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2594:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4786:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5764:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6180:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10543:715;;;;;;;;;;;;;:::i;:::-;;6355:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5673:83;5710:13;5743:5;;;;;;;;;;;;;;;;;5736:12;;5673:83;:::o;6506:161::-;6581:4;6598:39;6607:12;:10;:12::i;:::-;6621:7;6630:6;6598:8;:39::i;:::-;6655:4;6648:11;;6506:161;;;;:::o;5950:95::-;6003:7;4537:1;4590:2;:13;;;;:::i;:::-;4580:7;:23;;;;:::i;:::-;6023:14;;5950:95;:::o;6675:306::-;6773:4;6790:36;6800:6;6808:9;6819:6;6790:9;:36::i;:::-;6837:114;6846:6;6854:12;:10;:12::i;:::-;6868:82;6906:6;6868:82;;;;;;;;;;;;;;;;;:11;:19;6880:6;6868:19;;;;;;;;;;;;;;;:33;6888:12;:10;:12::i;:::-;6868:33;;;;;;;;;;;;;;;;:37;;:82;;;;;:::i;:::-;6837:8;:114::i;:::-;6969:4;6962:11;;6675:306;;;;;:::o;5859:83::-;5900:5;4537:1;5918:16;;5859:83;:::o;6053:119::-;6119:7;6146:9;:18;6156:7;6146:18;;;;;;;;;;;;;;;;6139:25;;6053:119;;;:::o;2799:148::-;2731:12;:10;:12::i;:::-;2721:22;;:6;;;;;;;;;;:22;;;2713:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;2906:1:::1;2869:40;;2890:6;::::0;::::1;;;;;;;;2869:40;;;;;;;;;;;;2937:1;2920:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2799:148::o:0;10236:197::-;2731:12;:10;:12::i;:::-;2721:22;;:6;;;;;;;;;;:22;;;2713:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;4537:1:::1;4590:2;:13;;;;:::i;:::-;4580:7;:23;;;;:::i;:::-;10289:12;:22;;;;4537:1;4590:2;:13;;;;:::i;:::-;4580:7;:23;;;;:::i;:::-;10322:14;:23;;;;10377:5;10356:20;;:26;;;;;;;;;;;;;;;;;;10398:27;4537:1;4590:2;:13;;;;:::i;:::-;4580:7;:23;;;;:::i;:::-;10398:27;;;;;;:::i;:::-;;;;;;;;10236:197::o:0;4728:51::-;;;;:::o;2594:79::-;2632:7;2659:6;;;;;;;;;;;2652:13;;2594:79;:::o;4786:53::-;;;;:::o;5764:87::-;5803:13;5836:7;;;;;;;;;;;;;;;;;5829:14;;5764:87;:::o;6180:167::-;6258:4;6275:42;6285:12;:10;:12::i;:::-;6299:9;6310:6;6275:9;:42::i;:::-;6335:4;6328:11;;6180:167;;;;:::o;10543:715::-;2731:12;:10;:12::i;:::-;2721:22;;:6;;;;;;;;;;:22;;;2713:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;10607:11:::1;;;;;;;;;;;10606:12;10598:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10693:42;10656:15;;:80;;;;;;;;;;;;;;;;;;10747:58;10764:4;10779:15;;;;;;;;;;;4537:1;4590:2;:13;;;;:::i;:::-;4580:7;:23;;;;:::i;:::-;10747:8;:58::i;:::-;10850:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10832:55;;;10896:4;10903:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10832:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10816:13;;:110;;;;;;;;;;;;;;;;;;10937:15;;;;;;;;;;;:31;;;10976:21;11007:4;11013:24;11031:4;11013:9;:24::i;:::-;11038:1;11040::::0;11042:7:::1;:5;:7::i;:::-;11050:15;10937:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11084:13;;;;;;;;;;;11077:29;;;11115:15;;;;;;;;;;;11133:14;11077:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11180:12;11159:18;:33;;;;11217:4;11203:11;;:18;;;;;;;;;;;;;;;;;;11246:4;11232:11;;:18;;;;;;;;;;;;;;;;;;10543:715::o:0;6355:143::-;6436:7;6463:11;:18;6475:5;6463:18;;;;;;;;;;;;;;;:27;6482:7;6463:27;;;;;;;;;;;;;;;;6456:34;;6355:143;;;;:::o;349:98::-;402:7;429:10;422:17;;349:98;:::o;6989:321::-;7099:1;7082:19;;:5;:19;;;7074:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7173:1;7154:21;;:7;:21;;;7146:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7248:6;7218:11;:18;7230:5;7218:18;;;;;;;;;;;;;;;:27;7237:7;7218:27;;;;;;;;;;;;;;;:36;;;;7286:7;7270:32;;7279:5;7270:32;;;7295:6;7270:32;;;;;;:::i;:::-;;;;;;;;6989:321;;;:::o;7318:2311::-;7422:1;7406:18;;:4;:18;;;7398:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7487:1;7478:6;:10;7470:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7545:17;7587:7;:5;:7::i;:::-;7579:15;;:4;:15;;;;:32;;;;;7604:7;:5;:7::i;:::-;7598:13;;:2;:13;;;;7579:32;7575:1698;;;7640:74;7710:3;7640:65;7662:13;;7652:9;;:23;7651:53;;7690:14;;7651:53;;;7677:12;;7651:53;7640:6;:10;;:65;;;;:::i;:::-;:69;;:74;;;;:::i;:::-;7628:86;;7735:20;;;;;;;;;;;7731:496;;;7796:15;;;;;;;;;;;7782:30;;:2;:30;;;;:62;;;;;7830:13;;;;;;;;;;;7816:28;;:2;:28;;;;7782:62;7778:432;;;7980:12;7907:28;:39;7936:9;7907:39;;;;;;;;;;;;;;;;:85;7871:238;;;;;;;;;;;;:::i;:::-;;;;;;;;;8176:12;8134:28;:39;8163:9;8134:39;;;;;;;;;;;;;;;:54;;;;7778:432;7731:496;8255:13;;;;;;;;;;;8247:21;;:4;:21;;;:55;;;;;8286:15;;;;;;;;;;;8272:30;;:2;:30;;;;8247:55;:83;;;;;8308:18;:22;8327:2;8308:22;;;;;;;;;;;;;;;;;;;;;;;;;8306:24;8247:83;8243:331;;;8370:12;;8360:6;:22;;8352:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8479:14;;8469:6;8453:13;8463:2;8453:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8445:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;8547:9;;:11;;;;;;;;;:::i;:::-;;;;;;8243:331;8599:13;;;;;;;;;;;8593:19;;:2;:19;;;:43;;;;;8631:4;8616:20;;:4;:20;;;;8593:43;8590:172;;;8669:77;8742:3;8669:68;8691:14;;8681:9;;:24;8680:56;;8721:15;;8680:56;;;8707:13;;8680:56;8669:6;:10;;:68;;;;:::i;:::-;:72;;:77;;;;:::i;:::-;8657:89;;8590:172;8778:28;8809:24;8827:4;8809:9;:24::i;:::-;8778:55;;8853:6;;;;;;;;;;8852:7;:32;;;;;8871:13;;;;;;;;;;;8863:21;;:2;:21;;;8852:32;:47;;;;;8888:11;;;;;;;;;;;8852:47;:89;;;;;8924:17;;8903:20;:38;8852:89;:114;;;;;8955:11;;8945:9;;:21;8852:114;8848:414;;;8987:67;9004:49;9008:6;9015:37;9019:20;9040:11;;9015:3;:37::i;:::-;9004:3;:49::i;:::-;8987:16;:67::i;:::-;9073:26;9102:21;9073:50;;9166:1;9145:18;:22;9142:105;;;9192:35;9205:21;9192:12;:35::i;:::-;9142:105;8968:294;8848:414;7613:1660;7575:1698;9298:1;9288:9;:11;9285:161;;;9338:39;9367:9;9338;:24;9356:4;9338:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9313:9;:24;9331:4;9313:24;;;;;;;;;;;;;;;:64;;;;9418:4;9395:39;;9404:4;9395:39;;;9424:9;9395:39;;;;;;:::i;:::-;;;;;;;;9285:161;9472:27;9492:6;9472:9;:15;9482:4;9472:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9456:9;:15;9466:4;9456:15;;;;;;;;;;;;;;;:43;;;;9524:40;9542:21;9553:9;9542:6;:10;;:21;;;;:::i;:::-;9524:9;:13;9534:2;9524:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9510:9;:13;9520:2;9510:13;;;;;;;;;;;;;;;:54;;;;9595:2;9580:41;;9589:4;9580:41;;;9599:21;9610:9;9599:6;:10;;:21;;;;:::i;:::-;9580:41;;;;;;:::i;:::-;;;;;;;;7387:2242;7318:2311;;;:::o;1486:190::-;1572:7;1605:1;1600;:6;;1608:12;1592:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1632:9;1648:1;1644;:5;;;;:::i;:::-;1632:17;;1667:1;1660:8;;;1486:190;;;;;:::o;1684:246::-;1742:7;1771:1;1766;:6;1762:47;;1796:1;1789:8;;;;1762:47;1819:9;1835:1;1831;:5;;;;:::i;:::-;1819:17;;1864:1;1859;1855;:5;;;;:::i;:::-;:10;1847:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1921:1;1914:8;;;1684:246;;;;;:::o;1938:132::-;1996:7;2023:39;2027:1;2030;2023:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2016:46;;1938:132;;;;:::o;9639:98::-;9696:7;9723:1;9721;:3;9720:9;;9728:1;9720:9;;;9726:1;9720:9;9713:16;;9639:98;;;;:::o;9745:483::-;5291:4;5282:6;;:13;;;;;;;;;;;;;;;;;;9823:21:::1;9861:1;9847:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9823:40;;9892:4;9874;9879:1;9874:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9918:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9908:4;9913:1;9908:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9951:62;9968:4;9983:15;;;;;;;;;;;10001:11;9951:8;:62::i;:::-;10024:15;;;;;;;;;;;:66;;;10105:11;10131:1;10147:4;10174;10194:15;10024:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9812:416;5327:5:::0;5318:6;;:14;;;;;;;;;;;;;;;;;;9745:483;:::o;10441:92::-;10498:10;;;;;;;;;;;:19;;:27;10518:6;10498:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10441:92;:::o;1155:179::-;1213:7;1233:9;1249:1;1245;:5;;;;:::i;:::-;1233:17;;1274:1;1269;:6;;1261:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1325:1;1318:8;;;1155:179;;;;:::o;1342:136::-;1400:7;1427:43;1431:1;1434;1427:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1420:50;;1342:136;;;;:::o;2078:189::-;2164:7;2196:1;2192;:5;2199:12;2184:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2223:9;2239:1;2235;:5;;;;:::i;:::-;2223:17;;2258:1;2251:8;;;2078:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:173::-;9090:25;9086:1;9078:6;9074:14;9067:49;8950:173;:::o;9129:366::-;9271:3;9292:67;9356:2;9351:3;9292:67;:::i;:::-;9285:74;;9368:93;9457:3;9368:93;:::i;:::-;9486:2;9481:3;9477:12;9470:19;;9129:366;;;:::o;9501:419::-;9667:4;9705:2;9694:9;9690:18;9682:26;;9754:9;9748:4;9744:20;9740:1;9729:9;9725:17;9718:47;9782:131;9908:4;9782:131;:::i;:::-;9774:139;;9501:419;;;:::o;9926:173::-;10066:25;10062:1;10054:6;10050:14;10043:49;9926:173;:::o;10105:366::-;10247:3;10268:67;10332:2;10327:3;10268:67;:::i;:::-;10261:74;;10344:93;10433:3;10344:93;:::i;:::-;10462:2;10457:3;10453:12;10446:19;;10105:366;;;:::o;10477:419::-;10643:4;10681:2;10670:9;10666:18;10658:26;;10730:9;10724:4;10720:20;10716:1;10705:9;10701:17;10694:47;10758:131;10884:4;10758:131;:::i;:::-;10750:139;;10477:419;;;:::o;10902:143::-;10959:5;10990:6;10984:13;10975:22;;11006:33;11033:5;11006:33;:::i;:::-;10902:143;;;;:::o;11051:351::-;11121:6;11170:2;11158:9;11149:7;11145:23;11141:32;11138:119;;;11176:79;;:::i;:::-;11138:119;11296:1;11321:64;11377:7;11368:6;11357:9;11353:22;11321:64;:::i;:::-;11311:74;;11267:128;11051:351;;;;:::o;11408:332::-;11529:4;11567:2;11556:9;11552:18;11544:26;;11580:71;11648:1;11637:9;11633:17;11624:6;11580:71;:::i;:::-;11661:72;11729:2;11718:9;11714:18;11705:6;11661:72;:::i;:::-;11408:332;;;;;:::o;11746:85::-;11791:7;11820:5;11809:16;;11746:85;;;:::o;11837:60::-;11865:3;11886:5;11879:12;;11837:60;;;:::o;11903:158::-;11961:9;11994:61;12012:42;12021:32;12047:5;12021:32;:::i;:::-;12012:42;:::i;:::-;11994:61;:::i;:::-;11981:74;;11903:158;;;:::o;12067:147::-;12162:45;12201:5;12162:45;:::i;:::-;12157:3;12150:58;12067:147;;:::o;12220:807::-;12469:4;12507:3;12496:9;12492:19;12484:27;;12521:71;12589:1;12578:9;12574:17;12565:6;12521:71;:::i;:::-;12602:72;12670:2;12659:9;12655:18;12646:6;12602:72;:::i;:::-;12684:80;12760:2;12749:9;12745:18;12736:6;12684:80;:::i;:::-;12774;12850:2;12839:9;12835:18;12826:6;12774:80;:::i;:::-;12864:73;12932:3;12921:9;12917:19;12908:6;12864:73;:::i;:::-;12947;13015:3;13004:9;13000:19;12991:6;12947:73;:::i;:::-;12220:807;;;;;;;;;:::o;13033:143::-;13090:5;13121:6;13115:13;13106:22;;13137:33;13164:5;13137:33;:::i;:::-;13033:143;;;;:::o;13182:663::-;13270:6;13278;13286;13335:2;13323:9;13314:7;13310:23;13306:32;13303:119;;;13341:79;;:::i;:::-;13303:119;13461:1;13486:64;13542:7;13533:6;13522:9;13518:22;13486:64;:::i;:::-;13476:74;;13432:128;13599:2;13625:64;13681:7;13672:6;13661:9;13657:22;13625:64;:::i;:::-;13615:74;;13570:129;13738:2;13764:64;13820:7;13811:6;13800:9;13796:22;13764:64;:::i;:::-;13754:74;;13709:129;13182:663;;;;;:::o;13851:332::-;13972:4;14010:2;13999:9;13995:18;13987:26;;14023:71;14091:1;14080:9;14076:17;14067:6;14023:71;:::i;:::-;14104:72;14172:2;14161:9;14157:18;14148:6;14104:72;:::i;:::-;13851:332;;;;;:::o;14189:116::-;14259:21;14274:5;14259:21;:::i;:::-;14252:5;14249:32;14239:60;;14295:1;14292;14285:12;14239:60;14189:116;:::o;14311:137::-;14365:5;14396:6;14390:13;14381:22;;14412:30;14436:5;14412:30;:::i;:::-;14311:137;;;;:::o;14454:345::-;14521:6;14570:2;14558:9;14549:7;14545:23;14541:32;14538:119;;;14576:79;;:::i;:::-;14538:119;14696:1;14721:61;14774:7;14765:6;14754:9;14750:22;14721:61;:::i;:::-;14711:71;;14667:125;14454:345;;;;:::o;14805:179::-;14945:31;14941:1;14933:6;14929:14;14922:55;14805:179;:::o;14990:366::-;15132:3;15153:67;15217:2;15212:3;15153:67;:::i;:::-;15146:74;;15229:93;15318:3;15229:93;:::i;:::-;15347:2;15342:3;15338:12;15331:19;;14990:366;;;:::o;15362:419::-;15528:4;15566:2;15555:9;15551:18;15543:26;;15615:9;15609:4;15605:20;15601:1;15590:9;15586:17;15579:47;15643:131;15769:4;15643:131;:::i;:::-;15635:139;;15362:419;;;:::o;15787:177::-;15927:29;15923:1;15915:6;15911:14;15904:53;15787:177;:::o;15970:366::-;16112:3;16133:67;16197:2;16192:3;16133:67;:::i;:::-;16126:74;;16209:93;16298:3;16209:93;:::i;:::-;16327:2;16322:3;16318:12;16311:19;;15970:366;;;:::o;16342:419::-;16508:4;16546:2;16535:9;16531:18;16523:26;;16595:9;16589:4;16585:20;16581:1;16570:9;16566:17;16559:47;16623:131;16749:4;16623:131;:::i;:::-;16615:139;;16342:419;;;:::o;16767:180::-;16907:32;16903:1;16895:6;16891:14;16884:56;16767:180;:::o;16953:366::-;17095:3;17116:67;17180:2;17175:3;17116:67;:::i;:::-;17109:74;;17192:93;17281:3;17192:93;:::i;:::-;17310:2;17305:3;17301:12;17294:19;;16953:366;;;:::o;17325:419::-;17491:4;17529:2;17518:9;17514:18;17506:26;;17578:9;17572:4;17568:20;17564:1;17553:9;17549:17;17542:47;17606:131;17732:4;17606:131;:::i;:::-;17598:139;;17325:419;;;:::o;17750:228::-;17890:34;17886:1;17878:6;17874:14;17867:58;17959:11;17954:2;17946:6;17942:15;17935:36;17750:228;:::o;17984:366::-;18126:3;18147:67;18211:2;18206:3;18147:67;:::i;:::-;18140:74;;18223:93;18312:3;18223:93;:::i;:::-;18341:2;18336:3;18332:12;18325:19;;17984:366;;;:::o;18356:419::-;18522:4;18560:2;18549:9;18545:18;18537:26;;18609:9;18603:4;18599:20;18595:1;18584:9;18580:17;18573:47;18637:131;18763:4;18637:131;:::i;:::-;18629:139;;18356:419;;;:::o;18781:248::-;18921:34;18917:1;18909:6;18905:14;18898:58;18990:31;18985:2;18977:6;18973:15;18966:56;18781:248;:::o;19035:366::-;19177:3;19198:67;19262:2;19257:3;19198:67;:::i;:::-;19191:74;;19274:93;19363:3;19274:93;:::i;:::-;19392:2;19387:3;19383:12;19376:19;;19035:366;;;:::o;19407:419::-;19573:4;19611:2;19600:9;19596:18;19588:26;;19660:9;19654:4;19650:20;19646:1;19635:9;19631:17;19624:47;19688:131;19814:4;19688:131;:::i;:::-;19680:139;;19407:419;;;:::o;19832:226::-;19972:34;19968:1;19960:6;19956:14;19949:58;20041:9;20036:2;20028:6;20024:15;20017:34;19832:226;:::o;20064:366::-;20206:3;20227:67;20291:2;20286:3;20227:67;:::i;:::-;20220:74;;20303:93;20392:3;20303:93;:::i;:::-;20421:2;20416:3;20412:12;20405:19;;20064:366;;;:::o;20436:419::-;20602:4;20640:2;20629:9;20625:18;20617:26;;20689:9;20683:4;20679:20;20675:1;20664:9;20660:17;20653:47;20717:131;20843:4;20717:131;:::i;:::-;20709:139;;20436:419;;;:::o;20861:191::-;20901:3;20920:20;20938:1;20920:20;:::i;:::-;20915:25;;20954:20;20972:1;20954:20;:::i;:::-;20949:25;;20997:1;20994;20990:9;20983:16;;21018:3;21015:1;21012:10;21009:36;;;21025:18;;:::i;:::-;21009:36;20861:191;;;;:::o;21058:180::-;21198:32;21194:1;21186:6;21182:14;21175:56;21058:180;:::o;21244:366::-;21386:3;21407:67;21471:2;21466:3;21407:67;:::i;:::-;21400:74;;21483:93;21572:3;21483:93;:::i;:::-;21601:2;21596:3;21592:12;21585:19;;21244:366;;;:::o;21616:419::-;21782:4;21820:2;21809:9;21805:18;21797:26;;21869:9;21863:4;21859:20;21855:1;21844:9;21840:17;21833:47;21897:131;22023:4;21897:131;:::i;:::-;21889:139;;21616:419;;;:::o;22041:233::-;22080:3;22103:24;22121:5;22103:24;:::i;:::-;22094:33;;22149:66;22142:5;22139:77;22136:103;;22219:18;;:::i;:::-;22136:103;22266:1;22259:5;22255:13;22248:20;;22041:233;;;:::o;22280:194::-;22320:4;22340:20;22358:1;22340:20;:::i;:::-;22335:25;;22374:20;22392:1;22374:20;:::i;:::-;22369:25;;22418:1;22415;22411:9;22403:17;;22442:1;22436:4;22433:11;22430:37;;;22447:18;;:::i;:::-;22430:37;22280:194;;;;:::o;22480:180::-;22528:77;22525:1;22518:88;22625:4;22622:1;22615:15;22649:4;22646:1;22639:15;22666:185;22706:1;22723:20;22741:1;22723:20;:::i;:::-;22718:25;;22757:20;22775:1;22757:20;:::i;:::-;22752:25;;22796:1;22786:35;;22801:18;;:::i;:::-;22786:35;22843:1;22840;22836:9;22831:14;;22666:185;;;;:::o;22857:220::-;22997:34;22993:1;22985:6;22981:14;22974:58;23066:3;23061:2;23053:6;23049:15;23042:28;22857:220;:::o;23083:366::-;23225:3;23246:67;23310:2;23305:3;23246:67;:::i;:::-;23239:74;;23322:93;23411:3;23322:93;:::i;:::-;23440:2;23435:3;23431:12;23424:19;;23083:366;;;:::o;23455:419::-;23621:4;23659:2;23648:9;23644:18;23636:26;;23708:9;23702:4;23698:20;23694:1;23683:9;23679:17;23672:47;23736:131;23862:4;23736:131;:::i;:::-;23728:139;;23455:419;;;:::o;23880:180::-;23928:77;23925:1;23918:88;24025:4;24022:1;24015:15;24049:4;24046:1;24039:15;24066:180;24114:77;24111:1;24104:88;24211:4;24208:1;24201:15;24235:4;24232:1;24225:15;24252:114;24319:6;24353:5;24347:12;24337:22;;24252:114;;;:::o;24372:184::-;24471:11;24505:6;24500:3;24493:19;24545:4;24540:3;24536:14;24521:29;;24372:184;;;;:::o;24562:132::-;24629:4;24652:3;24644:11;;24682:4;24677:3;24673:14;24665:22;;24562:132;;;:::o;24700:108::-;24777:24;24795:5;24777:24;:::i;:::-;24772:3;24765:37;24700:108;;:::o;24814:179::-;24883:10;24904:46;24946:3;24938:6;24904:46;:::i;:::-;24982:4;24977:3;24973:14;24959:28;;24814:179;;;;:::o;24999:113::-;25069:4;25101;25096:3;25092:14;25084:22;;24999:113;;;:::o;25148:732::-;25267:3;25296:54;25344:5;25296:54;:::i;:::-;25366:86;25445:6;25440:3;25366:86;:::i;:::-;25359:93;;25476:56;25526:5;25476:56;:::i;:::-;25555:7;25586:1;25571:284;25596:6;25593:1;25590:13;25571:284;;;25672:6;25666:13;25699:63;25758:3;25743:13;25699:63;:::i;:::-;25692:70;;25785:60;25838:6;25785:60;:::i;:::-;25775:70;;25631:224;25618:1;25615;25611:9;25606:14;;25571:284;;;25575:14;25871:3;25864:10;;25272:608;;;25148:732;;;;:::o;25886:831::-;26149:4;26187:3;26176:9;26172:19;26164:27;;26201:71;26269:1;26258:9;26254:17;26245:6;26201:71;:::i;:::-;26282:80;26358:2;26347:9;26343:18;26334:6;26282:80;:::i;:::-;26409:9;26403:4;26399:20;26394:2;26383:9;26379:18;26372:48;26437:108;26540:4;26531:6;26437:108;:::i;:::-;26429:116;;26555:72;26623:2;26612:9;26608:18;26599:6;26555:72;:::i;:::-;26637:73;26705:3;26694:9;26690:19;26681:6;26637:73;:::i;:::-;25886:831;;;;;;;;:::o;26723:177::-;26863:29;26859:1;26851:6;26847:14;26840:53;26723:177;:::o;26906:366::-;27048:3;27069:67;27133:2;27128:3;27069:67;:::i;:::-;27062:74;;27145:93;27234:3;27145:93;:::i;:::-;27263:2;27258:3;27254:12;27247:19;;26906:366;;;:::o;27278:419::-;27444:4;27482:2;27471:9;27467:18;27459:26;;27531:9;27525:4;27521:20;27517:1;27506:9;27502:17;27495:47;27559:131;27685:4;27559:131;:::i;:::-;27551:139;;27278:419;;;:::o

Swarm Source

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