ETH Price: $3,471.67 (+2.34%)

Token

HYVE (HYVE)
 

Overview

Max Total Supply

100,000,000.000000000000000071 HYVE

Holders

3,337 (0.00%)

Market

Price

$0.02 @ 0.000005 ETH (+1.00%)

Onchain Market Cap

$1,731,341.00

Circulating Supply Market Cap

$1,002,936.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,589.373870472153473585 HYVE

Value
$62.14 ( ~0.0178991739168083 Eth) [0.0036%]
0x073344a6010b5cfd728b2591b7a2162d57cf7b2c
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

HYVE is a community-governed ecosystem that aims to solve the current problems in the global multi-billion freelance and workforce market, leveraging the power of decentralized technologies while adding new features and mechanics that are non-existent on any current platform.

Market

Volume (24H):$221,066.00
Market Capitalization:$1,002,936.00
Circulating Supply:57,928,252.00 HYVE
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
HYVE

Compiler Version
v0.7.3+commit.9bfce1f6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-10-12
*/

pragma solidity 0.7.3;


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


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) 
    {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(
        uint256 a, 
        uint256 b
    ) 
        internal 
        pure 
        returns (uint256) 
    {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a, 
        uint256 b, 
        string memory errorMessage
    ) 
        internal 
        pure 
        returns (uint256) 
    {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(
        uint256 a, 
        uint256 b
    ) 
        internal 
        pure 
        returns (uint256) 
    {
        return mod(a, b, "SafeMath: modulo by zero");
    }

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


library Address {
    function isContract(
        address account
    ) 
        internal 
        view 
        returns (bool) 
    {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(
        address payable recipient, 
        uint256 amount
    ) 
        internal 
    {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(
        address target, 
        bytes memory data
    ) 
        internal 
        returns (bytes memory) 
    {
      return functionCall(target, data, "Address: low-level call failed");
    }

   function functionCall(
       address target, 
       bytes memory data, 
       string memory errorMessage
    ) 
        internal 
        returns (bytes memory) 
    {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(
        address target, 
        bytes memory data, 
        uint256 value
    ) 
        internal 
        returns (bytes memory) 
    {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(
        address target, 
        bytes memory data, 
        uint256 value, 
        string memory errorMessage
    ) 
        internal 
        returns (bytes memory) 
    {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(
        address target, 
        bytes memory data, 
        uint256 weiValue, 
        string memory errorMessage
    ) 
        private 
        returns (bytes memory) 
    {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}


abstract contract Ownable is Context {
    address public owner;
    address public pendingOwner;

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

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

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

    function transferOwnership(
        address newOwner
    ) 
        onlyOwner 
        external 
    {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        pendingOwner = newOwner;
     }
    
     function claimOwnership() 
        external 
    {
        require(_msgSender() == pendingOwner);
        emit OwnershipTransferred(owner, pendingOwner);
        owner = pendingOwner;
        pendingOwner = address(0);
     }
}


abstract contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = true;

    modifier whenNotPaused() {
        require(!paused);
        _;
    }

    modifier whenPaused() {
        require(paused);
        _;
    }

    function pause() 
        onlyOwner 
        whenNotPaused 
        external 
    {
        paused = true;
        emit Pause();
    }

    function unpause()
        onlyOwner 
        whenPaused 
        external 
    {
        paused = false;
        emit Unpause();
    }
}


abstract contract Whitelist is Pausable {
    mapping(address => bool) public whitelist;
    mapping(address => bool) public blacklist;

    modifier isWhitelisted() {
        require(whitelist[_msgSender()]);
        _;
    }
  
    modifier isBlacklisted() {
        require(blacklist[_msgSender()]);
        _;
    }

    function addWhitelist(
        address account
    ) 
        public 
        onlyOwner 
    {
        whitelist[account] = true;
    }
    
    function removeWhitelist(
        address account
    ) 
        public 
        onlyOwner 
    {
        whitelist[account] = false;
    }

    function addBlacklist(
        address account
    ) 
        public 
        onlyOwner 
    {
        blacklist[account] = true;
    }

    function removeBlacklist(
        address account
    ) 
        public 
        onlyOwner 
    {
        blacklist[account] = false;
    }
}


abstract contract ERC20 is Whitelist, IERC20 {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string internal _name;
    string internal _symbol;
    string internal _website;
    uint8 private _decimals;

    constructor (
        string memory name, 
        string memory symbol
    ) {
        _name = name;
        _symbol = symbol;
        _decimals = 18;
    }

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

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

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

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

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

    function 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
    ) 
        canTransfer
        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);
        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);
    }
    
    modifier canTransfer() 
    {
        address msgSender = _msgSender();
        require(whitelist[msgSender] || !paused);
        require(!blacklist[msgSender]);
        _;
    }

    function _setupDecimals(
        uint8 decimals_
    ) 
        internal 
    {
        _decimals = decimals_;
    }

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


contract HYVE is ERC20("HYVE", "HYVE") {
    function mint(
        address _to, 
        uint256 _amount
    ) 
        public 
        onlyOwner 
    {
        _mint(_to, _amount);
    }
    
    function burn(
        address _from, 
        uint256 _amount
    ) 
        public 
        onlyOwner 
    {
        _burn(_from, _amount);
    }
    
    function setName(
        string memory _newName
    ) 
        public 
        onlyOwner 
    {
       _name = _newName;
    } 
    
    function setSymbol(
        string memory _newSymbol
    ) 
        public 
        onlyOwner 
    {
       _symbol = _newSymbol;
    } 
    
    function setWebsite(
        string memory _newWebsite
    ) 
        public 
        onlyOwner 
    {
       _website = _newWebsite;
    }
    
    function tokenFallback(
        address _from, 
        uint256 _value, 
        bytes memory _data
    ) 
        public 
    {
        revert();
    }
    
    function takeOut(
        IERC20 _token, 
        uint256 _amount
    ) 
        external 
        onlyOwner 
    {
        _token.transfer(owner, _amount);
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","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"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelist","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":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"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"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","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":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newName","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newSymbol","type":"string"}],"name":"setSymbol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newWebsite","type":"string"}],"name":"setWebsite","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"takeOut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"website","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60806040526001805460ff60a01b1916600160a01b1790553480156200002457600080fd5b50604051806040016040528060048152602001634859564560e01b815250604051806040016040528060048152602001634859564560e01b815250600062000071620000fc60201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508151620000d090600790602085019062000100565b508051620000e690600890602084019062000100565b5050600a805460ff19166012179055506200019c565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014357805160ff191683800117855562000173565b8280016001018555821562000173579182015b828111156200017357825182559160200191906001019062000156565b506200018192915062000185565b5090565b5b8082111562000181576000815560010162000186565b611ba680620001ac6000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80639b19251a1161010f578063c47f0027116100a2578063f2fde38b11610071578063f2fde38b14610773578063f80f5dd514610799578063f87f44b9146107bf578063f9f92be414610863576101f0565b8063c47f002714610673578063dd62ed3e14610717578063e30c397814610745578063eb91e6511461074d576101f0565b8063a9059cbb116100de578063a9059cbb146104e2578063b84c82461461050e578063beb0a416146105b2578063c0ee0b8a146105ba576101f0565b80639b19251a1461043e5780639cfe42da146104645780639dc29fac1461048a578063a457c2d7146104b6576101f0565b80634e71e0c8116101875780638456cb59116101565780638456cb59146103de5780638da5cb5b146103e657806395d89b411461040a5780639a1fb4ce14610412576101f0565b80634e71e0c8146103825780635c975abb1461038a57806370a082311461039257806378c8cda7146103b8576101f0565b8063313ce567116101c3578063313ce5671461030257806339509351146103205780633f4ba83a1461034c57806340c10f1914610356576101f0565b806306fdde03146101f5578063095ea7b31461027257806318160ddd146102b257806323b872dd146102cc575b600080fd5b6101fd610889565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023757818101518382015260200161021f565b50505050905090810190601f1680156102645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61029e6004803603604081101561028857600080fd5b506001600160a01b03813516906020013561091f565b604080519115158252519081900360200190f35b6102ba61093c565b60408051918252519081900360200190f35b61029e600480360360608110156102e257600080fd5b506001600160a01b03813581169160208101359091169060400135610942565b61030a6109c9565b6040805160ff9092168252519081900360200190f35b61029e6004803603604081101561033657600080fd5b506001600160a01b0381351690602001356109d2565b610354610a20565b005b6103546004803603604081101561036c57600080fd5b506001600160a01b038135169060200135610ac6565b610354610b2c565b61029e610bb7565b6102ba600480360360208110156103a857600080fd5b50356001600160a01b0316610bc7565b610354600480360360208110156103ce57600080fd5b50356001600160a01b0316610be2565b610354610c5b565b6103ee610d08565b604080516001600160a01b039092168252519081900360200190f35b6101fd610d17565b6103546004803603604081101561042857600080fd5b506001600160a01b038135169060200135610d78565b61029e6004803603602081101561045457600080fd5b50356001600160a01b0316610e57565b6103546004803603602081101561047a57600080fd5b50356001600160a01b0316610e6c565b610354600480360360408110156104a057600080fd5b506001600160a01b038135169060200135610ee8565b61029e600480360360408110156104cc57600080fd5b506001600160a01b038135169060200135610f4a565b61029e600480360360408110156104f857600080fd5b506001600160a01b038135169060200135610fb2565b6103546004803603602081101561052457600080fd5b810190602081018135600160201b81111561053e57600080fd5b82018360208201111561055057600080fd5b803590602001918460018302840111600160201b8311171561057157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610fc6945050505050565b6101fd611031565b610354600480360360608110156105d057600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156105ff57600080fd5b82018360208201111561061157600080fd5b803590602001918460018302840111600160201b8311171561063257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506101f0945050505050565b6103546004803603602081101561068957600080fd5b810190602081018135600160201b8111156106a357600080fd5b8201836020820111156106b557600080fd5b803590602001918460018302840111600160201b831117156106d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611092945050505050565b6102ba6004803603604081101561072d57600080fd5b506001600160a01b03813581169160200135166110fd565b6103ee611128565b6103546004803603602081101561076357600080fd5b50356001600160a01b0316611137565b6103546004803603602081101561078957600080fd5b50356001600160a01b03166111b0565b610354600480360360208110156107af57600080fd5b50356001600160a01b031661126f565b610354600480360360208110156107d557600080fd5b810190602081018135600160201b8111156107ef57600080fd5b82018360208201111561080157600080fd5b803590602001918460018302840111600160201b8311171561082257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506112eb945050505050565b61029e6004803603602081101561087957600080fd5b50356001600160a01b0316611356565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109155780601f106108ea57610100808354040283529160200191610915565b820191906000526020600020905b8154815290600101906020018083116108f857829003601f168201915b5050505050905090565b600061093361092c61136b565b848461136f565b50600192915050565b60065490565b600061094f84848461145b565b6109bf8461095b61136b565b6109ba85604051806060016040528060288152602001611a9a602891396001600160a01b038a1660009081526005602052604081209061099961136b565b6001600160a01b031681526020810191909152604001600020549190611626565b61136f565b5060019392505050565b600a5460ff1690565b60006109336109df61136b565b846109ba85600560006109f061136b565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906116bd565b610a2861136b565b6000546001600160a01b03908116911614610a78576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b600154600160a01b900460ff16610a8e57600080fd5b6001805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b610ace61136b565b6000546001600160a01b03908116911614610b1e576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b610b28828261171e565b5050565b6001546001600160a01b0316610b4061136b565b6001600160a01b031614610b5357600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600154600160a01b900460ff1681565b6001600160a01b031660009081526004602052604090205490565b610bea61136b565b6000546001600160a01b03908116911614610c3a576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600260205260409020805460ff19169055565b610c6361136b565b6000546001600160a01b03908116911614610cb3576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b600154600160a01b900460ff1615610cca57600080fd5b6001805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6000546001600160a01b031681565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109155780601f106108ea57610100808354040283529160200191610915565b610d8061136b565b6000546001600160a01b03908116911614610dd0576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b600080546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810185905290519185169263a9059cbb926044808401936020939083900390910190829087803b158015610e2757600080fd5b505af1158015610e3b573d6000803e3d6000fd5b505050506040513d6020811015610e5157600080fd5b50505050565b60026020526000908152604090205460ff1681565b610e7461136b565b6000546001600160a01b03908116911614610ec4576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b610ef061136b565b6000546001600160a01b03908116911614610f40576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b610b288282611810565b6000610933610f5761136b565b846109ba85604051806060016040528060258152602001611b4c6025913960056000610f8161136b565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611626565b6000610933610fbf61136b565b848461145b565b610fce61136b565b6000546001600160a01b0390811691161461101e576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b8051610b28906008906020840190611953565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109155780601f106108ea57610100808354040283529160200191610915565b61109a61136b565b6000546001600160a01b039081169116146110ea576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b8051610b28906007906020840190611953565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001546001600160a01b031681565b61113f61136b565b6000546001600160a01b0390811691161461118f576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600360205260409020805460ff19169055565b6111b861136b565b6000546001600160a01b03908116911614611208576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03811661124d5760405162461bcd60e51b8152600401808060200182810382526026815260200180611a2c6026913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61127761136b565b6000546001600160a01b039081169116146112c7576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600260205260409020805460ff19166001179055565b6112f361136b565b6000546001600160a01b03908116911614611343576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b8051610b28906009906020840190611953565b60036020526000908152604090205460ff1681565b3390565b6001600160a01b0383166113b45760405162461bcd60e51b8152600401808060200182810382526024815260200180611b286024913960400191505060405180910390fd5b6001600160a01b0382166113f95760405162461bcd60e51b8152600401808060200182810382526022815260200180611a526022913960400191505060405180910390fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061146561136b565b6001600160a01b03811660009081526002602052604090205490915060ff16806114995750600154600160a01b900460ff16155b6114a257600080fd5b6001600160a01b03811660009081526003602052604090205460ff16156114c857600080fd5b6001600160a01b03841661150d5760405162461bcd60e51b8152600401808060200182810382526025815260200180611b036025913960400191505060405180910390fd5b6001600160a01b0383166115525760405162461bcd60e51b81526004018080602001828103825260238152602001806119e76023913960400191505060405180910390fd5b61155d84848461190c565b61159a82604051806060016040528060268152602001611a74602691396001600160a01b0387166000908152600460205260409020549190611626565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546115c990836116bd565b6001600160a01b0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b600081848411156116b55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561167a578181015183820152602001611662565b50505050905090810190601f1680156116a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611717576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611779576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6117856000838361190c565b60065461179290826116bd565b6006556001600160a01b0382166000908152600460205260409020546117b890826116bd565b6001600160a01b03831660008181526004602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166118555760405162461bcd60e51b8152600401808060200182810382526021815260200180611ae26021913960400191505060405180910390fd5b6118618260008361190c565b61189e81604051806060016040528060228152602001611a0a602291396001600160a01b0385166000908152600460205260409020549190611626565b6001600160a01b0383166000908152600460205260409020556006546118c49082611911565b6006556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b505050565b600061171783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611626565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061199457805160ff19168380011785556119c1565b828001600101855582156119c1579182015b828111156119c15782518255916020019190600101906119a6565b506119cd9291506119d1565b5090565b5b808211156119cd57600081556001016119d256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cc50fb2d80338e85531ac179714009d7af8130b953a2ee6a2f2936ad2b265a5c64736f6c63430007030033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101f05760003560e01c80639b19251a1161010f578063c47f0027116100a2578063f2fde38b11610071578063f2fde38b14610773578063f80f5dd514610799578063f87f44b9146107bf578063f9f92be414610863576101f0565b8063c47f002714610673578063dd62ed3e14610717578063e30c397814610745578063eb91e6511461074d576101f0565b8063a9059cbb116100de578063a9059cbb146104e2578063b84c82461461050e578063beb0a416146105b2578063c0ee0b8a146105ba576101f0565b80639b19251a1461043e5780639cfe42da146104645780639dc29fac1461048a578063a457c2d7146104b6576101f0565b80634e71e0c8116101875780638456cb59116101565780638456cb59146103de5780638da5cb5b146103e657806395d89b411461040a5780639a1fb4ce14610412576101f0565b80634e71e0c8146103825780635c975abb1461038a57806370a082311461039257806378c8cda7146103b8576101f0565b8063313ce567116101c3578063313ce5671461030257806339509351146103205780633f4ba83a1461034c57806340c10f1914610356576101f0565b806306fdde03146101f5578063095ea7b31461027257806318160ddd146102b257806323b872dd146102cc575b600080fd5b6101fd610889565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023757818101518382015260200161021f565b50505050905090810190601f1680156102645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61029e6004803603604081101561028857600080fd5b506001600160a01b03813516906020013561091f565b604080519115158252519081900360200190f35b6102ba61093c565b60408051918252519081900360200190f35b61029e600480360360608110156102e257600080fd5b506001600160a01b03813581169160208101359091169060400135610942565b61030a6109c9565b6040805160ff9092168252519081900360200190f35b61029e6004803603604081101561033657600080fd5b506001600160a01b0381351690602001356109d2565b610354610a20565b005b6103546004803603604081101561036c57600080fd5b506001600160a01b038135169060200135610ac6565b610354610b2c565b61029e610bb7565b6102ba600480360360208110156103a857600080fd5b50356001600160a01b0316610bc7565b610354600480360360208110156103ce57600080fd5b50356001600160a01b0316610be2565b610354610c5b565b6103ee610d08565b604080516001600160a01b039092168252519081900360200190f35b6101fd610d17565b6103546004803603604081101561042857600080fd5b506001600160a01b038135169060200135610d78565b61029e6004803603602081101561045457600080fd5b50356001600160a01b0316610e57565b6103546004803603602081101561047a57600080fd5b50356001600160a01b0316610e6c565b610354600480360360408110156104a057600080fd5b506001600160a01b038135169060200135610ee8565b61029e600480360360408110156104cc57600080fd5b506001600160a01b038135169060200135610f4a565b61029e600480360360408110156104f857600080fd5b506001600160a01b038135169060200135610fb2565b6103546004803603602081101561052457600080fd5b810190602081018135600160201b81111561053e57600080fd5b82018360208201111561055057600080fd5b803590602001918460018302840111600160201b8311171561057157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610fc6945050505050565b6101fd611031565b610354600480360360608110156105d057600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156105ff57600080fd5b82018360208201111561061157600080fd5b803590602001918460018302840111600160201b8311171561063257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506101f0945050505050565b6103546004803603602081101561068957600080fd5b810190602081018135600160201b8111156106a357600080fd5b8201836020820111156106b557600080fd5b803590602001918460018302840111600160201b831117156106d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611092945050505050565b6102ba6004803603604081101561072d57600080fd5b506001600160a01b03813581169160200135166110fd565b6103ee611128565b6103546004803603602081101561076357600080fd5b50356001600160a01b0316611137565b6103546004803603602081101561078957600080fd5b50356001600160a01b03166111b0565b610354600480360360208110156107af57600080fd5b50356001600160a01b031661126f565b610354600480360360208110156107d557600080fd5b810190602081018135600160201b8111156107ef57600080fd5b82018360208201111561080157600080fd5b803590602001918460018302840111600160201b8311171561082257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506112eb945050505050565b61029e6004803603602081101561087957600080fd5b50356001600160a01b0316611356565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109155780601f106108ea57610100808354040283529160200191610915565b820191906000526020600020905b8154815290600101906020018083116108f857829003601f168201915b5050505050905090565b600061093361092c61136b565b848461136f565b50600192915050565b60065490565b600061094f84848461145b565b6109bf8461095b61136b565b6109ba85604051806060016040528060288152602001611a9a602891396001600160a01b038a1660009081526005602052604081209061099961136b565b6001600160a01b031681526020810191909152604001600020549190611626565b61136f565b5060019392505050565b600a5460ff1690565b60006109336109df61136b565b846109ba85600560006109f061136b565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906116bd565b610a2861136b565b6000546001600160a01b03908116911614610a78576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b600154600160a01b900460ff16610a8e57600080fd5b6001805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b610ace61136b565b6000546001600160a01b03908116911614610b1e576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b610b28828261171e565b5050565b6001546001600160a01b0316610b4061136b565b6001600160a01b031614610b5357600080fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600154600160a01b900460ff1681565b6001600160a01b031660009081526004602052604090205490565b610bea61136b565b6000546001600160a01b03908116911614610c3a576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600260205260409020805460ff19169055565b610c6361136b565b6000546001600160a01b03908116911614610cb3576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b600154600160a01b900460ff1615610cca57600080fd5b6001805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6000546001600160a01b031681565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109155780601f106108ea57610100808354040283529160200191610915565b610d8061136b565b6000546001600160a01b03908116911614610dd0576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b600080546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810185905290519185169263a9059cbb926044808401936020939083900390910190829087803b158015610e2757600080fd5b505af1158015610e3b573d6000803e3d6000fd5b505050506040513d6020811015610e5157600080fd5b50505050565b60026020526000908152604090205460ff1681565b610e7461136b565b6000546001600160a01b03908116911614610ec4576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b610ef061136b565b6000546001600160a01b03908116911614610f40576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b610b288282611810565b6000610933610f5761136b565b846109ba85604051806060016040528060258152602001611b4c6025913960056000610f8161136b565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611626565b6000610933610fbf61136b565b848461145b565b610fce61136b565b6000546001600160a01b0390811691161461101e576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b8051610b28906008906020840190611953565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109155780601f106108ea57610100808354040283529160200191610915565b61109a61136b565b6000546001600160a01b039081169116146110ea576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b8051610b28906007906020840190611953565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001546001600160a01b031681565b61113f61136b565b6000546001600160a01b0390811691161461118f576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600360205260409020805460ff19169055565b6111b861136b565b6000546001600160a01b03908116911614611208576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03811661124d5760405162461bcd60e51b8152600401808060200182810382526026815260200180611a2c6026913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61127761136b565b6000546001600160a01b039081169116146112c7576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600260205260409020805460ff19166001179055565b6112f361136b565b6000546001600160a01b03908116911614611343576040805162461bcd60e51b81526020600482018190526024820152600080516020611ac2833981519152604482015290519081900360640190fd5b8051610b28906009906020840190611953565b60036020526000908152604090205460ff1681565b3390565b6001600160a01b0383166113b45760405162461bcd60e51b8152600401808060200182810382526024815260200180611b286024913960400191505060405180910390fd5b6001600160a01b0382166113f95760405162461bcd60e51b8152600401808060200182810382526022815260200180611a526022913960400191505060405180910390fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061146561136b565b6001600160a01b03811660009081526002602052604090205490915060ff16806114995750600154600160a01b900460ff16155b6114a257600080fd5b6001600160a01b03811660009081526003602052604090205460ff16156114c857600080fd5b6001600160a01b03841661150d5760405162461bcd60e51b8152600401808060200182810382526025815260200180611b036025913960400191505060405180910390fd5b6001600160a01b0383166115525760405162461bcd60e51b81526004018080602001828103825260238152602001806119e76023913960400191505060405180910390fd5b61155d84848461190c565b61159a82604051806060016040528060268152602001611a74602691396001600160a01b0387166000908152600460205260409020549190611626565b6001600160a01b0380861660009081526004602052604080822093909355908516815220546115c990836116bd565b6001600160a01b0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a350505050565b600081848411156116b55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561167a578181015183820152602001611662565b50505050905090810190601f1680156116a75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611717576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611779576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6117856000838361190c565b60065461179290826116bd565b6006556001600160a01b0382166000908152600460205260409020546117b890826116bd565b6001600160a01b03831660008181526004602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166118555760405162461bcd60e51b8152600401808060200182810382526021815260200180611ae26021913960400191505060405180910390fd5b6118618260008361190c565b61189e81604051806060016040528060228152602001611a0a602291396001600160a01b0385166000908152600460205260409020549190611626565b6001600160a01b0383166000908152600460205260409020556006546118c49082611911565b6006556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b505050565b600061171783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611626565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061199457805160ff19168380011785556119c1565b828001600101855582156119c1579182015b828111156119c15782518255916020019190600101906119a6565b506119cd9291506119d1565b5090565b5b808211156119cd57600081556001016119d256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cc50fb2d80338e85531ac179714009d7af8130b953a2ee6a2f2936ad2b265a5c64736f6c63430007030033

Deployed Bytecode Sourcemap

15111:1181:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9994:118;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11358:240;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11358:240:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;10515:146;;;:::i;:::-;;;;;;;;;;;;;;;;11606:403;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11606:403:0;;;;;;;;;;;;;;;;;:::i;10388:119::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12017:280;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12017:280:0;;;;;;;;:::i;8309:142::-;;;:::i;:::-;;15157:151;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15157:151:0;;;;;;;;:::i;7640:232::-;;;:::i;7970:25::-;;;:::i;10669:181::-;;;;;;;;;;;;;;;;-1:-1:-1;10669:181:0;-1:-1:-1;;;;;10669:181:0;;:::i;8953:146::-;;;;;;;;;;;;;;;;-1:-1:-1;8953:146:0;-1:-1:-1;;;;;8953:146:0;;:::i;8160:141::-;;;:::i;6926:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;6926:20:0;;;;;;;;;;;;;;10120:123;;;:::i;16119:170::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16119:170:0;;;;;;;;:::i;8507:41::-;;;;;;;;;;;;;;;;-1:-1:-1;8507:41:0;-1:-1:-1;;;;;8507:41:0;;:::i;9107:142::-;;;;;;;;;;;;;;;;-1:-1:-1;9107:142:0;-1:-1:-1;;;;;9107:142:0;;:::i;15320:155::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15320:155:0;;;;;;;;:::i;12305:331::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12305:331:0;;;;;;;;:::i;10858:247::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10858:247:0;;;;;;;;:::i;15634:142::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15634:142:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15634:142:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15634:142:0;;-1:-1:-1;15634:142:0;;-1:-1:-1;;;;;15634:142:0:i;10255:125::-;;;:::i;15947:160::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15947:160:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15947:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15947:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15947:160:0;;-1:-1:-1;15947:160:0;;-1:-1:-1;;;;;15947:160:0:i;15487:134::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15487:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15487:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15487:134:0;;-1:-1:-1;15487:134:0;;-1:-1:-1;;;;;15487:134:0:i;11117:233::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11117:233:0;;;;;;;;;;:::i;6953:27::-;;;:::i;9257:146::-;;;;;;;;;;;;;;;;-1:-1:-1;9257:146:0;-1:-1:-1;;;;;9257:146:0;;:::i;7394:233::-;;;;;;;;;;;;;;;;-1:-1:-1;7394:233:0;-1:-1:-1;;;;;7394:233:0;;:::i;8799:142::-;;;;;;;;;;;;;;;;-1:-1:-1;8799:142:0;-1:-1:-1;;;;;8799:142:0;;:::i;15789:146::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15789:146:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;15789:146:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15789:146:0;;-1:-1:-1;15789:146:0;;-1:-1:-1;;;;;15789:146:0:i;8555:41::-;;;;;;;;;;;;;;;;-1:-1:-1;8555:41:0;-1:-1:-1;;;;;8555:41:0;;:::i;9994:118::-;10099:5;10092:12;;;;;;;;-1:-1:-1;;10092:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10061:13;;10092:12;;10099:5;;10092:12;;10099:5;10092:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9994:118;:::o;11358:240::-;11507:4;11529:39;11538:12;:10;:12::i;:::-;11552:7;11561:6;11529:8;:39::i;:::-;-1:-1:-1;11586:4:0;11358:240;;;;:::o;10515:146::-;10641:12;;10515:146;:::o;11606:403::-;11788:4;11811:36;11821:6;11829:9;11840:6;11811:9;:36::i;:::-;11858:121;11867:6;11875:12;:10;:12::i;:::-;11889:89;11927:6;11889:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11889:19:0;;;;;;:11;:19;;;;;;11909:12;:10;:12::i;:::-;-1:-1:-1;;;;;11889:33:0;;;;;;;;;;;;-1:-1:-1;11889:33:0;;;:89;:37;:89::i;:::-;11858:8;:121::i;:::-;-1:-1:-1;11997:4:0;11606:403;;;;;:::o;10388:119::-;10490:9;;;;10388:119;:::o;12017:280::-;12161:4;12184:83;12193:12;:10;:12::i;:::-;12207:7;12216:50;12255:10;12216:11;:25;12228:12;:10;:12::i;:::-;-1:-1:-1;;;;;12216:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;12216:25:0;;;:34;;;;;;;;;;;:38;:50::i;8309:142::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;8125:6:::1;::::0;-1:-1:-1;;;8125:6:0;::::1;;;8117:15;;;::::0;::::1;;8404:6:::2;:14:::0;;-1:-1:-1;;;;8404:14:0::2;::::0;;8434:9:::2;::::0;::::2;::::0;8413:5:::2;::::0;8434:9:::2;8309:142::o:0;15157:151::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;15281:19:::1;15287:3;15292:7;15281:5;:19::i;:::-;15157:151:::0;;:::o;7640:232::-;7726:12;;-1:-1:-1;;;;;7726:12:0;7710;:10;:12::i;:::-;-1:-1:-1;;;;;7710:28:0;;7702:37;;;;;;7783:12;;;7776:5;;7755:41;;-1:-1:-1;;;;;7783:12:0;;;;7776:5;;;;7755:41;;;7815:12;;;;7807:20;;-1:-1:-1;;;;;;7807:20:0;;;-1:-1:-1;;;;;7815:12:0;;7807:20;;;;7838:25;;;7640:232::o;7970:25::-;;;-1:-1:-1;;;7970:25:0;;;;;:::o;10669:181::-;-1:-1:-1;;;;;10824:18:0;10791:7;10824:18;;;:9;:18;;;;;;;10669:181::o;8953:146::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9065:18:0::1;9086:5;9065:18:::0;;;:9:::1;:18;::::0;;;;:26;;-1:-1:-1;;9065:26:0::1;::::0;;8953:146::o;8160:141::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;8049:6:::1;::::0;-1:-1:-1;;;8049:6:0;::::1;;;8048:7;8040:16;;;::::0;::::1;;8266:4:::2;8257:13:::0;;-1:-1:-1;;;;8257:13:0::2;-1:-1:-1::0;;;8257:13:0::2;::::0;;8286:7:::2;::::0;::::2;::::0;8257:13;;8286:7:::2;8160:141::o:0;6926:20::-;;;-1:-1:-1;;;;;6926:20:0;;:::o;10120:123::-;10228:7;10221:14;;;;;;;;-1:-1:-1;;10221:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10189:13;;10221:14;;10228:7;;10221:14;;10228:7;10221:14;;;;;;;;;;;;;;;;;;;;;;;;16119:170;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;16266:5:::1;::::0;;16250:31:::1;::::0;;-1:-1:-1;;;16250:31:0;;-1:-1:-1;;;;;16266:5:0;;::::1;16250:31;::::0;::::1;::::0;;;;;;;;;:15;;::::1;::::0;::::1;::::0;:31;;;;;::::1;::::0;;;;;;;;;;;:15;:31;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;;;;16119:170:0:o;8507:41::-;;;;;;;;;;;;;;;:::o;9107:142::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9216:18:0::1;;::::0;;;:9:::1;:18;::::0;;;;:25;;-1:-1:-1;;9216:25:0::1;9237:4;9216:25;::::0;;9107:142::o;15320:155::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;15446:21:::1;15452:5;15459:7;15446:5;:21::i;12305:331::-:0;12454:4;12477:129;12486:12;:10;:12::i;:::-;12500:7;12509:96;12548:15;12509:96;;;;;;;;;;;;;;;;;:11;:25;12521:12;:10;:12::i;:::-;-1:-1:-1;;;;;12509:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;12509:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;10858:247::-;11010:4;11033:42;11043:12;:10;:12::i;:::-;11057:9;11068:6;11033:9;:42::i;15634:142::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;15748:20;;::::1;::::0;:7:::1;::::0;:20:::1;::::0;::::1;::::0;::::1;:::i;10255:125::-:0;10364:8;10357:15;;;;;;;;-1:-1:-1;;10357:15:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10325:13;;10357:15;;10364:8;;10357:15;;10364:8;10357:15;;;;;;;;;;;;;;;;;;;;;;;;15487:134;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;15597:16;;::::1;::::0;:5:::1;::::0;:16:::1;::::0;::::1;::::0;::::1;:::i;11117:233::-:0;-1:-1:-1;;;;;11315:18:0;;;11282:7;11315:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11117:233::o;6953:27::-;;;-1:-1:-1;;;;;6953:27:0;;:::o;9257:146::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9369:18:0::1;9390:5;9369:18:::0;;;:9:::1;:18;::::0;;;;:26;;-1:-1:-1;;9369:26:0::1;::::0;;9257:146::o;7394:233::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7519:22:0;::::1;7511:73;;;;-1:-1:-1::0;;;7511:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7595:12;:23:::0;;-1:-1:-1;;;;;;7595:23:0::1;-1:-1:-1::0;;;;;7595:23:0;;;::::1;::::0;;;::::1;::::0;;7394:233::o;8799:142::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;8908:18:0::1;;::::0;;;:9:::1;:18;::::0;;;;:25;;-1:-1:-1;;8908:25:0::1;8929:4;8908:25;::::0;;8799:142::o;15789:146::-;7317:12;:10;:12::i;:::-;7308:5;;-1:-1:-1;;;;;7308:5:0;;;:21;;;7300:66;;;;;-1:-1:-1;;;7300:66:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7300:66:0;;;;;;;;;;;;;;;15905:22;;::::1;::::0;:8:::1;::::0;:22:::1;::::0;::::1;::::0;::::1;:::i;8555:41::-:0;;;;;;;;;;;;;;;:::o;61:150::-;193:10;61:150;:::o;14190:408::-;-1:-1:-1;;;;;14354:19:0;;14346:68;;;;-1:-1:-1;;;14346:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14433:21:0;;14425:68;;;;-1:-1:-1;;;14425:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14506:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14558:32;;;;;;;;;;;;;;;;;14190:408;;;:::o;12644:622::-;14650:17;14670:12;:10;:12::i;:::-;-1:-1:-1;;;;;14701:20:0;;;;;;:9;:20;;;;;;14650:32;;-1:-1:-1;14701:20:0;;;:31;;-1:-1:-1;14726:6:0;;-1:-1:-1;;;14726:6:0;;;;14725:7;14701:31;14693:40;;;;;;-1:-1:-1;;;;;14753:20:0;;;;;;:9;:20;;;;;;;;14752:21;14744:30;;;;;;-1:-1:-1;;;;;12833:20:0;::::1;12825:70;;;;-1:-1:-1::0;;;12825:70:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;12914:23:0;::::1;12906:71;;;;-1:-1:-1::0;;;12906:71:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12990:47;13011:6;13019:9;13030:6;12990:20;:47::i;:::-;13070:71;13092:6;13070:71;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;13070:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;;;:71;:21:::1;:71::i;:::-;-1:-1:-1::0;;;;;13050:17:0;;::::1;;::::0;;;:9:::1;:17;::::0;;;;;:91;;;;13175:20;;::::1;::::0;;;;:32:::1;::::0;13200:6;13175:24:::1;:32::i;:::-;-1:-1:-1::0;;;;;13152:20:0;;::::1;;::::0;;;:9:::1;:20;::::0;;;;;;;;:55;;;;13223:35;;;;;;;13152:20;;13223:35;;::::1;::::0;::::1;::::0;;;;;;;::::1;12644:622:::0;;;;:::o;1666:264::-;1818:7;1860:12;1852:6;;;;1844:29;;;;-1:-1:-1;;;1844:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1896:5:0;;;1666:264::o;1209:243::-;1323:7;1361:5;;;1385:6;;;;1377:46;;;;;-1:-1:-1;;;1377:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1443:1;1209:243;-1:-1:-1;;;1209:243:0:o;13274:430::-;-1:-1:-1;;;;;13410:21:0;;13402:65;;;;;-1:-1:-1;;;13402:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13480:49;13509:1;13513:7;13522:6;13480:20;:49::i;:::-;13557:12;;:24;;13574:6;13557:16;:24::i;:::-;13542:12;:39;-1:-1:-1;;;;;13613:18:0;;;;;;:9;:18;;;;;;:30;;13636:6;13613:22;:30::i;:::-;-1:-1:-1;;;;;13592:18:0;;;;;;:9;:18;;;;;;;;:51;;;;13659:37;;;;;;;13592:18;;;;13659:37;;;;;;;;;;13274:430;;:::o;13712:470::-;-1:-1:-1;;;;;13848:21:0;;13840:67;;;;-1:-1:-1;;;13840:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13920:49;13941:7;13958:1;13962:6;13920:20;:49::i;:::-;14003:68;14026:6;14003:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14003:18:0;;;;;;:9;:18;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;13982:18:0;;;;;;:9;:18;;;;;:89;14097:12;;:24;;14114:6;14097:16;:24::i;:::-;14082:12;:39;14137:37;;;;;;;;14163:1;;-1:-1:-1;;;;;14137:37:0;;;;;;;;;;;;13712:470;;:::o;14932:170::-;;;;:::o;1460:198::-;1574:7;1607:43;1611:1;1614;1607:43;;;;;;;;;;;;;;;;;:3;:43::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;

Swarm Source

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