ETH Price: $3,232.95 (-0.66%)
Gas: 1 Gwei

Token

𝕏 ₿itcoin (𝕏₿)
 

Overview

Max Total Supply

21,000,000 𝕏₿

Holders

21

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
51.117360837067313767 𝕏₿

Value
$0.00
0xd62afbb52fb77fadada16fe5ad1c717ff8bbe13c
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:
ERC20

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/*
 * Twitter : https://twitter.com/XBTCERC
 * Telegram : https://t.me/XBTCERC
*/

interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    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);
}

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

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

abstract contract Ownable {
    address internal _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract ERC20 is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public _isExcludeFromFee;
    
    uint256 private _totalSupply;

    IUniswapRouter public _uniswapRouter;

    mapping(address => bool) public isMarketPair;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFundFee = 30;
    uint256 public _sellFundFee = 70;

    address public _uniswapPair;

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

    address public WETH;
    constructor (){
        _name = unicode"𝕏 ₿itcoin";
        _symbol = unicode"𝕏₿";
        _decimals = 18;
        uint256 Supply = 21000000;
        _totalSupply = Supply * 10 ** _decimals;

        address receiveAddr = msg.sender;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);
        fundAddress = receiveAddr;
        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[fundAddress] = true;
    }

    function openTrading() public payable onlyOwner{
        require(address(_uniswapRouter) == address(0),"trading is already open");
        _uniswapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _isExcludeFromFee[address(_uniswapRouter)] = true;
        _approve(address(this), address(_uniswapRouter), MAX);
        WETH = _uniswapRouter.WETH();
        _uniswapPair = IUniswapFactory(_uniswapRouter.factory()).createPair(address(this), WETH);
        isMarketPair[_uniswapPair] = true;
        _uniswapRouter.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
    }

    function designTax(
        uint256 _newBuy,
        uint256 _newSell
    ) public onlyOwner{
        _buyFundFee = _newBuy;
        _sellFundFee = _newSell;
        // require(_buyFundFee <= 20 && _sellFundFee <= 20,"too high");
    }

    function setFundAddr(address newAddr) public onlyOwner{
        fundAddress = newAddr;
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view 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(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    bool public isRemainHolder = true;
    function changeRemain() public onlyOwner{
        isRemainHolder = !isRemainHolder;
    }

    function getValue(uint Token)public  view returns (uint){
        if(WETH == address(0)) return 0;
        if(IERC20(WETH).balanceOf(_uniswapPair) > 0){
            address[] memory path = new address[](2);
            uint[] memory amount;
            path[0]=address(this);
            path[1]=WETH;
            amount = _uniswapRouter.getAmountsOut(Token,path); 
            return amount[1];
        }else {
            return 0; 
        }
    }

    uint256 public limitAmounts = 0.3 ether;
    function setLimitAmounts(uint256 newValue) public onlyOwner{
        limitAmounts = newValue;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(balanceOf(from) >= amount, "balanceNotEnough");

        bool takeFee;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 numTokensSellToFund = amount;
                numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? 
                                                            contractTokenBalance:numTokensSellToFund;
                swapTokenForETH(numTokensSellToFund);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            takeFee = true;
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && isRemainHolder){
            if (amount == _balances[from]){ // remain holders
                amount = amount - (amount / 10000);
            }
            if (isMarketPair[from] && limitAmounts != 0){
                require(getValue(amount) <= limitAmounts);
            }
        }

        if (takeFee && !isMarketPair[from] && !isMarketPair[to]){
            takeFee = false;
        }

        _transferToken(from, to, amount, takeFee);
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            uint256 taxFee;
            if (isMarketPair[recipient]) {
                taxFee = _sellFundFee;
            } else {
                taxFee = _buyFundFee;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);
    }

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        if (address(_uniswapRouter) == address(0)) return;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(fundAddress),
            block.timestamp
        ) {} catch {}
        
    }

    function setIsExcludeFromFees(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    function removeERC20(address token) external {
        if (token == address(0)){
            payable(fundAddress).transfer(address(this).balance);
        }else{
            IERC20(token).transfer(fundAddress, IERC20(token).balanceOf(address(this)));
        }
    }

    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":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":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"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":"changeRemain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBuy","type":"uint256"},{"internalType":"uint256","name":"_newSell","type":"uint256"}],"name":"designTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"Token","type":"uint256"}],"name":"getValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isRemainHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitAmounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"removeERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setLimitAmounts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601e600c556046600d55600f805460ff60a01b1916600160a01b179055670429d069189e00006010553480156200003a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600e81526d784ecac79071415fb4ba31b7b4b760911b6020820152600490620000b0908262000266565b50604080518082019091526007815266f09d958fe282bf60c81b6020820152600590620000de908262000266565b506006805460ff191660129081179091556301406f40906200010290600a62000447565b6200010e90826200045f565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319166001600160a01b03928316908117825530600090815260076020526040808220805460ff1990811660019081179092559383528183208054851682179055935490941681529290922080549092161790555062000479565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001ec57607f821691505b6020821081036200020d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200026157600081815260208120601f850160051c810160208610156200023c5750805b601f850160051c820191505b818110156200025d5782815560010162000248565b5050505b505050565b81516001600160401b03811115620002825762000282620001c1565b6200029a81620002938454620001d7565b8462000213565b602080601f831160018114620002d25760008415620002b95750858301515b600019600386901b1c1916600185901b1785556200025d565b600085815260208120601f198616915b828110156200030357888601518255948401946001909101908401620002e2565b5085821015620003225787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003895781600019048211156200036d576200036d62000332565b808516156200037b57918102915b93841c93908002906200034d565b509250929050565b600082620003a25750600162000441565b81620003b15750600062000441565b8160018114620003ca5760028114620003d557620003f5565b600191505062000441565b60ff841115620003e957620003e962000332565b50506001821b62000441565b5060208310610133831016604e8410600b84101617156200041a575081810a62000441565b62000426838362000348565b80600019048211156200043d576200043d62000332565b0290505b92915050565b60006200045860ff84168362000391565b9392505050565b808202811582820484141762000441576200044162000332565b611a9480620004896000396000f3fe6080604052600436106101d15760003560e01c8063715018a6116100f7578063bc76c05211610095578063dd62ed3e11610064578063dd62ed3e1461053f578063e82bef2914610585578063f2fde38b146105a5578063f509911e146105c557600080fd5b8063bc76c052146104ec578063c9567bf914610501578063ce0192f914610509578063d2aa39e91461051f57600080fd5b806395d89b41116100d157806395d89b4114610477578063a67755c21461048c578063a9059cbb146104ac578063ad5c4648146104cc57600080fd5b8063715018a614610424578063863587cd146104395780638da5cb5b1461045957600080fd5b806336b2e0271161016f57806365b61b771161013e57806365b61b771461038d5780636e5fba6f146103ad5780636f39cfcd146103ce57806370a08231146103ee57600080fd5b806336b2e027146102df5780633bfe62ca1461030f5780633ecad271146103255780634bf28fd01461035557600080fd5b80630ff4c916116101ab5780630ff4c9161461025a57806318160ddd1461028857806323b872dd1461029d578063313ce567146102bd57600080fd5b8063021b9828146101dd57806306fdde03146101ff578063095ea7b31461022a57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101fd6101f83660046115d4565b6105db565b005b34801561020b57600080fd5b50610214610613565b60405161022191906115ed565b60405180910390f35b34801561023657600080fd5b5061024a610245366004611650565b6106a5565b6040519015158152602001610221565b34801561026657600080fd5b5061027a6102753660046115d4565b6106bc565b604051908152602001610221565b34801561029457600080fd5b5060085461027a565b3480156102a957600080fd5b5061024a6102b836600461167c565b61086c565b3480156102c957600080fd5b5060065460405160ff9091168152602001610221565b3480156102eb57600080fd5b5061024a6102fa3660046116bd565b60076020526000908152604090205460ff1681565b34801561031b57600080fd5b5061027a600d5481565b34801561033157600080fd5b5061024a6103403660046116bd565b600a6020526000908152604090205460ff1681565b34801561036157600080fd5b50600e54610375906001600160a01b031681565b6040516001600160a01b039091168152602001610221565b34801561039957600080fd5b50600954610375906001600160a01b031681565b3480156103b957600080fd5b50600f5461024a90600160a01b900460ff1681565b3480156103da57600080fd5b506101fd6103e93660046116bd565b610903565b3480156103fa57600080fd5b5061027a6104093660046116bd565b6001600160a01b031660009081526001602052604090205490565b34801561043057600080fd5b506101fd61094f565b34801561044557600080fd5b506101fd6104543660046116ef565b6109c3565b34801561046557600080fd5b506000546001600160a01b0316610375565b34801561048357600080fd5b50610214610a18565b34801561049857600080fd5b506101fd6104a73660046116bd565b610a27565b3480156104b857600080fd5b5061024a6104c7366004611650565b610b5b565b3480156104d857600080fd5b50600f54610375906001600160a01b031681565b3480156104f857600080fd5b506101fd610b68565b6101fd610bb3565b34801561051557600080fd5b5061027a600c5481565b34801561052b57600080fd5b506101fd61053a366004611728565b610f1b565b34801561054b57600080fd5b5061027a61055a36600461174a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561059157600080fd5b50600354610375906001600160a01b031681565b3480156105b157600080fd5b506101fd6105c03660046116bd565b610f50565b3480156105d157600080fd5b5061027a60105481565b6000546001600160a01b0316331461060e5760405162461bcd60e51b815260040161060590611778565b60405180910390fd5b601055565b606060048054610622906117a3565b80601f016020809104026020016040519081016040528092919081815260200182805461064e906117a3565b801561069b5780601f106106705761010080835404028352916020019161069b565b820191906000526020600020905b81548152906001019060200180831161067e57829003601f168201915b5050505050905090565b60006106b2338484611016565b5060015b92915050565b600f546000906001600160a01b03166106d757506000919050565b600f54600e546040516370a0823160e01b81526001600160a01b03918216600482015260009291909116906370a0823190602401602060405180830381865afa158015610728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074c91906117dd565b111561086457604080516002808252606082018352600092602083019080368337019050509050606030826000815181106107895761078961180c565b6001600160a01b039283166020918202929092010152600f548351911690839060019081106107ba576107ba61180c565b6001600160a01b03928316602091820292909201015260095460405163d06ca61f60e01b815291169063d06ca61f906107f99087908690600401611866565b600060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261083e9190810190611887565b9050806001815181106108535761085361180c565b602002602001015192505050919050565b506000919050565b6000610879848484611077565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146108f9576001600160a01b03841660009081526002602090815260408083203384529091529020546108d490839061195b565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461092d5760405162461bcd60e51b815260040161060590611778565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109795760405162461bcd60e51b815260040161060590611778565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109ed5760405162461bcd60e51b815260040161060590611778565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b606060058054610622906117a3565b6001600160a01b038116610a72576003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610a6e573d6000803e3d6000fd5b5050565b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610ac5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae991906117dd565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6e919061196e565b50565b60006106b2338484611077565b6000546001600160a01b03163314610b925760405162461bcd60e51b815260040161060590611778565b600f805460ff60a01b198116600160a01b9182900460ff1615909102179055565b6000546001600160a01b03163314610bdd5760405162461bcd60e51b815260040161060590611778565b6009546001600160a01b031615610c365760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610605565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600081905260076020527ffd21a1ac9a14dff647460ce8ad2ccecb794a59a4cfbb8678b1f9900a6a99551f805460ff19166001179055610ca3903090600019611016565b600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1a919061198b565b600f80546001600160a01b0319166001600160a01b039283161790556009546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015610d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9c919061198b565b600f546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e11919061198b565b600e80546001600160a01b039283166001600160a01b031990911681179091556000908152600a60205260409020805460ff191660011790556009541663f305d7193430610e74816001600160a01b031660009081526001602052604090205490565b600080610e896000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ef1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f1691906119a8565b505050565b6000546001600160a01b03163314610f455760405162461bcd60e51b815260040161060590611778565b600c91909155600d55565b6000546001600160a01b03163314610f7a5760405162461bcd60e51b815260040161060590611778565b6001600160a01b038116610fbb5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610605565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b80611097846001600160a01b031660009081526001602052604090205490565b10156110d85760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610605565b6001600160a01b0382166000908152600a602052604081205460ff1680156111035750600b5460ff16155b801561112857506001600160a01b03841660009081526007602052604090205460ff16155b801561114d57506001600160a01b03831660009081526007602052604090205460ff16155b156111875730600090815260016020526040902054801561118557828181116111765780611178565b815b905061118381611320565b505b505b6001600160a01b03841660009081526007602052604090205460ff161580156111c957506001600160a01b03831660009081526007602052604090205460ff16155b80156111d85750600b5460ff16155b156111e1575060015b6001600160a01b03841660009081526007602052604090205460ff1615801561122357506001600160a01b03831660009081526007602052604090205460ff16155b80156112385750600f54600160a01b900460ff165b156112ba576001600160a01b038416600090815260016020526040902054820361127557611268612710836119d6565b611272908361195b565b91505b6001600160a01b0384166000908152600a602052604090205460ff16801561129e575060105415155b156112ba576010546112af836106bc565b11156112ba57600080fd5b8080156112e057506001600160a01b0384166000908152600a602052604090205460ff16155b801561130557506001600160a01b0383166000908152600a602052604090205460ff16155b1561130e575060005b61131a8484848461142b565b50505050565b600b805460ff191660011790556009546001600160a01b03161561141e5760408051600280825260608201835260009260208301908036833701905050905030816000815181106113735761137361180c565b6001600160a01b039283166020918202929092010152600f548251911690829060019081106113a4576113a461180c565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac947926113f092879260009288929091169042906004016119f8565b600060405180830381600087803b15801561140a57600080fd5b505af192505050801561141b575060015b50505b50600b805460ff19169055565b6001600160a01b03841660009081526001602052604090205461144f90839061195b565b6001600160a01b0385166000908152600160205260408120919091558115611545576001600160a01b0384166000908152600a602052604081205460ff161561149b5750600d546114a0565b50600c545b600060646114ae8387611a34565b6114b891906119d6565b90508015611542576114ca8184611a4b565b306000908152600160205260409020549093506114e8908290611a4b565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115399085815260200190565b60405180910390a35b50505b61154f818461195b565b6001600160a01b0385166000908152600160205260409020546115729190611a4b565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115bc848761195b565b60405190815260200160405180910390a35050505050565b6000602082840312156115e657600080fd5b5035919050565b600060208083528351808285015260005b8181101561161a578581018301518582016040015282016115fe565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b5857600080fd5b6000806040838503121561166357600080fd5b823561166e8161163b565b946020939093013593505050565b60008060006060848603121561169157600080fd5b833561169c8161163b565b925060208401356116ac8161163b565b929592945050506040919091013590565b6000602082840312156116cf57600080fd5b81356116da8161163b565b9392505050565b8015158114610b5857600080fd5b6000806040838503121561170257600080fd5b823561170d8161163b565b9150602083013561171d816116e1565b809150509250929050565b6000806040838503121561173b57600080fd5b50508035926020909101359150565b6000806040838503121561175d57600080fd5b82356117688161163b565b9150602083013561171d8161163b565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600181811c908216806117b757607f821691505b6020821081036117d757634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156117ef57600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561185b5781516001600160a01b031687529582019590820190600101611836565b509495945050505050565b82815260406020820152600061187f6040830184611822565b949350505050565b6000602080838503121561189a57600080fd5b825167ffffffffffffffff808211156118b257600080fd5b818501915085601f8301126118c657600080fd5b8151818111156118d8576118d86117f6565b8060051b604051601f19603f830116810181811085821117156118fd576118fd6117f6565b60405291825284820192508381018501918883111561191b57600080fd5b938501935b8285101561193957845184529385019392850192611920565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106b6576106b6611945565b60006020828403121561198057600080fd5b81516116da816116e1565b60006020828403121561199d57600080fd5b81516116da8161163b565b6000806000606084860312156119bd57600080fd5b8351925060208401519150604084015190509250925092565b6000826119f357634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a060408201526000611a1760a0830186611822565b6001600160a01b0394909416606083015250608001529392505050565b80820281158282048414176106b6576106b6611945565b808201808211156106b6576106b661194556fea2646970667358221220f69bcde383d84c29ac6d7919860d2221b7359869eb2c060eb61455467f1c566864736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c8063715018a6116100f7578063bc76c05211610095578063dd62ed3e11610064578063dd62ed3e1461053f578063e82bef2914610585578063f2fde38b146105a5578063f509911e146105c557600080fd5b8063bc76c052146104ec578063c9567bf914610501578063ce0192f914610509578063d2aa39e91461051f57600080fd5b806395d89b41116100d157806395d89b4114610477578063a67755c21461048c578063a9059cbb146104ac578063ad5c4648146104cc57600080fd5b8063715018a614610424578063863587cd146104395780638da5cb5b1461045957600080fd5b806336b2e0271161016f57806365b61b771161013e57806365b61b771461038d5780636e5fba6f146103ad5780636f39cfcd146103ce57806370a08231146103ee57600080fd5b806336b2e027146102df5780633bfe62ca1461030f5780633ecad271146103255780634bf28fd01461035557600080fd5b80630ff4c916116101ab5780630ff4c9161461025a57806318160ddd1461028857806323b872dd1461029d578063313ce567146102bd57600080fd5b8063021b9828146101dd57806306fdde03146101ff578063095ea7b31461022a57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101fd6101f83660046115d4565b6105db565b005b34801561020b57600080fd5b50610214610613565b60405161022191906115ed565b60405180910390f35b34801561023657600080fd5b5061024a610245366004611650565b6106a5565b6040519015158152602001610221565b34801561026657600080fd5b5061027a6102753660046115d4565b6106bc565b604051908152602001610221565b34801561029457600080fd5b5060085461027a565b3480156102a957600080fd5b5061024a6102b836600461167c565b61086c565b3480156102c957600080fd5b5060065460405160ff9091168152602001610221565b3480156102eb57600080fd5b5061024a6102fa3660046116bd565b60076020526000908152604090205460ff1681565b34801561031b57600080fd5b5061027a600d5481565b34801561033157600080fd5b5061024a6103403660046116bd565b600a6020526000908152604090205460ff1681565b34801561036157600080fd5b50600e54610375906001600160a01b031681565b6040516001600160a01b039091168152602001610221565b34801561039957600080fd5b50600954610375906001600160a01b031681565b3480156103b957600080fd5b50600f5461024a90600160a01b900460ff1681565b3480156103da57600080fd5b506101fd6103e93660046116bd565b610903565b3480156103fa57600080fd5b5061027a6104093660046116bd565b6001600160a01b031660009081526001602052604090205490565b34801561043057600080fd5b506101fd61094f565b34801561044557600080fd5b506101fd6104543660046116ef565b6109c3565b34801561046557600080fd5b506000546001600160a01b0316610375565b34801561048357600080fd5b50610214610a18565b34801561049857600080fd5b506101fd6104a73660046116bd565b610a27565b3480156104b857600080fd5b5061024a6104c7366004611650565b610b5b565b3480156104d857600080fd5b50600f54610375906001600160a01b031681565b3480156104f857600080fd5b506101fd610b68565b6101fd610bb3565b34801561051557600080fd5b5061027a600c5481565b34801561052b57600080fd5b506101fd61053a366004611728565b610f1b565b34801561054b57600080fd5b5061027a61055a36600461174a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561059157600080fd5b50600354610375906001600160a01b031681565b3480156105b157600080fd5b506101fd6105c03660046116bd565b610f50565b3480156105d157600080fd5b5061027a60105481565b6000546001600160a01b0316331461060e5760405162461bcd60e51b815260040161060590611778565b60405180910390fd5b601055565b606060048054610622906117a3565b80601f016020809104026020016040519081016040528092919081815260200182805461064e906117a3565b801561069b5780601f106106705761010080835404028352916020019161069b565b820191906000526020600020905b81548152906001019060200180831161067e57829003601f168201915b5050505050905090565b60006106b2338484611016565b5060015b92915050565b600f546000906001600160a01b03166106d757506000919050565b600f54600e546040516370a0823160e01b81526001600160a01b03918216600482015260009291909116906370a0823190602401602060405180830381865afa158015610728573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074c91906117dd565b111561086457604080516002808252606082018352600092602083019080368337019050509050606030826000815181106107895761078961180c565b6001600160a01b039283166020918202929092010152600f548351911690839060019081106107ba576107ba61180c565b6001600160a01b03928316602091820292909201015260095460405163d06ca61f60e01b815291169063d06ca61f906107f99087908690600401611866565b600060405180830381865afa158015610816573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261083e9190810190611887565b9050806001815181106108535761085361180c565b602002602001015192505050919050565b506000919050565b6000610879848484611077565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146108f9576001600160a01b03841660009081526002602090815260408083203384529091529020546108d490839061195b565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461092d5760405162461bcd60e51b815260040161060590611778565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109795760405162461bcd60e51b815260040161060590611778565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109ed5760405162461bcd60e51b815260040161060590611778565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b606060058054610622906117a3565b6001600160a01b038116610a72576003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610a6e573d6000803e3d6000fd5b5050565b6003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa158015610ac5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae991906117dd565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6e919061196e565b50565b60006106b2338484611077565b6000546001600160a01b03163314610b925760405162461bcd60e51b815260040161060590611778565b600f805460ff60a01b198116600160a01b9182900460ff1615909102179055565b6000546001600160a01b03163314610bdd5760405162461bcd60e51b815260040161060590611778565b6009546001600160a01b031615610c365760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610605565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155600081905260076020527ffd21a1ac9a14dff647460ce8ad2ccecb794a59a4cfbb8678b1f9900a6a99551f805460ff19166001179055610ca3903090600019611016565b600960009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1a919061198b565b600f80546001600160a01b0319166001600160a01b039283161790556009546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015610d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9c919061198b565b600f546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e11919061198b565b600e80546001600160a01b039283166001600160a01b031990911681179091556000908152600a60205260409020805460ff191660011790556009541663f305d7193430610e74816001600160a01b031660009081526001602052604090205490565b600080610e896000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610ef1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f1691906119a8565b505050565b6000546001600160a01b03163314610f455760405162461bcd60e51b815260040161060590611778565b600c91909155600d55565b6000546001600160a01b03163314610f7a5760405162461bcd60e51b815260040161060590611778565b6001600160a01b038116610fbb5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610605565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b80611097846001600160a01b031660009081526001602052604090205490565b10156110d85760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610605565b6001600160a01b0382166000908152600a602052604081205460ff1680156111035750600b5460ff16155b801561112857506001600160a01b03841660009081526007602052604090205460ff16155b801561114d57506001600160a01b03831660009081526007602052604090205460ff16155b156111875730600090815260016020526040902054801561118557828181116111765780611178565b815b905061118381611320565b505b505b6001600160a01b03841660009081526007602052604090205460ff161580156111c957506001600160a01b03831660009081526007602052604090205460ff16155b80156111d85750600b5460ff16155b156111e1575060015b6001600160a01b03841660009081526007602052604090205460ff1615801561122357506001600160a01b03831660009081526007602052604090205460ff16155b80156112385750600f54600160a01b900460ff165b156112ba576001600160a01b038416600090815260016020526040902054820361127557611268612710836119d6565b611272908361195b565b91505b6001600160a01b0384166000908152600a602052604090205460ff16801561129e575060105415155b156112ba576010546112af836106bc565b11156112ba57600080fd5b8080156112e057506001600160a01b0384166000908152600a602052604090205460ff16155b801561130557506001600160a01b0383166000908152600a602052604090205460ff16155b1561130e575060005b61131a8484848461142b565b50505050565b600b805460ff191660011790556009546001600160a01b03161561141e5760408051600280825260608201835260009260208301908036833701905050905030816000815181106113735761137361180c565b6001600160a01b039283166020918202929092010152600f548251911690829060019081106113a4576113a461180c565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac947926113f092879260009288929091169042906004016119f8565b600060405180830381600087803b15801561140a57600080fd5b505af192505050801561141b575060015b50505b50600b805460ff19169055565b6001600160a01b03841660009081526001602052604090205461144f90839061195b565b6001600160a01b0385166000908152600160205260408120919091558115611545576001600160a01b0384166000908152600a602052604081205460ff161561149b5750600d546114a0565b50600c545b600060646114ae8387611a34565b6114b891906119d6565b90508015611542576114ca8184611a4b565b306000908152600160205260409020549093506114e8908290611a4b565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115399085815260200190565b60405180910390a35b50505b61154f818461195b565b6001600160a01b0385166000908152600160205260409020546115729190611a4b565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115bc848761195b565b60405190815260200160405180910390a35050505050565b6000602082840312156115e657600080fd5b5035919050565b600060208083528351808285015260005b8181101561161a578581018301518582016040015282016115fe565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610b5857600080fd5b6000806040838503121561166357600080fd5b823561166e8161163b565b946020939093013593505050565b60008060006060848603121561169157600080fd5b833561169c8161163b565b925060208401356116ac8161163b565b929592945050506040919091013590565b6000602082840312156116cf57600080fd5b81356116da8161163b565b9392505050565b8015158114610b5857600080fd5b6000806040838503121561170257600080fd5b823561170d8161163b565b9150602083013561171d816116e1565b809150509250929050565b6000806040838503121561173b57600080fd5b50508035926020909101359150565b6000806040838503121561175d57600080fd5b82356117688161163b565b9150602083013561171d8161163b565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600181811c908216806117b757607f821691505b6020821081036117d757634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156117ef57600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101561185b5781516001600160a01b031687529582019590820190600101611836565b509495945050505050565b82815260406020820152600061187f6040830184611822565b949350505050565b6000602080838503121561189a57600080fd5b825167ffffffffffffffff808211156118b257600080fd5b818501915085601f8301126118c657600080fd5b8151818111156118d8576118d86117f6565b8060051b604051601f19603f830116810181811085821117156118fd576118fd6117f6565b60405291825284820192508381018501918883111561191b57600080fd5b938501935b8285101561193957845184529385019392850192611920565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106b6576106b6611945565b60006020828403121561198057600080fd5b81516116da816116e1565b60006020828403121561199d57600080fd5b81516116da8161163b565b6000806000606084860312156119bd57600080fd5b8351925060208401519150604084015190509250925092565b6000826119f357634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a060408201526000611a1760a0830186611822565b6001600160a01b0394909416606083015250608001529392505050565b80820281158282048414176106b6576106b6611945565b808201808211156106b6576106b661194556fea2646970667358221220f69bcde383d84c29ac6d7919860d2221b7359869eb2c060eb61455467f1c566864736f6c63430008110033

Deployed Bytecode Sourcemap

2765:7954:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7365:101;;;;;;;;;;-1:-1:-1;7365:101:0;;;;;:::i;:::-;;:::i;:::-;;5251:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6014:159;;;;;;;;;;-1:-1:-1;6014:159:0;;;;;:::i;:::-;;:::i;:::-;;;1373:14:1;;1366:22;1348:41;;1336:2;1321:18;6014:159:0;1208:187:1;6849:462:0;;;;;;;;;;-1:-1:-1;6849:462:0;;;;;:::i;:::-;;:::i;:::-;;;1546:25:1;;;1534:2;1519:18;6849:462:0;1400:177:1;5455:100:0;;;;;;;;;;-1:-1:-1;5535:12:0;;5455:100;;6181:336;;;;;;;;;;-1:-1:-1;6181:336:0;;;;;:::i;:::-;;:::i;5353:94::-;;;;;;;;;;-1:-1:-1;5430:9:0;;5353:94;;5430:9;;;;2185:36:1;;2173:2;2158:18;5353:94:0;2043:184:1;3057:49:0;;;;;;;;;;-1:-1:-1;3057:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3369:32;;;;;;;;;;;;;;;;3201:44;;;;;;;;;;-1:-1:-1;3201:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3410:27;;;;;;;;;;-1:-1:-1;3410:27:0;;;;-1:-1:-1;;;;;3410:27:0;;;;;;-1:-1:-1;;;;;2648:32:1;;;2630:51;;2618:2;2603:18;3410:27:0;2484:203:1;3156:36:0;;;;;;;;;;-1:-1:-1;3156:36:0;;;;-1:-1:-1;;;;;3156:36:0;;;6710:33;;;;;;;;;;-1:-1:-1;6710:33:0;;;;-1:-1:-1;;;6710:33:0;;;;;;5043:94;;;;;;;;;;-1:-1:-1;5043:94:0;;;;;:::i;:::-;;:::i;5563:119::-;;;;;;;;;;-1:-1:-1;5563:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5656:18:0;5629:7;5656:18;;;:9;:18;;;;;;;5563:119;2388:148;;;;;;;;;;;;;:::i;10271:128::-;;;;;;;;;;-1:-1:-1;10271:128:0;;;;;:::i;:::-;;:::i;2191:79::-;;;;;;;;;;-1:-1:-1;2229:7:0;2256:6;-1:-1:-1;;;;;2256:6:0;2191:79;;5145:98;;;;;;;;;;;;;:::i;10407:272::-;;;;;;;;;;-1:-1:-1;10407:272:0;;;;;:::i;:::-;;:::i;5690:165::-;;;;;;;;;;-1:-1:-1;5690:165:0;;;;;:::i;:::-;;:::i;3544:19::-;;;;;;;;;;-1:-1:-1;3544:19:0;;;;-1:-1:-1;;;;;3544:19:0;;;6750:91;;;;;;;;;;;;;:::i;4128:657::-;;;:::i;3331:31::-;;;;;;;;;;;;;;;;4793:242;;;;;;;;;;-1:-1:-1;4793:242:0;;;;;:::i;:::-;;:::i;5863:143::-;;;;;;;;;;-1:-1:-1;5863:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5971:18:0;;;5944:7;5971:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5863:143;2934:26;;;;;;;;;;-1:-1:-1;2934:26:0;;;;-1:-1:-1;;;;;2934:26:0;;;2544:214;;;;;;;;;;-1:-1:-1;2544:214:0;;;;;:::i;:::-;;:::i;7319:39::-;;;;;;;;;;;;;;;;7365:101;2318:6;;-1:-1:-1;;;;;2318:6:0;2328:10;2318:20;2310:50;;;;-1:-1:-1;;;2310:50:0;;;;;;;:::i;:::-;;;;;;;;;7435:12:::1;:23:::0;7365:101::o;5251:94::-;5299:13;5332:5;5325:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5251:94;:::o;6014:159::-;6089:4;6106:37;6115:10;6127:7;6136:6;6106:8;:37::i;:::-;-1:-1:-1;6161:4:0;6014:159;;;;;:::o;6849:462::-;6919:4;;6900;;-1:-1:-1;;;;;6919:4:0;6916:31;;-1:-1:-1;6946:1:0;;6849:462;-1:-1:-1;6849:462:0:o;6916:31::-;6968:4;;6984:12;;6961:36;;-1:-1:-1;;;6961:36:0;;-1:-1:-1;;;;;6984:12:0;;;6961:36;;;2630:51:1;7000:1:0;;6968:4;;;;;6961:22;;2603:18:1;;6961:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:40;6958:346;;;7041:16;;;7055:1;7041:16;;;;;;;;7017:21;;7041:16;;;;;;;;;;-1:-1:-1;7041:16:0;7017:40;;7072:20;7123:4;7107;7112:1;7107:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7107:21:0;;;:7;;;;;;;;;:21;7151:4;;7143:7;;7151:4;;;7143;;7151;;7143:7;;;;;;:::i;:::-;-1:-1:-1;;;;;7143:12:0;;;:7;;;;;;;;;:12;7179:14;;:40;;-1:-1:-1;;;7179:40:0;;:14;;;:28;;:40;;7208:5;;7214:4;;7179:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7179:40:0;;;;;;;;;;;;:::i;:::-;7170:49;;7242:6;7249:1;7242:9;;;;;;;;:::i;:::-;;;;;;;7235:16;;;;6849:462;;;:::o;6958:346::-;-1:-1:-1;7290:1:0;;6849:462;-1:-1:-1;6849:462:0:o;6181:336::-;6279:4;6296:36;6306:6;6314:9;6325:6;6296:9;:36::i;:::-;-1:-1:-1;;;;;6347:19:0;;3320:1;6347:19;;;:11;:19;;;;;;;;6367:10;6347:31;;;;;;;;-1:-1:-1;;6347:38:0;6343:145;;-1:-1:-1;;;;;6436:19:0;;;;;;:11;:19;;;;;;;;6456:10;6436:31;;;;;;;;:40;;6470:6;;6436:40;:::i;:::-;-1:-1:-1;;;;;6402:19:0;;;;;;:11;:19;;;;;;;;6422:10;6402:31;;;;;;;:74;6343:145;-1:-1:-1;6505:4:0;6181:336;;;;;:::o;5043:94::-;2318:6;;-1:-1:-1;;;;;2318:6:0;2328:10;2318:20;2310:50;;;;-1:-1:-1;;;2310:50:0;;;;;;;:::i;:::-;5108:11:::1;:21:::0;;-1:-1:-1;;;;;;5108:21:0::1;-1:-1:-1::0;;;;;5108:21:0;;;::::1;::::0;;;::::1;::::0;;5043:94::o;2388:148::-;2318:6;;-1:-1:-1;;;;;2318:6:0;2328:10;2318:20;2310:50;;;;-1:-1:-1;;;2310:50:0;;;;;;;:::i;:::-;2495:1:::1;2479:6:::0;;2458:40:::1;::::0;-1:-1:-1;;;;;2479:6:0;;::::1;::::0;2458:40:::1;::::0;2495:1;;2458:40:::1;2526:1;2509:19:::0;;-1:-1:-1;;;;;;2509:19:0::1;::::0;;2388:148::o;10271:128::-;2318:6;;-1:-1:-1;;;;;2318:6:0;2328:10;2318:20;2310:50;;;;-1:-1:-1;;;2310:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10357:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;10357:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10271:128::o;5145:98::-;5195:13;5228:7;5221:14;;;;;:::i;10407:272::-;-1:-1:-1;;;;;10467:19:0;;10463:209;;10510:11;;10502:52;;-1:-1:-1;;;;;10510:11:0;;;;10532:21;10502:52;;;;;10510:11;10502:52;10510:11;10502:52;10532:21;10510:11;10502:52;;;;;;;;;;;;;;;;;;;;;10407:272;:::o;10463:209::-;10608:11;;10621:38;;-1:-1:-1;;;10621:38:0;;10653:4;10621:38;;;2630:51:1;-1:-1:-1;;;;;10585:22:0;;;;;;10608:11;;;10585:22;;10621:23;;2603:18:1;;10621:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10585:75;;-1:-1:-1;;;;;;10585:75:0;;;;;;;-1:-1:-1;;;;;7632:32:1;;;10585:75:0;;;7614:51:1;7681:18;;;7674:34;7587:18;;10585:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10463:209::-;10407:272;:::o;5690:165::-;5768:4;5785:40;5795:10;5807:9;5818:6;5785:9;:40::i;6750:91::-;2318:6;;-1:-1:-1;;;;;2318:6:0;2328:10;2318:20;2310:50;;;;-1:-1:-1;;;2310:50:0;;;;;;;:::i;:::-;6819:14:::1;::::0;;-1:-1:-1;;;;6801:32:0;::::1;-1:-1:-1::0;;;6819:14:0;;;::::1;;;6818:15;6801:32:::0;;::::1;;::::0;;6750:91::o;4128:657::-;2318:6;;-1:-1:-1;;;;;2318:6:0;2328:10;2318:20;2310:50;;;;-1:-1:-1;;;2310:50:0;;;;;;;:::i;:::-;4202:14:::1;::::0;-1:-1:-1;;;;;4202:14:0::1;4194:37:::0;4186:72:::1;;;::::0;-1:-1:-1;;;4186:72:0;;8171:2:1;4186:72:0::1;::::0;::::1;8153:21:1::0;8210:2;8190:18;;;8183:30;8249:25;8229:18;;;8222:53;8292:18;;4186:72:0::1;7969:347:1::0;4186:72:0::1;4269:14;:75:::0;;-1:-1:-1;;;;;;4269:75:0::1;4301:42;4269:75:::0;;::::1;::::0;;;:14:::1;4355:42:::0;;;:17:::1;:42;::::0;;:49;;-1:-1:-1;;4355:49:0::1;4269:75:::0;4355:49:::1;::::0;;4415:53:::1;::::0;4432:4:::1;::::0;-1:-1:-1;;4415:8:0::1;:53::i;:::-;4486:14;;;;;;;;;-1:-1:-1::0;;;;;4486:14:0::1;-1:-1:-1::0;;;;;4486:19:0::1;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4479:4;:28:::0;;-1:-1:-1;;;;;;4479:28:0::1;-1:-1:-1::0;;;;;4479:28:0;;::::1;;::::0;;4549:14:::1;::::0;:24:::1;::::0;;-1:-1:-1;;;4549:24:0;;;;:14;;;::::1;::::0;:22:::1;::::0;:24:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:14;:24:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4601:4;::::0;4533:73:::1;::::0;-1:-1:-1;;;4533:73:0;;4594:4:::1;4533:73;::::0;::::1;8789:34:1::0;-1:-1:-1;;;;;4601:4:0;;::::1;8839:18:1::0;;;8832:43;4533:52:0;::::1;::::0;::::1;::::0;8724:18:1;;4533:73:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4518:12;:88:::0;;-1:-1:-1;;;;;4518:88:0;;::::1;-1:-1:-1::0;;;;;;4518:88:0;;::::1;::::0;::::1;::::0;;;:12:::1;4617:26:::0;;;:12:::1;:26;::::0;;;;:33;;-1:-1:-1;;4617:33:0::1;4518:88:::0;4617:33:::1;::::0;;4661:14:::1;::::0;::::1;:30;4699:9;4718:4;4724:24;4718:4:::0;-1:-1:-1;;;;;5656:18:0;5629:7;5656:18;;;:9;:18;;;;;;;5563:119;4724:24:::1;4749:1;4751::::0;4753:7:::1;2229::::0;2256:6;-1:-1:-1;;;;;2256:6:0;;2191:79;4753:7:::1;4661:116;::::0;::::1;::::0;;;-1:-1:-1;;;;;;4661:116:0;;;-1:-1:-1;;;;;9245:15:1;;;4661:116:0::1;::::0;::::1;9227:34:1::0;9277:18;;;9270:34;;;;9320:18;;;9313:34;;;;9363:18;;;9356:34;9427:15;;;9406:19;;;9399:44;4761:15:0::1;9459:19:1::0;;;9452:35;9161:19;;4661:116:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4128:657::o:0;4793:242::-;2318:6;;-1:-1:-1;;;;;2318:6:0;2328:10;2318:20;2310:50;;;;-1:-1:-1;;;2310:50:0;;;;;;;:::i;:::-;4899:11:::1;:21:::0;;;;4931:12:::1;:23:::0;4793:242::o;2544:214::-;2318:6;;-1:-1:-1;;;;;2318:6:0;2328:10;2318:20;2310:50;;;;-1:-1:-1;;;2310:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2633:22:0;::::1;2625:43;;;::::0;-1:-1:-1;;;2625:43:0;;10011:2:1;2625:43:0::1;::::0;::::1;9993:21:1::0;10050:1;10030:18;;;10023:29;-1:-1:-1;;;10068:18:1;;;10061:38;10116:18;;2625:43:0::1;9809:331:1::0;2625:43:0::1;2705:6;::::0;;2684:38:::1;::::0;-1:-1:-1;;;;;2684:38:0;;::::1;::::0;2705:6;::::1;::::0;2684:38:::1;::::0;::::1;2733:6;:17:::0;;-1:-1:-1;;;;;;2733:17:0::1;-1:-1:-1::0;;;;;2733:17:0;;;::::1;::::0;;;::::1;::::0;;2544:214::o;6525:177::-;-1:-1:-1;;;;;6610:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6662:32;;1546:25:1;;;6662:32:0;;1519:18:1;6662:32:0;;;;;;;6525:177;;;:::o;7474:1386::-;7615:6;7596:15;7606:4;-1:-1:-1;;;;;5656:18:0;5629:7;5656:18;;;:9;:18;;;;;;;5563:119;7596:15;:25;;7588:54;;;;-1:-1:-1;;;7588:54:0;;10347:2:1;7588:54:0;;;10329:21:1;10386:2;10366:18;;;10359:30;-1:-1:-1;;;10405:18:1;;;10398:46;10461:18;;7588:54:0;10145:340:1;7588:54:0;-1:-1:-1;;;;;7684:16:0;;7655:12;7684:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;7705:6:0;;;;7704:7;7684:27;:55;;;;-1:-1:-1;;;;;;7716:23:0;;;;;;:17;:23;;;;;;;;7715:24;7684:55;:81;;;;-1:-1:-1;;;;;;7744:21:0;;;;;;:17;:21;;;;;;;;7743:22;7684:81;7680:527;;;7831:4;7782:28;5656:18;;;:9;:18;;;;;;7856:24;;7852:344;;7931:6;7978:42;;;:147;;8106:19;7978:147;;;8085:20;7978:147;7956:169;;8144:36;8160:19;8144:15;:36::i;:::-;7882:314;7852:344;7767:440;7680:527;-1:-1:-1;;;;;8224:23:0;;;;;;:17;:23;;;;;;;;8223:24;:50;;;;-1:-1:-1;;;;;;8252:21:0;;;;;;:17;:21;;;;;;;;8251:22;8223:50;:61;;;;-1:-1:-1;8278:6:0;;;;8277:7;8223:61;8219:108;;;-1:-1:-1;8311:4:0;8219:108;-1:-1:-1;;;;;8344:23:0;;;;;;:17;:23;;;;;;;;8343:24;:50;;;;-1:-1:-1;;;;;;8372:21:0;;;;;;:17;:21;;;;;;;;8371:22;8343:50;:68;;;;-1:-1:-1;8397:14:0;;-1:-1:-1;;;8397:14:0;;;;8343:68;8339:350;;;-1:-1:-1;;;;;8441:15:0;;;;;;:9;:15;;;;;;8431:25;;8427:117;;8513:14;8522:5;8513:6;:14;:::i;:::-;8503:25;;:6;:25;:::i;:::-;8494:34;;8427:117;-1:-1:-1;;;;;8562:18:0;;;;;;:12;:18;;;;;;;;:39;;;;-1:-1:-1;8584:12:0;;:17;;8562:39;8558:120;;;8649:12;;8629:16;8638:6;8629:8;:16::i;:::-;:32;;8621:41;;;;;;8705:7;:30;;;;-1:-1:-1;;;;;;8717:18:0;;;;;;:12;:18;;;;;;;;8716:19;8705:30;:51;;;;-1:-1:-1;;;;;;8740:16:0;;;;;;:12;:16;;;;;;;;8739:17;8705:51;8701:98;;;-1:-1:-1;8782:5:0;8701:98;8811:41;8826:4;8832:2;8836:6;8844:7;8811:14;:41::i;:::-;7577:1283;7474:1386;;;:::o;9781:482::-;3478:6;:13;;-1:-1:-1;;3478:13:0;3487:4;3478:13;;;9870:14:::1;::::0;-1:-1:-1;;;;;9870:14:0::1;9858:50:::0;9901:7:::1;9858:50;9942:16;::::0;;9956:1:::1;9942:16:::0;;;;;::::1;::::0;;9918:21:::1;::::0;9942:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9942:16:0::1;9918:40;;9987:4;9969;9974:1;9969:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9969:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10013:4:::1;::::0;10003:7;;10013:4;::::1;::::0;10003;;10013;;10003:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;10003:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;10032::::1;::::0;10181:11:::1;::::0;10032:202:::1;::::0;-1:-1:-1;;;10032:202:0;;:14;;::::1;::::0;:65:::1;::::0;:202:::1;::::0;10112:11;;10032:14:::1;::::0;10154:4;;10181:11;;::::1;::::0;10208:15:::1;::::0;10032:202:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;10028:218:::0;9847:416:::1;3502:1;-1:-1:-1::0;3514:6:0;:14;;-1:-1:-1;;3514:14:0;;;9781:482::o;8868:905::-;-1:-1:-1;;;;;9040:17:0;;;;;;:9;:17;;;;;;:27;;9060:7;;9040:27;:::i;:::-;-1:-1:-1;;;;;9020:17:0;;;;;;:9;:17;;;;;:47;;;;9108:514;;;;-1:-1:-1;;;;;9169:23:0;;9136:14;9169:23;;;:12;:23;;;;;;;;9165:146;;;-1:-1:-1;9222:12:0;;9165:146;;;-1:-1:-1;9284:11:0;;9165:146;9325:18;9365:3;9346:16;9356:6;9346:7;:16;:::i;:::-;:22;;;;:::i;:::-;9325:43;-1:-1:-1;9387:14:0;;9383:228;;9422:23;9435:10;9422:23;;:::i;:::-;9509:4;9491:24;;;;:9;:24;;;;;;9422:23;;-1:-1:-1;9491:37:0;;9518:10;;9491:37;:::i;:::-;9482:4;9464:24;;;;:9;:24;;;;;;;:64;;;;9552:43;;-1:-1:-1;;;;;9552:43:0;;;;;;;9584:10;1546:25:1;;1534:2;1519:18;;1400:177;9552:43:0;;;;;;;;9383:228;9121:501;;9108:514;9681:19;9691:9;9681:7;:19;:::i;:::-;-1:-1:-1;;;;;9657:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9634:20:0;;;;;;;:9;:20;;;;;:67;;;;9717:48;;;9745:19;9755:9;9745:7;:19;:::i;:::-;9717:48;;1546:25:1;;;1534:2;1519:18;9717:48:0;;;;;;;9009:764;8868:905;;;;:::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:548::-;311:4;340:2;369;358:9;351:21;401:6;395:13;444:6;439:2;428:9;424:18;417:34;469:1;479:140;493:6;490:1;487:13;479:140;;;588:14;;;584:23;;578:30;554:17;;;573:2;550:26;543:66;508:10;;479:140;;;483:3;668:1;663:2;654:6;643:9;639:22;635:31;628:42;738:2;731;727:7;722:2;714:6;710:15;706:29;695:9;691:45;687:54;679:62;;;;199:548;;;;:::o;752:131::-;-1:-1:-1;;;;;827:31:1;;817:42;;807:70;;873:1;870;863:12;888:315;956:6;964;1017:2;1005:9;996:7;992:23;988:32;985:52;;;1033:1;1030;1023:12;985:52;1072:9;1059:23;1091:31;1116:5;1091:31;:::i;:::-;1141:5;1193:2;1178:18;;;;1165:32;;-1:-1:-1;;;888:315:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2232:247::-;2291:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:52;;;2360:1;2357;2350:12;2312:52;2399:9;2386:23;2418:31;2443:5;2418:31;:::i;:::-;2468:5;2232:247;-1:-1:-1;;;2232:247:1:o;2922:118::-;3008:5;3001:13;2994:21;2987:5;2984:32;2974:60;;3030:1;3027;3020:12;3045:382;3110:6;3118;3171:2;3159:9;3150:7;3146:23;3142:32;3139:52;;;3187:1;3184;3177:12;3139:52;3226:9;3213:23;3245:31;3270:5;3245:31;:::i;:::-;3295:5;-1:-1:-1;3352:2:1;3337:18;;3324:32;3365:30;3324:32;3365:30;:::i;:::-;3414:7;3404:17;;;3045:382;;;;;:::o;3432:248::-;3500:6;3508;3561:2;3549:9;3540:7;3536:23;3532:32;3529:52;;;3577:1;3574;3567:12;3529:52;-1:-1:-1;;3600:23:1;;;3670:2;3655:18;;;3642:32;;-1:-1:-1;3432:248:1:o;3685:388::-;3753:6;3761;3814:2;3802:9;3793:7;3789:23;3785:32;3782:52;;;3830:1;3827;3820:12;3782:52;3869:9;3856:23;3888:31;3913:5;3888:31;:::i;:::-;3938:5;-1:-1:-1;3995:2:1;3980:18;;3967:32;4008:33;3967:32;4008:33;:::i;4078:341::-;4280:2;4262:21;;;4319:2;4299:18;;;4292:30;-1:-1:-1;;;4353:2:1;4338:18;;4331:47;4410:2;4395:18;;4078:341::o;4424:380::-;4503:1;4499:12;;;;4546;;;4567:61;;4621:4;4613:6;4609:17;4599:27;;4567:61;4674:2;4666:6;4663:14;4643:18;4640:38;4637:161;;4720:10;4715:3;4711:20;4708:1;4701:31;4755:4;4752:1;4745:15;4783:4;4780:1;4773:15;4637:161;;4424:380;;;:::o;4809:184::-;4879:6;4932:2;4920:9;4911:7;4907:23;4903:32;4900:52;;;4948:1;4945;4938:12;4900:52;-1:-1:-1;4971:16:1;;4809:184;-1:-1:-1;4809:184:1:o;4998:127::-;5059:10;5054:3;5050:20;5047:1;5040:31;5090:4;5087:1;5080:15;5114:4;5111:1;5104:15;5130:127;5191:10;5186:3;5182:20;5179:1;5172:31;5222:4;5219:1;5212:15;5246:4;5243:1;5236:15;5262:461;5315:3;5353:5;5347:12;5380:6;5375:3;5368:19;5406:4;5435:2;5430:3;5426:12;5419:19;;5472:2;5465:5;5461:14;5493:1;5503:195;5517:6;5514:1;5511:13;5503:195;;;5582:13;;-1:-1:-1;;;;;5578:39:1;5566:52;;5638:12;;;;5673:15;;;;5614:1;5532:9;5503:195;;;-1:-1:-1;5714:3:1;;5262:461;-1:-1:-1;;;;;5262:461:1:o;5728:332::-;5935:6;5924:9;5917:25;5978:2;5973;5962:9;5958:18;5951:30;5898:4;5998:56;6050:2;6039:9;6035:18;6027:6;5998:56;:::i;:::-;5990:64;5728:332;-1:-1:-1;;;;5728:332:1:o;6065:1105::-;6160:6;6191:2;6234;6222:9;6213:7;6209:23;6205:32;6202:52;;;6250:1;6247;6240:12;6202:52;6283:9;6277:16;6312:18;6353:2;6345:6;6342:14;6339:34;;;6369:1;6366;6359:12;6339:34;6407:6;6396:9;6392:22;6382:32;;6452:7;6445:4;6441:2;6437:13;6433:27;6423:55;;6474:1;6471;6464:12;6423:55;6503:2;6497:9;6525:2;6521;6518:10;6515:36;;;6531:18;;:::i;:::-;6577:2;6574:1;6570:10;6609:2;6603:9;6672:2;6668:7;6663:2;6659;6655:11;6651:25;6643:6;6639:38;6727:6;6715:10;6712:22;6707:2;6695:10;6692:18;6689:46;6686:72;;;6738:18;;:::i;:::-;6774:2;6767:22;6824:18;;;6858:15;;;;-1:-1:-1;6900:11:1;;;6896:20;;;6928:19;;;6925:39;;;6960:1;6957;6950:12;6925:39;6984:11;;;;7004:135;7020:6;7015:3;7012:15;7004:135;;;7086:10;;7074:23;;7037:12;;;;7117;;;;7004:135;;;7158:6;6065:1105;-1:-1:-1;;;;;;;;6065:1105:1:o;7175:127::-;7236:10;7231:3;7227:20;7224:1;7217:31;7267:4;7264:1;7257:15;7291:4;7288:1;7281:15;7307:128;7374:9;;;7395:11;;;7392:37;;;7409:18;;:::i;7719:245::-;7786:6;7839:2;7827:9;7818:7;7814:23;7810:32;7807:52;;;7855:1;7852;7845:12;7807:52;7887:9;7881:16;7906:28;7928:5;7906:28;:::i;8321:251::-;8391:6;8444:2;8432:9;8423:7;8419:23;8415:32;8412:52;;;8460:1;8457;8450:12;8412:52;8492:9;8486:16;8511:31;8536:5;8511:31;:::i;9498:306::-;9586:6;9594;9602;9655:2;9643:9;9634:7;9630:23;9626:32;9623:52;;;9671:1;9668;9661:12;9623:52;9700:9;9694:16;9684:26;;9750:2;9739:9;9735:18;9729:25;9719:35;;9794:2;9783:9;9779:18;9773:25;9763:35;;9498:306;;;;;:::o;10490:217::-;10530:1;10556;10546:132;;10600:10;10595:3;10591:20;10588:1;10581:31;10635:4;10632:1;10625:15;10663:4;10660:1;10653:15;10546:132;-1:-1:-1;10692:9:1;;10490:217::o;10712:582::-;11011:6;11000:9;10993:25;11054:6;11049:2;11038:9;11034:18;11027:34;11097:3;11092:2;11081:9;11077:18;11070:31;10974:4;11118:57;11170:3;11159:9;11155:19;11147:6;11118:57;:::i;:::-;-1:-1:-1;;;;;11211:32:1;;;;11206:2;11191:18;;11184:60;-1:-1:-1;11275:3:1;11260:19;11253:35;11110:65;10712:582;-1:-1:-1;;;10712:582:1:o;11299:168::-;11372:9;;;11403;;11420:15;;;11414:22;;11400:37;11390:71;;11441:18;;:::i;11472:125::-;11537:9;;;11558:10;;;11555:36;;;11571:18;;:::i

Swarm Source

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