ETH Price: $3,618.05 (-2.49%)

Token

ERC-20: Shija Inu (SHIJA)
 

Overview

Max Total Supply

420,000,000 SHIJA

Holders

278

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
348,641.036327656946985844 SHIJA

Value
$0.00
0x3d096dd552d04356331a17ef4f8351fccb01e94d
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:
SHIJAINU

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*
All-in-one. Decentralized, Fun, toolkit for meme tokens
Innovative technology fueled by the Shija token.

https://t.me/shijainu
https://weareshija.com/
*/
pragma solidity ^0.8.17;

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

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

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

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

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

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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;
}

interface IUniswapV2Pair {
    function sync() external;
}

contract SHIJAINU is Context, IERC20, Ownable {
    using SafeMath for uint256;
    IUniswapV2Router02 public uniswapV2Router;

    address public uniswapV2Pair;
    
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;

    string private constant _name = "Shija Inu";
    string private constant _symbol = "SHIJA";
    uint8 private constant _decimals = 18;
    uint256 private _tTotal =  420000000  * 10**_decimals;

    uint256 public _maxWalletAmount = 8400000 * 10**_decimals;
    uint256 public _maxTxAmount = 4200000 * 10**_decimals;
    uint256 public swapTokenAtAmount = 2100000 * 10**_decimals;
    uint256 public forceSwapCount;

    address public liquidityReceiver;
    address public marketingWallet;

    struct BuyFees{
        uint256 liquidity;
        uint256 marketing;
    }

    struct SellFees{
        uint256 liquidity;
        uint256 marketing;
    }

    BuyFees public buyFee;
    SellFees public sellFee;

    uint256 private liquidityFee;
    uint256 private marketingFee;

    bool private swapping;
    uint256 public launchEpoch;
    bool public launched;
    bool stage1;
    bool stage2;
    bool stage3;

    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    constructor (address marketingAddress, address liquidityAddress) {
        marketingWallet = marketingAddress;
        liquidityReceiver = liquidityAddress;
        
        buyFee.liquidity = 2;
        buyFee.marketing = 8;

        sellFee.liquidity = 5;
        sellFee.marketing = 15;

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

        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = _uniswapV2Pair;
        
        _isExcludedFromFee[msg.sender] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0x00)] = true;
        _isExcludedFromFee[address(0xdead)] = true;

        balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }
    
    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFee[address(account)] = excluded;
    }

    receive() external payable {}
    
    function takeBuyFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * buyFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * buyFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken);
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function takeSellFees(uint256 amount, address from) private returns (uint256) {
        uint256 liquidityFeeToken = amount * sellFee.liquidity / 100; 
        uint256 marketingFeeTokens = amount * sellFee.marketing / 100;

        balances[address(this)] += liquidityFeeToken + marketingFeeTokens;
        emit Transfer (from, address(this), marketingFeeTokens + liquidityFeeToken );
        return (amount -liquidityFeeToken -marketingFeeTokens);
    }

    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_tTotal * amountPercent ) / 1000;
        _maxTxAmount = (_tTotal * amountPercent ) / 1000;
    }

    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 _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        balances[from] -= amount;
        uint256 transferAmount = amount;
        
        bool takeFee;

        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            takeFee = true;
        }

        if(from == liquidityReceiver && to == uniswapV2Pair) {
            launchEpoch = block.timestamp;
            launched = true;
        }

        if(launched && block.timestamp > launchEpoch + 1200 && !stage1) {
            buyFee.liquidity = 2;
            buyFee.marketing = 4;

            sellFee.liquidity = 2;
            sellFee.marketing = 8;
            stage1 = true;
        }

        if(launched && block.timestamp > launchEpoch + 2700 && !stage2) {
            buyFee.liquidity = 1;
            buyFee.marketing = 3;

            sellFee.liquidity = 1;
            sellFee.marketing = 3;
            stage2 = true;
        }

        if(launched && block.timestamp > launchEpoch + 2701 && !stage3) {
            _maxWalletAmount = 420000000 * 10**_decimals;
            _maxTxAmount     = 420000000 * 10**_decimals;
            
            buyFee.liquidity = 1;
            buyFee.marketing = 3;

            sellFee.liquidity = 1;
            sellFee.marketing = 3;
            stage3 = true;
        }

        if(takeFee){
            if(to != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
                transferAmount = takeBuyFees(amount, to);
            }

            if(from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                transferAmount = takeSellFees(amount, from);
                forceSwapCount += 1;

               if (balanceOf(address(this)) >= swapTokenAtAmount && !swapping) {
                    swapping = true;
                    swapBack(swapTokenAtAmount);
                    swapping = false;
                    forceSwapCount = 0;
              }

                if (forceSwapCount > 5 && !swapping) {
                    swapping = true;
                    swapBack(balanceOf(address(this)));
                    swapping = false;
                    forceSwapCount = 0;
              }
            }

            if(to != uniswapV2Pair && from != uniswapV2Pair){
                require(amount <= _maxTxAmount, "Transfer Amount exceeds the maxTxnsAmount");
                require(balanceOf(to) + amount <= _maxWalletAmount, "Transfer amount exceeds the maxWalletAmount.");
            }
        }
        
        balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }
   
    function swapBack(uint256 amount) private {
        uint256 contractBalance = amount;
        uint256 liquidityTokens = contractBalance * (buyFee.liquidity + sellFee.liquidity) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 marketingTokens = contractBalance * (buyFee.marketing + sellFee.marketing) / (buyFee.marketing + buyFee.liquidity + sellFee.marketing + sellFee.liquidity);
        uint256 totalTokensToSwap = liquidityTokens + marketingTokens;
        
        uint256 tokensForLiquidity = liquidityTokens.div(2);
        uint256 amountToSwapForETH = contractBalance.sub(tokensForLiquidity);
        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH); 
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        
        uint256 ethForLiquidity = ethBalance.mul(liquidityTokens).div(totalTokensToSwap);
        addLiquidity(tokensForLiquidity, ethForLiquidity);
        payable(marketingWallet).transfer(address(this).balance);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        uniswapV2Router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            liquidityReceiver,
            block.timestamp
        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"},{"internalType":"address","name":"liquidityAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceSwapCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokenAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a620004ea565b6200002290631908b10062000502565b600655620000336012600a620004ea565b620000429062802c8062000502565b600755620000536012600a620004ea565b62000062906240164062000502565b600855620000736012600a620004ea565b620000829062200b2062000502565b6009553480156200009257600080fd5b506040516200204238038062002042833981016040819052620000b59162000539565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b038085166001600160a01b031992831617909255600b8054928416929091169190911790556002600d556008600e556005600f9081556010556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91600091839163c45a01559160048083019260209291908290030181865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b6919062000571565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022a919062000571565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000278573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029e919062000571565b600180546001600160a01b038086166001600160a01b0319928316178355600280549185169190921617905533600090815260056020526040808220805460ff19908116851790915530835290822080548216841790557f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc805482168417905561dead82527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba8054909116909217909155600654919250600390620003603390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620003c391815260200190565b60405180910390a3505050506200058f565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200042c578160001904821115620004105762000410620003d5565b808516156200041e57918102915b93841c9390800290620003f0565b509250929050565b6000826200044557506001620004e4565b816200045457506000620004e4565b81600181146200046d5760028114620004785762000498565b6001915050620004e4565b60ff8411156200048c576200048c620003d5565b50506001821b620004e4565b5060208310610133831016604e8410600b8410161715620004bd575081810a620004e4565b620004c98383620003eb565b8060001904821115620004e057620004e0620003d5565b0290505b92915050565b6000620004fb60ff84168362000434565b9392505050565b8082028115828204841417620004e457620004e4620003d5565b80516001600160a01b03811681146200053457600080fd5b919050565b600080604083850312156200054d57600080fd5b62000558836200051c565b915062000568602084016200051c565b90509250929050565b6000602082840312156200058457600080fd5b620004fb826200051c565b611aa3806200059f6000396000f3fe6080604052600436106101c65760003560e01c806370a08231116100f7578063a3aa748711610095578063c589829d11610064578063c589829d14610548578063dd62ed3e1461055e578063f1d5f517146105a4578063f2fde38b146105c457600080fd5b8063a3aa7487146104d2578063a457c2d7146104e8578063a9059cbb14610508578063c02466681461052857600080fd5b80637d1db4a5116100d15780637d1db4a5146104565780638091f3bf1461046c5780638da5cb5b1461048657806395d89b41146104a457600080fd5b806370a08231146103e9578063715018a61461041f57806375f0a8741461043657600080fd5b80632b14ca5611610164578063470624021161013e578063470624021461035f57806349bd5a5e1461037a5780635342acb41461039a5780636c0a24eb146103d357600080fd5b80632b14ca56146102f3578063313ce56714610323578063395093511461033f57600080fd5b80631694505e116101a05780631694505e1461026657806318160ddd1461029e57806323b872dd146102b3578063264d26dd146102d357600080fd5b806303e403b0146101d257806306fdde03146101fb578063095ea7b31461023657600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e860095481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b506040805180820190915260098152685368696a6120496e7560b81b60208201525b6040516101f291906115f4565b34801561024257600080fd5b5061025661025136600461165a565b6105e4565b60405190151581526020016101f2565b34801561027257600080fd5b50600154610286906001600160a01b031681565b6040516001600160a01b0390911681526020016101f2565b3480156102aa57600080fd5b506006546101e8565b3480156102bf57600080fd5b506102566102ce366004611686565b6105fb565b3480156102df57600080fd5b50600b54610286906001600160a01b031681565b3480156102ff57600080fd5b50600f5460105461030e919082565b604080519283526020830191909152016101f2565b34801561032f57600080fd5b50604051601281526020016101f2565b34801561034b57600080fd5b5061025661035a36600461165a565b61064d565b34801561036b57600080fd5b50600d54600e5461030e919082565b34801561038657600080fd5b50600254610286906001600160a01b031681565b3480156103a657600080fd5b506102566103b53660046116c7565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103df57600080fd5b506101e860075481565b3480156103f557600080fd5b506101e86104043660046116c7565b6001600160a01b031660009081526003602052604090205490565b34801561042b57600080fd5b50610434610684565b005b34801561044257600080fd5b50600c54610286906001600160a01b031681565b34801561046257600080fd5b506101e860085481565b34801561047857600080fd5b506015546102569060ff1681565b34801561049257600080fd5b506000546001600160a01b0316610286565b3480156104b057600080fd5b506040805180820190915260058152645348494a4160d81b6020820152610229565b3480156104de57600080fd5b506101e860145481565b3480156104f457600080fd5b5061025661050336600461165a565b610701565b34801561051457600080fd5b5061025661052336600461165a565b610738565b34801561053457600080fd5b506104346105433660046116e4565b610745565b34801561055457600080fd5b506101e8600a5481565b34801561056a57600080fd5b506101e8610579366004611722565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b057600080fd5b506104346105bf366004611750565b61079a565b3480156105d057600080fd5b506104346105df3660046116c7565b610804565b60006105f13384846108ee565b5060015b92915050565b6000610608848484610a12565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461064391869161063e90869061177f565b6108ee565b5060019392505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f191859061063e908690611792565b6000546001600160a01b031633146106b75760405162461bcd60e51b81526004016106ae906117a5565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f191859061063e90869061177f565b60006105f1338484610a12565b6000546001600160a01b0316331461076f5760405162461bcd60e51b81526004016106ae906117a5565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107c45760405162461bcd60e51b81526004016106ae906117a5565b6103e8816006546107d591906117da565b6107df91906117f1565b6007556006546103e8906107f49083906117da565b6107fe91906117f1565b60085550565b6000546001600160a01b0316331461082e5760405162461bcd60e51b81526004016106ae906117a5565b6001600160a01b0381166108935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ae565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109505760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ae565b6001600160a01b0382166109b15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ae565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a765760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ae565b6001600160a01b038216610ad85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ae565b60008111610b3a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106ae565b6001600160a01b03831660009081526003602052604081208054839290610b6290849061177f565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610bac57506001600160a01b03841660009081526005602052604090205460ff16155b15610bb5575060015b600b546001600160a01b038681169116148015610bdf57506002546001600160a01b038581169116145b15610bf657426014556015805460ff191660011790555b60155460ff168015610c155750601454610c12906104b0611792565b42115b8015610c295750601554610100900460ff16155b15610c52576002600d8190556004600e55600f5560086010556015805461ff0019166101001790555b60155460ff168015610c715750601454610c6e90610a8c611792565b42115b8015610c86575060155462010000900460ff16155b15610cb4576001600d8190556003600e819055600f919091556010556015805462ff00001916620100001790555b60155460ff168015610cd35750601454610cd090610a8d611792565b42115b8015610ce957506015546301000000900460ff16155b15610d5357610cfa6012600a6118f7565b610d0890631908b1006117da565b600755610d176012600a6118f7565b610d2590631908b1006117da565b6008556001600d8190556003600e819055600f919091556010556015805463ff000000191663010000001790555b8015610f91576002546001600160a01b03858116911614610de857600854831115610d905760405162461bcd60e51b81526004016106ae90611906565b60075483610db3866001600160a01b031660009081526003602052604090205490565b610dbd9190611792565b1115610ddb5760405162461bcd60e51b81526004016106ae9061194f565b610de58385611014565b91505b6002546001600160a01b03868116911614610ef357600854831115610e1f5760405162461bcd60e51b81526004016106ae90611906565b610e2983866110eb565b91506001600a6000828254610e3e9190611792565b90915550506009543060009081526003602052604090205410158015610e67575060135460ff16155b15610e95576013805460ff19166001179055600954610e8590611122565b6013805460ff191690556000600a555b6005600a54118015610eaa575060135460ff16155b15610ef3576013805460ff19166001179055610ee3610ede306001600160a01b031660009081526003602052604090205490565b611122565b6013805460ff191690556000600a555b6002546001600160a01b03858116911614801590610f1f57506002546001600160a01b03868116911614155b15610f9157600854831115610f465760405162461bcd60e51b81526004016106ae90611906565b60075483610f69866001600160a01b031660009081526003602052604090205490565b610f739190611792565b1115610f915760405162461bcd60e51b81526004016106ae9061194f565b6001600160a01b03841660009081526003602052604081208054849290610fb9908490611792565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161100591815260200190565b60405180910390a35050505050565b6000806064600d600001548561102a91906117da565b61103491906117f1565b905060006064600d600101548661104b91906117da565b61105591906117f1565b90506110618183611792565b3060009081526003602052604081208054909190611080908490611792565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110bc8585611792565b60405190815260200160405180910390a3806110d8838761177f565b6110e2919061177f565b95945050505050565b6000806064600f600001548561110191906117da565b61110b91906117f1565b905060006064600f600101548661104b91906117da565b600f54601054600d54600e548493600093909290916111419190611792565b61114b9190611792565b6111559190611792565b600f54600d546111659190611792565b61116f90846117da565b61117991906117f1565b600f54601054600d54600e549394506000936111959190611792565b61119f9190611792565b6111a99190611792565b601054600e546111b99190611792565b6111c390856117da565b6111cd91906117f1565b905060006111db8284611792565b905060006111ea84600261127a565b905060006111f886836112c3565b90504761120482611305565b600061121047836112c3565b9050600061122886611222848b61145f565b9061127a565b905061123485826114e1565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561126d573d6000803e3d6000fd5b5050505050505050505050565b60006112bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611595565b9392505050565b60006112bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c3565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061133a5761133a61199b565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b791906119b1565b816001815181106113ca576113ca61199b565b6001600160a01b0392831660209182029290920101526001546113f091309116846108ee565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906114299085906000908690309042906004016119ce565b600060405180830381600087803b15801561144357600080fd5b505af1158015611457573d6000803e3d6000fd5b505050505050565b600082600003611471575060006105f5565b600061147d83856117da565b90508261148a85836117f1565b146112bc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ae565b6001546114f99030906001600160a01b0316846108ee565b600154600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611569573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061158e9190611a3f565b5050505050565b600081836115b65760405162461bcd60e51b81526004016106ae91906115f4565b5060006110e284866117f1565b600081848411156115e75760405162461bcd60e51b81526004016106ae91906115f4565b5060006110e2848661177f565b600060208083528351808285015260005b8181101561162157858101830151858201604001528201611605565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461165757600080fd5b50565b6000806040838503121561166d57600080fd5b823561167881611642565b946020939093013593505050565b60008060006060848603121561169b57600080fd5b83356116a681611642565b925060208401356116b681611642565b929592945050506040919091013590565b6000602082840312156116d957600080fd5b81356112bc81611642565b600080604083850312156116f757600080fd5b823561170281611642565b91506020830135801515811461171757600080fd5b809150509250929050565b6000806040838503121561173557600080fd5b823561174081611642565b9150602083013561171781611642565b60006020828403121561176257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105f5576105f5611769565b808201808211156105f5576105f5611769565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820281158282048414176105f5576105f5611769565b60008261180e57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561184e57816000190482111561183457611834611769565b8085161561184157918102915b93841c9390800290611818565b509250929050565b600082611865575060016105f5565b81611872575060006105f5565b81600181146118885760028114611892576118ae565b60019150506105f5565b60ff8411156118a3576118a3611769565b50506001821b6105f5565b5060208310610133831016604e8410600b84101617156118d1575081810a6105f5565b6118db8383611813565b80600019048211156118ef576118ef611769565b029392505050565b60006112bc60ff841683611856565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119c357600080fd5b81516112bc81611642565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a1e5784516001600160a01b0316835293830193918301916001016119f9565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a5457600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220cd778469c82067cc610876a81043de83050ff6d83b97adb153a7f35e4c0f854b64736f6c63430008110033000000000000000000000000ec65f2f55b17b3b266b469b0e7b41ed493d32fcc000000000000000000000000d5f85acb75dbe2902faac14f82e36ad81c295007

Deployed Bytecode

0x6080604052600436106101c65760003560e01c806370a08231116100f7578063a3aa748711610095578063c589829d11610064578063c589829d14610548578063dd62ed3e1461055e578063f1d5f517146105a4578063f2fde38b146105c457600080fd5b8063a3aa7487146104d2578063a457c2d7146104e8578063a9059cbb14610508578063c02466681461052857600080fd5b80637d1db4a5116100d15780637d1db4a5146104565780638091f3bf1461046c5780638da5cb5b1461048657806395d89b41146104a457600080fd5b806370a08231146103e9578063715018a61461041f57806375f0a8741461043657600080fd5b80632b14ca5611610164578063470624021161013e578063470624021461035f57806349bd5a5e1461037a5780635342acb41461039a5780636c0a24eb146103d357600080fd5b80632b14ca56146102f3578063313ce56714610323578063395093511461033f57600080fd5b80631694505e116101a05780631694505e1461026657806318160ddd1461029e57806323b872dd146102b3578063264d26dd146102d357600080fd5b806303e403b0146101d257806306fdde03146101fb578063095ea7b31461023657600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e860095481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b506040805180820190915260098152685368696a6120496e7560b81b60208201525b6040516101f291906115f4565b34801561024257600080fd5b5061025661025136600461165a565b6105e4565b60405190151581526020016101f2565b34801561027257600080fd5b50600154610286906001600160a01b031681565b6040516001600160a01b0390911681526020016101f2565b3480156102aa57600080fd5b506006546101e8565b3480156102bf57600080fd5b506102566102ce366004611686565b6105fb565b3480156102df57600080fd5b50600b54610286906001600160a01b031681565b3480156102ff57600080fd5b50600f5460105461030e919082565b604080519283526020830191909152016101f2565b34801561032f57600080fd5b50604051601281526020016101f2565b34801561034b57600080fd5b5061025661035a36600461165a565b61064d565b34801561036b57600080fd5b50600d54600e5461030e919082565b34801561038657600080fd5b50600254610286906001600160a01b031681565b3480156103a657600080fd5b506102566103b53660046116c7565b6001600160a01b031660009081526005602052604090205460ff1690565b3480156103df57600080fd5b506101e860075481565b3480156103f557600080fd5b506101e86104043660046116c7565b6001600160a01b031660009081526003602052604090205490565b34801561042b57600080fd5b50610434610684565b005b34801561044257600080fd5b50600c54610286906001600160a01b031681565b34801561046257600080fd5b506101e860085481565b34801561047857600080fd5b506015546102569060ff1681565b34801561049257600080fd5b506000546001600160a01b0316610286565b3480156104b057600080fd5b506040805180820190915260058152645348494a4160d81b6020820152610229565b3480156104de57600080fd5b506101e860145481565b3480156104f457600080fd5b5061025661050336600461165a565b610701565b34801561051457600080fd5b5061025661052336600461165a565b610738565b34801561053457600080fd5b506104346105433660046116e4565b610745565b34801561055457600080fd5b506101e8600a5481565b34801561056a57600080fd5b506101e8610579366004611722565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b057600080fd5b506104346105bf366004611750565b61079a565b3480156105d057600080fd5b506104346105df3660046116c7565b610804565b60006105f13384846108ee565b5060015b92915050565b6000610608848484610a12565b6001600160a01b03841660009081526004602090815260408083203380855292529091205461064391869161063e90869061177f565b6108ee565b5060019392505050565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f191859061063e908690611792565b6000546001600160a01b031633146106b75760405162461bcd60e51b81526004016106ae906117a5565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b3360008181526004602090815260408083206001600160a01b038716845290915281205490916105f191859061063e90869061177f565b60006105f1338484610a12565b6000546001600160a01b0316331461076f5760405162461bcd60e51b81526004016106ae906117a5565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107c45760405162461bcd60e51b81526004016106ae906117a5565b6103e8816006546107d591906117da565b6107df91906117f1565b6007556006546103e8906107f49083906117da565b6107fe91906117f1565b60085550565b6000546001600160a01b0316331461082e5760405162461bcd60e51b81526004016106ae906117a5565b6001600160a01b0381166108935760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106ae565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166109505760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106ae565b6001600160a01b0382166109b15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106ae565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a765760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106ae565b6001600160a01b038216610ad85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106ae565b60008111610b3a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106ae565b6001600160a01b03831660009081526003602052604081208054839290610b6290849061177f565b90915550506001600160a01b03831660009081526005602052604081205482919060ff16158015610bac57506001600160a01b03841660009081526005602052604090205460ff16155b15610bb5575060015b600b546001600160a01b038681169116148015610bdf57506002546001600160a01b038581169116145b15610bf657426014556015805460ff191660011790555b60155460ff168015610c155750601454610c12906104b0611792565b42115b8015610c295750601554610100900460ff16155b15610c52576002600d8190556004600e55600f5560086010556015805461ff0019166101001790555b60155460ff168015610c715750601454610c6e90610a8c611792565b42115b8015610c86575060155462010000900460ff16155b15610cb4576001600d8190556003600e819055600f919091556010556015805462ff00001916620100001790555b60155460ff168015610cd35750601454610cd090610a8d611792565b42115b8015610ce957506015546301000000900460ff16155b15610d5357610cfa6012600a6118f7565b610d0890631908b1006117da565b600755610d176012600a6118f7565b610d2590631908b1006117da565b6008556001600d8190556003600e819055600f919091556010556015805463ff000000191663010000001790555b8015610f91576002546001600160a01b03858116911614610de857600854831115610d905760405162461bcd60e51b81526004016106ae90611906565b60075483610db3866001600160a01b031660009081526003602052604090205490565b610dbd9190611792565b1115610ddb5760405162461bcd60e51b81526004016106ae9061194f565b610de58385611014565b91505b6002546001600160a01b03868116911614610ef357600854831115610e1f5760405162461bcd60e51b81526004016106ae90611906565b610e2983866110eb565b91506001600a6000828254610e3e9190611792565b90915550506009543060009081526003602052604090205410158015610e67575060135460ff16155b15610e95576013805460ff19166001179055600954610e8590611122565b6013805460ff191690556000600a555b6005600a54118015610eaa575060135460ff16155b15610ef3576013805460ff19166001179055610ee3610ede306001600160a01b031660009081526003602052604090205490565b611122565b6013805460ff191690556000600a555b6002546001600160a01b03858116911614801590610f1f57506002546001600160a01b03868116911614155b15610f9157600854831115610f465760405162461bcd60e51b81526004016106ae90611906565b60075483610f69866001600160a01b031660009081526003602052604090205490565b610f739190611792565b1115610f915760405162461bcd60e51b81526004016106ae9061194f565b6001600160a01b03841660009081526003602052604081208054849290610fb9908490611792565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161100591815260200190565b60405180910390a35050505050565b6000806064600d600001548561102a91906117da565b61103491906117f1565b905060006064600d600101548661104b91906117da565b61105591906117f1565b90506110618183611792565b3060009081526003602052604081208054909190611080908490611792565b909155503090506001600160a01b0385167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110bc8585611792565b60405190815260200160405180910390a3806110d8838761177f565b6110e2919061177f565b95945050505050565b6000806064600f600001548561110191906117da565b61110b91906117f1565b905060006064600f600101548661104b91906117da565b600f54601054600d54600e548493600093909290916111419190611792565b61114b9190611792565b6111559190611792565b600f54600d546111659190611792565b61116f90846117da565b61117991906117f1565b600f54601054600d54600e549394506000936111959190611792565b61119f9190611792565b6111a99190611792565b601054600e546111b99190611792565b6111c390856117da565b6111cd91906117f1565b905060006111db8284611792565b905060006111ea84600261127a565b905060006111f886836112c3565b90504761120482611305565b600061121047836112c3565b9050600061122886611222848b61145f565b9061127a565b905061123485826114e1565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561126d573d6000803e3d6000fd5b5050505050505050505050565b60006112bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611595565b9392505050565b60006112bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115c3565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061133a5761133a61199b565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b791906119b1565b816001815181106113ca576113ca61199b565b6001600160a01b0392831660209182029290920101526001546113f091309116846108ee565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906114299085906000908690309042906004016119ce565b600060405180830381600087803b15801561144357600080fd5b505af1158015611457573d6000803e3d6000fd5b505050505050565b600082600003611471575060006105f5565b600061147d83856117da565b90508261148a85836117f1565b146112bc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106ae565b6001546114f99030906001600160a01b0316846108ee565b600154600b5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611569573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061158e9190611a3f565b5050505050565b600081836115b65760405162461bcd60e51b81526004016106ae91906115f4565b5060006110e284866117f1565b600081848411156115e75760405162461bcd60e51b81526004016106ae91906115f4565b5060006110e2848661177f565b600060208083528351808285015260005b8181101561162157858101830151858201604001528201611605565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461165757600080fd5b50565b6000806040838503121561166d57600080fd5b823561167881611642565b946020939093013593505050565b60008060006060848603121561169b57600080fd5b83356116a681611642565b925060208401356116b681611642565b929592945050506040919091013590565b6000602082840312156116d957600080fd5b81356112bc81611642565b600080604083850312156116f757600080fd5b823561170281611642565b91506020830135801515811461171757600080fd5b809150509250929050565b6000806040838503121561173557600080fd5b823561174081611642565b9150602083013561171781611642565b60006020828403121561176257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105f5576105f5611769565b808201808211156105f5576105f5611769565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80820281158282048414176105f5576105f5611769565b60008261180e57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561184e57816000190482111561183457611834611769565b8085161561184157918102915b93841c9390800290611818565b509250929050565b600082611865575060016105f5565b81611872575060006105f5565b81600181146118885760028114611892576118ae565b60019150506105f5565b60ff8411156118a3576118a3611769565b50506001821b6105f5565b5060208310610133831016604e8410600b84101617156118d1575081810a6105f5565b6118db8383611813565b80600019048211156118ef576118ef611769565b029392505050565b60006112bc60ff841683611856565b60208082526029908201527f5472616e7366657220416d6f756e74206578636565647320746865206d6178546040820152681e1b9cd05b5bdd5b9d60ba1b606082015260800190565b6020808252602c908201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760408201526b30b63632ba20b6b7bab73a1760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119c357600080fd5b81516112bc81611642565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a1e5784516001600160a01b0316835293830193918301916001016119f9565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a5457600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220cd778469c82067cc610876a81043de83050ff6d83b97adb153a7f35e4c0f854b64736f6c63430008110033

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

000000000000000000000000ec65f2f55b17b3b266b469b0e7b41ed493d32fcc000000000000000000000000d5f85acb75dbe2902faac14f82e36ad81c295007

-----Decoded View---------------
Arg [0] : marketingAddress (address): 0xeC65F2F55B17b3B266b469B0E7B41ed493d32FCc
Arg [1] : liquidityAddress (address): 0xD5F85AcB75DBe2902faAc14F82E36aD81c295007

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ec65f2f55b17b3b266b469b0e7b41ed493d32fcc
Arg [1] : 000000000000000000000000d5f85acb75dbe2902faac14f82e36ad81c295007


Deployed Bytecode Sourcemap

4809:11034:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5503:58;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5503:58:0;;;;;;;;7197:83;;;;;;;;;;-1:-1:-1;7267:5:0;;;;;;;;;;;;-1:-1:-1;;;7267:5:0;;;;7197:83;;;;;;;:::i;8029:161::-;;;;;;;;;;-1:-1:-1;8029:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;8029:161:0;1205:187:1;4895:41:0;;;;;;;;;;-1:-1:-1;4895:41:0;;;;-1:-1:-1;;;;;4895:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;4895:41:0;1397:229:1;7474:95:0;;;;;;;;;;-1:-1:-1;7554:7:0;;7474:95;;8198:266;;;;;;;;;;-1:-1:-1;8198:266:0;;;;;:::i;:::-;;:::i;5606:32::-;;;;;;;;;;-1:-1:-1;5606:32:0;;;;-1:-1:-1;;;;;5606:32:0;;;5885:23;;;;;;;;;;-1:-1:-1;5885:23:0;;;;;;;;;;;;;2474:25:1;;;2530:2;2515:18;;2508:34;;;;2447:18;5885:23:0;2300:248:1;7383:83:0;;;;;;;;;;-1:-1:-1;7383:83:0;;5308:2;2695:36:1;;2683:2;2668:18;7383:83:0;2553:184:1;8472:215:0;;;;;;;;;;-1:-1:-1;8472:215:0;;;;;:::i;:::-;;:::i;5857:21::-;;;;;;;;;;-1:-1:-1;5857:21:0;;;;;;;;;4945:28;;;;;;;;;;-1:-1:-1;4945:28:0;;;;-1:-1:-1;;;;;4945:28:0;;;10053:123;;;;;;;;;;-1:-1:-1;10053:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10141:27:0;10117:4;10141:27;;;:18;:27;;;;;;;;;10053:123;5379:57;;;;;;;;;;;;;;;;7577:118;;;;;;;;;;-1:-1:-1;7577:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;7670:17:0;7643:7;7670:17;;;:8;:17;;;;;;;7577:118;3270:148;;;;;;;;;;;;;:::i;:::-;;5645:30;;;;;;;;;;-1:-1:-1;5645:30:0;;;;-1:-1:-1;;;;;5645:30:0;;;5443:53;;;;;;;;;;;;;;;;6050:20;;;;;;;;;;-1:-1:-1;6050:20:0;;;;;;;;3056:79;;;;;;;;;;-1:-1:-1;3094:7:0;3121:6;-1:-1:-1;;;;;3121:6:0;3056:79;;7288:87;;;;;;;;;;-1:-1:-1;7360:7:0;;;;;;;;;;;;-1:-1:-1;;;7360:7:0;;;;7288:87;;6017:26;;;;;;;;;;;;;;;;8695:225;;;;;;;;;;-1:-1:-1;8695:225:0;;;;;:::i;:::-;;:::i;7703:167::-;;;;;;;;;;-1:-1:-1;7703:167:0;;;;;:::i;:::-;;:::i;8932:140::-;;;;;;;;;;-1:-1:-1;8932:140:0;;;;;:::i;:::-;;:::i;5568:29::-;;;;;;;;;;;;;;;;7878:143;;;;;;;;;;-1:-1:-1;7878:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7986:18:0;;;7959:7;7986:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7878:143;10184:196;;;;;;;;;;-1:-1:-1;10184:196:0;;;;;:::i;:::-;;:::i;3426:244::-;;;;;;;;;;-1:-1:-1;3426:244:0;;;;;:::i;:::-;;:::i;8029:161::-;8104:4;8121:39;2588:10;8144:7;8153:6;8121:8;:39::i;:::-;-1:-1:-1;8178:4:0;8029:161;;;;;:::o;8198:266::-;8296:4;8313:36;8323:6;8331:9;8342:6;8313:9;:36::i;:::-;-1:-1:-1;;;;;8391:19:0;;;;;;:11;:19;;;;;;;;2588:10;8391:33;;;;;;;;;8360:74;;8369:6;;8391:42;;8427:6;;8391:42;:::i;:::-;8360:8;:74::i;:::-;-1:-1:-1;8452:4:0;8198:266;;;;;:::o;8472:215::-;2588:10;8560:4;8609:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8609:34:0;;;;;;;;;;8560:4;;8577:80;;8600:7;;8609:47;;8646:10;;8609:47;:::i;3270:148::-;3183:6;;-1:-1:-1;;;;;3183:6:0;2588:10;3183:22;3175:67;;;;-1:-1:-1;;;3175:67:0;;;;;;;:::i;:::-;;;;;;;;;3377:1:::1;3361:6:::0;;3340:40:::1;::::0;-1:-1:-1;;;;;3361:6:0;;::::1;::::0;3340:40:::1;::::0;3377:1;;3340:40:::1;3408:1;3391:19:::0;;-1:-1:-1;;;;;;3391:19:0::1;::::0;;3270:148::o;8695:225::-;2588:10;8788:4;8837:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8837:34:0;;;;;;;;;;8788:4;;8805:85;;8828:7;;8837:52;;8874:15;;8837:52;:::i;7703:167::-;7781:4;7798:42;2588:10;7822:9;7833:6;7798:9;:42::i;8932:140::-;3183:6;;-1:-1:-1;;;;;3183:6:0;2588:10;3183:22;3175:67;;;;-1:-1:-1;;;3175:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9017:36:0;;;::::1;;::::0;;;:18:::1;:36;::::0;;;;:47;;-1:-1:-1;;9017:47:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8932:140::o;10184:196::-;3183:6;;-1:-1:-1;;;;;3183:6:0;2588:10;3183:22;3175:67;;;;-1:-1:-1;;;3175:67:0;;;;;;;:::i;:::-;10309:4:::1;10291:13;10281:7;;:23;;;;:::i;:::-;10280:33;;;;:::i;:::-;10261:16;:52:::0;10340:7:::1;::::0;10368:4:::1;::::0;10340:23:::1;::::0;10350:13;;10340:23:::1;:::i;:::-;10339:33;;;;:::i;:::-;10324:12;:48:::0;-1:-1:-1;10184:196:0:o;3426:244::-;3183:6;;-1:-1:-1;;;;;3183:6:0;2588:10;3183:22;3175:67;;;;-1:-1:-1;;;3175:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3515:22:0;::::1;3507:73;;;::::0;-1:-1:-1;;;3507:73:0;;5346:2:1;3507:73:0::1;::::0;::::1;5328:21:1::0;5385:2;5365:18;;;5358:30;5424:34;5404:18;;;5397:62;-1:-1:-1;;;5475:18:1;;;5468:36;5521:19;;3507:73:0::1;5144:402:1::0;3507:73:0::1;3617:6;::::0;;3596:38:::1;::::0;-1:-1:-1;;;;;3596:38:0;;::::1;::::0;3617:6;::::1;::::0;3596:38:::1;::::0;::::1;3645:6;:17:::0;;-1:-1:-1;;;;;;3645:17:0::1;-1:-1:-1::0;;;;;3645:17:0;;;::::1;::::0;;;::::1;::::0;;3426:244::o;10388:337::-;-1:-1:-1;;;;;10481:19:0;;10473:68;;;;-1:-1:-1;;;10473:68:0;;5753:2:1;10473:68:0;;;5735:21:1;5792:2;5772:18;;;5765:30;5831:34;5811:18;;;5804:62;-1:-1:-1;;;5882:18:1;;;5875:34;5926:19;;10473:68:0;5551:400:1;10473:68:0;-1:-1:-1;;;;;10560:21:0;;10552:68;;;;-1:-1:-1;;;10552:68:0;;6158:2:1;10552:68:0;;;6140:21:1;6197:2;6177:18;;;6170:30;6236:34;6216:18;;;6209:62;-1:-1:-1;;;6287:18:1;;;6280:32;6329:19;;10552:68:0;5956:398:1;10552:68:0;-1:-1:-1;;;;;10633:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10685:32;;160:25:1;;;10685:32:0;;133:18:1;10685:32:0;;;;;;;10388:337;;;:::o;10733:3157::-;-1:-1:-1;;;;;10855:18:0;;10847:68;;;;-1:-1:-1;;;10847:68:0;;6561:2:1;10847:68:0;;;6543:21:1;6600:2;6580:18;;;6573:30;6639:34;6619:18;;;6612:62;-1:-1:-1;;;6690:18:1;;;6683:35;6735:19;;10847:68:0;6359:401:1;10847:68:0;-1:-1:-1;;;;;10934:16:0;;10926:64;;;;-1:-1:-1;;;10926:64:0;;6967:2:1;10926:64:0;;;6949:21:1;7006:2;6986:18;;;6979:30;7045:34;7025:18;;;7018:62;-1:-1:-1;;;7096:18:1;;;7089:33;7139:19;;10926:64:0;6765:399:1;10926:64:0;11018:1;11009:6;:10;11001:64;;;;-1:-1:-1;;;11001:64:0;;7371:2:1;11001:64:0;;;7353:21:1;7410:2;7390:18;;;7383:30;7449:34;7429:18;;;7422:62;-1:-1:-1;;;7500:18:1;;;7493:39;7549:19;;11001:64:0;7169:405:1;11001:64:0;-1:-1:-1;;;;;11086:14:0;;;;;;:8;:14;;;;;:24;;11104:6;;11086:14;:24;;11104:6;;11086:24;:::i;:::-;;;;-1:-1:-1;;;;;;;11202:24:0;;11121:22;11202:24;;;:18;:24;;;;;;11146:6;;11121:22;11202:24;;11201:25;:52;;;;-1:-1:-1;;;;;;11231:22:0;;;;;;:18;:22;;;;;;;;11230:23;11201:52;11198:97;;;-1:-1:-1;11279:4:0;11198:97;11318:17;;-1:-1:-1;;;;;11310:25:0;;;11318:17;;11310:25;:48;;;;-1:-1:-1;11345:13:0;;-1:-1:-1;;;;;11339:19:0;;;11345:13;;11339:19;11310:48;11307:139;;;11389:15;11375:11;:29;11419:8;:15;;-1:-1:-1;;11419:15:0;11430:4;11419:15;;;11307:139;11461:8;;;;:48;;;;-1:-1:-1;11491:11:0;;:18;;11505:4;11491:18;:::i;:::-;11473:15;:36;11461:48;:59;;;;-1:-1:-1;11514:6:0;;;;;;;11513:7;11461:59;11458:248;;;11556:1;11537:6;:20;;;11591:1;11572:16;:20;11609:7;:21;11665:1;11645:17;:21;11681:6;:13;;-1:-1:-1;;11681:13:0;;;;;11458:248;11721:8;;;;:48;;;;-1:-1:-1;11751:11:0;;:18;;11765:4;11751:18;:::i;:::-;11733:15;:36;11721:48;:59;;;;-1:-1:-1;11774:6:0;;;;;;;11773:7;11721:59;11718:248;;;11816:1;11797:6;:20;;;11851:1;11832:16;:20;;;11869:7;:21;;;;11905:17;:21;11941:6;:13;;-1:-1:-1;;11941:13:0;;;;;11718:248;11981:8;;;;:48;;;;-1:-1:-1;12011:11:0;;:18;;12025:4;12011:18;:::i;:::-;11993:15;:36;11981:48;:59;;;;-1:-1:-1;12034:6:0;;;;;;;12033:7;11981:59;11978:380;;;12088:13;5308:2;12088;:13;:::i;:::-;12076:25;;:9;:25;:::i;:::-;12057:16;:44;12147:13;5308:2;12147;:13;:::i;:::-;12135:25;;:9;:25;:::i;:::-;12116:12;:44;12208:1;12189:6;:20;;;12243:1;12224:16;:20;;;12261:7;:21;;;;12297:17;:21;12333:6;:13;;-1:-1:-1;;12333:13:0;;;;;11978:380;12373:7;12370:1412;;;12405:13;;-1:-1:-1;;;;;12399:19:0;;;12405:13;;12399:19;12396:311;;12456:12;;12446:6;:22;;12438:76;;;;-1:-1:-1;;;12438:76:0;;;;;;;:::i;:::-;12567:16;;12557:6;12541:13;12551:2;-1:-1:-1;;;;;7670:17:0;7643:7;7670:17;;;:8;:17;;;;;;;7577:118;12541:13;:22;;;;:::i;:::-;:42;;12533:99;;;;-1:-1:-1;;;12533:99:0;;;;;;;:::i;:::-;12668:23;12680:6;12688:2;12668:11;:23::i;:::-;12651:40;;12396:311;12734:13;;-1:-1:-1;;;;;12726:21:0;;;12734:13;;12726:21;12723:755;;12785:12;;12775:6;:22;;12767:76;;;;-1:-1:-1;;;12767:76:0;;;;;;;:::i;:::-;12879:26;12892:6;12900:4;12879:12;:26::i;:::-;12862:43;;12942:1;12924:14;;:19;;;;;;;:::i;:::-;;;;-1:-1:-1;;12995:17:0;;12985:4;7643:7;7670:17;;;:8;:17;;;;;;12967:45;;:58;;;;-1:-1:-1;13017:8:0;;;;13016:9;12967:58;12963:250;;;13050:8;:15;;-1:-1:-1;;13050:15:0;13061:4;13050:15;;;13097:17;;13088:27;;:8;:27::i;:::-;13138:8;:16;;-1:-1:-1;;13138:16:0;;;13149:5;13177:14;:18;12963:250;13254:1;13237:14;;:18;:31;;;;-1:-1:-1;13260:8:0;;;;13259:9;13237:31;13233:230;;;13293:8;:15;;-1:-1:-1;;13293:15:0;13304:4;13293:15;;;13331:34;13340:24;13358:4;-1:-1:-1;;;;;7670:17:0;7643:7;7670:17;;;:8;:17;;;;;;;7577:118;13340:24;13331:8;:34::i;:::-;13388:8;:16;;-1:-1:-1;;13388:16:0;;;13399:5;13427:14;:18;13233:230;13503:13;;-1:-1:-1;;;;;13497:19:0;;;13503:13;;13497:19;;;;:44;;-1:-1:-1;13528:13:0;;-1:-1:-1;;;;;13520:21:0;;;13528:13;;13520:21;;13497:44;13494:277;;;13579:12;;13569:6;:22;;13561:76;;;;-1:-1:-1;;;13561:76:0;;;;;;;:::i;:::-;13690:16;;13680:6;13664:13;13674:2;-1:-1:-1;;;;;7670:17:0;7643:7;7670:17;;;:8;:17;;;;;;;7577:118;13664:13;:22;;;;:::i;:::-;:42;;13656:99;;;;-1:-1:-1;;;13656:99:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13802:12:0;;;;;;:8;:12;;;;;:30;;13818:14;;13802:12;:30;;13818:14;;13802:30;:::i;:::-;;;;;;;;13863:2;-1:-1:-1;;;;;13848:34:0;13857:4;-1:-1:-1;;;;;13848:34:0;;13867:14;13848:34;;;;160:25:1;;148:2;133:18;;14:177;13848:34:0;;;;;;;;10836:3054;;10733:3157;;;:::o;9121:456::-;9189:7;9209:25;9265:3;9246:6;:16;;;9237:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9209:59;;9280:26;9337:3;9318:6;:16;;;9309:6;:25;;;;:::i;:::-;:31;;;;:::i;:::-;9280:60;-1:-1:-1;9380:38:0;9280:60;9380:17;:38;:::i;:::-;9370:4;9353:23;;;;:8;:23;;;;;:65;;:23;;;:65;;;;;:::i;:::-;;;;-1:-1:-1;9458:4:0;;-1:-1:-1;;;;;;9434:70:0;;;9465:38;9486:17;9465:18;:38;:::i;:::-;9434:70;;160:25:1;;;148:2;133:18;9434:70:0;;;;;;;9550:18;9523:25;9531:17;9523:6;:25;:::i;:::-;:45;;;;:::i;:::-;9515:54;9121:456;-1:-1:-1;;;;;9121:456:0:o;9585:460::-;9654:7;9674:25;9731:3;9711:7;:17;;;9702:6;:26;;;;:::i;:::-;:32;;;;:::i;:::-;9674:60;;9746:26;9804:3;9784:7;:17;;;9775:6;:26;;;;:::i;13901:1074::-;14141:7;:17;14121;;14102:6;:16;14083;;13980:6;;13954:23;;14141:17;;14121;;14083:35;;14102:16;14083:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;14061:7;:17;14042:6;:16;:36;;14061:17;14042:36;:::i;:::-;14023:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;14314:7;:17;14294;;14275:6;:16;14256;;13997:162;;-1:-1:-1;14170:23:0;;14256:35;;14275:16;14256:35;:::i;:::-;:55;;;;:::i;:::-;:75;;;;:::i;:::-;14234:17;;14215:16;;:36;;14234:17;14215:36;:::i;:::-;14196:56;;:15;:56;:::i;:::-;:136;;;;:::i;:::-;14170:162;-1:-1:-1;14343:25:0;14371:33;14170:162;14371:15;:33;:::i;:::-;14343:61;-1:-1:-1;14425:26:0;14454:22;:15;14474:1;14454:19;:22::i;:::-;14425:51;-1:-1:-1;14487:26:0;14516:39;:15;14425:51;14516:19;:39::i;:::-;14487:68;-1:-1:-1;14594:21:0;14626:36;14487:68;14626:16;:36::i;:::-;14674:18;14695:44;:21;14721:17;14695:25;:44::i;:::-;14674:65;-1:-1:-1;14760:23:0;14786:54;14822:17;14786:31;14674:65;14801:15;14786:14;:31::i;:::-;:35;;:54::i;:::-;14760:80;;14851:49;14864:18;14884:15;14851:12;:49::i;:::-;14919:15;;14911:56;;-1:-1:-1;;;;;14919:15:0;;;;14945:21;14911:56;;;;;14919:15;14911:56;14919:15;14911:56;14945:21;14919:15;14911:56;;;;;;;;;;;;;;;;;;;;;13943:1032;;;;;;;;;13901:1074;:::o;1722:132::-;1780:7;1807:39;1811:1;1814;1807:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1800:46;1722:132;-1:-1:-1;;;1722:132:0:o;1120:136::-;1178:7;1205:43;1209:1;1212;1205:43;;;;;;;;;;;;;;;;;:3;:43::i;14983:475::-;15073:16;;;15087:1;15073:16;;;;;;;;15049:21;;15073:16;;;;;;;;;;-1:-1:-1;15073:16:0;15049:40;;15118:4;15100;15105:1;15100:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15100:23:0;;;:7;;;;;;;;;;:23;;;;15144:15;;:22;;;-1:-1:-1;;;15144:22:0;;;;:15;;;;;:20;;:22;;;;;15100:7;;15144:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15134:4;15139:1;15134:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15134:32:0;;;:7;;;;;;;;;:32;15211:15;;15179:62;;15196:4;;15211:15;15229:11;15179:8;:62::i;:::-;15254:15;;:196;;-1:-1:-1;;;15254:196:0;;-1:-1:-1;;;;;15254:15:0;;;;:66;;:196;;15335:11;;15254:15;;15377:4;;15404;;15424:15;;15254:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15038:420;14983:475;:::o;1464:250::-;1522:7;1546:1;1551;1546:6;1542:47;;-1:-1:-1;1576:1:0;1569:8;;1542:47;1601:9;1613:5;1617:1;1613;:5;:::i;:::-;1601:17;-1:-1:-1;1646:1:0;1637:5;1641:1;1601:17;1637:5;:::i;:::-;:10;1629:56;;;;-1:-1:-1;;;1629:56:0;;11492:2:1;1629:56:0;;;11474:21:1;11531:2;11511:18;;;11504:30;11570:34;11550:18;;;11543:62;-1:-1:-1;;;11621:18:1;;;11614:31;11662:19;;1629:56:0;11290:397:1;15466:374:0;15579:15;;15547:62;;15564:4;;-1:-1:-1;;;;;15579:15:0;15597:11;15547:8;:62::i;:::-;15622:15;;15774:17;;15622:210;;-1:-1:-1;;;15622:210:0;;15696:4;15622:210;;;12033:34:1;12083:18;;;12076:34;;;15622:15:0;12126:18:1;;;12119:34;;;12169:18;;;12162:34;-1:-1:-1;;;;;15774:17:0;;;12212:19:1;;;12205:44;15806:15:0;12265:19:1;;;12258:35;15622:15:0;;;:31;;15662:9;;11967:19:1;;15622:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15466:374;;:::o;1862:278::-;1948:7;1983:12;1976:5;1968:28;;;;-1:-1:-1;;;1968:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2007:9:0;2019:5;2023:1;2019;:5;:::i;1264:192::-;1350:7;1386:12;1378:6;;;;1370:29;;;;-1:-1:-1;;;1370:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1410:9:0;1422:5;1426:1;1422;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2742:247::-;2801:6;2854:2;2842:9;2833:7;2829:23;2825:32;2822:52;;;2870:1;2867;2860:12;2822:52;2909:9;2896:23;2928:31;2953:5;2928:31;:::i;2994:416::-;3059:6;3067;3120:2;3108:9;3099:7;3095:23;3091:32;3088:52;;;3136:1;3133;3126:12;3088:52;3175:9;3162:23;3194:31;3219:5;3194:31;:::i;:::-;3244:5;-1:-1:-1;3301:2:1;3286:18;;3273:32;3343:15;;3336:23;3324:36;;3314:64;;3374:1;3371;3364:12;3314:64;3397:7;3387:17;;;2994:416;;;;;:::o;3415:388::-;3483:6;3491;3544:2;3532:9;3523:7;3519:23;3515:32;3512:52;;;3560:1;3557;3550:12;3512:52;3599:9;3586:23;3618:31;3643:5;3618:31;:::i;:::-;3668:5;-1:-1:-1;3725:2:1;3710:18;;3697:32;3738:33;3697:32;3738:33;:::i;3808:180::-;3867:6;3920:2;3908:9;3899:7;3895:23;3891:32;3888:52;;;3936:1;3933;3926:12;3888:52;-1:-1:-1;3959:23:1;;3808:180;-1:-1:-1;3808:180:1:o;3993:127::-;4054:10;4049:3;4045:20;4042:1;4035:31;4085:4;4082:1;4075:15;4109:4;4106:1;4099:15;4125:128;4192:9;;;4213:11;;;4210:37;;;4227:18;;:::i;4258:125::-;4323:9;;;4344:10;;;4341:36;;;4357:18;;:::i;4388:356::-;4590:2;4572:21;;;4609:18;;;4602:30;4668:34;4663:2;4648:18;;4641:62;4735:2;4720:18;;4388:356::o;4749:168::-;4822:9;;;4853;;4870:15;;;4864:22;;4850:37;4840:71;;4891:18;;:::i;4922:217::-;4962:1;4988;4978:132;;5032:10;5027:3;5023:20;5020:1;5013:31;5067:4;5064:1;5057:15;5095:4;5092:1;5085:15;4978:132;-1:-1:-1;5124:9:1;;4922:217::o;7579:422::-;7668:1;7711:5;7668:1;7725:270;7746:7;7736:8;7733:21;7725:270;;;7805:4;7801:1;7797:6;7793:17;7787:4;7784:27;7781:53;;;7814:18;;:::i;:::-;7864:7;7854:8;7850:22;7847:55;;;7884:16;;;;7847:55;7963:22;;;;7923:15;;;;7725:270;;;7729:3;7579:422;;;;;:::o;8006:806::-;8055:5;8085:8;8075:80;;-1:-1:-1;8126:1:1;8140:5;;8075:80;8174:4;8164:76;;-1:-1:-1;8211:1:1;8225:5;;8164:76;8256:4;8274:1;8269:59;;;;8342:1;8337:130;;;;8249:218;;8269:59;8299:1;8290:10;;8313:5;;;8337:130;8374:3;8364:8;8361:17;8358:43;;;8381:18;;:::i;:::-;-1:-1:-1;;8437:1:1;8423:16;;8452:5;;8249:218;;8551:2;8541:8;8538:16;8532:3;8526:4;8523:13;8519:36;8513:2;8503:8;8500:16;8495:2;8489:4;8486:12;8482:35;8479:77;8476:159;;;-1:-1:-1;8588:19:1;;;8620:5;;8476:159;8667:34;8692:8;8686:4;8667:34;:::i;:::-;8737:6;8733:1;8729:6;8725:19;8716:7;8713:32;8710:58;;;8748:18;;:::i;:::-;8786:20;;8006:806;-1:-1:-1;;;8006:806:1:o;8817:140::-;8875:5;8904:47;8945:4;8935:8;8931:19;8925:4;8904:47;:::i;8962:405::-;9164:2;9146:21;;;9203:2;9183:18;;;9176:30;9242:34;9237:2;9222:18;;9215:62;-1:-1:-1;;;9308:2:1;9293:18;;9286:39;9357:3;9342:19;;8962:405::o;9372:408::-;9574:2;9556:21;;;9613:2;9593:18;;;9586:30;9652:34;9647:2;9632:18;;9625:62;-1:-1:-1;;;9718:2:1;9703:18;;9696:42;9770:3;9755:19;;9372:408::o;9917:127::-;9978:10;9973:3;9969:20;9966:1;9959:31;10009:4;10006:1;9999:15;10033:4;10030:1;10023:15;10049:251;10119:6;10172:2;10160:9;10151:7;10147:23;10143:32;10140:52;;;10188:1;10185;10178:12;10140:52;10220:9;10214:16;10239:31;10264:5;10239:31;:::i;10305:980::-;10567:4;10615:3;10604:9;10600:19;10646:6;10635:9;10628:25;10672:2;10710:6;10705:2;10694:9;10690:18;10683:34;10753:3;10748:2;10737:9;10733:18;10726:31;10777:6;10812;10806:13;10843:6;10835;10828:22;10881:3;10870:9;10866:19;10859:26;;10920:2;10912:6;10908:15;10894:29;;10941:1;10951:195;10965:6;10962:1;10959:13;10951:195;;;11030:13;;-1:-1:-1;;;;;11026:39:1;11014:52;;11121:15;;;;11086:12;;;;11062:1;10980:9;10951:195;;;-1:-1:-1;;;;;;;11202:32:1;;;;11197:2;11182:18;;11175:60;-1:-1:-1;;;11266:3:1;11251:19;11244:35;11163:3;10305:980;-1:-1:-1;;;10305:980:1:o;12304:306::-;12392:6;12400;12408;12461:2;12449:9;12440:7;12436:23;12432:32;12429:52;;;12477:1;12474;12467:12;12429:52;12506:9;12500:16;12490:26;;12556:2;12545:9;12541:18;12535:25;12525:35;;12600:2;12589:9;12585:18;12579:25;12569:35;;12304:306;;;;;:::o

Swarm Source

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