ETH Price: $2,487.82 (+3.26%)
 

Overview

Max Total Supply

420,690,900,000,000 GABOT

Holders

133

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
3,658,151,543,289.998813401 GABOT

Value
$0.00
0xafa499be1e930a54A56bE7d47C483cA69c9b2309
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:
Token

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

/*

 GABOT can Generate analysis report for  BSC, ETH chain tokens

 * Twitter : https://twitter.com/safeboterc
 * Telegram : https://t.me/GenerateAnalyzerBOT
 * BOT : @BlueSafeBot
*/

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 swapExactTokensForTokensSupportingFeeOnTransferTokens(
        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 getPair(address tokenA, address tokenB) external view returns (address pair);
    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 Token is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address payable private 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);

    address public _uniswapPair;

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

    constructor (){

        _name = "Generate Analyzer BOT";
        _symbol = "GABOT";
        _decimals = 9;
        uint256 Supply = 420_690_900_000_000;

        _totalSupply = Supply * 10 ** _decimals;

        address receiveAddr = msg.sender;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        fundAddress = payable(msg.sender);
        _walletMAX = _totalSupply * 2 / 100;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[fundAddress] = true;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        _uniswapPair = swapFactory.createPair(address(this), swapRouter.WETH());

        isMarketPair[_uniswapPair] = true;
        IERC20(_uniswapRouter.WETH()).approve(
            address(address(_uniswapRouter)),
            ~uint256(0)
        );
        _isExcludeFromFee[address(swapRouter)] = true;

    }

    function setFundAddr(
        address payable 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);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] -= amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    uint256 public _buyCount=0;
    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=30;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=10;

    function recuseTax(
        uint256 newBuy,
        uint256 newSell,
        uint256 newReduceBuy,
        uint256 newReduceSell,
        uint256 newPreventSwapBefore
    ) public onlyOwner {
        _finalBuyTax = newBuy;
        _finalSellTax = newSell;
        _reduceBuyTaxAt = newReduceBuy;
        _reduceSellTaxAt = newReduceSell;
        _preventSwapBefore = newPreventSwapBefore;
    }

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

    uint256 public _walletMAX;

    function setWalletMax(uint8 percentage) public onlyOwner{
        _walletMAX = totalSupply() * percentage / 100;
    }

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

        if (inSwap){
            _basicTransfer(from, to, amount);
            return;
        }

        bool takeFee;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to] && _buyCount > _preventSwapBefore) {
            uint256 _numSellToken = amount;
            if (_numSellToken > balanceOf(address(this))){
                _numSellToken = _balances[address(this)];
            }
            if (_numSellToken > 0){
                swapTokenForETH(_numSellToken);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(startTradeBlock > 0);
            takeFee = true;
            
            // buyCount
            if (isMarketPair[from] && to != address(_uniswapRouter) && !_isExcludeFromFee[to]) {
                _buyCount++;
                require(balanceOf(to) + amount <= _walletMAX,"walletlimit");
            }

            // remainHolder
            if (remainHolder && amount == balance) {
                amount = amount - (amount / 10000);
            }

        }

        _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 = _buyCount > _reduceSellTaxAt ? _finalSellTax : _initialSellTax;
            } else if (isMarketPair[sender]) {
                taxFee = _buyCount > _reduceBuyTaxAt ? _finalBuyTax : _initialBuyTax;
            }
            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);

    }

    uint256 public startTradeBlock;
    function startTrade() public onlyOwner {
        startTradeBlock = block.number;
    }

    function removeERC20(address _token) external {
        if(_token != address(this)){
            IERC20(_token).transfer(fundAddress, IERC20(_token).balanceOf(address(this)));
            fundAddress.transfer(address(this).balance);
        }
    }

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

        uint256 _bal = address(this).balance;
        if (_bal > 0){
            fundAddress.transfer(_bal);
        }
    }

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

    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":"_buyCount","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":"_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":[],"name":"_walletMAX","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":"changeRemain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuy","type":"uint256"},{"internalType":"uint256","name":"newSell","type":"uint256"},{"internalType":"uint256","name":"newReduceBuy","type":"uint256"},{"internalType":"uint256","name":"newReduceSell","type":"uint256"},{"internalType":"uint256","name":"newPreventSwapBefore","type":"uint256"}],"name":"recuseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"remainHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddr","type":"address"}],"name":"setFundAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"percentage","type":"uint8"}],"name":"setWalletMax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTradeBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"}]

60806040526000600c556014600d819055600e8190556001600f8190556010819055601e6011819055601255600a601355815460ff19161790553480156200004657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506040805180820190915260158082527f47656e657261746520416e616c797a657220424f5400000000000000000000006020909201918252620000ce9160049162000525565b506040805180820190915260058082526411d05093d560da1b6020909201918252620000fb918162000525565b506006805460ff1916600990811790915566017e9dbba79d00906200012290600a62000687565b6200012e908262000748565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b03191633179055600854606490620001a090600262000748565b620001ac91906200061d565b601555306000818152600760209081526040808320805460ff1990811660019081179092556001600160a01b038781168652838620805483168417905560035416855282852080549091169091179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091559383526002825280832084845282528083206000199055805163c45a015560e01b81529051849263c45a01559260048082019391829003018186803b1580156200026e57600080fd5b505afa15801562000283573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a99190620005cb565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002f557600080fd5b505afa1580156200030a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003309190620005cb565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200037957600080fd5b505af11580156200038e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b49190620005cb565b600b8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481166000908152600a6020908152604091829020805460ff1916600117905560095482516315ab88c960e31b8152925193169263ad5c4648926004808201939291829003018186803b1580156200043357600080fd5b505afa15801562000448573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046e9190620005cb565b60095460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015620004bd57600080fd5b505af1158015620004d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004f89190620005fb565b50506001600160a01b03166000908152600760205260409020805460ff1916600117905550620007bd9050565b82805462000533906200076a565b90600052602060002090601f016020900481019282620005575760008555620005a2565b82601f106200057257805160ff1916838001178555620005a2565b82800160010185558215620005a2579182015b82811115620005a257825182559160200191906001019062000585565b50620005b0929150620005b4565b5090565b5b80821115620005b05760008155600101620005b5565b600060208284031215620005dd578081fd5b81516001600160a01b0381168114620005f4578182fd5b9392505050565b6000602082840312156200060d578081fd5b81518015158114620005f4578182fd5b6000826200063957634e487b7160e01b81526012600452602481fd5b500490565b600181815b808511156200067f578160001904821115620006635762000663620007a7565b808516156200067157918102915b93841c939080029062000643565b509250929050565b6000620005f460ff841683600082620006a35750600162000742565b81620006b25750600062000742565b8160018114620006cb5760028114620006d657620006f6565b600191505062000742565b60ff841115620006ea57620006ea620007a7565b50506001821b62000742565b5060208310610133831016604e8410600b84101617156200071b575081810a62000742565b6200072783836200063e565b80600019048211156200073e576200073e620007a7565b0290505b92915050565b6000816000190483118215151615620007655762000765620007a7565b500290565b600181811c908216806200077f57607f821691505b60208210811415620007a157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61162f80620007cd6000396000f3fe6080604052600436106101a05760003560e01c806365b61b77116100ec57806395d89b411161008a578063bc76c05211610064578063bc76c052146104bc578063cefab2af146104d1578063dd62ed3e146104eb578063f2fde38b1461053157600080fd5b806395d89b4114610467578063a67755c21461047c578063a9059cbb1461049c57600080fd5b806370a08231116100c657806370a08231146103de578063715018a6146104145780638da5cb5b14610429578063936c044b1461044757600080fd5b806365b61b77146103895780636c580801146103a95780636f39cfcd146103be57600080fd5b8063313ce567116101595780633ecad271116101335780633ecad271146102e65780633f80b6d7146103165780634bf28fd014610336578063553193ca1461037357600080fd5b8063313ce56714610272578063319c2f641461029457806336b2e027146102b657600080fd5b806306fdde03146101ac578063095ea7b3146101d757806318160ddd146102075780631b5837491461022657806323b872dd1461023c57806327b1a8e91461025c57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610551565b6040516101ce919061140e565b60405180910390f35b3480156101e357600080fd5b506101f76101f2366004611354565b6105e3565b60405190151581526020016101ce565b34801561021357600080fd5b506008545b6040519081526020016101ce565b34801561023257600080fd5b5061021860155481565b34801561024857600080fd5b506101f76102573660046112e7565b6105f9565b34801561026857600080fd5b50610218600c5481565b34801561027e57600080fd5b5060065460405160ff90911681526020016101ce565b3480156102a057600080fd5b506102b46102af3660046113ed565b610690565b005b3480156102c257600080fd5b506101f76102d1366004611270565b60076020526000908152604090205460ff1681565b3480156102f257600080fd5b506101f7610301366004611270565b600a6020526000908152604090205460ff1681565b34801561032257600080fd5b506102b46103313660046113b3565b6106ec565b34801561034257600080fd5b50600b5461035b9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561037f57600080fd5b5061021860165481565b34801561039557600080fd5b5060095461035b906001600160a01b031681565b3480156103b557600080fd5b506102b461072d565b3480156103ca57600080fd5b506102b46103d9366004611270565b61075d565b3480156103ea57600080fd5b506102186103f9366004611270565b6001600160a01b031660009081526001602052604090205490565b34801561042057600080fd5b506102b46107a9565b34801561043557600080fd5b506000546001600160a01b031661035b565b34801561045357600080fd5b506102b4610462366004611327565b61081d565b34801561047357600080fd5b506101c1610872565b34801561048857600080fd5b506102b4610497366004611270565b610881565b3480156104a857600080fd5b506101f76104b7366004611354565b6109d4565b3480156104c857600080fd5b506102b46109e1565b3480156104dd57600080fd5b506014546101f79060ff1681565b3480156104f757600080fd5b506102186105063660046112af565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561053d57600080fd5b506102b461054c366004611270565b610a1f565b6060600480546105609061156a565b80601f016020809104026020016040519081016040528092919081815260200182805461058c9061156a565b80156105d95780601f106105ae576101008083540402835291602001916105d9565b820191906000526020600020905b8154815290600101906020018083116105bc57829003601f168201915b5050505050905090565b60006105f0338484610ae5565b50600192915050565b6000610606848484610b46565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610686576001600160a01b0384166000908152600260209081526040808320338452909152902054610661908390611553565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106c35760405162461bcd60e51b81526004016106ba90611461565b60405180910390fd5b60648160ff166106d260085490565b6106dc9190611534565b6106e69190611514565b60155550565b6000546001600160a01b031633146107165760405162461bcd60e51b81526004016106ba90611461565b600f94909455601092909255601155601255601355565b6000546001600160a01b031633146107575760405162461bcd60e51b81526004016106ba90611461565b43601655565b6000546001600160a01b031633146107875760405162461bcd60e51b81526004016106ba90611461565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107d35760405162461bcd60e51b81526004016106ba90611461565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108475760405162461bcd60e51b81526004016106ba90611461565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546105609061156a565b6001600160a01b03811630146109d1576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156108df57600080fd5b505afa1580156108f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610917919061139b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561095d57600080fd5b505af1158015610971573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610995919061137f565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156109cf573d6000803e3d6000fd5b505b50565b60006105f0338484610b46565b6000546001600160a01b03163314610a0b5760405162461bcd60e51b81526004016106ba90611461565b6014805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a495760405162461bcd60e51b81526004016106ba90611461565b6001600160a01b038116610a8a5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106ba565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ba25760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106ba565b600b5460ff1615610bbf57610bb8848484610e06565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff168015610bea5750600b5460ff16155b8015610c0f57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c3457506001600160a01b03841660009081526007602052604090205460ff16155b8015610c435750601354600c54115b15610c8457306000908152600160205260409020548390811115610c735750306000908152600160205260409020545b8015610c8257610c8281610ebb565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610cc657506001600160a01b03841660009081526007602052604090205460ff16155b8015610cd55750600b5460ff16155b15610dfa57600060165411610ce957600080fd5b506001600160a01b0384166000908152600a602052604090205460019060ff168015610d2357506009546001600160a01b03858116911614155b8015610d4857506001600160a01b03841660009081526007602052604090205460ff16155b15610dcb57600c8054906000610d5d836115a5565b919050555060155483610d85866001600160a01b031660009081526001602052604090205490565b610d8f91906114fc565b1115610dcb5760405162461bcd60e51b815260206004820152600b60248201526a1dd85b1b195d1b1a5b5a5d60aa1b60448201526064016106ba565b60145460ff168015610ddc57508183145b15610dfa57610ded61271084611514565b610df79084611553565b92505b610bb88585858461107c565b6001600160a01b038316600090815260016020526040812080548391908390610e30908490611553565b90915550506001600160a01b03831660009081526001602052604081208054849290610e5d9084906114fc565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ea991815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f0b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610f5f57600080fd5b505afa158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f979190611293565b81600181518110610fb857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610ffe90859060009086903090429060040161148c565b600060405180830381600087803b15801561101857600080fd5b505af1925050508015611029575060015b5047801561106d576003546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561106b573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b0384166000908152600160205260409020546110a0908390611553565b6001600160a01b03851660009081526001602052604081209190915581156111e1576001600160a01b0384166000908152600a602052604081205460ff161561110157601254600c54116110f657600e546110fa565b6010545b905061113c565b6001600160a01b0386166000908152600a602052604090205460ff161561113c57601154600c541161113557600d54611139565b600f545b90505b6000606461114a8387611534565b6111549190611514565b905080156111de5761116681846114fc565b306000908152600160205260409020549093506111849082906114fc565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d59085815260200190565b60405180910390a35b50505b6111eb8184611553565b6001600160a01b03851660009081526001602052604090205461120e91906114fc565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112588487611553565b60405190815260200160405180910390a35050505050565b600060208284031215611281578081fd5b813561128c816115d6565b9392505050565b6000602082840312156112a4578081fd5b815161128c816115d6565b600080604083850312156112c1578081fd5b82356112cc816115d6565b915060208301356112dc816115d6565b809150509250929050565b6000806000606084860312156112fb578081fd5b8335611306816115d6565b92506020840135611316816115d6565b929592945050506040919091013590565b60008060408385031215611339578182fd5b8235611344816115d6565b915060208301356112dc816115eb565b60008060408385031215611366578182fd5b8235611371816115d6565b946020939093013593505050565b600060208284031215611390578081fd5b815161128c816115eb565b6000602082840312156113ac578081fd5b5051919050565b600080600080600060a086880312156113ca578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602082840312156113fe578081fd5b813560ff8116811461128c578182fd5b6000602080835283518082850152825b8181101561143a5785810183015185820160400152820161141e565b8181111561144b5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156114db5784516001600160a01b0316835293830193918301916001016114b6565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561150f5761150f6115c0565b500190565b60008261152f57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561154e5761154e6115c0565b500290565b600082821015611565576115656115c0565b500390565b600181811c9082168061157e57607f821691505b6020821081141561159f57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115b9576115b96115c0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146109d157600080fd5b80151581146109d157600080fdfea26469706673582212204a3292e6eceb9e8c6851d4ea23eafb1a5bf6278bd5f8db8051fe4eb2aeecfca664736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806365b61b77116100ec57806395d89b411161008a578063bc76c05211610064578063bc76c052146104bc578063cefab2af146104d1578063dd62ed3e146104eb578063f2fde38b1461053157600080fd5b806395d89b4114610467578063a67755c21461047c578063a9059cbb1461049c57600080fd5b806370a08231116100c657806370a08231146103de578063715018a6146104145780638da5cb5b14610429578063936c044b1461044757600080fd5b806365b61b77146103895780636c580801146103a95780636f39cfcd146103be57600080fd5b8063313ce567116101595780633ecad271116101335780633ecad271146102e65780633f80b6d7146103165780634bf28fd014610336578063553193ca1461037357600080fd5b8063313ce56714610272578063319c2f641461029457806336b2e027146102b657600080fd5b806306fdde03146101ac578063095ea7b3146101d757806318160ddd146102075780631b5837491461022657806323b872dd1461023c57806327b1a8e91461025c57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101c1610551565b6040516101ce919061140e565b60405180910390f35b3480156101e357600080fd5b506101f76101f2366004611354565b6105e3565b60405190151581526020016101ce565b34801561021357600080fd5b506008545b6040519081526020016101ce565b34801561023257600080fd5b5061021860155481565b34801561024857600080fd5b506101f76102573660046112e7565b6105f9565b34801561026857600080fd5b50610218600c5481565b34801561027e57600080fd5b5060065460405160ff90911681526020016101ce565b3480156102a057600080fd5b506102b46102af3660046113ed565b610690565b005b3480156102c257600080fd5b506101f76102d1366004611270565b60076020526000908152604090205460ff1681565b3480156102f257600080fd5b506101f7610301366004611270565b600a6020526000908152604090205460ff1681565b34801561032257600080fd5b506102b46103313660046113b3565b6106ec565b34801561034257600080fd5b50600b5461035b9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101ce565b34801561037f57600080fd5b5061021860165481565b34801561039557600080fd5b5060095461035b906001600160a01b031681565b3480156103b557600080fd5b506102b461072d565b3480156103ca57600080fd5b506102b46103d9366004611270565b61075d565b3480156103ea57600080fd5b506102186103f9366004611270565b6001600160a01b031660009081526001602052604090205490565b34801561042057600080fd5b506102b46107a9565b34801561043557600080fd5b506000546001600160a01b031661035b565b34801561045357600080fd5b506102b4610462366004611327565b61081d565b34801561047357600080fd5b506101c1610872565b34801561048857600080fd5b506102b4610497366004611270565b610881565b3480156104a857600080fd5b506101f76104b7366004611354565b6109d4565b3480156104c857600080fd5b506102b46109e1565b3480156104dd57600080fd5b506014546101f79060ff1681565b3480156104f757600080fd5b506102186105063660046112af565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561053d57600080fd5b506102b461054c366004611270565b610a1f565b6060600480546105609061156a565b80601f016020809104026020016040519081016040528092919081815260200182805461058c9061156a565b80156105d95780601f106105ae576101008083540402835291602001916105d9565b820191906000526020600020905b8154815290600101906020018083116105bc57829003601f168201915b5050505050905090565b60006105f0338484610ae5565b50600192915050565b6000610606848484610b46565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610686576001600160a01b0384166000908152600260209081526040808320338452909152902054610661908390611553565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106c35760405162461bcd60e51b81526004016106ba90611461565b60405180910390fd5b60648160ff166106d260085490565b6106dc9190611534565b6106e69190611514565b60155550565b6000546001600160a01b031633146107165760405162461bcd60e51b81526004016106ba90611461565b600f94909455601092909255601155601255601355565b6000546001600160a01b031633146107575760405162461bcd60e51b81526004016106ba90611461565b43601655565b6000546001600160a01b031633146107875760405162461bcd60e51b81526004016106ba90611461565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107d35760405162461bcd60e51b81526004016106ba90611461565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108475760405162461bcd60e51b81526004016106ba90611461565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6060600580546105609061156a565b6001600160a01b03811630146109d1576003546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a082319060240160206040518083038186803b1580156108df57600080fd5b505afa1580156108f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610917919061139b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561095d57600080fd5b505af1158015610971573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610995919061137f565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156109cf573d6000803e3d6000fd5b505b50565b60006105f0338484610b46565b6000546001600160a01b03163314610a0b5760405162461bcd60e51b81526004016106ba90611461565b6014805460ff19811660ff90911615179055565b6000546001600160a01b03163314610a495760405162461bcd60e51b81526004016106ba90611461565b6001600160a01b038116610a8a5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106ba565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610ba25760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016106ba565b600b5460ff1615610bbf57610bb8848484610e06565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff168015610bea5750600b5460ff16155b8015610c0f57506001600160a01b03851660009081526007602052604090205460ff16155b8015610c3457506001600160a01b03841660009081526007602052604090205460ff16155b8015610c435750601354600c54115b15610c8457306000908152600160205260409020548390811115610c735750306000908152600160205260409020545b8015610c8257610c8281610ebb565b505b6001600160a01b03851660009081526007602052604090205460ff16158015610cc657506001600160a01b03841660009081526007602052604090205460ff16155b8015610cd55750600b5460ff16155b15610dfa57600060165411610ce957600080fd5b506001600160a01b0384166000908152600a602052604090205460019060ff168015610d2357506009546001600160a01b03858116911614155b8015610d4857506001600160a01b03841660009081526007602052604090205460ff16155b15610dcb57600c8054906000610d5d836115a5565b919050555060155483610d85866001600160a01b031660009081526001602052604090205490565b610d8f91906114fc565b1115610dcb5760405162461bcd60e51b815260206004820152600b60248201526a1dd85b1b195d1b1a5b5a5d60aa1b60448201526064016106ba565b60145460ff168015610ddc57508183145b15610dfa57610ded61271084611514565b610df79084611553565b92505b610bb88585858461107c565b6001600160a01b038316600090815260016020526040812080548391908390610e30908490611553565b90915550506001600160a01b03831660009081526001602052604081208054849290610e5d9084906114fc565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ea991815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f0b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610f5f57600080fd5b505afa158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f979190611293565b81600181518110610fb857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610ffe90859060009086903090429060040161148c565b600060405180830381600087803b15801561101857600080fd5b505af1925050508015611029575060015b5047801561106d576003546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561106b573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b0384166000908152600160205260409020546110a0908390611553565b6001600160a01b03851660009081526001602052604081209190915581156111e1576001600160a01b0384166000908152600a602052604081205460ff161561110157601254600c54116110f657600e546110fa565b6010545b905061113c565b6001600160a01b0386166000908152600a602052604090205460ff161561113c57601154600c541161113557600d54611139565b600f545b90505b6000606461114a8387611534565b6111549190611514565b905080156111de5761116681846114fc565b306000908152600160205260409020549093506111849082906114fc565b30600081815260016020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d59085815260200190565b60405180910390a35b50505b6111eb8184611553565b6001600160a01b03851660009081526001602052604090205461120e91906114fc565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112588487611553565b60405190815260200160405180910390a35050505050565b600060208284031215611281578081fd5b813561128c816115d6565b9392505050565b6000602082840312156112a4578081fd5b815161128c816115d6565b600080604083850312156112c1578081fd5b82356112cc816115d6565b915060208301356112dc816115d6565b809150509250929050565b6000806000606084860312156112fb578081fd5b8335611306816115d6565b92506020840135611316816115d6565b929592945050506040919091013590565b60008060408385031215611339578182fd5b8235611344816115d6565b915060208301356112dc816115eb565b60008060408385031215611366578182fd5b8235611371816115d6565b946020939093013593505050565b600060208284031215611390578081fd5b815161128c816115eb565b6000602082840312156113ac578081fd5b5051919050565b600080600080600060a086880312156113ca578081fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000602082840312156113fe578081fd5b813560ff8116811461128c578182fd5b6000602080835283518082850152825b8181101561143a5785810183015185820160400152820161141e565b8181111561144b5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156114db5784516001600160a01b0316835293830193918301916001016114b6565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561150f5761150f6115c0565b500190565b60008261152f57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561154e5761154e6115c0565b500290565b600082821015611565576115656115c0565b500390565b600181811c9082168061157e57607f821691505b6020821081141561159f57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115b9576115b96115c0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146109d157600080fd5b80151581146109d157600080fdfea26469706673582212204a3292e6eceb9e8c6851d4ea23eafb1a5bf6278bd5f8db8051fe4eb2aeecfca664736f6c63430008040033

Deployed Bytecode Sourcemap

3191:8468:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5352:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6115:159;;;;;;;;;;-1:-1:-1;6115:159:0;;;;;:::i;:::-;;:::i;:::-;;;4295:14:1;;4288:22;4270:41;;4258:2;4243:18;6115:159:0;4225:92:1;5556:100:0;;;;;;;;;;-1:-1:-1;5636:12:0;;5556:100;;;6673:25:1;;;6661:2;6646:18;5556:100:0;6628:76:1;7943:25:0;;;;;;;;;;;;;;;;6282:336;;;;;;;;;;-1:-1:-1;6282:336:0;;;;;:::i;:::-;;:::i;7078:26::-;;;;;;;;;;;;;;;;5454:94;;;;;;;;;;-1:-1:-1;5531:9:0;;5454:94;;5531:9;;;;7839:36:1;;7827:2;7812:18;5454:94:0;7794:87:1;7977:120:0;;;;;;;;;;-1:-1:-1;7977:120:0;;;;;:::i;:::-;;:::i;:::-;;3492:49;;;;;;;;;;-1:-1:-1;3492:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3636:44;;;;;;;;;;-1:-1:-1;3636:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7396:406;;;;;;;;;;-1:-1:-1;7396:406:0;;;;;:::i;:::-;;:::i;3766:27::-;;;;;;;;;;-1:-1:-1;3766:27:0;;;;;;;-1:-1:-1;;;;;3766:27:0;;;;;;-1:-1:-1;;;;;3799:32:1;;;3781:51;;3769:2;3754:18;3766:27:0;3736:102:1;10549:30:0;;;;;;;;;;;;;;;;3591:36;;;;;;;;;;-1:-1:-1;3591:36:0;;;;-1:-1:-1;;;;;3591:36:0;;;10586:88;;;;;;;;;;;;;:::i;5120:118::-;;;;;;;;;;-1:-1:-1;5120:118:0;;;;;:::i;:::-;;:::i;5664:119::-;;;;;;;;;;-1:-1:-1;5664:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5757:18:0;5730:7;5757:18;;;:9;:18;;;;;;;5664:119;2814:148;;;;;;;;;;;;;:::i;2617:79::-;;;;;;;;;;-1:-1:-1;2655:7:0;2682:6;-1:-1:-1;;;;;2682:6:0;2617:79;;11498:121;;;;;;;;;;-1:-1:-1;11498:121:0;;;;;:::i;:::-;;:::i;5246:98::-;;;;;;;;;;;;;:::i;10682:253::-;;;;;;;;;;-1:-1:-1;10682:253:0;;;;;:::i;:::-;;:::i;5791:165::-;;;;;;;;;;-1:-1:-1;5791:165:0;;;;;:::i;:::-;;:::i;7848:87::-;;;;;;;;;;;;;:::i;7810:31::-;;;;;;;;;;-1:-1:-1;7810:31:0;;;;;;;;5964:143;;;;;;;;;;-1:-1:-1;5964:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6072:18:0;;;6045:7;6072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5964:143;2970:214;;;;;;;;;;-1:-1:-1;2970:214:0;;;;;:::i;:::-;;:::i;5352:94::-;5400:13;5433:5;5426:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5352:94;:::o;6115:159::-;6190:4;6207:37;6216:10;6228:7;6237:6;6207:8;:37::i;:::-;-1:-1:-1;6262:4:0;6115:159;;;;:::o;6282:336::-;6380:4;6397:36;6407:6;6415:9;6426:6;6397:9;:36::i;:::-;-1:-1:-1;;;;;6448:19:0;;3755:1;6448:19;;;:11;:19;;;;;;;;6468:10;6448:31;;;;;;;;-1:-1:-1;;6448:38:0;6444:145;;-1:-1:-1;;;;;6537:19:0;;;;;;:11;:19;;;;;;;;6557:10;6537:31;;;;;;;;:40;;6571:6;;6537:40;:::i;:::-;-1:-1:-1;;;;;6503:19:0;;;;;;:11;:19;;;;;;;;6523:10;6503:31;;;;;;;:74;6444:145;-1:-1:-1;6606:4:0;6282:336;;;;;:::o;7977:120::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2754:10;2744:20;2736:50;;;;-1:-1:-1;;;2736:50:0;;;;;;;:::i;:::-;;;;;;;;;8086:3:::1;8073:10;8057:26;;:13;5636:12:::0;;;5556:100;8057:13:::1;:26;;;;:::i;:::-;:32;;;;:::i;:::-;8044:10;:45:::0;-1:-1:-1;7977:120:0:o;7396:406::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2754:10;2744:20;2736:50;;;;-1:-1:-1;;;2736:50:0;;;;;;;:::i;:::-;7603:12:::1;:21:::0;;;;7635:13:::1;:23:::0;;;;7669:15:::1;:30:::0;7710:16:::1;:32:::0;7753:18:::1;:41:::0;7396:406::o;10586:88::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2754:10;2744:20;2736:50;;;;-1:-1:-1;;;2736:50:0;;;;;;;:::i;:::-;10654:12:::1;10636:15;:30:::0;10586:88::o;5120:118::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2754:10;2744:20;2736:50;;;;-1:-1:-1;;;2736:50:0;;;;;;;:::i;:::-;5209:11:::1;:21:::0;;-1:-1:-1;;;;;;5209:21:0::1;-1:-1:-1::0;;;;;5209:21:0;;;::::1;::::0;;;::::1;::::0;;5120:118::o;2814:148::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2754:10;2744:20;2736:50;;;;-1:-1:-1;;;2736:50:0;;;;;;;:::i;:::-;2921:1:::1;2905:6:::0;;2884:40:::1;::::0;-1:-1:-1;;;;;2905:6:0;;::::1;::::0;2884:40:::1;::::0;2921:1;;2884:40:::1;2952:1;2935:19:::0;;-1:-1:-1;;;;;;2935:19:0::1;::::0;;2814:148::o;11498:121::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2754:10;2744:20;2736:50;;;;-1:-1:-1;;;2736:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11577:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;11577:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11498:121::o;5246:98::-;5296:13;5329:7;5322:14;;;;;:::i;10682:253::-;-1:-1:-1;;;;;10742:23:0;;10760:4;10742:23;10739:189;;10805:11;;10818:39;;-1:-1:-1;;;10818:39:0;;10851:4;10818:39;;;3781:51:1;-1:-1:-1;;;;;10781:23:0;;;;;;10805:11;;;10781:23;;10818:24;;3754:18:1;;10818:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10781:77;;-1:-1:-1;;;;;;10781:77:0;;;;;;;-1:-1:-1;;;;;4043:32:1;;;10781:77:0;;;4025:51:1;4092:18;;;4085:34;3998:18;;10781:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10873:11:0;;:43;;-1:-1:-1;;;;;10873:11:0;;;;10894:21;10873:43;;;;;:11;:43;:11;:43;10894:21;10873:11;:43;;;;;;;;;;;;;;;;;;;;;10739:189;10682:253;:::o;5791:165::-;5869:4;5886:40;5896:10;5908:9;5919:6;5886:9;:40::i;7848:87::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2754:10;2744:20;2736:50;;;;-1:-1:-1;;;2736:50:0;;;;;;;:::i;:::-;7915:12:::1;::::0;;-1:-1:-1;;7899:28:0;::::1;7915:12;::::0;;::::1;7914:13;7899:28;::::0;;7848:87::o;2970:214::-;2744:6;;-1:-1:-1;;;;;2744:6:0;2754:10;2744:20;2736:50;;;;-1:-1:-1;;;2736:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3059:22:0;::::1;3051:43;;;::::0;-1:-1:-1;;;3051:43:0;;5707:2:1;3051:43:0::1;::::0;::::1;5689:21:1::0;5746:1;5726:18;;;5719:29;-1:-1:-1;;;5764:18:1;;;5757:38;5812:18;;3051:43:0::1;5679:157:1::0;3051:43:0::1;3131:6;::::0;;3110:38:::1;::::0;-1:-1:-1;;;;;3110:38:0;;::::1;::::0;3131:6;::::1;::::0;3110:38:::1;::::0;::::1;3159:6;:17:::0;;-1:-1:-1;;;;;;3159:17:0::1;-1:-1:-1::0;;;;;3159:17:0;;;::::1;::::0;;;::::1;::::0;;2970:214::o;6626:177::-;-1:-1:-1;;;;;6711:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6763:32;;6673:25:1;;;6763:32:0;;6646:18:1;6763:32:0;;;;;;;6626:177;;;:::o;8105:1397::-;-1:-1:-1;;;;;5757:18:0;;8219:15;5757:18;;;:9;:18;;;;;;8271:17;;;;8263:46;;;;-1:-1:-1;;;8263:46:0;;5362:2:1;8263:46:0;;;5344:21:1;5401:2;5381:18;;;5374:30;-1:-1:-1;;;5420:18:1;;;5413:46;5476:18;;8263:46:0;5334:166:1;8263:46:0;8326:6;;;;8322:91;;;8348:32;8363:4;8369:2;8373:6;8348:14;:32::i;:::-;;8395:7;8105:1397;;;:::o;8322:91::-;-1:-1:-1;;;;;8454:16:0;;8425:12;8454:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8475:6:0;;;;8474:7;8454:27;:55;;;;-1:-1:-1;;;;;;8486:23:0;;;;;;:17;:23;;;;;;;;8485:24;8454:55;:81;;;;-1:-1:-1;;;;;;8514:21:0;;;;;;:17;:21;;;;;;;;8513:22;8454:81;:115;;;;;8551:18;;8539:9;;:30;8454:115;8450:413;;;8669:4;5730:7;5757:18;;;:9;:18;;;;;;8610:6;;8635:13;:40;8631:120;;;-1:-1:-1;8729:4:0;8711:24;;;;:9;:24;;;;;;8631:120;8769:17;;8765:87;;8806:30;8822:13;8806:15;:30::i;:::-;8450:413;;-1:-1:-1;;;;;8880:23:0;;;;;;:17;:23;;;;;;;;8879:24;:50;;;;-1:-1:-1;;;;;;8908:21:0;;;;;;:17;:21;;;;;;;;8907:22;8879:50;:61;;;;-1:-1:-1;8934:6:0;;;;8933:7;8879:61;8875:566;;;8983:1;8965:15;;:19;8957:28;;;;;;-1:-1:-1;;;;;;9072:18:0;;;;;;:12;:18;;;;;;9010:4;;9072:18;;:51;;;;-1:-1:-1;9108:14:0;;-1:-1:-1;;;;;9094:29:0;;;9108:14;;9094:29;;9072:51;:77;;;;-1:-1:-1;;;;;;9128:21:0;;;;;;:17;:21;;;;;;;;9127:22;9072:77;9068:207;;;9170:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9234:10;;9224:6;9208:13;9218:2;-1:-1:-1;;;;;5757:18:0;5730:7;5757:18;;;:9;:18;;;;;;;5664:119;9208:13;:22;;;;:::i;:::-;:36;;9200:59;;;;-1:-1:-1;;;9200:59:0;;6043:2:1;9200:59:0;;;6025:21:1;6082:2;6062:18;;;6055:30;-1:-1:-1;;;6101:18:1;;;6094:41;6152:18;;9200:59:0;6015:161:1;9200:59:0;9324:12;;;;:33;;;;;9350:7;9340:6;:17;9324:33;9320:108;;;9397:14;9406:5;9397:6;:14;:::i;:::-;9387:25;;:6;:25;:::i;:::-;9378:34;;9320:108;9453:41;9468:4;9474:2;9478:6;9486:7;9453:14;:41::i;6811:259::-;-1:-1:-1;;;;;6921:17:0;;6904:4;6921:17;;;:9;:17;;;;;:27;;6942:6;;6921:17;6904:4;;6921:27;;6942:6;;6921:27;:::i;:::-;;;;-1:-1:-1;;;;;;;6959:20:0;;;;;;:9;:20;;;;;:30;;6983:6;;6959:20;:30;;6983:6;;6959:30;:::i;:::-;;;;;;;;7022:9;-1:-1:-1;;;;;7005:35:0;7014:6;-1:-1:-1;;;;;7005:35:0;;7033:6;7005:35;;;;6673:25:1;;6661:2;6646:18;;6628:76;7005:35:0;;;;;;;;-1:-1:-1;7058:4:0;6811:259;;;;;:::o;10943:547::-;3834:6;:13;;-1:-1:-1;;3834:13:0;3843:4;3834:13;;;11044:16:::1;::::0;;11058:1:::1;11044:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11044:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11044:16:0::1;11020:40;;11089:4;11071;11076:1;11071:7;;;;;;-1:-1:-1::0;;;11071:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;11071:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11115:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;11115:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;11071:7;;11115:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11105:4;11110:1;11105:7;;;;;;-1:-1:-1::0;;;11105:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;11105:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;11151:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;11151:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;11231:11;;11151:14:::1;::::0;11273:4;;11300::::1;::::0;11320:15:::1;::::0;11151:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11147:211:::0;11385:21:::1;11421:8:::0;;11417:66:::1;;11445:11;::::0;:26:::1;::::0;-1:-1:-1;;;;;11445:11:0;;::::1;::::0;:26;::::1;;;::::0;11466:4;;11445:11:::1;:26:::0;:11;:26;11466:4;11445:11;:26;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11417:66;-1:-1:-1::0;;3870:6:0;:14;;-1:-1:-1;;3870:14:0;;;-1:-1:-1;10943:547:0:o;9510:1031::-;-1:-1:-1;;;;;9682:17:0;;;;;;:9;:17;;;;;;:27;;9702:7;;9682:27;:::i;:::-;-1:-1:-1;;;;;9662:17:0;;;;;;:9;:17;;;;;:47;;;;9750:638;;;;-1:-1:-1;;;;;9811:23:0;;9778:14;9811:23;;;:12;:23;;;;;;;;9807:270;;;9876:16;;9864:9;;:28;:62;;9911:15;;9864:62;;;9895:13;;9864:62;9855:71;;9807:270;;;-1:-1:-1;;;;;9952:20:0;;;;;;:12;:20;;;;;;;;9948:129;;;10014:15;;10002:9;;:27;:59;;10047:14;;10002:59;;;10032:12;;10002:59;9993:68;;9948:129;10091:18;10131:3;10112:16;10122:6;10112:7;:16;:::i;:::-;:22;;;;:::i;:::-;10091:43;-1:-1:-1;10153:14:0;;10149:228;;10188:23;10201:10;10188:23;;:::i;:::-;10275:4;10257:24;;;;:9;:24;;;;;;10188:23;;-1:-1:-1;10257:37:0;;10284:10;;10257:37;:::i;:::-;10248:4;10230:24;;;;:9;:24;;;;;;;:64;;;;10318:43;;-1:-1:-1;;;;;10318:43:0;;;;;;;10350:10;6673:25:1;;6661:2;6646:18;;6628:76;10318:43:0;;;;;;;;10149:228;9750:638;;;10447:19;10457:9;10447:7;:19;:::i;:::-;-1:-1:-1;;;;;10423:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;10400:20:0;;;;;;;:9;:20;;;;;:67;;;;10483:48;;;10511:19;10521:9;10511:7;:19;:::i;:::-;10483:48;;6673:25:1;;;6661:2;6646:18;10483:48:0;;;;;;;9510:1031;;;;;:::o;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;:::-;260:5;84:187;-1:-1:-1;;;84:187:1:o;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;812:398::-;880:6;888;941:2;929:9;920:7;916:23;912:32;909:2;;;962:6;954;947:22;909:2;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;-1:-1:-1;1132:2:1;1117:18;;1104:32;1145:33;1104:32;1145:33;:::i;:::-;1197:7;1187:17;;;899:311;;;;;:::o;1215:466::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:2;;;1382:6;1374;1367:22;1329:2;1426:9;1413:23;1445:31;1470:5;1445:31;:::i;:::-;1495:5;-1:-1:-1;1552:2:1;1537:18;;1524:32;1565:33;1524:32;1565:33;:::i;:::-;1319:362;;1617:7;;-1:-1:-1;;;1671:2:1;1656:18;;;;1643:32;;1319:362::o;1686:392::-;1751:6;1759;1812:2;1800:9;1791:7;1787:23;1783:32;1780:2;;;1833:6;1825;1818:22;1780:2;1877:9;1864:23;1896:31;1921:5;1896:31;:::i;:::-;1946:5;-1:-1:-1;2003:2:1;1988:18;;1975:32;2016:30;1975:32;2016:30;:::i;2083:325::-;2151:6;2159;2212:2;2200:9;2191:7;2187:23;2183:32;2180:2;;;2233:6;2225;2218:22;2180:2;2277:9;2264:23;2296:31;2321:5;2296:31;:::i;:::-;2346:5;2398:2;2383:18;;;;2370:32;;-1:-1:-1;;;2170:238:1:o;2413:255::-;2480:6;2533:2;2521:9;2512:7;2508:23;2504:32;2501:2;;;2554:6;2546;2539:22;2501:2;2591:9;2585:16;2610:28;2632:5;2610:28;:::i;2673:194::-;2743:6;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2817:6;2809;2802:22;2764:2;-1:-1:-1;2845:16:1;;2754:113;-1:-1:-1;2754:113:1:o;2872:464::-;2967:6;2975;2983;2991;2999;3052:3;3040:9;3031:7;3027:23;3023:33;3020:2;;;3074:6;3066;3059:22;3020:2;-1:-1:-1;;3102:23:1;;;3172:2;3157:18;;3144:32;;-1:-1:-1;3223:2:1;3208:18;;3195:32;;3274:2;3259:18;;3246:32;;-1:-1:-1;3325:3:1;3310:19;3297:33;;-1:-1:-1;3010:326:1;-1:-1:-1;3010:326:1:o;3341:289::-;3398:6;3451:2;3439:9;3430:7;3426:23;3422:32;3419:2;;;3472:6;3464;3457:22;3419:2;3516:9;3503:23;3566:4;3559:5;3555:16;3548:5;3545:27;3535:2;;3591:6;3583;3576:22;4552:603;4664:4;4693:2;4722;4711:9;4704:21;4754:6;4748:13;4797:6;4792:2;4781:9;4777:18;4770:34;4822:4;4835:140;4849:6;4846:1;4843:13;4835:140;;;4944:14;;;4940:23;;4934:30;4910:17;;;4929:2;4906:26;4899:66;4864:10;;4835:140;;;4993:6;4990:1;4987:13;4984:2;;;5063:4;5058:2;5049:6;5038:9;5034:22;5030:31;5023:45;4984:2;-1:-1:-1;5139:2:1;5118:15;-1:-1:-1;;5114:29:1;5099:45;;;;5146:2;5095:54;;4673:482;-1:-1:-1;;;4673:482:1:o;6181:341::-;6383:2;6365:21;;;6422:2;6402:18;;;6395:30;-1:-1:-1;;;6456:2:1;6441:18;;6434:47;6513:2;6498:18;;6355:167::o;6709:983::-;6971:4;7019:3;7008:9;7004:19;7050:6;7039:9;7032:25;7076:2;7114:6;7109:2;7098:9;7094:18;7087:34;7157:3;7152:2;7141:9;7137:18;7130:31;7181:6;7216;7210:13;7247:6;7239;7232:22;7285:3;7274:9;7270:19;7263:26;;7324:2;7316:6;7312:15;7298:29;;7345:4;7358:195;7372:6;7369:1;7366:13;7358:195;;;7437:13;;-1:-1:-1;;;;;7433:39:1;7421:52;;7528:15;;;;7493:12;;;;7469:1;7387:9;7358:195;;;-1:-1:-1;;;;;;;7609:32:1;;;;7604:2;7589:18;;7582:60;-1:-1:-1;;;7673:3:1;7658:19;7651:35;7570:3;6980:712;-1:-1:-1;;;6980:712:1:o;7886:128::-;7926:3;7957:1;7953:6;7950:1;7947:13;7944:2;;;7963:18;;:::i;:::-;-1:-1:-1;7999:9:1;;7934:80::o;8019:217::-;8059:1;8085;8075:2;;-1:-1:-1;;;8110:31:1;;8164:4;8161:1;8154:15;8192:4;8117:1;8182:15;8075:2;-1:-1:-1;8221:9:1;;8065:171::o;8241:168::-;8281:7;8347:1;8343;8339:6;8335:14;8332:1;8329:21;8324:1;8317:9;8310:17;8306:45;8303:2;;;8354:18;;:::i;:::-;-1:-1:-1;8394:9:1;;8293:116::o;8414:125::-;8454:4;8482:1;8479;8476:8;8473:2;;;8487:18;;:::i;:::-;-1:-1:-1;8524:9:1;;8463:76::o;8544:380::-;8623:1;8619:12;;;;8666;;;8687:2;;8741:4;8733:6;8729:17;8719:27;;8687:2;8794;8786:6;8783:14;8763:18;8760:38;8757:2;;;8840:10;8835:3;8831:20;8828:1;8821:31;8875:4;8872:1;8865:15;8903:4;8900:1;8893:15;8757:2;;8599:325;;;:::o;8929:135::-;8968:3;-1:-1:-1;;8989:17:1;;8986:2;;;9009:18;;:::i;:::-;-1:-1:-1;9056:1:1;9045:13;;8976:88::o;9069:127::-;9130:10;9125:3;9121:20;9118:1;9111:31;9161:4;9158:1;9151:15;9185:4;9182:1;9175:15;9201:131;-1:-1:-1;;;;;9276:31:1;;9266:42;;9256:2;;9322:1;9319;9312:12;9337:118;9423:5;9416:13;9409:21;9402:5;9399:32;9389:2;;9445:1;9442;9435:12

Swarm Source

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