ETH Price: $3,502.40 (+2.14%)
Gas: 2 Gwei

Token

Certified (CFD)
 

Overview

Max Total Supply

100,000,000 CFD

Holders

268

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.87883624 CFD

Value
$0.00
0x46e3d123e78628255aaeeae581b8936f23f21619
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:
Certified

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-07
*/

/** 
   (                  )     (               (     
   )\     (   (    ( /( (   )\ )  (     (   )\ )  
 (((_)   ))\  )(   )\()))\ (()/(  )\   ))\ (()/(  
 )\___  /((_)(()\ (_))/((_) /(_))((_) /((_) ((_)) 
((/ __|(_))   ((_)| |_  (_)(_) _| (_)(_))   _| |  
 | (__ / -_) | '_||  _| | | |  _| | |/ -_)/ _` |  
  \___|\___| |_|   \__| |_| |_|   |_|\___|\__,_|

Web: https://certifiedprotocol.net/

TG: https://t.me/Certified_Portal

Twitter (X): https://twitter.com/certified__eth

**/

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

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

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

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "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 Certified is IERC20, Ownable {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint8 private constant _sinperTax = 25;
    uint8 private constant _dayTax = 5;
    uint8 private constant _weekTax = 3;
    uint8 private constant _monthTax = 1;
    uint8 private constant _finalTax = 0;
    uint8 private constant _preventSwapBefore = 10;
    uint256 private _transferCount = 0;
    uint256 private _initBlockTimestamp = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100 * 10**6 * 10**_decimals;
    string private constant _name = unicode"Certified";
    string private constant _symbol = unicode"CFD";
    uint256 public constant _taxSwapThreshold = 100 * 10**3 * 10**_decimals;
    uint256 public constant _maxTaxSwap = 500 * 10**3 * 10**_decimals;
    uint256 public _maxTxAmount = 1 * 10**6 * 10**_decimals;
    uint256 public _maxWalletSize = 2 * 10**6 * 10**_decimals;

    address private constant uniswapRouterAddr = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    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(msg.sender);
        _balances[msg.sender] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), msg.sender, _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(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = allowance(sender, msg.sender);
        
        require(currentAllowance >= amount, "ERC20: insufficient allowance");
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

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

    function _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()) {
            taxAmount = getTax(amount);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: 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 _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _transferCount++;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _transferCount > _preventSwapBefore) {
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                
                if(contractETHBalance > 5 * 10**16) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)] + taxAmount;
          emit Transfer(from, address(this),taxAmount);
        }

        _balances[from] = _balances[from] - amount;
        _balances[to] = _balances[to] + (amount - taxAmount);
        emit Transfer(from, to, amount - taxAmount);
    }

    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(uniswapRouterAddr);

        _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)) * 85/100, 0, 0, owner(), block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        _initBlockTimestamp = block.timestamp;

        swapEnabled = true;
        tradingOpen = true;
    }

    function ManualSwap() external {
        require(msg.sender == _taxWallet);

        uint256 tokenBalance = balanceOf(address(this));
        if(tokenBalance > 0){
          swapTokensForEth(tokenBalance);
        }

        uint256 ethBalance = address(this).balance;
        if(ethBalance > 3 * 10**18){
          sendETHToFee(ethBalance);
        }
    }

    function getTax(uint256 amount) private view returns (uint256){
        uint256 sniperTime = 120;
        uint256 secondsInDay = 86400;
        uint256 secondsInWeek = 86400 * 7;
        uint256 secondsInMonth = 86400 * 31;

        uint256 passedSeconds = block.timestamp - _initBlockTimestamp;

        if(passedSeconds < sniperTime)
            return amount * _sinperTax / 100;
        else if(passedSeconds > secondsInMonth)
            return amount * _finalTax / 100;
        else if(passedSeconds > secondsInWeek)
            return amount * _monthTax / 100;
        else if(passedSeconds > secondsInDay)
            return amount * _weekTax / 100;

        return amount * _dayTax / 100;
    }

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

    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":"ManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

60806040526001600560006101000a81548160ff021916908315150217905550600060065560006007556009600a6200003991906200059d565b620f4240620000499190620005ee565b6008556009600a6200005c91906200059d565b621e84806200006c9190620005ee565b6009556000600b60156101000a81548160ff0219169083151502179055506000600b60166101000a81548160ff021916908315150217905550348015620000b257600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a333600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620001bf91906200059d565b6305f5e100620001d09190620005ee565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600062000229620003da60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620003ac91906200059d565b6305f5e100620003bd9190620005ee565b604051620003cc91906200064a565b60405180910390a362000667565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004915780860481111562000469576200046862000403565b5b6001851615620004795780820291505b8081029050620004898562000432565b945062000449565b94509492505050565b600082620004ac57600190506200057f565b81620004bc57600090506200057f565b8160018114620004d55760028114620004e05762000516565b60019150506200057f565b60ff841115620004f557620004f462000403565b5b8360020a9150848211156200050f576200050e62000403565b5b506200057f565b5060208310610133831016604e8410600b8410161715620005505782820a9050838111156200054a576200054962000403565b5b6200057f565b6200055f84848460016200043f565b9250905081840481111562000579576200057862000403565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620005aa8262000586565b9150620005b78362000590565b9250620005e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200049a565b905092915050565b6000620005fb8262000586565b9150620006088362000586565b9250828202620006188162000586565b9150828204841483151762000632576200063162000403565b5b5092915050565b620006448162000586565b82525050565b600060208201905062000661600083018462000639565b92915050565b612d6e80620006776000396000f3fe6080604052600436106101185760003560e01c80637d1db4a5116100a0578063a9059cbb11610064578063a9059cbb14610378578063bf474bed146103b5578063c876d0b9146103e0578063c9567bf91461040b578063dd62ed3e146104225761011f565b80637d1db4a5146102b55780638da5cb5b146102e05780638f9a55c01461030b57806395d89b4114610336578063a1780c18146103615761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f57806370a082311461024a578063715018a614610287578063751039fc1461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961045f565b6040516101469190611e9e565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611f59565b61049c565b6040516101839190611fb4565b60405180910390f35b34801561019857600080fd5b506101a16104b3565b6040516101ae9190611fde565b60405180910390f35b3480156101c357600080fd5b506101cc6104d2565b6040516101d99190611fde565b60405180910390f35b3480156101ee57600080fd5b5061020960048036038101906102049190611ff9565b6104f6565b6040516102169190611fb4565b60405180910390f35b34801561022b57600080fd5b5061023461056d565b6040516102419190612068565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c9190612083565b610576565b60405161027e9190611fde565b60405180910390f35b34801561029357600080fd5b5061029c6105bf565b005b3480156102aa57600080fd5b506102b361070b565b005b3480156102c157600080fd5b506102ca61084f565b6040516102d79190611fde565b60405180910390f35b3480156102ec57600080fd5b506102f5610855565b60405161030291906120bf565b60405180910390f35b34801561031757600080fd5b5061032061087e565b60405161032d9190611fde565b60405180910390f35b34801561034257600080fd5b5061034b610884565b6040516103589190611e9e565b60405180910390f35b34801561036d57600080fd5b506103766108c1565b005b34801561038457600080fd5b5061039f600480360381019061039a9190611f59565b61095e565b6040516103ac9190611fb4565b60405180910390f35b3480156103c157600080fd5b506103ca610975565b6040516103d79190611fde565b60405180910390f35b3480156103ec57600080fd5b506103f5610994565b6040516104029190611fb4565b60405180910390f35b34801561041757600080fd5b506104206109a7565b005b34801561042e57600080fd5b50610449600480360381019061044491906120da565b610ef7565b6040516104569190611fde565b60405180910390f35b60606040518060400160405280600981526020017f4365727469666965640000000000000000000000000000000000000000000000815250905090565b60006104a9338484610f7e565b6001905092915050565b6009600a6104c1919061227c565b6207a1206104cf91906122c7565b81565b60006009600a6104e2919061227c565b6305f5e1006104f191906122c7565b905090565b6000610503848484611147565b600061050f8533610ef7565b905082811015610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054b90612355565b60405180910390fd5b6105618533858403610f7e565b60019150509392505050565b60006009905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461064d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610644906123c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610799576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610790906123c1565b60405180910390fd5b6009600a6107a7919061227c565b6305f5e1006107b691906122c7565b6008819055506009600a6107ca919061227c565b6305f5e1006107d991906122c7565b6009819055506000600560006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610829919061227c565b6305f5e10061083891906122c7565b6040516108459190611fde565b60405180910390a1565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600381526020017f4346440000000000000000000000000000000000000000000000000000000000815250905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461091b57600080fd5b600061092630610576565b9050600081111561093b5761093a816119f6565b5b60004790506729a2241af62c000081111561095a5761095981611c6f565b5b5050565b600061096b338484611147565b6001905092915050565b6009600a610983919061227c565b620186a061099191906122c7565b81565b600560009054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c906123c1565b60405180910390fd5b600b60149054906101000a900460ff1615610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c9061242d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b2330600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b0f919061227c565b6305f5e100610b1e91906122c7565b610f7e565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb49190612462565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c619190612462565b6040518363ffffffff1660e01b8152600401610c7e92919061248f565b6020604051808303816000875af1158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc19190612462565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646055610d4e30610576565b610d5891906122c7565b610d6291906124e7565b600080610d6d610855565b426040518863ffffffff1660e01b8152600401610d8f9695949392919061255d565b60606040518083038185885af1158015610dad573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dd291906125d3565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e74929190612626565b6020604051808303816000875af1158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb7919061267b565b50426007819055506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe49061271a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611053906127ac565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161113a9190611fde565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad9061283e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121c906128d0565b60405180910390fd5b60008111611268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125f90612962565b60405180910390fd5b6000611272610855565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112e057506112b0610855565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561175c576112ee82611cdb565b9050600560009054906101000a900460ff161561147d57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113b15750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561147c5743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142e90612a1a565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115285750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561157e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611639576008548211156115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf90612a86565b60405180910390fd5b600954826115d585610576565b6115df9190612aa6565b1115611620576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161790612b26565b60405180910390fd5b6006600081548092919061163390612b46565b91905055505b600061164430610576565b9050600b60159054906101000a900460ff161580156116b05750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116c85750600b60169054906101000a900460ff165b80156116ee57506009600a6116dd919061227c565b620186a06116eb91906122c7565b81115b80156116ff5750600a60ff16600654115b1561175a5761173a61173584611730846009600a61171d919061227c565b6207a12061172b91906122c7565b611df5565b611df5565b6119f6565b600047905066b1a2bc2ec500008111156117585761175747611c6f565b5b505b505b60008111156118595780600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b09190612aa6565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118509190611fde565b60405180910390a35b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a49190612b8e565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080826118f39190612b8e565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461193d9190612aa6565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856119db9190612b8e565b6040516119e89190611fde565b60405180910390a350505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a2e57611a2d612bc2565b5b604051908082528060200260200182016040528015611a5c5781602001602082028036833780820191505090505b5090503081600081518110611a7457611a73612bf1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3f9190612462565b81600181518110611b5357611b52612bf1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bba30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f7e565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c1e959493929190612cde565b600060405180830381600087803b158015611c3857600080fd5b505af1158015611c4c573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611cd7573d6000803e3d6000fd5b5050565b600080607890506000620151809050600062093a80905060006228de809050600060075442611d0a9190612b8e565b905084811015611d3c576064601960ff1688611d2691906122c7565b611d3091906124e7565b95505050505050611df0565b81811115611d6c576064600060ff1688611d5691906122c7565b611d6091906124e7565b95505050505050611df0565b82811115611d9c576064600160ff1688611d8691906122c7565b611d9091906124e7565b95505050505050611df0565b83811115611dcc576064600360ff1688611db691906122c7565b611dc091906124e7565b95505050505050611df0565b6064600560ff1688611dde91906122c7565b611de891906124e7565b955050505050505b919050565b6000818311611e045782611e06565b815b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e48578082015181840152602081019050611e2d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e7082611e0e565b611e7a8185611e19565b9350611e8a818560208601611e2a565b611e9381611e54565b840191505092915050565b60006020820190508181036000830152611eb88184611e65565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ef082611ec5565b9050919050565b611f0081611ee5565b8114611f0b57600080fd5b50565b600081359050611f1d81611ef7565b92915050565b6000819050919050565b611f3681611f23565b8114611f4157600080fd5b50565b600081359050611f5381611f2d565b92915050565b60008060408385031215611f7057611f6f611ec0565b5b6000611f7e85828601611f0e565b9250506020611f8f85828601611f44565b9150509250929050565b60008115159050919050565b611fae81611f99565b82525050565b6000602082019050611fc96000830184611fa5565b92915050565b611fd881611f23565b82525050565b6000602082019050611ff36000830184611fcf565b92915050565b60008060006060848603121561201257612011611ec0565b5b600061202086828701611f0e565b935050602061203186828701611f0e565b925050604061204286828701611f44565b9150509250925092565b600060ff82169050919050565b6120628161204c565b82525050565b600060208201905061207d6000830184612059565b92915050565b60006020828403121561209957612098611ec0565b5b60006120a784828501611f0e565b91505092915050565b6120b981611ee5565b82525050565b60006020820190506120d460008301846120b0565b92915050565b600080604083850312156120f1576120f0611ec0565b5b60006120ff85828601611f0e565b925050602061211085828601611f0e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156121a05780860481111561217c5761217b61211a565b5b600185161561218b5780820291505b808102905061219985612149565b9450612160565b94509492505050565b6000826121b95760019050612275565b816121c75760009050612275565b81600181146121dd57600281146121e757612216565b6001915050612275565b60ff8411156121f9576121f861211a565b5b8360020a9150848211156122105761220f61211a565b5b50612275565b5060208310610133831016604e8410600b841016171561224b5782820a9050838111156122465761224561211a565b5b612275565b6122588484846001612156565b9250905081840481111561226f5761226e61211a565b5b81810290505b9392505050565b600061228782611f23565b91506122928361204c565b92506122bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121a9565b905092915050565b60006122d282611f23565b91506122dd83611f23565b92508282026122eb81611f23565b915082820484148315176123025761230161211a565b5b5092915050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061233f601d83611e19565b915061234a82612309565b602082019050919050565b6000602082019050818103600083015261236e81612332565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123ab602083611e19565b91506123b682612375565b602082019050919050565b600060208201905081810360008301526123da8161239e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612417601783611e19565b9150612422826123e1565b602082019050919050565b600060208201905081810360008301526124468161240a565b9050919050565b60008151905061245c81611ef7565b92915050565b60006020828403121561247857612477611ec0565b5b60006124868482850161244d565b91505092915050565b60006040820190506124a460008301856120b0565b6124b160208301846120b0565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006124f282611f23565b91506124fd83611f23565b92508261250d5761250c6124b8565b5b828204905092915050565b6000819050919050565b6000819050919050565b600061254761254261253d84612518565b612522565b611f23565b9050919050565b6125578161252c565b82525050565b600060c08201905061257260008301896120b0565b61257f6020830188611fcf565b61258c604083018761254e565b612599606083018661254e565b6125a660808301856120b0565b6125b360a0830184611fcf565b979650505050505050565b6000815190506125cd81611f2d565b92915050565b6000806000606084860312156125ec576125eb611ec0565b5b60006125fa868287016125be565b935050602061260b868287016125be565b925050604061261c868287016125be565b9150509250925092565b600060408201905061263b60008301856120b0565b6126486020830184611fcf565b9392505050565b61265881611f99565b811461266357600080fd5b50565b6000815190506126758161264f565b92915050565b60006020828403121561269157612690611ec0565b5b600061269f84828501612666565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612704602483611e19565b915061270f826126a8565b604082019050919050565b60006020820190508181036000830152612733816126f7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612796602283611e19565b91506127a18261273a565b604082019050919050565b600060208201905081810360008301526127c581612789565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612828602583611e19565b9150612833826127cc565b604082019050919050565b600060208201905081810360008301526128578161281b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006128ba602383611e19565b91506128c58261285e565b604082019050919050565b600060208201905081810360008301526128e9816128ad565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061294c602983611e19565b9150612957826128f0565b604082019050919050565b6000602082019050818103600083015261297b8161293f565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b6000612a04604883611e19565b9150612a0f82612982565b606082019050919050565b60006020820190508181036000830152612a33816129f7565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612a70601983611e19565b9150612a7b82612a3a565b602082019050919050565b60006020820190508181036000830152612a9f81612a63565b9050919050565b6000612ab182611f23565b9150612abc83611f23565b9250828201905080821115612ad457612ad361211a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612b10601a83611e19565b9150612b1b82612ada565b602082019050919050565b60006020820190508181036000830152612b3f81612b03565b9050919050565b6000612b5182611f23565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b8357612b8261211a565b5b600182019050919050565b6000612b9982611f23565b9150612ba483611f23565b9250828203905081811115612bbc57612bbb61211a565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c5581611ee5565b82525050565b6000612c678383612c4c565b60208301905092915050565b6000602082019050919050565b6000612c8b82612c20565b612c958185612c2b565b9350612ca083612c3c565b8060005b83811015612cd1578151612cb88882612c5b565b9750612cc383612c73565b925050600181019050612ca4565b5085935050505092915050565b600060a082019050612cf36000830188611fcf565b612d00602083018761254e565b8181036040830152612d128186612c80565b9050612d2160608301856120b0565b612d2e6080830184611fcf565b969550505050505056fea264697066735822122025b32a832e7aec9f9a35377eb8e50089cee5f327460046b0a3994141a5ef1f2464736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101185760003560e01c80637d1db4a5116100a0578063a9059cbb11610064578063a9059cbb14610378578063bf474bed146103b5578063c876d0b9146103e0578063c9567bf91461040b578063dd62ed3e146104225761011f565b80637d1db4a5146102b55780638da5cb5b146102e05780638f9a55c01461030b57806395d89b4114610336578063a1780c18146103615761011f565b806323b872dd116100e757806323b872dd146101e2578063313ce5671461021f57806370a082311461024a578063715018a614610287578063751039fc1461029e5761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806318160ddd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961045f565b6040516101469190611e9e565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611f59565b61049c565b6040516101839190611fb4565b60405180910390f35b34801561019857600080fd5b506101a16104b3565b6040516101ae9190611fde565b60405180910390f35b3480156101c357600080fd5b506101cc6104d2565b6040516101d99190611fde565b60405180910390f35b3480156101ee57600080fd5b5061020960048036038101906102049190611ff9565b6104f6565b6040516102169190611fb4565b60405180910390f35b34801561022b57600080fd5b5061023461056d565b6040516102419190612068565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c9190612083565b610576565b60405161027e9190611fde565b60405180910390f35b34801561029357600080fd5b5061029c6105bf565b005b3480156102aa57600080fd5b506102b361070b565b005b3480156102c157600080fd5b506102ca61084f565b6040516102d79190611fde565b60405180910390f35b3480156102ec57600080fd5b506102f5610855565b60405161030291906120bf565b60405180910390f35b34801561031757600080fd5b5061032061087e565b60405161032d9190611fde565b60405180910390f35b34801561034257600080fd5b5061034b610884565b6040516103589190611e9e565b60405180910390f35b34801561036d57600080fd5b506103766108c1565b005b34801561038457600080fd5b5061039f600480360381019061039a9190611f59565b61095e565b6040516103ac9190611fb4565b60405180910390f35b3480156103c157600080fd5b506103ca610975565b6040516103d79190611fde565b60405180910390f35b3480156103ec57600080fd5b506103f5610994565b6040516104029190611fb4565b60405180910390f35b34801561041757600080fd5b506104206109a7565b005b34801561042e57600080fd5b50610449600480360381019061044491906120da565b610ef7565b6040516104569190611fde565b60405180910390f35b60606040518060400160405280600981526020017f4365727469666965640000000000000000000000000000000000000000000000815250905090565b60006104a9338484610f7e565b6001905092915050565b6009600a6104c1919061227c565b6207a1206104cf91906122c7565b81565b60006009600a6104e2919061227c565b6305f5e1006104f191906122c7565b905090565b6000610503848484611147565b600061050f8533610ef7565b905082811015610554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054b90612355565b60405180910390fd5b6105618533858403610f7e565b60019150509392505050565b60006009905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461064d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610644906123c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610799576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610790906123c1565b60405180910390fd5b6009600a6107a7919061227c565b6305f5e1006107b691906122c7565b6008819055506009600a6107ca919061227c565b6305f5e1006107d991906122c7565b6009819055506000600560006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610829919061227c565b6305f5e10061083891906122c7565b6040516108459190611fde565b60405180910390a1565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b60606040518060400160405280600381526020017f4346440000000000000000000000000000000000000000000000000000000000815250905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461091b57600080fd5b600061092630610576565b9050600081111561093b5761093a816119f6565b5b60004790506729a2241af62c000081111561095a5761095981611c6f565b5b5050565b600061096b338484611147565b6001905092915050565b6009600a610983919061227c565b620186a061099191906122c7565b81565b600560009054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2c906123c1565b60405180910390fd5b600b60149054906101000a900460ff1615610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c9061242d565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b2330600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b0f919061227c565b6305f5e100610b1e91906122c7565b610f7e565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb49190612462565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c619190612462565b6040518363ffffffff1660e01b8152600401610c7e92919061248f565b6020604051808303816000875af1158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc19190612462565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646055610d4e30610576565b610d5891906122c7565b610d6291906124e7565b600080610d6d610855565b426040518863ffffffff1660e01b8152600401610d8f9695949392919061255d565b60606040518083038185885af1158015610dad573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dd291906125d3565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e74929190612626565b6020604051808303816000875af1158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb7919061267b565b50426007819055506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe49061271a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611053906127ac565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161113a9190611fde565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad9061283e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121c906128d0565b60405180910390fd5b60008111611268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125f90612962565b60405180910390fd5b6000611272610855565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112e057506112b0610855565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561175c576112ee82611cdb565b9050600560009054906101000a900460ff161561147d57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113b15750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561147c5743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142e90612a1a565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115285750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561157e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611639576008548211156115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf90612a86565b60405180910390fd5b600954826115d585610576565b6115df9190612aa6565b1115611620576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161790612b26565b60405180910390fd5b6006600081548092919061163390612b46565b91905055505b600061164430610576565b9050600b60159054906101000a900460ff161580156116b05750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116c85750600b60169054906101000a900460ff165b80156116ee57506009600a6116dd919061227c565b620186a06116eb91906122c7565b81115b80156116ff5750600a60ff16600654115b1561175a5761173a61173584611730846009600a61171d919061227c565b6207a12061172b91906122c7565b611df5565b611df5565b6119f6565b600047905066b1a2bc2ec500008111156117585761175747611c6f565b5b505b505b60008111156118595780600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b09190612aa6565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118509190611fde565b60405180910390a35b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a49190612b8e565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080826118f39190612b8e565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461193d9190612aa6565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856119db9190612b8e565b6040516119e89190611fde565b60405180910390a350505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a2e57611a2d612bc2565b5b604051908082528060200260200182016040528015611a5c5781602001602082028036833780820191505090505b5090503081600081518110611a7457611a73612bf1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3f9190612462565b81600181518110611b5357611b52612bf1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bba30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f7e565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c1e959493929190612cde565b600060405180830381600087803b158015611c3857600080fd5b505af1158015611c4c573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611cd7573d6000803e3d6000fd5b5050565b600080607890506000620151809050600062093a80905060006228de809050600060075442611d0a9190612b8e565b905084811015611d3c576064601960ff1688611d2691906122c7565b611d3091906124e7565b95505050505050611df0565b81811115611d6c576064600060ff1688611d5691906122c7565b611d6091906124e7565b95505050505050611df0565b82811115611d9c576064600160ff1688611d8691906122c7565b611d9091906124e7565b95505050505050611df0565b83811115611dcc576064600360ff1688611db691906122c7565b611dc091906124e7565b95505050505050611df0565b6064600560ff1688611dde91906122c7565b611de891906124e7565b955050505050505b919050565b6000818311611e045782611e06565b815b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e48578082015181840152602081019050611e2d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e7082611e0e565b611e7a8185611e19565b9350611e8a818560208601611e2a565b611e9381611e54565b840191505092915050565b60006020820190508181036000830152611eb88184611e65565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ef082611ec5565b9050919050565b611f0081611ee5565b8114611f0b57600080fd5b50565b600081359050611f1d81611ef7565b92915050565b6000819050919050565b611f3681611f23565b8114611f4157600080fd5b50565b600081359050611f5381611f2d565b92915050565b60008060408385031215611f7057611f6f611ec0565b5b6000611f7e85828601611f0e565b9250506020611f8f85828601611f44565b9150509250929050565b60008115159050919050565b611fae81611f99565b82525050565b6000602082019050611fc96000830184611fa5565b92915050565b611fd881611f23565b82525050565b6000602082019050611ff36000830184611fcf565b92915050565b60008060006060848603121561201257612011611ec0565b5b600061202086828701611f0e565b935050602061203186828701611f0e565b925050604061204286828701611f44565b9150509250925092565b600060ff82169050919050565b6120628161204c565b82525050565b600060208201905061207d6000830184612059565b92915050565b60006020828403121561209957612098611ec0565b5b60006120a784828501611f0e565b91505092915050565b6120b981611ee5565b82525050565b60006020820190506120d460008301846120b0565b92915050565b600080604083850312156120f1576120f0611ec0565b5b60006120ff85828601611f0e565b925050602061211085828601611f0e565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156121a05780860481111561217c5761217b61211a565b5b600185161561218b5780820291505b808102905061219985612149565b9450612160565b94509492505050565b6000826121b95760019050612275565b816121c75760009050612275565b81600181146121dd57600281146121e757612216565b6001915050612275565b60ff8411156121f9576121f861211a565b5b8360020a9150848211156122105761220f61211a565b5b50612275565b5060208310610133831016604e8410600b841016171561224b5782820a9050838111156122465761224561211a565b5b612275565b6122588484846001612156565b9250905081840481111561226f5761226e61211a565b5b81810290505b9392505050565b600061228782611f23565b91506122928361204c565b92506122bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121a9565b905092915050565b60006122d282611f23565b91506122dd83611f23565b92508282026122eb81611f23565b915082820484148315176123025761230161211a565b5b5092915050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061233f601d83611e19565b915061234a82612309565b602082019050919050565b6000602082019050818103600083015261236e81612332565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123ab602083611e19565b91506123b682612375565b602082019050919050565b600060208201905081810360008301526123da8161239e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612417601783611e19565b9150612422826123e1565b602082019050919050565b600060208201905081810360008301526124468161240a565b9050919050565b60008151905061245c81611ef7565b92915050565b60006020828403121561247857612477611ec0565b5b60006124868482850161244d565b91505092915050565b60006040820190506124a460008301856120b0565b6124b160208301846120b0565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006124f282611f23565b91506124fd83611f23565b92508261250d5761250c6124b8565b5b828204905092915050565b6000819050919050565b6000819050919050565b600061254761254261253d84612518565b612522565b611f23565b9050919050565b6125578161252c565b82525050565b600060c08201905061257260008301896120b0565b61257f6020830188611fcf565b61258c604083018761254e565b612599606083018661254e565b6125a660808301856120b0565b6125b360a0830184611fcf565b979650505050505050565b6000815190506125cd81611f2d565b92915050565b6000806000606084860312156125ec576125eb611ec0565b5b60006125fa868287016125be565b935050602061260b868287016125be565b925050604061261c868287016125be565b9150509250925092565b600060408201905061263b60008301856120b0565b6126486020830184611fcf565b9392505050565b61265881611f99565b811461266357600080fd5b50565b6000815190506126758161264f565b92915050565b60006020828403121561269157612690611ec0565b5b600061269f84828501612666565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612704602483611e19565b915061270f826126a8565b604082019050919050565b60006020820190508181036000830152612733816126f7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612796602283611e19565b91506127a18261273a565b604082019050919050565b600060208201905081810360008301526127c581612789565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612828602583611e19565b9150612833826127cc565b604082019050919050565b600060208201905081810360008301526128578161281b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006128ba602383611e19565b91506128c58261285e565b604082019050919050565b600060208201905081810360008301526128e9816128ad565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061294c602983611e19565b9150612957826128f0565b604082019050919050565b6000602082019050818103600083015261297b8161293f565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b6000612a04604883611e19565b9150612a0f82612982565b606082019050919050565b60006020820190508181036000830152612a33816129f7565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612a70601983611e19565b9150612a7b82612a3a565b602082019050919050565b60006020820190508181036000830152612a9f81612a63565b9050919050565b6000612ab182611f23565b9150612abc83611f23565b9250828201905080821115612ad457612ad361211a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612b10601a83611e19565b9150612b1b82612ada565b602082019050919050565b60006020820190508181036000830152612b3f81612b03565b9050919050565b6000612b5182611f23565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b8357612b8261211a565b5b600182019050919050565b6000612b9982611f23565b9150612ba483611f23565b9250828203905081811115612bbc57612bbb61211a565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c5581611ee5565b82525050565b6000612c678383612c4c565b60208301905092915050565b6000602082019050919050565b6000612c8b82612c20565b612c958185612c2b565b9350612ca083612c3c565b8060005b83811015612cd1578151612cb88882612c5b565b9750612cc383612c73565b925050600181019050612ca4565b5085935050505092915050565b600060a082019050612cf36000830188611fcf565b612d00602083018761254e565b8181036040830152612d128186612c80565b9050612d2160608301856120b0565b612d2e6080830184611fcf565b969550505050505056fea264697066735822122025b32a832e7aec9f9a35377eb8e50089cee5f327460046b0a3994141a5ef1f2464736f6c63430008130033

Deployed Bytecode Sourcemap

2521:8572:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4524:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5355:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3570:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4801:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5522:441;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4710:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4904:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1715:148;;;;;;;;;;;;;:::i;:::-;;8810:200;;;;;;;;;;;;;:::i;:::-;;3642:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1503:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3704:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4615:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9844:369;;;;;;;;;;;;;:::i;:::-;;5031:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3492:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2825:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9118:718;;;;;;;;;;;;;:::i;:::-;;5204:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4524:83;4561:13;4594:5;;;;;;;;;;;;;;;;;4587:12;;4524:83;:::o;5355:159::-;5430:4;5447:37;5456:10;5468:7;5477:6;5447:8;:37::i;:::-;5502:4;5495:11;;5355:159;;;;:::o;3570:65::-;3305:1;3622:2;:13;;;;:::i;:::-;3608:11;:27;;;;:::i;:::-;3570:65;:::o;4801:95::-;4854:7;3305:1;3362:2;:13;;;;:::i;:::-;3348:11;:27;;;;:::i;:::-;4874:14;;4801:95;:::o;5522:441::-;5620:4;5637:36;5647:6;5655:9;5666:6;5637:9;:36::i;:::-;5684:24;5711:29;5721:6;5729:10;5711:9;:29::i;:::-;5684:56;;5789:6;5769:16;:26;;5761:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5865:55;5874:6;5882:10;5913:6;5894:16;:25;5865:8;:55::i;:::-;5951:4;5944:11;;;5522:441;;;;;:::o;4710:83::-;4751:5;3305:1;4769:16;;4710:83;:::o;4904:119::-;4970:7;4997:9;:18;5007:7;4997:18;;;;;;;;;;;;;;;;4990:25;;4904:119;;;:::o;1715:148::-;1640:10;1630:20;;:6;;;;;;;;;;:20;;;1622:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1822:1:::1;1785:40;;1806:6;::::0;::::1;;;;;;;;1785:40;;;;;;;;;;;;1853:1;1836:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1715:148::o:0;8810:200::-;1640:10;1630:20;;:6;;;;;;;;;;:20;;;1622:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3305:1:::1;3362:2;:13;;;;:::i;:::-;3348:11;:27;;;;:::i;:::-;8863:12;:22;;;;3305:1;3362:2;:13;;;;:::i;:::-;3348:11;:27;;;;:::i;:::-;8896:14;:24;;;;8954:5;8931:20;;:28;;;;;;;;;;;;;;;;;;8975:27;3305:1;3362:2;:13;;;;:::i;:::-;3348:11;:27;;;;:::i;:::-;8975;;;;;;:::i;:::-;;;;;;;;8810:200::o:0;3642:55::-;;;;:::o;1503:79::-;1541:7;1568:6;;;;;;;;;;;1561:13;;1503:79;:::o;3704:57::-;;;;:::o;4615:87::-;4654:13;4687:7;;;;;;;;;;;;;;;;;4680:14;;4615:87;:::o;9844:369::-;9908:10;;;;;;;;;;;9894:24;;:10;:24;;;9886:33;;;;;;9932:20;9955:24;9973:4;9955:9;:24::i;:::-;9932:47;;10008:1;9993:12;:16;9990:75;;;10023:30;10040:12;10023:16;:30::i;:::-;9990:75;10077:18;10098:21;10077:42;;10146:10;10133;:23;10130:76;;;10170:24;10183:10;10170:12;:24::i;:::-;10130:76;9875:338;;9844:369::o;5031:165::-;5109:4;5126:40;5136:10;5148:9;5159:6;5126:9;:40::i;:::-;5184:4;5177:11;;5031:165;;;;:::o;3492:71::-;3305:1;3550:2;:13;;;;:::i;:::-;3536:11;:27;;;;:::i;:::-;3492:71;:::o;2825:39::-;;;;;;;;;;;;;:::o;9118:718::-;1640:10;1630:20;;:6;;;;;;;;;;:20;;;1622:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;9182:11:::1;;;;;;;;;;;9181:12;9173:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;3815:42;9233:15;;:55;;;;;;;;;;;;;;;;;;9301:58;9318:4;9333:15;;;;;;;;;;;3305:1;3362:2;:13;;;;:::i;:::-;3348:11;:27;;;;:::i;:::-;9301:8;:58::i;:::-;9406:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9388:55;;;9452:4;9459:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9388:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9372:13;;:110;;;;;;;;;;;;;;;;;;9493:15;;;;;;;;;;;:31;;;9532:21;9563:4;9600:3;9597:2;9570:24;9588:4;9570:9;:24::i;:::-;:29;;;;:::i;:::-;:33;;;;:::i;:::-;9605:1;9608::::0;9611:7:::1;:5;:7::i;:::-;9620:15;9493:143;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9654:13;;;;;;;;;;;9647:29;;;9685:15;;;;;;;;;;;9703:14;9647:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9753:15;9731:19;:37;;;;9795:4;9781:11;;:18;;;;;;;;;;;;;;;;;;9824:4;9810:11;;:18;;;;;;;;;;;;;;;;;;9118:718::o:0;5204:143::-;5285:7;5312:11;:18;5324:5;5312:18;;;;;;;;;;;;;;;:27;5331:7;5312:27;;;;;;;;;;;;;;;;5305:34;;5204:143;;;;:::o;5971:335::-;6081:1;6064:19;;:5;:19;;;6056:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6162:1;6143:21;;:7;:21;;;6135:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6244:6;6214:11;:18;6226:5;6214:18;;;;;;;;;;;;;;;:27;6233:7;6214:27;;;;;;;;;;;;;;;:36;;;;6282:7;6266:32;;6275:5;6266:32;;;6291:6;6266:32;;;;;;:::i;:::-;;;;;;;;5971:335;;;:::o;6314:2073::-;6418:1;6402:18;;:4;:18;;;6394:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6495:1;6481:16;;:2;:16;;;6473:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6565:1;6556:6;:10;6548:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6625:17;6669:7;:5;:7::i;:::-;6661:15;;:4;:15;;;;:32;;;;;6686:7;:5;:7::i;:::-;6680:13;;:2;:13;;;;6661:32;6657:1381;;;6722:14;6729:6;6722;:14::i;:::-;6710:26;;6757:20;;;;;;;;;;;6753:397;;;6818:15;;;;;;;;;;;6804:30;;:2;:30;;;;:62;;;;;6852:13;;;;;;;;;;;6838:28;;:2;:28;;;;6804:62;6800:333;;;6943:12;6901:28;:39;6930:9;6901:39;;;;;;;;;;;;;;;;:54;6893:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;7099:12;7057:28;:39;7086:9;7057:39;;;;;;;;;;;;;;;:54;;;;6800:333;6753:397;7178:13;;;;;;;;;;;7170:21;;:4;:21;;;:55;;;;;7209:15;;;;;;;;;;;7195:30;;:2;:30;;;;7170:55;:83;;;;;7231:18;:22;7250:2;7231:22;;;;;;;;;;;;;;;;;;;;;;;;;7229:24;7170:83;7166:318;;;7293:12;;7283:6;:22;;7275:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7388:14;;7378:6;7362:13;7372:2;7362:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7354:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7452:14;;:16;;;;;;;;;:::i;:::-;;;;;;7166:318;7500:28;7531:24;7549:4;7531:9;:24::i;:::-;7500:55;;7575:6;;;;;;;;;;;7574:7;:30;;;;;7591:13;;;;;;;;;;;7585:19;;:2;:19;;;7574:30;:45;;;;;7608:11;;;;;;;;;;;7574:45;:89;;;;;3305:1;3550:2;:13;;;;:::i;:::-;3536:11;:27;;;;:::i;:::-;7623:20;:40;7574:89;:128;;;;;3172:2;7667:35;;:14;;:35;7574:128;7570:457;;;7723:69;7740:51;7744:6;7752:38;7756:20;3305:1;3622:2;:13;;;;:::i;:::-;3608:11;:27;;;;:::i;:::-;7752:3;:38::i;:::-;7740:3;:51::i;:::-;7723:16;:69::i;:::-;7811:26;7840:21;7811:50;;7922:10;7901:18;:31;7898:114;;;7957:35;7970:21;7957:12;:35::i;:::-;7898:114;7704:323;7570:457;6695:1343;6657:1381;8063:1;8053:9;:11;8050:158;;;8130:9;8103;:24;8121:4;8103:24;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;8078:9;:24;8096:4;8078:24;;;;;;;;;;;;;;;:61;;;;8180:4;8157:39;;8166:4;8157:39;;;8186:9;8157:39;;;;;;:::i;:::-;;;;;;;;8050:158;8256:6;8238:9;:15;8248:4;8238:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;8220:9;:15;8230:4;8220:15;;;;;;;;;;;;;;;:42;;;;8315:9;8306:6;:18;;;;:::i;:::-;8289:9;:13;8299:2;8289:13;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;8273:9;:13;8283:2;8273:13;;;;;;;;;;;;;;;:52;;;;8356:2;8341:38;;8350:4;8341:38;;;8369:9;8360:6;:18;;;;:::i;:::-;8341:38;;;;;;:::i;:::-;;;;;;;;6383:2004;6314:2073;;;:::o;8395:407::-;4148:4;4139:6;;:13;;;;;;;;;;;;;;;;;;8473:21:::1;8511:1;8497:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8473:40;;8542:4;8524;8529:1;8524:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8568:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8558:4;8563:1;8558:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8601:62;8618:4;8633:15;;;;;;;;;;;8651:11;8601:8;:62::i;:::-;8674:15;;;;;;;;;;;:66;;;8741:11;8754:1;8757:4;8771;8778:15;8674:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8462:340;4184:5:::0;4175:6;;:14;;;;;;;;;;;;;;;;;;8395:407;:::o;9018:92::-;9075:10;;;;;;;;;;;:19;;:27;9095:6;9075:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9018:92;:::o;10221:720::-;10275:7;10294:18;10315:3;10294:24;;10329:20;10352:5;10329:28;;10368:21;10392:9;10368:33;;10412:22;10437:10;10412:35;;10460:21;10502:19;;10484:15;:37;;;;:::i;:::-;10460:61;;10553:10;10537:13;:26;10534:357;;;10607:3;2950:2;10585:19;;:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;10578:32;;;;;;;;;10534:357;10645:14;10629:13;:30;10626:265;;;10702:3;3120:1;10681:18;;:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;10674:31;;;;;;;;;10626:265;10740:13;10724;:29;10721:170;;;10796:3;3077:1;10775:18;;:6;:18;;;;:::i;:::-;:24;;;;:::i;:::-;10768:31;;;;;;;;;10721:170;10834:12;10818:13;:28;10815:76;;;10888:3;3034:1;10868:17;;:6;:17;;;;:::i;:::-;:23;;;;:::i;:::-;10861:30;;;;;;;;;10815:76;10930:3;2992:1;10911:16;;:6;:16;;;;:::i;:::-;:22;;;;:::i;:::-;10904:29;;;;;;;10221:720;;;;:::o;10949:104::-;11006:7;11036:1;11032;:5;:13;;11044:1;11032:13;;;11040:1;11032:13;11025:20;;10949:104;;;;:::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:179::-;9090:31;9086:1;9078:6;9074:14;9067:55;8950:179;:::o;9135:366::-;9277:3;9298:67;9362:2;9357:3;9298:67;:::i;:::-;9291:74;;9374:93;9463:3;9374:93;:::i;:::-;9492:2;9487:3;9483:12;9476:19;;9135:366;;;:::o;9507:419::-;9673:4;9711:2;9700:9;9696:18;9688:26;;9760:9;9754:4;9750:20;9746:1;9735:9;9731:17;9724:47;9788:131;9914:4;9788:131;:::i;:::-;9780:139;;9507:419;;;:::o;9932:182::-;10072:34;10068:1;10060:6;10056:14;10049:58;9932:182;:::o;10120:366::-;10262:3;10283:67;10347:2;10342:3;10283:67;:::i;:::-;10276:74;;10359:93;10448:3;10359:93;:::i;:::-;10477:2;10472:3;10468:12;10461:19;;10120:366;;;:::o;10492:419::-;10658:4;10696:2;10685:9;10681:18;10673:26;;10745:9;10739:4;10735:20;10731:1;10720:9;10716:17;10709:47;10773:131;10899:4;10773:131;:::i;:::-;10765:139;;10492:419;;;:::o;10917:173::-;11057:25;11053:1;11045:6;11041:14;11034:49;10917:173;:::o;11096:366::-;11238:3;11259:67;11323:2;11318:3;11259:67;:::i;:::-;11252:74;;11335:93;11424:3;11335:93;:::i;:::-;11453:2;11448:3;11444:12;11437:19;;11096:366;;;:::o;11468:419::-;11634:4;11672:2;11661:9;11657:18;11649:26;;11721:9;11715:4;11711:20;11707:1;11696:9;11692:17;11685:47;11749:131;11875:4;11749:131;:::i;:::-;11741:139;;11468:419;;;:::o;11893:143::-;11950:5;11981:6;11975:13;11966:22;;11997:33;12024:5;11997:33;:::i;:::-;11893:143;;;;:::o;12042:351::-;12112:6;12161:2;12149:9;12140:7;12136:23;12132:32;12129:119;;;12167:79;;:::i;:::-;12129:119;12287:1;12312:64;12368:7;12359:6;12348:9;12344:22;12312:64;:::i;:::-;12302:74;;12258:128;12042:351;;;;:::o;12399:332::-;12520:4;12558:2;12547:9;12543:18;12535:26;;12571:71;12639:1;12628:9;12624:17;12615:6;12571:71;:::i;:::-;12652:72;12720:2;12709:9;12705:18;12696:6;12652:72;:::i;:::-;12399:332;;;;;:::o;12737:180::-;12785:77;12782:1;12775:88;12882:4;12879:1;12872:15;12906:4;12903:1;12896:15;12923:185;12963:1;12980:20;12998:1;12980:20;:::i;:::-;12975:25;;13014:20;13032:1;13014:20;:::i;:::-;13009:25;;13053:1;13043:35;;13058:18;;:::i;:::-;13043:35;13100:1;13097;13093:9;13088:14;;12923:185;;;;:::o;13114:85::-;13159:7;13188:5;13177:16;;13114:85;;;:::o;13205:60::-;13233:3;13254:5;13247:12;;13205:60;;;:::o;13271:158::-;13329:9;13362:61;13380:42;13389:32;13415:5;13389:32;:::i;:::-;13380:42;:::i;:::-;13362:61;:::i;:::-;13349:74;;13271:158;;;:::o;13435:147::-;13530:45;13569:5;13530:45;:::i;:::-;13525:3;13518:58;13435:147;;:::o;13588:807::-;13837:4;13875:3;13864:9;13860:19;13852:27;;13889:71;13957:1;13946:9;13942:17;13933:6;13889:71;:::i;:::-;13970:72;14038:2;14027:9;14023:18;14014:6;13970:72;:::i;:::-;14052:80;14128:2;14117:9;14113:18;14104:6;14052:80;:::i;:::-;14142;14218:2;14207:9;14203:18;14194:6;14142:80;:::i;:::-;14232:73;14300:3;14289:9;14285:19;14276:6;14232:73;:::i;:::-;14315;14383:3;14372:9;14368:19;14359:6;14315:73;:::i;:::-;13588:807;;;;;;;;;:::o;14401:143::-;14458:5;14489:6;14483:13;14474:22;;14505:33;14532:5;14505:33;:::i;:::-;14401:143;;;;:::o;14550:663::-;14638:6;14646;14654;14703:2;14691:9;14682:7;14678:23;14674:32;14671:119;;;14709:79;;:::i;:::-;14671:119;14829:1;14854:64;14910:7;14901:6;14890:9;14886:22;14854:64;:::i;:::-;14844:74;;14800:128;14967:2;14993:64;15049:7;15040:6;15029:9;15025:22;14993:64;:::i;:::-;14983:74;;14938:129;15106:2;15132:64;15188:7;15179:6;15168:9;15164:22;15132:64;:::i;:::-;15122:74;;15077:129;14550:663;;;;;:::o;15219:332::-;15340:4;15378:2;15367:9;15363:18;15355:26;;15391:71;15459:1;15448:9;15444:17;15435:6;15391:71;:::i;:::-;15472:72;15540:2;15529:9;15525:18;15516:6;15472:72;:::i;:::-;15219:332;;;;;:::o;15557:116::-;15627:21;15642:5;15627:21;:::i;:::-;15620:5;15617:32;15607:60;;15663:1;15660;15653:12;15607:60;15557:116;:::o;15679:137::-;15733:5;15764:6;15758:13;15749:22;;15780:30;15804:5;15780:30;:::i;:::-;15679:137;;;;:::o;15822:345::-;15889:6;15938:2;15926:9;15917:7;15913:23;15909:32;15906:119;;;15944:79;;:::i;:::-;15906:119;16064:1;16089:61;16142:7;16133:6;16122:9;16118:22;16089:61;:::i;:::-;16079:71;;16035:125;15822:345;;;;:::o;16173:223::-;16313:34;16309:1;16301:6;16297:14;16290:58;16382:6;16377:2;16369:6;16365:15;16358:31;16173:223;:::o;16402:366::-;16544:3;16565:67;16629:2;16624:3;16565:67;:::i;:::-;16558:74;;16641:93;16730:3;16641:93;:::i;:::-;16759:2;16754:3;16750:12;16743:19;;16402:366;;;:::o;16774:419::-;16940:4;16978:2;16967:9;16963:18;16955:26;;17027:9;17021:4;17017:20;17013:1;17002:9;16998:17;16991:47;17055:131;17181:4;17055:131;:::i;:::-;17047:139;;16774:419;;;:::o;17199:221::-;17339:34;17335:1;17327:6;17323:14;17316:58;17408:4;17403:2;17395:6;17391:15;17384:29;17199:221;:::o;17426:366::-;17568:3;17589:67;17653:2;17648:3;17589:67;:::i;:::-;17582:74;;17665:93;17754:3;17665:93;:::i;:::-;17783:2;17778:3;17774:12;17767:19;;17426:366;;;:::o;17798:419::-;17964:4;18002:2;17991:9;17987:18;17979:26;;18051:9;18045:4;18041:20;18037:1;18026:9;18022:17;18015:47;18079:131;18205:4;18079:131;:::i;:::-;18071:139;;17798:419;;;:::o;18223:224::-;18363:34;18359:1;18351:6;18347:14;18340:58;18432:7;18427:2;18419:6;18415:15;18408:32;18223:224;:::o;18453:366::-;18595:3;18616:67;18680:2;18675:3;18616:67;:::i;:::-;18609:74;;18692:93;18781:3;18692:93;:::i;:::-;18810:2;18805:3;18801:12;18794:19;;18453:366;;;:::o;18825:419::-;18991:4;19029:2;19018:9;19014:18;19006:26;;19078:9;19072:4;19068:20;19064:1;19053:9;19049:17;19042:47;19106:131;19232:4;19106:131;:::i;:::-;19098:139;;18825:419;;;:::o;19250:222::-;19390:34;19386:1;19378:6;19374:14;19367:58;19459:5;19454:2;19446:6;19442:15;19435:30;19250:222;:::o;19478:366::-;19620:3;19641:67;19705:2;19700:3;19641:67;:::i;:::-;19634:74;;19717:93;19806:3;19717:93;:::i;:::-;19835:2;19830:3;19826:12;19819:19;;19478:366;;;:::o;19850:419::-;20016:4;20054:2;20043:9;20039:18;20031:26;;20103:9;20097:4;20093:20;20089:1;20078:9;20074:17;20067:47;20131:131;20257:4;20131:131;:::i;:::-;20123:139;;19850:419;;;:::o;20275:228::-;20415:34;20411:1;20403:6;20399:14;20392:58;20484:11;20479:2;20471:6;20467:15;20460:36;20275:228;:::o;20509:366::-;20651:3;20672:67;20736:2;20731:3;20672:67;:::i;:::-;20665:74;;20748:93;20837:3;20748:93;:::i;:::-;20866:2;20861:3;20857:12;20850:19;;20509:366;;;:::o;20881:419::-;21047:4;21085:2;21074:9;21070:18;21062:26;;21134:9;21128:4;21124:20;21120:1;21109:9;21105:17;21098:47;21162:131;21288:4;21162:131;:::i;:::-;21154:139;;20881:419;;;:::o;21306:296::-;21446:34;21442:1;21434:6;21430:14;21423:58;21515:34;21510:2;21502:6;21498:15;21491:59;21584:10;21579:2;21571:6;21567:15;21560:35;21306:296;:::o;21608:366::-;21750:3;21771:67;21835:2;21830:3;21771:67;:::i;:::-;21764:74;;21847:93;21936:3;21847:93;:::i;:::-;21965:2;21960:3;21956:12;21949:19;;21608:366;;;:::o;21980:419::-;22146:4;22184:2;22173:9;22169:18;22161:26;;22233:9;22227:4;22223:20;22219:1;22208:9;22204:17;22197:47;22261:131;22387:4;22261:131;:::i;:::-;22253:139;;21980:419;;;:::o;22405:175::-;22545:27;22541:1;22533:6;22529:14;22522:51;22405:175;:::o;22586:366::-;22728:3;22749:67;22813:2;22808:3;22749:67;:::i;:::-;22742:74;;22825:93;22914:3;22825:93;:::i;:::-;22943:2;22938:3;22934:12;22927:19;;22586:366;;;:::o;22958:419::-;23124:4;23162:2;23151:9;23147:18;23139:26;;23211:9;23205:4;23201:20;23197:1;23186:9;23182:17;23175:47;23239:131;23365:4;23239:131;:::i;:::-;23231:139;;22958:419;;;:::o;23383:191::-;23423:3;23442:20;23460:1;23442:20;:::i;:::-;23437:25;;23476:20;23494:1;23476:20;:::i;:::-;23471:25;;23519:1;23516;23512:9;23505:16;;23540:3;23537:1;23534:10;23531:36;;;23547:18;;:::i;:::-;23531:36;23383:191;;;;:::o;23580:176::-;23720:28;23716:1;23708:6;23704:14;23697:52;23580:176;:::o;23762:366::-;23904:3;23925:67;23989:2;23984:3;23925:67;:::i;:::-;23918:74;;24001:93;24090:3;24001:93;:::i;:::-;24119:2;24114:3;24110:12;24103:19;;23762:366;;;:::o;24134:419::-;24300:4;24338:2;24327:9;24323:18;24315:26;;24387:9;24381:4;24377:20;24373:1;24362:9;24358:17;24351:47;24415:131;24541:4;24415:131;:::i;:::-;24407:139;;24134:419;;;:::o;24559:233::-;24598:3;24621:24;24639:5;24621:24;:::i;:::-;24612:33;;24667:66;24660:5;24657:77;24654:103;;24737:18;;:::i;:::-;24654:103;24784:1;24777:5;24773:13;24766:20;;24559:233;;;:::o;24798:194::-;24838:4;24858:20;24876:1;24858:20;:::i;:::-;24853:25;;24892:20;24910:1;24892:20;:::i;:::-;24887:25;;24936:1;24933;24929:9;24921:17;;24960:1;24954:4;24951:11;24948:37;;;24965:18;;:::i;:::-;24948:37;24798:194;;;;:::o;24998:180::-;25046:77;25043:1;25036:88;25143:4;25140:1;25133:15;25167:4;25164:1;25157:15;25184:180;25232:77;25229:1;25222:88;25329:4;25326:1;25319:15;25353:4;25350:1;25343:15;25370:114;25437:6;25471:5;25465:12;25455:22;;25370:114;;;:::o;25490:184::-;25589:11;25623:6;25618:3;25611:19;25663:4;25658:3;25654:14;25639:29;;25490:184;;;;:::o;25680:132::-;25747:4;25770:3;25762:11;;25800:4;25795:3;25791:14;25783:22;;25680:132;;;:::o;25818:108::-;25895:24;25913:5;25895:24;:::i;:::-;25890:3;25883:37;25818:108;;:::o;25932:179::-;26001:10;26022:46;26064:3;26056:6;26022:46;:::i;:::-;26100:4;26095:3;26091:14;26077:28;;25932:179;;;;:::o;26117:113::-;26187:4;26219;26214:3;26210:14;26202:22;;26117:113;;;:::o;26266:732::-;26385:3;26414:54;26462:5;26414:54;:::i;:::-;26484:86;26563:6;26558:3;26484:86;:::i;:::-;26477:93;;26594:56;26644:5;26594:56;:::i;:::-;26673:7;26704:1;26689:284;26714:6;26711:1;26708:13;26689:284;;;26790:6;26784:13;26817:63;26876:3;26861:13;26817:63;:::i;:::-;26810:70;;26903:60;26956:6;26903:60;:::i;:::-;26893:70;;26749:224;26736:1;26733;26729:9;26724:14;;26689:284;;;26693:14;26989:3;26982:10;;26390:608;;;26266:732;;;;:::o;27004:831::-;27267:4;27305:3;27294:9;27290:19;27282:27;;27319:71;27387:1;27376:9;27372:17;27363:6;27319:71;:::i;:::-;27400:80;27476:2;27465:9;27461:18;27452:6;27400:80;:::i;:::-;27527:9;27521:4;27517:20;27512:2;27501:9;27497:18;27490:48;27555:108;27658:4;27649:6;27555:108;:::i;:::-;27547:116;;27673:72;27741:2;27730:9;27726:18;27717:6;27673:72;:::i;:::-;27755:73;27823:3;27812:9;27808:19;27799:6;27755:73;:::i;:::-;27004:831;;;;;;;;:::o

Swarm Source

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