ETH Price: $2,377.27 (+0.38%)

Token

PepeGod (PepeGod)
 

Overview

Max Total Supply

100,000 PepeGod

Holders

27

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
211.580139724717347629 PepeGod

Value
$0.00
0x732A0534f24Dc37d1d0205D427827cEc32D03116
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:
PepeGod

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-12
*/

/**
 *Submitted for verification at Etherscan.io on 2023-06-12
*/

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

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

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

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

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

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

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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 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 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 PepeGod is Context, IERC20, Ownable {
    
    using SafeMath for uint256;
    using Address for address;
    
    string private _name = "PepeGod";
    string private _symbol = "PepeGod";
    uint8 private _decimals = 18;

    address payable public marketingWallet = payable(0x000000000000000000000000000000000000dEaD);

    address public deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;

    uint256 public _buyMarketingFee = 1;

    uint256 public _sellMarketingFee = 1;
    uint256 public _totalTaxIfBuying = _buyMarketingFee;
    uint256 public _totalTaxIfSelling = _sellMarketingFee;

    uint256 private _totalSupply = 100000 * 10 ** _decimals;
    uint256 private minimumTokensBeforeSwap = 40 * 10 ** _decimals; 

    uint256 public startBlock;
    bool public tradeOpen = false;

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

    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)] = _totalSupply;

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

        isMarketPair[address(uniswapPair)] = true;

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


    function setBuyTaxes(uint256 buyMarketingFeeNew) external onlyOwner(){
        _buyMarketingFee = buyMarketingFeeNew;
        _totalTaxIfBuying = _buyMarketingFee;
        require(_totalTaxIfBuying <= 10 , "Max buy fee under 10%");
    }

    function setsellTaxes(uint256 sellMarketingFeeNew) external onlyOwner(){
        _sellMarketingFee = sellMarketingFeeNew;
        _totalTaxIfSelling = _sellMarketingFee;
        require(_totalTaxIfSelling <= 10 , "Max sell fee under 10%");
    }
    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 minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

    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 setIsExcludedFromFee(address account, bool newValue) public onlyOwner {
        isExcludedFromFee[account] = newValue;
    }

    function setMarketPairStatus(address account, bool newValue) public onlyOwner {
        isMarketPair[account] = newValue;
    }

    function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        minimumTokensBeforeSwap = newLimit;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function setMarketingWallet(address newAddress) external onlyOwner() {
        marketingWallet = payable(newAddress);
    }

    function OpenTrade() external onlyOwner{
        tradeOpen = true;
        startBlock = block.number;
    }
    //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");
        require(tradeOpen || isExcludedFromFee[sender] || isExcludedFromFee[recipient], "Trading is not open yet");
        // antibot
        if(!isMarketPair[recipient] && isMarketPair[sender] && block.number < startBlock + 3){
            uint256 botFeeAmount = amount.mul(95).div(100);
            _basicTransfer(sender, marketingWallet, botFeeAmount);
            _basicTransfer(sender, recipient, amount-botFeeAmount);
        }
        
        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled && recipient!=owner()) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }

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

            uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? 
                                         amount : takeFee(sender,recipient, amount);

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

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

    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 {
        if(tAmount > 0)
            _basicTransfer(address(this),marketingWallet,tAmount);
    }

    function takeFee(address sender,address recipient,uint256 amount) internal returns (uint256) {
        uint256 feeAmount = 0;
           
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }
        return amount.sub(feeAmount);
    }

    function airdrop(address[] calldata _addresses, uint256 _amount) external onlyOwner{
        swapAndLiquifyEnabled = false;
        for (uint256 i = 0; i < _addresses.length; i++) {
            _basicTransfer(msg.sender, _addresses[i], _amount);
        }
    }
}

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":"OpenTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyMarketingFee","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":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"airdrop","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":[],"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":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","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":"buyMarketingFeeNew","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellMarketingFeeNew","type":"uint256"}],"name":"setsellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"tradeOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"}]

60c0604052600760809081526614195c1951dbd960ca1b60a052600190620000289082620004c4565b5060408051808201909152600781526614195c1951dbd960ca1b6020820152600290620000569082620004c4565b506003805462dead126001600160a81b0319909116179055600480546001600160a01b03191661dead17905560016009819055600a818155600b829055600c91909155620000a7906012906200069b565b620000b690620186a0620006b2565b600d55600354620000cc9060ff16600a6200069b565b620000d9906028620006b2565b600e556010805460ff191690556011805461ffff60a81b1916600160a81b17905534801562000106575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200019c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001c29190620006cc565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002349190620006cc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156200027f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a59190620006cc565b601180546001600160a01b0319166001600160a01b0392831617905560108054610100600160a81b03191661010084841681029190911791829055600d54305f9081526006602090815260408083209490950490951681529190935290812091909155600190600790620003205f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260078452828120805486166001908117909155600454831682528382208054871682179055600354610100900483168252838220805487168217905560115490921681526008909352908220805490931617909155600d5490600590620003b43390565b6001600160a01b0316815260208101919091526040015f2055336001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040516200041591815260200190565b60405180910390a350620006f4565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200044d57607f821691505b6020821081036200046c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620004bf575f81815260208120601f850160051c810160208610156200049a5750805b601f850160051c820191505b81811015620004bb57828155600101620004a6565b5050505b505050565b81516001600160401b03811115620004e057620004e062000424565b620004f881620004f1845462000438565b8462000472565b602080601f8311600181146200052e575f8415620005165750858301515b5f19600386901b1c1916600185901b178555620004bb565b5f85815260208120601f198616915b828110156200055e578886015182559484019460019091019084016200053d565b50858210156200057c57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005e057815f1904821115620005c457620005c46200058c565b80851615620005d257918102915b93841c9390800290620005a5565b509250929050565b5f82620005f85750600162000695565b816200060657505f62000695565b81600181146200061f57600281146200062a576200064a565b600191505062000695565b60ff8411156200063e576200063e6200058c565b50506001821b62000695565b5060208310610133831016604e8410600b84101617156200066f575081810a62000695565b6200067b8383620005a0565b805f19048211156200069157620006916200058c565b0290505b92915050565b5f620006ab60ff841683620005e8565b9392505050565b80820281158282048414176200069557620006956200058c565b5f60208284031215620006dd575f80fd5b81516001600160a01b0381168114620006ab575f80fd5b61198e80620007025f395ff3fe608060405260043610610220575f3560e01c806375f0a8741161011e578063a9059cbb116100a8578063da00097d1161006d578063da00097d14610636578063dd62ed3e14610656578063ef422a181461069a578063f0cd1dac146106b9578063f2fde38b146106ce575f80fd5b8063a9059cbb146105af578063c204642c146105ce578063c5d24189146105ed578063c816841b14610602578063c860795214610621575f80fd5b8063914eb66a116100ee578063914eb66a1461053557806395d89b4114610549578063a073d37f1461055d578063a3ca847d14610571578063a457c2d714610590575f80fd5b806375f0a874146104c157806382eefb43146104e5578063844d591c146104fa5780638da5cb5b14610519575f80fd5b80632b112e49116101aa57806348cd4cb11161016f57806348cd4cb11461040b5780634a74bb02146104205780635342acb4146104405780635d098b381461046e57806370a082311461048d575f80fd5b80632b112e491461036a578063313ce5671461037e578063395093511461039f5780633b97084a146103be5780633ecad271146103dd575f80fd5b806318160ddd116101f057806318160ddd146102d657806323b872dd146102f457806325fa0b981461031357806327c8f8351461032c57806329da526a1461034b575f80fd5b806306fdde031461022b578063095ea7b3146102555780630f8540e4146102845780631694505e1461029a575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5061023f6106ed565b60405161024c919061162d565b60405180910390f35b348015610260575f80fd5b5061027461026f366004611693565b61077d565b604051901515815260200161024c565b34801561028f575f80fd5b50610298610793565b005b3480156102a5575f80fd5b506010546102be9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b3480156102e1575f80fd5b50600d545b60405190815260200161024c565b3480156102ff575f80fd5b5061027461030e3660046116bb565b6107d8565b34801561031e575f80fd5b506010546102749060ff1681565b348015610337575f80fd5b506004546102be906001600160a01b031681565b348015610356575f80fd5b506102986103653660046116f4565b610841565b348015610375575f80fd5b506102e66108bf565b348015610389575f80fd5b5060035460405160ff909116815260200161024c565b3480156103aa575f80fd5b506102746103b9366004611693565b6108ea565b3480156103c9575f80fd5b506102986103d83660046116f4565b61091f565b3480156103e8575f80fd5b506102746103f736600461170b565b60086020525f908152604090205460ff1681565b348015610416575f80fd5b506102e6600f5481565b34801561042b575f80fd5b5060115461027490600160a81b900460ff1681565b34801561044b575f80fd5b5061027461045a36600461170b565b60076020525f908152604090205460ff1681565b348015610479575f80fd5b5061029861048836600461170b565b61094d565b348015610498575f80fd5b506102e66104a736600461170b565b6001600160a01b03165f9081526005602052604090205490565b3480156104cc575f80fd5b506003546102be9061010090046001600160a01b031681565b3480156104f0575f80fd5b506102e6600c5481565b348015610505575f80fd5b50610298610514366004611724565b61099e565b348015610524575f80fd5b505f546001600160a01b03166102be565b348015610540575f80fd5b506102986109f1565b348015610554575f80fd5b5061023f610a62565b348015610568575f80fd5b50600e546102e6565b34801561057c575f80fd5b5061029861058b3660046116f4565b610a71565b34801561059b575f80fd5b506102746105aa366004611693565b610aed565b3480156105ba575f80fd5b506102746105c9366004611693565b610b3a565b3480156105d9575f80fd5b506102986105e836600461175d565b610b46565b3480156105f8575f80fd5b506102e660095481565b34801561060d575f80fd5b506011546102be906001600160a01b031681565b34801561062c575f80fd5b506102e6600a5481565b348015610641575f80fd5b5060115461027490600160b01b900460ff1681565b348015610661575f80fd5b506102e66106703660046117d1565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156106a5575f80fd5b506102986106b4366004611724565b610bd0565b3480156106c4575f80fd5b506102e6600b5481565b3480156106d9575f80fd5b506102986106e836600461170b565b610c23565b6060600180546106fc90611802565b80601f016020809104026020016040519081016040528092919081815260200182805461072890611802565b80156107735780601f1061074a57610100808354040283529160200191610773565b820191905f5260205f20905b81548152906001019060200180831161075657829003601f168201915b5050505050905090565b5f610789338484610d0a565b5060015b92915050565b5f546001600160a01b031633146107c55760405162461bcd60e51b81526004016107bc9061183a565b60405180910390fd5b6010805460ff1916600117905543600f55565b5f6107e4848484610e2d565b5061083684336108318560405180606001604052806028815260200161190c602891396001600160a01b038a165f908152600660209081526040808320338452909152902054919061123e565b610d0a565b5060015b9392505050565b5f546001600160a01b0316331461086a5760405162461bcd60e51b81526004016107bc9061183a565b600a818155600c8290558111156108bc5760405162461bcd60e51b81526020600482015260166024820152754d61782073656c6c2066656520756e6465722031302560501b60448201526064016107bc565b50565b6004546001600160a01b03165f90815260056020526040812054600d546108e591611276565b905090565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161078991859061083190866112b7565b5f546001600160a01b031633146109485760405162461bcd60e51b81526004016107bc9061183a565b600e55565b5f546001600160a01b031633146109765760405162461bcd60e51b81526004016107bc9061183a565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b031633146109c75760405162461bcd60e51b81526004016107bc9061183a565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610a1a5760405162461bcd60e51b81526004016107bc9061183a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600280546106fc90611802565b5f546001600160a01b03163314610a9a5760405162461bcd60e51b81526004016107bc9061183a565b6009819055600b819055600a8111156108bc5760405162461bcd60e51b81526020600482015260156024820152744d6178206275792066656520756e6465722031302560581b60448201526064016107bc565b5f61078933846108318560405180606001604052806025815260200161193460259139335f9081526006602090815260408083206001600160a01b038d168452909152902054919061123e565b5f610836338484610e2d565b5f546001600160a01b03163314610b6f5760405162461bcd60e51b81526004016107bc9061183a565b6011805460ff60a81b191690555f5b82811015610bca57610bb733858584818110610b9c57610b9c61186f565b9050602002016020810190610bb1919061170b565b84611315565b5080610bc281611897565b915050610b7e565b50505050565b5f546001600160a01b03163314610bf95760405162461bcd60e51b81526004016107bc9061183a565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610c4c5760405162461bcd60e51b81526004016107bc9061183a565b6001600160a01b038116610cb15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bc565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d6c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107bc565b6001600160a01b038216610dcd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107bc565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610e925760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107bc565b6001600160a01b038316610ef45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107bc565b60105460ff1680610f1c57506001600160a01b0384165f9081526007602052604090205460ff165b80610f3e57506001600160a01b0383165f9081526007602052604090205460ff165b610f8a5760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206973206e6f74206f70656e2079657400000000000000000060448201526064016107bc565b6001600160a01b0383165f9081526008602052604090205460ff16158015610fc957506001600160a01b0384165f9081526008602052604090205460ff165b8015610fe15750600f54610fde9060036118af565b43105b15611037575f610ffd6064610ff785605f6113f8565b90611476565b905061101f85600360019054906101000a90046001600160a01b031683611315565b50611034858561102f84876118c2565b611315565b50505b601154600160a01b900460ff161561105b57611054848484611315565b905061083a565b305f90815260056020526040902054600e54811080159081906110885750601154600160a01b900460ff16155b80156110ac57506001600160a01b0386165f9081526008602052604090205460ff16155b80156110c15750601154600160a81b900460ff165b80156110da57505f546001600160a01b03868116911614155b1561110057601154600160b01b900460ff16156110f757600e5491505b611100826114b7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f9081526005909152919091205461115191869061123e565b6001600160a01b0387165f90815260056020908152604080832093909355600790529081205460ff168061119c57506001600160a01b0386165f9081526007602052604090205460ff165b6111b0576111ab8787876114ff565b6111b2565b845b6001600160a01b0387165f908152600560205260409020549091506111d790826112b7565b6001600160a01b038088165f8181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061122a9085815260200190565b60405180910390a36001935050505061083a565b5f81848411156112615760405162461bcd60e51b81526004016107bc919061162d565b505f61126d84866118c2565b95945050505050565b5f61083a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061123e565b5f806112c383856118af565b90508381101561083a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107bc565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260059091529182205461136591849061123e565b6001600160a01b038086165f90815260056020526040808220939093559085168152205461139390836112b7565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113e69086815260200190565b60405180910390a35060019392505050565b5f825f0361140757505f61078d565b5f61141283856118d5565b90508261141f85836118ec565b1461083a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107bc565b5f61083a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611601565b6011805460ff60a01b1916600160a01b17905580156114ef576003546114ed90309061010090046001600160a01b031683611315565b505b506011805460ff60a01b19169055565b6001600160a01b0383165f90815260086020526040812054819060ff16156115425761153b6064610ff7600b54866113f890919063ffffffff16565b905061157f565b6001600160a01b0384165f9081526008602052604090205460ff161561157f5761157c6064610ff7600c54866113f890919063ffffffff16565b90505b80156115f757305f9081526005602052604090205461159e90826112b7565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115ee9085815260200190565b60405180910390a35b61126d8382611276565b5f81836116215760405162461bcd60e51b81526004016107bc919061162d565b505f61126d84866118ec565b5f6020808352835180828501525f5b818110156116585785810183015185820160400152820161163c565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461168e575f80fd5b919050565b5f80604083850312156116a4575f80fd5b6116ad83611678565b946020939093013593505050565b5f805f606084860312156116cd575f80fd5b6116d684611678565b92506116e460208501611678565b9150604084013590509250925092565b5f60208284031215611704575f80fd5b5035919050565b5f6020828403121561171b575f80fd5b61083a82611678565b5f8060408385031215611735575f80fd5b61173e83611678565b915060208301358015158114611752575f80fd5b809150509250929050565b5f805f6040848603121561176f575f80fd5b833567ffffffffffffffff80821115611786575f80fd5b818601915086601f830112611799575f80fd5b8135818111156117a7575f80fd5b8760208260051b85010111156117bb575f80fd5b6020928301989097509590910135949350505050565b5f80604083850312156117e2575f80fd5b6117eb83611678565b91506117f960208401611678565b90509250929050565b600181811c9082168061181657607f821691505b60208210810361183457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016118a8576118a8611883565b5060010190565b8082018082111561078d5761078d611883565b8181038181111561078d5761078d611883565b808202811582820484141761078d5761078d611883565b5f8261190657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207875af0cfc77e93f36d67380abdb87988a83587397fd0706b0f9fee49d1fb43564736f6c63430008140033

Deployed Bytecode

0x608060405260043610610220575f3560e01c806375f0a8741161011e578063a9059cbb116100a8578063da00097d1161006d578063da00097d14610636578063dd62ed3e14610656578063ef422a181461069a578063f0cd1dac146106b9578063f2fde38b146106ce575f80fd5b8063a9059cbb146105af578063c204642c146105ce578063c5d24189146105ed578063c816841b14610602578063c860795214610621575f80fd5b8063914eb66a116100ee578063914eb66a1461053557806395d89b4114610549578063a073d37f1461055d578063a3ca847d14610571578063a457c2d714610590575f80fd5b806375f0a874146104c157806382eefb43146104e5578063844d591c146104fa5780638da5cb5b14610519575f80fd5b80632b112e49116101aa57806348cd4cb11161016f57806348cd4cb11461040b5780634a74bb02146104205780635342acb4146104405780635d098b381461046e57806370a082311461048d575f80fd5b80632b112e491461036a578063313ce5671461037e578063395093511461039f5780633b97084a146103be5780633ecad271146103dd575f80fd5b806318160ddd116101f057806318160ddd146102d657806323b872dd146102f457806325fa0b981461031357806327c8f8351461032c57806329da526a1461034b575f80fd5b806306fdde031461022b578063095ea7b3146102555780630f8540e4146102845780631694505e1461029a575f80fd5b3661022757005b5f80fd5b348015610236575f80fd5b5061023f6106ed565b60405161024c919061162d565b60405180910390f35b348015610260575f80fd5b5061027461026f366004611693565b61077d565b604051901515815260200161024c565b34801561028f575f80fd5b50610298610793565b005b3480156102a5575f80fd5b506010546102be9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200161024c565b3480156102e1575f80fd5b50600d545b60405190815260200161024c565b3480156102ff575f80fd5b5061027461030e3660046116bb565b6107d8565b34801561031e575f80fd5b506010546102749060ff1681565b348015610337575f80fd5b506004546102be906001600160a01b031681565b348015610356575f80fd5b506102986103653660046116f4565b610841565b348015610375575f80fd5b506102e66108bf565b348015610389575f80fd5b5060035460405160ff909116815260200161024c565b3480156103aa575f80fd5b506102746103b9366004611693565b6108ea565b3480156103c9575f80fd5b506102986103d83660046116f4565b61091f565b3480156103e8575f80fd5b506102746103f736600461170b565b60086020525f908152604090205460ff1681565b348015610416575f80fd5b506102e6600f5481565b34801561042b575f80fd5b5060115461027490600160a81b900460ff1681565b34801561044b575f80fd5b5061027461045a36600461170b565b60076020525f908152604090205460ff1681565b348015610479575f80fd5b5061029861048836600461170b565b61094d565b348015610498575f80fd5b506102e66104a736600461170b565b6001600160a01b03165f9081526005602052604090205490565b3480156104cc575f80fd5b506003546102be9061010090046001600160a01b031681565b3480156104f0575f80fd5b506102e6600c5481565b348015610505575f80fd5b50610298610514366004611724565b61099e565b348015610524575f80fd5b505f546001600160a01b03166102be565b348015610540575f80fd5b506102986109f1565b348015610554575f80fd5b5061023f610a62565b348015610568575f80fd5b50600e546102e6565b34801561057c575f80fd5b5061029861058b3660046116f4565b610a71565b34801561059b575f80fd5b506102746105aa366004611693565b610aed565b3480156105ba575f80fd5b506102746105c9366004611693565b610b3a565b3480156105d9575f80fd5b506102986105e836600461175d565b610b46565b3480156105f8575f80fd5b506102e660095481565b34801561060d575f80fd5b506011546102be906001600160a01b031681565b34801561062c575f80fd5b506102e6600a5481565b348015610641575f80fd5b5060115461027490600160b01b900460ff1681565b348015610661575f80fd5b506102e66106703660046117d1565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b3480156106a5575f80fd5b506102986106b4366004611724565b610bd0565b3480156106c4575f80fd5b506102e6600b5481565b3480156106d9575f80fd5b506102986106e836600461170b565b610c23565b6060600180546106fc90611802565b80601f016020809104026020016040519081016040528092919081815260200182805461072890611802565b80156107735780601f1061074a57610100808354040283529160200191610773565b820191905f5260205f20905b81548152906001019060200180831161075657829003601f168201915b5050505050905090565b5f610789338484610d0a565b5060015b92915050565b5f546001600160a01b031633146107c55760405162461bcd60e51b81526004016107bc9061183a565b60405180910390fd5b6010805460ff1916600117905543600f55565b5f6107e4848484610e2d565b5061083684336108318560405180606001604052806028815260200161190c602891396001600160a01b038a165f908152600660209081526040808320338452909152902054919061123e565b610d0a565b5060015b9392505050565b5f546001600160a01b0316331461086a5760405162461bcd60e51b81526004016107bc9061183a565b600a818155600c8290558111156108bc5760405162461bcd60e51b81526020600482015260166024820152754d61782073656c6c2066656520756e6465722031302560501b60448201526064016107bc565b50565b6004546001600160a01b03165f90815260056020526040812054600d546108e591611276565b905090565b335f8181526006602090815260408083206001600160a01b0387168452909152812054909161078991859061083190866112b7565b5f546001600160a01b031633146109485760405162461bcd60e51b81526004016107bc9061183a565b600e55565b5f546001600160a01b031633146109765760405162461bcd60e51b81526004016107bc9061183a565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b031633146109c75760405162461bcd60e51b81526004016107bc9061183a565b6001600160a01b03919091165f908152600860205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610a1a5760405162461bcd60e51b81526004016107bc9061183a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6060600280546106fc90611802565b5f546001600160a01b03163314610a9a5760405162461bcd60e51b81526004016107bc9061183a565b6009819055600b819055600a8111156108bc5760405162461bcd60e51b81526020600482015260156024820152744d6178206275792066656520756e6465722031302560581b60448201526064016107bc565b5f61078933846108318560405180606001604052806025815260200161193460259139335f9081526006602090815260408083206001600160a01b038d168452909152902054919061123e565b5f610836338484610e2d565b5f546001600160a01b03163314610b6f5760405162461bcd60e51b81526004016107bc9061183a565b6011805460ff60a81b191690555f5b82811015610bca57610bb733858584818110610b9c57610b9c61186f565b9050602002016020810190610bb1919061170b565b84611315565b5080610bc281611897565b915050610b7e565b50505050565b5f546001600160a01b03163314610bf95760405162461bcd60e51b81526004016107bc9061183a565b6001600160a01b03919091165f908152600760205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610c4c5760405162461bcd60e51b81526004016107bc9061183a565b6001600160a01b038116610cb15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107bc565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d6c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107bc565b6001600160a01b038216610dcd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107bc565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610e925760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107bc565b6001600160a01b038316610ef45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107bc565b60105460ff1680610f1c57506001600160a01b0384165f9081526007602052604090205460ff165b80610f3e57506001600160a01b0383165f9081526007602052604090205460ff165b610f8a5760405162461bcd60e51b815260206004820152601760248201527f54726164696e67206973206e6f74206f70656e2079657400000000000000000060448201526064016107bc565b6001600160a01b0383165f9081526008602052604090205460ff16158015610fc957506001600160a01b0384165f9081526008602052604090205460ff165b8015610fe15750600f54610fde9060036118af565b43105b15611037575f610ffd6064610ff785605f6113f8565b90611476565b905061101f85600360019054906101000a90046001600160a01b031683611315565b50611034858561102f84876118c2565b611315565b50505b601154600160a01b900460ff161561105b57611054848484611315565b905061083a565b305f90815260056020526040902054600e54811080159081906110885750601154600160a01b900460ff16155b80156110ac57506001600160a01b0386165f9081526008602052604090205460ff16155b80156110c15750601154600160a81b900460ff165b80156110da57505f546001600160a01b03868116911614155b1561110057601154600160b01b900460ff16156110f757600e5491505b611100826114b7565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f9081526005909152919091205461115191869061123e565b6001600160a01b0387165f90815260056020908152604080832093909355600790529081205460ff168061119c57506001600160a01b0386165f9081526007602052604090205460ff165b6111b0576111ab8787876114ff565b6111b2565b845b6001600160a01b0387165f908152600560205260409020549091506111d790826112b7565b6001600160a01b038088165f8181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061122a9085815260200190565b60405180910390a36001935050505061083a565b5f81848411156112615760405162461bcd60e51b81526004016107bc919061162d565b505f61126d84866118c2565b95945050505050565b5f61083a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061123e565b5f806112c383856118af565b90508381101561083a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107bc565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f90815260059091529182205461136591849061123e565b6001600160a01b038086165f90815260056020526040808220939093559085168152205461139390836112b7565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113e69086815260200190565b60405180910390a35060019392505050565b5f825f0361140757505f61078d565b5f61141283856118d5565b90508261141f85836118ec565b1461083a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107bc565b5f61083a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611601565b6011805460ff60a01b1916600160a01b17905580156114ef576003546114ed90309061010090046001600160a01b031683611315565b505b506011805460ff60a01b19169055565b6001600160a01b0383165f90815260086020526040812054819060ff16156115425761153b6064610ff7600b54866113f890919063ffffffff16565b905061157f565b6001600160a01b0384165f9081526008602052604090205460ff161561157f5761157c6064610ff7600c54866113f890919063ffffffff16565b90505b80156115f757305f9081526005602052604090205461159e90826112b7565b305f81815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115ee9085815260200190565b60405180910390a35b61126d8382611276565b5f81836116215760405162461bcd60e51b81526004016107bc919061162d565b505f61126d84866118ec565b5f6020808352835180828501525f5b818110156116585785810183015185820160400152820161163c565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461168e575f80fd5b919050565b5f80604083850312156116a4575f80fd5b6116ad83611678565b946020939093013593505050565b5f805f606084860312156116cd575f80fd5b6116d684611678565b92506116e460208501611678565b9150604084013590509250925092565b5f60208284031215611704575f80fd5b5035919050565b5f6020828403121561171b575f80fd5b61083a82611678565b5f8060408385031215611735575f80fd5b61173e83611678565b915060208301358015158114611752575f80fd5b809150509250929050565b5f805f6040848603121561176f575f80fd5b833567ffffffffffffffff80821115611786575f80fd5b818601915086601f830112611799575f80fd5b8135818111156117a7575f80fd5b8760208260051b85010111156117bb575f80fd5b6020928301989097509590910135949350505050565b5f80604083850312156117e2575f80fd5b6117eb83611678565b91506117f960208401611678565b90509250929050565b600181811c9082168061181657607f821691505b60208210810361183457634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016118a8576118a8611883565b5060010190565b8082018082111561078d5761078d611883565b8181038181111561078d5761078d611883565b808202811582820484141761078d5761078d611883565b5f8261190657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207875af0cfc77e93f36d67380abdb87988a83587397fd0706b0f9fee49d1fb43564736f6c63430008140033

Deployed Bytecode Sourcemap

14264:9518:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17350:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18644:161;;;;;;;;;;-1:-1:-1;18644:161:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;18644:161:0;1004:187:1;19839:110:0;;;;;;;;;;;;;:::i;:::-;;15344:41;;;;;;;;;;-1:-1:-1;15344:41:0;;;;;;;-1:-1:-1;;;;;15344:41:0;;;;;;-1:-1:-1;;;;;1387:32:1;;;1369:51;;1357:2;1342:18;15344:41:0;1196:230:1;17627:100:0;;;;;;;;;;-1:-1:-1;17707:12:0;;17627:100;;;1577:25:1;;;1565:2;1550:18;17627:100:0;1431:177:1;20223:313:0;;;;;;;;;;-1:-1:-1;20223:313:0;;;;;:::i;:::-;;:::i;15306:29::-;;;;;;;;;;-1:-1:-1;15306:29:0;;;;;;;;14611:71;;;;;;;;;;-1:-1:-1;14611:71:0;;;;-1:-1:-1;;;;;14611:71:0;;;17095:249;;;;;;;;;;-1:-1:-1;17095:249:0;;;;;:::i;:::-;;:::i;19570:128::-;;;;;;;;;;;;;:::i;17536:83::-;;;;;;;;;;-1:-1:-1;17602:9:0;;17536:83;;17602:9;;;;2481:36:1;;2469:2;2454:18;17536:83:0;2339:184:1;18013:218:0;;;;;;;;;;-1:-1:-1;18013:218:0;;;;;:::i;:::-;;:::i;19438:124::-;;;;;;;;;;-1:-1:-1;19438:124:0;;;;;:::i;:::-;;:::i;14879:45::-;;;;;;;;;;-1:-1:-1;14879:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15274:25;;;;;;;;;;;;;;;;15459:40;;;;;;;;;;-1:-1:-1;15459:40:0;;;;-1:-1:-1;;;15459:40:0;;;;;;14822:50;;;;;;;;;;-1:-1:-1;14822:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;19706:125;;;;;;;;;;-1:-1:-1;19706:125:0;;;;;:::i;:::-;;:::i;17735:119::-;;;;;;;;;;-1:-1:-1;17735:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;17828:18:0;17801:7;17828:18;;;:9;:18;;;;;;;17735:119;14510:92;;;;;;;;;;-1:-1:-1;14510:92:0;;;;;;;-1:-1:-1;;;;;14510:92:0;;;15078:53;;;;;;;;;;;;;;;;19301:129;;;;;;;;;;-1:-1:-1;19301:129:0;;;;;:::i;:::-;;:::i;5803:79::-;;;;;;;;;;-1:-1:-1;5841:7:0;5868:6;-1:-1:-1;;;;;5868:6:0;5803:79;;6028:145;;;;;;;;;;;;;:::i;17441:87::-;;;;;;;;;;;;;:::i;18516:120::-;;;;;;;;;;-1:-1:-1;18605:23:0;;18516:120;;16846:241;;;;;;;;;;-1:-1:-1;16846:241:0;;;;;:::i;:::-;;:::i;18239:269::-;;;;;;;;;;-1:-1:-1;18239:269:0;;;;;:::i;:::-;;:::i;20048:167::-;;;;;;;;;;-1:-1:-1;20048:167:0;;;;;:::i;:::-;;:::i;23513:266::-;;;;;;;;;;-1:-1:-1;23513:266:0;;;;;:::i;:::-;;:::i;14933:35::-;;;;;;;;;;;;;;;;15392:26;;;;;;;;;;-1:-1:-1;15392:26:0;;;;-1:-1:-1;;;;;15392:26:0;;;14977:36;;;;;;;;;;;;;;;;15506:45;;;;;;;;;;-1:-1:-1;15506:45:0;;;;-1:-1:-1;;;15506:45:0;;;;;;17862:143;;;;;;;;;;-1:-1:-1;17862:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17970:18:0;;;17943:7;17970:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17862:143;19158:135;;;;;;;;;;-1:-1:-1;19158:135:0;;;;;:::i;:::-;;:::i;15020:51::-;;;;;;;;;;;;;;;;6181:244;;;;;;;;;;-1:-1:-1;6181:244:0;;;;;:::i;:::-;;:::i;17350:83::-;17387:13;17420:5;17413:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17350:83;:::o;18644:161::-;18719:4;18736:39;270:10;18759:7;18768:6;18736:8;:39::i;:::-;-1:-1:-1;18793:4:0;18644:161;;;;;:::o;19839:110::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;;;;;;;;;19889:9:::1;:16:::0;;-1:-1:-1;;19889:16:0::1;19901:4;19889:16;::::0;;19929:12:::1;19916:10;:25:::0;19839:110::o;20223:313::-;20321:4;20338:36;20348:6;20356:9;20367:6;20338:9;:36::i;:::-;-1:-1:-1;20385:121:0;20394:6;270:10;20416:89;20454:6;20416:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20416:19:0;;;;;;:11;:19;;;;;;;;270:10;20416:33;;;;;;;;;;:37;:89::i;:::-;20385:8;:121::i;:::-;-1:-1:-1;20524:4:0;20223:313;;;;;;:::o;17095:249::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;17177:17:::1;:39:::0;;;17227:18:::1;:38:::0;;;17284:24;::::1;;17276:60;;;::::0;-1:-1:-1;;;17276:60:0;;5202:2:1;17276:60:0::1;::::0;::::1;5184:21:1::0;5241:2;5221:18;;;5214:30;-1:-1:-1;;;5260:18:1;;;5253:52;5322:18;;17276:60:0::1;5000:346:1::0;17276:60:0::1;17095:249:::0;:::o;19570:128::-;19677:11;;-1:-1:-1;;;;;19677:11:0;19623:7;17828:18;;;:9;:18;;;;;;19650:12;;:40;;:16;:40::i;:::-;19643:47;;19570:128;:::o;18013:218::-;270:10;18101:4;18150:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18150:34:0;;;;;;;;;;18101:4;;18118:83;;18141:7;;18150:50;;18189:10;18150:38;:50::i;19438:124::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;19520:23:::1;:34:::0;19438:124::o;19706:125::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;19786:15:::1;:37:::0;;-1:-1:-1;;;;;19786:37:0;;::::1;;;-1:-1:-1::0;;;;;;19786:37:0;;::::1;::::0;;;::::1;::::0;;19706:125::o;19301:129::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19390:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;19390:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19301:129::o;6028:145::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;6132:1:::1;6116:6:::0;;6095:40:::1;::::0;-1:-1:-1;;;;;6116:6:0;;::::1;::::0;6095:40:::1;::::0;6132:1;;6095:40:::1;6163:1;6146:19:::0;;-1:-1:-1;;;;;;6146:19:0::1;::::0;;6028:145::o;17441:87::-;17480:13;17513:7;17506:14;;;;;:::i;16846:241::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;16926:16:::1;:37:::0;;;16974:17:::1;:36:::0;;;17050:2:::1;17029:23:::0;::::1;;17021:58;;;::::0;-1:-1:-1;;;17021:58:0;;5553:2:1;17021:58:0::1;::::0;::::1;5535:21:1::0;5592:2;5572:18;;;5565:30;-1:-1:-1;;;5611:18:1;;;5604:51;5672:18;;17021:58:0::1;5351:345:1::0;18239:269:0;18332:4;18349:129;270:10;18372:7;18381:96;18420:15;18381:96;;;;;;;;;;;;;;;;;270:10;18381:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;18381:34:0;;;;;;;;;;;;:38;:96::i;20048:167::-;20126:4;20143:42;270:10;20167:9;20178:6;20143:9;:42::i;23513:266::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;23607:21:::1;:29:::0;;-1:-1:-1;;;;23607:29:0::1;::::0;;23631:5:::1;23647:125;23667:21:::0;;::::1;23647:125;;;23710:50;23725:10;23737;;23748:1;23737:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;23752:7;23710:14;:50::i;:::-;-1:-1:-1::0;23690:3:0;::::1;::::0;::::1;:::i;:::-;;;;23647:125;;;;23513:266:::0;;;:::o;19158:135::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19248:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;19248:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19158:135::o;6181:244::-;5937:6;;-1:-1:-1;;;;;5937:6:0;270:10;5937:22;5929:67;;;;-1:-1:-1;;;5929:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6270:22:0;::::1;6262:73;;;::::0;-1:-1:-1;;;6262:73:0;;6307:2:1;6262:73:0::1;::::0;::::1;6289:21:1::0;6346:2;6326:18;;;6319:30;6385:34;6365:18;;;6358:62;-1:-1:-1;;;6436:18:1;;;6429:36;6482:19;;6262:73:0::1;6105:402:1::0;6262:73:0::1;6372:6;::::0;;6351:38:::1;::::0;-1:-1:-1;;;;;6351:38:0;;::::1;::::0;6372:6;::::1;::::0;6351:38:::1;::::0;::::1;6400:6;:17:::0;;-1:-1:-1;;;;;;6400:17:0::1;-1:-1:-1::0;;;;;6400:17:0;;;::::1;::::0;;;::::1;::::0;;6181:244::o;18813:337::-;-1:-1:-1;;;;;18906:19:0;;18898:68;;;;-1:-1:-1;;;18898:68:0;;6714:2:1;18898:68:0;;;6696:21:1;6753:2;6733:18;;;6726:30;6792:34;6772:18;;;6765:62;-1:-1:-1;;;6843:18:1;;;6836:34;6887:19;;18898:68:0;6512:400:1;18898:68:0;-1:-1:-1;;;;;18985:21:0;;18977:68;;;;-1:-1:-1;;;18977:68:0;;7119:2:1;18977:68:0;;;7101:21:1;7158:2;7138:18;;;7131:30;7197:34;7177:18;;;7170:62;-1:-1:-1;;;7248:18:1;;;7241:32;7290:19;;18977:68:0;6917:398:1;18977:68:0;-1:-1:-1;;;;;19058:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;19110:32;;1577:25:1;;;19110:32:0;;1550:18:1;19110:32:0;;;;;;;18813:337;;;:::o;20548:1830::-;20635:4;-1:-1:-1;;;;;20662:20:0;;20654:70;;;;-1:-1:-1;;;20654:70:0;;7522:2:1;20654:70:0;;;7504:21:1;7561:2;7541:18;;;7534:30;7600:34;7580:18;;;7573:62;-1:-1:-1;;;7651:18:1;;;7644:35;7696:19;;20654:70:0;7320:401:1;20654:70:0;-1:-1:-1;;;;;20743:23:0;;20735:71;;;;-1:-1:-1;;;20735:71:0;;7928:2:1;20735:71:0;;;7910:21:1;7967:2;7947:18;;;7940:30;8006:34;7986:18;;;7979:62;-1:-1:-1;;;8057:18:1;;;8050:33;8100:19;;20735:71:0;7726:399:1;20735:71:0;20825:9;;;;;:38;;-1:-1:-1;;;;;;20838:25:0;;;;;;:17;:25;;;;;;;;20825:38;:70;;;-1:-1:-1;;;;;;20867:28:0;;;;;;:17;:28;;;;;;;;20825:70;20817:106;;;;-1:-1:-1;;;20817:106:0;;8332:2:1;20817:106:0;;;8314:21:1;8371:2;8351:18;;;8344:30;8410:25;8390:18;;;8383:53;8453:18;;20817:106:0;8130:347:1;20817:106:0;-1:-1:-1;;;;;20958:23:0;;;;;;:12;:23;;;;;;;;20957:24;:48;;;;-1:-1:-1;;;;;;20985:20:0;;;;;;:12;:20;;;;;;;;20957:48;:81;;;;-1:-1:-1;21024:10:0;;:14;;21037:1;21024:14;:::i;:::-;21009:12;:29;20957:81;20954:295;;;21054:20;21077:23;21096:3;21077:14;:6;21088:2;21077:10;:14::i;:::-;:18;;:23::i;:::-;21054:46;;21115:53;21130:6;21138:15;;;;;;;;;-1:-1:-1;;;;;21138:15:0;21155:12;21115:14;:53::i;:::-;-1:-1:-1;21183:54:0;21198:6;21206:9;21217:19;21224:12;21217:6;:19;:::i;:::-;21183:14;:54::i;:::-;;21039:210;20954:295;21272:16;;-1:-1:-1;;;21272:16:0;;;;21269:1102;;;21322:41;21337:6;21345:9;21356:6;21322:14;:41::i;:::-;21315:48;;;;21269:1102;21464:4;21415:28;17828:18;;;:9;:18;;;;;;21540:23;;21516:47;;;;;;;21596:44;;-1:-1:-1;21624:16:0;;-1:-1:-1;;;21624:16:0;;;;21623:17;21596:44;:69;;;;-1:-1:-1;;;;;;21645:20:0;;;;;;:12;:20;;;;;;;;21644:21;21596:69;:94;;;;-1:-1:-1;21669:21:0;;-1:-1:-1;;;21669:21:0;;;;21596:94;:116;;;;-1:-1:-1;5841:7:0;5868:6;-1:-1:-1;;;;;21694:18:0;;;5868:6;;21694:18;;21596:116;21592:327;;;21750:25;;-1:-1:-1;;;21750:25:0;;;;21747:97;;;21821:23;;21798:46;;21747:97;21863:36;21878:20;21863:14;:36::i;:::-;21955:53;;;;;;;;;;;-1:-1:-1;;;21955:53:0;;;;;;;;-1:-1:-1;;;;;21955:17:0;;-1:-1:-1;21955:17:0;;;:9;:17;;;;;;;;:53;;21977:6;;21955:21;:53::i;:::-;-1:-1:-1;;;;;21935:17:0;;;;;;:9;:17;;;;;;;;:73;;;;22048:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;22077:28:0;;;;;;:17;:28;;;;;;;;22048:57;22047:147;;22161:33;22169:6;22176:9;22187:6;22161:7;:33::i;:::-;22047:147;;;22152:6;22047:147;-1:-1:-1;;;;;22234:20:0;;;;;;:9;:20;;;;;;22025:169;;-1:-1:-1;22234:37:0;;22025:169;22234:24;:37::i;:::-;-1:-1:-1;;;;;22211:20:0;;;;;;;:9;:20;;;;;;;:60;;;;22293:40;;;;;;;;;;22321:11;1577:25:1;;1565:2;1550:18;;1431:177;22293:40:0;;;;;;;;22355:4;22348:11;;;;;;;1575:192;1661:7;1697:12;1689:6;;;;1681:29;;;;-1:-1:-1;;;1681:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1721:9:0;1733:5;1737:1;1733;:5;:::i;:::-;1721:17;1575:192;-1:-1:-1;;;;;1575:192:0:o;1431:136::-;1489:7;1516:43;1520:1;1523;1516:43;;;;;;;;;;;;;;;;;:3;:43::i;1242:181::-;1300:7;;1332:5;1336:1;1332;:5;:::i;:::-;1320:17;;1361:1;1356;:6;;1348:46;;;;-1:-1:-1;;;1348:46:0;;8947:2:1;1348:46:0;;;8929:21:1;8986:2;8966:18;;;8959:30;9025:29;9005:18;;;8998:57;9072:18;;1348:46:0;8745:351:1;22386:330:0;22516:53;;;;;;;;;;;-1:-1:-1;;;22516:53:0;;;;;;;;-1:-1:-1;;;;;22516:17:0;;22479:4;22516:17;;;:9;:17;;;;;;;:53;;22538:6;;22516:21;:53::i;:::-;-1:-1:-1;;;;;22496:17:0;;;;;;;:9;:17;;;;;;:73;;;;22603:20;;;;;;;:32;;22628:6;22603:24;:32::i;:::-;-1:-1:-1;;;;;22580:20:0;;;;;;;:9;:20;;;;;;;:55;;;;22651:35;;;;;;;;;;22679:6;1577:25:1;;1565:2;1550:18;;1431:177;22651:35:0;;;;;;;;-1:-1:-1;22704:4:0;22386:330;;;;;:::o;1775:250::-;1833:7;1857:1;1862;1857:6;1853:47;;-1:-1:-1;1887:1:0;1880:8;;1853:47;1912:9;1924:5;1928:1;1924;:5;:::i;:::-;1912:17;-1:-1:-1;1957:1:0;1948:5;1952:1;1912:17;1948:5;:::i;:::-;:10;1940:56;;;;-1:-1:-1;;;1940:56:0;;9698:2:1;1940:56:0;;;9680:21:1;9737:2;9717:18;;;9710:30;9776:34;9756:18;;;9749:62;-1:-1:-1;;;9827:18:1;;;9820:31;9868:19;;1940:56:0;9496:397:1;2033:132:0;2091:7;2118:39;2122:1;2125;2118:39;;;;;;;;;;;;;;;;;:3;:39::i;22724:162::-;15974:16;:23;;-1:-1:-1;;;;15974:23:0;-1:-1:-1;;;15974:23:0;;;22799:11;;22796:82:::1;;22854:15;::::0;22825:53:::1;::::0;22848:4:::1;::::0;22854:15:::1;::::0;::::1;-1:-1:-1::0;;;;;22854:15:0::1;22870:7:::0;22825:14:::1;:53::i;:::-;;22796:82;-1:-1:-1::0;16020:16:0;:24;;-1:-1:-1;;;;16020:24:0;;;22724:162::o;22894:611::-;-1:-1:-1;;;;;23046:20:0;;22978:7;23046:20;;;:12;:20;;;;;;22978:7;;23046:20;;23043:223;;;23095:38;23129:3;23095:29;23106:17;;23095:6;:10;;:29;;;;:::i;:38::-;23083:50;;23043:223;;;-1:-1:-1;;;;;23163:23:0;;;;;;:12;:23;;;;;;;;23160:106;;;23215:39;23250:3;23215:30;23226:18;;23215:6;:10;;:30;;;;:::i;:39::-;23203:51;;23160:106;23289:13;;23286:173;;23364:4;23346:24;;;;:9;:24;;;;;;:39;;23375:9;23346:28;:39::i;:::-;23337:4;23319:24;;;;:9;:24;;;;;;;:66;;;;23405:42;;-1:-1:-1;;;;;23405:42:0;;;;;;;23437:9;1577:25:1;;1565:2;1550:18;;1431:177;23405:42:0;;;;;;;;23286:173;23476:21;:6;23487:9;23476:10;:21::i;2173:278::-;2259:7;2294:12;2287:5;2279:28;;;;-1:-1:-1;;;2279:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2318:9:0;2330:5;2334:1;2330;: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;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1613:328::-;1690:6;1698;1706;1759:2;1747:9;1738:7;1734:23;1730:32;1727:52;;;1775:1;1772;1765:12;1727:52;1798:29;1817:9;1798:29;:::i;:::-;1788:39;;1846:38;1880:2;1869:9;1865:18;1846:38;:::i;:::-;1836:48;;1931:2;1920:9;1916:18;1903:32;1893:42;;1613:328;;;;;:::o;2154:180::-;2213:6;2266:2;2254:9;2245:7;2241:23;2237:32;2234:52;;;2282:1;2279;2272:12;2234:52;-1:-1:-1;2305:23:1;;2154:180;-1:-1:-1;2154:180:1:o;2528:186::-;2587:6;2640:2;2628:9;2619:7;2615:23;2611:32;2608:52;;;2656:1;2653;2646:12;2608:52;2679:29;2698:9;2679:29;:::i;2943:347::-;3008:6;3016;3069:2;3057:9;3048:7;3044:23;3040:32;3037:52;;;3085:1;3082;3075:12;3037:52;3108:29;3127:9;3108:29;:::i;:::-;3098:39;;3187:2;3176:9;3172:18;3159:32;3234:5;3227:13;3220:21;3213:5;3210:32;3200:60;;3256:1;3253;3246:12;3200:60;3279:5;3269:15;;;2943:347;;;;;:::o;3295:689::-;3390:6;3398;3406;3459:2;3447:9;3438:7;3434:23;3430:32;3427:52;;;3475:1;3472;3465:12;3427:52;3515:9;3502:23;3544:18;3585:2;3577:6;3574:14;3571:34;;;3601:1;3598;3591:12;3571:34;3639:6;3628:9;3624:22;3614:32;;3684:7;3677:4;3673:2;3669:13;3665:27;3655:55;;3706:1;3703;3696:12;3655:55;3746:2;3733:16;3772:2;3764:6;3761:14;3758:34;;;3788:1;3785;3778:12;3758:34;3843:7;3836:4;3826:6;3823:1;3819:14;3815:2;3811:23;3807:34;3804:47;3801:67;;;3864:1;3861;3854:12;3801:67;3895:4;3887:13;;;;3919:6;;-1:-1:-1;3957:20:1;;;;3944:34;;3295:689;-1:-1:-1;;;;3295:689:1:o;3989:260::-;4057:6;4065;4118:2;4106:9;4097:7;4093:23;4089:32;4086:52;;;4134:1;4131;4124:12;4086:52;4157:29;4176:9;4157:29;:::i;:::-;4147:39;;4205:38;4239:2;4228:9;4224:18;4205:38;:::i;:::-;4195:48;;3989:260;;;;;:::o;4254:380::-;4333:1;4329:12;;;;4376;;;4397:61;;4451:4;4443:6;4439:17;4429:27;;4397:61;4504:2;4496:6;4493:14;4473:18;4470:38;4467:161;;4550:10;4545:3;4541:20;4538:1;4531:31;4585:4;4582:1;4575:15;4613:4;4610:1;4603:15;4467:161;;4254:380;;;:::o;4639:356::-;4841:2;4823:21;;;4860:18;;;4853:30;4919:34;4914:2;4899:18;;4892:62;4986:2;4971:18;;4639:356::o;5701:127::-;5762:10;5757:3;5753:20;5750:1;5743:31;5793:4;5790:1;5783:15;5817:4;5814:1;5807:15;5833:127;5894:10;5889:3;5885:20;5882:1;5875:31;5925:4;5922:1;5915:15;5949:4;5946:1;5939:15;5965:135;6004:3;6025:17;;;6022:43;;6045:18;;:::i;:::-;-1:-1:-1;6092:1:1;6081:13;;5965:135::o;8482:125::-;8547:9;;;8568:10;;;8565:36;;;8581:18;;:::i;8612:128::-;8679:9;;;8700:11;;;8697:37;;;8714:18;;:::i;9101:168::-;9174:9;;;9205;;9222:15;;;9216:22;;9202:37;9192:71;;9243:18;;:::i;9274:217::-;9314:1;9340;9330:132;;9384:10;9379:3;9375:20;9372:1;9365:31;9419:4;9416:1;9409:15;9447:4;9444:1;9437:15;9330:132;-1:-1:-1;9476:9:1;;9274:217::o

Swarm Source

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