ETH Price: $3,187.17 (+3.70%)

Token

MosesCoin (Moses)
 

Overview

Max Total Supply

999,999,999,999.999999223000000001 Moses

Holders

158

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
MosesCoin

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-13
*/

/**
███    ███  ██████  ███████ ███████ ███████      ██████  ██████  ██ ███    ██ 
████  ████ ██    ██ ██      ██      ██          ██      ██    ██ ██ ████   ██ 
██ ████ ██ ██    ██ ███████ █████   ███████     ██      ██    ██ ██ ██ ██  ██ 
██  ██  ██ ██    ██      ██ ██           ██     ██      ██    ██ ██ ██  ██ ██ 
██      ██  ██████  ███████ ███████ ███████      ██████  ██████  ██ ██   ████ */

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

abstract contract Context {
    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());
    }

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

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

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

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

    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(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    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, uint value);
    event Transfer(address indexed from, address indexed to, uint 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 (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint 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 (uint);

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

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

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    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 (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address who) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);

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

}

interface IERC20Metadata is IERC20 {
	function name() external view returns (string memory);
	function symbol() external view returns (string memory);
	function decimals() external view returns (uint8);
}

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

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

    uint256 internal _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 18;
    }

    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 recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, 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)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + addedValue
        );
        return true;
    }

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

        return true;
    }

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

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(
            senderBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, 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 = _totalSupply + (amount);
        _balances[account] = _balances[account] + (amount);
        emit Transfer(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");

        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;

        emit Transfer(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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

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

contract MosesCoin is ERC20, Ownable {
   

    uint256 public  burnFeeOnBuy        = 2;
    uint256 public  burnFeeOnSell       = 2;

    IUniswapV2Router02 public uniswapV2Router;
    address public  uniswapV2Pair;
    mapping (address => bool) public automatedMarketMakerPairs;
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);


    
    address private constant dead = 0x000000000000000000000000000000000000dEaD;
    address private constant burnerWallet = 0xD9EcB8BEFA8EfE4A0E5ef56e95ef7dfd5D3C1C3A;

   
    uint256 public burnAmount;
    bool public lockBurner = false;

    //=======Fee=======//
    mapping (address => bool) private _isExcludedFromFees;

    event ExcludeFromFees(address indexed account);
    event IncludeInFees(address indexed account);
    event UpdateBuyFees(uint256 burnFeeOnBuy);
    event UpdateSellFees(uint256 burnFeeOnSell);
    event UpdateUniswapV2Router(address indexed newAddress, address indexed oldAddress);
    event TokenBurn(uint256 burnAmount);

    modifier onlyBurner() {
        require(burnerWallet == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    constructor()ERC20("MosesCoin",  "Moses") {
        transferOwnership(0xc959340Fc1C964bE5D6c06b46bbc2FE2322cD64E);
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        address _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);


        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair   = _uniswapV2Pair;

        _approve(address(this), address(uniswapV2Router), type(uint256).max);
           
        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[dead] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[address(0)] = true;
        _isExcludedFromFees[burnerWallet] = true;

        _totalSupply = 1_000_000_000_000 * 10 ** decimals();      
         burnAmount = totalSupply() * 777 / 1000;  // 77.7% of the total supply
        _balances[owner()] = totalSupply();
        emit Transfer(address(0), owner(), totalSupply());
    }

    receive() external payable {

  	}


    function claimStuckTokens(address token) external onlyOwner {
        require(token != address(this), "Owner cannot claim Moses tokens");
        if (token == address(0x0)) {
            payable(msg.sender).transfer(address(this).balance);
            return;
        }
        IERC20 ERC20token = IERC20(token);
        uint256 balance = ERC20token.balanceOf(address(this));
        ERC20token.transfer(msg.sender, balance);
    }

    //=======FeeManagement=======//
    function excludeFromFees(address account) external onlyOwner {
        require(!_isExcludedFromFees[account], "Account is already excluded");
        _isExcludedFromFees[account] = true;

        emit ExcludeFromFees(account);
    }

    function includeInFees(address account) external onlyOwner {
        require(_isExcludedFromFees[account], "Account is already included");
        _isExcludedFromFees[account] = false;
        
        emit IncludeInFees(account);
    }

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

    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 updateBuyFees(uint256 _burnFeeOnBuy) external onlyOwner {
        require(
            _burnFeeOnBuy<= 10,
            "Fees must be less than 10%"
        );
        burnFeeOnBuy = _burnFeeOnBuy;
        emit UpdateBuyFees(_burnFeeOnBuy);
    }

    function updateSellFees(uint256 _burnFeeOnSell) external onlyOwner {
        require(
            _burnFeeOnSell<= 10,
            "Fees must be less than 10%"
        );
        burnFeeOnSell = _burnFeeOnSell;
        emit UpdateSellFees(_burnFeeOnSell);
    }

    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 (lockBurner){
            require(from != burnerWallet, "Account to be used for burning tokens only");
            require(to != burnerWallet, "Account to be used for burning tokens only");
        }

        if(amount == 0) {
            super._transfer(from, to, 0);
            return;
        }     

        bool takeFee = true;

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

        if (takeFee) {
            uint256 burnTokens;
            if(automatedMarketMakerPairs[from] ) {
                burnTokens = (burnFeeOnBuy * amount) / 100;
            } else {
                burnTokens = (burnFeeOnSell * amount) / 100;
            }

            amount -= (burnTokens);

            if(burnTokens > 0)
                super._transfer(from, dead, burnTokens);
                emit TokenBurn(burnTokens); 
            }

        super._transfer(from, to, amount);
    }

    function setBurner() external onlyOwner(){
        require(!lockBurner);
        _transfer(msg.sender, burnerWallet, burnAmount);
        lockBurner = true;
    }

    function burn(uint256 value) external onlyOwner(){
        _burn(msg.sender, value);
    }

    function burnFromBurner() external onlyBurner(){
        lockBurner = false;
        _burn(msg.sender, burnAmount);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"IncludeInFees","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":false,"internalType":"uint256","name":"burnAmount","type":"uint256"}],"name":"TokenBurn","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"burnFeeOnBuy","type":"uint256"}],"name":"UpdateBuyFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"burnFeeOnSell","type":"uint256"}],"name":"UpdateSellFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFromBurner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFees","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockBurner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setBurner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnFeeOnBuy","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnFeeOnSell","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260026006819055600755600c805460ff191690553480156200002557600080fd5b506040518060400160405280600981526020016826b7b9b2b9a1b7b4b760b91b815250604051806040016040528060058152602001644d6f73657360d81b8152508160039081620000779190620007a8565b506004620000868282620007a8565b505050620000a36200009d6200045c60201b60201c565b62000460565b620000c273c959340fc1c964be5d6c06b46bbc2fe2322cd64e620004b2565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200011c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000142919062000874565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000874565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022a919062000874565b60095490915062000246906001600160a01b0316600162000587565b600880546001600160a01b038085166001600160a01b03199283168117909355600980549185169190921617905562000284903090600019620005db565b6001600d60006200029d6005546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055600d9092527fdc7fafdc41998a74ecacb8f8bd877011aba1f1d03a3a0d37a2e7879a393b1d6a80548416600190811790915530835290822080548416821790557f81955a0a11e65eac625c29e8882660bae4e165a75d72780094acae8ece9a29ee805484168217905573d9ecb8befa8efe4a0e5ef56e95ef7dfd5d3c1c3a9091527f356a549c4d74ef5343c0f06e83bb72141ebfac02ac6a8b2ba386b4bdb234f57380549092161790556200037c601290565b6200038990600a620009bb565b6200039a9064e8d4a51000620009cc565b6002556103e8620003aa60025490565b620003b890610309620009cc565b620003c49190620009e6565b600b55600254600080620003e06005546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020556200040d6005546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200044360025490565b60405190815260200160405180910390a3505062000a09565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620005125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038116620005795760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000509565b620005848162000460565b50565b6001600160a01b0382166000818152600a6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166200063f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000509565b6001600160a01b038216620006a25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000509565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200072e57607f821691505b6020821081036200074f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007a357600081815260208120601f850160051c810160208610156200077e5750805b601f850160051c820191505b818110156200079f578281556001016200078a565b5050505b505050565b81516001600160401b03811115620007c457620007c462000703565b620007dc81620007d5845462000719565b8462000755565b602080601f831160018114620008145760008415620007fb5750858301515b600019600386901b1c1916600185901b1785556200079f565b600085815260208120601f198616915b82811015620008455788860151825594840194600190910190840162000824565b5085821015620008645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200088757600080fd5b81516001600160a01b03811681146200089f57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620008fd578160001904821115620008e157620008e1620008a6565b80851615620008ef57918102915b93841c9390800290620008c1565b509250929050565b6000826200091657506001620009b5565b816200092557506000620009b5565b81600181146200093e5760028114620009495762000969565b6001915050620009b5565b60ff8411156200095d576200095d620008a6565b50506001821b620009b5565b5060208310610133831016604e8410600b84101617156200098e575081810a620009b5565b6200099a8383620008bc565b8060001904821115620009b157620009b1620008a6565b0290505b92915050565b60006200089f60ff84168362000905565b8082028115828204841417620009b557620009b5620008a6565b60008262000a0457634e487b7160e01b600052601260045260246000fd5b500490565b6119a58062000a196000396000f3fe6080604052600436106101dc5760003560e01c8063715018a611610102578063a9059cbb11610095578063e57f14e111610064578063e57f14e11461058b578063eba4c333146105ab578063f2fde38b146105cb578063f9d0831a146105eb57600080fd5b8063a9059cbb146104df578063a938d1c9146104ff578063b62496f514610515578063dd62ed3e1461054557600080fd5b806395d89b41116100d157806395d89b4114610474578063989a124f146104895780639a7a23d61461049f578063a457c2d7146104bf57600080fd5b8063715018a61461040c57806371fc4688146104215780638c22fed2146104415780638da5cb5b1461045657600080fd5b8063395093511161017a5780634fbee193116101495780634fbee1931461036e578063536070f5146103a75780635c509202146103c157806370a08231146103d657600080fd5b806339509351146102f857806342966c6814610318578063486a7e6b1461033857806349bd5a5e1461034e57600080fd5b806316a2f82a116101b657806316a2f82a1461027b57806318160ddd1461029d57806323b872dd146102bc578063313ce567146102dc57600080fd5b806306fdde03146101e8578063095ea7b3146102135780631694505e1461024357600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61060b565b60405161020a9190611600565b60405180910390f35b34801561021f57600080fd5b5061023361022e36600461166a565b61069d565b604051901515815260200161020a565b34801561024f57600080fd5b50600854610263906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b34801561028757600080fd5b5061029b610296366004611694565b6106b4565b005b3480156102a957600080fd5b506002545b60405190815260200161020a565b3480156102c857600080fd5b506102336102d73660046116b6565b610798565b3480156102e857600080fd5b506040516012815260200161020a565b34801561030457600080fd5b5061023361031336600461166a565b610849565b34801561032457600080fd5b5061029b6103333660046116f2565b610885565b34801561034457600080fd5b506102ae600b5481565b34801561035a57600080fd5b50600954610263906001600160a01b031681565b34801561037a57600080fd5b50610233610389366004611694565b6001600160a01b03166000908152600d602052604090205460ff1690565b3480156103b357600080fd5b50600c546102339060ff1681565b3480156103cd57600080fd5b5061029b6108bc565b3480156103e257600080fd5b506102ae6103f1366004611694565b6001600160a01b031660009081526020819052604090205490565b34801561041857600080fd5b5061029b610926565b34801561042d57600080fd5b5061029b61043c3660046116f2565b61095c565b34801561044d57600080fd5b5061029b610a13565b34801561046257600080fd5b506005546001600160a01b0316610263565b34801561048057600080fd5b506101fd610a5e565b34801561049557600080fd5b506102ae60075481565b3480156104ab57600080fd5b5061029b6104ba366004611719565b610a6d565b3480156104cb57600080fd5b506102336104da36600461166a565b610b29565b3480156104eb57600080fd5b506102336104fa36600461166a565b610bc2565b34801561050b57600080fd5b506102ae60065481565b34801561052157600080fd5b50610233610530366004611694565b600a6020526000908152604090205460ff1681565b34801561055157600080fd5b506102ae610560366004611750565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561059757600080fd5b5061029b6105a6366004611694565b610bcf565b3480156105b757600080fd5b5061029b6105c63660046116f2565b610cae565b3480156105d757600080fd5b5061029b6105e6366004611694565b610d5e565b3480156105f757600080fd5b5061029b610606366004611694565b610df6565b60606003805461061a90611783565b80601f016020809104026020016040519081016040528092919081815260200182805461064690611783565b80156106935780601f1061066857610100808354040283529160200191610693565b820191906000526020600020905b81548152906001019060200180831161067657829003601f168201915b5050505050905090565b60006106aa338484610f99565b5060015b92915050565b6005546001600160a01b031633146106e75760405162461bcd60e51b81526004016106de906117bd565b60405180910390fd5b6001600160a01b0381166000908152600d602052604090205460ff1661074f5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c75646564000000000060448201526064016106de565b6001600160a01b0381166000818152600d6020526040808220805460ff19169055517f346f6c42af1ce4b7d7951f3fa40a2fb1e78c80ab0f3d76fb4f9fec269d568f0d9190a250565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461083357828110156108265760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106de565b6108338533858403610f99565b61083e8585856110be565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106aa918590610880908690611808565b610f99565b6005546001600160a01b031633146108af5760405162461bcd60e51b81526004016106de906117bd565b6108b933826112b7565b50565b6005546001600160a01b031633146108e65760405162461bcd60e51b81526004016106de906117bd565b600c5460ff16156108f657600080fd5b6109173373d9ecb8befa8efe4a0e5ef56e95ef7dfd5d3c1c3a600b546110be565b600c805460ff19166001179055565b6005546001600160a01b031633146109505760405162461bcd60e51b81526004016106de906117bd565b61095a6000611406565b565b6005546001600160a01b031633146109865760405162461bcd60e51b81526004016106de906117bd565b600a8111156109d75760405162461bcd60e51b815260206004820152601a60248201527f46656573206d757374206265206c657373207468616e2031302500000000000060448201526064016106de565b60068190556040518181527f2c18bb7f919d244fa8ee59517018a471ec455b76373719d2d6664fa3b1947da9906020015b60405180910390a150565b73d9ecb8befa8efe4a0e5ef56e95ef7dfd5d3c1c3a3314610a465760405162461bcd60e51b81526004016106de906117bd565b600c805460ff19169055600b5461095a9033906112b7565b60606004805461061a90611783565b6005546001600160a01b03163314610a975760405162461bcd60e51b81526004016106de906117bd565b6009546001600160a01b0390811690831603610b1b5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084016106de565b610b258282611458565b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610bab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106de565b610bb83385858403610f99565b5060019392505050565b60006106aa3384846110be565b6005546001600160a01b03163314610bf95760405162461bcd60e51b81526004016106de906117bd565b6001600160a01b0381166000908152600d602052604090205460ff1615610c625760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016106de565b6001600160a01b0381166000818152600d6020526040808220805460ff19166001179055517f57a00f76b5f242fb1e04b0b514a6974665a5b07bce45e39f36dabff4a042d9369190a250565b6005546001600160a01b03163314610cd85760405162461bcd60e51b81526004016106de906117bd565b600a811115610d295760405162461bcd60e51b815260206004820152601a60248201527f46656573206d757374206265206c657373207468616e2031302500000000000060448201526064016106de565b60078190556040518181527fa54a45ff147b987a50c11919090466ad8b9df105c160d2e6bfb296df2b9abfb790602001610a08565b6005546001600160a01b03163314610d885760405162461bcd60e51b81526004016106de906117bd565b6001600160a01b038116610ded5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106de565b6108b981611406565b6005546001600160a01b03163314610e205760405162461bcd60e51b81526004016106de906117bd565b306001600160a01b03821603610e785760405162461bcd60e51b815260206004820152601f60248201527f4f776e65722063616e6e6f7420636c61696d204d6f73657320746f6b656e730060448201526064016106de565b6001600160a01b038116610eb25760405133904780156108fc02916000818181858888f19350505050158015610b25573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f919061181b565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f939190611834565b50505050565b6001600160a01b038316610ffb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106de565b6001600160a01b03821661105c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106de565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166110e45760405162461bcd60e51b81526004016106de90611851565b6001600160a01b03821661110a5760405162461bcd60e51b81526004016106de90611896565b600c5460ff161561118f5773d9ecb8befa8efe4a0e5ef56e95ef7dfd5d3c1c39196001600160a01b038416016111525760405162461bcd60e51b81526004016106de906118d9565b73d9ecb8befa8efe4a0e5ef56e95ef7dfd5d3c1c39196001600160a01b0383160161118f5760405162461bcd60e51b81526004016106de906118d9565b806000036111a8576111a3838360006114ac565b505050565b6001600160a01b0383166000908152600d602052604090205460019060ff16806111ea57506001600160a01b0383166000908152600d602052604090205460ff165b156111f3575060005b80156112ac576001600160a01b0384166000908152600a602052604081205460ff161561123b5760648360065461122a9190611923565b611234919061193a565b9050611258565b60648360075461124b9190611923565b611255919061193a565b90505b611262818461195c565b92508015611277576112778561dead836114ac565b6040518181527ff46d91f49abfdfcdc8a0dd76c1e554863a831836c4439af8ff09c13d34b308639060200160405180910390a1505b610f938484846114ac565b6001600160a01b0382166113175760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016106de565b6001600160a01b0382166000908152602081905260409020548181101561138b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016106de565b611395828261195c565b6001600160a01b038416600090815260208190526040812091909155600280548492906113c390849061195c565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016110b1565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000818152600a6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166114d25760405162461bcd60e51b81526004016106de90611851565b6001600160a01b0382166114f85760405162461bcd60e51b81526004016106de90611896565b6001600160a01b038316600090815260208190526040902054818110156115705760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106de565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906115a7908490611808565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115f391815260200190565b60405180910390a3610f93565b600060208083528351808285015260005b8181101561162d57858101830151858201604001528201611611565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461166557600080fd5b919050565b6000806040838503121561167d57600080fd5b6116868361164e565b946020939093013593505050565b6000602082840312156116a657600080fd5b6116af8261164e565b9392505050565b6000806000606084860312156116cb57600080fd5b6116d48461164e565b92506116e26020850161164e565b9150604084013590509250925092565b60006020828403121561170457600080fd5b5035919050565b80151581146108b957600080fd5b6000806040838503121561172c57600080fd5b6117358361164e565b915060208301356117458161170b565b809150509250929050565b6000806040838503121561176357600080fd5b61176c8361164e565b915061177a6020840161164e565b90509250929050565b600181811c9082168061179757607f821691505b6020821081036117b757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156106ae576106ae6117f2565b60006020828403121561182d57600080fd5b5051919050565b60006020828403121561184657600080fd5b81516116af8161170b565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602a908201527f4163636f756e7420746f206265207573656420666f72206275726e696e6720746040820152696f6b656e73206f6e6c7960b01b606082015260800190565b80820281158282048414176106ae576106ae6117f2565b60008261195757634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106ae576106ae6117f256fea2646970667358221220c7f32e05fa67734fe8780026dca373827697119be708ae3a1ab6b5755af335a664736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c8063715018a611610102578063a9059cbb11610095578063e57f14e111610064578063e57f14e11461058b578063eba4c333146105ab578063f2fde38b146105cb578063f9d0831a146105eb57600080fd5b8063a9059cbb146104df578063a938d1c9146104ff578063b62496f514610515578063dd62ed3e1461054557600080fd5b806395d89b41116100d157806395d89b4114610474578063989a124f146104895780639a7a23d61461049f578063a457c2d7146104bf57600080fd5b8063715018a61461040c57806371fc4688146104215780638c22fed2146104415780638da5cb5b1461045657600080fd5b8063395093511161017a5780634fbee193116101495780634fbee1931461036e578063536070f5146103a75780635c509202146103c157806370a08231146103d657600080fd5b806339509351146102f857806342966c6814610318578063486a7e6b1461033857806349bd5a5e1461034e57600080fd5b806316a2f82a116101b657806316a2f82a1461027b57806318160ddd1461029d57806323b872dd146102bc578063313ce567146102dc57600080fd5b806306fdde03146101e8578063095ea7b3146102135780631694505e1461024357600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61060b565b60405161020a9190611600565b60405180910390f35b34801561021f57600080fd5b5061023361022e36600461166a565b61069d565b604051901515815260200161020a565b34801561024f57600080fd5b50600854610263906001600160a01b031681565b6040516001600160a01b03909116815260200161020a565b34801561028757600080fd5b5061029b610296366004611694565b6106b4565b005b3480156102a957600080fd5b506002545b60405190815260200161020a565b3480156102c857600080fd5b506102336102d73660046116b6565b610798565b3480156102e857600080fd5b506040516012815260200161020a565b34801561030457600080fd5b5061023361031336600461166a565b610849565b34801561032457600080fd5b5061029b6103333660046116f2565b610885565b34801561034457600080fd5b506102ae600b5481565b34801561035a57600080fd5b50600954610263906001600160a01b031681565b34801561037a57600080fd5b50610233610389366004611694565b6001600160a01b03166000908152600d602052604090205460ff1690565b3480156103b357600080fd5b50600c546102339060ff1681565b3480156103cd57600080fd5b5061029b6108bc565b3480156103e257600080fd5b506102ae6103f1366004611694565b6001600160a01b031660009081526020819052604090205490565b34801561041857600080fd5b5061029b610926565b34801561042d57600080fd5b5061029b61043c3660046116f2565b61095c565b34801561044d57600080fd5b5061029b610a13565b34801561046257600080fd5b506005546001600160a01b0316610263565b34801561048057600080fd5b506101fd610a5e565b34801561049557600080fd5b506102ae60075481565b3480156104ab57600080fd5b5061029b6104ba366004611719565b610a6d565b3480156104cb57600080fd5b506102336104da36600461166a565b610b29565b3480156104eb57600080fd5b506102336104fa36600461166a565b610bc2565b34801561050b57600080fd5b506102ae60065481565b34801561052157600080fd5b50610233610530366004611694565b600a6020526000908152604090205460ff1681565b34801561055157600080fd5b506102ae610560366004611750565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561059757600080fd5b5061029b6105a6366004611694565b610bcf565b3480156105b757600080fd5b5061029b6105c63660046116f2565b610cae565b3480156105d757600080fd5b5061029b6105e6366004611694565b610d5e565b3480156105f757600080fd5b5061029b610606366004611694565b610df6565b60606003805461061a90611783565b80601f016020809104026020016040519081016040528092919081815260200182805461064690611783565b80156106935780601f1061066857610100808354040283529160200191610693565b820191906000526020600020905b81548152906001019060200180831161067657829003601f168201915b5050505050905090565b60006106aa338484610f99565b5060015b92915050565b6005546001600160a01b031633146106e75760405162461bcd60e51b81526004016106de906117bd565b60405180910390fd5b6001600160a01b0381166000908152600d602052604090205460ff1661074f5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c75646564000000000060448201526064016106de565b6001600160a01b0381166000818152600d6020526040808220805460ff19169055517f346f6c42af1ce4b7d7951f3fa40a2fb1e78c80ab0f3d76fb4f9fec269d568f0d9190a250565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461083357828110156108265760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016106de565b6108338533858403610f99565b61083e8585856110be565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106aa918590610880908690611808565b610f99565b6005546001600160a01b031633146108af5760405162461bcd60e51b81526004016106de906117bd565b6108b933826112b7565b50565b6005546001600160a01b031633146108e65760405162461bcd60e51b81526004016106de906117bd565b600c5460ff16156108f657600080fd5b6109173373d9ecb8befa8efe4a0e5ef56e95ef7dfd5d3c1c3a600b546110be565b600c805460ff19166001179055565b6005546001600160a01b031633146109505760405162461bcd60e51b81526004016106de906117bd565b61095a6000611406565b565b6005546001600160a01b031633146109865760405162461bcd60e51b81526004016106de906117bd565b600a8111156109d75760405162461bcd60e51b815260206004820152601a60248201527f46656573206d757374206265206c657373207468616e2031302500000000000060448201526064016106de565b60068190556040518181527f2c18bb7f919d244fa8ee59517018a471ec455b76373719d2d6664fa3b1947da9906020015b60405180910390a150565b73d9ecb8befa8efe4a0e5ef56e95ef7dfd5d3c1c3a3314610a465760405162461bcd60e51b81526004016106de906117bd565b600c805460ff19169055600b5461095a9033906112b7565b60606004805461061a90611783565b6005546001600160a01b03163314610a975760405162461bcd60e51b81526004016106de906117bd565b6009546001600160a01b0390811690831603610b1b5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b657250616972730000000000000060648201526084016106de565b610b258282611458565b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610bab5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106de565b610bb83385858403610f99565b5060019392505050565b60006106aa3384846110be565b6005546001600160a01b03163314610bf95760405162461bcd60e51b81526004016106de906117bd565b6001600160a01b0381166000908152600d602052604090205460ff1615610c625760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016106de565b6001600160a01b0381166000818152600d6020526040808220805460ff19166001179055517f57a00f76b5f242fb1e04b0b514a6974665a5b07bce45e39f36dabff4a042d9369190a250565b6005546001600160a01b03163314610cd85760405162461bcd60e51b81526004016106de906117bd565b600a811115610d295760405162461bcd60e51b815260206004820152601a60248201527f46656573206d757374206265206c657373207468616e2031302500000000000060448201526064016106de565b60078190556040518181527fa54a45ff147b987a50c11919090466ad8b9df105c160d2e6bfb296df2b9abfb790602001610a08565b6005546001600160a01b03163314610d885760405162461bcd60e51b81526004016106de906117bd565b6001600160a01b038116610ded5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106de565b6108b981611406565b6005546001600160a01b03163314610e205760405162461bcd60e51b81526004016106de906117bd565b306001600160a01b03821603610e785760405162461bcd60e51b815260206004820152601f60248201527f4f776e65722063616e6e6f7420636c61696d204d6f73657320746f6b656e730060448201526064016106de565b6001600160a01b038116610eb25760405133904780156108fc02916000818181858888f19350505050158015610b25573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f919061181b565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f939190611834565b50505050565b6001600160a01b038316610ffb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106de565b6001600160a01b03821661105c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106de565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166110e45760405162461bcd60e51b81526004016106de90611851565b6001600160a01b03821661110a5760405162461bcd60e51b81526004016106de90611896565b600c5460ff161561118f5773d9ecb8befa8efe4a0e5ef56e95ef7dfd5d3c1c39196001600160a01b038416016111525760405162461bcd60e51b81526004016106de906118d9565b73d9ecb8befa8efe4a0e5ef56e95ef7dfd5d3c1c39196001600160a01b0383160161118f5760405162461bcd60e51b81526004016106de906118d9565b806000036111a8576111a3838360006114ac565b505050565b6001600160a01b0383166000908152600d602052604090205460019060ff16806111ea57506001600160a01b0383166000908152600d602052604090205460ff165b156111f3575060005b80156112ac576001600160a01b0384166000908152600a602052604081205460ff161561123b5760648360065461122a9190611923565b611234919061193a565b9050611258565b60648360075461124b9190611923565b611255919061193a565b90505b611262818461195c565b92508015611277576112778561dead836114ac565b6040518181527ff46d91f49abfdfcdc8a0dd76c1e554863a831836c4439af8ff09c13d34b308639060200160405180910390a1505b610f938484846114ac565b6001600160a01b0382166113175760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016106de565b6001600160a01b0382166000908152602081905260409020548181101561138b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016106de565b611395828261195c565b6001600160a01b038416600090815260208190526040812091909155600280548492906113c390849061195c565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016110b1565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000818152600a6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166114d25760405162461bcd60e51b81526004016106de90611851565b6001600160a01b0382166114f85760405162461bcd60e51b81526004016106de90611896565b6001600160a01b038316600090815260208190526040902054818110156115705760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106de565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906115a7908490611808565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115f391815260200190565b60405180910390a3610f93565b600060208083528351808285015260005b8181101561162d57858101830151858201604001528201611611565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461166557600080fd5b919050565b6000806040838503121561167d57600080fd5b6116868361164e565b946020939093013593505050565b6000602082840312156116a657600080fd5b6116af8261164e565b9392505050565b6000806000606084860312156116cb57600080fd5b6116d48461164e565b92506116e26020850161164e565b9150604084013590509250925092565b60006020828403121561170457600080fd5b5035919050565b80151581146108b957600080fd5b6000806040838503121561172c57600080fd5b6117358361164e565b915060208301356117458161170b565b809150509250929050565b6000806040838503121561176357600080fd5b61176c8361164e565b915061177a6020840161164e565b90509250929050565b600181811c9082168061179757607f821691505b6020821081036117b757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156106ae576106ae6117f2565b60006020828403121561182d57600080fd5b5051919050565b60006020828403121561184657600080fd5b81516116af8161170b565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602a908201527f4163636f756e7420746f206265207573656420666f72206275726e696e6720746040820152696f6b656e73206f6e6c7960b01b606082015260800190565b80820281158282048414176106ae576106ae6117f2565b60008261195757634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106ae576106ae6117f256fea2646970667358221220c7f32e05fa67734fe8780026dca373827697119be708ae3a1ab6b5755af335a664736f6c63430008130033

Deployed Bytecode Sourcemap

16060:6155:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11050:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12105:210;;;;;;;;;;-1:-1:-1;12105:210:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;12105:210:0;1004:187:1;16205:41:0;;;;;;;;;;-1:-1:-1;16205:41:0;;;;-1:-1:-1;;;;;16205:41:0;;;;;;-1:-1:-1;;;;;1386:32:1;;;1368:51;;1356:2;1341:18;16205:41:0;1196:229:1;19170:241:0;;;;;;;;;;-1:-1:-1;19170:241:0;;;;;:::i;:::-;;:::i;:::-;;11371:108;;;;;;;;;;-1:-1:-1;11459:12:0;;11371:108;;;1767:25:1;;;1755:2;1740:18;11371:108:0;1621:177:1;12323:622:0;;;;;;;;;;-1:-1:-1;12323:622:0;;;;;:::i;:::-;;:::i;11270:93::-;;;;;;;;;;-1:-1:-1;11270:93:0;;11353:2;2278:36:1;;2266:2;2251:18;11270:93:0;2136:184:1;12953:297:0;;;;;;;;;;-1:-1:-1;12953:297:0;;;;;:::i;:::-;;:::i;21986:92::-;;;;;;;;;;-1:-1:-1;21986:92:0;;;;;:::i;:::-;;:::i;16623:25::-;;;;;;;;;;;;;;;;16253:29;;;;;;;;;;-1:-1:-1;16253:29:0;;;;-1:-1:-1;;;;;16253:29:0;;;19419:125;;;;;;;;;;-1:-1:-1;19419:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;19508:28:0;19484:4;19508:28;;;:19;:28;;;;;;;;;19419:125;16655:30;;;;;;;;;;-1:-1:-1;16655:30:0;;;;;;;;21812:166;;;;;;;;;;;;;:::i;11487:177::-;;;;;;;;;;-1:-1:-1;11487:177:0;;;;;:::i;:::-;-1:-1:-1;;;;;11638:18:0;11606:7;11638:18;;;;;;;;;;;;11487:177;1601:103;;;;;;;;;;;;;:::i;20006:261::-;;;;;;;;;;-1:-1:-1;20006:261:0;;;;;:::i;:::-;;:::i;22086:124::-;;;;;;;;;;;;;:::i;1378:87::-;;;;;;;;;;-1:-1:-1;1451:6:0;;-1:-1:-1;;;;;1451:6:0;1378:87;;11158:104;;;;;;;;;;;;;:::i;16157:39::-;;;;;;;;;;;;;;;;19552:245;;;;;;;;;;-1:-1:-1;19552:245:0;;;;;:::i;:::-;;:::i;13258:482::-;;;;;;;;;;-1:-1:-1;13258:482:0;;;;;:::i;:::-;;:::i;11672:216::-;;;;;;;;;;-1:-1:-1;11672:216:0;;;;;:::i;:::-;;:::i;16111:39::-;;;;;;;;;;;;;;;;16289:58;;;;;;;;;;-1:-1:-1;16289:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11896:201;;;;;;;;;;-1:-1:-1;11896:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;12062:18:0;;;12030:7;12062:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11896:201;18925:237;;;;;;;;;;-1:-1:-1;18925:237:0;;;;;:::i;:::-;;:::i;20275:268::-;;;;;;;;;;-1:-1:-1;20275:268:0;;;;;:::i;:::-;;:::i;1712:201::-;;;;;;;;;;-1:-1:-1;1712:201:0;;;;;:::i;:::-;;:::i;18440:440::-;;;;;;;;;;-1:-1:-1;18440:440:0;;;;;:::i;:::-;;:::i;11050:100::-;11104:13;11137:5;11130:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11050:100;:::o;12105:210::-;12224:4;12246:39;1004:10;12269:7;12278:6;12246:8;:39::i;:::-;-1:-1:-1;12303:4:0;12105:210;;;;;:::o;19170:241::-;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;19248:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;::::1;;19240:68;;;::::0;-1:-1:-1;;;19240:68:0;;4374:2:1;19240:68:0::1;::::0;::::1;4356:21:1::0;4413:2;4393:18;;;4386:30;4452:29;4432:18;;;4425:57;4499:18;;19240:68:0::1;4172:351:1::0;19240:68:0::1;-1:-1:-1::0;;;;;19319:28:0;::::1;19350:5;19319:28:::0;;;:19:::1;:28;::::0;;;;;:36;;-1:-1:-1;;19319:36:0::1;::::0;;19381:22;::::1;::::0;19350:5;19381:22:::1;19170:241:::0;:::o;12323:622::-;-1:-1:-1;;;;;12507:19:0;;12463:4;12507:19;;;:11;:19;;;;;;;;1004:10;12507:33;;;;;;;;-1:-1:-1;;12555:37:0;;12551:314;;12655:6;12635:16;:26;;12609:128;;;;-1:-1:-1;;;12609:128:0;;4730:2:1;12609:128:0;;;4712:21:1;4769:2;4749:18;;;4742:30;4808:34;4788:18;;;4781:62;-1:-1:-1;;;4859:18:1;;;4852:38;4907:19;;12609:128:0;4528:404:1;12609:128:0;12781:57;12790:6;1004:10;12831:6;12812:16;:25;12781:8;:57::i;:::-;12877:36;12887:6;12895:9;12906:6;12877:9;:36::i;:::-;-1:-1:-1;12933:4:0;;12323:622;-1:-1:-1;;;;12323:622:0:o;12953:297::-;1004:10;13068:4;13162:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13162:34:0;;;;;;;;;;13068:4;;13090:130;;13140:7;;13162:47;;13199:10;;13162:47;:::i;:::-;13090:8;:130::i;21986:92::-;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;22046:24:::1;22052:10;22064:5;22046;:24::i;:::-;21986:92:::0;:::o;21812:166::-;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;21873:10:::1;::::0;::::1;;21872:11;21864:20;;;::::0;::::1;;21895:47;21905:10;16567:42;21931:10;;21895:9;:47::i;:::-;21953:10;:17:::0;;-1:-1:-1;;21953:17:0::1;21966:4;21953:17;::::0;;21812:166::o;1601:103::-;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;1666:30:::1;1693:1;1666:18;:30::i;:::-;1601:103::o:0;20006:261::-;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;20120:2:::1;20104:13;:18;;20082:94;;;::::0;-1:-1:-1;;;20082:94:0;;5401:2:1;20082:94:0::1;::::0;::::1;5383:21:1::0;5440:2;5420:18;;;5413:30;5479:28;5459:18;;;5452:56;5525:18;;20082:94:0::1;5199:350:1::0;20082:94:0::1;20187:12;:28:::0;;;20231::::1;::::0;1767:25:1;;;20231:28:0::1;::::0;1755:2:1;1740:18;20231:28:0::1;;;;;;;;20006:261:::0;:::o;22086:124::-;16567:42;1004:10;17160:28;17152:73;;;;-1:-1:-1;;;17152:73:0;;;;;;;:::i;:::-;22144:10:::1;:18:::0;;-1:-1:-1;;22144:18:0::1;::::0;;22191:10:::1;::::0;22173:29:::1;::::0;22179:10:::1;::::0;22173:5:::1;:29::i;11158:104::-:0;11214:13;11247:7;11240:14;;;;;:::i;19552:245::-;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;19659:13:::1;::::0;-1:-1:-1;;;;;19659:13:0;;::::1;19651:21:::0;;::::1;::::0;19643:91:::1;;;::::0;-1:-1:-1;;;19643:91:0;;5756:2:1;19643:91:0::1;::::0;::::1;5738:21:1::0;5795:2;5775:18;;;5768:30;5834:34;5814:18;;;5807:62;5905:27;5885:18;;;5878:55;5950:19;;19643:91:0::1;5554:421:1::0;19643:91:0::1;19748:41;19777:4;19783:5;19748:28;:41::i;:::-;19552:245:::0;;:::o;13258:482::-;1004:10;13378:4;13427:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;13427:34:0;;;;;;;;;;13494:35;;;;13472:122;;;;-1:-1:-1;;;13472:122:0;;6182:2:1;13472:122:0;;;6164:21:1;6221:2;6201:18;;;6194:30;6260:34;6240:18;;;6233:62;-1:-1:-1;;;6311:18:1;;;6304:35;6356:19;;13472:122:0;5980:401:1;13472:122:0;13630:67;1004:10;13653:7;13681:15;13662:16;:34;13630:8;:67::i;:::-;-1:-1:-1;13728:4:0;;13258:482;-1:-1:-1;;;13258:482:0:o;11672:216::-;11794:4;11816:42;1004:10;11840:9;11851:6;11816:9;:42::i;18925:237::-;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19006:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;::::1;;19005:29;18997:69;;;::::0;-1:-1:-1;;;18997:69:0;;6588:2:1;18997:69:0::1;::::0;::::1;6570:21:1::0;6627:2;6607:18;;;6600:30;6666:29;6646:18;;;6639:57;6713:18;;18997:69:0::1;6386:351:1::0;18997:69:0::1;-1:-1:-1::0;;;;;19077:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;:35;;-1:-1:-1;;19077:35:0::1;19108:4;19077:35;::::0;;19130:24;::::1;::::0;19077:28;19130:24:::1;18925:237:::0;:::o;20275:268::-;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;20392:2:::1;20375:14;:19;;20353:95;;;::::0;-1:-1:-1;;;20353:95:0;;5401:2:1;20353:95:0::1;::::0;::::1;5383:21:1::0;5440:2;5420:18;;;5413:30;5479:28;5459:18;;;5452:56;5525:18;;20353:95:0::1;5199:350:1::0;20353:95:0::1;20459:13;:30:::0;;;20505::::1;::::0;1767:25:1;;;20505:30:0::1;::::0;1755:2:1;1740:18;20505:30:0::1;1621:177:1::0;1712:201:0;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1801:22:0;::::1;1793:73;;;::::0;-1:-1:-1;;;1793:73:0;;6944:2:1;1793:73:0::1;::::0;::::1;6926:21:1::0;6983:2;6963:18;;;6956:30;7022:34;7002:18;;;6995:62;-1:-1:-1;;;7073:18:1;;;7066:36;7119:19;;1793:73:0::1;6742:402:1::0;1793:73:0::1;1877:28;1896:8;1877:18;:28::i;18440:440::-:0;1451:6;;-1:-1:-1;;;;;1451:6:0;1004:10;1513:23;1505:68;;;;-1:-1:-1;;;1505:68:0;;;;;;;:::i;:::-;18536:4:::1;-1:-1:-1::0;;;;;18519:22:0;::::1;::::0;18511:66:::1;;;::::0;-1:-1:-1;;;18511:66:0;;7351:2:1;18511:66:0::1;::::0;::::1;7333:21:1::0;7390:2;7370:18;;;7363:30;7429:33;7409:18;;;7402:61;7480:18;;18511:66:0::1;7149:355:1::0;18511:66:0::1;-1:-1:-1::0;;;;;18592:21:0;::::1;18588:126;;18630:51;::::0;18638:10:::1;::::0;18659:21:::1;18630:51:::0;::::1;;;::::0;::::1;::::0;;;18659:21;18638:10;18630:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;18588:126;18786:35;::::0;-1:-1:-1;;;18786:35:0;;18815:4:::1;18786:35;::::0;::::1;1368:51:1::0;18751:5:0;;18724:17:::1;::::0;-1:-1:-1;;;;;18786:20:0;::::1;::::0;::::1;::::0;1341:18:1;;18786:35:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18832:40;::::0;-1:-1:-1;;;18832:40:0;;18852:10:::1;18832:40;::::0;::::1;7872:51:1::0;7939:18;;;7932:34;;;18768:53:0;;-1:-1:-1;;;;;;18832:19:0;::::1;::::0;::::1;::::0;7845:18:1;;18832:40:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18500:380;;18440:440:::0;:::o;15408:380::-;-1:-1:-1;;;;;15544:19:0;;15536:68;;;;-1:-1:-1;;;15536:68:0;;8429:2:1;15536:68:0;;;8411:21:1;8468:2;8448:18;;;8441:30;8507:34;8487:18;;;8480:62;-1:-1:-1;;;8558:18:1;;;8551:34;8602:19;;15536:68:0;8227:400:1;15536:68:0;-1:-1:-1;;;;;15623:21:0;;15615:68;;;;-1:-1:-1;;;15615:68:0;;8834:2:1;15615:68:0;;;8816:21:1;8873:2;8853:18;;;8846:30;8912:34;8892:18;;;8885:62;-1:-1:-1;;;8963:18:1;;;8956:32;9005:19;;15615:68:0;8632:398:1;15615:68:0;-1:-1:-1;;;;;15696:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15748:32;;1767:25:1;;;15748:32:0;;1740:18:1;15748:32:0;;;;;;;;15408:380;;;:::o;20551:1253::-;-1:-1:-1;;;;;20683:18:0;;20675:68;;;;-1:-1:-1;;;20675:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20762:16:0;;20754:64;;;;-1:-1:-1;;;20754:64:0;;;;;;;:::i;:::-;20835:10;;;;20831:205;;;-1:-1:-1;;;;;;;20869:20:0;;;20861:75;;;;-1:-1:-1;;;20861:75:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;20959:18:0;;;20951:73;;;;-1:-1:-1;;;20951:73:0;;;;;;;:::i;:::-;21051:6;21061:1;21051:11;21048:92;;21079:28;21095:4;21101:2;21105:1;21079:15;:28::i;:::-;20551:1253;;;:::o;21048:92::-;-1:-1:-1;;;;;21192:25:0;;21157:12;21192:25;;;:19;:25;;;;;;21172:4;;21192:25;;;:52;;-1:-1:-1;;;;;;21221:23:0;;;;;;:19;:23;;;;;;;;21192:52;21189:99;;;-1:-1:-1;21271:5:0;21189:99;21304:7;21300:451;;;-1:-1:-1;;;;;21364:31:0;;21328:18;21364:31;;;:25;:31;;;;;;;;21361:198;;;21456:3;21446:6;21431:12;;:21;;;;:::i;:::-;21430:29;;;;:::i;:::-;21417:42;;21361:198;;;21540:3;21530:6;21514:13;;:22;;;;:::i;:::-;21513:30;;;;:::i;:::-;21500:43;;21361:198;21575:22;21586:10;21575:22;;:::i;:::-;;-1:-1:-1;21617:14:0;;21614:75;;21650:39;21666:4;16478:42;21678:10;21650:15;:39::i;:::-;21713:21;;1767:25:1;;;21713:21:0;;1755:2:1;1740:18;21713:21:0;;;;;;;21313:438;21300:451;21763:33;21779:4;21785:2;21789:6;21763:15;:33::i;14906:494::-;-1:-1:-1;;;;;14990:21:0;;14982:67;;;;-1:-1:-1;;;14982:67:0;;10986:2:1;14982:67:0;;;10968:21:1;11025:2;11005:18;;;10998:30;11064:34;11044:18;;;11037:62;-1:-1:-1;;;11115:18:1;;;11108:31;11156:19;;14982:67:0;10784:397:1;14982:67:0;-1:-1:-1;;;;;15147:18:0;;15122:22;15147:18;;;;;;;;;;;15184:24;;;;15176:71;;;;-1:-1:-1;;;15176:71:0;;11388:2:1;15176:71:0;;;11370:21:1;11427:2;11407:18;;;11400:30;11466:34;11446:18;;;11439:62;-1:-1:-1;;;11517:18:1;;;11510:32;11559:19;;15176:71:0;11186:398:1;15176:71:0;15281:23;15298:6;15281:14;:23;:::i;:::-;-1:-1:-1;;;;;15260:18:0;;:9;:18;;;;;;;;;;:44;;;;15315:12;:22;;15331:6;;15260:9;15315:22;;15331:6;;15315:22;:::i;:::-;;;;-1:-1:-1;;15355:37:0;;1767:25:1;;;15381:1:0;;-1:-1:-1;;;;;15355:37:0;;;;;1755:2:1;1740:18;15355:37:0;1621:177:1;1921:191:0;2014:6;;;-1:-1:-1;;;;;2031:17:0;;;-1:-1:-1;;;;;;2031:17:0;;;;;;;2064:40;;2014:6;;;2031:17;2014:6;;2064:40;;1995:16;;2064:40;1984:128;1921:191;:::o;19806:189::-;-1:-1:-1;;;;;19889:31:0;;;;;;:25;:31;;;;;;:39;;-1:-1:-1;;19889:39:0;;;;;;;;;;19947:40;;19889:39;;:31;19947:40;;;19806:189;;:::o;13748:770::-;-1:-1:-1;;;;;13888:20:0;;13880:70;;;;-1:-1:-1;;;13880:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13969:23:0;;13961:71;;;;-1:-1:-1;;;13961:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14129:17:0;;14105:21;14129:17;;;;;;;;;;;14179:23;;;;14157:111;;;;-1:-1:-1;;;14157:111:0;;11791:2:1;14157:111:0;;;11773:21:1;11830:2;11810:18;;;11803:30;11869:34;11849:18;;;11842:62;-1:-1:-1;;;11920:18:1;;;11913:36;11966:19;;14157:111:0;11589:402:1;14157:111:0;-1:-1:-1;;;;;14304:17:0;;;:9;:17;;;;;;;;;;;14324:22;;;14304:42;;14368:20;;;;;;;;:30;;14340:6;;14304:9;14368:30;;14340:6;;14368:30;:::i;:::-;;;;;;;;14433:9;-1:-1:-1;;;;;14416:35:0;14425:6;-1:-1:-1;;;;;14416:35:0;;14444:6;14416:35;;;;1767:25:1;;1755:2;1740:18;;1621:177;14416:35:0;;;;;;;;14464:46;20551:1253;14:548:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1430:186::-;1489:6;1542:2;1530:9;1521:7;1517:23;1513:32;1510:52;;;1558:1;1555;1548:12;1510:52;1581:29;1600:9;1581:29;:::i;:::-;1571:39;1430:186;-1:-1:-1;;;1430:186:1:o;1803:328::-;1880:6;1888;1896;1949:2;1937:9;1928:7;1924:23;1920:32;1917:52;;;1965:1;1962;1955:12;1917:52;1988:29;2007:9;1988:29;:::i;:::-;1978:39;;2036:38;2070:2;2059:9;2055:18;2036:38;:::i;:::-;2026:48;;2121:2;2110:9;2106:18;2093:32;2083:42;;1803:328;;;;;:::o;2325:180::-;2384:6;2437:2;2425:9;2416:7;2412:23;2408:32;2405:52;;;2453:1;2450;2443:12;2405:52;-1:-1:-1;2476:23:1;;2325:180;-1:-1:-1;2325:180:1:o;2718:118::-;2804:5;2797:13;2790:21;2783:5;2780:32;2770:60;;2826:1;2823;2816:12;2841:315;2906:6;2914;2967:2;2955:9;2946:7;2942:23;2938:32;2935:52;;;2983:1;2980;2973:12;2935:52;3006:29;3025:9;3006:29;:::i;:::-;2996:39;;3085:2;3074:9;3070:18;3057:32;3098:28;3120:5;3098:28;:::i;:::-;3145:5;3135:15;;;2841:315;;;;;:::o;3161:260::-;3229:6;3237;3290:2;3278:9;3269:7;3265:23;3261:32;3258:52;;;3306:1;3303;3296:12;3258:52;3329:29;3348:9;3329:29;:::i;:::-;3319:39;;3377:38;3411:2;3400:9;3396:18;3377:38;:::i;:::-;3367:48;;3161:260;;;;;:::o;3426:380::-;3505:1;3501:12;;;;3548;;;3569:61;;3623:4;3615:6;3611:17;3601:27;;3569:61;3676:2;3668:6;3665:14;3645:18;3642:38;3639:161;;3722:10;3717:3;3713:20;3710:1;3703:31;3757:4;3754:1;3747:15;3785:4;3782:1;3775:15;3639:161;;3426:380;;;:::o;3811:356::-;4013:2;3995:21;;;4032:18;;;4025:30;4091:34;4086:2;4071:18;;4064:62;4158:2;4143:18;;3811:356::o;4937:127::-;4998:10;4993:3;4989:20;4986:1;4979:31;5029:4;5026:1;5019:15;5053:4;5050:1;5043:15;5069:125;5134:9;;;5155:10;;;5152:36;;;5168:18;;:::i;7509:184::-;7579:6;7632:2;7620:9;7611:7;7607:23;7603:32;7600:52;;;7648:1;7645;7638:12;7600:52;-1:-1:-1;7671:16:1;;7509:184;-1:-1:-1;7509:184:1:o;7977:245::-;8044:6;8097:2;8085:9;8076:7;8072:23;8068:32;8065:52;;;8113:1;8110;8103:12;8065:52;8145:9;8139:16;8164:28;8186:5;8164:28;:::i;9035:401::-;9237:2;9219:21;;;9276:2;9256:18;;;9249:30;9315:34;9310:2;9295:18;;9288:62;-1:-1:-1;;;9381:2:1;9366:18;;9359:35;9426:3;9411:19;;9035:401::o;9441:399::-;9643:2;9625:21;;;9682:2;9662:18;;;9655:30;9721:34;9716:2;9701:18;;9694:62;-1:-1:-1;;;9787:2:1;9772:18;;9765:33;9830:3;9815:19;;9441:399::o;9845:406::-;10047:2;10029:21;;;10086:2;10066:18;;;10059:30;10125:34;10120:2;10105:18;;10098:62;-1:-1:-1;;;10191:2:1;10176:18;;10169:40;10241:3;10226:19;;9845:406::o;10256:168::-;10329:9;;;10360;;10377:15;;;10371:22;;10357:37;10347:71;;10398:18;;:::i;10429:217::-;10469:1;10495;10485:132;;10539:10;10534:3;10530:20;10527:1;10520:31;10574:4;10571:1;10564:15;10602:4;10599:1;10592:15;10485:132;-1:-1:-1;10631:9:1;;10429:217::o;10651:128::-;10718:9;;;10739:11;;;10736:37;;;10753:18;;:::i

Swarm Source

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