ETH Price: $3,352.96 (-0.96%)

Token

ERC20 (erc20)
 

Overview

Max Total Supply

2,718,280,749,759 erc20

Holders

4

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
14,443,640,703.412494539 erc20

Value
$0.00
0x53F997da7206D6bF90Ffc4236b3ca8EfB7BB1A89
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:
ERC20

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
SPDX-License-Identifier: MIT
*/
pragma solidity >=0.7.0 <0.8.0;

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

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

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

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 ERC20 is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "ERC20";
    string private constant _symbol = "erc20";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;    
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 2718281828459 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 public _eViralBurned;

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

    mapping(address => uint256) private buycooldown;
    mapping(address => uint256) private sellcooldown;
    mapping(address => uint256) private firstsell;
    mapping(address => uint256) private sellnumber;

    address payable private _teamAddress;
    address payable private _marketingFunds;
    address payable private _developmentFunds;
    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;

    bool public tradeAllowed = false;
    bool private liquidityAdded = false;
    bool private inSwap = false;
    bool public swapEnabled = false;
    bool private cooldownEnabled = false;

    uint256 private _maxTxAmount = _tTotal;     
    uint256 private _reflection = 7;
    uint256 private _teamFee = 7;
    uint256 private _viralBurn = 1;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor(address payable addr1, address payable addr2, address payable addr3) {
        _teamAddress = addr1;
        _marketingFunds = addr2;
        _developmentFunds = addr3;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_teamAddress] = true;
        _isExcludedFromFee[_marketingFunds] = true;
        _isExcludedFromFee[_developmentFunds] = 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 view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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()].sub(amount,"ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function releaseEViral() public onlyOwner {
        require(liquidityAdded);
        tradeAllowed = true;
    }

    function addLiquidity() external onlyOwner() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        liquidityAdded = true;
        _maxTxAmount = 8154845485 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router),type(uint256).max);
    }

    function manualswap() external onlyOwner() {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

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

    function setCooldownEnabled(bool enable) external onlyOwner() {
        cooldownEnabled = enable;
    }

    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }

    function tokenFromReflection(uint256 rAmount) private view returns (uint256) {
        require(rAmount <= _rTotal,"Amount must be less than total reflections");
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    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()) {
            if (cooldownEnabled) {
                if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) {
                    require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only");
                }
            }
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled) {
                require(tradeAllowed);
                require(amount <= _maxTxAmount);
                require(buycooldown[to] < block.timestamp);
                buycooldown[to] = block.timestamp + (45 seconds);
                _teamFee = 7;
                _reflection = 3;
                _viralBurn = 0;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                require(amount <= balanceOf(uniswapV2Pair).mul(271828).div(10000000) && amount <= _maxTxAmount);
                require(sellcooldown[from] < block.timestamp);
                if(firstsell[from] + (1 days) < block.timestamp){
                    sellnumber[from] = 0;
                }
                if (sellnumber[from] == 0) {
                    sellnumber[from]++;
                    firstsell[from] = block.timestamp;
                    sellcooldown[from] = block.timestamp + (1 hours);
                }
                else if (sellnumber[from] == 1) {
                    sellnumber[from]++;
                    sellcooldown[from] = block.timestamp + (2 hours);
                }
                else if (sellnumber[from] == 2) {
                    sellnumber[from]++;
                    sellcooldown[from] = block.timestamp + (3 hours);
                }
                else if (sellnumber[from] == 3) {
                    sellnumber[from]++;
                    sellcooldown[from] = block.timestamp + (7 hours);
                }                          
                else if (sellnumber[from] == 4) {
                    sellnumber[from]++;
                    sellcooldown[from] = firstsell[from] + (1 days);
                }
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                setFee(sellnumber[from]);
            }
        }
        bool takeFee = true;
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }
        _tokenTransfer(from, to, amount, takeFee);
        restoreAllFee;
    }

    function removeAllFee() private {
        if (_reflection == 0 && _teamFee == 0 && _viralBurn == 0) return;
        _reflection = 0;
        _teamFee = 0;
        _viralBurn = 0;
    }

    function restoreAllFee() private {
        _reflection = 7;
        _teamFee = 7;
        _viralBurn = 1;
    }
    
    function setFee(uint256 multiplier) private {
        _reflection = _reflection.mul(multiplier);
        _viralBurn = _viralBurn.mul(multiplier);
        _teamFee = 7;        
    }

    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 amount) private {
        (uint256 tAmount, uint256 tBurn) = _viralEthBurn(amount);
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount, tBurn);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _viralEthBurn(uint amount) private returns (uint, uint) {  
        uint orgAmount = amount;
        uint256 currentRate = _getRate();
        uint256 tBurn = amount.mul(_viralBurn).div(100);
        uint256 rBurn = tBurn.mul(currentRate);
        _tTotal = _tTotal.sub(tBurn);
        _rTotal = _rTotal.sub(rBurn);
        _eViralBurned = _eViralBurned.add(tBurn);
        return (orgAmount, tBurn);
    }
    
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    function _getValues(uint256 tAmount, uint256 tBurn) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _reflection, _teamFee, tBurn);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 teamFee, uint256 tBurn) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(teamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam).sub(tBurn);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 {
        _teamAddress.transfer(amount.div(3));
        _marketingFunds.transfer(amount.div(3));
        _developmentFunds.transfer(amount.div(3));
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","type":"address"},{"internalType":"address payable","name":"addr3","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":[],"name":"_eViralBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"releaseEViral","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"tradeAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405268935bbd08e8ba026e0060048190556858a9e26daf808165ff196005556012805464ffffffffff60a01b191690556013556007601481905560155560016016553480156200005157600080fd5b506040516200216a3803806200216a833981810160405260608110156200007757600080fd5b508051602082015160409092015190919060006200009462000241565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e80546001600160a01b038086166001600160a01b031992831617909255600f80548584169083161790556010805492841692909116919091179055600554600260006200012c62000241565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160096000620001666200024560201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526009909352818320805485166001908117909155600e54821684528284208054861682179055600f54821684528284208054861682179055601054909116835291208054909216179055620001eb62000241565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a350505062000254565b3390565b6000546001600160a01b031690565b611f0680620002646000396000f3fe60806040526004361061012e5760003560e01c80636fc3eaec116100ab57806395d89b411161006f57806395d89b41146103cb578063a9059cbb146103e0578063c3c8cd8014610419578063d543dbeb1461042e578063dd62ed3e14610458578063e8078d941461049357610135565b80636fc3eaec1461034457806370a0823114610359578063715018a61461038c5780637a32bae4146103a15780638da5cb5b146103b657610135565b806323b872dd116100f257806323b872dd14610264578063313ce567146102a757806349bd5a5e146102d25780635932ead1146103035780636ddd17131461032f57610135565b806306fdde031461013a578063095ea7b3146101c45780631392d2651461021157806318160ddd146102285780631dfbdf291461024f57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104a8565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d057600080fd5b506101fd600480360360408110156101e757600080fd5b506001600160a01b0381351690602001356104c7565b604080519115158252519081900360200190f35b34801561021d57600080fd5b506102266104e5565b005b34801561023457600080fd5b5061023d610568565b60408051918252519081900360200190f35b34801561025b57600080fd5b5061023d61056e565b34801561027057600080fd5b506101fd6004803603606081101561028757600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b3480156102b357600080fd5b506102bc6105fb565b6040805160ff9092168252519081900360200190f35b3480156102de57600080fd5b506102e7610600565b604080516001600160a01b039092168252519081900360200190f35b34801561030f57600080fd5b506102266004803603602081101561032657600080fd5b5035151561060f565b34801561033b57600080fd5b506101fd610685565b34801561035057600080fd5b50610226610695565b34801561036557600080fd5b5061023d6004803603602081101561037c57600080fd5b50356001600160a01b03166106fa565b34801561039857600080fd5b5061022661071c565b3480156103ad57600080fd5b506101fd6107be565b3480156103c257600080fd5b506102e76107ce565b3480156103d757600080fd5b5061014f6107dd565b3480156103ec57600080fd5b506101fd6004803603604081101561040357600080fd5b506001600160a01b0381351690602001356107fc565b34801561042557600080fd5b50610226610810565b34801561043a57600080fd5b506102266004803603602081101561045157600080fd5b503561087e565b34801561046457600080fd5b5061023d6004803603604081101561047b57600080fd5b506001600160a01b0381358116916020013516610985565b34801561049f57600080fd5b506102266109b0565b604080518082019091526005815264045524332360dc1b602082015290565b60006104db6104d4610d40565b8484610d44565b5060015b92915050565b6104ed610d40565b6000546001600160a01b0390811691161461053d576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b601254600160a81b900460ff1661055357600080fd5b6012805460ff60a01b1916600160a01b179055565b60045490565b60075481565b6000610581848484610e30565b6105f18461058d610d40565b6105ec85604051806060016040528060288152602001611e17602891396001600160a01b038a166000908152600860205260408120906105cb610d40565b6001600160a01b03168152602081019190915260400160002054919061146b565b610d44565b5060019392505050565b600990565b6012546001600160a01b031681565b610617610d40565b6000546001600160a01b03908116911614610667576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b60128054911515600160c01b0260ff60c01b19909216919091179055565b601254600160b81b900460ff1681565b61069d610d40565b6000546001600160a01b039081169116146106ed576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b476106f781611502565b50565b6001600160a01b0381166000908152600260205260408120546104df906115ce565b610724610d40565b6000546001600160a01b03908116911614610774576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b601254600160a01b900460ff1681565b6000546001600160a01b031690565b604080518082019091526005815264065726332360dc1b602082015290565b60006104db610809610d40565b8484610e30565b610818610d40565b6000546001600160a01b03908116911614610868576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b6000610873306106fa565b90506106f78161162e565b610886610d40565b6000546001600160a01b039081169116146108d6576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b6000811161092b576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b61094b6064610945836004546117fd90919063ffffffff16565b90611856565b601381905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6109b8610d40565b6000546001600160a01b03908116911614610a08576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117918290556004549091610a4c9130916001600160a01b031690610d44565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8557600080fd5b505afa158015610a99573d6000803e3d6000fd5b505050506040513d6020811015610aaf57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610aff57600080fd5b505afa158015610b13573d6000803e3d6000fd5b505050506040513d6020811015610b2957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610b7b57600080fd5b505af1158015610b8f573d6000803e3d6000fd5b505050506040513d6020811015610ba557600080fd5b5051601280546001600160a01b0319166001600160a01b039283161790556011541663f305d7194730610bd7816106fa565b600080610be26107ce565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b50505050506040513d6060811015610c7857600080fd5b50506012805460ff60a81b1960ff60c01b1960ff60b81b19909216600160b81b1791909116600160c01b1716600160a81b179081905567712bd4c32b9f82006013556011546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610d1157600080fd5b505af1158015610d25573d6000803e3d6000fd5b505050506040513d6020811015610d3b57600080fd5b505050565b3390565b6001600160a01b038316610d895760405162461bcd60e51b8152600401808060200182810382526024815260200180611ead6024913960400191505060405180910390fd5b6001600160a01b038216610dce5760405162461bcd60e51b8152600401808060200182810382526022815260200180611dd46022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610e755760405162461bcd60e51b8152600401808060200182810382526025815260200180611e886025913960400191505060405180910390fd5b6001600160a01b038216610eba5760405162461bcd60e51b8152600401808060200182810382526023815260200180611d876023913960400191505060405180910390fd5b60008111610ef95760405162461bcd60e51b8152600401808060200182810382526029815260200180611e5f6029913960400191505060405180910390fd5b610f016107ce565b6001600160a01b0316836001600160a01b031614158015610f3b5750610f256107ce565b6001600160a01b0316826001600160a01b031614155b1561140e57601254600160c01b900460ff1615611035576001600160a01b0383163014801590610f7457506001600160a01b0382163014155b8015610f8e57506011546001600160a01b03848116911614155b8015610fa857506011546001600160a01b03838116911614155b15611035576011546001600160a01b0316610fc1610d40565b6001600160a01b03161480610ff057506012546001600160a01b0316610fe5610d40565b6001600160a01b0316145b611035576040805162461bcd60e51b81526020600482015260116024820152704552523a20556e6973776170206f6e6c7960781b604482015290519081900360640190fd5b6012546001600160a01b03848116911614801561106057506011546001600160a01b03838116911614155b801561108557506001600160a01b03821660009081526009602052604090205460ff16155b801561109a5750601254600160c01b900460ff165b1561111457601254600160a01b900460ff166110b557600080fd5b6013548111156110c457600080fd5b6001600160a01b0382166000908152600a602052604090205442116110e857600080fd5b6001600160a01b0382166000908152600a60205260408120602d42019055600760155560036014556016555b600061111f306106fa565b601254909150600160b01b900460ff1615801561114a57506012546001600160a01b03858116911614155b801561115f5750601254600160b81b900460ff165b1561140c5760125461119190629896809061094590620425d49061118b906001600160a01b03166106fa565b906117fd565b82111580156111a257506013548211155b6111ab57600080fd5b6001600160a01b0384166000908152600b602052604090205442116111cf57600080fd5b6001600160a01b0384166000908152600c602052604090205442620151809091011015611210576001600160a01b0384166000908152600d60205260408120555b6001600160a01b0384166000908152600d6020526040902054611270576001600160a01b0384166000908152600d6020908152604080832080546001019055600c82528083204290819055600b909252909120610e1090910190556113cf565b6001600160a01b0384166000908152600d6020526040902054600114156112c6576001600160a01b0384166000908152600d6020908152604080832080546001019055600b9091529020611c20420190556113cf565b6001600160a01b0384166000908152600d60205260409020546002141561131c576001600160a01b0384166000908152600d6020908152604080832080546001019055600b9091529020612a30420190556113cf565b6001600160a01b0384166000908152600d602052604090205460031415611372576001600160a01b0384166000908152600d6020908152604080832080546001019055600b9091529020616270420190556113cf565b6001600160a01b0384166000908152600d6020526040902054600414156113cf576001600160a01b0384166000908152600d6020908152604080832080546001019055600c825280832054600b9092529091206201518090910190555b6113d88161162e565b4780156113e8576113e847611502565b6001600160a01b0385166000908152600d602052604090205461140a90611898565b505b505b6001600160a01b03831660009081526009602052604090205460019060ff168061145057506001600160a01b03831660009081526009602052604090205460ff165b15611459575060005b611465848484846118c0565b50505050565b600081848411156114fa5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114bf5781810151838201526020016114a7565b50505050905090810190601f1680156114ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600e546001600160a01b03166108fc61151c836003611856565b6040518115909202916000818181858888f19350505050158015611544573d6000803e3d6000fd5b50600f546001600160a01b03166108fc61155f836003611856565b6040518115909202916000818181858888f19350505050158015611587573d6000803e3d6000fd5b506010546001600160a01b03166108fc6115a2836003611856565b6040518115909202916000818181858888f193505050501580156115ca573d6000803e3d6000fd5b5050565b60006005548211156116115760405162461bcd60e51b815260040180806020018281038252602a815260200180611daa602a913960400191505060405180910390fd5b600061161b6118f1565b90506116278382611856565b9392505050565b6012805460ff60b01b1916600160b01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061167057fe5b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116c457600080fd5b505afa1580156116d8573d6000803e3d6000fd5b505050506040513d60208110156116ee57600080fd5b50518151829060019081106116ff57fe5b6001600160a01b0392831660209182029290920101526011546117259130911684610d44565b60115460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b838110156117ab578181015183820152602001611793565b505050509050019650505050505050600060405180830381600087803b1580156117d457600080fd5b505af11580156117e8573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b60008261180c575060006104df565b8282028284828161181957fe5b04146116275760405162461bcd60e51b8152600401808060200182810382526021815260200180611df66021913960400191505060405180910390fd5b600061162783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611914565b6014546118a590826117fd565b6014556016546118b590826117fd565b601655506007601555565b806118cd576118cd611979565b6118d88484846119b1565b8061146557611465600760148190556015556001601655565b60008060006118fe611acb565b909250905061190d8282611856565b9250505090565b600081836119635760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114bf5781810151838201526020016114a7565b50600083858161196f57fe5b0495945050505050565b6014541580156119895750601554155b80156119955750601654155b1561199f576119af565b6000601481905560158190556016555b565b6000806119bd83611b02565b915091506000806000806000806119d48888611b7b565b955095509550955095509550611a1886600260008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611bda90919063ffffffff16565b6001600160a01b03808d1660009081526002602052604080822093909355908c1681522054611a479086611c1c565b6001600160a01b038b16600090815260026020526040902055611a6981611c76565b611a738483611cc0565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050505050505050565b6005546004546000918291611ae08282611856565b821015611af857600554600454935093505050611afe565b90925090505b9091565b6000808281611b0f6118f1565b90506000611b2d6064610945601654896117fd90919063ffffffff16565b90506000611b3b82846117fd565b600454909150611b4b9083611bda565b600455600554611b5b9082611bda565b600555600754611b6b9083611c1c565b6007555091935090915050915091565b6000806000806000806000806000611b998b6014546015548d611ce4565b9250925092506000611ba96118f1565b90506000806000611bbc8f878787611d36565b919e509c509a50959850939650919450505050509295509295509295565b600061162783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061146b565b600082820183811015611627576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611c806118f1565b90506000611c8e83836117fd565b30600090815260026020526040902054909150611cab9082611c1c565b30600090815260026020526040902055505050565b600554611ccd9083611bda565b600555600654611cdd9082611c1c565b6006555050565b6000808080611cf860646109458a8a6117fd565b90506000611d0b60646109458b8a6117fd565b90506000611d2587611d1f84818e88611bda565b90611bda565b9a9299509097509095505050505050565b6000808080611d4588866117fd565b90506000611d5388876117fd565b90506000611d6188886117fd565b90506000611d7382611d1f8686611bda565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220cac8b4a0a1055dc090c96ca9aeda65ef6332efd6a6d633f88f959d574e46616c64736f6c6343000706003300000000000000000000000082c04eab368f00ba61172f4b55300176355ac11100000000000000000000000082c04eab368f00ba61172f4b55300176355ac11100000000000000000000000082c04eab368f00ba61172f4b55300176355ac111

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80636fc3eaec116100ab57806395d89b411161006f57806395d89b41146103cb578063a9059cbb146103e0578063c3c8cd8014610419578063d543dbeb1461042e578063dd62ed3e14610458578063e8078d941461049357610135565b80636fc3eaec1461034457806370a0823114610359578063715018a61461038c5780637a32bae4146103a15780638da5cb5b146103b657610135565b806323b872dd116100f257806323b872dd14610264578063313ce567146102a757806349bd5a5e146102d25780635932ead1146103035780636ddd17131461032f57610135565b806306fdde031461013a578063095ea7b3146101c45780631392d2651461021157806318160ddd146102285780631dfbdf291461024f57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104a8565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d057600080fd5b506101fd600480360360408110156101e757600080fd5b506001600160a01b0381351690602001356104c7565b604080519115158252519081900360200190f35b34801561021d57600080fd5b506102266104e5565b005b34801561023457600080fd5b5061023d610568565b60408051918252519081900360200190f35b34801561025b57600080fd5b5061023d61056e565b34801561027057600080fd5b506101fd6004803603606081101561028757600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b3480156102b357600080fd5b506102bc6105fb565b6040805160ff9092168252519081900360200190f35b3480156102de57600080fd5b506102e7610600565b604080516001600160a01b039092168252519081900360200190f35b34801561030f57600080fd5b506102266004803603602081101561032657600080fd5b5035151561060f565b34801561033b57600080fd5b506101fd610685565b34801561035057600080fd5b50610226610695565b34801561036557600080fd5b5061023d6004803603602081101561037c57600080fd5b50356001600160a01b03166106fa565b34801561039857600080fd5b5061022661071c565b3480156103ad57600080fd5b506101fd6107be565b3480156103c257600080fd5b506102e76107ce565b3480156103d757600080fd5b5061014f6107dd565b3480156103ec57600080fd5b506101fd6004803603604081101561040357600080fd5b506001600160a01b0381351690602001356107fc565b34801561042557600080fd5b50610226610810565b34801561043a57600080fd5b506102266004803603602081101561045157600080fd5b503561087e565b34801561046457600080fd5b5061023d6004803603604081101561047b57600080fd5b506001600160a01b0381358116916020013516610985565b34801561049f57600080fd5b506102266109b0565b604080518082019091526005815264045524332360dc1b602082015290565b60006104db6104d4610d40565b8484610d44565b5060015b92915050565b6104ed610d40565b6000546001600160a01b0390811691161461053d576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b601254600160a81b900460ff1661055357600080fd5b6012805460ff60a01b1916600160a01b179055565b60045490565b60075481565b6000610581848484610e30565b6105f18461058d610d40565b6105ec85604051806060016040528060288152602001611e17602891396001600160a01b038a166000908152600860205260408120906105cb610d40565b6001600160a01b03168152602081019190915260400160002054919061146b565b610d44565b5060019392505050565b600990565b6012546001600160a01b031681565b610617610d40565b6000546001600160a01b03908116911614610667576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b60128054911515600160c01b0260ff60c01b19909216919091179055565b601254600160b81b900460ff1681565b61069d610d40565b6000546001600160a01b039081169116146106ed576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b476106f781611502565b50565b6001600160a01b0381166000908152600260205260408120546104df906115ce565b610724610d40565b6000546001600160a01b03908116911614610774576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b601254600160a01b900460ff1681565b6000546001600160a01b031690565b604080518082019091526005815264065726332360dc1b602082015290565b60006104db610809610d40565b8484610e30565b610818610d40565b6000546001600160a01b03908116911614610868576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b6000610873306106fa565b90506106f78161162e565b610886610d40565b6000546001600160a01b039081169116146108d6576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b6000811161092b576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b61094b6064610945836004546117fd90919063ffffffff16565b90611856565b601381905560408051918252517f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9181900360200190a150565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b6109b8610d40565b6000546001600160a01b03908116911614610a08576040805162461bcd60e51b81526020600482018190526024820152600080516020611e3f833981519152604482015290519081900360640190fd5b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117918290556004549091610a4c9130916001600160a01b031690610d44565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8557600080fd5b505afa158015610a99573d6000803e3d6000fd5b505050506040513d6020811015610aaf57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015610aff57600080fd5b505afa158015610b13573d6000803e3d6000fd5b505050506040513d6020811015610b2957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b158015610b7b57600080fd5b505af1158015610b8f573d6000803e3d6000fd5b505050506040513d6020811015610ba557600080fd5b5051601280546001600160a01b0319166001600160a01b039283161790556011541663f305d7194730610bd7816106fa565b600080610be26107ce565b426040518863ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200196505050505050506060604051808303818588803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b50505050506040513d6060811015610c7857600080fd5b50506012805460ff60a81b1960ff60c01b1960ff60b81b19909216600160b81b1791909116600160c01b1716600160a81b179081905567712bd4c32b9f82006013556011546040805163095ea7b360e01b81526001600160a01b03928316600482015260001960248201529051919092169163095ea7b39160448083019260209291908290030181600087803b158015610d1157600080fd5b505af1158015610d25573d6000803e3d6000fd5b505050506040513d6020811015610d3b57600080fd5b505050565b3390565b6001600160a01b038316610d895760405162461bcd60e51b8152600401808060200182810382526024815260200180611ead6024913960400191505060405180910390fd5b6001600160a01b038216610dce5760405162461bcd60e51b8152600401808060200182810382526022815260200180611dd46022913960400191505060405180910390fd5b6001600160a01b03808416600081815260086020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610e755760405162461bcd60e51b8152600401808060200182810382526025815260200180611e886025913960400191505060405180910390fd5b6001600160a01b038216610eba5760405162461bcd60e51b8152600401808060200182810382526023815260200180611d876023913960400191505060405180910390fd5b60008111610ef95760405162461bcd60e51b8152600401808060200182810382526029815260200180611e5f6029913960400191505060405180910390fd5b610f016107ce565b6001600160a01b0316836001600160a01b031614158015610f3b5750610f256107ce565b6001600160a01b0316826001600160a01b031614155b1561140e57601254600160c01b900460ff1615611035576001600160a01b0383163014801590610f7457506001600160a01b0382163014155b8015610f8e57506011546001600160a01b03848116911614155b8015610fa857506011546001600160a01b03838116911614155b15611035576011546001600160a01b0316610fc1610d40565b6001600160a01b03161480610ff057506012546001600160a01b0316610fe5610d40565b6001600160a01b0316145b611035576040805162461bcd60e51b81526020600482015260116024820152704552523a20556e6973776170206f6e6c7960781b604482015290519081900360640190fd5b6012546001600160a01b03848116911614801561106057506011546001600160a01b03838116911614155b801561108557506001600160a01b03821660009081526009602052604090205460ff16155b801561109a5750601254600160c01b900460ff165b1561111457601254600160a01b900460ff166110b557600080fd5b6013548111156110c457600080fd5b6001600160a01b0382166000908152600a602052604090205442116110e857600080fd5b6001600160a01b0382166000908152600a60205260408120602d42019055600760155560036014556016555b600061111f306106fa565b601254909150600160b01b900460ff1615801561114a57506012546001600160a01b03858116911614155b801561115f5750601254600160b81b900460ff165b1561140c5760125461119190629896809061094590620425d49061118b906001600160a01b03166106fa565b906117fd565b82111580156111a257506013548211155b6111ab57600080fd5b6001600160a01b0384166000908152600b602052604090205442116111cf57600080fd5b6001600160a01b0384166000908152600c602052604090205442620151809091011015611210576001600160a01b0384166000908152600d60205260408120555b6001600160a01b0384166000908152600d6020526040902054611270576001600160a01b0384166000908152600d6020908152604080832080546001019055600c82528083204290819055600b909252909120610e1090910190556113cf565b6001600160a01b0384166000908152600d6020526040902054600114156112c6576001600160a01b0384166000908152600d6020908152604080832080546001019055600b9091529020611c20420190556113cf565b6001600160a01b0384166000908152600d60205260409020546002141561131c576001600160a01b0384166000908152600d6020908152604080832080546001019055600b9091529020612a30420190556113cf565b6001600160a01b0384166000908152600d602052604090205460031415611372576001600160a01b0384166000908152600d6020908152604080832080546001019055600b9091529020616270420190556113cf565b6001600160a01b0384166000908152600d6020526040902054600414156113cf576001600160a01b0384166000908152600d6020908152604080832080546001019055600c825280832054600b9092529091206201518090910190555b6113d88161162e565b4780156113e8576113e847611502565b6001600160a01b0385166000908152600d602052604090205461140a90611898565b505b505b6001600160a01b03831660009081526009602052604090205460019060ff168061145057506001600160a01b03831660009081526009602052604090205460ff165b15611459575060005b611465848484846118c0565b50505050565b600081848411156114fa5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114bf5781810151838201526020016114a7565b50505050905090810190601f1680156114ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600e546001600160a01b03166108fc61151c836003611856565b6040518115909202916000818181858888f19350505050158015611544573d6000803e3d6000fd5b50600f546001600160a01b03166108fc61155f836003611856565b6040518115909202916000818181858888f19350505050158015611587573d6000803e3d6000fd5b506010546001600160a01b03166108fc6115a2836003611856565b6040518115909202916000818181858888f193505050501580156115ca573d6000803e3d6000fd5b5050565b60006005548211156116115760405162461bcd60e51b815260040180806020018281038252602a815260200180611daa602a913960400191505060405180910390fd5b600061161b6118f1565b90506116278382611856565b9392505050565b6012805460ff60b01b1916600160b01b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061167057fe5b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156116c457600080fd5b505afa1580156116d8573d6000803e3d6000fd5b505050506040513d60208110156116ee57600080fd5b50518151829060019081106116ff57fe5b6001600160a01b0392831660209182029290920101526011546117259130911684610d44565b60115460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b838110156117ab578181015183820152602001611793565b505050509050019650505050505050600060405180830381600087803b1580156117d457600080fd5b505af11580156117e8573d6000803e3d6000fd5b50506012805460ff60b01b1916905550505050565b60008261180c575060006104df565b8282028284828161181957fe5b04146116275760405162461bcd60e51b8152600401808060200182810382526021815260200180611df66021913960400191505060405180910390fd5b600061162783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611914565b6014546118a590826117fd565b6014556016546118b590826117fd565b601655506007601555565b806118cd576118cd611979565b6118d88484846119b1565b8061146557611465600760148190556015556001601655565b60008060006118fe611acb565b909250905061190d8282611856565b9250505090565b600081836119635760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114bf5781810151838201526020016114a7565b50600083858161196f57fe5b0495945050505050565b6014541580156119895750601554155b80156119955750601654155b1561199f576119af565b6000601481905560158190556016555b565b6000806119bd83611b02565b915091506000806000806000806119d48888611b7b565b955095509550955095509550611a1886600260008e6001600160a01b03166001600160a01b0316815260200190815260200160002054611bda90919063ffffffff16565b6001600160a01b03808d1660009081526002602052604080822093909355908c1681522054611a479086611c1c565b6001600160a01b038b16600090815260026020526040902055611a6981611c76565b611a738483611cc0565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050505050505050565b6005546004546000918291611ae08282611856565b821015611af857600554600454935093505050611afe565b90925090505b9091565b6000808281611b0f6118f1565b90506000611b2d6064610945601654896117fd90919063ffffffff16565b90506000611b3b82846117fd565b600454909150611b4b9083611bda565b600455600554611b5b9082611bda565b600555600754611b6b9083611c1c565b6007555091935090915050915091565b6000806000806000806000806000611b998b6014546015548d611ce4565b9250925092506000611ba96118f1565b90506000806000611bbc8f878787611d36565b919e509c509a50959850939650919450505050509295509295509295565b600061162783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061146b565b600082820183811015611627576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611c806118f1565b90506000611c8e83836117fd565b30600090815260026020526040902054909150611cab9082611c1c565b30600090815260026020526040902055505050565b600554611ccd9083611bda565b600555600654611cdd9082611c1c565b6006555050565b6000808080611cf860646109458a8a6117fd565b90506000611d0b60646109458b8a6117fd565b90506000611d2587611d1f84818e88611bda565b90611bda565b9a9299509097509095505050505050565b6000808080611d4588866117fd565b90506000611d5388876117fd565b90506000611d6188886117fd565b90506000611d7382611d1f8686611bda565b939b939a5091985091965050505050505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220cac8b4a0a1055dc090c96ca9aeda65ef6332efd6a6d633f88f959d574e46616c64736f6c63430007060033

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

00000000000000000000000082c04eab368f00ba61172f4b55300176355ac11100000000000000000000000082c04eab368f00ba61172f4b55300176355ac11100000000000000000000000082c04eab368f00ba61172f4b55300176355ac111

-----Decoded View---------------
Arg [0] : addr1 (address): 0x82C04EAb368F00bA61172f4B55300176355AC111
Arg [1] : addr2 (address): 0x82C04EAb368F00bA61172f4B55300176355AC111
Arg [2] : addr3 (address): 0x82C04EAb368F00bA61172f4B55300176355AC111

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000082c04eab368f00ba61172f4b55300176355ac111
Arg [1] : 00000000000000000000000082c04eab368f00ba61172f4b55300176355ac111
Arg [2] : 00000000000000000000000082c04eab368f00ba61172f4b55300176355ac111


Deployed Bytecode Sourcemap

3546:13383:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5736:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6588:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6588:161:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7075:114;;;;;;;;;;;;;:::i;:::-;;6013:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4064:28;;;;;;;;;;;;;:::i;6757:310::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6757:310:0;;;;;;;;;;;;;;;;;:::i;5922:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4637:28;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4637:28:0;;;;;;;;;;;;;;8295:105;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8295:105:0;;;;:::i;4789:31::-;;;;;;;;;;;;;:::i;8132:155::-;;;;;;;;;;;;;:::i;6116:138::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6116:138:0;-1:-1:-1;;;;;6116:138:0;;:::i;2599:148::-;;;;;;;;;;;;;:::i;4674:32::-;;;;;;;;;;;;;:::i;2385:79::-;;;;;;;;;;;;;:::i;5827:87::-;;;;;;;;;;;;;:::i;6262:167::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6262:167:0;;;;;;;;:::i;7968:156::-;;;;;;;;;;;;;:::i;8408:255::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8408:255:0;;:::i;6437:143::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6437:143:0;;;;;;;;;;:::i;7197:763::-;;;;;;;;;;;;;:::i;5736:83::-;5806:5;;;;;;;;;;;;-1:-1:-1;;;5806:5:0;;;;5736:83;:::o;6588:161::-;6663:4;6680:39;6689:12;:10;:12::i;:::-;6703:7;6712:6;6680:8;:39::i;:::-;-1:-1:-1;6737:4:0;6588:161;;;;;:::o;7075:114::-;2522:12;:10;:12::i;:::-;2512:6;;-1:-1:-1;;;;;2512:6:0;;;:22;;;2504:67;;;;;-1:-1:-1;;;2504:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2504:67:0;;;;;;;;;;;;;;;7136:14:::1;::::0;-1:-1:-1;;;7136:14:0;::::1;;;7128:23;;;::::0;::::1;;7162:12;:19:::0;;-1:-1:-1;;;;7162:19:0::1;-1:-1:-1::0;;;7162:19:0::1;::::0;;7075:114::o;6013:95::-;6093:7;;6013:95;:::o;4064:28::-;;;;:::o;6757:310::-;6855:4;6872:36;6882:6;6890:9;6901:6;6872:9;:36::i;:::-;6919:118;6928:6;6935:12;:10;:12::i;:::-;6948:88;6986:6;6948:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6948:19:0;;;;;;:11;:19;;;;;;6968:12;:10;:12::i;:::-;-1:-1:-1;;;;;6948:33:0;;;;;;;;;;;;-1:-1:-1;6948:33:0;;;:88;:37;:88::i;:::-;6919:8;:118::i;:::-;-1:-1:-1;7055:4:0;6757:310;;;;;:::o;5922:83::-;3758:1;5922:83;:::o;4637:28::-;;;-1:-1:-1;;;;;4637:28:0;;:::o;8295:105::-;2522:12;:10;:12::i;:::-;2512:6;;-1:-1:-1;;;;;2512:6:0;;;:22;;;2504:67;;;;;-1:-1:-1;;;2504:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2504:67:0;;;;;;;;;;;;;;;8368:15:::1;:24:::0;;;::::1;;-1:-1:-1::0;;;8368:24:0::1;-1:-1:-1::0;;;;8368:24:0;;::::1;::::0;;;::::1;::::0;;8295:105::o;4789:31::-;;;-1:-1:-1;;;4789:31:0;;;;;:::o;8132:155::-;2522:12;:10;:12::i;:::-;2512:6;;-1:-1:-1;;;;;2512:6:0;;;:22;;;2504:67;;;;;-1:-1:-1;;;2504:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2504:67:0;;;;;;;;;;;;;;;8215:21:::1;8247:32;8215:21:::0;8247:12:::1;:32::i;:::-;2582:1;8132:155::o:0;6116:138::-;-1:-1:-1;;;;;6229:16:0;;6182:7;6229:16;;;:7;:16;;;;;;6209:37;;:19;:37::i;2599:148::-;2522:12;:10;:12::i;:::-;2512:6;;-1:-1:-1;;;;;2512:6:0;;;:22;;;2504:67;;;;;-1:-1:-1;;;2504:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2504:67:0;;;;;;;;;;;;;;;2706:1:::1;2690:6:::0;;2669:40:::1;::::0;-1:-1:-1;;;;;2690:6:0;;::::1;::::0;2669:40:::1;::::0;2706:1;;2669:40:::1;2737:1;2720:19:::0;;-1:-1:-1;;;;;;2720:19:0::1;::::0;;2599:148::o;4674:32::-;;;-1:-1:-1;;;4674:32:0;;;;;:::o;2385:79::-;2423:7;2450:6;-1:-1:-1;;;;;2450:6:0;2385:79;:::o;5827:87::-;5899:7;;;;;;;;;;;;-1:-1:-1;;;5899:7:0;;;;5827:87;:::o;6262:167::-;6340:4;6357:42;6367:12;:10;:12::i;:::-;6381:9;6392:6;6357:9;:42::i;7968:156::-;2522:12;:10;:12::i;:::-;2512:6;;-1:-1:-1;;;;;2512:6:0;;;:22;;;2504:67;;;;;-1:-1:-1;;;2504:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2504:67:0;;;;;;;;;;;;;;;8022:23:::1;8048:24;8066:4;8048:9;:24::i;:::-;8022:50;;8083:33;8100:15;8083:16;:33::i;8408:255::-:0;2522:12;:10;:12::i;:::-;2512:6;;-1:-1:-1;;;;;2512:6:0;;;:22;;;2504:67;;;;;-1:-1:-1;;;2504:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2504:67:0;;;;;;;;;;;;;;;8510:1:::1;8495:12;:16;8487:58;;;::::0;;-1:-1:-1;;;8487:58:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8571:36;8601:5;8571:25;8583:12;8571:7;;:11;;:25;;;;:::i;:::-;:29:::0;::::1;:36::i;:::-;8556:12;:51:::0;;;8623:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;8408:255:::0;:::o;6437:143::-;-1:-1:-1;;;;;6545:18:0;;;6518:7;6545:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6437:143::o;7197:763::-;2522:12;:10;:12::i;:::-;2512:6;;-1:-1:-1;;;;;2512:6:0;;;:22;;;2504:67;;;;;-1:-1:-1;;;2504:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2504:67:0;;;;;;;;;;;;;;;7364:15:::1;:34:::0;;-1:-1:-1;;;;;;7364:34:0::1;7310:42;7364:34:::0;;::::1;::::0;;;;7459:7:::1;::::0;7310:42;;7409:58:::1;::::0;7426:4:::1;::::0;-1:-1:-1;;;;;7441:15:0::1;::::0;7409:8:::1;:58::i;:::-;7512:16;-1:-1:-1::0;;;;;7512:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7512:26:0;7566:23:::1;::::0;;-1:-1:-1;;;7566:23:0;;;;-1:-1:-1;;;;;7494:56:0;;::::1;::::0;::::1;::::0;7559:4:::1;::::0;7566:21;;::::1;::::0;::::1;::::0;:23:::1;::::0;;::::1;::::0;7512:26:::1;::::0;7566:23;;;;;;;;:21;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7566:23:0;7494:96:::1;::::0;;-1:-1:-1;;;;;;7494:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7494:96:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;7566:23:::1;::::0;7494:96;;;;;;;-1:-1:-1;7494:96:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;7494:96:0;7478:13:::1;:112:::0;;-1:-1:-1;;;;;;7478:112:0::1;-1:-1:-1::0;;;;;7478:112:0;;::::1;;::::0;;7601:15:::1;::::0;::::1;:31;7640:21;7671:4;7677:24;7671:4:::0;7677:9:::1;:24::i;:::-;7702:1;7704::::0;7706:7:::1;:5;:7::i;:::-;7714:15;7601:129;;;;;;;;;;;;;-1:-1:-1::0;;;;;7601:129:0::1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7601:129:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;7741:11:0::1;:18:::0;;-1:-1:-1;;;;;;;;;;;;7741:18:0;;::::1;-1:-1:-1::0;;;7741:18:0::1;7770:22:::0;;;::::1;-1:-1:-1::0;;;7770:22:0::1;7803:21;-1:-1:-1::0;;;7803:21:0::1;::::0;;;;7850:18:::1;7835:12;:33:::0;7917:15:::1;::::0;7601:129;7879:73;;-1:-1:-1;;;7879:73:0;;-1:-1:-1;;;;;7917:15:0;;::::1;7879:73;::::0;::::1;::::0;-1:-1:-1;;7879:73:0;;;;;;7886:13;;;::::1;::::0;7879:29:::1;::::0;:73;;;;;7601:129:::1;::::0;7879:73;;;;;;;7741:18;7886:13;7879:73;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;7197:763:0:o;106:98::-;186:10;106:98;:::o;8932:335::-;-1:-1:-1;;;;;9025:19:0;;9017:68;;;;-1:-1:-1;;;9017:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9104:21:0;;9096:68;;;;-1:-1:-1;;;9096:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9175:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9227:32;;;;;;;;;;;;;;;;;8932:335;;;:::o;9275:3108::-;-1:-1:-1;;;;;9363:18:0;;9355:68;;;;-1:-1:-1;;;9355:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9442:16:0;;9434:64;;;;-1:-1:-1;;;9434:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9526:1;9517:6;:10;9509:64;;;;-1:-1:-1;;;9509:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9598:7;:5;:7::i;:::-;-1:-1:-1;;;;;9590:15:0;:4;-1:-1:-1;;;;;9590:15:0;;;:32;;;;;9615:7;:5;:7::i;:::-;-1:-1:-1;;;;;9609:13:0;:2;-1:-1:-1;;;;;9609:13:0;;;9590:32;9586:2576;;;9643:15;;-1:-1:-1;;;9643:15:0;;;;9639:320;;;-1:-1:-1;;;;;9683:21:0;;9699:4;9683:21;;;;:44;;-1:-1:-1;;;;;;9708:19:0;;9722:4;9708:19;;9683:44;:80;;;;-1:-1:-1;9747:15:0;;-1:-1:-1;;;;;9731:32:0;;;9747:15;;9731:32;;9683:80;:114;;;;-1:-1:-1;9781:15:0;;-1:-1:-1;;;;;9767:30:0;;;9781:15;;9767:30;;9683:114;9679:265;;;9854:15;;-1:-1:-1;;;;;9854:15:0;9830:12;:10;:12::i;:::-;-1:-1:-1;;;;;9830:40:0;;:73;;;-1:-1:-1;9890:13:0;;-1:-1:-1;;;;;9890:13:0;9874:12;:10;:12::i;:::-;-1:-1:-1;;;;;9874:29:0;;9830:73;9822:102;;;;;-1:-1:-1;;;9822:102:0;;;;;;;;;;;;-1:-1:-1;;;9822:102:0;;;;;;;;;;;;;;;9985:13;;-1:-1:-1;;;;;9977:21:0;;;9985:13;;9977:21;:55;;;;-1:-1:-1;10016:15:0;;-1:-1:-1;;;;;10002:30:0;;;10016:15;;10002:30;;9977:55;:82;;;;-1:-1:-1;;;;;;10037:22:0;;;;;;:18;:22;;;;;;;;10036:23;9977:82;:101;;;;-1:-1:-1;10063:15:0;;-1:-1:-1;;;10063:15:0;;;;9977:101;9973:439;;;10107:12;;-1:-1:-1;;;10107:12:0;;;;10099:21;;;;;;10157:12;;10147:6;:22;;10139:31;;;;;;-1:-1:-1;;;;;10197:15:0;;;;;;:11;:15;;;;;;10215;-1:-1:-1;10189:42:0;;;;;;-1:-1:-1;;;;;10250:15:0;;;;;;:11;:15;;;;;10287:10;10268:15;:30;10250:48;;10328:1;10317:8;:12;10362:1;10348:11;:15;10382:10;:14;9973:439;10426:28;10457:24;10475:4;10457:9;:24::i;:::-;10501:6;;10426:55;;-1:-1:-1;;;;10501:6:0;;;;10500:7;:32;;;;-1:-1:-1;10519:13:0;;-1:-1:-1;;;;;10511:21:0;;;10519:13;;10511:21;;10500:32;:47;;;;-1:-1:-1;10536:11:0;;-1:-1:-1;;;10536:11:0;;;;10500:47;10496:1655;;;10596:13;;10586:50;;10627:8;;10586:36;;10615:6;;10586:24;;-1:-1:-1;;;;;10596:13:0;10586:9;:24::i;:::-;:28;;:36::i;:50::-;10576:6;:60;;:86;;;;;10650:12;;10640:6;:22;;10576:86;10568:95;;;;;;-1:-1:-1;;;;;10690:18:0;;;;;;:12;:18;;;;;;10711:15;-1:-1:-1;10682:45:0;;;;;;-1:-1:-1;;;;;10749:15:0;;;;;;:9;:15;;;;;;10778;10768:6;10749:26;;;:44;10746:111;;;-1:-1:-1;;;;;10817:16:0;;10836:1;10817:16;;;:10;:16;;;;;:20;10746:111;-1:-1:-1;;;;;10879:16:0;;;;;;:10;:16;;;;;;10875:968;;-1:-1:-1;;;;;10925:16:0;;;;;;:10;:16;;;;;;;;:18;;;;;;10966:9;:15;;;;;10984;10966:33;;;;11022:12;:18;;;;;;11062:7;11043:27;;;11022:48;;10875:968;;;-1:-1:-1;;;;;11117:16:0;;;;;;:10;:16;;;;;;11137:1;11117:21;11113:730;;;-1:-1:-1;;;;;11163:16:0;;;;;;:10;:16;;;;;;;;:18;;;;;;11204:12;:18;;;;;11244:7;11225:15;:27;11204:48;;11113:730;;;-1:-1:-1;;;;;11299:16:0;;;;;;:10;:16;;;;;;11319:1;11299:21;11295:548;;;-1:-1:-1;;;;;11345:16:0;;;;;;:10;:16;;;;;;;;:18;;;;;;11386:12;:18;;;;;11426:7;11407:15;:27;11386:48;;11295:548;;;-1:-1:-1;;;;;11481:16:0;;;;;;:10;:16;;;;;;11501:1;11481:21;11477:366;;;-1:-1:-1;;;;;11527:16:0;;;;;;:10;:16;;;;;;;;:18;;;;;;11568:12;:18;;;;;11608:7;11589:15;:27;11568:48;;11477:366;;;-1:-1:-1;;;;;11689:16:0;;;;;;:10;:16;;;;;;11709:1;11689:21;11685:158;;;-1:-1:-1;;;;;11735:16:0;;;;;;:10;:16;;;;;;;;:18;;;;;;11797:9;:15;;;;;;11776:12;:18;;;;;;11816:6;11797:26;;;11776:47;;11685:158;11861:38;11878:20;11861:16;:38::i;:::-;11947:21;11991:22;;11987:106;;12038:35;12051:21;12038:12;:35::i;:::-;-1:-1:-1;;;;;12118:16:0;;;;;;:10;:16;;;;;;12111:24;;:6;:24::i;:::-;10496:1655;;9586:2576;;-1:-1:-1;;;;;12206:24:0;;12172:12;12206:24;;;:18;:24;;;;;;12187:4;;12206:24;;;:50;;-1:-1:-1;;;;;;12234:22:0;;;;;;:18;:22;;;;;;;;12206:50;12202:98;;;-1:-1:-1;12283:5:0;12202:98;12310:41;12325:4;12331:2;12335:6;12343:7;12310:14;:41::i;:::-;9275:3108;;;;:::o;1243:190::-;1329:7;1365:12;1357:6;;;;1349:29;;;;-1:-1:-1;;;1349:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1401:5:0;;;1243:190::o;16686:203::-;16743:12;;-1:-1:-1;;;;;16743:12:0;:36;16765:13;:6;16776:1;16765:10;:13::i;:::-;16743:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16790:15:0;;-1:-1:-1;;;;;16790:15:0;:39;16815:13;:6;16826:1;16815:10;:13::i;:::-;16790:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16840:17:0;;-1:-1:-1;;;;;16840:17:0;:41;16867:13;:6;16878:1;16867:10;:13::i;:::-;16840:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16686:203;:::o;8671:253::-;8739:7;8778;;8767;:18;;8759:72;;;;-1:-1:-1;;;8759:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8842:19;8864:10;:8;:10::i;:::-;8842:32;-1:-1:-1;8892:24:0;:7;8842:32;8892:11;:24::i;:::-;8885:31;8671:253;-1:-1:-1;;;8671:253:0:o;16271:407::-;5119:6;:13;;-1:-1:-1;;;;5119:13:0;-1:-1:-1;;;5119:13:0;;;16373:16:::1;::::0;;16387:1:::1;16373:16:::0;;;;;::::1;::::0;;-1:-1:-1;;16373:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16373:16:0::1;16349:40;;16418:4;16400;16405:1;16400:7;;;;;;;;-1:-1:-1::0;;;;;16400:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16444:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16444:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16400:7;;16444:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;16444:22:0;16434:7;;:4;;16439:1:::1;::::0;16434:7;::::1;;;;;-1:-1:-1::0;;;;;16434:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16509:15:::1;::::0;16477:62:::1;::::0;16494:4:::1;::::0;16509:15:::1;16527:11:::0;16477:8:::1;:62::i;:::-;16550:15;::::0;:120:::1;::::0;-1:-1:-1;;;16550:120:0;;::::1;::::0;::::1;::::0;;;:15:::1;:120:::0;;;;;;16647:4:::1;16550:120:::0;;;;;;16654:15:::1;16550:120:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16550:15:0;;::::1;::::0;:66:::1;::::0;16617:11;;16633:4;;16647;16654:15;16550:120;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:15;:120:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5155:6:0;:14;;-1:-1:-1;;;;5155:14:0;;;-1:-1:-1;;;;16271:407:0:o;1441:246::-;1499:7;1523:6;1519:47;;-1:-1:-1;1553:1:0;1546:8;;1519:47;1588:5;;;1592:1;1588;:5;:1;1612:5;;;;;:10;1604:56;;;;-1:-1:-1;;;1604:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1695:132;1753:7;1780:39;1784:1;1787;1780:39;;;;;;;;;;;;;;;;;:3;:39::i;12715:185::-;12784:11;;:27;;12800:10;12784:15;:27::i;:::-;12770:11;:41;12835:10;;:26;;12850:10;12835:14;:26::i;:::-;12822:10;:39;-1:-1:-1;12883:1:0;12872:8;:12;12715:185::o;12908:239::-;13021:7;13016:28;;13030:14;:12;:14::i;:::-;13055:44;13073:6;13081:9;13092:6;13055:17;:44::i;:::-;13115:7;13110:29;;13124:15;12646:1;12632:11;:15;;;12658:8;:12;12694:1;12681:10;:14;12588:115::o;15834:164::-;15876:7;15897:15;15914;15933:19;:17;:19::i;:::-;15896:56;;-1:-1:-1;15896:56:0;-1:-1:-1;15970:20:0;15896:56;;15970:11;:20::i;:::-;15963:27;;;;15834:164;:::o;1835:189::-;1921:7;1956:12;1949:5;1941:28;;;;-1:-1:-1;;;1941:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1980:9;1996:1;1992;:5;;;;;;;1835:189;-1:-1:-1;;;;;1835:189:0:o;12391:::-;12438:11;;:16;:33;;;;-1:-1:-1;12458:8:0;;:13;12438:33;:52;;;;-1:-1:-1;12475:10:0;;:15;12438:52;12434:65;;;12492:7;;12434:65;12523:1;12509:11;:15;;;12535:8;:12;;;12558:10;:14;12391:189;:::o;13153:560::-;13251:15;13268:13;13285:21;13299:6;13285:13;:21::i;:::-;13250:56;;;;13318:15;13335:23;13360:12;13374:23;13399:12;13413:13;13430:26;13441:7;13450:5;13430:10;:26::i;:::-;13317:139;;;;;;;;;;;;13485:28;13505:7;13485;:15;13493:6;-1:-1:-1;;;;;13485:15:0;-1:-1:-1;;;;;13485:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;13467:15:0;;;;;;;:7;:15;;;;;;:46;;;;13545:18;;;;;;;:39;;13568:15;13545:22;:39::i;:::-;-1:-1:-1;;;;;13524:18:0;;;;;;:7;:18;;;;;:60;13595:16;13605:5;13595:9;:16::i;:::-;13622:23;13634:4;13640;13622:11;:23::i;:::-;13678:9;-1:-1:-1;;;;;13661:44:0;13670:6;-1:-1:-1;;;;;13661:44:0;;13689:15;13661:44;;;;;;;;;;;;;;;;;;13153:560;;;;;;;;;;;:::o;16006:257::-;16104:7;;16140;;16057;;;;16172:20;16104:7;16140;16172:11;:20::i;:::-;16162:7;:30;16158:61;;;16202:7;;16211;;16194:25;;;;;;;;16158:61;16238:7;;-1:-1:-1;16247:7:0;-1:-1:-1;16006:257:0;;;:::o;13940:424::-;13993:4;;14035:6;13993:4;14074:10;:8;:10::i;:::-;14052:32;;14095:13;14111:31;14138:3;14111:22;14122:10;;14111:6;:10;;:22;;;;:::i;:31::-;14095:47;-1:-1:-1;14153:13:0;14169:22;14095:47;14179:11;14169:9;:22::i;:::-;14212:7;;14153:38;;-1:-1:-1;14212:18:0;;14224:5;14212:11;:18::i;:::-;14202:7;:28;14251:7;;:18;;14263:5;14251:11;:18::i;:::-;14241:7;:28;14296:13;;:24;;14314:5;14296:17;:24::i;:::-;14280:13;:40;-1:-1:-1;14339:9:0;;-1:-1:-1;14350:5:0;;-1:-1:-1;;13940:424:0;;;:::o;14531:493::-;14605:7;14614;14623;14632;14641;14650;14671:23;14696:12;14710:13;14727:50;14739:7;14748:11;;14761:8;;14771:5;14727:11;:50::i;:::-;14670:107;;;;;;14788:19;14810:10;:8;:10::i;:::-;14788:32;;14832:15;14849:23;14874:12;14890:46;14902:7;14911:4;14917:5;14924:11;14890;:46::i;:::-;14831:105;;-1:-1:-1;14831:105:0;-1:-1:-1;14831:105:0;-1:-1:-1;14987:15:0;;-1:-1:-1;15004:4:0;;-1:-1:-1;15010:5:0;;-1:-1:-1;;;;;14531:493:0;;;;;;;;:::o;1099:136::-;1157:7;1184:43;1188:1;1191;1184:43;;;;;;;;;;;;;;;;;:3;:43::i;912:179::-;970:7;1002:5;;;1026:6;;;;1018:46;;;;;-1:-1:-1;;;1018:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13721:211;13774:19;13796:10;:8;:10::i;:::-;13774:32;-1:-1:-1;13817:13:0;13833:22;:5;13774:32;13833:9;:22::i;:::-;13907:4;13891:22;;;;:7;:22;;;;;;13817:38;;-1:-1:-1;13891:33:0;;13817:38;13891:26;:33::i;:::-;13882:4;13866:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;13721:211:0:o;14376:147::-;14454:7;;:17;;14466:4;14454:11;:17::i;:::-;14444:7;:27;14495:10;;:20;;14510:4;14495:14;:20::i;:::-;14482:10;:33;-1:-1:-1;;14376:147:0:o;15032:377::-;15140:7;;;;15193:28;15217:3;15193:19;:7;15205:6;15193:11;:19::i;:28::-;15178:43;-1:-1:-1;15232:13:0;15248:29;15273:3;15248:20;:7;15260;15248:11;:20::i;:29::-;15232:45;-1:-1:-1;15288:23:0;15314:39;15347:5;15314:28;15232:45;15314:28;:7;15326:4;15314:11;:17::i;:::-;:21;;:28::i;:39::-;15288:65;15389:4;;-1:-1:-1;15395:5:0;;-1:-1:-1;15032:377:0;;-1:-1:-1;;;;;;15032:377:0:o;15417:409::-;15527:7;;;;15583:24;:7;15595:11;15583;:24::i;:::-;15565:42;-1:-1:-1;15618:12:0;15633:21;:4;15642:11;15633:8;:21::i;:::-;15618:36;-1:-1:-1;15665:13:0;15681:22;:5;15691:11;15681:9;:22::i;:::-;15665:38;-1:-1:-1;15714:23:0;15740:28;15665:38;15740:17;:7;15752:4;15740:11;:17::i;:28::-;15787:7;;;;-1:-1:-1;15813:4:0;;-1:-1:-1;15417:409:0;;-1:-1:-1;;;;;;;15417:409:0:o

Swarm Source

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