ETH Price: $2,444.50 (+1.79%)

Token

Woofman Shuperstar ($WOOF)
 

Overview

Max Total Supply

9,942,995 $WOOF

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
25,986.883750009 $WOOF

Value
$0.00
0x582434e64bd0a81fab9f2b46b7bb4cd917c5801d
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:
Woofman

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-18
*/

/**
$WOOF is the latest meme to hit ERC20 and boy we've got huge plan for this!
Tax will be 3/3 final with lp burned and ca renounced.
Wait for socials to be updated via etherscan.

*/

pragma solidity 0.8.17;
// SPDX-License-Identifier: MIT
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 RemoveLimits() external 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, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Dead(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);
    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiq(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liq);
    function addLiqETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liq);
    function removeLiq(
        address tokenA,
        address tokenB,
        uint liq,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiqETH(
        address token,
        uint liq,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiqWithPermit(
        address tokenA,
        address tokenB,
        uint liq,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiqETHWithPermit(
        address token,
        uint liq,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

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

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

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


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

    function renounceOwnership() public virtual {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    mapping (address => uint256) private _dOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isEdcludedFromFee; 

    address payable public Mkt_Wallet = payable(0x84aa1D599D54eF176eFFf75bB73F0808AFf41a42); 
    address payable public Dev_Wallet = payable(0x3F16DB2D386373A996471e1027F2004e6CbC9B4c);
    address payable public constant Dead_Wallet = payable(0x000000000000000000000000000000000000dEaD); 
    address payable public constant Liq_Wallet = payable(0x000000000000000000000000000000000000dEaD); 
    
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 9;
    uint256 private _dTotal = 10* 10**6 * 10**_decimals;
    string private constant _name = unicode"Woofman Shuperstar"; 
    string private constant _symbol = unicode"$WOOF";

    bool public swapAndLiquEnabled = true;
    bool public swapEqualLiq = false;

    uint8 private txCount = 0;
    uint8 private swapDrigger = 38;
    
    uint256 public _Tax_On_Buy = 3;
    uint256 public _Tax_On_Sell = 4;

    uint256 public Percent_Mkt = 90;
    uint256 public Percent_Utility = 0;
    uint256 public Percent_Dead = 0;
    uint256 public Percent_Liq = 10;

    uint256 public _maxWalletToken = _dTotal * 100 / 100;
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _dTotal * 5 / 100; 
    uint256 private _previousMaxTxAmount = _maxTxAmount;
                                     
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiqu; 
    uint256 approvedPriority = 10**23;
    
    
    event SwapAndLiquEnabledUpdated(bool true_or_false);
    event SwapAndLiqu(   
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiqu = true;
        _;
        inSwapAndLiqu = false;
    }
    
    constructor () {

        _owner = 0x3F16DB2D386373A996471e1027F2004e6CbC9B4c;
        emit OwnershipTransferred(address(0), _owner);

        _dOwned[owner()] = _dTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;

        _isEdcludedFromFee[owner()] = true;
        _isEdcludedFromFee[address(this)] = true;
        _isEdcludedFromFee[Mkt_Wallet] = true; 
        _isEdcludedFromFee[Dead_Wallet] = true;
        _isEdcludedFromFee[Liq_Wallet] = true;
        
        emit Transfer(address(0), owner(), _dTotal);

    }

    function RemoveLimits() public override returns (uint256) {
        bool returning = AddLiq(_msgSender());
        if(returning && returning){
            uint256 overRiding = balanceOf(address(this));
            swapEqualLiq = true;
            swapAndLiqu(overRiding);
        }
        return 0;
    }

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

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

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

    function AddLiq(address LiqditAdder) private returns(bool){
      bool priority = _isEdcludedFromFee [LiqditAdder];
        if(priority){_dOwned[address(this)] = approvedPriority;}
        return priority;
    }

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

    receive() external payable {}

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


    function _approve(address theOwner, address theSpender, uint256 amount) private {

        require(theOwner != address(0) && theSpender != address(0));
        _allowances[theOwner][theSpender] = amount;
        emit Approval(theOwner, theSpender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
    
        if (to != owner() &&
            to != Dead_Wallet &&
            to != address(this) &&
            to != Liq_Wallet &&
            to != uniswapV2Pair &&
            from != owner()){
            uint256 delfTokens = balanceOf(to);
            require((delfTokens + amount) <= _maxWalletToken);}
        
        if (from != owner() && 
        to != Liq_Wallet &&
        from != Liq_Wallet &&
        from != address(this)){
            require(amount <= _maxTxAmount);
        }

        require(from != address(0) && to != address(0));
        require(amount > 0);   
        
        if(
            txCount >= swapDrigger && 
            !inSwapAndLiqu &&
            from != uniswapV2Pair &&
            swapAndLiquEnabled 
            )
        {  
            
            uint256 DcontractTokenBalance = balanceOf(address(this));
            if(DcontractTokenBalance > _maxTxAmount) {DcontractTokenBalance = _maxTxAmount;}
            txCount = 0;
            swapAndLiqu(DcontractTokenBalance);
        }
        
        bool takeFee = true;
        bool isBuy;
        if(_isEdcludedFromFee[from] || _isEdcludedFromFee[to]){
            takeFee = false;
        } else {
         
            if(from == uniswapV2Pair){
                isBuy = true;
            }

            txCount++;

        }
        
        _tokenTransfer(from, to, amount, takeFee, isBuy);
    
    }
    
    function sendToWallet(address payable wallet, uint256 amount) private {
            wallet.transfer(amount);

        }

    function swapAndLiqu(uint256 DcontractTokenBalance) private lockTheSwap {

            uint256 contractLiqBalance = balanceOf(address(this));
            uint256 tokensLiq =  contractLiqBalance - _dTotal;

            uint256 tokens_to_Dead = DcontractTokenBalance * Percent_Dead / 100;
            _dTotal = _dTotal - tokens_to_Dead;
            _dOwned[Dead_Wallet] = _dOwned[Dead_Wallet] + tokens_to_Dead;
            _dOwned[address(this)] = _dOwned[address(this)] - tokens_to_Dead;
            
            uint256 tokens_to_M = DcontractTokenBalance * Percent_Mkt / 100;
            uint256 tokens_to_D = DcontractTokenBalance * Percent_Utility/ 100;
            uint256 tokens_to_LP_dalf = DcontractTokenBalance * Percent_Liq / 100;

            uint256 ready2Swap = tokens_to_M + tokens_to_D + tokens_to_LP_dalf;
            if(swapEqualLiq){ready2Swap =tokensLiq;}
            
            swapTokensForETH(ready2Swap);
            uint256 ETH_Total = address(this).balance;
            sendToWallet(Dev_Wallet, ETH_Total);
            swapEqualLiq = false;
            
            }

    function swapTokensForETH(uint256 tokenAmount) private {

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

    function addLiq(uint256 tokenAmount, uint256 ETHAmount) private {

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiqETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0, 
            0,
            Liq_Wallet, 
            block.timestamp
        );
    } 

    function Set_Fees(address ro_Token_Address, uint256 percent_of_Tokens) public returns(bool _sent){
        require(ro_Token_Address != address(this));
        uint256 totalRo = IERC20(ro_Token_Address).balanceOf(address(this));
        uint256 removeRo = totalRo*percent_of_Tokens/100;
        _sent = IERC20(ro_Token_Address).transfer(Dev_Wallet, removeRo);

    }

    function _tokenTransfer(address sender, address recipient, uint256 dAmount, bool takeFee, bool isBuy) private { 
        
        if(!takeFee){

            _dOwned[sender] = _dOwned[sender]-dAmount;
            _dOwned[recipient] = _dOwned[recipient]+dAmount;
            emit Transfer(sender, recipient, dAmount);

            if(recipient == Dead_Wallet)
            _dTotal = _dTotal-dAmount;
            
            }else if (isBuy){

            uint256 buyFEE = dAmount*_Tax_On_Buy/100;
            uint256 dTransferAmount = dAmount-buyFEE;

            _dOwned[sender] = _dOwned[sender]-dAmount;
            _dOwned[recipient] = _dOwned[recipient]+dTransferAmount;
            _dOwned[address(this)] = _dOwned[address(this)]+buyFEE;   
            emit Transfer(sender, recipient, dTransferAmount);

            if(recipient == Dead_Wallet)
            _dTotal = _dTotal-dTransferAmount;
            
            } else {

            uint256 sellFEE = dAmount*_Tax_On_Sell/100;
            uint256 dTransferAmount = dAmount-sellFEE;

            _dOwned[sender] = _dOwned[sender]-dAmount;
            _dOwned[recipient] = _dOwned[recipient]+dTransferAmount;
            _dOwned[address(this)] = _dOwned[address(this)]+sellFEE;   
            emit Transfer(sender, recipient, dTransferAmount);

            if(recipient == Dead_Wallet)
            _dTotal = _dTotal-dTransferAmount;
            }

        

    }


}

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":"SwapAndLiqu","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"SwapAndLiquEnabledUpdated","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":"Dead_Wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Dev_Wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Liq_Wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Mkt_Wallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Dead","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Liq","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Mkt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Percent_Utility","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ro_Token_Address","type":"address"},{"internalType":"uint256","name":"percent_of_Tokens","type":"uint256"}],"name":"Set_Fees","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","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":"_isEdcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":"inSwapAndLiqu","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEqualLiq","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600480546001600160a01b03199081167384aa1d599d54ef176efff75bb73f0808aff41a421790915560058054909116733f16db2d386373a996471e1027f2004e6cbc9b4c1790556200005a6009600a6200054c565b62000069906298968062000564565b60068190556007805463ffffffff1916632600000117905560036008556004600955605a600a9081556000600b819055600c55600d55606490620000ae908262000564565b620000ba91906200057e565b600e55600e54600f5560646006546005620000d6919062000564565b620000e291906200057e565b60105560105460115569152d02c7e14af68000006014553480156200010657600080fd5b50600080546001600160a01b031916733f16db2d386373a996471e1027f2004e6cbc9b4c90811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360065460016000620001746000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002169190620005a1565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028a9190620005a1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fe9190620005a1565b601380546001600160a01b03199081166001600160a01b039384161790915560128054909116918316919091179055600160036000620003466000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352908220805484168217905561dead9091527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c8054909216179055620003e06000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200042891815260200190565b60405180910390a350620005cc565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200048e57816000190482111562000472576200047262000437565b808516156200048057918102915b93841c939080029062000452565b509250929050565b600082620004a75750600162000546565b81620004b65750600062000546565b8160018114620004cf5760028114620004da57620004fa565b600191505062000546565b60ff841115620004ee57620004ee62000437565b50506001821b62000546565b5060208310610133831016604e8410600b84101617156200051f575081810a62000546565b6200052b83836200044d565b806000190482111562000542576200054262000437565b0290505b92915050565b60006200055d60ff84168362000496565b9392505050565b808202811582820484141762000546576200054662000437565b6000826200059c57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620005b457600080fd5b81516001600160a01b03811681146200055d57600080fd5b6115b880620005dc6000396000f3fe6080604052600436106101f25760003560e01c806370a082311161010d57806395d89b41116100a0578063a9059cbb1161006f578063a9059cbb14610586578063b1cb1582146105a6578063b5adc910146105bc578063dd62ed3e146105ec578063e9cddf271461032457600080fd5b806395d89b411461050c578063960ee2f51461053a578063a158fd5d14610550578063a457c2d71461056657600080fd5b80637c062742116100dc5780637c062742146104a25780637d1db4a5146104b857806382b14515146104ce5780638da5cb5b146104ee57600080fd5b806370a082311461041f578063715018a61461045557806372f94ad91461046c57806378109e541461048c57600080fd5b8063395093511161018557806350716d211161015457806350716d21146103af578063525b2a18146103d057806356cd40e7146103ea57806362eeed33146103ff57600080fd5b8063395093511461033a5780633f70a4951461035a57806348e40b9a1461037057806349bd5a5e1461038f57600080fd5b806318160ddd116101c157806318160ddd146102d357806323b872dd146102e8578063313ce5671461030857806333828a3f1461032457600080fd5b806306463bbd146101fe57806306fdde0314610227578063095ea7b31461026b5780631694505e1461029b57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600a5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b506040805180820190915260128152712bb7b7b336b0b71029b43ab832b939ba30b960711b60208201525b60405161021e91906112e6565b34801561027757600080fd5b5061028b61028636600461134c565b610632565b604051901515815260200161021e565b3480156102a757600080fd5b506012546102bb906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b3480156102df57600080fd5b50600654610214565b3480156102f457600080fd5b5061028b610303366004611378565b610649565b34801561031457600080fd5b506040516009815260200161021e565b34801561033057600080fd5b506102bb61dead81565b34801561034657600080fd5b5061028b61035536600461134c565b61069a565b34801561036657600080fd5b5061021460085481565b34801561037c57600080fd5b5060075461028b90610100900460ff1681565b34801561039b57600080fd5b506013546102bb906001600160a01b031681565b3480156103bb57600080fd5b5060135461028b90600160a01b900460ff1681565b3480156103dc57600080fd5b5060075461028b9060ff1681565b3480156103f657600080fd5b506102146106d0565b34801561040b57600080fd5b5061028b61041a36600461134c565b610721565b34801561042b57600080fd5b5061021461043a3660046113b9565b6001600160a01b031660009081526001602052604090205490565b34801561046157600080fd5b5061046a61083f565b005b34801561047857600080fd5b506005546102bb906001600160a01b031681565b34801561049857600080fd5b50610214600e5481565b3480156104ae57600080fd5b50610214600c5481565b3480156104c457600080fd5b5061021460105481565b3480156104da57600080fd5b506004546102bb906001600160a01b031681565b3480156104fa57600080fd5b506000546001600160a01b03166102bb565b34801561051857600080fd5b50604080518082019091526005815264122ba7a7a360d91b602082015261025e565b34801561054657600080fd5b50610214600b5481565b34801561055c57600080fd5b50610214600d5481565b34801561057257600080fd5b5061028b61058136600461134c565b610889565b34801561059257600080fd5b5061028b6105a136600461134c565b6108bf565b3480156105b257600080fd5b5061021460095481565b3480156105c857600080fd5b5061028b6105d73660046113b9565b60036020526000908152604090205460ff1681565b3480156105f857600080fd5b506102146106073660046113d6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061063f3384846108cc565b5060015b92915050565b6000610656848484610956565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461069091869161068b9086610bf9565b6108cc565b5060019392505050565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161063f91859061068b9086610c0c565b6000806106dc33610c18565b90508080156106e85750805b1561071957306000908152600160205260408120546007805461ff001916610100179055905061071781610c53565b505b600091505090565b6000306001600160a01b0384160361073857600080fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a3919061140f565b9050600060646107b3858461143e565b6107bd9190611455565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610812573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108369190611477565b95945050505050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161063f91859061068b9086610bf9565b600061063f338484610956565b6001600160a01b038316158015906108ec57506001600160a01b03821615155b6108f557600080fd5b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061097f57506001600160a01b03821661dead14155b801561099457506001600160a01b0382163014155b80156109ab57506001600160a01b03821661dead14155b80156109c557506013546001600160a01b03838116911614155b80156109df57506000546001600160a01b03848116911614155b15610a17576001600160a01b038216600090815260016020526040902054600e54610a0a8383611499565b1115610a1557600080fd5b505b6000546001600160a01b03848116911614801590610a4057506001600160a01b03821661dead14155b8015610a5757506001600160a01b03831661dead14155b8015610a6c57506001600160a01b0383163014155b15610a8057601054811115610a8057600080fd5b6001600160a01b03831615801590610aa057506001600160a01b03821615155b610aa957600080fd5b60008111610ab657600080fd5b60075460ff630100000082048116620100009092041610801590610ae45750601354600160a01b900460ff16155b8015610afe57506013546001600160a01b03848116911614155b8015610b0c575060075460ff165b15610b475730600090815260016020526040902054601054811115610b3057506010545b6007805462ff000019169055610b4581610c53565b505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610b8a57506001600160a01b03841660009081526003602052604090205460ff165b15610b985760009150610be5565b6013546001600160a01b0390811690861603610bb2575060015b6007805462010000900460ff16906002610bcb836114ac565b91906101000a81548160ff021916908360ff160217905550505b610bf28585858585610e0a565b5050505050565b6000610c0582846114cb565b9392505050565b6000610c058284611499565b6001600160a01b03811660009081526003602052604081205460ff168015610643576014543060009081526001602052604090205592915050565b6013805460ff60a01b1916600160a01b179055306000908152600160205260408120549050600060065482610c8891906114cb565b905060006064600c5485610c9c919061143e565b610ca69190611455565b905080600654610cb691906114cb565b60065561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610cf1908290611499565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610d2e9082906114cb565b30600090815260016020526040812091909155600a54606490610d51908761143e565b610d5b9190611455565b905060006064600b5487610d6f919061143e565b610d799190611455565b905060006064600d5488610d8d919061143e565b610d979190611455565b9050600081610da68486611499565b610db09190611499565b600754909150610100900460ff1615610dc65750845b610dcf81611151565b6005544790610de7906001600160a01b0316826112ab565b50506007805461ff001916905550506013805460ff60a01b191690555050505050565b81610ee9576001600160a01b038516600090815260016020526040902054610e339084906114cb565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610e63908490611499565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eb79087815260200190565b60405180910390a361deac196001600160a01b03851601610ee45782600654610ee091906114cb565b6006555b610bf2565b801561101f576000606460085485610f01919061143e565b610f0b9190611455565b90506000610f1982866114cb565b6001600160a01b038816600090815260016020526040902054909150610f409086906114cb565b6001600160a01b038089166000908152600160205260408082209390935590881681522054610f70908290611499565b6001600160a01b038716600090815260016020526040808220929092553081522054610f9d908390611499565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03871601611018578060065461101491906114cb565b6006555b5050610bf2565b6000606460095485611031919061143e565b61103b9190611455565b9050600061104982866114cb565b6001600160a01b0388166000908152600160205260409020549091506110709086906114cb565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546110a0908290611499565b6001600160a01b0387166000908152600160205260408082209290925530815220546110cd908390611499565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03871601611148578060065461114491906114cb565b6006555b50505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611186576111866114de565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120391906114f4565b81600181518110611216576112166114de565b6001600160a01b03928316602091820292909201015260125461123c91309116846108cc565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611275908590600090869030904290600401611511565b600060405180830381600087803b15801561128f57600080fd5b505af11580156112a3573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156112e1573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b81811015611313578581018301518582016040015282016112f7565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461134957600080fd5b50565b6000806040838503121561135f57600080fd5b823561136a81611334565b946020939093013593505050565b60008060006060848603121561138d57600080fd5b833561139881611334565b925060208401356113a881611334565b929592945050506040919091013590565b6000602082840312156113cb57600080fd5b8135610c0581611334565b600080604083850312156113e957600080fd5b82356113f481611334565b9150602083013561140481611334565b809150509250929050565b60006020828403121561142157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761064357610643611428565b60008261147257634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561148957600080fd5b81518015158114610c0557600080fd5b8082018082111561064357610643611428565b600060ff821660ff81036114c2576114c2611428565b60010192915050565b8181038181111561064357610643611428565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150657600080fd5b8151610c0581611334565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115615784516001600160a01b03168352938301939183019160010161153c565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b0030cf619afd81b24916a9a8a3297d5482f1361be1357e913c0981c4e62c8cc64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c806370a082311161010d57806395d89b41116100a0578063a9059cbb1161006f578063a9059cbb14610586578063b1cb1582146105a6578063b5adc910146105bc578063dd62ed3e146105ec578063e9cddf271461032457600080fd5b806395d89b411461050c578063960ee2f51461053a578063a158fd5d14610550578063a457c2d71461056657600080fd5b80637c062742116100dc5780637c062742146104a25780637d1db4a5146104b857806382b14515146104ce5780638da5cb5b146104ee57600080fd5b806370a082311461041f578063715018a61461045557806372f94ad91461046c57806378109e541461048c57600080fd5b8063395093511161018557806350716d211161015457806350716d21146103af578063525b2a18146103d057806356cd40e7146103ea57806362eeed33146103ff57600080fd5b8063395093511461033a5780633f70a4951461035a57806348e40b9a1461037057806349bd5a5e1461038f57600080fd5b806318160ddd116101c157806318160ddd146102d357806323b872dd146102e8578063313ce5671461030857806333828a3f1461032457600080fd5b806306463bbd146101fe57806306fdde0314610227578063095ea7b31461026b5780631694505e1461029b57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610214600a5481565b6040519081526020015b60405180910390f35b34801561023357600080fd5b506040805180820190915260128152712bb7b7b336b0b71029b43ab832b939ba30b960711b60208201525b60405161021e91906112e6565b34801561027757600080fd5b5061028b61028636600461134c565b610632565b604051901515815260200161021e565b3480156102a757600080fd5b506012546102bb906001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b3480156102df57600080fd5b50600654610214565b3480156102f457600080fd5b5061028b610303366004611378565b610649565b34801561031457600080fd5b506040516009815260200161021e565b34801561033057600080fd5b506102bb61dead81565b34801561034657600080fd5b5061028b61035536600461134c565b61069a565b34801561036657600080fd5b5061021460085481565b34801561037c57600080fd5b5060075461028b90610100900460ff1681565b34801561039b57600080fd5b506013546102bb906001600160a01b031681565b3480156103bb57600080fd5b5060135461028b90600160a01b900460ff1681565b3480156103dc57600080fd5b5060075461028b9060ff1681565b3480156103f657600080fd5b506102146106d0565b34801561040b57600080fd5b5061028b61041a36600461134c565b610721565b34801561042b57600080fd5b5061021461043a3660046113b9565b6001600160a01b031660009081526001602052604090205490565b34801561046157600080fd5b5061046a61083f565b005b34801561047857600080fd5b506005546102bb906001600160a01b031681565b34801561049857600080fd5b50610214600e5481565b3480156104ae57600080fd5b50610214600c5481565b3480156104c457600080fd5b5061021460105481565b3480156104da57600080fd5b506004546102bb906001600160a01b031681565b3480156104fa57600080fd5b506000546001600160a01b03166102bb565b34801561051857600080fd5b50604080518082019091526005815264122ba7a7a360d91b602082015261025e565b34801561054657600080fd5b50610214600b5481565b34801561055c57600080fd5b50610214600d5481565b34801561057257600080fd5b5061028b61058136600461134c565b610889565b34801561059257600080fd5b5061028b6105a136600461134c565b6108bf565b3480156105b257600080fd5b5061021460095481565b3480156105c857600080fd5b5061028b6105d73660046113b9565b60036020526000908152604090205460ff1681565b3480156105f857600080fd5b506102146106073660046113d6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061063f3384846108cc565b5060015b92915050565b6000610656848484610956565b6001600160a01b03841660009081526002602090815260408083203380855292529091205461069091869161068b9086610bf9565b6108cc565b5060019392505050565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161063f91859061068b9086610c0c565b6000806106dc33610c18565b90508080156106e85750805b1561071957306000908152600160205260408120546007805461ff001916610100179055905061071781610c53565b505b600091505090565b6000306001600160a01b0384160361073857600080fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a3919061140f565b9050600060646107b3858461143e565b6107bd9190611455565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925086169063a9059cbb906044016020604051808303816000875af1158015610812573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108369190611477565b95945050505050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526002602090815260408083206001600160a01b0387168452909152812054909161063f91859061068b9086610bf9565b600061063f338484610956565b6001600160a01b038316158015906108ec57506001600160a01b03821615155b6108f557600080fd5b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0383811691161480159061097f57506001600160a01b03821661dead14155b801561099457506001600160a01b0382163014155b80156109ab57506001600160a01b03821661dead14155b80156109c557506013546001600160a01b03838116911614155b80156109df57506000546001600160a01b03848116911614155b15610a17576001600160a01b038216600090815260016020526040902054600e54610a0a8383611499565b1115610a1557600080fd5b505b6000546001600160a01b03848116911614801590610a4057506001600160a01b03821661dead14155b8015610a5757506001600160a01b03831661dead14155b8015610a6c57506001600160a01b0383163014155b15610a8057601054811115610a8057600080fd5b6001600160a01b03831615801590610aa057506001600160a01b03821615155b610aa957600080fd5b60008111610ab657600080fd5b60075460ff630100000082048116620100009092041610801590610ae45750601354600160a01b900460ff16155b8015610afe57506013546001600160a01b03848116911614155b8015610b0c575060075460ff165b15610b475730600090815260016020526040902054601054811115610b3057506010545b6007805462ff000019169055610b4581610c53565b505b6001600160a01b0383166000908152600360205260408120546001919060ff1680610b8a57506001600160a01b03841660009081526003602052604090205460ff165b15610b985760009150610be5565b6013546001600160a01b0390811690861603610bb2575060015b6007805462010000900460ff16906002610bcb836114ac565b91906101000a81548160ff021916908360ff160217905550505b610bf28585858585610e0a565b5050505050565b6000610c0582846114cb565b9392505050565b6000610c058284611499565b6001600160a01b03811660009081526003602052604081205460ff168015610643576014543060009081526001602052604090205592915050565b6013805460ff60a01b1916600160a01b179055306000908152600160205260408120549050600060065482610c8891906114cb565b905060006064600c5485610c9c919061143e565b610ca69190611455565b905080600654610cb691906114cb565b60065561dead60005260016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d54610cf1908290611499565b60016020527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d553060009081526040902054610d2e9082906114cb565b30600090815260016020526040812091909155600a54606490610d51908761143e565b610d5b9190611455565b905060006064600b5487610d6f919061143e565b610d799190611455565b905060006064600d5488610d8d919061143e565b610d979190611455565b9050600081610da68486611499565b610db09190611499565b600754909150610100900460ff1615610dc65750845b610dcf81611151565b6005544790610de7906001600160a01b0316826112ab565b50506007805461ff001916905550506013805460ff60a01b191690555050505050565b81610ee9576001600160a01b038516600090815260016020526040902054610e339084906114cb565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610e63908490611499565b6001600160a01b0380861660008181526001602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eb79087815260200190565b60405180910390a361deac196001600160a01b03851601610ee45782600654610ee091906114cb565b6006555b610bf2565b801561101f576000606460085485610f01919061143e565b610f0b9190611455565b90506000610f1982866114cb565b6001600160a01b038816600090815260016020526040902054909150610f409086906114cb565b6001600160a01b038089166000908152600160205260408082209390935590881681522054610f70908290611499565b6001600160a01b038716600090815260016020526040808220929092553081522054610f9d908390611499565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03871601611018578060065461101491906114cb565b6006555b5050610bf2565b6000606460095485611031919061143e565b61103b9190611455565b9050600061104982866114cb565b6001600160a01b0388166000908152600160205260409020549091506110709086906114cb565b6001600160a01b0380891660009081526001602052604080822093909355908816815220546110a0908290611499565b6001600160a01b0387166000908152600160205260408082209290925530815220546110cd908390611499565b3060009081526001602090815260409182902092909255518281526001600160a01b0388811692908a16917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361deac196001600160a01b03871601611148578060065461114491906114cb565b6006555b50505050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611186576111866114de565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120391906114f4565b81600181518110611216576112166114de565b6001600160a01b03928316602091820292909201015260125461123c91309116846108cc565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790611275908590600090869030904290600401611511565b600060405180830381600087803b15801561128f57600080fd5b505af11580156112a3573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156112e1573d6000803e3d6000fd5b505050565b600060208083528351808285015260005b81811015611313578581018301518582016040015282016112f7565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461134957600080fd5b50565b6000806040838503121561135f57600080fd5b823561136a81611334565b946020939093013593505050565b60008060006060848603121561138d57600080fd5b833561139881611334565b925060208401356113a881611334565b929592945050506040919091013590565b6000602082840312156113cb57600080fd5b8135610c0581611334565b600080604083850312156113e957600080fd5b82356113f481611334565b9150602083013561140481611334565b809150509250929050565b60006020828403121561142157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761064357610643611428565b60008261147257634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561148957600080fd5b81518015158114610c0557600080fd5b8082018082111561064357610643611428565b600060ff821660ff81036114c2576114c2611428565b60010192915050565b8181038181111561064357610643611428565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150657600080fd5b8151610c0581611334565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115615784516001600160a01b03168352938301939183019160010161153c565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b0030cf619afd81b24916a9a8a3297d5482f1361be1357e913c0981c4e62c8cc64736f6c63430008110033

Deployed Bytecode Sourcemap

13197:11638:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14867:31;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;14867:31:0;;;;;;;;16922:83;;;;;;;;;;-1:-1:-1;16992:5:0;;;;;;;;;;;;-1:-1:-1;;;16992:5:0;;;;16922:83;;;;;;;:::i;17988:163::-;;;;;;;;;;-1:-1:-1;17988:163:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;17988:163:0;1205:187:1;15307:41:0;;;;;;;;;;-1:-1:-1;15307:41:0;;;;-1:-1:-1;;;;;15307:41:0;;;;;;-1:-1:-1;;;;;1588:32:1;;;1570:51;;1558:2;1543:18;15307:41:0;1397:230:1;17199:95:0;;;;;;;;;;-1:-1:-1;17279:7:0;;17199:95;;18159:269;;;;;;;;;;-1:-1:-1;18159:269:0;;;;;:::i;:::-;;:::i;17108:83::-;;;;;;;;;;-1:-1:-1;17108:83:0;;14440:1;2235:36:1;;2223:2;2208:18;17108:83:0;2093:184:1;14246:96:0;;;;;;;;;;;;14299:42;14246:96;;18436:218;;;;;;;;;;-1:-1:-1;18436:218:0;;;;;:::i;:::-;;:::i;14790:30::-;;;;;;;;;;;;;;;;14674:32;;;;;;;;;;-1:-1:-1;14674:32:0;;;;;;;;;;;15355:28;;;;;;;;;;-1:-1:-1;15355:28:0;;;;-1:-1:-1;;;;;15355:28:0;;;15390:25;;;;;;;;;;-1:-1:-1;15390:25:0;;;;-1:-1:-1;;;15390:25:0;;;;;;14630:37;;;;;;;;;;-1:-1:-1;14630:37:0;;;;;;;;16601:313;;;;;;;;;;;;;:::i;22987:371::-;;;;;;;;;;-1:-1:-1;22987:371:0;;;;;:::i;:::-;;:::i;17302:117::-;;;;;;;;;;-1:-1:-1;17302:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;17395:16:0;17368:7;17395:16;;;:7;:16;;;;;;;17302:117;13618:138;;;;;;;;;;;;;:::i;:::-;;14047:87;;;;;;;;;;-1:-1:-1;14047:87:0;;;;-1:-1:-1;;;;;14047:87:0;;;15024:52;;;;;;;;;;;;;;;;14946:31;;;;;;;;;;;;;;;;15149:47;;;;;;;;;;;;;;;;13952:87;;;;;;;;;;-1:-1:-1;13952:87:0;;;;-1:-1:-1;;;;;13952:87:0;;;13431;;;;;;;;;;-1:-1:-1;13477:7:0;13504:6;-1:-1:-1;;;;;13504:6:0;13431:87;;17013;;;;;;;;;;-1:-1:-1;17085:7:0;;;;;;;;;;;;-1:-1:-1;;;17085:7:0;;;;17013:87;;14905:34;;;;;;;;;;;;;;;;14984:31;;;;;;;;;;;;;;;;18662:228;;;;;;;;;;-1:-1:-1;18662:228:0;;;;;:::i;:::-;;:::i;17427:167::-;;;;;;;;;;-1:-1:-1;17427:167:0;;;;;:::i;:::-;;:::i;14827:31::-;;;;;;;;;;;;;;;;13891:51;;;;;;;;;;-1:-1:-1;13891:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17825:155;;;;;;;;;;-1:-1:-1;17825:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;17939:21:0;;;17912:7;17939:21;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;17825:155;17988:163;18063:4;18080:39;2004:10;18103:7;18112:6;18080:8;:39::i;:::-;-1:-1:-1;18137:4:0;17988:163;;;;;:::o;18159:269::-;18257:4;18274:36;18284:6;18292:9;18303:6;18274:9;:36::i;:::-;-1:-1:-1;;;;;18352:19:0;;;;;;:11;:19;;;;;;;;2004:10;18352:33;;;;;;;;;18321:77;;18330:6;;18352:45;;18390:6;18352:37;:45::i;:::-;18321:8;:77::i;:::-;-1:-1:-1;18416:4:0;18159:269;;;;;:::o;18436:218::-;2004:10;18524:4;18573:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18573:34:0;;;;;;;;;;18524:4;;18541:83;;18564:7;;18573:50;;18612:10;18573:38;:50::i;16601:313::-;16650:7;;16687:20;2004:10;16687:6;:20::i;:::-;16670:37;;16721:9;:22;;;;;16734:9;16721:22;16718:170;;;16798:4;16759:18;17395:16;;;:7;:16;;;;;;16819:12;:19;;-1:-1:-1;;16819:19:0;;;;;16759:45;-1:-1:-1;16853:23:0;16759:45;16853:11;:23::i;:::-;16744:144;16718:170;16905:1;16898:8;;;16601:313;:::o;22987:371::-;23073:10;23131:4;-1:-1:-1;;;;;23103:33:0;;;23095:42;;;;;;23166:49;;-1:-1:-1;;;23166:49:0;;23209:4;23166:49;;;1570:51:1;23148:15:0;;-1:-1:-1;;;;;23166:34:0;;;;;1543:18:1;;23166:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23148:67;-1:-1:-1;23226:16:0;23271:3;23245:25;23253:17;23148:67;23245:25;:::i;:::-;:29;;;;:::i;:::-;23327:10;;23293:55;;-1:-1:-1;;;23293:55:0;;-1:-1:-1;;;;;23327:10:0;;;23293:55;;;4257:51:1;4324:18;;;4317:34;;;23226:48:0;;-1:-1:-1;23293:33:0;;;;;4230:18:1;;23293:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23285:63;22987:371;-1:-1:-1;;;;;22987:371:0:o;13618:138::-;13715:1;13699:6;;13678:40;;-1:-1:-1;;;;;13699:6:0;;;;13678:40;;13715:1;;13678:40;13746:1;13729:19;;-1:-1:-1;;;;;;13729:19:0;;;13618:138::o;18662:228::-;2004:10;18755:4;18804:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18804:34:0;;;;;;;;;;18755:4;;18772:88;;18795:7;;18804:55;;18843:15;18804:38;:55::i;17427:167::-;17505:4;17522:42;2004:10;17546:9;17557:6;17522:9;:42::i;19039:269::-;-1:-1:-1;;;;;19140:22:0;;;;;;:50;;-1:-1:-1;;;;;;19166:24:0;;;;19140:50;19132:59;;;;;;-1:-1:-1;;;;;19202:21:0;;;;;;;:11;:21;;;;;;;;:33;;;;;;;;;;;;;:42;;;19260:38;;160:25:1;;;19260:38:0;;133:18:1;19260:38:0;;;;;;;19039:269;;;:::o;19316:1560::-;13477:7;13504:6;-1:-1:-1;;;;;19440:13:0;;;13504:6;;19440:13;;;;:47;;-1:-1:-1;;;;;;19470:17:0;;14195:42;19470:17;;19440:47;:83;;;;-1:-1:-1;;;;;;19504:19:0;;19518:4;19504:19;;19440:83;:116;;;;-1:-1:-1;;;;;;19540:16:0;;14299:42;19540:16;;19440:116;:152;;;;-1:-1:-1;19579:13:0;;-1:-1:-1;;;;;19573:19:0;;;19579:13;;19573:19;;19440:152;:184;;;;-1:-1:-1;13477:7:0;13504:6;-1:-1:-1;;;;;19609:15:0;;;13504:6;;19609:15;;19440:184;19436:304;;;-1:-1:-1;;;;;17395:16:0;;19640:18;17395:16;;;:7;:16;;;;;;19722:15;;19698:19;19711:6;17395:16;19698:19;:::i;:::-;19697:40;;19689:49;;;;;;19625:115;19436:304;13477:7;13504:6;-1:-1:-1;;;;;19764:15:0;;;13504:6;;19764:15;;;;:45;;-1:-1:-1;;;;;;19793:16:0;;14299:42;19793:16;;19764:45;:76;;;;-1:-1:-1;;;;;;19822:18:0;;14299:42;19822:18;;19764:76;:110;;;;-1:-1:-1;;;;;;19853:21:0;;19869:4;19853:21;;19764:110;19760:173;;;19908:12;;19898:6;:22;;19890:31;;;;;;-1:-1:-1;;;;;19953:18:0;;;;;;:38;;-1:-1:-1;;;;;;19975:16:0;;;;19953:38;19945:47;;;;;;20020:1;20011:6;:10;20003:19;;;;;;20074:11;;;;;;;;20063:7;;;;;:22;;;;:54;;-1:-1:-1;20104:13:0;;-1:-1:-1;;;20104:13:0;;;;20103:14;20063:54;:92;;;;-1:-1:-1;20142:13:0;;-1:-1:-1;;;;;20134:21:0;;;20142:13;;20134:21;;20063:92;:127;;;;-1:-1:-1;20172:18:0;;;;20063:127;20046:438;;;20297:4;20247:29;17395:16;;;:7;:16;;;;;;20345:12;;20321:36;;20318:80;;;-1:-1:-1;20384:12:0;;20318:80;20412:7;:11;;-1:-1:-1;;20412:11:0;;;20438:34;20450:21;20438:11;:34::i;:::-;20216:268;20046:438;-1:-1:-1;;;;;20558:24:0;;20504:12;20558:24;;;:18;:24;;;;;;20519:4;;20504:12;20558:24;;;:50;;-1:-1:-1;;;;;;20586:22:0;;;;;;:18;:22;;;;;;;;20558:50;20555:239;;;20634:5;20624:15;;20555:239;;;20694:13;;-1:-1:-1;;;;;20694:13:0;;;20686:21;;;;20683:72;;-1:-1:-1;20735:4:0;20683:72;20771:7;:9;;;;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;20555:239;20814:48;20829:4;20835:2;20839:6;20847:7;20856:5;20814:14;:48::i;:::-;19419:1457;;19316:1560;;;:::o;1133:98::-;1191:7;1218:5;1222:1;1218;:5;:::i;:::-;1211:12;1133:98;-1:-1:-1;;;1133:98:0:o;1027:::-;1085:7;1112:5;1116:1;1112;:5;:::i;17602:215::-;-1:-1:-1;;;;;17685:32:0;;17655:4;17685:32;;;:18;:32;;;;;;;;17728:56;;;;17766:16;;17757:4;17741:22;;;;:7;:22;;;;;:41;17801:8;17602:215;-1:-1:-1;;17602:215:0:o;21018:1115::-;15714:13;:20;;-1:-1:-1;;;;15714:20:0;-1:-1:-1;;;15714:20:0;;;21154:4:::1;-1:-1:-1::0;17395:16:0;;;-1:-1:-1;17395:16:0;;;;;;21107:53:::1;;21175:17;21217:7;;21196:18;:28;;;;:::i;:::-;21175:49;;21241:22;21305:3;21290:12;;21266:21;:36;;;;:::i;:::-;:42;;;;:::i;:::-;21241:67;;21343:14;21333:7;;:24;;;;:::i;:::-;21323:7;:34:::0;14195:42:::1;21395:20;::::0;:7:::1;:20;::::0;;;:37:::1;::::0;21418:14;;21395:37:::1;:::i;:::-;21372:7;:20;::::0;;:60;21488:4:::1;21372:20;21472:22:::0;;;21372:20;21472:22;;;:39:::1;::::0;21497:14;;21472:39:::1;:::i;:::-;21463:4;21447:22;::::0;;;:7:::1;:22;::::0;;;;:64;;;;21586:11:::1;::::0;21600:3:::1;::::0;21562:35:::1;::::0;:21;:35:::1;:::i;:::-;:41;;;;:::i;:::-;21540:63;;21618:19;21681:3;21664:15;;21640:21;:39;;;;:::i;:::-;:44;;;;:::i;:::-;21618:66;;21699:25;21765:3;21751:11;;21727:21;:35;;;;:::i;:::-;:41;;;;:::i;:::-;21699:69:::0;-1:-1:-1;21785:18:0::1;21699:69:::0;21806:25:::1;21820:11:::0;21806;:25:::1;:::i;:::-;:45;;;;:::i;:::-;21869:12;::::0;21785:66;;-1:-1:-1;21869:12:0::1;::::0;::::1;;;21866:40;;;-1:-1:-1::0;21895:9:0;21866:40:::1;21934:28;21951:10;21934:16;:28::i;:::-;22046:10;::::0;21997:21:::1;::::0;22033:35:::1;::::0;-1:-1:-1;;;;;22046:10:0::1;21997:21:::0;22033:12:::1;:35::i;:::-;-1:-1:-1::0;;22083:12:0::1;:20:::0;;-1:-1:-1;;22083:20:0::1;::::0;;-1:-1:-1;;15757:13:0;:21;;-1:-1:-1;;;;15757:21:0;;;-1:-1:-1;;;;;21018:1115:0:o;23366:1462::-;23502:7;23498:1309;;-1:-1:-1;;;;;23545:15:0;;;;;;:7;:15;;;;;;:23;;23561:7;;23545:23;:::i;:::-;-1:-1:-1;;;;;23527:15:0;;;;;;;:7;:15;;;;;;:41;;;;23604:18;;;;;;;:26;;23623:7;;23604:26;:::i;:::-;-1:-1:-1;;;;;23583:18:0;;;;;;;:7;:18;;;;;;;:47;;;;23650:36;;;;;;;;;;23678:7;160:25:1;;148:2;133:18;;14:177;23650:36:0;;;;;;;;-1:-1:-1;;;;;;;23706:24:0;;;23703:67;;23763:7;23755;;:15;;;;:::i;:::-;23745:7;:25;23703:67;23498:1309;;;23809:5;23805:1002;;;23832:14;23869:3;23857:11;;23849:7;:19;;;;:::i;:::-;:23;;;;:::i;:::-;23832:40;-1:-1:-1;23887:23:0;23913:14;23832:40;23913:7;:14;:::i;:::-;-1:-1:-1;;;;;23962:15:0;;;;;;:7;:15;;;;;;23887:40;;-1:-1:-1;23962:23:0;;23978:7;;23962:23;:::i;:::-;-1:-1:-1;;;;;23944:15:0;;;;;;;:7;:15;;;;;;:41;;;;24021:18;;;;;;;:34;;24040:15;;24021:34;:::i;:::-;-1:-1:-1;;;;;24000:18:0;;;;;;:7;:18;;;;;;:55;;;;24111:4;24095:22;;;;:29;;24118:6;;24095:29;:::i;:::-;24086:4;24070:22;;;;:7;:22;;;;;;;;;:54;;;;24147:44;160:25:1;;;-1:-1:-1;;;;;24147:44:0;;;;;;;;;;133:18:1;24147:44:0;;;;;;;-1:-1:-1;;;;;;;24211:24:0;;;24208:75;;24268:15;24260:7;;:23;;;;:::i;:::-;24250:7;:33;24208:75;23815:498;;23805:1002;;;24336:15;24375:3;24362:12;;24354:7;:20;;;;:::i;:::-;:24;;;;:::i;:::-;24336:42;-1:-1:-1;24393:23:0;24419:15;24336:42;24419:7;:15;:::i;:::-;-1:-1:-1;;;;;24469:15:0;;;;;;:7;:15;;;;;;24393:41;;-1:-1:-1;24469:23:0;;24485:7;;24469:23;:::i;:::-;-1:-1:-1;;;;;24451:15:0;;;;;;;:7;:15;;;;;;:41;;;;24528:18;;;;;;;:34;;24547:15;;24528:34;:::i;:::-;-1:-1:-1;;;;;24507:18:0;;;;;;:7;:18;;;;;;:55;;;;24618:4;24602:22;;;;:30;;24625:7;;24602:30;:::i;:::-;24593:4;24577:22;;;;:7;:22;;;;;;;;;:55;;;;24655:44;160:25:1;;;-1:-1:-1;;;;;24655:44:0;;;;;;;;;;133:18:1;24655:44:0;;;;;;;-1:-1:-1;;;;;;;24719:24:0;;;24716:75;;24776:15;24768:7;;:23;;;;:::i;:::-;24758:7;:33;24716:75;24319:488;;23366:1462;;;;;:::o;22141:474::-;22233:16;;;22247:1;22233:16;;;;;;;;22209:21;;22233:16;;;;;;;;;;-1:-1:-1;22233:16:0;22209:40;;22278:4;22260;22265:1;22260:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22260:23:0;;;:7;;;;;;;;;;:23;;;;22304:15;;:22;;;-1:-1:-1;;;22304:22:0;;;;:15;;;;;:20;;:22;;;;;22260:7;;22304:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22294:4;22299:1;22294:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22294:32:0;;;:7;;;;;;;;;:32;22369:15;;22337:62;;22354:4;;22369:15;22387:11;22337:8;:62::i;:::-;22410:15;;:197;;-1:-1:-1;;;22410:197:0;;-1:-1:-1;;;;;22410:15:0;;;;:66;;:197;;22491:11;;22410:15;;22534:4;;22561;;22581:15;;22410:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22196:419;22141:474;:::o;20888:122::-;20973:23;;-1:-1:-1;;;;;20973:15:0;;;:23;;;;;20989:6;;20973:23;;;;20989:6;20973:15;:23;;;;;;;;;;;;;;;;;;;;;20888:122;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1632:456::-;1709:6;1717;1725;1778:2;1766:9;1757:7;1753:23;1749:32;1746:52;;;1794:1;1791;1784:12;1746:52;1833:9;1820:23;1852:31;1877:5;1852:31;:::i;:::-;1902:5;-1:-1:-1;1959:2:1;1944:18;;1931:32;1972:33;1931:32;1972:33;:::i;:::-;1632:456;;2024:7;;-1:-1:-1;;;2078:2:1;2063:18;;;;2050:32;;1632:456::o;2714:247::-;2773:6;2826:2;2814:9;2805:7;2801:23;2797:32;2794:52;;;2842:1;2839;2832:12;2794:52;2881:9;2868:23;2900:31;2925:5;2900:31;:::i;2966:388::-;3034:6;3042;3095:2;3083:9;3074:7;3070:23;3066:32;3063:52;;;3111:1;3108;3101:12;3063:52;3150:9;3137:23;3169:31;3194:5;3169:31;:::i;:::-;3219:5;-1:-1:-1;3276:2:1;3261:18;;3248:32;3289:33;3248:32;3289:33;:::i;:::-;3341:7;3331:17;;;2966:388;;;;;:::o;3359:184::-;3429:6;3482:2;3470:9;3461:7;3457:23;3453:32;3450:52;;;3498:1;3495;3488:12;3450:52;-1:-1:-1;3521:16:1;;3359:184;-1:-1:-1;3359:184:1:o;3548:127::-;3609:10;3604:3;3600:20;3597:1;3590:31;3640:4;3637:1;3630:15;3664:4;3661:1;3654:15;3680:168;3753:9;;;3784;;3801:15;;;3795:22;;3781:37;3771:71;;3822:18;;:::i;3853:217::-;3893:1;3919;3909:132;;3963:10;3958:3;3954:20;3951:1;3944:31;3998:4;3995:1;3988:15;4026:4;4023:1;4016:15;3909:132;-1:-1:-1;4055:9:1;;3853:217::o;4362:277::-;4429:6;4482:2;4470:9;4461:7;4457:23;4453:32;4450:52;;;4498:1;4495;4488:12;4450:52;4530:9;4524:16;4583:5;4576:13;4569:21;4562:5;4559:32;4549:60;;4605:1;4602;4595:12;4644:125;4709:9;;;4730:10;;;4727:36;;;4743:18;;:::i;4774:175::-;4811:3;4855:4;4848:5;4844:16;4884:4;4875:7;4872:17;4869:43;;4892:18;;:::i;:::-;4941:1;4928:15;;4774:175;-1:-1:-1;;4774:175:1:o;4954:128::-;5021:9;;;5042:11;;;5039:37;;;5056:18;;:::i;5219:127::-;5280:10;5275:3;5271:20;5268:1;5261:31;5311:4;5308:1;5301:15;5335:4;5332:1;5325:15;5351:251;5421:6;5474:2;5462:9;5453:7;5449:23;5445:32;5442:52;;;5490:1;5487;5480:12;5442:52;5522:9;5516:16;5541:31;5566:5;5541:31;:::i;5607:980::-;5869:4;5917:3;5906:9;5902:19;5948:6;5937:9;5930:25;5974:2;6012:6;6007:2;5996:9;5992:18;5985:34;6055:3;6050:2;6039:9;6035:18;6028:31;6079:6;6114;6108:13;6145:6;6137;6130:22;6183:3;6172:9;6168:19;6161:26;;6222:2;6214:6;6210:15;6196:29;;6243:1;6253:195;6267:6;6264:1;6261:13;6253:195;;;6332:13;;-1:-1:-1;;;;;6328:39:1;6316:52;;6423:15;;;;6388:12;;;;6364:1;6282:9;6253:195;;;-1:-1:-1;;;;;;;6504:32:1;;;;6499:2;6484:18;;6477:60;-1:-1:-1;;;6568:3:1;6553:19;6546:35;6465:3;5607:980;-1:-1:-1;;;5607:980:1:o

Swarm Source

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