ETH Price: $2,632.04 (+1.18%)

Token

Trump2024 (Trump2024)
 

Overview

Max Total Supply

20,240,000,000,000 Trump2024

Holders

37

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
153,025,754,667.732483284220500204 Trump2024

Value
$0.00
0x867583523fd659f5bea1aba0fc32271224dcdf1e
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:
Trump2024

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 2024-01-27
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;

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


// File: openzeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address private _owner;

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

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor() {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
     * @return the address of the owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    /**
     * @return true if `msg.sender` is the owner of the contract.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Allows the current owner to relinquish control of the contract.
     * @notice Renouncing to ownership will leave the contract without an owner.
     * It will not be possible to call the functions with the `onlyOwner`
     * modifier anymore.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Trump2024 is IERC20, Ownable {
    
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address payable public benefiter;
    mapping(address => bool) public _isExcludeFromFee;
    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;
    }

    uint256 public _finalBuyTax;
    uint256 public _finalSellTax;

    constructor (){

        _name = "Trump2024";
        _symbol = "Trump2024";
        _decimals = 18;
        uint256 Supply = 20240000000000;

        _finalBuyTax = 1;
        _finalSellTax = 1;

        _totalSupply = Supply * 10 ** _decimals;
        swapAtAmount = 0;

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

        benefiter = payable(msg.sender);

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[benefiter] = 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(_uniswapRouter),
            MAX
        );
        _isExcludeFromFee[address(swapRouter)] = true;

    }

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

    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]) {
            uint256 _numSellToken = amount;
            if (_numSellToken > balanceOf(address(this))){
                _numSellToken = _balances[address(this)];
            }
            if (_numSellToken > swapAtAmount){
                swapTokenForETH(_numSellToken);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(startTradeBlock > 0);
            takeFee = true;

        }

        _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 = _finalSellTax;
            } else if (isMarketPair[sender]) {
                taxFee = _finalBuyTax;
            }
            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 setBenefiter(
        address payable newBenefiter
    ) public onlyOwner{
        benefiter = newBenefiter;
    }

    uint256 swapAtAmount;
    function setSwapAtAmount(
        uint256 newValue
    ) public onlyOwner{
        swapAtAmount = newValue;
    }

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

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

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

        uint256 _bal = address(this).balance;
        if (_bal > 0){
            benefiter.transfer(_bal);
        }
    }
    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":"_finalBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalSellTax","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":[{"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":"benefiter","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"clearERC20","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":"isOwner","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newBenefiter","type":"address"}],"name":"setBenefiter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"setSwapAtAmount","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"}]

60806040523480156200001157600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3604080518082019091526009815268151c9d5b5c0c8c0c8d60ba1b602082015260019062000080908262000518565b50604080518082019091526009815268151c9d5b5c0c8c0c8d60ba1b6020820152600290620000b0908262000518565b506003805460ff191660129081179091556001600c819055600d556512687e02a00090620000e090600a620006f9565b620000ec908262000711565b60048190556000600e819055338082526005602090815260408084208590555193845290928392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a360078054336001600160a01b0319918216178255306000818152600860209081526040808320805460ff1990811660019081179092556001600160a01b03898116865283862080548316841790559754909716845281842080549097161790955560098054737a250d5630b4cf539739df2c5dacb4c659f2488d9516851790559181526006825283812083825282528381206000199055835163c45a015560e01b8152935192939092849263c45a015592600480820193918290030181865afa15801562000211573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023791906200072b565b9050806001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000288573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ae91906200072b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200032291906200072b565b600b8054610100600160a81b0319166101006001600160a01b0393841681029190911791829055900481166000908152600a6020908152604091829020805460ff1916600117905560095482516315ab88c960e31b8152925193169263ad5c46489260048082019392918290030181865afa158015620003a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003cc91906200072b565b60095460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801562000420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000446919062000756565b50506001600160a01b03166000908152600860205260409020805460ff19166001179055506200077a9050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200049e57607f821691505b602082108103620004bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200051357600081815260208120601f850160051c81016020861015620004ee5750805b601f850160051c820191505b818110156200050f57828155600101620004fa565b5050505b505050565b81516001600160401b0381111562000534576200053462000473565b6200054c8162000545845462000489565b84620004c5565b602080601f8311600181146200058457600084156200056b5750858301515b600019600386901b1c1916600185901b1785556200050f565b600085815260208120601f198616915b82811015620005b55788860151825594840194600190910190840162000594565b5085821015620005d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200063b5781600019048211156200061f576200061f620005e4565b808516156200062d57918102915b93841c9390800290620005ff565b509250929050565b6000826200065457506001620006f3565b816200066357506000620006f3565b81600181146200067c57600281146200068757620006a7565b6001915050620006f3565b60ff8411156200069b576200069b620005e4565b50506001821b620006f3565b5060208310610133831016604e8410600b8410161715620006cc575081810a620006f3565b620006d88383620005fa565b8060001904821115620006ef57620006ef620005e4565b0290505b92915050565b60006200070a60ff84168362000643565b9392505050565b8082028115828204841417620006f357620006f3620005e4565b6000602082840312156200073e57600080fd5b81516001600160a01b03811681146200070a57600080fd5b6000602082840312156200076957600080fd5b815180151581146200070a57600080fd5b611221806200078a6000396000f3fe60806040526004361061016a5760003560e01c806365b61b77116100d157806395d89b411161008a578063baeb7a7d11610064578063baeb7a7d14610450578063dd62ed3e14610466578063ed7bb6e6146104ac578063f2fde38b146104cc57600080fd5b806395d89b41146103fb578063a3390e9514610410578063a9059cbb1461043057600080fd5b806365b61b771461033d5780636c5808011461035d57806370a0823114610372578063715018a6146103a85780638da5cb5b146103bd5780638f32d59b146103db57600080fd5b806336b2e0271161012357806336b2e027146102545780633ecad271146102845780633ef94721146102b45780634bf28fd0146102ca578063553193ca146103075780636402511e1461031d57600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f0578063313ce5671461021057806335ff9eb31461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104ec565b6040516101989190610f17565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004610f7a565b61057e565b6040519015158152602001610198565b3480156101dd57600080fd5b506004545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b366004610fa6565b610595565b34801561021c57600080fd5b5060035460405160ff9091168152602001610198565b34801561023e57600080fd5b5061025261024d366004610fe7565b61062c565b005b34801561026057600080fd5b506101c161026f366004610fe7565b60086020526000908152604090205460ff1681565b34801561029057600080fd5b506101c161029f366004610fe7565b600a6020526000908152604090205460ff1681565b3480156102c057600080fd5b506101e2600d5481565b3480156102d657600080fd5b50600b546102ef9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561031357600080fd5b506101e2600f5481565b34801561032957600080fd5b5061025261033836600461100b565b610665565b34801561034957600080fd5b506009546102ef906001600160a01b031681565b34801561036957600080fd5b50610252610681565b34801561037e57600080fd5b506101e261038d366004610fe7565b6001600160a01b031660009081526005602052604090205490565b3480156103b457600080fd5b506102526106ad565b3480156103c957600080fd5b506000546001600160a01b03166102ef565b3480156103e757600080fd5b506000546001600160a01b031633146101c1565b34801561040757600080fd5b5061018b61070e565b34801561041c57600080fd5b506007546102ef906001600160a01b031681565b34801561043c57600080fd5b506101c161044b366004610f7a565b61071d565b34801561045c57600080fd5b506101e2600c5481565b34801561047257600080fd5b506101e2610481366004611024565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104b857600080fd5b506102526104c7366004610fe7565b61072a565b3480156104d857600080fd5b506102526104e7366004610fe7565b61085f565b6060600180546104fb9061105d565b80601f01602080910402602001604051908101604052809291908181526020018280546105279061105d565b80156105745780601f1061054957610100808354040283529160200191610574565b820191906000526020600020905b81548152906001019060200180831161055757829003601f168201915b5050505050905090565b600061058b33848461087f565b5060015b92915050565b60006105a28484846108e0565b6001600160a01b038416600090815260066020908152604080832033845290915290205460001914610622576001600160a01b03841660009081526006602090815260408083203384529091529020546105fd9083906110ad565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461064357600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461067c57600080fd5b600e55565b6000546001600160a01b0316331461069857600080fd5b600f54156106a7576000600f55565b43600f55565b6000546001600160a01b031633146106c457600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600280546104fb9061105d565b600061058b3384846108e0565b6001600160a01b038116301461085c576007546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa15801561078d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b191906110c0565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082091906110d9565b506007546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561085a573d6000803e3d6000fd5b505b50565b6000546001600160a01b0316331461087657600080fd5b61085c81610a8c565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260056020526040902054818110156109405760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b604482015260640160405180910390fd5b600b5460ff161561095d57610956848484610afa565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff1680156109885750600b5460ff16155b80156109ad57506001600160a01b03851660009081526008602052604090205460ff16155b80156109d257506001600160a01b03841660009081526008602052604090205460ff16155b15610a1757306000908152600560205260409020548390811115610a025750306000908152600560205260409020545b600e54811115610a1557610a1581610baf565b505b6001600160a01b03851660009081526008602052604090205460ff16158015610a5957506001600160a01b03841660009081526008602052604090205460ff16155b8015610a685750600b5460ff16155b15610a80576000600f5411610a7c57600080fd5b5060015b61095685858584610d4d565b6001600160a01b038116610a9f57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260056020526040812080548391908390610b249084906110ad565b90915550506001600160a01b03831660009081526005602052604081208054849290610b519084906110fb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b9d91815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610bf157610bf161110e565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6e9190611124565b81600181518110610c8157610c8161110e565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610cc7908590600090869030904290600401611141565b600060405180830381600087803b158015610ce157600080fd5b505af1158015610cf5573d6000803e3d6000fd5b504792505081159050610d3e576007546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d3c573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b038416600090815260056020526040902054610d719083906110ad565b6001600160a01b0385166000908152600560205260408120919091558115610e88576001600160a01b0384166000908152600a602052604081205460ff1615610dbd5750600d54610de3565b6001600160a01b0386166000908152600a602052604090205460ff1615610de35750600c545b60006064610df183876111b2565b610dfb91906111c9565b90508015610e8557610e0d81846110fb565b30600090815260056020526040902054909350610e2b9082906110fb565b30600081815260056020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7c9085815260200190565b60405180910390a35b50505b610e9281846110ad565b6001600160a01b038516600090815260056020526040902054610eb591906110fb565b6001600160a01b0380861660008181526005602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610eff84876110ad565b60405190815260200160405180910390a35050505050565b600060208083528351808285015260005b81811015610f4457858101830151858201604001528201610f28565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461085c57600080fd5b60008060408385031215610f8d57600080fd5b8235610f9881610f65565b946020939093013593505050565b600080600060608486031215610fbb57600080fd5b8335610fc681610f65565b92506020840135610fd681610f65565b929592945050506040919091013590565b600060208284031215610ff957600080fd5b813561100481610f65565b9392505050565b60006020828403121561101d57600080fd5b5035919050565b6000806040838503121561103757600080fd5b823561104281610f65565b9150602083013561105281610f65565b809150509250929050565b600181811c9082168061107157607f821691505b60208210810361109157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561058f5761058f611097565b6000602082840312156110d257600080fd5b5051919050565b6000602082840312156110eb57600080fd5b8151801515811461100457600080fd5b8082018082111561058f5761058f611097565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561113657600080fd5b815161100481610f65565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111915784516001600160a01b03168352938301939183019160010161116c565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761058f5761058f611097565b6000826111e657634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122017779f0265cd31eb050966dace7170c62d645853bef951a594d79c7be6a997fd64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806365b61b77116100d157806395d89b411161008a578063baeb7a7d11610064578063baeb7a7d14610450578063dd62ed3e14610466578063ed7bb6e6146104ac578063f2fde38b146104cc57600080fd5b806395d89b41146103fb578063a3390e9514610410578063a9059cbb1461043057600080fd5b806365b61b771461033d5780636c5808011461035d57806370a0823114610372578063715018a6146103a85780638da5cb5b146103bd5780638f32d59b146103db57600080fd5b806336b2e0271161012357806336b2e027146102545780633ecad271146102845780633ef94721146102b45780634bf28fd0146102ca578063553193ca146103075780636402511e1461031d57600080fd5b806306fdde0314610176578063095ea7b3146101a157806318160ddd146101d157806323b872dd146101f0578063313ce5671461021057806335ff9eb31461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104ec565b6040516101989190610f17565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004610f7a565b61057e565b6040519015158152602001610198565b3480156101dd57600080fd5b506004545b604051908152602001610198565b3480156101fc57600080fd5b506101c161020b366004610fa6565b610595565b34801561021c57600080fd5b5060035460405160ff9091168152602001610198565b34801561023e57600080fd5b5061025261024d366004610fe7565b61062c565b005b34801561026057600080fd5b506101c161026f366004610fe7565b60086020526000908152604090205460ff1681565b34801561029057600080fd5b506101c161029f366004610fe7565b600a6020526000908152604090205460ff1681565b3480156102c057600080fd5b506101e2600d5481565b3480156102d657600080fd5b50600b546102ef9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561031357600080fd5b506101e2600f5481565b34801561032957600080fd5b5061025261033836600461100b565b610665565b34801561034957600080fd5b506009546102ef906001600160a01b031681565b34801561036957600080fd5b50610252610681565b34801561037e57600080fd5b506101e261038d366004610fe7565b6001600160a01b031660009081526005602052604090205490565b3480156103b457600080fd5b506102526106ad565b3480156103c957600080fd5b506000546001600160a01b03166102ef565b3480156103e757600080fd5b506000546001600160a01b031633146101c1565b34801561040757600080fd5b5061018b61070e565b34801561041c57600080fd5b506007546102ef906001600160a01b031681565b34801561043c57600080fd5b506101c161044b366004610f7a565b61071d565b34801561045c57600080fd5b506101e2600c5481565b34801561047257600080fd5b506101e2610481366004611024565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156104b857600080fd5b506102526104c7366004610fe7565b61072a565b3480156104d857600080fd5b506102526104e7366004610fe7565b61085f565b6060600180546104fb9061105d565b80601f01602080910402602001604051908101604052809291908181526020018280546105279061105d565b80156105745780601f1061054957610100808354040283529160200191610574565b820191906000526020600020905b81548152906001019060200180831161055757829003601f168201915b5050505050905090565b600061058b33848461087f565b5060015b92915050565b60006105a28484846108e0565b6001600160a01b038416600090815260066020908152604080832033845290915290205460001914610622576001600160a01b03841660009081526006602090815260408083203384529091529020546105fd9083906110ad565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b0316331461064357600080fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461067c57600080fd5b600e55565b6000546001600160a01b0316331461069857600080fd5b600f54156106a7576000600f55565b43600f55565b6000546001600160a01b031633146106c457600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6060600280546104fb9061105d565b600061058b3384846108e0565b6001600160a01b038116301461085c576007546040516370a0823160e01b81523060048201526001600160a01b038381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa15801561078d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b191906110c0565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082091906110d9565b506007546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561085a573d6000803e3d6000fd5b505b50565b6000546001600160a01b0316331461087657600080fd5b61085c81610a8c565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260056020526040902054818110156109405760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b604482015260640160405180910390fd5b600b5460ff161561095d57610956848484610afa565b5050505050565b6001600160a01b0383166000908152600a602052604081205460ff1680156109885750600b5460ff16155b80156109ad57506001600160a01b03851660009081526008602052604090205460ff16155b80156109d257506001600160a01b03841660009081526008602052604090205460ff16155b15610a1757306000908152600560205260409020548390811115610a025750306000908152600560205260409020545b600e54811115610a1557610a1581610baf565b505b6001600160a01b03851660009081526008602052604090205460ff16158015610a5957506001600160a01b03841660009081526008602052604090205460ff16155b8015610a685750600b5460ff16155b15610a80576000600f5411610a7c57600080fd5b5060015b61095685858584610d4d565b6001600160a01b038116610a9f57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260056020526040812080548391908390610b249084906110ad565b90915550506001600160a01b03831660009081526005602052604081208054849290610b519084906110fb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b9d91815260200190565b60405180910390a35060019392505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610bf157610bf161110e565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6e9190611124565b81600181518110610c8157610c8161110e565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610cc7908590600090869030904290600401611141565b600060405180830381600087803b158015610ce157600080fd5b505af1158015610cf5573d6000803e3d6000fd5b504792505081159050610d3e576007546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d3c573d6000803e3d6000fd5b505b5050600b805460ff1916905550565b6001600160a01b038416600090815260056020526040902054610d719083906110ad565b6001600160a01b0385166000908152600560205260408120919091558115610e88576001600160a01b0384166000908152600a602052604081205460ff1615610dbd5750600d54610de3565b6001600160a01b0386166000908152600a602052604090205460ff1615610de35750600c545b60006064610df183876111b2565b610dfb91906111c9565b90508015610e8557610e0d81846110fb565b30600090815260056020526040902054909350610e2b9082906110fb565b30600081815260056020526040908190209290925590516001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e7c9085815260200190565b60405180910390a35b50505b610e9281846110ad565b6001600160a01b038516600090815260056020526040902054610eb591906110fb565b6001600160a01b0380861660008181526005602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610eff84876110ad565b60405190815260200160405180910390a35050505050565b600060208083528351808285015260005b81811015610f4457858101830151858201604001528201610f28565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461085c57600080fd5b60008060408385031215610f8d57600080fd5b8235610f9881610f65565b946020939093013593505050565b600080600060608486031215610fbb57600080fd5b8335610fc681610f65565b92506020840135610fd681610f65565b929592945050506040919091013590565b600060208284031215610ff957600080fd5b813561100481610f65565b9392505050565b60006020828403121561101d57600080fd5b5035919050565b6000806040838503121561103757600080fd5b823561104281610f65565b9150602083013561105281610f65565b809150509250929050565b600181811c9082168061107157607f821691505b60208210810361109157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561058f5761058f611097565b6000602082840312156110d257600080fd5b5051919050565b6000602082840312156110eb57600080fd5b8151801515811461100457600080fd5b8082018082111561058f5761058f611097565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561113657600080fd5b815161100481610f65565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156111915784516001600160a01b03168352938301939183019160010161116c565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761058f5761058f611097565b6000826111e657634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122017779f0265cd31eb050966dace7170c62d645853bef951a594d79c7be6a997fd64736f6c63430008110033

Deployed Bytecode Sourcemap

4329:7013:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6429:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7192:159;;;;;;;;;;-1:-1:-1;7192:159:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7192:159:0;1023:187:1;6633:100:0;;;;;;;;;;-1:-1:-1;6713:12:0;;6633:100;;;1361:25:1;;;1349:2;1334:18;6633:100:0;1215:177:1;7359:336:0;;;;;;;;;;-1:-1:-1;7359:336:0;;;;;:::i;:::-;;:::i;6531:94::-;;;;;;;;;;-1:-1:-1;6608:9:0;;6531:94;;6608:9;;;;2000:36:1;;1988:2;1973:18;6531:94:0;1858:184:1;10071:127:0;;;;;;;;;;-1:-1:-1;10071:127:0;;;;;:::i;:::-;;:::i;:::-;;4668:49;;;;;;;;;;-1:-1:-1;4668:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4767:44;;;;;;;;;;-1:-1:-1;4767:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5061:28;;;;;;;;;;;;;;;;4893:27;;;;;;;;;;-1:-1:-1;4893:27:0;;;;;;;-1:-1:-1;;;;;4893:27:0;;;;;;-1:-1:-1;;;;;2723:32:1;;;2705:51;;2693:2;2678:18;4893:27:0;2559:203:1;10358:30:0;;;;;;;;;;;;;;;;10233:117;;;;;;;;;;-1:-1:-1;10233:117:0;;;;;:::i;:::-;;:::i;4724:36::-;;;;;;;;;;-1:-1:-1;4724:36:0;;;;-1:-1:-1;;;;;4724:36:0;;;10395:115;;;;;;;;;;;;;:::i;6741:119::-;;;;;;;;;;-1:-1:-1;6741:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6834:18:0;6807:7;6834:18;;;:9;:18;;;;;;;6741:119;3559:140;;;;;;;;;;;;;:::i;2846:79::-;;;;;;;;;;-1:-1:-1;2884:7:0;2911:6;-1:-1:-1;;;;;2911:6:0;2846:79;;3181:92;;;;;;;;;;-1:-1:-1;3221:4:0;3259:6;-1:-1:-1;;;;;3259:6:0;3245:10;:20;3181:92;;6323:98;;;;;;;;;;;;;:::i;4629:32::-;;;;;;;;;;-1:-1:-1;4629:32:0;;;;-1:-1:-1;;;;;4629:32:0;;;6868:165;;;;;;;;;;-1:-1:-1;6868:165:0;;;;;:::i;:::-;;:::i;5027:27::-;;;;;;;;;;;;;;;;7041:143;;;;;;;;;;-1:-1:-1;7041:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7149:18:0;;;7122:7;7149:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7041:143;10518:248;;;;;;;;;;-1:-1:-1;10518:248:0;;;;;:::i;:::-;;:::i;3876:109::-;;;;;;;;;;-1:-1:-1;3876:109:0;;;;;:::i;:::-;;:::i;6429:94::-;6477:13;6510:5;6503:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6429:94;:::o;7192:159::-;7267:4;7284:37;7293:10;7305:7;7314:6;7284:8;:37::i;:::-;-1:-1:-1;7339:4:0;7192:159;;;;;:::o;7359:336::-;7457:4;7474:36;7484:6;7492:9;7503:6;7474:9;:36::i;:::-;-1:-1:-1;;;;;7525:19:0;;4884:1;7525:19;;;:11;:19;;;;;;;;7545:10;7525:31;;;;;;;;-1:-1:-1;;7525:38:0;7521:145;;-1:-1:-1;;;;;7614:19:0;;;;;;:11;:19;;;;;;;;7634:10;7614:31;;;;;;;;:40;;7648:6;;7614:40;:::i;:::-;-1:-1:-1;;;;;7580:19:0;;;;;;:11;:19;;;;;;;;7600:10;7580:31;;;;;;;:74;7521:145;-1:-1:-1;7683:4:0;7359:336;;;;;:::o;10071:127::-;3221:4;3259:6;-1:-1:-1;;;;;3259:6:0;3245:10;:20;3050:18;;;;;;10166:9:::1;:24:::0;;-1:-1:-1;;;;;;10166:24:0::1;-1:-1:-1::0;;;;;10166:24:0;;;::::1;::::0;;;::::1;::::0;;10071:127::o;10233:117::-;3221:4;3259:6;-1:-1:-1;;;;;3259:6:0;3245:10;:20;3050:18;;;;;;10319:12:::1;:23:::0;10233:117::o;10395:115::-;3221:4;3259:6;-1:-1:-1;;;;;3259:6:0;3245:10;:20;3050:18;;;;;;10463:15:::1;::::0;:20;:39:::1;;10501:1;10445:15;:57:::0;10395:115::o;10463:39::-:1;10486:12;10445:15;:57:::0;10395:115::o;3559:140::-;3221:4;3259:6;-1:-1:-1;;;;;3259:6:0;3245:10;:20;3050:18;;;;;;3658:1:::1;3642:6:::0;;3621:40:::1;::::0;-1:-1:-1;;;;;3642:6:0;;::::1;::::0;3621:40:::1;::::0;3658:1;;3621:40:::1;3689:1;3672:19:::0;;-1:-1:-1;;;;;;3672:19:0::1;::::0;;3559:140::o;6323:98::-;6373:13;6406:7;6399:14;;;;;:::i;6868:165::-;6946:4;6963:40;6973:10;6985:9;6996:6;6963:9;:40::i;10518:248::-;-1:-1:-1;;;;;10577:23:0;;10595:4;10577:23;10574:185;;10640:9;;10651:39;;-1:-1:-1;;;10651:39:0;;10684:4;10651:39;;;2705:51:1;-1:-1:-1;;;;;10616:23:0;;;;;;10640:9;;;10616:23;;10651:24;;2678:18:1;;10651:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10616:75;;-1:-1:-1;;;;;;10616:75:0;;;;;;;-1:-1:-1;;;;;4838:32:1;;;10616:75:0;;;4820:51:1;4887:18;;;4880:34;4793:18;;10616:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10706:9:0;;:41;;-1:-1:-1;;;;;10706:9:0;;;;10725:21;10706:41;;;;;:9;:41;:9;:41;10725:21;10706:9;:41;;;;;;;;;;;;;;;;;;;;;10574:185;10518:248;:::o;3876:109::-;3221:4;3259:6;-1:-1:-1;;;;;3259:6:0;3245:10;:20;3050:18;;;;;;3949:28:::1;3968:8;3949:18;:28::i;7703:177::-:0;-1:-1:-1;;;;;7788:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7840:32;;1361:25:1;;;7840:32:0;;1334:18:1;7840:32:0;;;;;;;7703:177;;;:::o;8155:961::-;-1:-1:-1;;;;;6834:18:0;;8269:15;6834:18;;;:9;:18;;;;;;8321:17;;;;8313:46;;;;-1:-1:-1;;;8313:46:0;;5409:2:1;8313:46:0;;;5391:21:1;5448:2;5428:18;;;5421:30;-1:-1:-1;;;5467:18:1;;;5460:46;5523:18;;8313:46:0;;;;;;;;8376:6;;;;8372:91;;;8398:32;8413:4;8419:2;8423:6;8398:14;:32::i;:::-;;8445:7;8155:961;;;:::o;8372:91::-;-1:-1:-1;;;;;8504:16:0;;8475:12;8504:16;;;:12;:16;;;;;;;;:27;;;;-1:-1:-1;8525:6:0;;;;8524:7;8504:27;:55;;;;-1:-1:-1;;;;;;8536:23:0;;;;;;:17;:23;;;;;;;;8535:24;8504:55;:81;;;;-1:-1:-1;;;;;;8564:21:0;;;;;;:17;:21;;;;;;;;8563:22;8504:81;8500:390;;;8685:4;6807:7;6834:18;;;:9;:18;;;;;;8626:6;;8651:13;:40;8647:120;;;-1:-1:-1;8745:4:0;8727:24;;;;:9;:24;;;;;;8647:120;8801:12;;8785:13;:28;8781:98;;;8833:30;8849:13;8833:15;:30::i;:::-;8587:303;8500:390;-1:-1:-1;;;;;8907:23:0;;;;;;:17;:23;;;;;;;;8906:24;:50;;;;-1:-1:-1;;;;;;8935:21:0;;;;;;:17;:21;;;;;;;;8934:22;8906:50;:61;;;;-1:-1:-1;8961:6:0;;;;8960:7;8906:61;8902:153;;;9010:1;8992:15;;:19;8984:28;;;;;;-1:-1:-1;9037:4:0;8902:153;9067:41;9082:4;9088:2;9092:6;9100:7;9067:14;:41::i;4135:187::-;-1:-1:-1;;;;;4209:22:0;;4201:31;;;;;;4269:6;;;4248:38;;-1:-1:-1;;;;;4248:38:0;;;;4269:6;;;4248:38;;;4297:6;:17;;-1:-1:-1;;;;;;4297:17:0;-1:-1:-1;;;;;4297:17:0;;;;;;;;;;4135:187::o;7888:259::-;-1:-1:-1;;;;;7998:17:0;;7981:4;7998:17;;;:9;:17;;;;;:27;;8019:6;;7998:17;7981:4;;7998:27;;8019:6;;7998:27;:::i;:::-;;;;-1:-1:-1;;;;;;;8036:20:0;;;;;;:9;:20;;;;;:30;;8060:6;;8036:20;:30;;8060:6;;8036:30;:::i;:::-;;;;;;;;8099:9;-1:-1:-1;;;;;8082:35:0;8091:6;-1:-1:-1;;;;;8082:35:0;;8110:6;8082:35;;;;1361:25:1;;1349:2;1334:18;;1215:177;8082:35:0;;;;;;;;-1:-1:-1;8135:4:0;7888:259;;;;;:::o;10774:530::-;4961:6;:13;;-1:-1:-1;;4961:13:0;4970:4;4961:13;;;10875:16:::1;::::0;;10889:1:::1;10875:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10875:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10875:16:0::1;10851:40;;10920:4;10902;10907:1;10902:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10902:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10946:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;10946:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;10902:7;;10946:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10936:4;10941:1;10936:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10936:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;10978:14:::1;::::0;:195:::1;::::0;-1:-1:-1;;;10978:195:0;;:14;::::1;::::0;:65:::1;::::0;:195:::1;::::0;11058:11;;10978:14:::1;::::0;11100:4;;11127::::1;::::0;11147:15:::1;::::0;10978:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11201:21:0::1;::::0;-1:-1:-1;;11237:8:0;;;-1:-1:-1;11233:64:0::1;;11261:9;::::0;:24:::1;::::0;-1:-1:-1;;;;;11261:9:0;;::::1;::::0;:24;::::1;;;::::0;11280:4;;11261:9:::1;:24:::0;:9;:24;11280:4;11261:9;:24;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11233:64;-1:-1:-1::0;;4997:6:0;:14;;-1:-1:-1;;4997:14:0;;;-1:-1:-1;10774:530:0:o;9124:935::-;-1:-1:-1;;;;;9296:17:0;;;;;;:9;:17;;;;;;:27;;9316:7;;9296:27;:::i;:::-;-1:-1:-1;;;;;9276:17:0;;;;;;:9;:17;;;;;:47;;;;9364:542;;;;-1:-1:-1;;;;;9425:23:0;;9392:14;9425:23;;;:12;:23;;;;;;;;9421:174;;;-1:-1:-1;9478:13:0;;9421:174;;;-1:-1:-1;;;;;9517:20:0;;;;;;:12;:20;;;;;;;;9513:82;;;-1:-1:-1;9567:12:0;;9513:82;9609:18;9649:3;9630:16;9640:6;9630:7;:16;:::i;:::-;:22;;;;:::i;:::-;9609:43;-1:-1:-1;9671:14:0;;9667:228;;9706:23;9719:10;9706:23;;:::i;:::-;9793:4;9775:24;;;;:9;:24;;;;;;9706:23;;-1:-1:-1;9775:37:0;;9802:10;;9775:37;:::i;:::-;9766:4;9748:24;;;;:9;:24;;;;;;;:64;;;;9836:43;;-1:-1:-1;;;;;9836:43:0;;;;;;;9868:10;1361:25:1;;1349:2;1334:18;;1215:177;9836:43:0;;;;;;;;9667:228;9377:529;;9364:542;9965:19;9975:9;9965:7;:19;:::i;:::-;-1:-1:-1;;;;;9941:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;9918:20:0;;;;;;;:9;:20;;;;;:67;;;;10001:48;;;10029:19;10039:9;10029:7;:19;:::i;:::-;10001:48;;1361:25:1;;;1349:2;1334:18;10001:48:0;;;;;;;9265:794;9124:935;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:255::-;2114:6;2167:2;2155:9;2146:7;2142:23;2138:32;2135:52;;;2183:1;2180;2173:12;2135:52;2222:9;2209:23;2241:31;2266:5;2241:31;:::i;:::-;2291:5;2047:255;-1:-1:-1;;;2047:255:1:o;2767:180::-;2826:6;2879:2;2867:9;2858:7;2854:23;2850:32;2847:52;;;2895:1;2892;2885:12;2847:52;-1:-1:-1;2918:23:1;;2767:180;-1:-1:-1;2767:180:1:o;3406:388::-;3474:6;3482;3535:2;3523:9;3514:7;3510:23;3506:32;3503:52;;;3551:1;3548;3541:12;3503:52;3590:9;3577:23;3609:31;3634:5;3609:31;:::i;:::-;3659:5;-1:-1:-1;3716:2:1;3701:18;;3688:32;3729:33;3688:32;3729:33;:::i;:::-;3781:7;3771:17;;;3406:388;;;;;:::o;3799:380::-;3878:1;3874:12;;;;3921;;;3942:61;;3996:4;3988:6;3984:17;3974:27;;3942:61;4049:2;4041:6;4038:14;4018:18;4015:38;4012:161;;4095:10;4090:3;4086:20;4083:1;4076:31;4130:4;4127:1;4120:15;4158:4;4155:1;4148:15;4012:161;;3799:380;;;:::o;4184:127::-;4245:10;4240:3;4236:20;4233:1;4226:31;4276:4;4273:1;4266:15;4300:4;4297:1;4290:15;4316:128;4383:9;;;4404:11;;;4401:37;;;4418:18;;:::i;4449:184::-;4519:6;4572:2;4560:9;4551:7;4547:23;4543:32;4540:52;;;4588:1;4585;4578:12;4540:52;-1:-1:-1;4611:16:1;;4449:184;-1:-1:-1;4449:184:1:o;4925:277::-;4992:6;5045:2;5033:9;5024:7;5020:23;5016:32;5013:52;;;5061:1;5058;5051:12;5013:52;5093:9;5087:16;5146:5;5139:13;5132:21;5125:5;5122:32;5112:60;;5168:1;5165;5158:12;5552:125;5617:9;;;5638:10;;;5635:36;;;5651:18;;:::i;5814:127::-;5875:10;5870:3;5866:20;5863:1;5856:31;5906:4;5903:1;5896:15;5930:4;5927:1;5920:15;5946:251;6016:6;6069:2;6057:9;6048:7;6044:23;6040:32;6037:52;;;6085:1;6082;6075:12;6037:52;6117:9;6111:16;6136:31;6161:5;6136:31;:::i;6202:980::-;6464:4;6512:3;6501:9;6497:19;6543:6;6532:9;6525:25;6569:2;6607:6;6602:2;6591:9;6587:18;6580:34;6650:3;6645:2;6634:9;6630:18;6623:31;6674:6;6709;6703:13;6740:6;6732;6725:22;6778:3;6767:9;6763:19;6756:26;;6817:2;6809:6;6805:15;6791:29;;6838:1;6848:195;6862:6;6859:1;6856:13;6848:195;;;6927:13;;-1:-1:-1;;;;;6923:39:1;6911:52;;7018:15;;;;6983:12;;;;6959:1;6877:9;6848:195;;;-1:-1:-1;;;;;;;7099:32:1;;;;7094:2;7079:18;;7072:60;-1:-1:-1;;;7163:3:1;7148:19;7141:35;7060:3;6202:980;-1:-1:-1;;;6202:980:1:o;7187:168::-;7260:9;;;7291;;7308:15;;;7302:22;;7288:37;7278:71;;7329:18;;:::i;7360:217::-;7400:1;7426;7416:132;;7470:10;7465:3;7461:20;7458:1;7451:31;7505:4;7502:1;7495:15;7533:4;7530:1;7523:15;7416:132;-1:-1:-1;7562:9:1;;7360:217::o

Swarm Source

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