ETH Price: $3,395.42 (-1.85%)
Gas: 6 Gwei

Token

A Thousand Years (365000)
 

Overview

Max Total Supply

365,000 365000

Holders

27

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
3,798.705970136 365000

Value
$0.00
0xfb32487afacf51c27ee5a4b225c7bba470d5b183
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:
AThousandYears

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-26
*/

/**
First coin with customized contract address in 6-digit number
A thousand years = 1000 years = 365000 days
A Thousand Years = 0x365000
Telegram :https://t.me/athousandyears_365000
Twitter: https://twitter.com/athousandyears_365000
Website: http://www.athousandyears365000.vip/
**/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.25;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

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

    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=25;
    uint256 private _reduceSellTaxAt=25;
    uint256 private _preventSwapBefore=30;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 365000 * 10**_decimals;
    string private constant _name = unicode"A Thousand Years";
    string private constant _symbol = unicode"365000";
    uint256 public _maxTxAmount =   7300 * 10**_decimals;
    uint256 public _maxWalletSize = 7300 * 10**_decimals;
    uint256 public _taxSwapThreshold= 3650 * 10**_decimals;
    uint256 public _maxTaxSwap= 3650 * 10**_decimals;

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

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

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

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

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

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                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 isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

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

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

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

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

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

    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":"_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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

6080604052601960075560196008555f6009555f600a556019600b556019600c55601e600d555f600e556009600a61003791906102f1565b61004390611c84610306565b600f556100526009600a6102f1565b61005e90611c84610306565b60105561006d6009600a6102f1565b61007990610e42610306565b6011556100886009600a6102f1565b61009490610e42610306565b6012556014805461ffff60a81b191690553480156100b0575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b0319163317905561010f6009600a6102f1565b61011c90620591c8610306565b335f9081526001602081905260408220929092556003906101445f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556005549091168352912080549092161790556101a13390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101d86009600a6102f1565b6101e590620591c8610306565b60405190815260200160405180910390a361031d565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561024957815f190482111561022f5761022f6101fb565b8085161561023c57918102915b93841c9390800290610214565b509250929050565b5f8261025f575060016102eb565b8161026b57505f6102eb565b8160018114610281576002811461028b576102a7565b60019150506102eb565b60ff84111561029c5761029c6101fb565b50506001821b6102eb565b5060208310610133831016604e8410600b84101617156102ca575081810a6102eb565b6102d4838361020f565b805f19048211156102e7576102e76101fb565b0290505b92915050565b5f6102ff60ff841683610251565b9392505050565b80820281158282048414176102eb576102eb6101fb565b611a018061032a5f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610345578063bf474bed14610364578063c9567bf914610379578063d34628cc1461038d578063dd62ed3e146103ac575f80fd5b8063751039fc146102b35780637d1db4a5146102c75780638da5cb5b146102dc5780638f9a55c01461030257806395d89b4114610317575f80fd5b8063313ce567116100e3578063313ce567146101f857806331c2d847146102135780633bbac5791461023457806370a082311461026b578063715018a61461029f575f80fd5b806306fdde0314610129578063095ea7b3146101735780630faee56f146101a257806318160ddd146101c557806323b872dd146101d9575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152601081526f412054686f7573616e6420596561727360801b60208201525b60405161016a9190611524565b60405180910390f35b34801561017e575f80fd5b5061019261018d366004611580565b6103f0565b604051901515815260200161016a565b3480156101ad575f80fd5b506101b760125481565b60405190815260200161016a565b3480156101d0575f80fd5b506101b7610406565b3480156101e4575f80fd5b506101926101f33660046115aa565b610425565b348015610203575f80fd5b506040516009815260200161016a565b34801561021e575f80fd5b5061023261022d3660046115fc565b61048c565b005b34801561023f575f80fd5b5061019261024e3660046116bc565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610276575f80fd5b506101b76102853660046116bc565b6001600160a01b03165f9081526001602052604090205490565b3480156102aa575f80fd5b5061023261051c565b3480156102be575f80fd5b5061023261058d565b3480156102d2575f80fd5b506101b7600f5481565b3480156102e7575f80fd5b505f546040516001600160a01b03909116815260200161016a565b34801561030d575f80fd5b506101b760105481565b348015610322575f80fd5b5060408051808201909152600681526503336353030360d41b602082015261015d565b348015610350575f80fd5b5061019261035f366004611580565b61063b565b34801561036f575f80fd5b506101b760115481565b348015610384575f80fd5b50610232610647565b348015610398575f80fd5b506102326103a73660046115fc565b6109f3565b3480156103b7575f80fd5b506101b76103c63660046116d7565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103fc338484610a77565b5060015b92915050565b5f6104136009600a611802565b61042090620591c8611810565b905090565b5f610431848484610b9a565b610482843361047d856040518060600160405280602881526020016119a4602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111a0565b610a77565b5060019392505050565b5f546001600160a01b031633146104be5760405162461bcd60e51b81526004016104b590611827565b60405180910390fd5b5f5b8151811015610518575f60045f8484815181106104df576104df61185c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104c0565b5050565b5f546001600160a01b031633146105455760405162461bcd60e51b81526004016104b590611827565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105b65760405162461bcd60e51b81526004016104b590611827565b6105c26009600a611802565b6105cf90620591c8611810565b600f556105de6009600a611802565b6105eb90620591c8611810565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61061b6009600a611802565b61062890620591c8611810565b60405190815260200160405180910390a1565b5f6103fc338484610b9a565b5f546001600160a01b031633146106705760405162461bcd60e51b81526004016104b590611827565b601454600160a01b900460ff16156106ca5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b5565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107129030906107056009600a611802565b61047d90620591c8611810565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610762573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107869190611870565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108099190611870565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610853573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108779190611870565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108be816001600160a01b03165f9081526001602052604090205490565b5f806108d15f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610937573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061095c919061188b565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d591906118b6565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a1c5760405162461bcd60e51b81526004016104b590611827565b5f5b815181101561051857600160045f848481518110610a3e57610a3e61185c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610a1e565b6001600160a01b038316610ad95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b5565b6001600160a01b038216610b3a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bfe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b5565b6001600160a01b038216610c605760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b5565b5f8111610cc15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b5565b5f80546001600160a01b03858116911614801590610cec57505f546001600160a01b03848116911614155b15611063576001600160a01b0384165f9081526004602052604090205460ff16158015610d3157506001600160a01b0383165f9081526004602052604090205460ff16155b610d39575f80fd5b610d656064610d5f600b54600e5411610d5457600754610d58565b6009545b85906111d8565b9061125d565b6014549091506001600160a01b038581169116148015610d9357506013546001600160a01b03848116911614155b8015610db757506001600160a01b0383165f9081526003602052604090205460ff16155b15610ebe57600f54821115610e0e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b5565b60105482610e30856001600160a01b03165f9081526001602052604090205490565b610e3a91906118d5565b1115610e885760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b5565b436006546003610e9891906118d5565b1115610ea957823b15610ea9575f80fd5b600e8054905f610eb8836118e8565b91905055505b6014546001600160a01b03848116911614801590610ef457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f735760105482610f1b856001600160a01b03165f9081526001602052604090205490565b610f2591906118d5565b1115610f735760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b5565b6014546001600160a01b038481169116148015610f9957506001600160a01b0384163014155b15610fc657610fc36064610d5f600c54600e5411610fb957600854610d58565b600a5485906111d8565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610ffc57506014546001600160a01b038581169116145b80156110115750601454600160b01b900460ff165b801561101e575060115481115b801561102d5750600d54600e54115b156110615761104f61104a846110458460125461129e565b61129e565b6112b2565b47801561105f5761105f47611422565b505b505b80156110db57305f908152600160205260409020546110829082611459565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d29085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110fd90836114b7565b6001600160a01b0385165f9081526001602052604090205561114061112283836114b7565b6001600160a01b0385165f9081526001602052604090205490611459565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61118985856114b7565b60405190815260200160405180910390a350505050565b5f81848411156111c35760405162461bcd60e51b81526004016104b59190611524565b505f6111cf8486611900565b95945050505050565b5f825f036111e757505f610400565b5f6111f28385611810565b9050826111ff8583611913565b146112565760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b5565b9392505050565b5f61125683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f8565b5f8183116112ac5782611256565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112f8576112f861185c565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561134f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113739190611870565b816001815181106113865761138661185c565b6001600160a01b0392831660209182029290920101526013546113ac9130911684610a77565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e49085905f90869030904290600401611932565b5f604051808303815f87803b1580156113fb575f80fd5b505af115801561140d573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610518573d5f803e3d5ffd5b5f8061146583856118d5565b9050838110156112565760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b5565b5f61125683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111a0565b5f81836115185760405162461bcd60e51b81526004016104b59190611524565b505f6111cf8486611913565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461156d575f80fd5b50565b803561157b81611559565b919050565b5f8060408385031215611591575f80fd5b823561159c81611559565b946020939093013593505050565b5f805f606084860312156115bc575f80fd5b83356115c781611559565b925060208401356115d781611559565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561160d575f80fd5b823567ffffffffffffffff80821115611624575f80fd5b818501915085601f830112611637575f80fd5b813581811115611649576116496115e8565b8060051b604051601f19603f8301168101818110858211171561166e5761166e6115e8565b60405291825284820192508381018501918883111561168b575f80fd5b938501935b828510156116b0576116a185611570565b84529385019392850192611690565b98975050505050505050565b5f602082840312156116cc575f80fd5b813561125681611559565b5f80604083850312156116e8575f80fd5b82356116f381611559565b9150602083013561170381611559565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561175c57815f19048211156117425761174261170e565b8085161561174f57918102915b93841c9390800290611727565b509250929050565b5f8261177257506001610400565b8161177e57505f610400565b8160018114611794576002811461179e576117ba565b6001915050610400565b60ff8411156117af576117af61170e565b50506001821b610400565b5060208310610133831016604e8410600b84101617156117dd575081810a610400565b6117e78383611722565b805f19048211156117fa576117fa61170e565b029392505050565b5f61125660ff841683611764565b80820281158282048414176104005761040061170e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611880575f80fd5b815161125681611559565b5f805f6060848603121561189d575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118c6575f80fd5b81518015158114611256575f80fd5b808201808211156104005761040061170e565b5f600182016118f9576118f961170e565b5060010190565b818103818111156104005761040061170e565b5f8261192d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119825784516001600160a01b03168352938301939183019160010161195d565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b189ac6d48e1bc8dea791ce7f303fe222c35287d4c0d8f8c324d5180a5c83cc864736f6c63430008190033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb14610345578063bf474bed14610364578063c9567bf914610379578063d34628cc1461038d578063dd62ed3e146103ac575f80fd5b8063751039fc146102b35780637d1db4a5146102c75780638da5cb5b146102dc5780638f9a55c01461030257806395d89b4114610317575f80fd5b8063313ce567116100e3578063313ce567146101f857806331c2d847146102135780633bbac5791461023457806370a082311461026b578063715018a61461029f575f80fd5b806306fdde0314610129578063095ea7b3146101735780630faee56f146101a257806318160ddd146101c557806323b872dd146101d9575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152601081526f412054686f7573616e6420596561727360801b60208201525b60405161016a9190611524565b60405180910390f35b34801561017e575f80fd5b5061019261018d366004611580565b6103f0565b604051901515815260200161016a565b3480156101ad575f80fd5b506101b760125481565b60405190815260200161016a565b3480156101d0575f80fd5b506101b7610406565b3480156101e4575f80fd5b506101926101f33660046115aa565b610425565b348015610203575f80fd5b506040516009815260200161016a565b34801561021e575f80fd5b5061023261022d3660046115fc565b61048c565b005b34801561023f575f80fd5b5061019261024e3660046116bc565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610276575f80fd5b506101b76102853660046116bc565b6001600160a01b03165f9081526001602052604090205490565b3480156102aa575f80fd5b5061023261051c565b3480156102be575f80fd5b5061023261058d565b3480156102d2575f80fd5b506101b7600f5481565b3480156102e7575f80fd5b505f546040516001600160a01b03909116815260200161016a565b34801561030d575f80fd5b506101b760105481565b348015610322575f80fd5b5060408051808201909152600681526503336353030360d41b602082015261015d565b348015610350575f80fd5b5061019261035f366004611580565b61063b565b34801561036f575f80fd5b506101b760115481565b348015610384575f80fd5b50610232610647565b348015610398575f80fd5b506102326103a73660046115fc565b6109f3565b3480156103b7575f80fd5b506101b76103c63660046116d7565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103fc338484610a77565b5060015b92915050565b5f6104136009600a611802565b61042090620591c8611810565b905090565b5f610431848484610b9a565b610482843361047d856040518060600160405280602881526020016119a4602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111a0565b610a77565b5060019392505050565b5f546001600160a01b031633146104be5760405162461bcd60e51b81526004016104b590611827565b60405180910390fd5b5f5b8151811015610518575f60045f8484815181106104df576104df61185c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016104c0565b5050565b5f546001600160a01b031633146105455760405162461bcd60e51b81526004016104b590611827565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105b65760405162461bcd60e51b81526004016104b590611827565b6105c26009600a611802565b6105cf90620591c8611810565b600f556105de6009600a611802565b6105eb90620591c8611810565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61061b6009600a611802565b61062890620591c8611810565b60405190815260200160405180910390a1565b5f6103fc338484610b9a565b5f546001600160a01b031633146106705760405162461bcd60e51b81526004016104b590611827565b601454600160a01b900460ff16156106ca5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b5565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107129030906107056009600a611802565b61047d90620591c8611810565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610762573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107869190611870565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108099190611870565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610853573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108779190611870565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108be816001600160a01b03165f9081526001602052604090205490565b5f806108d15f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610937573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061095c919061188b565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d591906118b6565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a1c5760405162461bcd60e51b81526004016104b590611827565b5f5b815181101561051857600160045f848481518110610a3e57610a3e61185c565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610a1e565b6001600160a01b038316610ad95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b5565b6001600160a01b038216610b3a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bfe5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b5565b6001600160a01b038216610c605760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b5565b5f8111610cc15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b5565b5f80546001600160a01b03858116911614801590610cec57505f546001600160a01b03848116911614155b15611063576001600160a01b0384165f9081526004602052604090205460ff16158015610d3157506001600160a01b0383165f9081526004602052604090205460ff16155b610d39575f80fd5b610d656064610d5f600b54600e5411610d5457600754610d58565b6009545b85906111d8565b9061125d565b6014549091506001600160a01b038581169116148015610d9357506013546001600160a01b03848116911614155b8015610db757506001600160a01b0383165f9081526003602052604090205460ff16155b15610ebe57600f54821115610e0e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b5565b60105482610e30856001600160a01b03165f9081526001602052604090205490565b610e3a91906118d5565b1115610e885760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b5565b436006546003610e9891906118d5565b1115610ea957823b15610ea9575f80fd5b600e8054905f610eb8836118e8565b91905055505b6014546001600160a01b03848116911614801590610ef457506001600160a01b0383165f9081526003602052604090205460ff16155b15610f735760105482610f1b856001600160a01b03165f9081526001602052604090205490565b610f2591906118d5565b1115610f735760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b5565b6014546001600160a01b038481169116148015610f9957506001600160a01b0384163014155b15610fc657610fc36064610d5f600c54600e5411610fb957600854610d58565b600a5485906111d8565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610ffc57506014546001600160a01b038581169116145b80156110115750601454600160b01b900460ff165b801561101e575060115481115b801561102d5750600d54600e54115b156110615761104f61104a846110458460125461129e565b61129e565b6112b2565b47801561105f5761105f47611422565b505b505b80156110db57305f908152600160205260409020546110829082611459565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d29085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546110fd90836114b7565b6001600160a01b0385165f9081526001602052604090205561114061112283836114b7565b6001600160a01b0385165f9081526001602052604090205490611459565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61118985856114b7565b60405190815260200160405180910390a350505050565b5f81848411156111c35760405162461bcd60e51b81526004016104b59190611524565b505f6111cf8486611900565b95945050505050565b5f825f036111e757505f610400565b5f6111f28385611810565b9050826111ff8583611913565b146112565760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b5565b9392505050565b5f61125683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f8565b5f8183116112ac5782611256565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112f8576112f861185c565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561134f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113739190611870565b816001815181106113865761138661185c565b6001600160a01b0392831660209182029290920101526013546113ac9130911684610a77565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113e49085905f90869030904290600401611932565b5f604051808303815f87803b1580156113fb575f80fd5b505af115801561140d573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610518573d5f803e3d5ffd5b5f8061146583856118d5565b9050838110156112565760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b5565b5f61125683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111a0565b5f81836115185760405162461bcd60e51b81526004016104b59190611524565b505f6111cf8486611913565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461156d575f80fd5b50565b803561157b81611559565b919050565b5f8060408385031215611591575f80fd5b823561159c81611559565b946020939093013593505050565b5f805f606084860312156115bc575f80fd5b83356115c781611559565b925060208401356115d781611559565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561160d575f80fd5b823567ffffffffffffffff80821115611624575f80fd5b818501915085601f830112611637575f80fd5b813581811115611649576116496115e8565b8060051b604051601f19603f8301168101818110858211171561166e5761166e6115e8565b60405291825284820192508381018501918883111561168b575f80fd5b938501935b828510156116b0576116a185611570565b84529385019392850192611690565b98975050505050505050565b5f602082840312156116cc575f80fd5b813561125681611559565b5f80604083850312156116e8575f80fd5b82356116f381611559565b9150602083013561170381611559565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561175c57815f19048211156117425761174261170e565b8085161561174f57918102915b93841c9390800290611727565b509250929050565b5f8261177257506001610400565b8161177e57505f610400565b8160018114611794576002811461179e576117ba565b6001915050610400565b60ff8411156117af576117af61170e565b50506001821b610400565b5060208310610133831016604e8410600b84101617156117dd575081810a610400565b6117e78383611722565b805f19048211156117fa576117fa61170e565b029392505050565b5f61125660ff841683611764565b80820281158282048414176104005761040061170e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611880575f80fd5b815161125681611559565b5f805f6060848603121561189d575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118c6575f80fd5b81518015158114611256575f80fd5b808201808211156104005761040061170e565b5f600182016118f9576118f961170e565b5060010190565b818103818111156104005761040061170e565b5f8261192d57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119825784516001600160a01b03168352938301939183019160010161195d565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b189ac6d48e1bc8dea791ce7f303fe222c35287d4c0d8f8c324d5180a5c83cc864736f6c63430008190033

Deployed Bytecode Sourcemap

3770:7994:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5611:83;;;;;;;;;;-1:-1:-1;5681:5:0;;;;;;;;;;;;-1:-1:-1;;;5681:5:0;;;;5611:83;;;;;;;:::i;:::-;;;;;;;;6444:161;;;;;;;;;;-1:-1:-1;6444:161:0;;;;;:::i;:::-;;:::i;:::-;;;1197:14:1;;1190:22;1172:41;;1160:2;1145:18;6444:161:0;1032:187:1;4888:48:0;;;;;;;;;;;;;;;;;;;1370:25:1;;;1358:2;1343:18;4888:48:0;1224:177:1;5888:95:0;;;;;;;;;;;;;:::i;6613:313::-;;;;;;;;;;-1:-1:-1;6613:313:0;;;;;:::i;:::-;;:::i;5797:83::-;;;;;;;;;;-1:-1:-1;5797:83:0;;4517:1;2009:36:1;;1997:2;1982:18;5797:83:0;1867:184:1;10754:162:0;;;;;;;;;;-1:-1:-1;10754:162:0;;;;;:::i;:::-;;:::i;:::-;;10924:83;;;;;;;;;;-1:-1:-1;10924:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;10992:7:0;10971:4;10992:7;;;:4;:7;;;;;;;;;10924:83;5991:119;;;;;;;;;;-1:-1:-1;5991:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6084:18:0;6057:7;6084:18;;;:9;:18;;;;;;;5991:119;2851:148;;;;;;;;;;;;;:::i;10315:159::-;;;;;;;;;;;;;:::i;4709:52::-;;;;;;;;;;;;;;;;2637:79;;;;;;;;;;-1:-1:-1;2675:7:0;2702:6;2637:79;;-1:-1:-1;;;;;2702:6:0;;;3712:51:1;;3700:2;3685:18;2637:79:0;3566:203:1;4768:52:0;;;;;;;;;;;;;;;;5702:87;;;;;;;;;;-1:-1:-1;5774:7:0;;;;;;;;;;;;-1:-1:-1;;;5774:7:0;;;;5702:87;;6118:167;;;;;;;;;;-1:-1:-1;6118:167:0;;;;;:::i;:::-;;:::i;4827:54::-;;;;;;;;;;;;;;;;11015:707;;;;;;;;;;;;;:::i;10582:164::-;;;;;;;;;;-1:-1:-1;10582:164:0;;;;;:::i;:::-;;:::i;6293:143::-;;;;;;;;;;-1:-1:-1;6293:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6401:18:0;;;6374:7;6401:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6293:143;6444:161;6519:4;6536:39;471:10;6559:7;6568:6;6536:8;:39::i;:::-;-1:-1:-1;6593:4:0;6444:161;;;;;:::o;5888:95::-;5941:7;4569:13;4517:1;4569:2;:13;:::i;:::-;4560:22;;:6;:22;:::i;:::-;5961:14;;5888:95;:::o;6613:313::-;6711:4;6728:36;6738:6;6746:9;6757:6;6728:9;:36::i;:::-;6775:121;6784:6;471:10;6806:89;6844:6;6806:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6806:19:0;;;;;;:11;:19;;;;;;;;471:10;6806:33;;;;;;;;;;:37;:89::i;:::-;6775:8;:121::i;:::-;-1:-1:-1;6914:4:0;6613:313;;;;;:::o;10754:162::-;2764:6;;-1:-1:-1;;;;;2764:6:0;471:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;;;;;;;;;10827:6:::1;10822:87;10843:6;:13;10839:1;:17;10822:87;;;10894:5;10876:4;:15;10881:6;10888:1;10881:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10876:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10876:15:0;:23;;-1:-1:-1;;10876:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10858:3:0::1;10822:87;;;;10754:162:::0;:::o;2851:148::-;2764:6;;-1:-1:-1;;;;;2764:6:0;471:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;2958:1:::1;2942:6:::0;;2921:40:::1;::::0;-1:-1:-1;;;;;2942:6:0;;::::1;::::0;2921:40:::1;::::0;2958:1;;2921:40:::1;2989:1;2972:19:::0;;-1:-1:-1;;;;;;2972:19:0::1;::::0;;2851:148::o;10315:159::-;2764:6;;-1:-1:-1;;;;;2764:6:0;471:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;4569:13:::1;4517:1;4569:2;:13;:::i;:::-;4560:22;::::0;:6:::1;:22;:::i;:::-;10368:12;:22:::0;4569:13:::1;4517:1;4569:2;:13;:::i;:::-;4560:22;::::0;:6:::1;:22;:::i;:::-;10401:14;:22:::0;10439:27:::1;4569:13;4517:1;4569:2;:13;:::i;:::-;4560:22;::::0;:6:::1;:22;:::i;:::-;10439:27;::::0;1370:25:1;;;1358:2;1343:18;10439:27:0::1;;;;;;;10315:159::o:0;6118:167::-;6196:4;6213:42;471:10;6237:9;6248:6;6213:9;:42::i;11015:707::-;2764:6;;-1:-1:-1;;;;;2764:6:0;471:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;11079:11:::1;::::0;-1:-1:-1;;;11079:11:0;::::1;;;11078:12;11070:47;;;::::0;-1:-1:-1;;;11070:47:0;;6544:2:1;11070:47:0::1;::::0;::::1;6526:21:1::0;6583:2;6563:18;;;6556:30;6622:25;6602:18;;;6595:53;6665:18;;11070:47:0::1;6342:347:1::0;11070:47:0::1;11128:15;:80:::0;;-1:-1:-1;;;;;;11128:80:0::1;11165:42;11128:80:::0;;::::1;::::0;;;11219:58:::1;::::0;11236:4:::1;::::0;4569:13:::1;4517:1;4569:2;:13;:::i;:::-;4560:22;::::0;:6:::1;:22;:::i;11219:58::-;11322:15;;;;;;;;;-1:-1:-1::0;;;;;11322:15:0::1;-1:-1:-1::0;;;;;11322:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11304:55:0::1;;11368:4;11375:15;;;;;;;;;-1:-1:-1::0;;;;;11375:15:0::1;-1:-1:-1::0;;;;;11375:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11304:94;::::0;-1:-1:-1;;;;;;11304:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7180:15:1;;;11304:94:0::1;::::0;::::1;7162:34:1::0;7232:15;;7212:18;;;7205:43;7097:18;;11304:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11288:13;:110:::0;;-1:-1:-1;;;;;11288:110:0;;::::1;-1:-1:-1::0;;;;;;11288:110:0;;::::1;;::::0;;11409:15:::1;::::0;::::1;:31;11448:21;11479:4;11485:24;11479:4:::0;-1:-1:-1;;;;;6084:18:0;6057:7;6084:18;;;:9;:18;;;;;;;5991:119;11485:24:::1;11510:1;11512::::0;11514:7:::1;2675::::0;2702:6;-1:-1:-1;;;;;2702:6:0;;2637:79;11514:7:::1;11409:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11409:129:0;;;-1:-1:-1;;;;;7618:15:1;;;11409:129:0::1;::::0;::::1;7600:34:1::0;7650:18;;;7643:34;;;;7693:18;;;7686:34;;;;7736:18;;;7729:34;7800:15;;;7779:19;;;7772:44;11522:15:0::1;7832:19:1::0;;;7825:35;7534:19;;11409:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11556:13:0::1;::::0;11587:15:::1;::::0;11549:71:::1;::::0;-1:-1:-1;;;11549:71:0;;-1:-1:-1;;;;;11587:15:0;;::::1;11549:71;::::0;::::1;8356:51:1::0;-1:-1:-1;;8423:18:1;;;8416:34;11556:13:0;::::1;::::0;-1:-1:-1;11549:29:0::1;::::0;8329:18:1;;11549:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11631:11:0::1;:18:::0;;-1:-1:-1;;;;11660:18:0;-1:-1:-1;;;11660:18:0;;;11702:12:::1;11689:10;:25:::0;11015:707::o;10582:164::-;2764:6;;-1:-1:-1;;;;;2764:6:0;471:10;2764:22;2756:67;;;;-1:-1:-1;;;2756:67:0;;;;;;;:::i;:::-;10656:6:::1;10651:88;10672:5;:12;10668:1;:16;10651:88;;;10723:4;10706;:14;10711:5;10717:1;10711:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10706:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10706:14:0;:21;;-1:-1:-1;;10706:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10686:3:0::1;10651:88;;6934:335:::0;-1:-1:-1;;;;;7027:19:0;;7019:68;;;;-1:-1:-1;;;7019:68:0;;8945:2:1;7019:68:0;;;8927:21:1;8984:2;8964:18;;;8957:30;9023:34;9003:18;;;8996:62;-1:-1:-1;;;9074:18:1;;;9067:34;9118:19;;7019:68:0;8743:400:1;7019:68:0;-1:-1:-1;;;;;7106:21:0;;7098:68;;;;-1:-1:-1;;;7098:68:0;;9350:2:1;7098:68:0;;;9332:21:1;9389:2;9369:18;;;9362:30;9428:34;9408:18;;;9401:62;-1:-1:-1;;;9479:18:1;;;9472:32;9521:19;;7098:68:0;9148:398:1;7098:68:0;-1:-1:-1;;;;;7177:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7229:32;;1370:25:1;;;7229:32:0;;1343:18:1;7229:32:0;;;;;;;6934:335;;;:::o;7277:2228::-;-1:-1:-1;;;;;7365:18:0;;7357:68;;;;-1:-1:-1;;;7357:68:0;;9753:2:1;7357:68:0;;;9735:21:1;9792:2;9772:18;;;9765:30;9831:34;9811:18;;;9804:62;-1:-1:-1;;;9882:18:1;;;9875:35;9927:19;;7357:68:0;9551:401:1;7357:68:0;-1:-1:-1;;;;;7444:16:0;;7436:64;;;;-1:-1:-1;;;7436:64:0;;10159:2:1;7436:64:0;;;10141:21:1;10198:2;10178:18;;;10171:30;10237:34;10217:18;;;10210:62;-1:-1:-1;;;10288:18:1;;;10281:33;10331:19;;7436:64:0;9957:399:1;7436:64:0;7528:1;7519:6;:10;7511:64;;;;-1:-1:-1;;;7511:64:0;;10563:2:1;7511:64:0;;;10545:21:1;10602:2;10582:18;;;10575:30;10641:34;10621:18;;;10614:62;-1:-1:-1;;;10692:18:1;;;10685:39;10741:19;;7511:64:0;10361:405:1;7511:64:0;7586:17;2702:6;;-1:-1:-1;;;;;7620:15:0;;;2702:6;;7620:15;;;;:32;;-1:-1:-1;2675:7:0;2702:6;-1:-1:-1;;;;;7639:13:0;;;2702:6;;7639:13;;7620:32;7616:1533;;;-1:-1:-1;;;;;7678:10:0;;;;;;:4;:10;;;;;;;;7677:11;:24;;;;-1:-1:-1;;;;;;7693:8:0;;;;;;:4;:8;;;;;;;;7692:9;7677:24;7669:33;;;;;;7729:76;7801:3;7729:67;7751:15;;7741:9;;:25;7740:55;;7781:14;;7740:55;;;7768:12;;7740:55;7729:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7834:13;;7717:88;;-1:-1:-1;;;;;;7826:21:0;;;7834:13;;7826:21;:55;;;;-1:-1:-1;7865:15:0;;-1:-1:-1;;;;;7851:30:0;;;7865:15;;7851:30;;7826:55;:83;;;;-1:-1:-1;;;;;;7887:22:0;;;;;;:18;:22;;;;;;;;7885:24;7826:83;7822:436;;;7949:12;;7939:6;:22;;7931:60;;;;-1:-1:-1;;;7931:60:0;;10973:2:1;7931:60:0;;;10955:21:1;11012:2;10992:18;;;10985:30;11051:27;11031:18;;;11024:55;11096:18;;7931:60:0;10771:349:1;7931:60:0;8044:14;;8034:6;8018:13;8028:2;-1:-1:-1;;;;;6084:18:0;6057:7;6084:18;;;:9;:18;;;;;;;5991:119;8018:13;:22;;;;:::i;:::-;:40;;8010:79;;;;-1:-1:-1;;;8010:79:0;;11457:2:1;8010:79:0;;;11439:21:1;11496:2;11476:18;;;11469:30;11535:28;11515:18;;;11508:56;11581:18;;8010:79:0;11255:350:1;8010:79:0;8132:12;8114:10;;8127:1;8114:14;;;;:::i;:::-;:30;8110:103;;;9752:20;;9800:8;8169:24;;;;;;8231:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7822:436;8284:13;;-1:-1:-1;;;;;8278:19:0;;;8284:13;;8278:19;;;;:47;;-1:-1:-1;;;;;;8303:22:0;;;;;;:18;:22;;;;;;;;8301:24;8278:47;8274:167;;;8380:14;;8370:6;8354:13;8364:2;-1:-1:-1;;;;;6084:18:0;6057:7;6084:18;;;:9;:18;;;;;;;5991:119;8354:13;:22;;;;:::i;:::-;:40;;8346:79;;;;-1:-1:-1;;;8346:79:0;;11457:2:1;8346:79:0;;;11439:21:1;11496:2;11476:18;;;11469:30;11535:28;11515:18;;;11508:56;11581:18;;8346:79:0;11255:350:1;8346:79:0;8466:13;;-1:-1:-1;;;;;8460:19:0;;;8466:13;;8460:19;:43;;;;-1:-1:-1;;;;;;8483:20:0;;8498:4;8483:20;;8460:43;8457:174;;;8536:79;8611:3;8536:70;8558:16;;8548:9;;:26;8547:58;;8590:15;;8547:58;;;8576:13;;8536:6;;:10;:70::i;:79::-;8524:91;;8457:174;8696:4;8647:28;6084:18;;;:9;:18;;;;;;8722:6;;-1:-1:-1;;;8722:6:0;;;;8721:7;:32;;;;-1:-1:-1;8740:13:0;;-1:-1:-1;;;;;8732:21:0;;;8740:13;;8732:21;8721:32;:47;;;;-1:-1:-1;8757:11:0;;-1:-1:-1;;;8757:11:0;;;;8721:47;:89;;;;;8793:17;;8772:20;:38;8721:89;:121;;;;;8824:18;;8814:9;;:28;8721:121;8717:421;;;8863:67;8880:49;8884:6;8891:37;8895:20;8916:11;;8891:3;:37::i;:::-;8880:3;:49::i;:::-;8863:16;:67::i;:::-;8978:21;9021:22;;9018:105;;9068:35;9081:21;9068:12;:35::i;:::-;8844:294;8717:421;7654:1495;7616:1533;9164:11;;9161:161;;9232:4;9214:24;;;;:9;:24;;;;;;:39;;9243:9;9214:28;:39::i;:::-;9207:4;9189:24;;;;:9;:24;;;;;;;:64;;;;9271:39;;-1:-1:-1;;;;;9271:39:0;;;;;;;9300:9;1370:25:1;;1358:2;1343:18;;1224:177;9271:39:0;;;;;;;;9161:161;-1:-1:-1;;;;;9348:15:0;;;;;;:9;:15;;;;;;:27;;9368:6;9348:19;:27::i;:::-;-1:-1:-1;;;;;9332:15:0;;;;;;:9;:15;;;;;:43;9400:40;9418:21;:6;9429:9;9418:10;:21::i;:::-;-1:-1:-1;;;;;9400:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9386:13:0;;;;;;;:9;:13;;;;;:54;;;;9456:41;;;9475:21;:6;9486:9;9475:10;:21::i;:::-;9456:41;;1370:25:1;;;1358:2;1343:18;9456:41:0;;;;;;;7346:2159;7277:2228;;;:::o;1529:190::-;1615:7;1651:12;1643:6;;;;1635:29;;;;-1:-1:-1;;;1635:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1675:9:0;1687:5;1691:1;1687;:5;:::i;:::-;1675:17;1529:190;-1:-1:-1;;;;;1529:190:0:o;1727:246::-;1785:7;1809:1;1814;1809:6;1805:47;;-1:-1:-1;1839:1:0;1832:8;;1805:47;1862:9;1874:5;1878:1;1874;:5;:::i;:::-;1862:17;-1:-1:-1;1907:1:0;1898:5;1902:1;1862:17;1898:5;:::i;:::-;:10;1890:56;;;;-1:-1:-1;;;1890:56:0;;12307:2:1;1890:56:0;;;12289:21:1;12346:2;12326:18;;;12319:30;12385:34;12365:18;;;12358:62;-1:-1:-1;;;12436:18:1;;;12429:31;12477:19;;1890:56:0;12105:397:1;1890:56:0;1964:1;1727:246;-1:-1:-1;;;1727:246:0:o;1981:132::-;2039:7;2066:39;2070:1;2073;2066:39;;;;;;;;;;;;;;;;;:3;:39::i;9515:98::-;9572:7;9599:1;9597;:3;9596:9;;9604:1;9596:9;;;-1:-1:-1;9602:1:0;9515:98;-1:-1:-1;9515:98:0:o;9824:483::-;5218:6;:13;;-1:-1:-1;;;;5218:13:0;-1:-1:-1;;;5218:13:0;;;9926:16:::1;::::0;;9940:1:::1;9926:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9926:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9926:16:0::1;9902:40;;9971:4;9953;9958:1;9953:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9953:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9997:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9997:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9953:7;;9997:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9987:4;9992:1;9987:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9987:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10062:15:::1;::::0;10030:62:::1;::::0;10047:4:::1;::::0;10062:15:::1;10080:11:::0;10030:8:::1;:62::i;:::-;10103:15;::::0;:196:::1;::::0;-1:-1:-1;;;10103:196:0;;-1:-1:-1;;;;;10103:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10184:11;;10103:15:::1;::::0;10226:4;;10253::::1;::::0;10273:15:::1;::::0;10103:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5254:6:0;:14;;-1:-1:-1;;;;5254:14:0;;;-1:-1:-1;;;;9824:483:0:o;10482:92::-;10539:10;;:27;;-1:-1:-1;;;;;10539:10:0;;;;:27;;;;;10559:6;;10539:10;:27;:10;:27;10559:6;10539:10;:27;;;;;;;;;;;;;;;;;;;1198:179;1256:7;;1288:5;1292:1;1288;:5;:::i;:::-;1276:17;;1317:1;1312;:6;;1304:46;;;;-1:-1:-1;;;1304:46:0;;13694:2:1;1304:46:0;;;13676:21:1;13733:2;13713:18;;;13706:30;13772:29;13752:18;;;13745:57;13819:18;;1304:46:0;13492:351:1;1385:136:0;1443:7;1470:43;1474:1;1477;1470:43;;;;;;;;;;;;;;;;;:3;:43::i;2121:189::-;2207:7;2242:12;2235:5;2227:28;;;;-1:-1:-1;;;2227:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2266:9:0;2278:5;2282:1;2278;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:134::-;641:20;;670:31;641:20;670:31;:::i;:::-;573:134;;;:::o;712:315::-;780:6;788;841:2;829:9;820:7;816:23;812:32;809:52;;;857:1;854;847:12;809:52;896:9;883:23;915:31;940:5;915:31;:::i;:::-;965:5;1017:2;1002:18;;;;989:32;;-1:-1:-1;;;712:315:1:o;1406:456::-;1483:6;1491;1499;1552:2;1540:9;1531:7;1527:23;1523:32;1520:52;;;1568:1;1565;1558:12;1520:52;1607:9;1594:23;1626:31;1651:5;1626:31;:::i;:::-;1676:5;-1:-1:-1;1733:2:1;1718:18;;1705:32;1746:33;1705:32;1746:33;:::i;:::-;1406:456;;1798:7;;-1:-1:-1;;;1852:2:1;1837:18;;;;1824:32;;1406:456::o;2056:127::-;2117:10;2112:3;2108:20;2105:1;2098:31;2148:4;2145:1;2138:15;2172:4;2169:1;2162:15;2188:1121;2272:6;2303:2;2346;2334:9;2325:7;2321:23;2317:32;2314:52;;;2362:1;2359;2352:12;2314:52;2402:9;2389:23;2431:18;2472:2;2464:6;2461:14;2458:34;;;2488:1;2485;2478:12;2458:34;2526:6;2515:9;2511:22;2501:32;;2571:7;2564:4;2560:2;2556:13;2552:27;2542:55;;2593:1;2590;2583:12;2542:55;2629:2;2616:16;2651:2;2647;2644:10;2641:36;;;2657:18;;:::i;:::-;2703:2;2700:1;2696:10;2735:2;2729:9;2798:2;2794:7;2789:2;2785;2781:11;2777:25;2769:6;2765:38;2853:6;2841:10;2838:22;2833:2;2821:10;2818:18;2815:46;2812:72;;;2864:18;;:::i;:::-;2900:2;2893:22;2950:18;;;2984:15;;;;-1:-1:-1;3026:11:1;;;3022:20;;;3054:19;;;3051:39;;;3086:1;3083;3076:12;3051:39;3110:11;;;;3130:148;3146:6;3141:3;3138:15;3130:148;;;3212:23;3231:3;3212:23;:::i;:::-;3200:36;;3163:12;;;;3256;;;;3130:148;;;3297:6;2188:1121;-1:-1:-1;;;;;;;;2188:1121:1:o;3314:247::-;3373:6;3426:2;3414:9;3405:7;3401:23;3397:32;3394:52;;;3442:1;3439;3432:12;3394:52;3481:9;3468:23;3500:31;3525:5;3500:31;:::i;3774:388::-;3842:6;3850;3903:2;3891:9;3882:7;3878:23;3874:32;3871:52;;;3919:1;3916;3909:12;3871:52;3958:9;3945:23;3977:31;4002:5;3977:31;:::i;:::-;4027:5;-1:-1:-1;4084:2:1;4069:18;;4056:32;4097:33;4056:32;4097:33;:::i;:::-;4149:7;4139:17;;;3774:388;;;;;:::o;4167:127::-;4228:10;4223:3;4219:20;4216:1;4209:31;4259:4;4256:1;4249:15;4283:4;4280:1;4273:15;4299:416;4388:1;4425:5;4388:1;4439:270;4460:7;4450:8;4447:21;4439:270;;;4519:4;4515:1;4511:6;4507:17;4501:4;4498:27;4495:53;;;4528:18;;:::i;:::-;4578:7;4568:8;4564:22;4561:55;;;4598:16;;;;4561:55;4677:22;;;;4637:15;;;;4439:270;;;4443:3;4299:416;;;;;:::o;4720:806::-;4769:5;4799:8;4789:80;;-1:-1:-1;4840:1:1;4854:5;;4789:80;4888:4;4878:76;;-1:-1:-1;4925:1:1;4939:5;;4878:76;4970:4;4988:1;4983:59;;;;5056:1;5051:130;;;;4963:218;;4983:59;5013:1;5004:10;;5027:5;;;5051:130;5088:3;5078:8;5075:17;5072:43;;;5095:18;;:::i;:::-;-1:-1:-1;;5151:1:1;5137:16;;5166:5;;4963:218;;5265:2;5255:8;5252:16;5246:3;5240:4;5237:13;5233:36;5227:2;5217:8;5214:16;5209:2;5203:4;5200:12;5196:35;5193:77;5190:159;;;-1:-1:-1;5302:19:1;;;5334:5;;5190:159;5381:34;5406:8;5400:4;5381:34;:::i;:::-;5451:6;5447:1;5443:6;5439:19;5430:7;5427:32;5424:58;;;5462:18;;:::i;:::-;5500:20;;4720:806;-1:-1:-1;;;4720:806:1:o;5531:140::-;5589:5;5618:47;5659:4;5649:8;5645:19;5639:4;5618:47;:::i;5676:168::-;5749:9;;;5780;;5797:15;;;5791:22;;5777:37;5767:71;;5818:18;;:::i;5849:356::-;6051:2;6033:21;;;6070:18;;;6063:30;6129:34;6124:2;6109:18;;6102:62;6196:2;6181:18;;5849:356::o;6210:127::-;6271:10;6266:3;6262:20;6259:1;6252:31;6302:4;6299:1;6292:15;6326:4;6323:1;6316:15;6694:251;6764:6;6817:2;6805:9;6796:7;6792:23;6788:32;6785:52;;;6833:1;6830;6823:12;6785:52;6865:9;6859:16;6884:31;6909:5;6884:31;:::i;7871:306::-;7959:6;7967;7975;8028:2;8016:9;8007:7;8003:23;7999:32;7996:52;;;8044:1;8041;8034:12;7996:52;8073:9;8067:16;8057:26;;8123:2;8112:9;8108:18;8102:25;8092:35;;8167:2;8156:9;8152:18;8146:25;8136:35;;7871:306;;;;;:::o;8461:277::-;8528:6;8581:2;8569:9;8560:7;8556:23;8552:32;8549:52;;;8597:1;8594;8587:12;8549:52;8629:9;8623:16;8682:5;8675:13;8668:21;8661:5;8658:32;8648:60;;8704:1;8701;8694:12;11125:125;11190:9;;;11211:10;;;11208:36;;;11224:18;;:::i;11610:135::-;11649:3;11670:17;;;11667:43;;11690:18;;:::i;:::-;-1:-1:-1;11737:1:1;11726:13;;11610:135::o;11750:128::-;11817:9;;;11838:11;;;11835:37;;;11852:18;;:::i;11883:217::-;11923:1;11949;11939:132;;11993:10;11988:3;11984:20;11981:1;11974:31;12028:4;12025:1;12018:15;12056:4;12053:1;12046:15;11939:132;-1:-1:-1;12085:9:1;;11883:217::o;12507:980::-;12769:4;12817:3;12806:9;12802:19;12848:6;12837:9;12830:25;12874:2;12912:6;12907:2;12896:9;12892:18;12885:34;12955:3;12950:2;12939:9;12935:18;12928:31;12979:6;13014;13008:13;13045:6;13037;13030:22;13083:3;13072:9;13068:19;13061:26;;13122:2;13114:6;13110:15;13096:29;;13143:1;13153:195;13167:6;13164:1;13161:13;13153:195;;;13232:13;;-1:-1:-1;;;;;13228:39:1;13216:52;;13323:15;;;;13288:12;;;;13264:1;13182:9;13153:195;;;-1:-1:-1;;;;;;;13404:32:1;;;;13399:2;13384:18;;13377:60;-1:-1:-1;;;13468:3:1;13453:19;13446:35;13365:3;12507:980;-1:-1:-1;;;12507:980:1:o

Swarm Source

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