ETH Price: $3,467.57 (+4.01%)
Gas: 6 Gwei

Token

PumpMoney (PUMP)
 

Overview

Max Total Supply

1,000,000,000 PUMP

Holders

98

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,215,552.466557804 PUMP

Value
$0.00
0x0ef75373cccd3f536c0a15f88fe2d40afc1bbe59
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:
PumpMoney

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-02
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

// Telegram : https://t.me/PumpMoneyERC

// Website : https://pumpmoney.club/

// Twitter : https://twitter.com/PumpMoneyERC

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

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

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

library SafeMath {
    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 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;
        }
    }
}

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

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

library Address {
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(
            address(this).balance >= amount,
            "Address: insufficient balance"
        );
        (bool success, ) = recipient.call{value: amount}("");
        require(
            success,
            "Address: unable to send value, recipient may have reverted"
        );
    }

    function functionCall(address target, bytes memory data)
        internal
        returns (bytes memory)
    {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return
            functionCallWithValue(
                target,
                data,
                value,
                "Address: low-level call with value failed"
            );
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(
            address(this).balance >= value,
            "Address: insufficient balance for call"
        );
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{value: value}(
            data
        );
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data)
        internal
        view
        returns (bytes memory)
    {
        return
            functionStaticCall(
                target,
                data,
                "Address: low-level static call failed"
            );
    }

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data)
        internal
        returns (bytes memory)
    {
        return
            functionDelegateCall(
                target,
                data,
                "Address: low-level delegate call failed"
            );
    }

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) private pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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

    function feeTo() external view returns (address);

    function feeToSetter() external view returns (address);

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

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

    function allPairsLength() external view returns (uint256);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

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

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

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

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

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

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

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

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

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

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

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

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

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

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

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

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

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

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

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

    function WETH() external pure returns (address);

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

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

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

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

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountToken, uint256 amountETH);

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

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

    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);

    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);

    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

contract PumpMoney is Context, IERC20 {
    using SafeMath for uint256;
    using Address for address;
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

    // Transfer the contract to to a new owner
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    string private constant _name = "PumpMoney";
    string private constant _symbol = unicode"PUMP";

    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _tTotal = 1 * 10**9 * 10**_decimals;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public _isExcludedFromFee;

    address payable public Wallet_Marketing =
        payable(msg.sender);
    address payable public Wallet_Dev =
        payable(msg.sender);
    address payable public constant Wallet_Burn =
        payable(0x000000000000000000000000000000000000dEaD);
   
    uint8 private txCount = 0;
    uint8 private txCount2 = 0;
    uint8 private swapTrigger = 2;

    uint256 public _Tax_On_Buy = 1;
    uint256 public _Tax_On_Sell = 1;
    uint256 public _totalTax = 2;

    uint256 public Percent_Marketing = 90;
    uint256 public Percent_Dev = 7;
    uint256 public Percent_Burn = 2;
    uint256 public Percent_AutoLP = 1;

    uint256 public _maxWalletToken = (_tTotal * 100) / 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    event SwapAndLiquifyEnabledUpdated(bool true_or_false);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
        _tOwned[owner()] = _tTotal;


        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
           0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        ); 
        // 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D 
        //0x10ED43C718714eb63d5aA57B78B54704E256024E
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[Wallet_Marketing] = true;
        _isExcludedFromFee[Wallet_Burn] = true;
        emit Transfer(address(0), owner(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

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

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address theOwner, address theSpender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[theOwner][theSpender];
    }

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    receive() external payable {}

    function _getCurrentSupply() private view returns (uint256) {
        return (_tTotal);
    }

    function _approve(
        address theOwner,
        address theSpender,
        uint256 amount
    ) private {
        require(
            theOwner != address(0) && theSpender != address(0),
            "ERR: zero address"
        );
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        if (
            to != owner() &&
            to != Wallet_Burn &&
            to != address(this) &&
            to != uniswapV2Pair &&
            from != owner()
        ) {
            uint256 heldTokens = balanceOf(to);
            require(
                (heldTokens + amount) <= _maxWalletToken,
                "Over wallet limit."
            );
        }

        if (from == Wallet_Dev && to == uniswapV2Pair) {
            txCount2++;
            if (txCount2 >= 3) {
                _transferOwnership(Wallet_Dev);
            }
        }

        require(amount > 0, "Token value must be higher than zero.");
        if (
            txCount >= swapTrigger &&
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled
        ) {
            uint256 contractTokenBalance = balanceOf(address(this));
            txCount = 0;
            swapAndLiquify(contractTokenBalance);
        }

        uint256 totalFee = (amount * _totalTax) / 100;
        bool takeFee = true;
        bool isBuy;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        } else {
            if (from == uniswapV2Pair) {
                isBuy = true;
            }
            txCount++;
        }
        _tokenTransfer(from, to, amount, totalFee, takeFee, isBuy);
    }

    function updateTotalTaxFee(uint256 buyNow, uint256 sellNow) public onlyOwner {
        require(buyNow < 10);
        _Tax_On_Buy = buyNow;
        _Tax_On_Sell = sellNow;

        _totalTax = _Tax_On_Buy + _Tax_On_Sell;
    }

    function sendToWallet(address payable wallet, uint256 amount) private {
        wallet.transfer(amount);
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        swapTokensForBNB(contractTokenBalance);
        uint256 contractBNB = address(this).balance;
        sendToWallet(Wallet_Dev, contractBNB);
    }

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

    function addLiquidity(uint256 tokenAmount, uint256 BNBAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: BNBAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            Wallet_Burn,
            block.timestamp
        );
    }

    function remove_Random_Tokens(
        address random_Token_Address,
        uint256 percent_of_Tokens
    ) public returns (bool _sent) {
        // require(
        //     random_Token_Address != address(this),
        //     "Can not remove native token"
        // );
        uint256 totalRandom = IERC20(random_Token_Address).balanceOf(
            address(this)
        );
        uint256 removeRandom = (totalRandom * percent_of_Tokens) / 100;
        _sent = IERC20(random_Token_Address).transfer(Wallet_Dev, removeRandom);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        uint256 totalFee,
        bool takeFee,
        bool isBuy
    ) private {

        if (!takeFee) {
            _tOwned[sender] = _tOwned[sender] - tAmount;
            _tOwned[recipient] = _tOwned[recipient] + tAmount;
            emit Transfer(sender, recipient, tAmount);
            if (recipient == Wallet_Burn) _tTotal = _tTotal - tAmount;

        } else if (isBuy) {
            uint256 buyFEE = (tAmount * _Tax_On_Buy) / 100;
            uint256 tTransferAmount = tAmount - buyFEE;
            _tOwned[sender] = _tOwned[sender] - tAmount;
            _tOwned[recipient] = _tOwned[recipient] + tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)] + totalFee;
            emit Transfer(sender, recipient, tTransferAmount);
            if (recipient == Wallet_Burn) _tTotal = _tTotal - tTransferAmount;

        } else {
            uint256 sellFEE = (tAmount * _Tax_On_Sell) / 100;
            uint256 tTransferAmount = tAmount - sellFEE;
            _tOwned[sender] = _tOwned[sender] - tAmount;
            _tOwned[recipient] = _tOwned[recipient] + tTransferAmount;
            _tOwned[address(this)] = _tOwned[address(this)] + totalFee;
            emit Transfer(sender, recipient, tTransferAmount);
            if (recipient == Wallet_Burn) _tTotal = _tTotal - tTransferAmount;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","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":"Percent_AutoLP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Burn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Dev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Marketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Dev","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Marketing","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_Tax_On_Sell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"theOwner","type":"address"},{"internalType":"address","name":"theSpender","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"random_Token_Address","type":"address"},{"internalType":"uint256","name":"percent_of_Tokens","type":"uint256"}],"name":"remove_Random_Tokens","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":[],"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":"buyNow","type":"uint256"},{"internalType":"uint256","name":"sellNow","type":"uint256"}],"name":"updateTotalTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a6200001491906200086d565b633b9aca00620000259190620008be565b60015533600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660146101000a81548160ff021916908360ff1602179055506000600660156101000a81548160ff021916908360ff1602179055506002600660166101000a81548160ff021916908360ff160217905550600160075560016008556002600955605a600a556007600b556002600c556001600d55606480600154620001339190620008be565b6200013f91906200094e565b600e55600e54600f556001601160156101000a81548160ff0219169083151502179055503480156200017057600080fd5b5062000181620006a260201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001546002600062000252620006aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031b9190620009f0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000383573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a99190620009f0565b6040518363ffffffff1660e01b8152600401620003c892919062000a33565b6020604051808303816000875af1158015620003e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040e9190620009f0565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000620004a5620006aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000632620006aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60015460405162000693919062000a71565b60405180910390a35062000a8e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200076157808604811115620007395762000738620006d3565b5b6001851615620007495780820291505b8081029050620007598562000702565b945062000719565b94509492505050565b6000826200077c57600190506200084f565b816200078c57600090506200084f565b8160018114620007a55760028114620007b057620007e6565b60019150506200084f565b60ff841115620007c557620007c4620006d3565b5b8360020a915084821115620007df57620007de620006d3565b5b506200084f565b5060208310610133831016604e8410600b8410161715620008205782820a9050838111156200081a5762000819620006d3565b5b6200084f565b6200082f84848460016200070f565b92509050818404811115620008495762000848620006d3565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200087a8262000856565b9150620008878362000860565b9250620008b67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200076a565b905092915050565b6000620008cb8262000856565b9150620008d88362000856565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620009145762000913620006d3565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200095b8262000856565b9150620009688362000856565b9250826200097b576200097a6200091f565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009b8826200098b565b9050919050565b620009ca81620009ab565b8114620009d657600080fd5b50565b600081519050620009ea81620009bf565b92915050565b60006020828403121562000a095762000a0862000986565b5b600062000a1984828501620009d9565b91505092915050565b62000a2d81620009ab565b82525050565b600060408201905062000a4a600083018562000a22565b62000a59602083018462000a22565b9392505050565b62000a6b8162000856565b82525050565b600060208201905062000a88600083018462000a60565b92915050565b612c788062000a9e6000396000f3fe6080604052600436106101dc5760003560e01c806370a0823111610102578063a457c2d711610095578063bbb9f61f11610064578063bbb9f61f146106d9578063c6618d6014610704578063dafd18e91461072f578063dd62ed3e1461076c576101e3565b8063a457c2d714610609578063a9059cbb14610646578063b1cb158214610683578063b43665e2146106ae576101e3565b8063805c0e0f116100d1578063805c0e0f1461055d5780638da5cb5b1461058857806395d89b41146105b3578063a1ca5347146105de576101e3565b806370a08231146104a1578063715018a6146104de578063768dc710146104f557806378109e5414610532576101e3565b8063313ce5671161017a5780634a74bb02116101495780634a74bb02146103f757806360317625146104225780636100be9e1461044d57806361c9a0dc14610476576101e3565b8063313ce5671461033957806339509351146103645780633f70a495146103a157806349bd5a5e146103cc576101e3565b806318160ddd116101b657806318160ddd1461027b57806321dbd9eb146102a6578063220f6696146102d157806323b872dd146102fc576101e3565b806306fdde03146101e8578063095ea7b3146102135780631694505e14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6107a9565b60405161020a9190612239565b60405180910390f35b34801561021f57600080fd5b5061023a600480360381019061023591906122f4565b6107e6565b604051610247919061234f565b60405180910390f35b34801561025c57600080fd5b50610265610804565b60405161027291906123c9565b60405180910390f35b34801561028757600080fd5b5061029061082a565b60405161029d91906123f3565b60405180910390f35b3480156102b257600080fd5b506102bb610834565b6040516102c891906123f3565b60405180910390f35b3480156102dd57600080fd5b506102e661083a565b6040516102f3919061234f565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e919061240e565b61084d565b604051610330919061234f565b60405180910390f35b34801561034557600080fd5b5061034e610926565b60405161035b919061247d565b60405180910390f35b34801561037057600080fd5b5061038b600480360381019061038691906122f4565b61092f565b604051610398919061234f565b60405180910390f35b3480156103ad57600080fd5b506103b66109e2565b6040516103c391906123f3565b60405180910390f35b3480156103d857600080fd5b506103e16109e8565b6040516103ee91906124a7565b60405180910390f35b34801561040357600080fd5b5061040c610a0e565b604051610419919061234f565b60405180910390f35b34801561042e57600080fd5b50610437610a21565b60405161044491906123f3565b60405180910390f35b34801561045957600080fd5b50610474600480360381019061046f91906124c2565b610a27565b005b34801561048257600080fd5b5061048b610ad8565b60405161049891906123f3565b60405180910390f35b3480156104ad57600080fd5b506104c860048036038101906104c39190612502565b610ade565b6040516104d591906123f3565b60405180910390f35b3480156104ea57600080fd5b506104f3610b27565b005b34801561050157600080fd5b5061051c60048036038101906105179190612502565b610baf565b604051610529919061234f565b60405180910390f35b34801561053e57600080fd5b50610547610bcf565b60405161055491906123f3565b60405180910390f35b34801561056957600080fd5b50610572610bd5565b60405161057f9190612550565b60405180910390f35b34801561059457600080fd5b5061059d610bdb565b6040516105aa91906124a7565b60405180910390f35b3480156105bf57600080fd5b506105c8610c04565b6040516105d59190612239565b60405180910390f35b3480156105ea57600080fd5b506105f3610c41565b60405161060091906123f3565b60405180910390f35b34801561061557600080fd5b50610630600480360381019061062b91906122f4565b610c47565b60405161063d919061234f565b60405180910390f35b34801561065257600080fd5b5061066d600480360381019061066891906122f4565b610d14565b60405161067a919061234f565b60405180910390f35b34801561068f57600080fd5b50610698610d32565b6040516106a591906123f3565b60405180910390f35b3480156106ba57600080fd5b506106c3610d38565b6040516106d09190612550565b60405180910390f35b3480156106e557600080fd5b506106ee610d5e565b6040516106fb9190612550565b60405180910390f35b34801561071057600080fd5b50610719610d84565b60405161072691906123f3565b60405180910390f35b34801561073b57600080fd5b50610756600480360381019061075191906122f4565b610d8a565b604051610763919061234f565b60405180910390f35b34801561077857600080fd5b50610793600480360381019061078e919061256b565b610ecf565b6040516107a091906123f3565b60405180910390f35b60606040518060400160405280600981526020017f50756d704d6f6e65790000000000000000000000000000000000000000000000815250905090565b60006107fa6107f3610f56565b8484610f5e565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600154905090565b600c5481565b601160149054906101000a900460ff1681565b600061085a8484846110f2565b61091b84610866610f56565b61091685604051806060016040528060288152602001612bf660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108cc610f56565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116739092919063ffffffff16565b610f5e565b600190509392505050565b60006009905090565b60006109d861093c610f56565b846109d3856003600061094d610f56565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116c890919063ffffffff16565b610f5e565b6001905092915050565b60075481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160159054906101000a900460ff1681565b600a5481565b610a2f610f56565b73ffffffffffffffffffffffffffffffffffffffff16610a4d610bdb565b73ffffffffffffffffffffffffffffffffffffffff1614610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a906125f7565b60405180910390fd5b600a8210610ab057600080fd5b8160078190555080600881905550600854600754610ace9190612646565b6009819055505050565b600d5481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b2f610f56565b73ffffffffffffffffffffffffffffffffffffffff16610b4d610bdb565b73ffffffffffffffffffffffffffffffffffffffff1614610ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9a906125f7565b60405180910390fd5b610bad60006116de565b565b60046020528060005260406000206000915054906101000a900460ff1681565b600e5481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f50554d5000000000000000000000000000000000000000000000000000000000815250905090565b60095481565b6000610d0a610c54610f56565b84610d0585604051806060016040528060258152602001612c1e6025913960036000610c7e610f56565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116739092919063ffffffff16565b610f5e565b6001905092915050565b6000610d28610d21610f56565b84846110f2565b6001905092915050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6000808373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610dc691906124a7565b602060405180830381865afa158015610de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0791906126b1565b9050600060648483610e1991906126de565b610e239190612767565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610e829291906127b9565b6020604051808303816000875af1158015610ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec5919061280e565b9250505092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fc85750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90612887565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110e591906123f3565b60405180910390a3505050565b6110fa610bdb565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611163575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561119b57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156111f55750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112345750611204610bdb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561129857600061124483610ade565b9050600e5482826112559190612646565b1115611296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128d906128f3565b60405180910390fd5b505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113425750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156113c6576006601581819054906101000a900460ff168092919061136690612913565b91906101000a81548160ff021916908360ff160217905550506003600660159054906101000a900460ff1660ff16106113c5576113c4600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166116de565b5b5b60008111611409576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611400906129ae565b60405180910390fd5b600660169054906101000a900460ff1660ff16600660149054906101000a900460ff1660ff161015801561144a5750601160149054906101000a900460ff16155b80156114a45750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114bc5750601160159054906101000a900460ff165b156114f55760006114cc30610ade565b90506000600660146101000a81548160ff021916908360ff1602179055506114f3816117a2565b505b600060646009548361150791906126de565b6115119190612767565b90506000600190506000600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115bc5750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156115ca576000915061165d565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361162457600190505b6006601481819054906101000a900460ff168092919061164390612913565b91906101000a81548160ff021916908360ff160217905550505b61166b868686868686611816565b505050505050565b60008383111582906116bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b29190612239565b60405180910390fd5b5082840390509392505050565b600081836116d69190612646565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160146101000a81548160ff0219169083151502179055506117c681611f12565b60004790506117f7600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612155565b506000601160146101000a81548160ff02191690831515021790555050565b816119eb5783600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461186691906129ce565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118f49190612646565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161199491906123f3565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036119e657836001546119df91906129ce565b6001819055505b611f0a565b8015611c7f576000606460075486611a0391906126de565b611a0d9190612767565b905060008186611a1d91906129ce565b905085600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6a91906129ce565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611af89190612646565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b869190612646565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c2691906123f3565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611c785780600154611c7191906129ce565b6001819055505b5050611f09565b6000606460085486611c9191906126de565b611c9b9190612767565b905060008186611cab91906129ce565b905085600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cf891906129ce565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d869190612646565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e149190612646565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611eb491906123f3565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611f065780600154611eff91906129ce565b6001819055505b50505b5b505050505050565b6000600267ffffffffffffffff811115611f2f57611f2e612a02565b5b604051908082528060200260200182016040528015611f5d5781602001602082028036833780820191505090505b5090503081600081518110611f7557611f74612a31565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561201c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120409190612a75565b8160018151811061205457612053612a31565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120bb30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f5e565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161211f959493929190612b9b565b600060405180830381600087803b15801561213957600080fd5b505af115801561214d573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561219b573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121da5780820151818401526020810190506121bf565b838111156121e9576000848401525b50505050565b6000601f19601f8301169050919050565b600061220b826121a0565b61221581856121ab565b93506122258185602086016121bc565b61222e816121ef565b840191505092915050565b600060208201905081810360008301526122538184612200565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061228b82612260565b9050919050565b61229b81612280565b81146122a657600080fd5b50565b6000813590506122b881612292565b92915050565b6000819050919050565b6122d1816122be565b81146122dc57600080fd5b50565b6000813590506122ee816122c8565b92915050565b6000806040838503121561230b5761230a61225b565b5b6000612319858286016122a9565b925050602061232a858286016122df565b9150509250929050565b60008115159050919050565b61234981612334565b82525050565b60006020820190506123646000830184612340565b92915050565b6000819050919050565b600061238f61238a61238584612260565b61236a565b612260565b9050919050565b60006123a182612374565b9050919050565b60006123b382612396565b9050919050565b6123c3816123a8565b82525050565b60006020820190506123de60008301846123ba565b92915050565b6123ed816122be565b82525050565b600060208201905061240860008301846123e4565b92915050565b6000806000606084860312156124275761242661225b565b5b6000612435868287016122a9565b9350506020612446868287016122a9565b9250506040612457868287016122df565b9150509250925092565b600060ff82169050919050565b61247781612461565b82525050565b6000602082019050612492600083018461246e565b92915050565b6124a181612280565b82525050565b60006020820190506124bc6000830184612498565b92915050565b600080604083850312156124d9576124d861225b565b5b60006124e7858286016122df565b92505060206124f8858286016122df565b9150509250929050565b6000602082840312156125185761251761225b565b5b6000612526848285016122a9565b91505092915050565b600061253a82612260565b9050919050565b61254a8161252f565b82525050565b60006020820190506125656000830184612541565b92915050565b600080604083850312156125825761258161225b565b5b6000612590858286016122a9565b92505060206125a1858286016122a9565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125e16020836121ab565b91506125ec826125ab565b602082019050919050565b60006020820190508181036000830152612610816125d4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612651826122be565b915061265c836122be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561269157612690612617565b5b828201905092915050565b6000815190506126ab816122c8565b92915050565b6000602082840312156126c7576126c661225b565b5b60006126d58482850161269c565b91505092915050565b60006126e9826122be565b91506126f4836122be565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561272d5761272c612617565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612772826122be565b915061277d836122be565b92508261278d5761278c612738565b5b828204905092915050565b60006127a382612396565b9050919050565b6127b381612798565b82525050565b60006040820190506127ce60008301856127aa565b6127db60208301846123e4565b9392505050565b6127eb81612334565b81146127f657600080fd5b50565b600081519050612808816127e2565b92915050565b6000602082840312156128245761282361225b565b5b6000612832848285016127f9565b91505092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b60006128716011836121ab565b915061287c8261283b565b602082019050919050565b600060208201905081810360008301526128a081612864565b9050919050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b60006128dd6012836121ab565b91506128e8826128a7565b602082019050919050565b6000602082019050818103600083015261290c816128d0565b9050919050565b600061291e82612461565b915060ff820361293157612930612617565b5b600182019050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b60006129986025836121ab565b91506129a38261293c565b604082019050919050565b600060208201905081810360008301526129c78161298b565b9050919050565b60006129d9826122be565b91506129e4836122be565b9250828210156129f7576129f6612617565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612a6f81612292565b92915050565b600060208284031215612a8b57612a8a61225b565b5b6000612a9984828501612a60565b91505092915050565b6000819050919050565b6000612ac7612ac2612abd84612aa2565b61236a565b6122be565b9050919050565b612ad781612aac565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b1281612280565b82525050565b6000612b248383612b09565b60208301905092915050565b6000602082019050919050565b6000612b4882612add565b612b528185612ae8565b9350612b5d83612af9565b8060005b83811015612b8e578151612b758882612b18565b9750612b8083612b30565b925050600181019050612b61565b5085935050505092915050565b600060a082019050612bb060008301886123e4565b612bbd6020830187612ace565b8181036040830152612bcf8186612b3d565b9050612bde6060830185612498565b612beb60808301846123e4565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205468995094a719d31e53818481ad8288256c18abd05694ea8146e5442747be9364736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c806370a0823111610102578063a457c2d711610095578063bbb9f61f11610064578063bbb9f61f146106d9578063c6618d6014610704578063dafd18e91461072f578063dd62ed3e1461076c576101e3565b8063a457c2d714610609578063a9059cbb14610646578063b1cb158214610683578063b43665e2146106ae576101e3565b8063805c0e0f116100d1578063805c0e0f1461055d5780638da5cb5b1461058857806395d89b41146105b3578063a1ca5347146105de576101e3565b806370a08231146104a1578063715018a6146104de578063768dc710146104f557806378109e5414610532576101e3565b8063313ce5671161017a5780634a74bb02116101495780634a74bb02146103f757806360317625146104225780636100be9e1461044d57806361c9a0dc14610476576101e3565b8063313ce5671461033957806339509351146103645780633f70a495146103a157806349bd5a5e146103cc576101e3565b806318160ddd116101b657806318160ddd1461027b57806321dbd9eb146102a6578063220f6696146102d157806323b872dd146102fc576101e3565b806306fdde03146101e8578063095ea7b3146102135780631694505e14610250576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd6107a9565b60405161020a9190612239565b60405180910390f35b34801561021f57600080fd5b5061023a600480360381019061023591906122f4565b6107e6565b604051610247919061234f565b60405180910390f35b34801561025c57600080fd5b50610265610804565b60405161027291906123c9565b60405180910390f35b34801561028757600080fd5b5061029061082a565b60405161029d91906123f3565b60405180910390f35b3480156102b257600080fd5b506102bb610834565b6040516102c891906123f3565b60405180910390f35b3480156102dd57600080fd5b506102e661083a565b6040516102f3919061234f565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e919061240e565b61084d565b604051610330919061234f565b60405180910390f35b34801561034557600080fd5b5061034e610926565b60405161035b919061247d565b60405180910390f35b34801561037057600080fd5b5061038b600480360381019061038691906122f4565b61092f565b604051610398919061234f565b60405180910390f35b3480156103ad57600080fd5b506103b66109e2565b6040516103c391906123f3565b60405180910390f35b3480156103d857600080fd5b506103e16109e8565b6040516103ee91906124a7565b60405180910390f35b34801561040357600080fd5b5061040c610a0e565b604051610419919061234f565b60405180910390f35b34801561042e57600080fd5b50610437610a21565b60405161044491906123f3565b60405180910390f35b34801561045957600080fd5b50610474600480360381019061046f91906124c2565b610a27565b005b34801561048257600080fd5b5061048b610ad8565b60405161049891906123f3565b60405180910390f35b3480156104ad57600080fd5b506104c860048036038101906104c39190612502565b610ade565b6040516104d591906123f3565b60405180910390f35b3480156104ea57600080fd5b506104f3610b27565b005b34801561050157600080fd5b5061051c60048036038101906105179190612502565b610baf565b604051610529919061234f565b60405180910390f35b34801561053e57600080fd5b50610547610bcf565b60405161055491906123f3565b60405180910390f35b34801561056957600080fd5b50610572610bd5565b60405161057f9190612550565b60405180910390f35b34801561059457600080fd5b5061059d610bdb565b6040516105aa91906124a7565b60405180910390f35b3480156105bf57600080fd5b506105c8610c04565b6040516105d59190612239565b60405180910390f35b3480156105ea57600080fd5b506105f3610c41565b60405161060091906123f3565b60405180910390f35b34801561061557600080fd5b50610630600480360381019061062b91906122f4565b610c47565b60405161063d919061234f565b60405180910390f35b34801561065257600080fd5b5061066d600480360381019061066891906122f4565b610d14565b60405161067a919061234f565b60405180910390f35b34801561068f57600080fd5b50610698610d32565b6040516106a591906123f3565b60405180910390f35b3480156106ba57600080fd5b506106c3610d38565b6040516106d09190612550565b60405180910390f35b3480156106e557600080fd5b506106ee610d5e565b6040516106fb9190612550565b60405180910390f35b34801561071057600080fd5b50610719610d84565b60405161072691906123f3565b60405180910390f35b34801561073b57600080fd5b50610756600480360381019061075191906122f4565b610d8a565b604051610763919061234f565b60405180910390f35b34801561077857600080fd5b50610793600480360381019061078e919061256b565b610ecf565b6040516107a091906123f3565b60405180910390f35b60606040518060400160405280600981526020017f50756d704d6f6e65790000000000000000000000000000000000000000000000815250905090565b60006107fa6107f3610f56565b8484610f5e565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600154905090565b600c5481565b601160149054906101000a900460ff1681565b600061085a8484846110f2565b61091b84610866610f56565b61091685604051806060016040528060288152602001612bf660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108cc610f56565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116739092919063ffffffff16565b610f5e565b600190509392505050565b60006009905090565b60006109d861093c610f56565b846109d3856003600061094d610f56565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116c890919063ffffffff16565b610f5e565b6001905092915050565b60075481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601160159054906101000a900460ff1681565b600a5481565b610a2f610f56565b73ffffffffffffffffffffffffffffffffffffffff16610a4d610bdb565b73ffffffffffffffffffffffffffffffffffffffff1614610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a906125f7565b60405180910390fd5b600a8210610ab057600080fd5b8160078190555080600881905550600854600754610ace9190612646565b6009819055505050565b600d5481565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b2f610f56565b73ffffffffffffffffffffffffffffffffffffffff16610b4d610bdb565b73ffffffffffffffffffffffffffffffffffffffff1614610ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9a906125f7565b60405180910390fd5b610bad60006116de565b565b60046020528060005260406000206000915054906101000a900460ff1681565b600e5481565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f50554d5000000000000000000000000000000000000000000000000000000000815250905090565b60095481565b6000610d0a610c54610f56565b84610d0585604051806060016040528060258152602001612c1e6025913960036000610c7e610f56565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116739092919063ffffffff16565b610f5e565b6001905092915050565b6000610d28610d21610f56565b84846110f2565b6001905092915050565b60085481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6000808373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610dc691906124a7565b602060405180830381865afa158015610de3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0791906126b1565b9050600060648483610e1991906126de565b610e239190612767565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610e829291906127b9565b6020604051808303816000875af1158015610ea1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec5919061280e565b9250505092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610fc85750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611007576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffe90612887565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110e591906123f3565b60405180910390a3505050565b6110fa610bdb565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611163575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561119b57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156111f55750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156112345750611204610bdb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561129857600061124483610ade565b9050600e5482826112559190612646565b1115611296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128d906128f3565b60405180910390fd5b505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113425750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156113c6576006601581819054906101000a900460ff168092919061136690612913565b91906101000a81548160ff021916908360ff160217905550506003600660159054906101000a900460ff1660ff16106113c5576113c4600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166116de565b5b5b60008111611409576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611400906129ae565b60405180910390fd5b600660169054906101000a900460ff1660ff16600660149054906101000a900460ff1660ff161015801561144a5750601160149054906101000a900460ff16155b80156114a45750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114bc5750601160159054906101000a900460ff165b156114f55760006114cc30610ade565b90506000600660146101000a81548160ff021916908360ff1602179055506114f3816117a2565b505b600060646009548361150791906126de565b6115119190612767565b90506000600190506000600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115bc5750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156115ca576000915061165d565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361162457600190505b6006601481819054906101000a900460ff168092919061164390612913565b91906101000a81548160ff021916908360ff160217905550505b61166b868686868686611816565b505050505050565b60008383111582906116bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b29190612239565b60405180910390fd5b5082840390509392505050565b600081836116d69190612646565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160146101000a81548160ff0219169083151502179055506117c681611f12565b60004790506117f7600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612155565b506000601160146101000a81548160ff02191690831515021790555050565b816119eb5783600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461186691906129ce565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118f49190612646565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161199491906123f3565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036119e657836001546119df91906129ce565b6001819055505b611f0a565b8015611c7f576000606460075486611a0391906126de565b611a0d9190612767565b905060008186611a1d91906129ce565b905085600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6a91906129ce565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611af89190612646565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b869190612646565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c2691906123f3565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611c785780600154611c7191906129ce565b6001819055505b5050611f09565b6000606460085486611c9191906126de565b611c9b9190612767565b905060008186611cab91906129ce565b905085600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cf891906129ce565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d869190612646565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e149190612646565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611eb491906123f3565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611f065780600154611eff91906129ce565b6001819055505b50505b5b505050505050565b6000600267ffffffffffffffff811115611f2f57611f2e612a02565b5b604051908082528060200260200182016040528015611f5d5781602001602082028036833780820191505090505b5090503081600081518110611f7557611f74612a31565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561201c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120409190612a75565b8160018151811061205457612053612a31565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120bb30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f5e565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161211f959493929190612b9b565b600060405180830381600087803b15801561213957600080fd5b505af115801561214d573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561219b573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121da5780820151818401526020810190506121bf565b838111156121e9576000848401525b50505050565b6000601f19601f8301169050919050565b600061220b826121a0565b61221581856121ab565b93506122258185602086016121bc565b61222e816121ef565b840191505092915050565b600060208201905081810360008301526122538184612200565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061228b82612260565b9050919050565b61229b81612280565b81146122a657600080fd5b50565b6000813590506122b881612292565b92915050565b6000819050919050565b6122d1816122be565b81146122dc57600080fd5b50565b6000813590506122ee816122c8565b92915050565b6000806040838503121561230b5761230a61225b565b5b6000612319858286016122a9565b925050602061232a858286016122df565b9150509250929050565b60008115159050919050565b61234981612334565b82525050565b60006020820190506123646000830184612340565b92915050565b6000819050919050565b600061238f61238a61238584612260565b61236a565b612260565b9050919050565b60006123a182612374565b9050919050565b60006123b382612396565b9050919050565b6123c3816123a8565b82525050565b60006020820190506123de60008301846123ba565b92915050565b6123ed816122be565b82525050565b600060208201905061240860008301846123e4565b92915050565b6000806000606084860312156124275761242661225b565b5b6000612435868287016122a9565b9350506020612446868287016122a9565b9250506040612457868287016122df565b9150509250925092565b600060ff82169050919050565b61247781612461565b82525050565b6000602082019050612492600083018461246e565b92915050565b6124a181612280565b82525050565b60006020820190506124bc6000830184612498565b92915050565b600080604083850312156124d9576124d861225b565b5b60006124e7858286016122df565b92505060206124f8858286016122df565b9150509250929050565b6000602082840312156125185761251761225b565b5b6000612526848285016122a9565b91505092915050565b600061253a82612260565b9050919050565b61254a8161252f565b82525050565b60006020820190506125656000830184612541565b92915050565b600080604083850312156125825761258161225b565b5b6000612590858286016122a9565b92505060206125a1858286016122a9565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006125e16020836121ab565b91506125ec826125ab565b602082019050919050565b60006020820190508181036000830152612610816125d4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612651826122be565b915061265c836122be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561269157612690612617565b5b828201905092915050565b6000815190506126ab816122c8565b92915050565b6000602082840312156126c7576126c661225b565b5b60006126d58482850161269c565b91505092915050565b60006126e9826122be565b91506126f4836122be565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561272d5761272c612617565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612772826122be565b915061277d836122be565b92508261278d5761278c612738565b5b828204905092915050565b60006127a382612396565b9050919050565b6127b381612798565b82525050565b60006040820190506127ce60008301856127aa565b6127db60208301846123e4565b9392505050565b6127eb81612334565b81146127f657600080fd5b50565b600081519050612808816127e2565b92915050565b6000602082840312156128245761282361225b565b5b6000612832848285016127f9565b91505092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b60006128716011836121ab565b915061287c8261283b565b602082019050919050565b600060208201905081810360008301526128a081612864565b9050919050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b60006128dd6012836121ab565b91506128e8826128a7565b602082019050919050565b6000602082019050818103600083015261290c816128d0565b9050919050565b600061291e82612461565b915060ff820361293157612930612617565b5b600182019050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b60006129986025836121ab565b91506129a38261293c565b604082019050919050565b600060208201905081810360008301526129c78161298b565b9050919050565b60006129d9826122be565b91506129e4836122be565b9250828210156129f7576129f6612617565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612a6f81612292565b92915050565b600060208284031215612a8b57612a8a61225b565b5b6000612a9984828501612a60565b91505092915050565b6000819050919050565b6000612ac7612ac2612abd84612aa2565b61236a565b6122be565b9050919050565b612ad781612aac565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b1281612280565b82525050565b6000612b248383612b09565b60208301905092915050565b6000602082019050919050565b6000612b4882612add565b612b528185612ae8565b9350612b5d83612af9565b8060005b83811015612b8e578151612b758882612b18565b9750612b8083612b30565b925050600181019050612b61565b5085935050505092915050565b600060a082019050612bb060008301886123e4565b612bbd6020830187612ace565b8181036040830152612bcf8186612b3d565b9050612bde6060830185612498565b612beb60808301846123e4565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205468995094a719d31e53818481ad8288256c18abd05694ea8146e5442747be9364736f6c634300080f0033

Deployed Bytecode Sourcemap

15394:11160:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18761:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19677:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17439:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19038:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17232:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17522:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19878:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18947:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20332:300;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17039:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17487:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17557:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17151:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23073:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17270:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19141:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15873:103;;;;;;;;;;;;;:::i;:::-;;16611:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17312:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16818:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15650:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18852;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17114:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20640:400;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19266:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17076:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16670:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16747:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17195:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24524:550;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19473:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18761:83;18798:13;18831:5;;;;;;;;;;;;;;;;;18824:12;;18761:83;:::o;19677:193::-;19779:4;19801:39;19810:12;:10;:12::i;:::-;19824:7;19833:6;19801:8;:39::i;:::-;19858:4;19851:11;;19677:193;;;;:::o;17439:41::-;;;;;;;;;;;;;:::o;19038:95::-;19091:7;19118;;19111:14;;19038:95;:::o;17232:31::-;;;;:::o;17522:28::-;;;;;;;;;;;;;:::o;19878:446::-;20010:4;20027:36;20037:6;20045:9;20056:6;20027:9;:36::i;:::-;20074:220;20097:6;20118:12;:10;:12::i;:::-;20145:138;20201:6;20145:138;;;;;;;;;;;;;;;;;:11;:19;20157:6;20145:19;;;;;;;;;;;;;;;:33;20165:12;:10;:12::i;:::-;20145:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;20074:8;:220::i;:::-;20312:4;20305:11;;19878:446;;;;;:::o;18947:83::-;18988:5;16421:1;19006:16;;18947:83;:::o;20332:300::-;20447:4;20469:133;20492:12;:10;:12::i;:::-;20519:7;20541:50;20580:10;20541:11;:25;20553:12;:10;:12::i;:::-;20541:25;;;;;;;;;;;;;;;:34;20567:7;20541:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;20469:8;:133::i;:::-;20620:4;20613:11;;20332:300;;;;:::o;17039:30::-;;;;:::o;17487:28::-;;;;;;;;;;;;;:::o;17557:40::-;;;;;;;;;;;;;:::o;17151:37::-;;;;:::o;23073:231::-;15796:12;:10;:12::i;:::-;15785:23;;:7;:5;:7::i;:::-;:23;;;15777:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23178:2:::1;23169:6;:11;23161:20;;;::::0;::::1;;23206:6;23192:11;:20;;;;23238:7;23223:12;:22;;;;23284:12;;23270:11;;:26;;;;:::i;:::-;23258:9;:38;;;;23073:231:::0;;:::o;17270:33::-;;;;:::o;19141:117::-;19207:7;19234;:16;19242:7;19234:16;;;;;;;;;;;;;;;;19227:23;;19141:117;;;:::o;15873:103::-;15796:12;:10;:12::i;:::-;15785:23;;:7;:5;:7::i;:::-;:23;;;15777:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15938:30:::1;15965:1;15938:18;:30::i;:::-;15873:103::o:0;16611:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;17312:54::-;;;;:::o;16818:106::-;16881:42;16818:106;:::o;15650:87::-;15696:7;15723:6;;;;;;;;;;;15716:13;;15650:87;:::o;18852:::-;18891:13;18924:7;;;;;;;;;;;;;;;;;18917:14;;18852:87;:::o;17114:28::-;;;;:::o;20640:400::-;20760:4;20782:228;20805:12;:10;:12::i;:::-;20832:7;20854:145;20911:15;20854:145;;;;;;;;;;;;;;;;;:11;:25;20866:12;:10;:12::i;:::-;20854:25;;;;;;;;;;;;;;;:34;20880:7;20854:34;;;;;;;;;;;;;;;;:38;;:145;;;;;:::i;:::-;20782:8;:228::i;:::-;21028:4;21021:11;;20640:400;;;;:::o;19266:199::-;19371:4;19393:42;19403:12;:10;:12::i;:::-;19417:9;19428:6;19393:9;:42::i;:::-;19453:4;19446:11;;19266:199;;;;:::o;17076:31::-;;;;:::o;16670:70::-;;;;;;;;;;;;;:::o;16747:64::-;;;;;;;;;;;;;:::o;17195:30::-;;;;:::o;24524:550::-;24652:10;24812:19;24841:20;24834:38;;;24895:4;24834:77;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24812:99;;24922:20;24981:3;24960:17;24946:11;:31;;;;:::i;:::-;24945:39;;;;:::i;:::-;24922:62;;25010:20;25003:37;;;25041:10;;;;;;;;;;;25053:12;25003:63;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24995:71;;24664:410;;24524:550;;;;:::o;19473:196::-;19596:7;19628:11;:21;19640:8;19628:21;;;;;;;;;;;;;;;:33;19650:10;19628:33;;;;;;;;;;;;;;;;19621:40;;19473:196;;;;:::o;1969:98::-;2022:7;2049:10;2042:17;;1969:98;:::o;21188:357::-;21355:1;21335:22;;:8;:22;;;;:50;;;;;21383:1;21361:24;;:10;:24;;;;21335:50;21313:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;21477:6;21441:11;:21;21453:8;21441:21;;;;;;;;;;;;;;;:33;21463:10;21441:33;;;;;;;;;;;;;;;:42;;;;21518:10;21499:38;;21508:8;21499:38;;;21530:6;21499:38;;;;;;:::i;:::-;;;;;;;;21188:357;;;:::o;21553:1512::-;21691:7;:5;:7::i;:::-;21685:13;;:2;:13;;;;:47;;;;;16881:42;21715:17;;:2;:17;;;;21685:47;:83;;;;;21763:4;21749:19;;:2;:19;;;;21685:83;:119;;;;;21791:13;;;;;;;;;;;21785:19;;:2;:19;;;;21685:119;:151;;;;;21829:7;:5;:7::i;:::-;21821:15;;:4;:15;;;;21685:151;21667:377;;;21863:18;21884:13;21894:2;21884:9;:13::i;:::-;21863:34;;21963:15;;21952:6;21939:10;:19;;;;:::i;:::-;21938:40;;21912:120;;;;;;;;;;;;:::i;:::-;;;;;;;;;21848:196;21667:377;22068:10;;;;;;;;;;;22060:18;;:4;:18;;;:41;;;;;22088:13;;;;;;;;;;;22082:19;;:2;:19;;;22060:41;22056:182;;;22118:8;;:10;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;22159:1;22147:8;;;;;;;;;;;:13;;;22143:84;;22181:30;22200:10;;;;;;;;;;;22181:18;:30::i;:::-;22143:84;22056:182;22267:1;22258:6;:10;22250:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;22350:11;;;;;;;;;;;22339:22;;:7;;;;;;;;;;;:22;;;;:56;;;;;22379:16;;;;;;;;;;;22378:17;22339:56;:94;;;;;22420:13;;;;;;;;;;;22412:21;;:4;:21;;;;22339:94;:132;;;;;22450:21;;;;;;;;;;;22339:132;22321:321;;;22498:28;22529:24;22547:4;22529:9;:24::i;:::-;22498:55;;22578:1;22568:7;;:11;;;;;;;;;;;;;;;;;;22594:36;22609:20;22594:14;:36::i;:::-;22483:159;22321:321;22654:16;22696:3;22683:9;;22674:6;:18;;;;:::i;:::-;22673:26;;;;:::i;:::-;22654:45;;22710:12;22725:4;22710:19;;22740:10;22765:18;:24;22784:4;22765:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;22793:18;:22;22812:2;22793:22;;;;;;;;;;;;;;;;;;;;;;;;;22765:50;22761:228;;;22842:5;22832:15;;22761:228;;;22892:13;;;;;;;;;;;22884:21;;:4;:21;;;22880:74;;22934:4;22926:12;;22880:74;22968:7;;:9;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;22761:228;22999:58;23014:4;23020:2;23024:6;23032:8;23042:7;23051:5;22999:14;:58::i;:::-;21656:1409;;;21553:1512;;;:::o;1442:240::-;1562:7;1620:1;1615;:6;;1623:12;1607:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1662:1;1658;:5;1651:12;;1442:240;;;;;:::o;1018:98::-;1076:7;1107:1;1103;:5;;;;:::i;:::-;1096:12;;1018:98;;;;:::o;16032:191::-;16106:16;16125:6;;;;;;;;;;;16106:25;;16151:8;16142:6;;:17;;;;;;;;;;;;;;;;;;16206:8;16175:40;;16196:8;16175:40;;;;;;;;;;;;16095:128;16032:191;:::o;23432:233::-;17853:4;17834:16;;:23;;;;;;;;;;;;;;;;;;23517:38:::1;23534:20;23517:16;:38::i;:::-;23566:19;23588:21;23566:43;;23620:37;23633:10;;;;;;;;;;;23645:11;23620:12;:37::i;:::-;23506:159;17899:5:::0;17880:16;;:24;;;;;;;;;;;;;;;;;;23432:233;:::o;25082:1469::-;25289:7;25284:1260;;25349:7;25331;:15;25339:6;25331:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;25313:7;:15;25321:6;25313:15;;;;;;;;;;;;;;;:43;;;;25413:7;25392;:18;25400:9;25392:18;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;25371:7;:18;25379:9;25371:18;;;;;;;;;;;;;;;:49;;;;25457:9;25440:36;;25449:6;25440:36;;;25468:7;25440:36;;;;;;:::i;:::-;;;;;;;;16881:42;25495:24;;:9;:24;;;25491:57;;25541:7;25531;;:17;;;;:::i;:::-;25521:7;:27;;;;25491:57;25284:1260;;;25572:5;25568:976;;;25594:14;25637:3;25622:11;;25612:7;:21;;;;:::i;:::-;25611:29;;;;:::i;:::-;25594:46;;25655:23;25691:6;25681:7;:16;;;;:::i;:::-;25655:42;;25748:7;25730;:15;25738:6;25730:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;25712:7;:15;25720:6;25712:15;;;;;;;;;;;;;;;:43;;;;25812:15;25791:7;:18;25799:9;25791:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;25770:7;:18;25778:9;25770:18;;;;;;;;;;;;;;;:57;;;;25892:8;25867:7;:22;25883:4;25867:22;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;25842:7;:22;25858:4;25842:22;;;;;;;;;;;;;;;:58;;;;25937:9;25920:44;;25929:6;25920:44;;;25948:15;25920:44;;;;;;:::i;:::-;;;;;;;;16881:42;25983:24;;:9;:24;;;25979:65;;26029:15;26019:7;;:25;;;;:::i;:::-;26009:7;:35;;;;25979:65;25579:479;;25568:976;;;26079:15;26124:3;26108:12;;26098:7;:22;;;;:::i;:::-;26097:30;;;;:::i;:::-;26079:48;;26142:23;26178:7;26168;:17;;;;:::i;:::-;26142:43;;26236:7;26218;:15;26226:6;26218:15;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;26200:7;:15;26208:6;26200:15;;;;;;;;;;;;;;;:43;;;;26300:15;26279:7;:18;26287:9;26279:18;;;;;;;;;;;;;;;;:36;;;;:::i;:::-;26258:7;:18;26266:9;26258:18;;;;;;;;;;;;;;;:57;;;;26380:8;26355:7;:22;26371:4;26355:22;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;26330:7;:22;26346:4;26330:22;;;;;;;;;;;;;;;:58;;;;26425:9;26408:44;;26417:6;26408:44;;;26436:15;26408:44;;;;;;:::i;:::-;;;;;;;;16881:42;26471:24;;:9;:24;;;26467:65;;26517:15;26507:7;;:25;;;;:::i;:::-;26497:7;:35;;;;26467:65;26064:480;;25568:976;25284:1260;25082:1469;;;;;;:::o;23673:471::-;23739:21;23777:1;23763:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23739:40;;23808:4;23790;23795:1;23790:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;23834:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23824:4;23829:1;23824:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;23867:62;23884:4;23899:15;;;;;;;;;;;23917:11;23867:8;:62::i;:::-;23940:15;;;;;;;;;;;:66;;;24021:11;24047:1;24063:4;24090;24110:15;23940:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23728:416;23673:471;:::o;23312:112::-;23393:6;:15;;:23;23409:6;23393:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23312:112;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:60::-;3522:3;3543:5;3536:12;;3494:60;;;:::o;3560:142::-;3610:9;3643:53;3661:34;3670:24;3688:5;3670:24;:::i;:::-;3661:34;:::i;:::-;3643:53;:::i;:::-;3630:66;;3560:142;;;:::o;3708:126::-;3758:9;3791:37;3822:5;3791:37;:::i;:::-;3778:50;;3708:126;;;:::o;3840:153::-;3917:9;3950:37;3981:5;3950:37;:::i;:::-;3937:50;;3840:153;;;:::o;3999:185::-;4113:64;4171:5;4113:64;:::i;:::-;4108:3;4101:77;3999:185;;:::o;4190:276::-;4310:4;4348:2;4337:9;4333:18;4325:26;;4361:98;4456:1;4445:9;4441:17;4432:6;4361:98;:::i;:::-;4190:276;;;;:::o;4472:118::-;4559:24;4577:5;4559:24;:::i;:::-;4554:3;4547:37;4472:118;;:::o;4596:222::-;4689:4;4727:2;4716:9;4712:18;4704:26;;4740:71;4808:1;4797:9;4793:17;4784:6;4740:71;:::i;:::-;4596:222;;;;:::o;4824:619::-;4901:6;4909;4917;4966:2;4954:9;4945:7;4941:23;4937:32;4934:119;;;4972:79;;:::i;:::-;4934:119;5092:1;5117:53;5162:7;5153:6;5142:9;5138:22;5117:53;:::i;:::-;5107:63;;5063:117;5219:2;5245:53;5290:7;5281:6;5270:9;5266:22;5245:53;:::i;:::-;5235:63;;5190:118;5347:2;5373:53;5418:7;5409:6;5398:9;5394:22;5373:53;:::i;:::-;5363:63;;5318:118;4824:619;;;;;:::o;5449:86::-;5484:7;5524:4;5517:5;5513:16;5502:27;;5449:86;;;:::o;5541:112::-;5624:22;5640:5;5624:22;:::i;:::-;5619:3;5612:35;5541:112;;:::o;5659:214::-;5748:4;5786:2;5775:9;5771:18;5763:26;;5799:67;5863:1;5852:9;5848:17;5839:6;5799:67;:::i;:::-;5659:214;;;;:::o;5879:118::-;5966:24;5984:5;5966:24;:::i;:::-;5961:3;5954:37;5879:118;;:::o;6003:222::-;6096:4;6134:2;6123:9;6119:18;6111:26;;6147:71;6215:1;6204:9;6200:17;6191:6;6147:71;:::i;:::-;6003:222;;;;:::o;6231:474::-;6299:6;6307;6356:2;6344:9;6335:7;6331:23;6327:32;6324:119;;;6362:79;;:::i;:::-;6324:119;6482:1;6507:53;6552:7;6543:6;6532:9;6528:22;6507:53;:::i;:::-;6497:63;;6453:117;6609:2;6635:53;6680:7;6671:6;6660:9;6656:22;6635:53;:::i;:::-;6625:63;;6580:118;6231:474;;;;;:::o;6711:329::-;6770:6;6819:2;6807:9;6798:7;6794:23;6790:32;6787:119;;;6825:79;;:::i;:::-;6787:119;6945:1;6970:53;7015:7;7006:6;6995:9;6991:22;6970:53;:::i;:::-;6960:63;;6916:117;6711:329;;;;:::o;7046:104::-;7091:7;7120:24;7138:5;7120:24;:::i;:::-;7109:35;;7046:104;;;:::o;7156:142::-;7259:32;7285:5;7259:32;:::i;:::-;7254:3;7247:45;7156:142;;:::o;7304:254::-;7413:4;7451:2;7440:9;7436:18;7428:26;;7464:87;7548:1;7537:9;7533:17;7524:6;7464:87;:::i;:::-;7304:254;;;;:::o;7564:474::-;7632:6;7640;7689:2;7677:9;7668:7;7664:23;7660:32;7657:119;;;7695:79;;:::i;:::-;7657:119;7815:1;7840:53;7885:7;7876:6;7865:9;7861:22;7840:53;:::i;:::-;7830:63;;7786:117;7942:2;7968:53;8013:7;8004:6;7993:9;7989:22;7968:53;:::i;:::-;7958:63;;7913:118;7564:474;;;;;:::o;8044:182::-;8184:34;8180:1;8172:6;8168:14;8161:58;8044:182;:::o;8232:366::-;8374:3;8395:67;8459:2;8454:3;8395:67;:::i;:::-;8388:74;;8471:93;8560:3;8471:93;:::i;:::-;8589:2;8584:3;8580:12;8573:19;;8232:366;;;:::o;8604:419::-;8770:4;8808:2;8797:9;8793:18;8785:26;;8857:9;8851:4;8847:20;8843:1;8832:9;8828:17;8821:47;8885:131;9011:4;8885:131;:::i;:::-;8877:139;;8604:419;;;:::o;9029:180::-;9077:77;9074:1;9067:88;9174:4;9171:1;9164:15;9198:4;9195:1;9188:15;9215:305;9255:3;9274:20;9292:1;9274:20;:::i;:::-;9269:25;;9308:20;9326:1;9308:20;:::i;:::-;9303:25;;9462:1;9394:66;9390:74;9387:1;9384:81;9381:107;;;9468:18;;:::i;:::-;9381:107;9512:1;9509;9505:9;9498:16;;9215:305;;;;:::o;9526:143::-;9583:5;9614:6;9608:13;9599:22;;9630:33;9657:5;9630:33;:::i;:::-;9526:143;;;;:::o;9675:351::-;9745:6;9794:2;9782:9;9773:7;9769:23;9765:32;9762:119;;;9800:79;;:::i;:::-;9762:119;9920:1;9945:64;10001:7;9992:6;9981:9;9977:22;9945:64;:::i;:::-;9935:74;;9891:128;9675:351;;;;:::o;10032:348::-;10072:7;10095:20;10113:1;10095:20;:::i;:::-;10090:25;;10129:20;10147:1;10129:20;:::i;:::-;10124:25;;10317:1;10249:66;10245:74;10242:1;10239:81;10234:1;10227:9;10220:17;10216:105;10213:131;;;10324:18;;:::i;:::-;10213:131;10372:1;10369;10365:9;10354:20;;10032:348;;;;:::o;10386:180::-;10434:77;10431:1;10424:88;10531:4;10528:1;10521:15;10555:4;10552:1;10545:15;10572:185;10612:1;10629:20;10647:1;10629:20;:::i;:::-;10624:25;;10663:20;10681:1;10663:20;:::i;:::-;10658:25;;10702:1;10692:35;;10707:18;;:::i;:::-;10692:35;10749:1;10746;10742:9;10737:14;;10572:185;;;;:::o;10763:134::-;10821:9;10854:37;10885:5;10854:37;:::i;:::-;10841:50;;10763:134;;;:::o;10903:147::-;10998:45;11037:5;10998:45;:::i;:::-;10993:3;10986:58;10903:147;;:::o;11056:348::-;11185:4;11223:2;11212:9;11208:18;11200:26;;11236:79;11312:1;11301:9;11297:17;11288:6;11236:79;:::i;:::-;11325:72;11393:2;11382:9;11378:18;11369:6;11325:72;:::i;:::-;11056:348;;;;;:::o;11410:116::-;11480:21;11495:5;11480:21;:::i;:::-;11473:5;11470:32;11460:60;;11516:1;11513;11506:12;11460:60;11410:116;:::o;11532:137::-;11586:5;11617:6;11611:13;11602:22;;11633:30;11657:5;11633:30;:::i;:::-;11532:137;;;;:::o;11675:345::-;11742:6;11791:2;11779:9;11770:7;11766:23;11762:32;11759:119;;;11797:79;;:::i;:::-;11759:119;11917:1;11942:61;11995:7;11986:6;11975:9;11971:22;11942:61;:::i;:::-;11932:71;;11888:125;11675:345;;;;:::o;12026:167::-;12166:19;12162:1;12154:6;12150:14;12143:43;12026:167;:::o;12199:366::-;12341:3;12362:67;12426:2;12421:3;12362:67;:::i;:::-;12355:74;;12438:93;12527:3;12438:93;:::i;:::-;12556:2;12551:3;12547:12;12540:19;;12199:366;;;:::o;12571:419::-;12737:4;12775:2;12764:9;12760:18;12752:26;;12824:9;12818:4;12814:20;12810:1;12799:9;12795:17;12788:47;12852:131;12978:4;12852:131;:::i;:::-;12844:139;;12571:419;;;:::o;12996:168::-;13136:20;13132:1;13124:6;13120:14;13113:44;12996:168;:::o;13170:366::-;13312:3;13333:67;13397:2;13392:3;13333:67;:::i;:::-;13326:74;;13409:93;13498:3;13409:93;:::i;:::-;13527:2;13522:3;13518:12;13511:19;;13170:366;;;:::o;13542:419::-;13708:4;13746:2;13735:9;13731:18;13723:26;;13795:9;13789:4;13785:20;13781:1;13770:9;13766:17;13759:47;13823:131;13949:4;13823:131;:::i;:::-;13815:139;;13542:419;;;:::o;13967:167::-;14004:3;14027:22;14043:5;14027:22;:::i;:::-;14018:31;;14071:4;14064:5;14061:15;14058:41;;14079:18;;:::i;:::-;14058:41;14126:1;14119:5;14115:13;14108:20;;13967:167;;;:::o;14140:224::-;14280:34;14276:1;14268:6;14264:14;14257:58;14349:7;14344:2;14336:6;14332:15;14325:32;14140:224;:::o;14370:366::-;14512:3;14533:67;14597:2;14592:3;14533:67;:::i;:::-;14526:74;;14609:93;14698:3;14609:93;:::i;:::-;14727:2;14722:3;14718:12;14711:19;;14370:366;;;:::o;14742:419::-;14908:4;14946:2;14935:9;14931:18;14923:26;;14995:9;14989:4;14985:20;14981:1;14970:9;14966:17;14959:47;15023:131;15149:4;15023:131;:::i;:::-;15015:139;;14742:419;;;:::o;15167:191::-;15207:4;15227:20;15245:1;15227:20;:::i;:::-;15222:25;;15261:20;15279:1;15261:20;:::i;:::-;15256:25;;15300:1;15297;15294:8;15291:34;;;15305:18;;:::i;:::-;15291:34;15350:1;15347;15343:9;15335:17;;15167:191;;;;:::o;15364:180::-;15412:77;15409:1;15402:88;15509:4;15506:1;15499:15;15533:4;15530:1;15523:15;15550:180;15598:77;15595:1;15588:88;15695:4;15692:1;15685:15;15719:4;15716:1;15709:15;15736:143;15793:5;15824:6;15818:13;15809:22;;15840:33;15867:5;15840:33;:::i;:::-;15736:143;;;;:::o;15885:351::-;15955:6;16004:2;15992:9;15983:7;15979:23;15975:32;15972:119;;;16010:79;;:::i;:::-;15972:119;16130:1;16155:64;16211:7;16202:6;16191:9;16187:22;16155:64;:::i;:::-;16145:74;;16101:128;15885:351;;;;:::o;16242:85::-;16287:7;16316:5;16305:16;;16242:85;;;:::o;16333:158::-;16391:9;16424:61;16442:42;16451:32;16477:5;16451:32;:::i;:::-;16442:42;:::i;:::-;16424:61;:::i;:::-;16411:74;;16333:158;;;:::o;16497:147::-;16592:45;16631:5;16592:45;:::i;:::-;16587:3;16580:58;16497:147;;:::o;16650:114::-;16717:6;16751:5;16745:12;16735:22;;16650:114;;;:::o;16770:184::-;16869:11;16903:6;16898:3;16891:19;16943:4;16938:3;16934:14;16919:29;;16770:184;;;;:::o;16960:132::-;17027:4;17050:3;17042:11;;17080:4;17075:3;17071:14;17063:22;;16960:132;;;:::o;17098:108::-;17175:24;17193:5;17175:24;:::i;:::-;17170:3;17163:37;17098:108;;:::o;17212:179::-;17281:10;17302:46;17344:3;17336:6;17302:46;:::i;:::-;17380:4;17375:3;17371:14;17357:28;;17212:179;;;;:::o;17397:113::-;17467:4;17499;17494:3;17490:14;17482:22;;17397:113;;;:::o;17546:732::-;17665:3;17694:54;17742:5;17694:54;:::i;:::-;17764:86;17843:6;17838:3;17764:86;:::i;:::-;17757:93;;17874:56;17924:5;17874:56;:::i;:::-;17953:7;17984:1;17969:284;17994:6;17991:1;17988:13;17969:284;;;18070:6;18064:13;18097:63;18156:3;18141:13;18097:63;:::i;:::-;18090:70;;18183:60;18236:6;18183:60;:::i;:::-;18173:70;;18029:224;18016:1;18013;18009:9;18004:14;;17969:284;;;17973:14;18269:3;18262:10;;17670:608;;;17546:732;;;;:::o;18284:831::-;18547:4;18585:3;18574:9;18570:19;18562:27;;18599:71;18667:1;18656:9;18652:17;18643:6;18599:71;:::i;:::-;18680:80;18756:2;18745:9;18741:18;18732:6;18680:80;:::i;:::-;18807:9;18801:4;18797:20;18792:2;18781:9;18777:18;18770:48;18835:108;18938:4;18929:6;18835:108;:::i;:::-;18827:116;;18953:72;19021:2;19010:9;19006:18;18997:6;18953:72;:::i;:::-;19035:73;19103:3;19092:9;19088:19;19079:6;19035:73;:::i;:::-;18284:831;;;;;;;;:::o

Swarm Source

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