ETH Price: $3,802.47 (-1.94%)
Gas: 7 Gwei

Token

DickSize (inch)
 

Overview

Max Total Supply

15,000,000 inch

Holders

14

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 2 Decimals)

Filtered by Token Holder
Exmo 2
Balance
500,000 inch

Value
$0.00
0xd7b9a9b2f665849c4071ad5af77d8c76aa30fb32
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:
DickSizeToken

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-03-13
*/

// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;


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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;
    address payable private _Powner;   

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

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

    function owner() public view virtual returns (address) {
        return _owner;
    }
    
    function owner_payable() public view virtual returns (address payable) {
        return _Powner;
    }

    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 payable newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
        _Powner = newOwner;
    }
}


//雞巴大小
contract DickSizeToken is Ownable, IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _maximums;
    
    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;
    uint256 public _limitICO; // limit for faucet and mining
    uint256 private _coinbase; // profit from mining per member
    uint256 private _bigBonusLim;  // max bonus for bigDick
    uint256 public _bonusWins; // How many BigDicks was
    uint256 public _kingsize; // the royal size of penis
    uint256 public _micropenis;    
    uint256 public _ratioInchPerEther;  //price for buy 
    uint256 public _minWei; // the minimal wei in address to consider it real. For mining 
    
    uint256 public _LastRecordSet;  // sets by func IhaveTheBiggestDick. For big bonus  
    address public _theBiggestDick; // arddress of the biggest dick
    string public _MessageFromBigDick; //mess to the all world
    string public _Intro; // 'hurry up! Less than two million mens will have a king size (7") penis';
    
    string private _name;
    string private _symbol;
    uint8 private _decimals;
  
    event BuyDickInch(address indexed from, uint256 amountWEI);  
    event BigDickBonus(address indexed to, uint256 amountInch);
    event BigDickSays(address indexed from, string Says);    


    constructor () public { //string memory name_, string memory symbol_

        _name = "DickSize"; //"DickSize";
       _symbol = "inch";//"inch"; 
       _decimals = 2;  //_setupDecimals(2);
       _mint(_msgSender(),1500000000); 
       _coinbase=100;     //setup_coinbase(100);
       _bigBonusLim = 10000; //setup_bigBonusLim(10000) ;
       _kingsize = 700;
       _micropenis = 300;
       _limitICO = 1000000000; //setup_limitICO(1000000000);
       _ratioInchPerEther = 2000; //setup_ratioInchPerEther(20); //averege 100$
       _minWei = 10**14; //setup_minWei(10**14);
    }
    
 
    // setups
    function setup_Intro(string memory value)public virtual onlyOwner{
        _Intro = value;
    }
    
    function setup_bigBonusLim(uint256 value)public virtual onlyOwner{
        _bigBonusLim = value;
    }
    
    function setup_ratioInchPerEther(uint256 price)public virtual onlyOwner{
        _ratioInchPerEther = price.mul(10**_decimals);
    }
    
    function setup_minWei(uint256 value)public virtual onlyOwner{
        _minWei = value;
    }
    
    function setup_limitICO(uint256 value)public virtual onlyOwner{
        _limitICO = value;
    } 
    
    function setup_coinbase(uint256 value)public virtual onlyOwner{
        _coinbase = value;
    } 
    

    
    function send_to (address[] memory newMembers,uint256 value) public virtual onlyOwner{
        uint256 len = newMembers.length;
        for (uint256 i = 0; i < len; i++)
        extend(newMembers[i],value); 
        
    }
    
    // setups

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


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


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


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


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


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


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


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


    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }


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


    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }


    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        if (_maximums[recipient]<_balances[recipient]) _maximums[recipient]=_balances[recipient];
        emit Transfer(sender, recipient, amount);
    }


    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }


    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        
        _beforeTokenTransfer(account, address(0), amount);
        
        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }


    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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 _setupDecimals(uint8 decimals_) internal virtual {
        _decimals = decimals_;
    }


    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}

//feature
//coinbase for mining
    function coinbase() public view virtual  returns (uint256) {
        uint256 declim  = totalSupply().sub(_limitICO);
        if (_balances[owner()]<declim) return 0;
        return _coinbase;
    }
    

//coinbase to the new memders
    function giftbase() public view virtual  returns (uint256) {
        if (coinbase()==0) return 0;
        return coinbase().div(2);
    }

// bonus for the biggest dick    
    function bigbonus() public view virtual  returns (uint256) {
        if (_bonusWins.mul(100)>=_bigBonusLim) return _bigBonusLim;
        return _bonusWins.mul(100);
    }

//real length of champion
    function BigDickLength() public view virtual returns (uint256){
        return balanceOf(_theBiggestDick);
    }  

    function isNew(address to) public view virtual returns (bool){
        return  _maximums[to]==0 && address(to).balance>=_minWei;    
    }

 
//    function isNewCheck(address to) public virtual returns (bool){
//            require(address(to).balance>=_minWei, "isNew: recipient must have _minWei");        
//            require(_balances[to]==0, "isNew: recipient already have inches");
//            return true;
//    }

    function extend(address to, uint256 amount) internal virtual returns (bool){ 
        require(amount < _balances[owner()], "Opps! The global men's fund is almost empty");
        _balances[owner()] = _balances[owner()].sub(amount);
        _balances[to] = _balances[to].add(amount);
        if (_maximums[to]<_balances[to]) _maximums[to]=_balances[to];
        emit Transfer(owner(), to, amount); 
        return true;
    }

// free inch    
    function faucet () public returns (bool){
         require(coinbase() != 0, "Coinbase is zero");   
         require(_maximums[_msgSender()]<_micropenis, "faucet: You already have minimum inches, try to mining");
         extend(_msgSender(),coinbase()); 
         return true;
    }  


// You can buy Inches by Ether with price's ratio "_ratioInchPerEther"  
    function buyInches() payable external  {
        uint256 amountEth = msg.value;
        uint256 amountToken = amountEth.mul(_ratioInchPerEther).div(10**18);
        require(amountEth > 0, "You need to send some ether to buy inches");
        require(amountToken > 0, "Oh! It is not enough to buy even a small piece");        

        extend(_msgSender(),amountToken); 
        owner_payable().transfer(amountEth);
        emit BuyDickInch(_msgSender(), amountEth);  
    }

//if you really have the biggest dick, then capture it in history and leave a message to posterity
    function IhaveTheBiggestDick(string memory MessageToTheWorld) public returns (bool){
        require(_msgSender()!=owner(), "Sorry, the owner has no rights"); 
        require(_msgSender()!=_theBiggestDick, "You already have The Biggest dick");
        require(_balances[_msgSender()]>_balances[_theBiggestDick], "Sorry, it's not true");
        _theBiggestDick = _msgSender();
        _MessageFromBigDick = MessageToTheWorld;
        
//BigDickBonus - if you exceed the previous record by more than double bonus, you will receive a bonus 
        if (_balances[_msgSender()]>=_LastRecordSet.add(bigbonus().mul(2))){
             extend(_msgSender(),bigbonus());
             _bonusWins++;
             emit BigDickBonus(_msgSender(),bigbonus());
        }
        
        _LastRecordSet = _balances[_theBiggestDick];
        emit BigDickSays(_theBiggestDick,_MessageFromBigDick);
        return true;
    }



// Mining by newMembers without this token with minimum wei 
    function mining (address[] memory newMembers) public returns (bool){
        require(coinbase() != 0, "Coinbase is zero");   
        uint256 len = newMembers.length;
        for (uint256 i = 0; i < len; i++)
        if (isNew(newMembers[i])) {
        extend(newMembers[i],giftbase()); 
        extend(_msgSender(),coinbase()); 
        }
        return true;
    }  


// Size without decimals
    function mySizeInInch(address YourAddress) public  view virtual returns (uint256) {
        return balanceOf(YourAddress).div(10**_decimals);
    }
    
// Size in centimeters without decimals
    function mySizeInCM(address YourAddress) public  view virtual returns (uint256) {
      //  return balanceOf(_msgSender()).mul(254).div(100).div(10**_decimals);
      return balanceOf(YourAddress).mul(254).div(100).div(10**_decimals);
    }    
    
//feature    
    
}

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }


    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) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }


//    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
//        require(b > 0, "SafeMath: modulo by zero");
//        return a % b;
//    }
    
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        return a - b;
    }


    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        return a / b;
    }


//    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
//        require(b > 0, errorMessage);
//        return a % b;
//    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountInch","type":"uint256"}],"name":"BigDickBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"string","name":"Says","type":"string"}],"name":"BigDickSays","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountWEI","type":"uint256"}],"name":"BuyDickInch","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":"BigDickLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"MessageToTheWorld","type":"string"}],"name":"IhaveTheBiggestDick","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_Intro","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_LastRecordSet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_MessageFromBigDick","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_bonusWins","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_kingsize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_limitICO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_micropenis","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minWei","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ratioInchPerEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_theBiggestDick","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"bigbonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyInches","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"coinbase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"faucet","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"giftbase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"isNew","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"newMembers","type":"address[]"}],"name":"mining","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"YourAddress","type":"address"}],"name":"mySizeInCM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"YourAddress","type":"address"}],"name":"mySizeInInch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner_payable","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"newMembers","type":"address[]"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"send_to","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"value","type":"string"}],"name":"setup_Intro","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setup_bigBonusLim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setup_coinbase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setup_limitICO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setup_minWei","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"name":"setup_ratioInchPerEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060006200001e62000130565b600080546001600160a01b0383166001600160a01b031991821681178355600180549092168117909155604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350604080518082019091526008808252674469636b53697a6560c01b6020909201918252620000a691601291620002ae565b50604080518082019091526004808252630d2dcc6d60e31b6020909201918252620000d491601391620002ae565b506014805460ff19166002179055620000fb620000f062000130565b6359682f0062000134565b60646007556127106008556102bc600a5561012c600b55633b9aca006006556107d0600c55655af3107a4000600d556200035a565b3390565b6001600160a01b03821662000190576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200019e6000838362000247565b620001ba816005546200024c60201b62001b201790919060201c565b6005556001600160a01b038216600090815260026020908152604090912054620001ef91839062001b206200024c821b17901c565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620002a7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002e6576000855562000331565b82601f106200030157805160ff191683800117855562000331565b8280016001018555821562000331579182015b828111156200033157825182559160200191906001019062000314565b506200033f92915062000343565b5090565b5b808211156200033f576000815560010162000344565b612474806200036a6000396000f3fe60806040526004361061025c5760003560e01c806390e4efdc11610144578063b9cb4bc1116100b6578063dd62ed3e1161007a578063dd62ed3e14610a22578063de5f72fd14610a5d578063e5fad4bf14610a72578063ecbcd6e714610a87578063f0bdb92114610ab1578063f2fde38b14610ac65761025c565b8063b9cb4bc1146109a4578063bc7e35b9146109b9578063cc0e1195146109e3578063d8201817146109f8578063d8d42d3214610a0d5761025c565b8063a6ae0aac11610108578063a6ae0aac14610833578063a9059cbb14610848578063a94388a014610881578063ad50c92714610896578063b773d35714610947578063b9b6e8021461097a5761025c565b806390e4efdc146106f657806395d89b4114610720578063991caf4a146107355780639b055906146107e5578063a457c2d7146107fa5761025c565b80633ee1ccec116101dd57806372949618116101a15780637294961814610645578063766069c21461065a578063865441ef1461068d5780638bf854da146106a25780638ccfa264146106b75780638da5cb5b146106e15761025c565b80633ee1ccec146105325780634b45752c1461053a5780635461e677146105e857806370a08231146105fd578063715018a6146106305761025c565b806323b872dd1161022457806323b872dd146103a7578063264d1a40146103ea578063313ce5671461041b57806335db80e21461044657806339509351146104f95761025c565b80630639f3ce1461026157806306fdde03146102a8578063095ea7b314610332578063120e53d61461036b57806318160ddd14610392575b600080fd5b34801561026d57600080fd5b506102946004803603602081101561028457600080fd5b50356001600160a01b0316610af9565b604080519115158252519081900360200190f35b3480156102b457600080fd5b506102bd610b31565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f75781810151838201526020016102df565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033e57600080fd5b506102946004803603604081101561035557600080fd5b506001600160a01b038135169060200135610bc8565b34801561037757600080fd5b50610380610be5565b60408051918252519081900360200190f35b34801561039e57600080fd5b50610380610beb565b3480156103b357600080fd5b50610294600480360360608110156103ca57600080fd5b506001600160a01b03813581169160208101359091169060400135610bf1565b3480156103f657600080fd5b506103ff610c78565b604080516001600160a01b039092168252519081900360200190f35b34801561042757600080fd5b50610430610c87565b6040805160ff9092168252519081900360200190f35b34801561045257600080fd5b506104f76004803603602081101561046957600080fd5b810190602081018135600160201b81111561048357600080fd5b82018360208201111561049557600080fd5b803590602001918460018302840111600160201b831117156104b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c90945050505050565b005b34801561050557600080fd5b506102946004803603604081101561051c57600080fd5b506001600160a01b038135169060200135610d09565b6104f7610d57565b34801561054657600080fd5b506102946004803603602081101561055d57600080fd5b810190602081018135600160201b81111561057757600080fd5b82018360208201111561058957600080fd5b803590602001918460208302840111600160201b831117156105aa57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610ea4945050505050565b3480156105f457600080fd5b50610380610f62565b34801561060957600080fd5b506103806004803603602081101561062057600080fd5b50356001600160a01b0316610f68565b34801561063c57600080fd5b506104f7610f83565b34801561065157600080fd5b5061038061102f565b34801561066657600080fd5b506103806004803603602081101561067d57600080fd5b50356001600160a01b0316611035565b34801561069957600080fd5b506102bd61105c565b3480156106ae57600080fd5b506103806110ea565b3480156106c357600080fd5b506104f7600480360360208110156106da57600080fd5b5035611126565b3480156106ed57600080fd5b506103ff61118d565b34801561070257600080fd5b506104f76004803603602081101561071957600080fd5b503561119c565b34801561072c57600080fd5b506102bd611203565b34801561074157600080fd5b506104f76004803603604081101561075857600080fd5b810190602081018135600160201b81111561077257600080fd5b82018360208201111561078457600080fd5b803590602001918460208302840111600160201b831117156107a557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611264915050565b3480156107f157600080fd5b506103806112ff565b34801561080657600080fd5b506102946004803603604081101561081d57600080fd5b506001600160a01b038135169060200135611305565b34801561083f57600080fd5b5061038061136d565b34801561085457600080fd5b506102946004803603604081101561086b57600080fd5b506001600160a01b0381351690602001356113cc565b34801561088d57600080fd5b506102bd6113e0565b3480156108a257600080fd5b50610294600480360360208110156108b957600080fd5b810190602081018135600160201b8111156108d357600080fd5b8201836020820111156108e557600080fd5b803590602001918460018302840111600160201b8311171561090657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061143b945050505050565b34801561095357600080fd5b506103806004803603602081101561096a57600080fd5b50356001600160a01b031661175d565b34801561098657600080fd5b506104f76004803603602081101561099d57600080fd5b5035611776565b3480156109b057600080fd5b506103806117dd565b3480156109c557600080fd5b506104f7600480360360208110156109dc57600080fd5b5035611800565b3480156109ef57600080fd5b5061038061187c565b348015610a0457600080fd5b50610380611882565b348015610a1957600080fd5b506103ff61189a565b348015610a2e57600080fd5b5061038060048036036040811015610a4557600080fd5b506001600160a01b03813581169160200135166118a9565b348015610a6957600080fd5b506102946118d4565b348015610a7e57600080fd5b506103806119a1565b348015610a9357600080fd5b506104f760048036036020811015610aaa57600080fd5b50356119a7565b348015610abd57600080fd5b50610380611a0e565b348015610ad257600080fd5b506104f760048036036020811015610ae957600080fd5b50356001600160a01b0316611a14565b6001600160a01b038116600090815260036020526040812054158015610b2b5750600d54826001600160a01b03163110155b92915050565b60128054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610bbd5780601f10610b9257610100808354040283529160200191610bbd565b820191906000526020600020905b815481529060010190602001808311610ba057829003601f168201915b505050505090505b90565b6000610bdc610bd5611b81565b8484611b85565b50600192915050565b60095481565b60055490565b6000610bfe848484611c71565b610c6e84610c0a611b81565b610c6985604051806060016040528060288152602001612389602891396001600160a01b038a16600090815260046020526040812090610c48611b81565b6001600160a01b031681526020810191909152604001600020549190611e14565b611b85565b5060019392505050565b6001546001600160a01b031690565b60145460ff1690565b610c98611b81565b6001600160a01b0316610ca961118d565b6001600160a01b031614610cf2576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b8051610d0590601190602084019061215c565b5050565b6000610bdc610d16611b81565b84610c698560046000610d27611b81565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611b20565b60003490506000610d85670de0b6b3a7640000610d7f600c5485611eab90919063ffffffff16565b90611f04565b905060008211610dc65760405162461bcd60e51b815260040180806020018281038252602981526020018061233f6029913960400191505060405180910390fd5b60008111610e055760405162461bcd60e51b815260040180806020018281038252602e81526020018061229f602e913960400191505060405180910390fd5b610e16610e10611b81565b82611f6b565b50610e1f610c78565b6001600160a01b03166108fc839081150290604051600060405180830381858888f19350505050158015610e57573d6000803e3d6000fd5b50610e60611b81565b6001600160a01b03167f8979205cc801ef9bfe9c0065aa3955ed04268b07096054948beb47104d252ca4836040518082815260200191505060405180910390a25050565b6000610eae61136d565b610ef2576040805162461bcd60e51b815260206004820152601060248201526f436f696e62617365206973207a65726f60801b604482015290519081900360640190fd5b815160005b81811015610c6e57610f1b848281518110610f0e57fe5b6020026020010151610af9565b15610f5a57610f44848281518110610f2f57fe5b6020026020010151610f3f6117dd565b611f6b565b50610f58610f50611b81565b610f3f61136d565b505b600101610ef7565b600a5481565b6001600160a01b031660009081526002602052604090205490565b610f8b611b81565b6001600160a01b0316610f9c61118d565b6001600160a01b031614610fe5576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600d5481565b601454600090610b2b9060ff16600a0a610d7f60648160fe61105688610f68565b90611eab565b6011805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156110e25780601f106110b7576101008083540402835291602001916110e2565b820191906000526020600020905b8154815290600101906020018083116110c557829003601f168201915b505050505081565b60006008546111056064600954611eab90919063ffffffff16565b106111135750600854610bc5565b600954611121906064611eab565b905090565b61112e611b81565b6001600160a01b031661113f61118d565b6001600160a01b031614611188576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600855565b6000546001600160a01b031690565b6111a4611b81565b6001600160a01b03166111b561118d565b6001600160a01b0316146111fe576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600655565b60138054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610bbd5780601f10610b9257610100808354040283529160200191610bbd565b61126c611b81565b6001600160a01b031661127d61118d565b6001600160a01b0316146112c6576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b815160005b818110156112f9576112f08482815181106112e257fe5b602002602001015184611f6b565b506001016112cb565b50505050565b600c5481565b6000610bdc611312611b81565b84610c698560405180606001604052806025815260200161241a602591396004600061133c611b81565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611e14565b60008061138460065461137e610beb565b906120fa565b9050806002600061139361118d565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156113c4576000915050610bc5565b505060075490565b6000610bdc6113d9611b81565b8484611c71565b6010805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156110e25780601f106110b7576101008083540402835291602001916110e2565b600061144561118d565b6001600160a01b0316611456611b81565b6001600160a01b031614156114b2576040805162461bcd60e51b815260206004820152601e60248201527f536f7272792c20746865206f776e657220686173206e6f207269676874730000604482015290519081900360640190fd5b600f546001600160a01b03166114c6611b81565b6001600160a01b0316141561150c5760405162461bcd60e51b81526004018080602001828103825260218152602001806122f36021913960400191505060405180910390fd5b600f546001600160a01b0316600090815260026020819052604082205491611532611b81565b6001600160a01b03166001600160a01b03168152602001908152602001600020541161159c576040805162461bcd60e51b8152602060048201526014602482015273536f7272792c2069742773206e6f74207472756560601b604482015290519081900360640190fd5b6115a4611b81565b600f80546001600160a01b0319166001600160a01b039290921691909117905581516115d790601090602085019061215c565b506115f16115e860026110566110ea565b600e5490611b20565b600260006115fd611b81565b6001600160a01b03166001600160a01b03168152602001908152602001600020541061168c5761163661162e611b81565b610f3f6110ea565b50600980546001019055611648611b81565b6001600160a01b03167f0babae32f950779b3c635af59b15f5d0e03ab6f3f5f93dce2bfc00604642537b61167a6110ea565b60408051918252519081900360200190a25b600f546001600160a01b031660008181526002602081815260409283902054600e558251818152601080546000196001821615610100020116939093049181018290527f912cb7bdc5a1799906a74b5e3138a7c0533ad2033d7e49d25d777ffc3fe0fb539390918291820190849080156117475780601f1061171c57610100808354040283529160200191611747565b820191906000526020600020905b81548152906001019060200180831161172a57829003601f168201915b50509250505060405180910390a2506001919050565b601454600090610b2b9060ff16600a0a610d7f84610f68565b61177e611b81565b6001600160a01b031661178f61118d565b6001600160a01b0316146117d8576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600d55565b60006117e761136d565b6117f357506000610bc5565b6111216002610d7f61136d565b611808611b81565b6001600160a01b031661181961118d565b6001600160a01b031614611862576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b60145461187690829060ff16600a0a611eab565b600c5550565b600b5481565b600f54600090611121906001600160a01b0316610f68565b600f546001600160a01b031681565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006118de61136d565b611922576040805162461bcd60e51b815260206004820152601060248201526f436f696e62617365206973207a65726f60801b604482015290519081900360640190fd5b600b5460036000611931611b81565b6001600160a01b03166001600160a01b03168152602001908152602001600020541061198e5760405162461bcd60e51b81526004018080602001828103825260368152602001806122216036913960400191505060405180910390fd5b611999610f50611b81565b506001905090565b600e5481565b6119af611b81565b6001600160a01b03166119c061118d565b6001600160a01b031614611a09576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600755565b60065481565b611a1c611b81565b6001600160a01b0316611a2d61118d565b6001600160a01b031614611a76576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b6001600160a01b038116611abb5760405162461bcd60e51b81526004018080602001828103825260268152602001806122576026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316811790915560018054909216179055565b600082820183811015611b7a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316611bca5760405162461bcd60e51b81526004018080602001828103825260248152602001806123f66024913960400191505060405180910390fd5b6001600160a01b038216611c0f5760405162461bcd60e51b815260040180806020018281038252602281526020018061227d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611cb65760405162461bcd60e51b81526004018080602001828103825260258152602001806123d16025913960400191505060405180910390fd5b6001600160a01b038216611cfb5760405162461bcd60e51b81526004018080602001828103825260238152602001806121fe6023913960400191505060405180910390fd5b611d06838383612157565b611d43816040518060600160405280602681526020016122cd602691396001600160a01b0386166000908152600260205260409020549190611e14565b6001600160a01b038085166000908152600260205260408082209390935590841681522054611d729082611b20565b6001600160a01b038316600090815260026020908152604080832084905560039091529020541015611dc4576001600160a01b0382166000908152600260209081526040808320546003909252909120555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008184841115611ea35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e68578181015183820152602001611e50565b50505050905090810190601f168015611e955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082611eba57506000610b2b565b82820282848281611ec757fe5b0414611b7a5760405162461bcd60e51b81526004018080602001828103825260218152602001806123686021913960400191505060405180910390fd5b6000808211611f5a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611f6357fe5b049392505050565b600060026000611f7961118d565b6001600160a01b03166001600160a01b03168152602001908152602001600020548210611fd75760405162461bcd60e51b815260040180806020018281038252602b815260200180612314602b913960400191505060405180910390fd5b6120078260026000611fe761118d565b6001600160a01b03168152602081019190915260400160002054906120fa565b6002600061201361118d565b6001600160a01b039081168252602080830193909352604091820160009081209490945586168352600290915290205461204d9083611b20565b6001600160a01b03841660009081526002602090815260408083208490556003909152902054101561209f576001600160a01b0383166000908152600260209081526040808320546003909252909120555b826001600160a01b03166120b161118d565b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350600192915050565b600082821115612151576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b505050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261219257600085556121d8565b82601f106121ab57805160ff19168380011785556121d8565b828001600101855582156121d8579182015b828111156121d85782518255916020019190600101906121bd565b506121e49291506121e8565b5090565b5b808211156121e457600081556001016121e956fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573736661756365743a20596f7520616c72656164792068617665206d696e696d756d20696e636865732c2074727920746f206d696e696e674f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734f6821204974206973206e6f7420656e6f75676820746f20627579206576656e206120736d616c6c20706965636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365596f7520616c72656164792068617665205468652042696767657374206469636b4f707073212054686520676c6f62616c206d656e27732066756e6420697320616c6d6f737420656d707479596f75206e65656420746f2073656e6420736f6d6520657468657220746f2062757920696e63686573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122007fe25d4214842cd596dfe431b703481140757e7dd1aefaa3c2fbc76685ef95264736f6c63430007060033

Deployed Bytecode

0x60806040526004361061025c5760003560e01c806390e4efdc11610144578063b9cb4bc1116100b6578063dd62ed3e1161007a578063dd62ed3e14610a22578063de5f72fd14610a5d578063e5fad4bf14610a72578063ecbcd6e714610a87578063f0bdb92114610ab1578063f2fde38b14610ac65761025c565b8063b9cb4bc1146109a4578063bc7e35b9146109b9578063cc0e1195146109e3578063d8201817146109f8578063d8d42d3214610a0d5761025c565b8063a6ae0aac11610108578063a6ae0aac14610833578063a9059cbb14610848578063a94388a014610881578063ad50c92714610896578063b773d35714610947578063b9b6e8021461097a5761025c565b806390e4efdc146106f657806395d89b4114610720578063991caf4a146107355780639b055906146107e5578063a457c2d7146107fa5761025c565b80633ee1ccec116101dd57806372949618116101a15780637294961814610645578063766069c21461065a578063865441ef1461068d5780638bf854da146106a25780638ccfa264146106b75780638da5cb5b146106e15761025c565b80633ee1ccec146105325780634b45752c1461053a5780635461e677146105e857806370a08231146105fd578063715018a6146106305761025c565b806323b872dd1161022457806323b872dd146103a7578063264d1a40146103ea578063313ce5671461041b57806335db80e21461044657806339509351146104f95761025c565b80630639f3ce1461026157806306fdde03146102a8578063095ea7b314610332578063120e53d61461036b57806318160ddd14610392575b600080fd5b34801561026d57600080fd5b506102946004803603602081101561028457600080fd5b50356001600160a01b0316610af9565b604080519115158252519081900360200190f35b3480156102b457600080fd5b506102bd610b31565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f75781810151838201526020016102df565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033e57600080fd5b506102946004803603604081101561035557600080fd5b506001600160a01b038135169060200135610bc8565b34801561037757600080fd5b50610380610be5565b60408051918252519081900360200190f35b34801561039e57600080fd5b50610380610beb565b3480156103b357600080fd5b50610294600480360360608110156103ca57600080fd5b506001600160a01b03813581169160208101359091169060400135610bf1565b3480156103f657600080fd5b506103ff610c78565b604080516001600160a01b039092168252519081900360200190f35b34801561042757600080fd5b50610430610c87565b6040805160ff9092168252519081900360200190f35b34801561045257600080fd5b506104f76004803603602081101561046957600080fd5b810190602081018135600160201b81111561048357600080fd5b82018360208201111561049557600080fd5b803590602001918460018302840111600160201b831117156104b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c90945050505050565b005b34801561050557600080fd5b506102946004803603604081101561051c57600080fd5b506001600160a01b038135169060200135610d09565b6104f7610d57565b34801561054657600080fd5b506102946004803603602081101561055d57600080fd5b810190602081018135600160201b81111561057757600080fd5b82018360208201111561058957600080fd5b803590602001918460208302840111600160201b831117156105aa57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610ea4945050505050565b3480156105f457600080fd5b50610380610f62565b34801561060957600080fd5b506103806004803603602081101561062057600080fd5b50356001600160a01b0316610f68565b34801561063c57600080fd5b506104f7610f83565b34801561065157600080fd5b5061038061102f565b34801561066657600080fd5b506103806004803603602081101561067d57600080fd5b50356001600160a01b0316611035565b34801561069957600080fd5b506102bd61105c565b3480156106ae57600080fd5b506103806110ea565b3480156106c357600080fd5b506104f7600480360360208110156106da57600080fd5b5035611126565b3480156106ed57600080fd5b506103ff61118d565b34801561070257600080fd5b506104f76004803603602081101561071957600080fd5b503561119c565b34801561072c57600080fd5b506102bd611203565b34801561074157600080fd5b506104f76004803603604081101561075857600080fd5b810190602081018135600160201b81111561077257600080fd5b82018360208201111561078457600080fd5b803590602001918460208302840111600160201b831117156107a557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611264915050565b3480156107f157600080fd5b506103806112ff565b34801561080657600080fd5b506102946004803603604081101561081d57600080fd5b506001600160a01b038135169060200135611305565b34801561083f57600080fd5b5061038061136d565b34801561085457600080fd5b506102946004803603604081101561086b57600080fd5b506001600160a01b0381351690602001356113cc565b34801561088d57600080fd5b506102bd6113e0565b3480156108a257600080fd5b50610294600480360360208110156108b957600080fd5b810190602081018135600160201b8111156108d357600080fd5b8201836020820111156108e557600080fd5b803590602001918460018302840111600160201b8311171561090657600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061143b945050505050565b34801561095357600080fd5b506103806004803603602081101561096a57600080fd5b50356001600160a01b031661175d565b34801561098657600080fd5b506104f76004803603602081101561099d57600080fd5b5035611776565b3480156109b057600080fd5b506103806117dd565b3480156109c557600080fd5b506104f7600480360360208110156109dc57600080fd5b5035611800565b3480156109ef57600080fd5b5061038061187c565b348015610a0457600080fd5b50610380611882565b348015610a1957600080fd5b506103ff61189a565b348015610a2e57600080fd5b5061038060048036036040811015610a4557600080fd5b506001600160a01b03813581169160200135166118a9565b348015610a6957600080fd5b506102946118d4565b348015610a7e57600080fd5b506103806119a1565b348015610a9357600080fd5b506104f760048036036020811015610aaa57600080fd5b50356119a7565b348015610abd57600080fd5b50610380611a0e565b348015610ad257600080fd5b506104f760048036036020811015610ae957600080fd5b50356001600160a01b0316611a14565b6001600160a01b038116600090815260036020526040812054158015610b2b5750600d54826001600160a01b03163110155b92915050565b60128054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610bbd5780601f10610b9257610100808354040283529160200191610bbd565b820191906000526020600020905b815481529060010190602001808311610ba057829003601f168201915b505050505090505b90565b6000610bdc610bd5611b81565b8484611b85565b50600192915050565b60095481565b60055490565b6000610bfe848484611c71565b610c6e84610c0a611b81565b610c6985604051806060016040528060288152602001612389602891396001600160a01b038a16600090815260046020526040812090610c48611b81565b6001600160a01b031681526020810191909152604001600020549190611e14565b611b85565b5060019392505050565b6001546001600160a01b031690565b60145460ff1690565b610c98611b81565b6001600160a01b0316610ca961118d565b6001600160a01b031614610cf2576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b8051610d0590601190602084019061215c565b5050565b6000610bdc610d16611b81565b84610c698560046000610d27611b81565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611b20565b60003490506000610d85670de0b6b3a7640000610d7f600c5485611eab90919063ffffffff16565b90611f04565b905060008211610dc65760405162461bcd60e51b815260040180806020018281038252602981526020018061233f6029913960400191505060405180910390fd5b60008111610e055760405162461bcd60e51b815260040180806020018281038252602e81526020018061229f602e913960400191505060405180910390fd5b610e16610e10611b81565b82611f6b565b50610e1f610c78565b6001600160a01b03166108fc839081150290604051600060405180830381858888f19350505050158015610e57573d6000803e3d6000fd5b50610e60611b81565b6001600160a01b03167f8979205cc801ef9bfe9c0065aa3955ed04268b07096054948beb47104d252ca4836040518082815260200191505060405180910390a25050565b6000610eae61136d565b610ef2576040805162461bcd60e51b815260206004820152601060248201526f436f696e62617365206973207a65726f60801b604482015290519081900360640190fd5b815160005b81811015610c6e57610f1b848281518110610f0e57fe5b6020026020010151610af9565b15610f5a57610f44848281518110610f2f57fe5b6020026020010151610f3f6117dd565b611f6b565b50610f58610f50611b81565b610f3f61136d565b505b600101610ef7565b600a5481565b6001600160a01b031660009081526002602052604090205490565b610f8b611b81565b6001600160a01b0316610f9c61118d565b6001600160a01b031614610fe5576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600d5481565b601454600090610b2b9060ff16600a0a610d7f60648160fe61105688610f68565b90611eab565b6011805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156110e25780601f106110b7576101008083540402835291602001916110e2565b820191906000526020600020905b8154815290600101906020018083116110c557829003601f168201915b505050505081565b60006008546111056064600954611eab90919063ffffffff16565b106111135750600854610bc5565b600954611121906064611eab565b905090565b61112e611b81565b6001600160a01b031661113f61118d565b6001600160a01b031614611188576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600855565b6000546001600160a01b031690565b6111a4611b81565b6001600160a01b03166111b561118d565b6001600160a01b0316146111fe576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600655565b60138054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610bbd5780601f10610b9257610100808354040283529160200191610bbd565b61126c611b81565b6001600160a01b031661127d61118d565b6001600160a01b0316146112c6576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b815160005b818110156112f9576112f08482815181106112e257fe5b602002602001015184611f6b565b506001016112cb565b50505050565b600c5481565b6000610bdc611312611b81565b84610c698560405180606001604052806025815260200161241a602591396004600061133c611b81565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611e14565b60008061138460065461137e610beb565b906120fa565b9050806002600061139361118d565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156113c4576000915050610bc5565b505060075490565b6000610bdc6113d9611b81565b8484611c71565b6010805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156110e25780601f106110b7576101008083540402835291602001916110e2565b600061144561118d565b6001600160a01b0316611456611b81565b6001600160a01b031614156114b2576040805162461bcd60e51b815260206004820152601e60248201527f536f7272792c20746865206f776e657220686173206e6f207269676874730000604482015290519081900360640190fd5b600f546001600160a01b03166114c6611b81565b6001600160a01b0316141561150c5760405162461bcd60e51b81526004018080602001828103825260218152602001806122f36021913960400191505060405180910390fd5b600f546001600160a01b0316600090815260026020819052604082205491611532611b81565b6001600160a01b03166001600160a01b03168152602001908152602001600020541161159c576040805162461bcd60e51b8152602060048201526014602482015273536f7272792c2069742773206e6f74207472756560601b604482015290519081900360640190fd5b6115a4611b81565b600f80546001600160a01b0319166001600160a01b039290921691909117905581516115d790601090602085019061215c565b506115f16115e860026110566110ea565b600e5490611b20565b600260006115fd611b81565b6001600160a01b03166001600160a01b03168152602001908152602001600020541061168c5761163661162e611b81565b610f3f6110ea565b50600980546001019055611648611b81565b6001600160a01b03167f0babae32f950779b3c635af59b15f5d0e03ab6f3f5f93dce2bfc00604642537b61167a6110ea565b60408051918252519081900360200190a25b600f546001600160a01b031660008181526002602081815260409283902054600e558251818152601080546000196001821615610100020116939093049181018290527f912cb7bdc5a1799906a74b5e3138a7c0533ad2033d7e49d25d777ffc3fe0fb539390918291820190849080156117475780601f1061171c57610100808354040283529160200191611747565b820191906000526020600020905b81548152906001019060200180831161172a57829003601f168201915b50509250505060405180910390a2506001919050565b601454600090610b2b9060ff16600a0a610d7f84610f68565b61177e611b81565b6001600160a01b031661178f61118d565b6001600160a01b0316146117d8576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600d55565b60006117e761136d565b6117f357506000610bc5565b6111216002610d7f61136d565b611808611b81565b6001600160a01b031661181961118d565b6001600160a01b031614611862576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b60145461187690829060ff16600a0a611eab565b600c5550565b600b5481565b600f54600090611121906001600160a01b0316610f68565b600f546001600160a01b031681565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006118de61136d565b611922576040805162461bcd60e51b815260206004820152601060248201526f436f696e62617365206973207a65726f60801b604482015290519081900360640190fd5b600b5460036000611931611b81565b6001600160a01b03166001600160a01b03168152602001908152602001600020541061198e5760405162461bcd60e51b81526004018080602001828103825260368152602001806122216036913960400191505060405180910390fd5b611999610f50611b81565b506001905090565b600e5481565b6119af611b81565b6001600160a01b03166119c061118d565b6001600160a01b031614611a09576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b600755565b60065481565b611a1c611b81565b6001600160a01b0316611a2d61118d565b6001600160a01b031614611a76576040805162461bcd60e51b815260206004820181905260248201526000805160206123b1833981519152604482015290519081900360640190fd5b6001600160a01b038116611abb5760405162461bcd60e51b81526004018080602001828103825260268152602001806122576026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316811790915560018054909216179055565b600082820183811015611b7a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316611bca5760405162461bcd60e51b81526004018080602001828103825260248152602001806123f66024913960400191505060405180910390fd5b6001600160a01b038216611c0f5760405162461bcd60e51b815260040180806020018281038252602281526020018061227d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316611cb65760405162461bcd60e51b81526004018080602001828103825260258152602001806123d16025913960400191505060405180910390fd5b6001600160a01b038216611cfb5760405162461bcd60e51b81526004018080602001828103825260238152602001806121fe6023913960400191505060405180910390fd5b611d06838383612157565b611d43816040518060600160405280602681526020016122cd602691396001600160a01b0386166000908152600260205260409020549190611e14565b6001600160a01b038085166000908152600260205260408082209390935590841681522054611d729082611b20565b6001600160a01b038316600090815260026020908152604080832084905560039091529020541015611dc4576001600160a01b0382166000908152600260209081526040808320546003909252909120555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008184841115611ea35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e68578181015183820152602001611e50565b50505050905090810190601f168015611e955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082611eba57506000610b2b565b82820282848281611ec757fe5b0414611b7a5760405162461bcd60e51b81526004018080602001828103825260218152602001806123686021913960400191505060405180910390fd5b6000808211611f5a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611f6357fe5b049392505050565b600060026000611f7961118d565b6001600160a01b03166001600160a01b03168152602001908152602001600020548210611fd75760405162461bcd60e51b815260040180806020018281038252602b815260200180612314602b913960400191505060405180910390fd5b6120078260026000611fe761118d565b6001600160a01b03168152602081019190915260400160002054906120fa565b6002600061201361118d565b6001600160a01b039081168252602080830193909352604091820160009081209490945586168352600290915290205461204d9083611b20565b6001600160a01b03841660009081526002602090815260408083208490556003909152902054101561209f576001600160a01b0383166000908152600260209081526040808320546003909252909120555b826001600160a01b03166120b161118d565b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350600192915050565b600082821115612151576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b505050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261219257600085556121d8565b82601f106121ab57805160ff19168380011785556121d8565b828001600101855582156121d8579182015b828111156121d85782518255916020019190600101906121bd565b506121e49291506121e8565b5090565b5b808211156121e457600081556001016121e956fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573736661756365743a20596f7520616c72656164792068617665206d696e696d756d20696e636865732c2074727920746f206d696e696e674f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734f6821204974206973206e6f7420656e6f75676820746f20627579206576656e206120736d616c6c20706965636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365596f7520616c72656164792068617665205468652042696767657374206469636b4f707073212054686520676c6f62616c206d656e27732066756e6420697320616c6d6f737420656d707479596f75206e65656420746f2073656e6420736f6d6520657468657220746f2062757920696e63686573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122007fe25d4214842cd596dfe431b703481140757e7dd1aefaa3c2fbc76685ef95264736f6c63430007060033

Deployed Bytecode Sourcemap

2359:11534:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10139:140;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10139:140:0;-1:-1:-1;;;;;10139:140:0;;:::i;:::-;;;;;;;;;;;;;;;;;;5376:91;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6284:169;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6284:169:0;;;;;;;;:::i;2856:25::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5683:108;;;;;;;;;;;;;:::i;6463:321::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6463:321:0;;;;;;;;;;;;;;;;;:::i;1657:104::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1657:104:0;;;;;;;;;;;;;;5582:91;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4411:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4411:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4411:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4411:98:0;;-1:-1:-1;4411:98:0;;-1:-1:-1;;;;;4411:98:0:i;:::-;;6794:218;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6794:218:0;;;;;;;;:::i;11412:482::-;;;:::i;13001:375::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13001:375:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13001:375:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13001:375:0;;-1:-1:-1;13001:375:0;;-1:-1:-1;;;;;13001:375:0:i;2913:24::-;;;;;;;;;;;;;:::i;5801:127::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5801:127:0;-1:-1:-1;;;;;5801:127:0;;:::i;1897:148::-;;;;;;;;;;;;;:::i;3066:22::-;;;;;;;;;;;;;:::i;13616:243::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13616:243:0;-1:-1:-1;;;;;13616:243:0;;:::i;3387:20::-;;;;;;;;;;;;;:::i;9807:173::-;;;;;;;;;;;;;:::i;4521:104::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4521:104:0;;:::i;1558:87::-;;;;;;;;;;;;;:::i;4890:98::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4890:98:0;;:::i;5477:95::-;;;;;;;;;;;;;:::i;5120:227::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5120:227:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5120:227:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5120:227:0;;-1:-1:-1;;5120:227:0;;;-1:-1:-1;5120:227:0;;-1:-1:-1;;5120:227:0:i;3008:33::-;;;;;;;;;;;;;:::i;7022:269::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7022:269:0;;;;;;;;:::i;9378:201::-;;;;;;;;;;;;;:::i;5938:175::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5938:175:0;;;;;;;;:::i;3323:33::-;;;;;;;;;;;;;:::i;12002:925::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12002:925:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12002:925:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12002:925:0;;-1:-1:-1;12002:925:0;;-1:-1:-1;;;;;12002:925:0:i;13414:149::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13414:149:0;-1:-1:-1;;;;;13414:149:0;;:::i;4784:94::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4784:94:0;;:::i;9624:140::-;;;;;;;;;;;;;:::i;4637:135::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4637:135:0;;:::i;2971:26::-;;;;;;;;;;;;;:::i;10015:114::-;;;;;;;;;;;;;:::i;3254:30::-;;;;;;;;;;;;;:::i;6123:151::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6123:151:0;;;;;;;;;;:::i;11038:288::-;;;;;;;;;;;;;:::i;3164:29::-;;;;;;;;;;;;;:::i;5001:98::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5001:98:0;;:::i;2668:24::-;;;;;;;;;;;;;:::i;2053:281::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2053:281:0;-1:-1:-1;;;;;2053:281:0;;:::i;10139:140::-;-1:-1:-1;;;;;10219:13:0;;10195:4;10219:13;;;:9;:13;;;;;;:16;:48;;;;;10260:7;;10247:2;-1:-1:-1;;;;;10239:19:0;;:28;;10219:48;10211:56;10139:140;-1:-1:-1;;10139:140:0:o;5376:91::-;5454:5;5447:12;;;;;;;;-1:-1:-1;;5447:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:13;;5447:12;;5454:5;;5447:12;;5454:5;5447:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5376:91;;:::o;6284:169::-;6367:4;6384:39;6393:12;:10;:12::i;:::-;6407:7;6416:6;6384:8;:39::i;:::-;-1:-1:-1;6441:4:0;6284:169;;;;:::o;2856:25::-;;;;:::o;5683:108::-;5771:12;;5683:108;:::o;6463:321::-;6569:4;6586:36;6596:6;6604:9;6615:6;6586:9;:36::i;:::-;6633:121;6642:6;6650:12;:10;:12::i;:::-;6664:89;6702:6;6664:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6664:19:0;;;;;;:11;:19;;;;;;6684:12;:10;:12::i;:::-;-1:-1:-1;;;;;6664:33:0;;;;;;;;;;;;-1:-1:-1;6664:33:0;;;:89;:37;:89::i;:::-;6633:8;:121::i;:::-;-1:-1:-1;6772:4:0;6463:321;;;;;:::o;1657:104::-;1746:7;;-1:-1:-1;;;;;1746:7:0;1657:104;:::o;5582:91::-;5656:9;;;;5582:91;:::o;4411:98::-;1820:12;:10;:12::i;:::-;-1:-1:-1;;;;;1809:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1809:23:0;;1801:68;;;;;-1:-1:-1;;;1801:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1801:68:0;;;;;;;;;;;;;;;4487:14;;::::1;::::0;:6:::1;::::0;:14:::1;::::0;::::1;::::0;::::1;:::i;:::-;;4411:98:::0;:::o;6794:218::-;6882:4;6899:83;6908:12;:10;:12::i;:::-;6922:7;6931:50;6970:10;6931:11;:25;6943:12;:10;:12::i;:::-;-1:-1:-1;;;;;6931:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;6931:25:0;;;:34;;;;;;;;;;;:38;:50::i;11412:482::-;11462:17;11482:9;11462:29;;11502:19;11524:45;11562:6;11524:33;11538:18;;11524:9;:13;;:33;;;;:::i;:::-;:37;;:45::i;:::-;11502:67;;11600:1;11588:9;:13;11580:67;;;;-1:-1:-1;;;11580:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11680:1;11666:11;:15;11658:74;;;;-1:-1:-1;;;11658:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11753:32;11760:12;:10;:12::i;:::-;11773:11;11753:6;:32::i;:::-;;11797:15;:13;:15::i;:::-;-1:-1:-1;;;;;11797:24:0;:35;11822:9;11797:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11860:12;:10;:12::i;:::-;-1:-1:-1;;;;;11848:36:0;;11874:9;11848:36;;;;;;;;;;;;;;;;;;11412:482;;:::o;13001:375::-;13063:4;13087:10;:8;:10::i;:::-;13079:44;;;;;-1:-1:-1;;;13079:44:0;;;;;;;;;;;;-1:-1:-1;;;13079:44:0;;;;;;;;;;;;;;;13151:17;;13137:11;13179:168;13203:3;13199:1;:7;13179:168;;;13226:20;13232:10;13243:1;13232:13;;;;;;;;;;;;;;13226:5;:20::i;:::-;13222:125;;;13259:32;13266:10;13277:1;13266:13;;;;;;;;;;;;;;13280:10;:8;:10::i;:::-;13259:6;:32::i;:::-;;13303:31;13310:12;:10;:12::i;:::-;13323:10;:8;:10::i;13303:31::-;;13222:125;13208:3;;13179:168;;2913:24;;;;:::o;5801:127::-;-1:-1:-1;;;;;5902:18:0;5875:7;5902:18;;;:9;:18;;;;;;;5801:127::o;1897:148::-;1820:12;:10;:12::i;:::-;-1:-1:-1;;;;;1809:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1809:23:0;;1801:68;;;;;-1:-1:-1;;;1801:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1801:68:0;;;;;;;;;;;;;;;2004:1:::1;1988:6:::0;;1967:40:::1;::::0;-1:-1:-1;;;;;1988:6:0;;::::1;::::0;1967:40:::1;::::0;2004:1;;1967:40:::1;2035:1;2018:19:::0;;-1:-1:-1;;;;;;2018:19:0::1;::::0;;1897:148::o;3066:22::-;;;;:::o;13616:243::-;13841:9;;13687:7;;13792:59;;13841:9;;13837:2;:13;13792:40;13828:3;13792:40;13819:3;13792:22;13802:11;13792:9;:22::i;:::-;:26;;:31::i;3387:20::-;;;;;;;;;;;;;;;-1:-1:-1;;3387:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9807:173::-;9857:7;9902:12;;9881:19;9896:3;9881:10;;:14;;:19;;;;:::i;:::-;:33;9877:58;;-1:-1:-1;9923:12:0;;9916:19;;9877:58;9953:10;;:19;;9968:3;9953:14;:19::i;:::-;9946:26;;9807:173;:::o;4521:104::-;1820:12;:10;:12::i;:::-;-1:-1:-1;;;;;1809:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1809:23:0;;1801:68;;;;;-1:-1:-1;;;1801:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1801:68:0;;;;;;;;;;;;;;;4597:12:::1;:20:::0;4521:104::o;1558:87::-;1604:7;1631:6;-1:-1:-1;;;;;1631:6:0;1558:87;:::o;4890:98::-;1820:12;:10;:12::i;:::-;-1:-1:-1;;;;;1809:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1809:23:0;;1801:68;;;;;-1:-1:-1;;;1801:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1801:68:0;;;;;;;;;;;;;;;4963:9:::1;:17:::0;4890:98::o;5477:95::-;5557:7;5550:14;;;;;;;;-1:-1:-1;;5550:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5524:13;;5550:14;;5557:7;;5550:14;;5557:7;5550:14;;;;;;;;;;;;;;;;;;;;;;;;5120:227;1820:12;:10;:12::i;:::-;-1:-1:-1;;;;;1809:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1809:23:0;;1801:68;;;;;-1:-1:-1;;;1801:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1801:68:0;;;;;;;;;;;;;;;5230:17;;5216:11:::1;5258:70;5282:3;5278:1;:7;5258:70;;;5301:27;5308:10;5319:1;5308:13;;;;;;;;;;;;;;5322:5;5301:6;:27::i;:::-;-1:-1:-1::0;5287:3:0::1;;5258:70;;;;1880:1;5120:227:::0;;:::o;3008:33::-;;;;:::o;7022:269::-;7115:4;7132:129;7141:12;:10;:12::i;:::-;7155:7;7164:96;7203:15;7164:96;;;;;;;;;;;;;;;;;:11;:25;7176:12;:10;:12::i;:::-;-1:-1:-1;;;;;7164:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;7164:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;9378:201::-;9428:7;9448:14;9466:28;9484:9;;9466:13;:11;:13::i;:::-;:17;;:28::i;:::-;9448:46;;9528:6;9509:9;:18;9519:7;:5;:7::i;:::-;-1:-1:-1;;;;;9509:18:0;-1:-1:-1;;;;;9509:18:0;;;;;;;;;;;;;:25;9505:39;;;9543:1;9536:8;;;;;9505:39;-1:-1:-1;;9562:9:0;;9378:201;:::o;5938:175::-;6024:4;6041:42;6051:12;:10;:12::i;:::-;6065:9;6076:6;6041:9;:42::i;3323:33::-;;;;;;;;;;;;;;;-1:-1:-1;;3323:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12002:925;12080:4;12118:7;:5;:7::i;:::-;-1:-1:-1;;;;;12104:21:0;:12;:10;:12::i;:::-;-1:-1:-1;;;;;12104:21:0;;;12096:64;;;;;-1:-1:-1;;;12096:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12194:15;;-1:-1:-1;;;;;12194:15:0;12180:12;:10;:12::i;:::-;-1:-1:-1;;;;;12180:29:0;;;12172:75;;;;-1:-1:-1;;;12172:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12300:15;;-1:-1:-1;;;;;12300:15:0;12290:26;;;;:9;:26;;;;;;;;;12276:12;:10;:12::i;:::-;-1:-1:-1;;;;;12266:23:0;-1:-1:-1;;;;;12266:23:0;;;;;;;;;;;;;:50;12258:83;;;;;-1:-1:-1;;;12258:83:0;;;;;;;;;;;;-1:-1:-1;;;12258:83:0;;;;;;;;;;;;;;;12370:12;:10;:12::i;:::-;12352:15;:30;;-1:-1:-1;;;;;;12352:30:0;-1:-1:-1;;;;;12352:30:0;;;;;;;;;;12393:39;;;;:19;;:39;;;;;:::i;:::-;;12587:37;12606:17;12621:1;12606:10;:8;:10::i;:17::-;12587:14;;;:18;:37::i;:::-;12562:9;:23;12572:12;:10;:12::i;:::-;-1:-1:-1;;;;;12562:23:0;-1:-1:-1;;;;;12562:23:0;;;;;;;;;;;;;:62;12558:212;;12641:31;12648:12;:10;:12::i;:::-;12661:10;:8;:10::i;12641:31::-;-1:-1:-1;12688:10:0;:12;;;;;;12734;:10;:12::i;:::-;-1:-1:-1;;;;;12721:37:0;;12747:10;:8;:10::i;:::-;12721:37;;;;;;;;;;;;;;;12558:212;12817:15;;-1:-1:-1;;;;;12817:15:0;12807:26;;;;:9;:26;;;;;;;;;;12790:14;:43;12849:48;;;;;12877:19;12849:48;;-1:-1:-1;;12817:15:0;12849:48;;;12817:15;12849:48;;;;;;;;;;;;;;;;;;;;;;12877:19;;12849:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12915:4:0;12002:925;;;:::o;13414:149::-;13545:9;;13487:7;;13514:41;;13545:9;;13541:2;:13;13514:22;13524:11;13514:9;:22::i;4784:94::-;1820:12;:10;:12::i;:::-;-1:-1:-1;;;;;1809:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1809:23:0;;1801:68;;;;;-1:-1:-1;;;1801:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1801:68:0;;;;;;;;;;;;;;;4855:7:::1;:15:::0;4784:94::o;9624:140::-;9674:7;9698:10;:8;:10::i;:::-;9694:27;;-1:-1:-1;9720:1:0;9713:8;;9694:27;9739:17;9754:1;9739:10;:8;:10::i;4637:135::-;1820:12;:10;:12::i;:::-;-1:-1:-1;;;;;1809:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1809:23:0;;1801:68;;;;;-1:-1:-1;;;1801:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1801:68:0;;;;;;;;;;;;;;;4754:9:::1;::::0;4740:24:::1;::::0;:5;;4754:9:::1;;4750:2;:13;4740:9;:24::i;:::-;4719:18;:45:::0;-1:-1:-1;4637:135:0:o;2971:26::-;;;;:::o;10015:114::-;10105:15;;10069:7;;10095:26;;-1:-1:-1;;;;;10105:15:0;10095:9;:26::i;3254:30::-;;;-1:-1:-1;;;;;3254:30:0;;:::o;6123:151::-;-1:-1:-1;;;;;6239:18:0;;;6212:7;6239:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6123:151::o;11038:288::-;11073:4;11098:10;:8;:10::i;:::-;11090:44;;;;;-1:-1:-1;;;11090:44:0;;;;;;;;;;;;-1:-1:-1;;;11090:44:0;;;;;;;;;;;;;;;11181:11;;11157:9;:23;11167:12;:10;:12::i;:::-;-1:-1:-1;;;;;11157:23:0;-1:-1:-1;;;;;11157:23:0;;;;;;;;;;;;;:35;11149:102;;;;-1:-1:-1;;;11149:102:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11263:31;11270:12;:10;:12::i;11263:31::-;;11314:4;11307:11;;11038:288;:::o;3164:29::-;;;;:::o;5001:98::-;1820:12;:10;:12::i;:::-;-1:-1:-1;;;;;1809:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1809:23:0;;1801:68;;;;;-1:-1:-1;;;1801:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1801:68:0;;;;;;;;;;;;;;;5074:9:::1;:17:::0;5001:98::o;2668:24::-;;;;:::o;2053:281::-;1820:12;:10;:12::i;:::-;-1:-1:-1;;;;;1809:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1809:23:0;;1801:68;;;;;-1:-1:-1;;;1801:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1801:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;2150:22:0;::::1;2142:73;;;;-1:-1:-1::0;;;2142:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2252:6;::::0;;2231:38:::1;::::0;-1:-1:-1;;;;;2231:38:0;;::::1;::::0;2252:6;::::1;::::0;2231:38:::1;::::0;::::1;2280:6;:17:::0;;-1:-1:-1;;;;;2280:17:0;;::::1;-1:-1:-1::0;;;;;;2280:17:0;;::::1;::::0;::::1;::::0;;;;2308:18;;;;::::1;;::::0;;2053:281::o;13923:179::-;13981:7;14013:5;;;14037:6;;;;14029:46;;;;;-1:-1:-1;;;14029:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14093:1;13923:179;-1:-1:-1;;;13923:179:0:o;786:106::-;874:10;786:106;:::o;8781:346::-;-1:-1:-1;;;;;8883:19:0;;8875:68;;;;-1:-1:-1;;;8875:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8962:21:0;;8954:68;;;;-1:-1:-1;;;8954:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9035:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9087:32;;;;;;;;;;;;;;;;;8781:346;;;:::o;7301:638::-;-1:-1:-1;;;;;7407:20:0;;7399:70;;;;-1:-1:-1;;;7399:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7488:23:0;;7480:71;;;;-1:-1:-1;;;7480:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7564:47;7585:6;7593:9;7604:6;7564:20;:47::i;:::-;7644:71;7666:6;7644:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7644:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7624:17:0;;;;;;;:9;:17;;;;;;:91;;;;7749:20;;;;;;;:32;;7774:6;7749:24;:32::i;:::-;-1:-1:-1;;;;;7726:20:0;;;;;;:9;:20;;;;;;;;:55;;;7796:9;:20;;;;;;:41;7792:88;;;-1:-1:-1;;;;;7860:20:0;;;;;;:9;:20;;;;;;;;;7839:9;:20;;;;;;:41;7792:88;7913:9;-1:-1:-1;;;;;7896:35:0;7905:6;-1:-1:-1;;;;;7896:35:0;;7924:6;7896:35;;;;;;;;;;;;;;;;;;7301:638;;;:::o;14844:166::-;14930:7;14966:12;14958:6;;;;14950:29;;;;-1:-1:-1;;;14950:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14997:5:0;;;14844:166::o;14280:220::-;14338:7;14362:6;14358:20;;-1:-1:-1;14377:1:0;14370:8;;14358:20;14401:5;;;14405:1;14401;:5;:1;14425:5;;;;;:10;14417:56;;;;-1:-1:-1;;;14417:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14510:153;14568:7;14600:1;14596;:5;14588:44;;;;;-1:-1:-1;;;14588:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14654:1;14650;:5;;;;;;;14510:153;-1:-1:-1;;;14510:153:0:o;10581:431::-;10651:4;10685:9;:18;10695:7;:5;:7::i;:::-;-1:-1:-1;;;;;10685:18:0;-1:-1:-1;;;;;10685:18:0;;;;;;;;;;;;;10676:6;:27;10668:83;;;;-1:-1:-1;;;10668:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10783:30;10806:6;10783:9;:18;10793:7;:5;:7::i;:::-;-1:-1:-1;;;;;10783:18:0;;;;;;;;;;;;-1:-1:-1;10783:18:0;;;:22;:30::i;:::-;10762:9;:18;10772:7;:5;:7::i;:::-;-1:-1:-1;;;;;10762:18:0;;;;;;;;;;;;;;;;;-1:-1:-1;10762:18:0;;;:51;;;;10840:13;;;;:9;:13;;;;;;:25;;10858:6;10840:17;:25::i;:::-;-1:-1:-1;;;;;10824:13:0;;;;;;:9;:13;;;;;;;;:41;;;10880:9;:13;;;;;;:27;10876:60;;;-1:-1:-1;;;;;10923:13:0;;;;;;:9;:13;;;;;;;;;10909:9;:13;;;;;;:27;10876:60;10970:2;-1:-1:-1;;;;;10952:29:0;10961:7;:5;:7::i;:::-;-1:-1:-1;;;;;10952:29:0;;10974:6;10952:29;;;;;;;;;;;;;;;;;;-1:-1:-1;11000:4:0;10581:431;;;;:::o;14112:158::-;14170:7;14203:1;14198;:6;;14190:49;;;;;-1:-1:-1;;;14190:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14257:5:0;;;14112:158::o;9245:91::-;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;

Swarm Source

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