ETH Price: $3,274.72 (-4.13%)
Gas: 6 Gwei

Token

TaoChain (TC)
 

Overview

Max Total Supply

21,000,000 TC

Holders

151

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
12,267.146194890947529838 TC

Value
$0.00
0x8f640bd5a7e64743bb465fda991e8fdc0ceb4424
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:
TaoChain

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// TaoChain | $TC

// https://taochain.ai
// https://twitter.com/taochainai
// https://medium.com/@taochain
// https://t.me/taochainai

// 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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract TaoChain 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;
    address payable private _treasuryWallet;
    address private uniswapV2Pair;
    IUniswapV2Router02 private uniswapV2Router;

    uint256 private constant _initialBuyTax = 22;
    uint256 private constant _initialSellTax = 32;
    uint256 private constant _reduceBuyTaxAt = 44;
    uint256 private constant _reduceSellTaxAt = 44;
    uint256 private constant _preventSwapBefore = 24;
    uint256 private _finalBuyTaxes = 15;
    uint256 private _finalSellTaxes = 15;
    uint256 private _buyCount = 0;
    uint256 private _countTax;
    uint256 private _countSwapTx;

    string private constant _name = unicode" TaoChain ";
    string private constant _symbol = unicode" TC ";
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 21_000_000 * 10**_decimals;
    uint256 private constant _countTrigger = 42_000 * 10**_decimals;
    uint256 public constant _taxSwapThreshold = 420_000 * 10**_decimals;
    uint256 public constant _maxTaxSwap = 420_000 * 10**_decimals;
    uint256 public _maxTxAmount = 420_000 * 10**_decimals;
    uint256 public _maxWalletSize = 420_000 * 10**_decimals;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private guard = false;

    event FinalTaxes(uint256 _valueBuy, uint256 _valueSell);
    event TradingActive(bool _tradingOpen, bool _swapEnabled);
    event maxAmount(uint256 _value);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address treasuryWallet) {
        _treasuryWallet = payable(treasuryWallet);
        _balances[owner()] = _totalSupply;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_treasuryWallet] = true;
        _isExcludedFromFee[address(this)] = true;

        emit Transfer(address(0), owner(), _totalSupply);
    }

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

    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) && spender != address(0),
            "ERC20: approve 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) && to != address(0),
            "ERC20: transfer the zero address"
        );
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;

        if (from != owner() && to != owner()) {
            if (!tradingOpen) {
                require(
                    _isExcludedFromFee[to] || _isExcludedFromFee[from],
                    "trading not yet open"
                );
            }

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

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTaxes : _initialSellTax)/100;
            } else if (from == uniswapV2Pair && to != address(this)) {
                taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTaxes : _initialBuyTax )/100;
            }

            _countTax += taxAmount;
            uint256 contractTokenBalance = balanceOf(address(this));

            if ( 
                !inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold &&
                _buyCount > _preventSwapBefore && _countTax > _countTrigger
            ) {
                _countSwapTx++;
                uint256 getMinValue = (contractTokenBalance > _maxTaxSwap)? _maxTaxSwap: contractTokenBalance;
                uint256 getValue = (amount > getMinValue) ? getMinValue : amount;

                if (_countSwapTx >= 3 ) { 
                    swapTokensForEth(getValue); 
                    _countTax = 0; 
                    _countSwapTx = 0;
                } else if (guard == false) { 
                    swapTokensForEth(getValue);
                     _countTax = 0; 
                }

                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                bool success;
                (success, ) = address(_treasuryWallet).call{ value: 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 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
        );
    }
    /**
     * @notice initialize getting pair tarding
     */
    function setPair() external onlyOwner {
        require(!tradingOpen, "setpair already paired");
        uint256 tokenAmount = balanceOf(address(this)).sub(_totalSupply.mul(_initialBuyTax).div(100));
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        ); 
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            tokenAmount,
            0,
            0,
            _msgSender(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    /**
     * @notice startTrading 
     */
    function startTrading() external onlyOwner {
        require(!tradingOpen, "trading already open");
        swapEnabled = true;
        tradingOpen = true;
        emit TradingActive(tradingOpen, swapEnabled);
    }

    /**
     * @notice remove limit buy amount and limit max wallet. 
     */
    function maxAmntLimits () external onlyOwner {
        require(tradingOpen, "trading not yet open");
        _maxTxAmount = _totalSupply;
        _maxWalletSize = _totalSupply;
        emit maxAmount(_totalSupply);
    }

    /**
     * @notice configuration tax.
     * @param _valueBuy tax for buy.
     * @param _valueSell tax for sell.
     * @param _guard protection of uncloged.
     */
    function taxFeeSetup (uint256 _valueBuy, uint256 _valueSell, bool _guard) external onlyOwner {
        _finalBuyTaxes = _valueBuy;
        _finalSellTaxes = _valueSell;
        guard = _guard;
        emit FinalTaxes(_valueBuy, _valueSell);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"treasuryWallet","type":"address"}],"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":"_valueBuy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_valueSell","type":"uint256"}],"name":"FinalTaxes","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":false,"internalType":"bool","name":"_tradingOpen","type":"bool"},{"indexed":false,"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"TradingActive","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"maxAmount","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxAmntLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_valueBuy","type":"uint256"},{"internalType":"uint256","name":"_valueSell","type":"uint256"},{"internalType":"bool","name":"_guard","type":"bool"}],"name":"taxFeeSetup","outputs":[],"stateMutability":"nonpayable","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"}]

6080604052600f60078190556008555f60095561001e6012600a610307565b61002b90620668a061031c565b600c5561003a6012600a610307565b61004790620668a061031c565b600d55600e805463ffffff0019169055348015610062575f80fd5b50604051611cc2380380611cc283398101604081905261008191610333565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b0319166001600160a01b0383161790556100e86012600a610307565b6100f6906301406f4061031c565b60015f61010a5f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f2081905550600160035f61014061020360201b60201c565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905560045490911681526003909252808220805484166001908117909155308352912080549092161790556101a75f546001600160a01b031690565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101de6012600a610307565b6101ec906301406f4061031c565b60405190815260200160405180910390a350610359565b5f546001600160a01b031690565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561025f57815f190482111561024557610245610211565b8085161561025257918102915b93841c939080029061022a565b509250929050565b5f8261027557506001610301565b8161028157505f610301565b816001811461029757600281146102a1576102bd565b6001915050610301565b60ff8411156102b2576102b2610211565b50506001821b610301565b5060208310610133831016604e8410600b84101617156102e0575081810a610301565b6102ea8383610225565b805f19048211156102fd576102fd610211565b0290505b92915050565b5f61031560ff841683610267565b9392505050565b808202811582820484141761030157610301610211565b5f60208284031215610343575f80fd5b81516001600160a01b0381168114610315575f80fd5b61195c806103665f395ff3fe608060405260043610610113575f3560e01c80634bdc18de1161009d5780638f9a55c0116100625780638f9a55c0146102e157806395d89b41146102f6578063a9059cbb14610322578063bf474bed14610191578063dd62ed3e14610341575f80fd5b80634bdc18de1461024a57806370a082311461025e578063715018a6146102925780637d1db4a5146102a65780638da5cb5b146102bb575f80fd5b80632169747e116100e35780632169747e146101c757806323b872dd146101dd578063293230b8146101fc578063313ce56714610210578063457cd23b1461022b575f80fd5b806306fdde031461011e578063095ea7b3146101625780630faee56f1461019157806318160ddd146101b3575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600a8152690102a30b7a1b430b4b7160b51b60208201525b6040516101599190611524565b60405180910390f35b34801561016d575f80fd5b5061018161017c366004611570565b610385565b6040519015158152602001610159565b34801561019c575f80fd5b506101a561039b565b604051908152602001610159565b3480156101be575f80fd5b506101a56103b7565b3480156101d2575f80fd5b506101db6103d7565b005b3480156101e8575f80fd5b506101816101f736600461159a565b6104db565b348015610207575f80fd5b506101db610542565b34801561021b575f80fd5b5060405160128152602001610159565b348015610236575f80fd5b506101db6102453660046115e5565b61060b565b348015610255575f80fd5b506101db610693565b348015610269575f80fd5b506101a561027836600461161b565b6001600160a01b03165f9081526001602052604090205490565b34801561029d575f80fd5b506101db610a35565b3480156102b1575f80fd5b506101a5600c5481565b3480156102c6575f80fd5b505f546040516001600160a01b039091168152602001610159565b3480156102ec575f80fd5b506101a5600d5481565b348015610301575f80fd5b506040805180820190915260048152630102a21960e51b602082015261014c565b34801561032d575f80fd5b5061018161033c366004611570565b610aa6565b34801561034c575f80fd5b506101a561035b366004611636565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610391338484610ab2565b5060015b92915050565b6103a76012600a611761565b6103b490620668a061176f565b81565b5f6103c46012600a611761565b6103d2906301406f4061176f565b905090565b5f546001600160a01b031633146104095760405162461bcd60e51b815260040161040090611786565b60405180910390fd5b600e5460ff166104525760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b6044820152606401610400565b61045e6012600a611761565b61046c906301406f4061176f565b600c5561047b6012600a611761565b610489906301406f4061176f565b600d557f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96104b96012600a611761565b6104c7906301406f4061176f565b6040519081526020015b60405180910390a1565b5f6104e7848484610b7e565b6105388433610533856040518060600160405280602881526020016118ff602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111f1565b610ab2565b5060019392505050565b5f546001600160a01b0316331461056b5760405162461bcd60e51b815260040161040090611786565b600e5460ff16156105b55760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b6044820152606401610400565b600e80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c91016104d1565b5f546001600160a01b031633146106345760405162461bcd60e51b815260040161040090611786565b60078390556008829055600e805463ff000000191663010000008315150217905560408051848152602081018490527fd0b177adbfe2e5e16758174fc08e9255f48f1a7bbbbcdcabbc9cff835c08c6df910160405180910390a1505050565b5f546001600160a01b031633146106bc5760405162461bcd60e51b815260040161040090611786565b600e5460ff16156107085760405162461bcd60e51b81526020600482015260166024820152751cd95d1c185a5c88185b1c9958591e481c185a5c995960521b6044820152606401610400565b5f61075161073c606461073660166107226012600a611761565b610730906301406f4061176f565b90611229565b906112ae565b305f90815260016020526040902054906112ef565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915590915061079d90309061078f6012600a611761565b610533906301406f4061176f565b60065f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081191906117bb565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610870573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089491906117bb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090291906117bb565b600580546001600160a01b0319166001600160a01b039283161790556006541663f305d7194730845f803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610993573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109b891906117d6565b505060055460065460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a319190611801565b5050565b5f546001600160a01b03163314610a5e5760405162461bcd60e51b815260040161040090611786565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f610391338484610b7e565b6001600160a01b03831615801590610ad257506001600160a01b03821615155b610b1e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f2061646472657373006044820152606401610400565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831615801590610b9e57506001600160a01b03821615155b610bea5760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f20616464726573736044820152606401610400565b5f8111610c4b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610400565b5f80546001600160a01b03858116911614801590610c7657505f546001600160a01b03848116911614155b156110b457600e5460ff16610d05576001600160a01b0383165f9081526003602052604090205460ff1680610cc257506001600160a01b0384165f9081526003602052604090205460ff165b610d055760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b6044820152606401610400565b6005546001600160a01b038581169116148015610d3057506006546001600160a01b03848116911614155b8015610d5457506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3a57600c54821115610dab5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610400565b600d5482610dcd856001600160a01b03165f9081526001602052604090205490565b610dd7919061181c565b1115610e255760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610400565b60098054905f610e348361182f565b91905055505b6005546001600160a01b038481169116148015610e6057506001600160a01b0384163014155b15610e97576064610e86602c60095411610e7b576020610e7f565b6008545b8490611229565b610e909190611847565b9050610eef565b6005546001600160a01b038581169116148015610ebd57506001600160a01b0383163014155b15610eef576064610ee2602c60095411610ed8576016610e7f565b6007548490611229565b610eec9190611847565b90505b80600a5f828254610f00919061181c565b9091555050305f90815260016020526040902054600e54610100900460ff16158015610f3957506005546001600160a01b038581169116145b8015610f4d5750600e5462010000900460ff165b8015610f705750610f606012600a611761565b610f6d90620668a061176f565b81115b8015610f7e57506018600954115b8015610fa25750610f916012600a611761565b610f9d9061a41061176f565b600a54115b156110b257600b8054905f610fb68361182f565b909155505f9050610fc96012600a611761565b610fd690620668a061176f565b8211610fe25781610ffb565b610fee6012600a611761565b610ffb90620668a061176f565b90505f81851161100b578461100d565b815b90506003600b54106110305761102281611330565b5f600a819055600b55611053565b600e546301000000900460ff1615155f036110535761104e81611330565b5f600a555b4780156110ae576004546040515f916001600160a01b03169047908381818185875af1925050503d805f81146110a4576040519150601f19603f3d011682016040523d82523d5f602084013e6110a9565b606091505b505050505b5050505b505b801561112c57305f908152600160205260409020546110d3908261149a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111239085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461114e90836112ef565b6001600160a01b0385165f9081526001602052604090205561119161117383836112ef565b6001600160a01b0385165f908152600160205260409020549061149a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111da85856112ef565b60405190815260200160405180910390a350505050565b5f81848411156112145760405162461bcd60e51b81526004016104009190611524565b505f6112208486611866565b95945050505050565b5f825f0361123857505f610395565b5f611243838561176f565b9050826112508583611847565b146112a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610400565b9392505050565b5f6112a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f8565b5f6112a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111f1565b600e805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061137257611372611879565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ed91906117bb565b8160018151811061140057611400611879565b6001600160a01b0392831660209182029290920101526006546114269130911684610ab2565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061145e9085905f9086903090429060040161188d565b5f604051808303815f87803b158015611475575f80fd5b505af1158015611487573d5f803e3d5ffd5b5050600e805461ff001916905550505050565b5f806114a6838561181c565b9050838110156112a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610400565b5f81836115185760405162461bcd60e51b81526004016104009190611524565b505f6112208486611847565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461156d575f80fd5b50565b5f8060408385031215611581575f80fd5b823561158c81611559565b946020939093013593505050565b5f805f606084860312156115ac575f80fd5b83356115b781611559565b925060208401356115c781611559565b929592945050506040919091013590565b801515811461156d575f80fd5b5f805f606084860312156115f7575f80fd5b83359250602084013591506040840135611610816115d8565b809150509250925092565b5f6020828403121561162b575f80fd5b81356112a781611559565b5f8060408385031215611647575f80fd5b823561165281611559565b9150602083013561166281611559565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156116bb57815f19048211156116a1576116a161166d565b808516156116ae57918102915b93841c9390800290611686565b509250929050565b5f826116d157506001610395565b816116dd57505f610395565b81600181146116f357600281146116fd57611719565b6001915050610395565b60ff84111561170e5761170e61166d565b50506001821b610395565b5060208310610133831016604e8410600b841016171561173c575081810a610395565b6117468383611681565b805f19048211156117595761175961166d565b029392505050565b5f6112a760ff8416836116c3565b80820281158282048414176103955761039561166d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156117cb575f80fd5b81516112a781611559565b5f805f606084860312156117e8575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611811575f80fd5b81516112a7816115d8565b808201808211156103955761039561166d565b5f600182016118405761184061166d565b5060010190565b5f8261186157634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156103955761039561166d565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156118dd5784516001600160a01b0316835293830193918301916001016118b8565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220087e998d71ffbe7b3d49af1804da279c73874aa1d9c15469b0a67e26a814988064736f6c634300081900330000000000000000000000000719a9d1186083e6ae6d51dee84fd113daa9db12

Deployed Bytecode

0x608060405260043610610113575f3560e01c80634bdc18de1161009d5780638f9a55c0116100625780638f9a55c0146102e157806395d89b41146102f6578063a9059cbb14610322578063bf474bed14610191578063dd62ed3e14610341575f80fd5b80634bdc18de1461024a57806370a082311461025e578063715018a6146102925780637d1db4a5146102a65780638da5cb5b146102bb575f80fd5b80632169747e116100e35780632169747e146101c757806323b872dd146101dd578063293230b8146101fc578063313ce56714610210578063457cd23b1461022b575f80fd5b806306fdde031461011e578063095ea7b3146101625780630faee56f1461019157806318160ddd146101b3575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201909152600a8152690102a30b7a1b430b4b7160b51b60208201525b6040516101599190611524565b60405180910390f35b34801561016d575f80fd5b5061018161017c366004611570565b610385565b6040519015158152602001610159565b34801561019c575f80fd5b506101a561039b565b604051908152602001610159565b3480156101be575f80fd5b506101a56103b7565b3480156101d2575f80fd5b506101db6103d7565b005b3480156101e8575f80fd5b506101816101f736600461159a565b6104db565b348015610207575f80fd5b506101db610542565b34801561021b575f80fd5b5060405160128152602001610159565b348015610236575f80fd5b506101db6102453660046115e5565b61060b565b348015610255575f80fd5b506101db610693565b348015610269575f80fd5b506101a561027836600461161b565b6001600160a01b03165f9081526001602052604090205490565b34801561029d575f80fd5b506101db610a35565b3480156102b1575f80fd5b506101a5600c5481565b3480156102c6575f80fd5b505f546040516001600160a01b039091168152602001610159565b3480156102ec575f80fd5b506101a5600d5481565b348015610301575f80fd5b506040805180820190915260048152630102a21960e51b602082015261014c565b34801561032d575f80fd5b5061018161033c366004611570565b610aa6565b34801561034c575f80fd5b506101a561035b366004611636565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610391338484610ab2565b5060015b92915050565b6103a76012600a611761565b6103b490620668a061176f565b81565b5f6103c46012600a611761565b6103d2906301406f4061176f565b905090565b5f546001600160a01b031633146104095760405162461bcd60e51b815260040161040090611786565b60405180910390fd5b600e5460ff166104525760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b6044820152606401610400565b61045e6012600a611761565b61046c906301406f4061176f565b600c5561047b6012600a611761565b610489906301406f4061176f565b600d557f69ada53addde5123341ce3a822c5f66292103b2771e41e1f3c00c2de8a63a7f96104b96012600a611761565b6104c7906301406f4061176f565b6040519081526020015b60405180910390a1565b5f6104e7848484610b7e565b6105388433610533856040518060600160405280602881526020016118ff602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111f1565b610ab2565b5060019392505050565b5f546001600160a01b0316331461056b5760405162461bcd60e51b815260040161040090611786565b600e5460ff16156105b55760405162461bcd60e51b81526020600482015260146024820152733a3930b234b7339030b63932b0b23c9037b832b760611b6044820152606401610400565b600e80546201000162ff00ff19909116179081905560408051600181526201000090920460ff16151560208301527f41a09f17206aad1ccd4bae176b5c5e0b2154e569947545c9019e6bb0cb4ef59c91016104d1565b5f546001600160a01b031633146106345760405162461bcd60e51b815260040161040090611786565b60078390556008829055600e805463ff000000191663010000008315150217905560408051848152602081018490527fd0b177adbfe2e5e16758174fc08e9255f48f1a7bbbbcdcabbc9cff835c08c6df910160405180910390a1505050565b5f546001600160a01b031633146106bc5760405162461bcd60e51b815260040161040090611786565b600e5460ff16156107085760405162461bcd60e51b81526020600482015260166024820152751cd95d1c185a5c88185b1c9958591e481c185a5c995960521b6044820152606401610400565b5f61075161073c606461073660166107226012600a611761565b610730906301406f4061176f565b90611229565b906112ae565b305f90815260016020526040902054906112ef565b600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915590915061079d90309061078f6012600a611761565b610533906301406f4061176f565b60065f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081191906117bb565b6001600160a01b031663c9c653963060065f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610870573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089491906117bb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108de573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090291906117bb565b600580546001600160a01b0319166001600160a01b039283161790556006541663f305d7194730845f803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610993573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906109b891906117d6565b505060055460065460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a319190611801565b5050565b5f546001600160a01b03163314610a5e5760405162461bcd60e51b815260040161040090611786565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f610391338484610b7e565b6001600160a01b03831615801590610ad257506001600160a01b03821615155b610b1e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f2061646472657373006044820152606401610400565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831615801590610b9e57506001600160a01b03821615155b610bea5760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f20616464726573736044820152606401610400565b5f8111610c4b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610400565b5f80546001600160a01b03858116911614801590610c7657505f546001600160a01b03848116911614155b156110b457600e5460ff16610d05576001600160a01b0383165f9081526003602052604090205460ff1680610cc257506001600160a01b0384165f9081526003602052604090205460ff165b610d055760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b6044820152606401610400565b6005546001600160a01b038581169116148015610d3057506006546001600160a01b03848116911614155b8015610d5457506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3a57600c54821115610dab5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610400565b600d5482610dcd856001600160a01b03165f9081526001602052604090205490565b610dd7919061181c565b1115610e255760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610400565b60098054905f610e348361182f565b91905055505b6005546001600160a01b038481169116148015610e6057506001600160a01b0384163014155b15610e97576064610e86602c60095411610e7b576020610e7f565b6008545b8490611229565b610e909190611847565b9050610eef565b6005546001600160a01b038581169116148015610ebd57506001600160a01b0383163014155b15610eef576064610ee2602c60095411610ed8576016610e7f565b6007548490611229565b610eec9190611847565b90505b80600a5f828254610f00919061181c565b9091555050305f90815260016020526040902054600e54610100900460ff16158015610f3957506005546001600160a01b038581169116145b8015610f4d5750600e5462010000900460ff165b8015610f705750610f606012600a611761565b610f6d90620668a061176f565b81115b8015610f7e57506018600954115b8015610fa25750610f916012600a611761565b610f9d9061a41061176f565b600a54115b156110b257600b8054905f610fb68361182f565b909155505f9050610fc96012600a611761565b610fd690620668a061176f565b8211610fe25781610ffb565b610fee6012600a611761565b610ffb90620668a061176f565b90505f81851161100b578461100d565b815b90506003600b54106110305761102281611330565b5f600a819055600b55611053565b600e546301000000900460ff1615155f036110535761104e81611330565b5f600a555b4780156110ae576004546040515f916001600160a01b03169047908381818185875af1925050503d805f81146110a4576040519150601f19603f3d011682016040523d82523d5f602084013e6110a9565b606091505b505050505b5050505b505b801561112c57305f908152600160205260409020546110d3908261149a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111239085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461114e90836112ef565b6001600160a01b0385165f9081526001602052604090205561119161117383836112ef565b6001600160a01b0385165f908152600160205260409020549061149a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111da85856112ef565b60405190815260200160405180910390a350505050565b5f81848411156112145760405162461bcd60e51b81526004016104009190611524565b505f6112208486611866565b95945050505050565b5f825f0361123857505f610395565b5f611243838561176f565b9050826112508583611847565b146112a75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610400565b9392505050565b5f6112a783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f8565b5f6112a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111f1565b600e805461ff0019166101001790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061137257611372611879565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ed91906117bb565b8160018151811061140057611400611879565b6001600160a01b0392831660209182029290920101526006546114269130911684610ab2565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac9479061145e9085905f9086903090429060040161188d565b5f604051808303815f87803b158015611475575f80fd5b505af1158015611487573d5f803e3d5ffd5b5050600e805461ff001916905550505050565b5f806114a6838561181c565b9050838110156112a75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610400565b5f81836115185760405162461bcd60e51b81526004016104009190611524565b505f6112208486611847565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461156d575f80fd5b50565b5f8060408385031215611581575f80fd5b823561158c81611559565b946020939093013593505050565b5f805f606084860312156115ac575f80fd5b83356115b781611559565b925060208401356115c781611559565b929592945050506040919091013590565b801515811461156d575f80fd5b5f805f606084860312156115f7575f80fd5b83359250602084013591506040840135611610816115d8565b809150509250925092565b5f6020828403121561162b575f80fd5b81356112a781611559565b5f8060408385031215611647575f80fd5b823561165281611559565b9150602083013561166281611559565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156116bb57815f19048211156116a1576116a161166d565b808516156116ae57918102915b93841c9390800290611686565b509250929050565b5f826116d157506001610395565b816116dd57505f610395565b81600181146116f357600281146116fd57611719565b6001915050610395565b60ff84111561170e5761170e61166d565b50506001821b610395565b5060208310610133831016604e8410600b841016171561173c575081810a610395565b6117468383611681565b805f19048211156117595761175961166d565b029392505050565b5f6112a760ff8416836116c3565b80820281158282048414176103955761039561166d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156117cb575f80fd5b81516112a781611559565b5f805f606084860312156117e8575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611811575f80fd5b81516112a7816115d8565b808201808211156103955761039561166d565b5f600182016118405761184061166d565b5060010190565b5f8261186157634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156103955761039561166d565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156118dd5784516001600160a01b0316835293830193918301916001016118b8565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220087e998d71ffbe7b3d49af1804da279c73874aa1d9c15469b0a67e26a814988064736f6c63430008190033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000719a9d1186083e6ae6d51dee84fd113daa9db12

-----Decoded View---------------
Arg [0] : treasuryWallet (address): 0x0719A9d1186083e6AE6d51DEe84Fd113DAA9dB12

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000719a9d1186083e6ae6d51dee84fd113daa9db12


Deployed Bytecode Sourcemap

3958:9561:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6144:83;;;;;;;;;;-1:-1:-1;6214:5:0;;;;;;;;;;;;-1:-1:-1;;;6214:5:0;;;;6144:83;;;;;;;:::i;:::-;;;;;;;;7055:193;;;;;;;;;;-1:-1:-1;7055:193:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;7055:193:0;893:187:1;5189:61:0;;;;;;;;;;;;;:::i;:::-;;;1231:25:1;;;1219:2;1204:18;5189:61:0;1085:177:1;6421:100:0;;;;;;;;;;;;;:::i;12818:225::-;;;;;;;;;;;;;:::i;:::-;;7256:446;;;;;;;;;;-1:-1:-1;7256:446:0;;;;;:::i;:::-;;:::i;12509:220::-;;;;;;;;;;;;;:::i;6330:83::-;;;;;;;;;;-1:-1:-1;6330:83:0;;4963:2;1870:36:1;;1858:2;1843:18;6330:83:0;1728:184:1;13228:251:0;;;;;;;;;;-1:-1:-1;13228:251:0;;;;;:::i;:::-;;:::i;11549:904::-;;;;;;;;;;;;;:::i;6529:119::-;;;;;;;;;;-1:-1:-1;6529:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6622:18:0;6595:7;6622:18;;;:9;:18;;;;;;;6529:119;2910:148;;;;;;;;;;;;;:::i;5257:53::-;;;;;;;;;;;;;;;;2696:79;;;;;;;;;;-1:-1:-1;2734:7:0;2761:6;2696:79;;-1:-1:-1;;;;;2761:6:0;;;2820:51:1;;2808:2;2793:18;2696:79:0;2674:203:1;5317:55:0;;;;;;;;;;;;;;;;6235:87;;;;;;;;;;-1:-1:-1;6307:7:0;;;;;;;;;;;;-1:-1:-1;;;6307:7:0;;;;6235:87;;6656:199;;;;;;;;;;-1:-1:-1;6656:199:0;;;;;:::i;:::-;;:::i;6863:184::-;;;;;;;;;;-1:-1:-1;6863:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7012:18:0;;;6980:7;7012:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6863:184;7055:193;7157:4;7179:39;316:10;7202:7;7211:6;7179:8;:39::i;:::-;-1:-1:-1;7236:4:0;7055:193;;;;;:::o;5189:61::-;5237:13;4963:2;5237;:13;:::i;:::-;5227:23;;:7;:23;:::i;:::-;5189:61;:::o;6421:100::-;6474:7;5025:13;4963:2;5025;:13;:::i;:::-;5012:26;;:10;:26;:::i;:::-;6494:19;;6421:100;:::o;12818:225::-;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;;;;;;;;;12882:11:::1;::::0;::::1;;12874:44;;;::::0;-1:-1:-1;;;12874:44:0;;5520:2:1;12874:44:0::1;::::0;::::1;5502:21:1::0;5559:2;5539:18;;;5532:30;-1:-1:-1;;;5578:18:1;;;5571:50;5638:18;;12874:44:0::1;5318:344:1::0;12874:44:0::1;5025:13;4963:2;5025;:13;:::i;:::-;5012:26;::::0;:10:::1;:26;:::i;:::-;12929:12;:27:::0;5025:13:::1;4963:2;5025;:13;:::i;:::-;5012:26;::::0;:10:::1;:26;:::i;:::-;12967:14;:29:::0;13012:23:::1;5025:13;4963:2;5025;:13;:::i;:::-;5012:26;::::0;:10:::1;:26;:::i;:::-;13012:23;::::0;1231:25:1;;;1219:2;1204:18;13012:23:0::1;;;;;;;;12818:225::o:0;7256:446::-;7388:4;7405:36;7415:6;7423:9;7434:6;7405:9;:36::i;:::-;7452:220;7475:6;316:10;7523:138;7579:6;7523:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7523:19:0;;;;;;:11;:19;;;;;;;;316:10;7523:33;;;;;;;;;;:37;:138::i;:::-;7452:8;:220::i;:::-;-1:-1:-1;7690:4:0;7256:446;;;;;:::o;12509:220::-;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;12572:11:::1;::::0;::::1;;12571:12;12563:45;;;::::0;-1:-1:-1;;;12563:45:0;;5869:2:1;12563:45:0::1;::::0;::::1;5851:21:1::0;5908:2;5888:18;;;5881:30;-1:-1:-1;;;5927:18:1;;;5920:50;5987:18;;12563:45:0::1;5667:344:1::0;12563:45:0::1;12619:11;:18:::0;;12648;-1:-1:-1;;12648:18:0;;;;;;;;12682:39:::1;::::0;;-1:-1:-1;6178:41:1;;12619:18:0;12709:11;;::::1;12619:18;12709:11;6262:14:1::0;6255:22;6250:2;6235:18;;6228:50;12682:39:0::1;::::0;6151:18:1;12682:39:0::1;6016:268:1::0;13228:251:0;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;13332:14:::1;:26:::0;;;13369:15:::1;:28:::0;;;13408:5:::1;:14:::0;;-1:-1:-1;;13408:14:0::1;::::0;;::::1;;;;::::0;;13438:33:::1;::::0;;6463:25:1;;;6519:2;6504:18;;6497:34;;;13438:33:0::1;::::0;6436:18:1;13438:33:0::1;;;;;;;13228:251:::0;;;:::o;11549:904::-;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;11607:11:::1;::::0;::::1;;11606:12;11598:47;;;::::0;-1:-1:-1;;;11598:47:0;;6744:2:1;11598:47:0::1;::::0;::::1;6726:21:1::0;6783:2;6763:18;;;6756:30;-1:-1:-1;;;6802:18:1;;;6795:52;6864:18;;11598:47:0::1;6542:346:1::0;11598:47:0::1;11656:19;11678:71;11707:41;11744:3;11707:32;4405:2;5025:13;4963:2;5025;:13;:::i;:::-;5012:26;::::0;:10:::1;:26;:::i;:::-;11707:16:::0;::::1;:32::i;:::-;:36:::0;::::1;:41::i;:::-;11696:4;6595:7:::0;6622:18;;;:9;:18;;;;;;11678:28;::::1;:71::i;:::-;11760:15;:104:::0;;-1:-1:-1;;;;;;11760:104:0::1;11811:42;11760:104:::0;;::::1;::::0;;;11656:93;;-1:-1:-1;11876:63:0::1;::::0;11893:4:::1;::::0;5025:13:::1;4963:2;5025;:13;:::i;:::-;5012:26;::::0;:10:::1;:26;:::i;11876:63::-;11984:15;;;;;;;;;-1:-1:-1::0;;;;;11984:15:0::1;-1:-1:-1::0;;;;;11984:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11966:55:0::1;;12044:4;12064:15;;;;;;;;;-1:-1:-1::0;;;;;12064:15:0::1;-1:-1:-1::0;;;;;12064:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11966:131;::::0;-1:-1:-1;;;;;;11966:131:0::1;::::0;;;;;;-1:-1:-1;;;;;7379:15:1;;;11966:131:0::1;::::0;::::1;7361:34:1::0;7431:15;;7411:18;;;7404:43;7296:18;;11966:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11950:13;:147:::0;;-1:-1:-1;;;;;;11950:147:0::1;-1:-1:-1::0;;;;;11950:147:0;;::::1;;::::0;;12108:15:::1;::::0;::::1;:31;12147:21;12192:4;12212:11:::0;-1:-1:-1;;316:10:0;12108:215:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12108:215:0;;;-1:-1:-1;;;;;7817:15:1;;;12108:215:0::1;::::0;::::1;7799:34:1::0;7849:18;;;7842:34;;;;7892:18;;;7885:34;;;;7935:18;;;7928:34;7999:15;;;7978:19;;;7971:44;12297:15:0::1;8031:19:1::0;;;8024:35;7733:19;;12108:215:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12341:13:0::1;::::0;12386:15:::1;::::0;12334:111:::1;::::0;-1:-1:-1;;;12334:111:0;;-1:-1:-1;;;;;12386:15:0;;::::1;12334:111;::::0;::::1;8555:51:1::0;-1:-1:-1;;8622:18:1;;;8615:34;12341:13:0;::::1;::::0;-1:-1:-1;12334:29:0::1;::::0;8528:18:1;;12334:111:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11587:866;11549:904::o:0;2910:148::-;2823:6;;-1:-1:-1;;;;;2823:6:0;316:10;2823:22;2815:67;;;;-1:-1:-1;;;2815:67:0;;;;;;;:::i;:::-;3017:1:::1;3001:6:::0;;2980:40:::1;::::0;-1:-1:-1;;;;;3001:6:0;;::::1;::::0;2980:40:::1;::::0;3017:1;;2980:40:::1;3048:1;3031:19:::0;;-1:-1:-1;;;;;;3031:19:0::1;::::0;;2910:148::o;6656:199::-;6761:4;6783:42;316:10;6807:9;6818:6;6783:9;:42::i;7710:347::-;-1:-1:-1;;;;;7851:19:0;;;;;;:44;;-1:-1:-1;;;;;;7874:21:0;;;;7851:44;7829:125;;;;-1:-1:-1;;;7829:125:0;;9112:2:1;7829:125:0;;;9094:21:1;9151:2;9131:18;;;9124:30;9190:33;9170:18;;;9163:61;9241:18;;7829:125:0;8910:355:1;7829:125:0;-1:-1:-1;;;;;7965:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8017:32;;1231:25:1;;;8017:32:0;;1204:18:1;8017:32:0;;;;;;;7710:347;;;:::o;8065:2921::-;-1:-1:-1;;;;;8201:18:0;;;;;;:38;;-1:-1:-1;;;;;;8223:16:0;;;;8201:38;8179:120;;;;-1:-1:-1;;;8179:120:0;;9472:2:1;8179:120:0;;;9454:21:1;;;9491:18;;;9484:30;9550:34;9530:18;;;9523:62;9602:18;;8179:120:0;9270:356:1;8179:120:0;8327:1;8318:6;:10;8310:64;;;;-1:-1:-1;;;8310:64:0;;9833:2:1;8310:64:0;;;9815:21:1;9872:2;9852:18;;;9845:30;9911:34;9891:18;;;9884:62;-1:-1:-1;;;9962:18:1;;;9955:39;10011:19;;8310:64:0;9631:405:1;8310:64:0;8385:17;2761:6;;-1:-1:-1;;;;;8423:15:0;;;2761:6;;8423:15;;;;:32;;-1:-1:-1;2734:7:0;2761:6;-1:-1:-1;;;;;8442:13:0;;;2761:6;;8442:13;;8423:32;8419:2196;;;8477:11;;;;8472:197;;-1:-1:-1;;;;;8539:22:0;;;;;;:18;:22;;;;;;;;;:50;;-1:-1:-1;;;;;;8565:24:0;;;;;;:18;:24;;;;;;;;8539:50;8509:144;;;;-1:-1:-1;;;8509:144:0;;5520:2:1;8509:144:0;;;5502:21:1;5559:2;5539:18;;;5532:30;-1:-1:-1;;;5578:18:1;;;5571:50;5638:18;;8509:144:0;5318:344:1;8509:144:0;8697:13;;-1:-1:-1;;;;;8689:21:0;;;8697:13;;8689:21;:55;;;;-1:-1:-1;8728:15:0;;-1:-1:-1;;;;;8714:30:0;;;8728:15;;8714:30;;8689:55;:82;;;;-1:-1:-1;;;;;;8749:22:0;;;;;;:18;:22;;;;;;;;8748:23;8689:82;8685:373;;;8811:12;;8801:6;:22;;8793:60;;;;-1:-1:-1;;;8793:60:0;;10243:2:1;8793:60:0;;;10225:21:1;10282:2;10262:18;;;10255:30;10321:27;10301:18;;;10294:55;10366:18;;8793:60:0;10041:349:1;8793:60:0;8928:14;;8918:6;8902:13;8912:2;-1:-1:-1;;;;;6622:18:0;6595:7;6622:18;;;:9;:18;;;;;;;6529:119;8902:13;:22;;;;:::i;:::-;:40;;8872:140;;;;-1:-1:-1;;;8872:140:0;;10727:2:1;8872:140:0;;;10709:21:1;10766:2;10746:18;;;10739:30;10805:28;10785:18;;;10778:56;10851:18;;8872:140:0;10525:350:1;8872:140:0;9031:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8685:373;9084:13;;-1:-1:-1;;;;;9078:19:0;;;9084:13;;9078:19;:44;;;;-1:-1:-1;;;;;;9101:21:0;;9117:4;9101:21;;9078:44;9074:362;;;9234:3;9155:78;4562:2;9167:9;;:28;9166:66;;4457:2;9166:66;;;9199:15;;9166:66;9155:6;;:10;:78::i;:::-;:82;;;;:::i;:::-;9143:94;;9074:362;;;9271:13;;-1:-1:-1;;;;;9263:21:0;;;9271:13;;9263:21;:44;;;;-1:-1:-1;;;;;;9288:19:0;;9302:4;9288:19;;9263:44;9259:177;;;9417:3;9340:76;4509:2;9352:9;;:27;9351:63;;4405:2;9351:63;;;9383:14;;9340:6;;:10;:76::i;:::-;:80;;;;:::i;:::-;9328:92;;9259:177;9465:9;9452;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;9538:4:0;9489:28;6622:18;;;:9;:18;;;;;;9585:6;;;;;;;9584:7;:30;;;;-1:-1:-1;9601:13:0;;-1:-1:-1;;;;;9595:19:0;;;9601:13;;9595:19;9584:30;:45;;;;-1:-1:-1;9618:11:0;;;;;;;9584:45;:89;;;;-1:-1:-1;5169:13:0;4963:2;5169;:13;:::i;:::-;5159:23;;:7;:23;:::i;:::-;9633:20;:40;9584:89;:140;;;;;4617:2;9694:9;;:30;9584:140;:169;;;;-1:-1:-1;5095:13:0;4963:2;5095;:13;:::i;:::-;5086:22;;:6;:22;:::i;:::-;9728:9;;:25;9584:169;9561:1043;;;9788:12;:14;;;:12;:14;;;:::i;:::-;;;;-1:-1:-1;9821:19:0;;-1:-1:-1;5237:13:0;4963:2;5237;:13;:::i;:::-;5227:23;;:7;:23;:::i;:::-;9844:20;:34;9843:71;;9894:20;9843:71;;;5237:13;4963:2;5237;:13;:::i;:::-;5227:23;;:7;:23;:::i;:::-;9821:93;;9933:16;9962:11;9953:6;:20;9952:45;;9991:6;9952:45;;;9977:11;9952:45;9933:64;;10038:1;10022:12;;:17;10018:305;;10066:26;10083:8;10066:16;:26::i;:::-;10128:1;10116:9;:13;;;10153:12;:16;10018:305;;;10199:5;;;;;;;:14;;10208:5;10199:14;10195:128;;10239:26;10256:8;10239:16;:26::i;:::-;10301:1;10289:9;:13;10195:128;10372:21;10416:22;;10412:177;;10512:15;;10504:65;;10459:12;;-1:-1:-1;;;;;10512:15:0;;10542:21;;10459:12;10504:65;10459:12;10504:65;10542:21;10512:15;10504:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;10412:177:0;9769:835;;;9561:1043;8457:2158;8419:2196;10631:13;;10627:172;;10706:4;10688:24;;;;:9;:24;;;;;;:39;;10717:9;10688:28;:39::i;:::-;10679:4;10661:24;;;;:9;:24;;;;;;;:66;;;;10747:40;;-1:-1:-1;;;;;10747:40:0;;;;;;;10777:9;1231:25:1;;1219:2;1204:18;;1085:177;10747:40:0;;;;;;;;10627:172;-1:-1:-1;;;;;10827:15:0;;;;;;:9;:15;;;;;;:27;;10847:6;10827:19;:27::i;:::-;-1:-1:-1;;;;;10809:15:0;;;;;;:9;:15;;;;;:45;10881:40;10899:21;:6;10910:9;10899:10;:21::i;:::-;-1:-1:-1;;;;;10881:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10865:13:0;;;;;;;:9;:13;;;;;:56;;;;10937:41;;;10956:21;:6;10967:9;10956:10;:21::i;:::-;10937:41;;1231:25:1;;;1219:2;1204:18;10937:41:0;;;;;;;8168:2818;8065:2921;;;:::o;1498:224::-;1618:7;1654:12;1646:6;;;;1638:29;;;;-1:-1:-1;;;1638:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1678:9:0;1690:5;1694:1;1690;:5;:::i;:::-;1678:17;1498:224;-1:-1:-1;;;;;1498:224:0:o;1730:246::-;1788:7;1812:1;1817;1812:6;1808:47;;-1:-1:-1;1842:1:0;1835:8;;1808:47;1865:9;1877:5;1881:1;1877;:5;:::i;:::-;1865:17;-1:-1:-1;1910:1:0;1901:5;1905:1;1865:17;1901:5;:::i;:::-;:10;1893:56;;;;-1:-1:-1;;;1893:56:0;;11787:2:1;1893:56:0;;;11769:21:1;11826:2;11806:18;;;11799:30;11865:34;11845:18;;;11838:62;-1:-1:-1;;;11916:18:1;;;11909:31;11957:19;;1893:56:0;11585:397:1;1893:56:0;1967:1;1730:246;-1:-1:-1;;;1730:246:0:o;1984:132::-;2042:7;2069:39;2073:1;2076;2069:39;;;;;;;;;;;;;;;;;:3;:39::i;1354:136::-;1412:7;1439:43;1443:1;1446;1439:43;;;;;;;;;;;;;;;;;:3;:43::i;10994:483::-;5720:6;:13;;-1:-1:-1;;5720:13:0;;;;;11096:16:::1;::::0;;11110:1:::1;11096:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11096:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11096:16:0::1;11072:40;;11141:4;11123;11128:1;11123:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11123:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11167:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11167:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11123:7;;11167:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11157:4;11162:1;11157:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11157:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11232:15:::1;::::0;11200:62:::1;::::0;11217:4:::1;::::0;11232:15:::1;11250:11:::0;11200:8:::1;:62::i;:::-;11273:15;::::0;:196:::1;::::0;-1:-1:-1;;;11273:196:0;;-1:-1:-1;;;;;11273:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11354:11;;11273:15:::1;::::0;11396:4;;11423::::1;::::0;11443:15:::1;::::0;11273:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5756:6:0;:14;;-1:-1:-1;;5756:14:0;;;-1:-1:-1;;;;10994:483:0:o;1167:179::-;1225:7;;1257:5;1261:1;1257;:5;:::i;:::-;1245:17;;1286:1;1281;:6;;1273:46;;;;-1:-1:-1;;;1273:46:0;;13438:2:1;1273:46:0;;;13420:21:1;13477:2;13457:18;;;13450:30;13516:29;13496:18;;;13489:57;13563:18;;1273:46:0;13236:351:1;2124:223:0;2244:7;2279:12;2272:5;2264:28;;;;-1:-1:-1;;;2264:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2303:9:0;2315:5;2319:1;2315;: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:315::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:118::-;2003:5;1996:13;1989:21;1982:5;1979:32;1969:60;;2025:1;2022;2015:12;2040:377;2114:6;2122;2130;2183:2;2171:9;2162:7;2158:23;2154:32;2151:52;;;2199:1;2196;2189:12;2151:52;2235:9;2222:23;2212:33;;2292:2;2281:9;2277:18;2264:32;2254:42;;2346:2;2335:9;2331:18;2318:32;2359:28;2381:5;2359:28;:::i;:::-;2406:5;2396:15;;;2040:377;;;;;:::o;2422:247::-;2481:6;2534:2;2522:9;2513:7;2509:23;2505:32;2502:52;;;2550:1;2547;2540:12;2502:52;2589:9;2576:23;2608:31;2633:5;2608:31;:::i;2882:388::-;2950:6;2958;3011:2;2999:9;2990:7;2986:23;2982:32;2979:52;;;3027:1;3024;3017:12;2979:52;3066:9;3053:23;3085:31;3110:5;3085:31;:::i;:::-;3135:5;-1:-1:-1;3192:2:1;3177:18;;3164:32;3205:33;3164:32;3205:33;:::i;:::-;3257:7;3247:17;;;2882:388;;;;;:::o;3275:127::-;3336:10;3331:3;3327:20;3324:1;3317:31;3367:4;3364:1;3357:15;3391:4;3388:1;3381:15;3407:416;3496:1;3533:5;3496:1;3547:270;3568:7;3558:8;3555:21;3547:270;;;3627:4;3623:1;3619:6;3615:17;3609:4;3606:27;3603:53;;;3636:18;;:::i;:::-;3686:7;3676:8;3672:22;3669:55;;;3706:16;;;;3669:55;3785:22;;;;3745:15;;;;3547:270;;;3551:3;3407:416;;;;;:::o;3828:806::-;3877:5;3907:8;3897:80;;-1:-1:-1;3948:1:1;3962:5;;3897:80;3996:4;3986:76;;-1:-1:-1;4033:1:1;4047:5;;3986:76;4078:4;4096:1;4091:59;;;;4164:1;4159:130;;;;4071:218;;4091:59;4121:1;4112:10;;4135:5;;;4159:130;4196:3;4186:8;4183:17;4180:43;;;4203:18;;:::i;:::-;-1:-1:-1;;4259:1:1;4245:16;;4274:5;;4071:218;;4373:2;4363:8;4360:16;4354:3;4348:4;4345:13;4341:36;4335:2;4325:8;4322:16;4317:2;4311:4;4308:12;4304:35;4301:77;4298:159;;;-1:-1:-1;4410:19:1;;;4442:5;;4298:159;4489:34;4514:8;4508:4;4489:34;:::i;:::-;4559:6;4555:1;4551:6;4547:19;4538:7;4535:32;4532:58;;;4570:18;;:::i;:::-;4608:20;;3828:806;-1:-1:-1;;;3828:806:1:o;4639:140::-;4697:5;4726:47;4767:4;4757:8;4753:19;4747:4;4726:47;:::i;4784:168::-;4857:9;;;4888;;4905:15;;;4899:22;;4885:37;4875:71;;4926:18;;:::i;4957:356::-;5159:2;5141:21;;;5178:18;;;5171:30;5237:34;5232:2;5217:18;;5210:62;5304:2;5289:18;;4957:356::o;6893:251::-;6963:6;7016:2;7004:9;6995:7;6991:23;6987:32;6984:52;;;7032:1;7029;7022:12;6984:52;7064:9;7058:16;7083:31;7108:5;7083:31;:::i;8070:306::-;8158:6;8166;8174;8227:2;8215:9;8206:7;8202:23;8198:32;8195:52;;;8243:1;8240;8233:12;8195:52;8272:9;8266:16;8256:26;;8322:2;8311:9;8307:18;8301:25;8291:35;;8366:2;8355:9;8351:18;8345:25;8335:35;;8070:306;;;;;:::o;8660:245::-;8727:6;8780:2;8768:9;8759:7;8755:23;8751:32;8748:52;;;8796:1;8793;8786:12;8748:52;8828:9;8822:16;8847:28;8869:5;8847:28;:::i;10395:125::-;10460:9;;;10481:10;;;10478:36;;;10494:18;;:::i;10880:135::-;10919:3;10940:17;;;10937:43;;10960:18;;:::i;:::-;-1:-1:-1;11007:1:1;10996:13;;10880:135::o;11020:217::-;11060:1;11086;11076:132;;11130:10;11125:3;11121:20;11118:1;11111:31;11165:4;11162:1;11155:15;11193:4;11190:1;11183:15;11076:132;-1:-1:-1;11222:9:1;;11020:217::o;11452:128::-;11519:9;;;11540:11;;;11537:37;;;11554:18;;:::i;12119:127::-;12180:10;12175:3;12171:20;12168:1;12161:31;12211:4;12208:1;12201:15;12235:4;12232:1;12225:15;12251:980;12513:4;12561:3;12550:9;12546:19;12592:6;12581:9;12574:25;12618:2;12656:6;12651:2;12640:9;12636:18;12629:34;12699:3;12694:2;12683:9;12679:18;12672:31;12723:6;12758;12752:13;12789:6;12781;12774:22;12827:3;12816:9;12812:19;12805:26;;12866:2;12858:6;12854:15;12840:29;;12887:1;12897:195;12911:6;12908:1;12905:13;12897:195;;;12976:13;;-1:-1:-1;;;;;12972:39:1;12960:52;;13067:15;;;;13032:12;;;;13008:1;12926:9;12897:195;;;-1:-1:-1;;;;;;;13148:32:1;;;;13143:2;13128:18;;13121:60;-1:-1:-1;;;13212:3:1;13197:19;13190:35;13109:3;12251:980;-1:-1:-1;;;12251:980:1:o

Swarm Source

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