ETH Price: $2,604.38 (+0.55%)

Token

Democratic Republic of Jeetistan (JEETISTAN)
 

Overview

Max Total Supply

100,000,000,000 JEETISTAN

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
586,180,565.372174119 JEETISTAN

Value
$0.00
0x9b115181e91678ef3f2ac395de16cc622cf9418c
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:
JEETISTAN

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*
Welcome to the Republic of JEETISTAN. 

Telegram: t.me/+g1PfHgqcQmo3ZWNk
Twitter: twitter.com/jeetistan
Webiste: jeetistan.world
*/

pragma solidity ^0.8.9; 

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

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

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

}

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract JEETISTAN is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Democratic Republic of Jeetistan";
    string private constant _symbol = "JEETISTAN";
    uint8 private constant _decimals = 9;
    mapping (address => bool) private preTrader;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private launchBlock;
    uint256 private constant _tTotal = 100000000000 * 10**9;
    uint256 private _tFeeTotal;
    uint256 private _taxFeeOnBuy = 15;
    uint256 private _taxFeeOnSell = 28;

    // last buyer of minimum amount
    address public latestBuyer = address(0);

    //Original Fee
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previoustaxFee = _taxFee;

    mapping (address => uint256) public _buyMap;

    address payable private _marketingAddress = payable(0xCCDAc2325BFbb5D9BAad6D73700e0D49c9595F00);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    address private constant swapRouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    bool private tradingOpen = false;
    bool private startGame = false;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 1000000000 * 10**9;
    uint256 public _maxWalletSize = 1000000000 * 10**9;
    uint256 public _swapTokensAtAmount = 100000000 * 10**9;
    uint256 public _minBuyGame = 10000000 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(uint256 _launcblock, address[] memory addrs) {
        allowPreTrading(addrs);
        launchBlock = _launcblock;


        _tOwned[_msgSender()] = _tTotal;

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

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;

        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 pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[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;
    }

    // start game
    function openGame() external onlyOwner {
        startGame = 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 removeAllFee() private {
        if (_taxFee == 0) return;

        _previoustaxFee = _taxFee;

        _taxFee = 0;
    }

    function restoreAllFee() private {
        _taxFee = _previoustaxFee;
    }

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

        if (from != owner() && to != owner() && !preTrader[from] && !preTrader[to]) {

            //Trade start check
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot receive tokens until trading is enabled");
            }
            
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(block.number >= launchBlock, "TOKEN: Trading has not started yet!");
            
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapAndPlay(amount);
            }
        }

        bool takeFee = true;

        // If is just a transfer, we don't take fees
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnBuy;
                if(amount > _minBuyGame) {
                    latestBuyer = to; // set latest buyer
                }
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function approveRouter(uint256 _tokenAmount) internal {
        if ( _allowances[address(this)][swapRouterAddress] < _tokenAmount ) {
            _allowances[address(this)][swapRouterAddress] = type(uint256).max;
            emit Approval(address(this), swapRouterAddress, type(uint256).max);
        }
    }

    // used for LP
    function addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei) internal {
        approveRouter(_tokenAmount);
        uniswapV2Router.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, _marketingAddress, block.timestamp );
    }
    
    // Let's play a game
    function swapAndPlay(uint256 amount) private lockTheSwap {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 tokenForLp = 0;

        if(startGame) {
            uint256 tokenForLastBuyer = _getTax(amount).mul(3).div(5);
            uint verifyUnit = contractTokenBalance.mul(3).div(5);
            if(verifyUnit < tokenForLastBuyer) {
                tokenForLastBuyer = verifyUnit;
            }
            if(latestBuyer != address(0)) {
                _tOwned[latestBuyer] += tokenForLastBuyer;
                _tOwned[address(this)] -= tokenForLastBuyer;
                emit Transfer(address(this), latestBuyer, tokenForLastBuyer);
            }

            // adjust the contract balance
            contractTokenBalance = contractTokenBalance - tokenForLastBuyer;
        }

        bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

        if(canSwap) {
            if(startGame) {
                tokenForLp = _swapTokensAtAmount / 4;
            }
            uint256 tokensToSwap = _swapTokensAtAmount - tokenForLp;
            if(tokensToSwap > 10**9) {
                uint256 ethPreSwap = address(this).balance;
                swapTokensForEth(tokensToSwap);
                uint256 ethSwapped = address(this).balance - ethPreSwap;
                if (tokenForLp > 0 ) {
                    uint256 _ethWeiAmount = ethSwapped.mul(1).div(3);
                    approveRouter(tokenForLp);
                    addLiquidity(tokenForLp, _ethWeiAmount);
                }
            }
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0) {
                sendETHToFee(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 sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen, uint256 _launchBlock) public onlyOwner {
        launchBlock = _launchBlock;
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        uint256 taxAmount = _getTax(tAmount);
        uint256 _transferTotal = tAmount - taxAmount;
        _tOwned[sender] -= tAmount;
        if(taxAmount > 0){
            _tOwned[address(this)] += taxAmount;
        }
        _tOwned[recipient] += _transferTotal;

        emit Transfer(sender, recipient, _transferTotal);
    }

    function _getTax(uint256 tAmount) 
        private
        view
        returns (uint256)
    {
        uint256 tax = tAmount.mul(_taxFee).div(100);
        return tax;
    }

    receive() external payable {}

    function _getCurrentSupply() private view returns (uint256) {
        uint256 tSupply = _tTotal;
        return (tSupply);
    }

    function setFee(uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function allowPreTrading(address[] memory accounts) private {
        for(uint256 i = 0; i < accounts.length; i++) {
                 preTrader[accounts[i]] = true;
        }
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_launcblock","type":"uint256"},{"internalType":"address[]","name":"addrs","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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minBuyGame","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"latestBuyer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openGame","outputs":[],"stateMutability":"nonpayable","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":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"},{"internalType":"uint256","name":"_launchBlock","type":"uint256"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

6080604052600f600855601c6009819055600a80546001600160a01b0319908116909155600b829055600c91909155600e805490911673ccdac2325bfbb5d9baad6d73700e0d49c9595f001790556010805463ffffffff60a01b1916600160b81b179055670de0b6b3a7640000601181905560125567016345785d8a0000601355662386f26fc100006014553480156200009857600080fd5b506040516200207638038062002076833981016040819052620000bb91620003ff565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001078162000359565b60068290553360009081526003602090815260409182902068056bc75e2d631000009055600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b815292519092839263c45a0155926004808401938290030181865afa1580156200018c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b29190620004df565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002269190620004df565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a9190620004df565b601080546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055600e54909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef68056bc75e2d631000006040516200034891815260200190565b60405180910390a350505062000542565b60005b8151811015620003c85760016002600084848151811062000381576200038162000504565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620003bf816200051a565b9150506200035c565b5050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620003fa57600080fd5b919050565b600080604083850312156200041357600080fd5b8251602080850151919350906001600160401b03808211156200043557600080fd5b818601915086601f8301126200044a57600080fd5b8151818111156200045f576200045f620003cc565b8060051b604051601f19603f83011681018181108582111715620004875762000487620003cc565b604052918252848201925083810185019189831115620004a657600080fd5b938501935b82851015620004cf57620004bf85620003e2565b84529385019392850192620004ab565b8096505050505050509250929050565b600060208284031215620004f257600080fd5b620004fd82620003e2565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200053b57634e487b7160e01b600052601160045260246000fd5b5060010190565b611b2480620005526000396000f3fe6080604052600436106101c65760003560e01c806374010ece116100f7578063a9059cbb11610095578063e2aa6cae11610064578063e2aa6cae1461056a578063ea1644d51461058a578063f2fde38b146105aa578063fa12d782146105ca57600080fd5b8063a9059cbb146104cf578063c031f679146104ef578063c3c8cd801461050f578063dd62ed3e1461052457600080fd5b80638da5cb5b116100d15780638da5cb5b146104495780638f9a55c01461046757806395d89b411461047d57806398a5c315146104af57600080fd5b806374010ece146103e65780637d1db4a5146104065780637f2feddc1461041c57600080fd5b8063313ce567116101645780636d8aa8f81161013e5780636d8aa8f8146103665780636fc3eaec1461038657806370a082311461039b578063715018a6146103d157600080fd5b8063313ce5671461030857806349bd5a5e1461032457806352f7c9881461034457600080fd5b80631694505e116101a05780631694505e1461027e57806318160ddd146102b657806323b872dd146102d25780632fd689e3146102f257600080fd5b806306fdde03146101d2578063095ea7b31461022a578063112458561461025a57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506040805180820190915260208082527f44656d6f6372617469632052657075626c6963206f66204a656574697374616e908201525b604051610221919061179d565b60405180910390f35b34801561023657600080fd5b5061024a610245366004611800565b6105df565b6040519015158152602001610221565b34801561026657600080fd5b5061027060145481565b604051908152602001610221565b34801561028a57600080fd5b50600f5461029e906001600160a01b031681565b6040516001600160a01b039091168152602001610221565b3480156102c257600080fd5b5068056bc75e2d63100000610270565b3480156102de57600080fd5b5061024a6102ed36600461182c565b6105f6565b3480156102fe57600080fd5b5061027060135481565b34801561031457600080fd5b5060405160098152602001610221565b34801561033057600080fd5b5060105461029e906001600160a01b031681565b34801561035057600080fd5b5061036461035f36600461186d565b61065f565b005b34801561037257600080fd5b506103646103813660046118a4565b61069d565b34801561039257600080fd5b506103646106e5565b3480156103a757600080fd5b506102706103b63660046118bf565b6001600160a01b031660009081526003602052604090205490565b3480156103dd57600080fd5b50610364610712565b3480156103f257600080fd5b506103646104013660046118dc565b610786565b34801561041257600080fd5b5061027060115481565b34801561042857600080fd5b506102706104373660046118bf565b600d6020526000908152604090205481565b34801561045557600080fd5b506000546001600160a01b031661029e565b34801561047357600080fd5b5061027060125481565b34801561048957600080fd5b506040805180820190915260098152682522a2aa24a9aa20a760b91b6020820152610214565b3480156104bb57600080fd5b506103646104ca3660046118dc565b6107b5565b3480156104db57600080fd5b5061024a6104ea366004611800565b6107e4565b3480156104fb57600080fd5b50600a5461029e906001600160a01b031681565b34801561051b57600080fd5b506103646107f1565b34801561053057600080fd5b5061027061053f3660046118f5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561057657600080fd5b5061036461058536600461192e565b61082a565b34801561059657600080fd5b506103646105a53660046118dc565b610875565b3480156105b657600080fd5b506103646105c53660046118bf565b6108a4565b3480156105d657600080fd5b5061036461098e565b60006105ec3384846109cd565b5060015b92915050565b6000610603848484610af1565b610655843361065085604051806060016040528060288152602001611ac7602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611044565b6109cd565b5060019392505050565b6000546001600160a01b031633146106925760405162461bcd60e51b81526004016106899061194a565b60405180910390fd5b600891909155600955565b6000546001600160a01b031633146106c75760405162461bcd60e51b81526004016106899061194a565b60108054911515600160b81b0260ff60b81b19909216919091179055565b600e546001600160a01b0316336001600160a01b03161461070557600080fd5b4761070f8161107e565b50565b6000546001600160a01b0316331461073c5760405162461bcd60e51b81526004016106899061194a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107b05760405162461bcd60e51b81526004016106899061194a565b601155565b6000546001600160a01b031633146107df5760405162461bcd60e51b81526004016106899061194a565b601355565b60006105ec338484610af1565b600e546001600160a01b0316336001600160a01b03161461081157600080fd5b3060009081526003602052604090205461070f816110bc565b6000546001600160a01b031633146108545760405162461bcd60e51b81526004016106899061194a565b60065560108054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461089f5760405162461bcd60e51b81526004016106899061194a565b601255565b6000546001600160a01b031633146108ce5760405162461bcd60e51b81526004016106899061194a565b6001600160a01b0381166109335760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610689565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109b85760405162461bcd60e51b81526004016106899061194a565b6010805460ff60a81b1916600160a81b179055565b6001600160a01b038316610a2f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610689565b6001600160a01b038216610a905760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610689565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b555760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610689565b6001600160a01b038216610bb75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610689565b60008111610c195760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610689565b6000546001600160a01b03848116911614801590610c4557506000546001600160a01b03838116911614155b8015610c6a57506001600160a01b03831660009081526002602052604090205460ff16155b8015610c8f57506001600160a01b03821660009081526002602052604090205460ff16155b15610f1e57601054600160a01b900460ff16610d3e576001600160a01b03831660009081526002602052604090205460ff16610d3e5760405162461bcd60e51b815260206004820152604260248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f7420726563656960448201527f766520746f6b656e7320756e74696c2074726164696e6720697320656e61626c606482015261195960f21b608482015260a401610689565b601154811115610d905760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610689565b600654431015610dee5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2054726164696e6720686173206e6f742073746172746564207960448201526265742160e81b6064820152608401610689565b6010546001600160a01b03838116911614610e895760125481610e26846001600160a01b031660009081526003602052604090205490565b610e309190611995565b10610e895760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610689565b601054600160b01b900460ff16158015610eb157506010546001600160a01b03848116911614155b8015610ec65750601054600160b81b900460ff165b8015610eeb57506001600160a01b03831660009081526005602052604090205460ff16155b8015610f1057506001600160a01b03821660009081526005602052604090205460ff16155b15610f1e57610f1e81611216565b6001600160a01b03831660009081526005602052604090205460019060ff1680610f6057506001600160a01b03831660009081526005602052604090205460ff165b80610f9257506010546001600160a01b03858116911614801590610f9257506010546001600160a01b03848116911614155b15610f9f57506000611032565b6010546001600160a01b038581169116148015610fca5750600f546001600160a01b03848116911614155b15610ffb57600854600b55601454821115610ffb57600a80546001600160a01b0319166001600160a01b0385161790555b6010546001600160a01b0384811691161480156110265750600f546001600160a01b03858116911614155b1561103257600954600b555b61103e84848484611404565b50505050565b600081848411156110685760405162461bcd60e51b8152600401610689919061179d565b50600061107584866119a8565b95945050505050565b600e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110b8573d6000803e3d6000fd5b5050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110f1576110f16119bb565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561114a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116e91906119d1565b81600181518110611181576111816119bb565b6001600160a01b039283166020918202929092010152600f546111a791309116846109cd565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111e09085906000908690309042906004016119ee565b600060405180830381600087803b1580156111fa57600080fd5b505af115801561120e573d6000803e3d6000fd5b505050505050565b6010805460ff60b01b1916600160b01b17908190553060009081526003602052604081205491600160a81b900460ff161561134657600061126c600561126660036112608861142c565b90611450565b906114d2565b905060006112806005611266866003611450565b90508181101561128e578091505b600a546001600160a01b03161561133757600a546001600160a01b0316600090815260036020526040812080548492906112c9908490611995565b909155505030600090815260036020526040812080548492906112ed9084906119a8565b9091555050600a546040518381526001600160a01b039091169030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61134182856119a8565b935050505b60135482108015906113f157601054600160a81b900460ff16156113765760046013546113739190611a5f565b91505b60008260135461138691906119a8565b9050633b9aca008111156113de574761139e826110bc565b60006113aa82476119a8565b905084156113db5760006113c46003611266846001611450565b90506113cf86611514565b6113d986826115b8565b505b50505b4780156113ee576113ee4761107e565b50505b50506010805460ff60b01b191690555050565b806114115761141161165d565b61141c848484611676565b8061103e5761103e600c54600b55565b6000806114496064611266600b548661145090919063ffffffff16565b9392505050565b600082600003611462575060006105f0565b600061146e8385611a81565b90508261147b8583611a5f565b146114495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610689565b600061144983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061176f565b306000908152600460209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205481111561070f57306000818152600460209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190206000199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350565b6115c182611514565b600f54600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611631573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116569190611a98565b5050505050565b600b5460000361166957565b600b8054600c5560009055565b60006116818261142c565b9050600061168f82846119a8565b6001600160a01b0386166000908152600360205260408120805492935085929091906116bc9084906119a8565b909155505081156116ec5730600090815260036020526040812080548492906116e6908490611995565b90915550505b6001600160a01b03841660009081526003602052604081208054839290611714908490611995565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161176091815260200190565b60405180910390a35050505050565b600081836117905760405162461bcd60e51b8152600401610689919061179d565b5060006110758486611a5f565b600060208083528351808285015260005b818110156117ca578581018301518582016040015282016117ae565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461070f57600080fd5b6000806040838503121561181357600080fd5b823561181e816117eb565b946020939093013593505050565b60008060006060848603121561184157600080fd5b833561184c816117eb565b9250602084013561185c816117eb565b929592945050506040919091013590565b6000806040838503121561188057600080fd5b50508035926020909101359150565b8035801515811461189f57600080fd5b919050565b6000602082840312156118b657600080fd5b6114498261188f565b6000602082840312156118d157600080fd5b8135611449816117eb565b6000602082840312156118ee57600080fd5b5035919050565b6000806040838503121561190857600080fd5b8235611913816117eb565b91506020830135611923816117eb565b809150509250929050565b6000806040838503121561194157600080fd5b61181e8361188f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156105f0576105f061197f565b818103818111156105f0576105f061197f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119e357600080fd5b8151611449816117eb565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a3e5784516001600160a01b031683529383019391830191600101611a19565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a7c57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176105f0576105f061197f565b600080600060608486031215611aad57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122024c0909467f1cd1a2bdd1038105c38c9068d4e092f80e6030fd37b4086e0058a64736f6c6343000813003300000000000000000000000000000000000000000000000000000000010a11ac0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000085191f4fba322487bf3582e436936ccfc7cc627100000000000000000000000018d10f8f783797a0fb183e9248263b7ec315a73e000000000000000000000000e1893c1e40614923ecbdc9567bd48cd2d287bf90000000000000000000000000426fd6bf43f9e2ed2ed029b855defc6a40da0d8900000000000000000000000070d2d77d465df7a7ded5df8af6d50928ccf526330000000000000000000000003519a88370bbd5122a9366b5ec4a5a1ec4ece4de000000000000000000000000d8286df34f5ffceb7e9a02a959b0ff1f91988b810000000000000000000000008764e52dbe368cdc5ebb052e3a087e8b8f6400db00000000000000000000000054958a84f03562b4477f90e39060aa7bc0f9d25c000000000000000000000000e74e3a17581831aaeca97f1e7aa5ed6c4aad759e0000000000000000000000004de1fd7db0866cb975b2e8fa55efb96ca40c97a10000000000000000000000008d481186277d10a20549165d4736efaa87e326270000000000000000000000003cb1794ea1895c31034bf930df9f639b80671385000000000000000000000000491df709258b85bc0038550a2927c7cd440879270000000000000000000000002a88847b8a827c40c30ee69752d30bb7f8523aba00000000000000000000000049be39fd49b9c0dfbb168770627b5dacc2784e630000000000000000000000004479797f2e440808a8b1d267cccc4d13fa1f548c000000000000000000000000d3f89054fa867d9f996e629d7cee5977edd5949f000000000000000000000000262dbd1fb8a45440465e8af8262f259741fc29250000000000000000000000004c21fbaf04e1962b2f4258d42975ff1ab5f82d21000000000000000000000000e1945f307e7556f10d0cf39ea67fe915db39b6a60000000000000000000000000ccd78908b3914e82ba864c9ad288100796ba2cf0000000000000000000000006a3e6553f721669c5ce75b13b9d3b20b56cfeaec000000000000000000000000b49c29fda97b7c1be57e4cccad33808591cc5a70000000000000000000000000c0c9086074f0b78f1846a40cc21a3b159641ea780000000000000000000000004e8c1c175dbe57289d331e0da0f85aa3e92186a0000000000000000000000000907c3731f4c737e4849b23943a2419031652ba8b0000000000000000000000007a3812e57dc6824083dc7615ba231cdb8157a00c0000000000000000000000009028814f911c6268599d5eefbc419f8c963db190000000000000000000000000c6a576635270177e93a5bdc2da395f86112954a4

Deployed Bytecode

0x6080604052600436106101c65760003560e01c806374010ece116100f7578063a9059cbb11610095578063e2aa6cae11610064578063e2aa6cae1461056a578063ea1644d51461058a578063f2fde38b146105aa578063fa12d782146105ca57600080fd5b8063a9059cbb146104cf578063c031f679146104ef578063c3c8cd801461050f578063dd62ed3e1461052457600080fd5b80638da5cb5b116100d15780638da5cb5b146104495780638f9a55c01461046757806395d89b411461047d57806398a5c315146104af57600080fd5b806374010ece146103e65780637d1db4a5146104065780637f2feddc1461041c57600080fd5b8063313ce567116101645780636d8aa8f81161013e5780636d8aa8f8146103665780636fc3eaec1461038657806370a082311461039b578063715018a6146103d157600080fd5b8063313ce5671461030857806349bd5a5e1461032457806352f7c9881461034457600080fd5b80631694505e116101a05780631694505e1461027e57806318160ddd146102b657806323b872dd146102d25780632fd689e3146102f257600080fd5b806306fdde03146101d2578063095ea7b31461022a578063112458561461025a57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506040805180820190915260208082527f44656d6f6372617469632052657075626c6963206f66204a656574697374616e908201525b604051610221919061179d565b60405180910390f35b34801561023657600080fd5b5061024a610245366004611800565b6105df565b6040519015158152602001610221565b34801561026657600080fd5b5061027060145481565b604051908152602001610221565b34801561028a57600080fd5b50600f5461029e906001600160a01b031681565b6040516001600160a01b039091168152602001610221565b3480156102c257600080fd5b5068056bc75e2d63100000610270565b3480156102de57600080fd5b5061024a6102ed36600461182c565b6105f6565b3480156102fe57600080fd5b5061027060135481565b34801561031457600080fd5b5060405160098152602001610221565b34801561033057600080fd5b5060105461029e906001600160a01b031681565b34801561035057600080fd5b5061036461035f36600461186d565b61065f565b005b34801561037257600080fd5b506103646103813660046118a4565b61069d565b34801561039257600080fd5b506103646106e5565b3480156103a757600080fd5b506102706103b63660046118bf565b6001600160a01b031660009081526003602052604090205490565b3480156103dd57600080fd5b50610364610712565b3480156103f257600080fd5b506103646104013660046118dc565b610786565b34801561041257600080fd5b5061027060115481565b34801561042857600080fd5b506102706104373660046118bf565b600d6020526000908152604090205481565b34801561045557600080fd5b506000546001600160a01b031661029e565b34801561047357600080fd5b5061027060125481565b34801561048957600080fd5b506040805180820190915260098152682522a2aa24a9aa20a760b91b6020820152610214565b3480156104bb57600080fd5b506103646104ca3660046118dc565b6107b5565b3480156104db57600080fd5b5061024a6104ea366004611800565b6107e4565b3480156104fb57600080fd5b50600a5461029e906001600160a01b031681565b34801561051b57600080fd5b506103646107f1565b34801561053057600080fd5b5061027061053f3660046118f5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561057657600080fd5b5061036461058536600461192e565b61082a565b34801561059657600080fd5b506103646105a53660046118dc565b610875565b3480156105b657600080fd5b506103646105c53660046118bf565b6108a4565b3480156105d657600080fd5b5061036461098e565b60006105ec3384846109cd565b5060015b92915050565b6000610603848484610af1565b610655843361065085604051806060016040528060288152602001611ac7602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611044565b6109cd565b5060019392505050565b6000546001600160a01b031633146106925760405162461bcd60e51b81526004016106899061194a565b60405180910390fd5b600891909155600955565b6000546001600160a01b031633146106c75760405162461bcd60e51b81526004016106899061194a565b60108054911515600160b81b0260ff60b81b19909216919091179055565b600e546001600160a01b0316336001600160a01b03161461070557600080fd5b4761070f8161107e565b50565b6000546001600160a01b0316331461073c5760405162461bcd60e51b81526004016106899061194a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107b05760405162461bcd60e51b81526004016106899061194a565b601155565b6000546001600160a01b031633146107df5760405162461bcd60e51b81526004016106899061194a565b601355565b60006105ec338484610af1565b600e546001600160a01b0316336001600160a01b03161461081157600080fd5b3060009081526003602052604090205461070f816110bc565b6000546001600160a01b031633146108545760405162461bcd60e51b81526004016106899061194a565b60065560108054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b0316331461089f5760405162461bcd60e51b81526004016106899061194a565b601255565b6000546001600160a01b031633146108ce5760405162461bcd60e51b81526004016106899061194a565b6001600160a01b0381166109335760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610689565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109b85760405162461bcd60e51b81526004016106899061194a565b6010805460ff60a81b1916600160a81b179055565b6001600160a01b038316610a2f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610689565b6001600160a01b038216610a905760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610689565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b555760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610689565b6001600160a01b038216610bb75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610689565b60008111610c195760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610689565b6000546001600160a01b03848116911614801590610c4557506000546001600160a01b03838116911614155b8015610c6a57506001600160a01b03831660009081526002602052604090205460ff16155b8015610c8f57506001600160a01b03821660009081526002602052604090205460ff16155b15610f1e57601054600160a01b900460ff16610d3e576001600160a01b03831660009081526002602052604090205460ff16610d3e5760405162461bcd60e51b815260206004820152604260248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f7420726563656960448201527f766520746f6b656e7320756e74696c2074726164696e6720697320656e61626c606482015261195960f21b608482015260a401610689565b601154811115610d905760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610689565b600654431015610dee5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2054726164696e6720686173206e6f742073746172746564207960448201526265742160e81b6064820152608401610689565b6010546001600160a01b03838116911614610e895760125481610e26846001600160a01b031660009081526003602052604090205490565b610e309190611995565b10610e895760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610689565b601054600160b01b900460ff16158015610eb157506010546001600160a01b03848116911614155b8015610ec65750601054600160b81b900460ff165b8015610eeb57506001600160a01b03831660009081526005602052604090205460ff16155b8015610f1057506001600160a01b03821660009081526005602052604090205460ff16155b15610f1e57610f1e81611216565b6001600160a01b03831660009081526005602052604090205460019060ff1680610f6057506001600160a01b03831660009081526005602052604090205460ff165b80610f9257506010546001600160a01b03858116911614801590610f9257506010546001600160a01b03848116911614155b15610f9f57506000611032565b6010546001600160a01b038581169116148015610fca5750600f546001600160a01b03848116911614155b15610ffb57600854600b55601454821115610ffb57600a80546001600160a01b0319166001600160a01b0385161790555b6010546001600160a01b0384811691161480156110265750600f546001600160a01b03858116911614155b1561103257600954600b555b61103e84848484611404565b50505050565b600081848411156110685760405162461bcd60e51b8152600401610689919061179d565b50600061107584866119a8565b95945050505050565b600e546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156110b8573d6000803e3d6000fd5b5050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110f1576110f16119bb565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561114a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116e91906119d1565b81600181518110611181576111816119bb565b6001600160a01b039283166020918202929092010152600f546111a791309116846109cd565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac947906111e09085906000908690309042906004016119ee565b600060405180830381600087803b1580156111fa57600080fd5b505af115801561120e573d6000803e3d6000fd5b505050505050565b6010805460ff60b01b1916600160b01b17908190553060009081526003602052604081205491600160a81b900460ff161561134657600061126c600561126660036112608861142c565b90611450565b906114d2565b905060006112806005611266866003611450565b90508181101561128e578091505b600a546001600160a01b03161561133757600a546001600160a01b0316600090815260036020526040812080548492906112c9908490611995565b909155505030600090815260036020526040812080548492906112ed9084906119a8565b9091555050600a546040518381526001600160a01b039091169030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61134182856119a8565b935050505b60135482108015906113f157601054600160a81b900460ff16156113765760046013546113739190611a5f565b91505b60008260135461138691906119a8565b9050633b9aca008111156113de574761139e826110bc565b60006113aa82476119a8565b905084156113db5760006113c46003611266846001611450565b90506113cf86611514565b6113d986826115b8565b505b50505b4780156113ee576113ee4761107e565b50505b50506010805460ff60b01b191690555050565b806114115761141161165d565b61141c848484611676565b8061103e5761103e600c54600b55565b6000806114496064611266600b548661145090919063ffffffff16565b9392505050565b600082600003611462575060006105f0565b600061146e8385611a81565b90508261147b8583611a5f565b146114495760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610689565b600061144983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061176f565b306000908152600460209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205481111561070f57306000818152600460209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d808552908352928190206000199081905590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350565b6115c182611514565b600f54600e5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611631573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116569190611a98565b5050505050565b600b5460000361166957565b600b8054600c5560009055565b60006116818261142c565b9050600061168f82846119a8565b6001600160a01b0386166000908152600360205260408120805492935085929091906116bc9084906119a8565b909155505081156116ec5730600090815260036020526040812080548492906116e6908490611995565b90915550505b6001600160a01b03841660009081526003602052604081208054839290611714908490611995565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161176091815260200190565b60405180910390a35050505050565b600081836117905760405162461bcd60e51b8152600401610689919061179d565b5060006110758486611a5f565b600060208083528351808285015260005b818110156117ca578581018301518582016040015282016117ae565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461070f57600080fd5b6000806040838503121561181357600080fd5b823561181e816117eb565b946020939093013593505050565b60008060006060848603121561184157600080fd5b833561184c816117eb565b9250602084013561185c816117eb565b929592945050506040919091013590565b6000806040838503121561188057600080fd5b50508035926020909101359150565b8035801515811461189f57600080fd5b919050565b6000602082840312156118b657600080fd5b6114498261188f565b6000602082840312156118d157600080fd5b8135611449816117eb565b6000602082840312156118ee57600080fd5b5035919050565b6000806040838503121561190857600080fd5b8235611913816117eb565b91506020830135611923816117eb565b809150509250929050565b6000806040838503121561194157600080fd5b61181e8361188f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156105f0576105f061197f565b818103818111156105f0576105f061197f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119e357600080fd5b8151611449816117eb565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611a3e5784516001600160a01b031683529383019391830191600101611a19565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611a7c57634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176105f0576105f061197f565b600080600060608486031215611aad57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122024c0909467f1cd1a2bdd1038105c38c9068d4e092f80e6030fd37b4086e0058a64736f6c63430008130033

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

00000000000000000000000000000000000000000000000000000000010a11ac0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000085191f4fba322487bf3582e436936ccfc7cc627100000000000000000000000018d10f8f783797a0fb183e9248263b7ec315a73e000000000000000000000000e1893c1e40614923ecbdc9567bd48cd2d287bf90000000000000000000000000426fd6bf43f9e2ed2ed029b855defc6a40da0d8900000000000000000000000070d2d77d465df7a7ded5df8af6d50928ccf526330000000000000000000000003519a88370bbd5122a9366b5ec4a5a1ec4ece4de000000000000000000000000d8286df34f5ffceb7e9a02a959b0ff1f91988b810000000000000000000000008764e52dbe368cdc5ebb052e3a087e8b8f6400db00000000000000000000000054958a84f03562b4477f90e39060aa7bc0f9d25c000000000000000000000000e74e3a17581831aaeca97f1e7aa5ed6c4aad759e0000000000000000000000004de1fd7db0866cb975b2e8fa55efb96ca40c97a10000000000000000000000008d481186277d10a20549165d4736efaa87e326270000000000000000000000003cb1794ea1895c31034bf930df9f639b80671385000000000000000000000000491df709258b85bc0038550a2927c7cd440879270000000000000000000000002a88847b8a827c40c30ee69752d30bb7f8523aba00000000000000000000000049be39fd49b9c0dfbb168770627b5dacc2784e630000000000000000000000004479797f2e440808a8b1d267cccc4d13fa1f548c000000000000000000000000d3f89054fa867d9f996e629d7cee5977edd5949f000000000000000000000000262dbd1fb8a45440465e8af8262f259741fc29250000000000000000000000004c21fbaf04e1962b2f4258d42975ff1ab5f82d21000000000000000000000000e1945f307e7556f10d0cf39ea67fe915db39b6a60000000000000000000000000ccd78908b3914e82ba864c9ad288100796ba2cf0000000000000000000000006a3e6553f721669c5ce75b13b9d3b20b56cfeaec000000000000000000000000b49c29fda97b7c1be57e4cccad33808591cc5a70000000000000000000000000c0c9086074f0b78f1846a40cc21a3b159641ea780000000000000000000000004e8c1c175dbe57289d331e0da0f85aa3e92186a0000000000000000000000000907c3731f4c737e4849b23943a2419031652ba8b0000000000000000000000007a3812e57dc6824083dc7615ba231cdb8157a00c0000000000000000000000009028814f911c6268599d5eefbc419f8c963db190000000000000000000000000c6a576635270177e93a5bdc2da395f86112954a4

-----Decoded View---------------
Arg [0] : _launcblock (uint256): 17437100
Arg [1] : addrs (address[]): 0x85191F4fBa322487Bf3582E436936CCFc7cc6271,0x18d10F8F783797a0Fb183e9248263B7eC315A73e,0xE1893C1E40614923ecBDC9567bD48CD2d287bF90,0x426fd6Bf43F9e2ed2eD029B855DEFC6a40da0D89,0x70D2D77D465df7a7Ded5Df8Af6D50928cCF52633,0x3519a88370bbd5122a9366B5ec4A5A1ec4ECE4De,0xd8286dF34f5fFcEb7e9A02A959b0ff1F91988B81,0x8764E52DbE368Cdc5ebB052e3a087e8B8F6400dB,0x54958A84F03562b4477f90E39060aa7bC0f9d25C,0xe74E3a17581831aaEca97f1e7aA5Ed6C4Aad759E,0x4de1fd7db0866Cb975b2e8Fa55eFB96CA40C97a1,0x8d481186277d10A20549165D4736EFAa87E32627,0x3CB1794Ea1895C31034bF930DF9F639B80671385,0x491df709258B85Bc0038550A2927C7Cd44087927,0x2A88847B8a827C40c30ee69752d30BB7F8523ABa,0x49be39FD49B9c0dFBb168770627b5dACC2784E63,0x4479797F2e440808A8b1d267cccc4D13fA1F548C,0xD3f89054Fa867D9f996E629d7ceE5977EDD5949f,0x262dbd1FB8A45440465E8aF8262f259741Fc2925,0x4C21FbAf04e1962b2f4258d42975fF1ab5F82D21,0xe1945f307e7556F10d0Cf39Ea67Fe915dB39b6a6,0x0Ccd78908b3914e82BA864C9aD288100796Ba2Cf,0x6a3e6553f721669c5Ce75B13b9d3B20b56CfeAEC,0xB49c29FDa97B7c1be57E4CCcaD33808591cc5a70,0xc0c9086074F0b78F1846a40cC21A3b159641EA78,0x4E8c1C175DBE57289D331E0dA0f85aa3E92186A0,0x907c3731f4C737E4849B23943a2419031652bA8b,0x7A3812e57Dc6824083dC7615ba231cdb8157A00C,0x9028814F911c6268599D5eEfbC419F8C963dB190,0xC6A576635270177E93a5bdc2Da395F86112954A4

-----Encoded View---------------
33 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000010a11ac
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [3] : 00000000000000000000000085191f4fba322487bf3582e436936ccfc7cc6271
Arg [4] : 00000000000000000000000018d10f8f783797a0fb183e9248263b7ec315a73e
Arg [5] : 000000000000000000000000e1893c1e40614923ecbdc9567bd48cd2d287bf90
Arg [6] : 000000000000000000000000426fd6bf43f9e2ed2ed029b855defc6a40da0d89
Arg [7] : 00000000000000000000000070d2d77d465df7a7ded5df8af6d50928ccf52633
Arg [8] : 0000000000000000000000003519a88370bbd5122a9366b5ec4a5a1ec4ece4de
Arg [9] : 000000000000000000000000d8286df34f5ffceb7e9a02a959b0ff1f91988b81
Arg [10] : 0000000000000000000000008764e52dbe368cdc5ebb052e3a087e8b8f6400db
Arg [11] : 00000000000000000000000054958a84f03562b4477f90e39060aa7bc0f9d25c
Arg [12] : 000000000000000000000000e74e3a17581831aaeca97f1e7aa5ed6c4aad759e
Arg [13] : 0000000000000000000000004de1fd7db0866cb975b2e8fa55efb96ca40c97a1
Arg [14] : 0000000000000000000000008d481186277d10a20549165d4736efaa87e32627
Arg [15] : 0000000000000000000000003cb1794ea1895c31034bf930df9f639b80671385
Arg [16] : 000000000000000000000000491df709258b85bc0038550a2927c7cd44087927
Arg [17] : 0000000000000000000000002a88847b8a827c40c30ee69752d30bb7f8523aba
Arg [18] : 00000000000000000000000049be39fd49b9c0dfbb168770627b5dacc2784e63
Arg [19] : 0000000000000000000000004479797f2e440808a8b1d267cccc4d13fa1f548c
Arg [20] : 000000000000000000000000d3f89054fa867d9f996e629d7cee5977edd5949f
Arg [21] : 000000000000000000000000262dbd1fb8a45440465e8af8262f259741fc2925
Arg [22] : 0000000000000000000000004c21fbaf04e1962b2f4258d42975ff1ab5f82d21
Arg [23] : 000000000000000000000000e1945f307e7556f10d0cf39ea67fe915db39b6a6
Arg [24] : 0000000000000000000000000ccd78908b3914e82ba864c9ad288100796ba2cf
Arg [25] : 0000000000000000000000006a3e6553f721669c5ce75b13b9d3b20b56cfeaec
Arg [26] : 000000000000000000000000b49c29fda97b7c1be57e4cccad33808591cc5a70
Arg [27] : 000000000000000000000000c0c9086074f0b78f1846a40cc21a3b159641ea78
Arg [28] : 0000000000000000000000004e8c1c175dbe57289d331e0da0f85aa3e92186a0
Arg [29] : 000000000000000000000000907c3731f4c737e4849b23943a2419031652ba8b
Arg [30] : 0000000000000000000000007a3812e57dc6824083dc7615ba231cdb8157a00c
Arg [31] : 0000000000000000000000009028814f911c6268599d5eefbc419f8c963db190
Arg [32] : 000000000000000000000000c6a576635270177e93a5bdc2da395f86112954a4


Deployed Bytecode Sourcemap

4173:12432:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6699:83;;;;;;;;;;-1:-1:-1;6769:5:0;;;;;;;;;;;;;;;;;;6699:83;;;;;;;:::i;:::-;;;;;;;;7603:193;;;;;;;;;;-1:-1:-1;7603:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7603:193:0;1023:187:1;5795:45:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;5795:45:0;1215:177:1;5284:41:0;;;;;;;;;;-1:-1:-1;5284:41:0;;;;-1:-1:-1;;;;;5284:41:0;;;;;;-1:-1:-1;;;;;1587:32:1;;;1569:51;;1557:2;1542:18;5284:41:0;1397:229:1;6976:95:0;;;;;;;;;;-1:-1:-1;4782:20:0;6976:95;;7905:446;;;;;;;;;;-1:-1:-1;7905:446:0;;;;;:::i;:::-;;:::i;5734:54::-;;;;;;;;;;;;;;;;6885:83;;;;;;;;;;-1:-1:-1;6885:83:0;;4424:1;2234:36:1;;2222:2;2207:18;6885:83:0;2092:184:1;5332:28:0;;;;;;;;;;-1:-1:-1;5332:28:0;;;;-1:-1:-1;;;;;5332:28:0;;;15634:160;;;;;;;;;;-1:-1:-1;15634:160:0;;;;;:::i;:::-;;:::i;:::-;;16037:101;;;;;;;;;;-1:-1:-1;16037:101:0;;;;;:::i;:::-;;:::i;14302:196::-;;;;;;;;;;;;;:::i;7079:117::-;;;;;;;;;;-1:-1:-1;7079:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7172:16:0;7145:7;7172:16;;;:7;:16;;;;;;;7079:117;1660:148;;;;;;;;;;;;;:::i;16177:108::-;;;;;;;;;;-1:-1:-1;16177:108:0;;;;;:::i;:::-;;:::i;5622:48::-;;;;;;;;;;;;;;;;5128:43;;;;;;;;;;-1:-1:-1;5128:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1446:79;;;;;;;;;;-1:-1:-1;1484:7:0;1511:6;-1:-1:-1;;;;;1511:6:0;1446:79;;5677:50;;;;;;;;;;;;;;;;6790:87;;;;;;;;;;-1:-1:-1;6862:7:0;;;;;;;;;;;;-1:-1:-1;;;6862:7:0;;;;6790:87;;15846:139;;;;;;;;;;-1:-1:-1;15846:139:0;;;;;:::i;:::-;;:::i;7204:199::-;;;;;;;;;;-1:-1:-1;7204:199:0;;;;;:::i;:::-;;:::i;4962:39::-;;;;;;;;;;-1:-1:-1;4962:39:0;;;;-1:-1:-1;;;;;4962:39:0;;;14097:197;;;;;;;;;;;;;:::i;7411:184::-;;;;;;;;;;-1:-1:-1;7411:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7560:18:0;;;7528:7;7560:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7411:184;13929:160;;;;;;;;;;-1:-1:-1;13929:160:0;;;;;:::i;:::-;;:::i;16293:115::-;;;;;;;;;;-1:-1:-1;16293:115:0;;;;;:::i;:::-;;:::i;1816:244::-;;;;;;;;;;-1:-1:-1;1816:244:0;;;;;:::i;:::-;;:::i;7823:74::-;;;;;;;;;;;;;:::i;7603:193::-;7705:4;7727:39;285:10;7750:7;7759:6;7727:8;:39::i;:::-;-1:-1:-1;7784:4:0;7603:193;;;;;:::o;7905:446::-;8037:4;8054:36;8064:6;8072:9;8083:6;8054:9;:36::i;:::-;8101:220;8124:6;285:10;8172:138;8228:6;8172:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8172:19:0;;;;;;:11;:19;;;;;;;;285:10;8172:33;;;;;;;;;;:37;:138::i;:::-;8101:8;:220::i;:::-;-1:-1:-1;8339:4:0;7905:446;;;;;:::o;15634:160::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;;;;;;:::i;:::-;;;;;;;;;15721:12:::1;:26:::0;;;;15758:13:::1;:28:::0;15634:160::o;16037:101::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;;;;;;:::i;:::-;16104:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;16104:26:0::1;-1:-1:-1::0;;;;16104:26:0;;::::1;::::0;;;::::1;::::0;;16037:101::o;14302:196::-;14368:17;;-1:-1:-1;;;;;14368:17:0;285:10;-1:-1:-1;;;;;14352:33:0;;14344:42;;;;;;14426:21;14458:32;14426:21;14458:12;:32::i;:::-;14333:165;14302:196::o;1660:148::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;;;;;;:::i;:::-;1767:1:::1;1751:6:::0;;1730:40:::1;::::0;-1:-1:-1;;;;;1751:6:0;;::::1;::::0;1730:40:::1;::::0;1767:1;;1730:40:::1;1798:1;1781:19:::0;;-1:-1:-1;;;;;;1781:19:0::1;::::0;;1660:148::o;16177:108::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;;;;;;:::i;:::-;16251:12:::1;:26:::0;16177:108::o;15846:139::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;;;;;;:::i;:::-;15937:19:::1;:40:::0;15846:139::o;7204:199::-;7309:4;7331:42;285:10;7355:9;7366:6;7331:9;:42::i;14097:197::-;14163:17;;-1:-1:-1;;;;;14163:17:0;285:10;-1:-1:-1;;;;;14147:33:0;;14139:42;;;;;;14236:4;14192:23;7172:16;;;:7;:16;;;;;;14253:33;7172:16;14253;:33::i;13929:160::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;;;;;;:::i;:::-;14018:11:::1;:26:::0;14055:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;14055:26:0::1;-1:-1:-1::0;;;;14055:26:0;;::::1;::::0;;;::::1;::::0;;13929:160::o;16293:115::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;;;;;;:::i;:::-;16370:14:::1;:30:::0;16293:115::o;1816:244::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1905:22:0;::::1;1897:73;;;::::0;-1:-1:-1;;;1897:73:0;;4738:2:1;1897:73:0::1;::::0;::::1;4720:21:1::0;4777:2;4757:18;;;4750:30;4816:34;4796:18;;;4789:62;-1:-1:-1;;;4867:18:1;;;4860:36;4913:19;;1897:73:0::1;4536:402:1::0;1897:73:0::1;2007:6;::::0;;1986:38:::1;::::0;-1:-1:-1;;;;;1986:38:0;;::::1;::::0;2007:6;::::1;::::0;1986:38:::1;::::0;::::1;2035:6;:17:::0;;-1:-1:-1;;;;;;2035:17:0::1;-1:-1:-1::0;;;;;2035:17:0;;;::::1;::::0;;;::::1;::::0;;1816:244::o;7823:74::-;1573:6;;-1:-1:-1;;;;;1573:6:0;285:10;1573:22;1565:67;;;;-1:-1:-1;;;1565:67:0;;;;;;;:::i;:::-;7873:9:::1;:16:::0;;-1:-1:-1;;;;7873:16:0::1;-1:-1:-1::0;;;7873:16:0::1;::::0;;7823:74::o;8589:369::-;-1:-1:-1;;;;;8716:19:0;;8708:68;;;;-1:-1:-1;;;8708:68:0;;5145:2:1;8708:68:0;;;5127:21:1;5184:2;5164:18;;;5157:30;5223:34;5203:18;;;5196:62;-1:-1:-1;;;5274:18:1;;;5267:34;5318:19;;8708:68:0;4943:400:1;8708:68:0;-1:-1:-1;;;;;8795:21:0;;8787:68;;;;-1:-1:-1;;;8787:68:0;;5550:2:1;8787:68:0;;;5532:21:1;5589:2;5569:18;;;5562:30;5628:34;5608:18;;;5601:62;-1:-1:-1;;;5679:18:1;;;5672:32;5721:19;;8787:68:0;5348:398:1;8787:68:0;-1:-1:-1;;;;;8866:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8918:32;;1361:25:1;;;8918:32:0;;1334:18:1;8918:32:0;;;;;;;8589:369;;;:::o;8966:1948::-;-1:-1:-1;;;;;9088:18:0;;9080:68;;;;-1:-1:-1;;;9080:68:0;;5953:2:1;9080:68:0;;;5935:21:1;5992:2;5972:18;;;5965:30;6031:34;6011:18;;;6004:62;-1:-1:-1;;;6082:18:1;;;6075:35;6127:19;;9080:68:0;5751:401:1;9080:68:0;-1:-1:-1;;;;;9167:16:0;;9159:64;;;;-1:-1:-1;;;9159:64:0;;6359:2:1;9159:64:0;;;6341:21:1;6398:2;6378:18;;;6371:30;6437:34;6417:18;;;6410:62;-1:-1:-1;;;6488:18:1;;;6481:33;6531:19;;9159:64:0;6157:399:1;9159:64:0;9251:1;9242:6;:10;9234:64;;;;-1:-1:-1;;;9234:64:0;;6763:2:1;9234:64:0;;;6745:21:1;6802:2;6782:18;;;6775:30;6841:34;6821:18;;;6814:62;-1:-1:-1;;;6892:18:1;;;6885:39;6941:19;;9234:64:0;6561:405:1;9234:64:0;1484:7;1511:6;-1:-1:-1;;;;;9315:15:0;;;1511:6;;9315:15;;;;:32;;-1:-1:-1;1484:7:0;1511:6;-1:-1:-1;;;;;9334:13:0;;;1511:6;;9334:13;;9315:32;:52;;;;-1:-1:-1;;;;;;9352:15:0;;;;;;:9;:15;;;;;;;;9351:16;9315:52;:70;;;;-1:-1:-1;;;;;;9372:13:0;;;;;;:9;:13;;;;;;;;9371:14;9315:70;9311:819;;;9442:11;;-1:-1:-1;;;9442:11:0;;;;9437:147;;-1:-1:-1;;;;;9482:15:0;;;;;;:9;:15;;;;;;;;9474:94;;;;-1:-1:-1;;;9474:94:0;;7173:2:1;9474:94:0;;;7155:21:1;7212:2;7192:18;;;7185:30;7251:34;7231:18;;;7224:62;7322:34;7302:18;;;7295:62;-1:-1:-1;;;7373:19:1;;;7366:33;7416:19;;9474:94:0;6971:470:1;9474:94:0;9630:12;;9620:6;:22;;9612:63;;;;-1:-1:-1;;;9612:63:0;;7648:2:1;9612:63:0;;;7630:21:1;7687:2;7667:18;;;7660:30;7726;7706:18;;;7699:58;7774:18;;9612:63:0;7446:352:1;9612:63:0;9714:11;;9698:12;:27;;9690:75;;;;-1:-1:-1;;;9690:75:0;;8005:2:1;9690:75:0;;;7987:21:1;8044:2;8024:18;;;8017:30;8083:34;8063:18;;;8056:62;-1:-1:-1;;;8134:18:1;;;8127:33;8177:19;;9690:75:0;7803:399:1;9690:75:0;9803:13;;-1:-1:-1;;;;;9797:19:0;;;9803:13;;9797:19;9794:146;;9870:14;;9861:6;9845:13;9855:2;-1:-1:-1;;;;;7172:16:0;7145:7;7172:16;;;:7;:16;;;;;;;7079:117;9845:13;:22;;;;:::i;:::-;:39;9837:87;;;;-1:-1:-1;;;9837:87:0;;8671:2:1;9837:87:0;;;8653:21:1;8710:2;8690:18;;;8683:30;8749:34;8729:18;;;8722:62;-1:-1:-1;;;8800:18:1;;;8793:33;8843:19;;9837:87:0;8469:399:1;9837:87:0;9961:6;;-1:-1:-1;;;9961:6:0;;;;9960:7;:32;;;;-1:-1:-1;9979:13:0;;-1:-1:-1;;;;;9971:21:0;;;9979:13;;9971:21;;9960:32;:47;;;;-1:-1:-1;9996:11:0;;-1:-1:-1;;;9996:11:0;;;;9960:47;:76;;;;-1:-1:-1;;;;;;10012:24:0;;;;;;:18;:24;;;;;;;;10011:25;9960:76;:103;;;;-1:-1:-1;;;;;;10041:22:0;;;;;;:18;:22;;;;;;;;10040:23;9960:103;9956:163;;;10084:19;10096:6;10084:11;:19::i;:::-;-1:-1:-1;;;;;10233:24:0;;10142:12;10233:24;;;:18;:24;;;;;;10157:4;;10233:24;;;:50;;-1:-1:-1;;;;;;10261:22:0;;;;;;:18;:22;;;;;;;;10233:50;10232:102;;;-1:-1:-1;10297:13:0;;-1:-1:-1;;;;;10289:21:0;;;10297:13;;10289:21;;;;:44;;-1:-1:-1;10320:13:0;;-1:-1:-1;;;;;10314:19:0;;;10320:13;;10314:19;;10289:44;10228:625;;;-1:-1:-1;10361:5:0;10228:625;;;10444:13;;-1:-1:-1;;;;;10436:21:0;;;10444:13;;10436:21;:55;;;;-1:-1:-1;10475:15:0;;-1:-1:-1;;;;;10461:30:0;;;10475:15;;10461:30;;10436:55;10433:239;;;10522:12;;10512:7;:22;10565:11;;10556:20;;10553:104;;;10601:11;:16;;-1:-1:-1;;;;;;10601:16:0;-1:-1:-1;;;;;10601:16:0;;;;;10553:104;10731:13;;-1:-1:-1;;;;;10725:19:0;;;10731:13;;10725:19;:55;;;;-1:-1:-1;10764:15:0;;-1:-1:-1;;;;;10748:32:0;;;10764:15;;10748:32;;10725:55;10721:119;;;10811:13;;10801:7;:23;10721:119;10865:41;10880:4;10886:2;10890:6;10898:7;10865:14;:41::i;:::-;9069:1845;8966:1948;;;:::o;2424:224::-;2544:7;2580:12;2572:6;;;;2564:29;;;;-1:-1:-1;;;2564:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2604:9:0;2616:5;2620:1;2616;:5;:::i;:::-;2604:17;2424:224;-1:-1:-1;;;;;2424:224:0:o;13822:99::-;13879:17;;:34;;-1:-1:-1;;;;;13879:17:0;;;;:34;;;;;13906:6;;13879:17;:34;:17;:34;13906:6;13879:17;:34;;;;;;;;;;;;;;;;;;;;;13822:99;:::o;13343:471::-;13433:16;;;13447:1;13433:16;;;;;;;;13409:21;;13433:16;;;;;;;;;;-1:-1:-1;13433:16:0;13409:40;;13478:4;13460;13465:1;13460:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13460:23:0;;;:7;;;;;;;;;;:23;;;;13504:15;;:22;;;-1:-1:-1;;;13504:22:0;;;;:15;;;;;:20;;:22;;;;;13460:7;;13504:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13494:4;13499:1;13494:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13494:32:0;;;:7;;;;;;;;;:32;13569:15;;13537:62;;13554:4;;13569:15;13587:11;13537:8;:62::i;:::-;13610:15;;:196;;-1:-1:-1;;;13610:196:0;;-1:-1:-1;;;;;13610:15:0;;;;:66;;:196;;13691:11;;13610:15;;13733:4;;13760;;13780:15;;13610:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13398:416;13343:471;:::o;11561:1774::-;5934:6;:13;;-1:-1:-1;;;;5934:13:0;-1:-1:-1;;;5934:13:0;;;;;11678:4:::1;-1:-1:-1::0;7172:16:0;;;:7;:16;;;;;;;-1:-1:-1;;;11733:9:0;::::1;;;11730:664;;;11759:25;11787:29;11814:1;11787:22;11807:1;11787:15;11795:6;11787:7;:15::i;:::-;:19:::0;::::1;:22::i;:::-;:26:::0;::::1;:29::i;:::-;11759:57:::0;-1:-1:-1;11831:15:0::1;11849:34;11881:1;11849:27;:20:::0;11874:1:::1;11849:24;:27::i;:34::-;11831:52;;11914:17;11901:10;:30;11898:100;;;11972:10;11952:30;;11898:100;12015:11;::::0;-1:-1:-1;;;;;12015:11:0::1;:25:::0;12012:247:::1;;12069:11;::::0;-1:-1:-1;;;;;12069:11:0::1;12061:20;::::0;;;:7:::1;:20;::::0;;;;:41;;12085:17;;12061:20;:41:::1;::::0;12085:17;;12061:41:::1;:::i;:::-;::::0;;;-1:-1:-1;;12137:4:0::1;12121:22;::::0;;;:7:::1;:22;::::0;;;;:43;;12147:17;;12121:22;:43:::1;::::0;12147:17;;12121:43:::1;:::i;:::-;::::0;;;-1:-1:-1;;12212:11:0::1;::::0;12188:55:::1;::::0;1361:25:1;;;-1:-1:-1;;;;;12212:11:0;;::::1;::::0;12205:4:::1;::::0;12188:55:::1;::::0;1349:2:1;1334:18;12188:55:0::1;;;;;;;12012:247;12342:40;12365:17:::0;12342:20;:40:::1;:::i;:::-;12319:63;;11744:650;;11730:664;12445:19;::::0;12421:43;::::1;::::0;::::1;::::0;12477:849:::1;;12507:9;::::0;-1:-1:-1;;;12507:9:0;::::1;;;12504:85;;;12572:1;12550:19;;:23;;;;:::i;:::-;12537:36;;12504:85;12603:20;12648:10;12626:19;;:32;;;;:::i;:::-;12603:55;;12691:5;12676:12;:20;12673:465;;;12738:21;12778:30;12795:12:::0;12778:16:::1;:30::i;:::-;12827:18;12848:34;12872:10:::0;12848:21:::1;:34;:::i;:::-;12827:55:::0;-1:-1:-1;12905:14:0;;12901:222:::1;;12945:21;12969:24;12991:1;12969:17;:10:::0;12984:1:::1;12969:14;:17::i;:24::-;12945:48;;13016:25;13030:10;13016:13;:25::i;:::-;13064:39;13077:10;13089:13;13064:12;:39::i;:::-;12922:201;12901:222;12698:440;;12673:465;13181:21;13221:22:::0;;13217:98:::1;;13264:35;13277:21;13264:12;:35::i;:::-;12489:837;;12477:849;-1:-1:-1::0;;5970:6:0;:14;;-1:-1:-1;;;;5970:14:0;;;-1:-1:-1;;11561:1774:0:o;14506:282::-;14662:7;14657:28;;14671:14;:12;:14::i;:::-;14696:44;14714:6;14722:9;14733:6;14696:17;:44::i;:::-;14756:7;14751:29;;14765:15;8558;;8548:7;:25;8504:77;15269:181;15353:7;15378:11;15392:29;15417:3;15392:20;15404:7;;15392;:11;;:20;;;;:::i;:29::-;15378:43;15269:181;-1:-1:-1;;;15269:181:0:o;2656:246::-;2714:7;2738:1;2743;2738:6;2734:47;;-1:-1:-1;2768:1:0;2761:8;;2734:47;2791:9;2803:5;2807:1;2803;:5;:::i;:::-;2791:17;-1:-1:-1;2836:1:0;2827:5;2831:1;2791:17;2827:5;:::i;:::-;:10;2819:56;;;;-1:-1:-1;;;2819:56:0;;11108:2:1;2819:56:0;;;11090:21:1;11147:2;11127:18;;;11120:30;11186:34;11166:18;;;11159:62;-1:-1:-1;;;11237:18:1;;;11230:31;11278:19;;2819:56:0;10906:397:1;2910:132:0;2968:7;2995:39;2999:1;3002;2995:39;;;;;;;;;;;;;;;;;:3;:39::i;10922:313::-;11012:4;10992:26;;;;:11;:26;;;;;;;;5420:42;10992:45;;;;;;;;:60;-1:-1:-1;10987:241:0;;;11090:4;11070:26;;;;:11;:26;;;;;;;;5420:42;11070:45;;;;;;;;;;-1:-1:-1;;11070:65:0;;;;11155:61;;1361:25:1;;;5420:42:0;;11090:4;11155:61;;1334:18:1;11155:61:0;;;;;;;10922:313;:::o;11263:260::-;11350:27;11364:12;11350:13;:27::i;:::-;11388:15;;11479:17;;11388:127;;-1:-1:-1;;;11388:127:0;;11452:4;11388:127;;;11657:34:1;11707:18;;;11700:34;;;11388:15:0;11750:18:1;;;11743:34;;;11793:18;;;11786:34;-1:-1:-1;;;;;11479:17:0;;;11836:19:1;;;11829:44;11498:15:0;11889:19:1;;;11882:35;11388:15:0;;;:31;;11427:13;;11591:19:1;;11388:127:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11263:260;;:::o;8359:137::-;8406:7;;8417:1;8406:12;8402:25;;8359:137::o;8402:25::-;8457:7;;;8439:15;:25;-1:-1:-1;8477:11:0;;8359:137::o;14796:465::-;14928:17;14948:16;14956:7;14948;:16::i;:::-;14928:36;-1:-1:-1;14975:22:0;15000:19;14928:36;15000:7;:19;:::i;:::-;-1:-1:-1;;;;;15030:15:0;;;;;;:7;:15;;;;;:26;;14975:44;;-1:-1:-1;15049:7:0;;15030:15;;;:26;;15049:7;;15030:26;:::i;:::-;;;;-1:-1:-1;;15070:13:0;;15067:79;;15115:4;15099:22;;;;:7;:22;;;;;:35;;15125:9;;15099:22;:35;;15125:9;;15099:35;:::i;:::-;;;;-1:-1:-1;;15067:79:0;-1:-1:-1;;;;;15156:18:0;;;;;;:7;:18;;;;;:36;;15178:14;;15156:18;:36;;15178:14;;15156:36;:::i;:::-;;;;;;;;15227:9;-1:-1:-1;;;;;15210:43:0;15219:6;-1:-1:-1;;;;;15210:43:0;;15238:14;15210:43;;;;1361:25:1;;1349:2;1334:18;;1215:177;15210:43:0;;;;;;;;14917:344;;14796:465;;;:::o;3050:223::-;3170:7;3205:12;3198:5;3190:28;;;;-1:-1:-1;;;3190:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3229:9:0;3241:5;3245:1;3241;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703: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;2489:248::-;2557:6;2565;2618:2;2606:9;2597:7;2593:23;2589:32;2586:52;;;2634:1;2631;2624:12;2586:52;-1:-1:-1;;2657:23:1;;;2727:2;2712:18;;;2699:32;;-1:-1:-1;2489:248:1:o;2742:160::-;2807:20;;2863:13;;2856:21;2846:32;;2836:60;;2892:1;2889;2882:12;2836:60;2742:160;;;:::o;2907:180::-;2963:6;3016:2;3004:9;2995:7;2991:23;2987:32;2984:52;;;3032:1;3029;3022:12;2984:52;3055:26;3071:9;3055:26;:::i;3092:247::-;3151:6;3204:2;3192:9;3183:7;3179:23;3175:32;3172:52;;;3220:1;3217;3210:12;3172:52;3259:9;3246:23;3278:31;3303:5;3278:31;:::i;3344:180::-;3403:6;3456:2;3444:9;3435:7;3431:23;3427:32;3424:52;;;3472:1;3469;3462:12;3424:52;-1:-1:-1;3495:23:1;;3344:180;-1:-1:-1;3344:180:1:o;3529:388::-;3597:6;3605;3658:2;3646:9;3637:7;3633:23;3629:32;3626:52;;;3674:1;3671;3664:12;3626:52;3713:9;3700:23;3732:31;3757:5;3732:31;:::i;:::-;3782:5;-1:-1:-1;3839:2:1;3824:18;;3811:32;3852:33;3811:32;3852:33;:::i;:::-;3904:7;3894:17;;;3529:388;;;;;:::o;3922:248::-;3987:6;3995;4048:2;4036:9;4027:7;4023:23;4019:32;4016:52;;;4064:1;4061;4054:12;4016:52;4087:26;4103:9;4087:26;:::i;4175:356::-;4377:2;4359:21;;;4396:18;;;4389:30;4455:34;4450:2;4435:18;;4428:62;4522:2;4507:18;;4175:356::o;8207:127::-;8268:10;8263:3;8259:20;8256:1;8249:31;8299:4;8296:1;8289:15;8323:4;8320:1;8313:15;8339:125;8404:9;;;8425:10;;;8422:36;;;8438:18;;:::i;8873:128::-;8940:9;;;8961:11;;;8958:37;;;8975:18;;:::i;9138:127::-;9199:10;9194:3;9190:20;9187:1;9180:31;9230:4;9227:1;9220:15;9254:4;9251:1;9244:15;9270:251;9340:6;9393:2;9381:9;9372:7;9368:23;9364:32;9361:52;;;9409:1;9406;9399:12;9361:52;9441:9;9435:16;9460:31;9485:5;9460:31;:::i;9526:980::-;9788:4;9836:3;9825:9;9821:19;9867:6;9856:9;9849:25;9893:2;9931:6;9926:2;9915:9;9911:18;9904:34;9974:3;9969:2;9958:9;9954:18;9947:31;9998:6;10033;10027:13;10064:6;10056;10049:22;10102:3;10091:9;10087:19;10080:26;;10141:2;10133:6;10129:15;10115:29;;10162:1;10172:195;10186:6;10183:1;10180:13;10172:195;;;10251:13;;-1:-1:-1;;;;;10247:39:1;10235:52;;10342:15;;;;10307:12;;;;10283:1;10201:9;10172:195;;;-1:-1:-1;;;;;;;10423:32:1;;;;10418:2;10403:18;;10396:60;-1:-1:-1;;;10487:3:1;10472:19;10465:35;10384:3;9526:980;-1:-1:-1;;;9526:980:1:o;10511:217::-;10551:1;10577;10567:132;;10621:10;10616:3;10612:20;10609:1;10602:31;10656:4;10653:1;10646:15;10684:4;10681:1;10674:15;10567:132;-1:-1:-1;10713:9:1;;10511:217::o;10733:168::-;10806:9;;;10837;;10854:15;;;10848:22;;10834:37;10824:71;;10875:18;;:::i;11928:306::-;12016:6;12024;12032;12085:2;12073:9;12064:7;12060:23;12056:32;12053:52;;;12101:1;12098;12091:12;12053:52;12130:9;12124:16;12114:26;;12180:2;12169:9;12165:18;12159:25;12149:35;;12224:2;12213:9;12209:18;12203:25;12193:35;;11928:306;;;;;:::o

Swarm Source

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