Token THENODE

 

Overview [ERC-20]

Price
$0.00 @ 0.000004 Eth
Fully Diluted Market Cap
Max Total Supply:
97,252,466.988 THE

Holders:
982 (0.00%)

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

THENODE ​​is the 4th generation masternode mining coin that combines the advantages of the existing PoW, PoS, MPoS mining method.

Market

Volume (24H):$144.03
Market Capitalization:$0.00
Circulating Supply:0.00 THE
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
THENODE

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-10-02
*/

pragma solidity ^0.5.8;


/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
    * @dev Multiplies two unsigned integers, reverts on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0);
        uint256 c = a / b;
        return c;
    }

    /**
    * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;
        return c;
    }

    /**
    * @dev Adds two unsigned integers, reverts on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);
        return c;
    }

    /**
    * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
    * reverts when dividing by zero.
    */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

contract Ownable
{
    bool private stopped;
    
    address public _owner;
    address public _admin;
    address private proposedOwner;
    mapping(address => bool) private _allowed;

    event Stopped();
    event Started();
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event Allowed(address indexed _address);
    event RemoveAllowed(address indexed _address);

    constructor () internal
    {
        stopped = false;
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner()
    {
        require(isOwner());
        _;
    }

    modifier onlyAllowed()
    {
        require(isAllowed() || isOwner());
        _;
    }

    modifier onlyWhenNotStopped()
    {
        require(!isStopped());
        _;
    }

    function isOwner() public view returns (bool)
    {
        return msg.sender == _owner;
    }

    function isAllowed() public view returns (bool)
    {
        return _allowed[msg.sender];
    }

    function allow(address _target) external onlyOwner returns (bool)
    {
        _allowed[_target] = true;
        emit Allowed(_target);
        return true;
    }

    function removeAllowed(address _target) external onlyOwner returns (bool)
    {
        _allowed[_target] = false;
        emit RemoveAllowed(_target);
        return true;
    }

    function isStopped() public view returns (bool)
    {
        if(isOwner() || isAllowed())
        {
            return false;
        }
        else
        {
            return stopped;
        }
    }

    function stop() public onlyOwner
    {
        _stop();
    }

    function start() public onlyOwner
    {
        _start();
    }

    function proposeOwner(address _proposedOwner) public onlyOwner
    {
        require(msg.sender != _proposedOwner);
        proposedOwner = _proposedOwner;
    }

    function claimOwnership() public
    {
        require(msg.sender == proposedOwner);

        emit OwnershipTransferred(_owner, proposedOwner);

        _owner = proposedOwner;
        proposedOwner = address(0);
    }

    function _stop() internal
    {
        emit Stopped();
        stopped = true;
    }

    function _start() internal
    {
        emit Started();
        stopped = false;
    }
}

contract BaseToken is Ownable
{
    using SafeMath for uint256;

    uint256 constant internal E18 = 1000000000000000000;
    uint256 constant public decimals = 18;
    uint256 public totalSupply;

    struct Lock {
        uint256 amount;
        uint256 expiresAt;
    }

    mapping (address => uint256) public balances;
    mapping (address => mapping ( address => uint256 )) public approvals;
    mapping (address => Lock[]) public lockup;
    mapping(address => bool) public lockedAddresses;

    
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    event Locked(address _who,uint256 _index);
    event UnlockedAll(address _who);
    event UnlockedIndex(address _who, uint256 _index);
    
    event Burn(address indexed from, uint256 indexed value);
    
    constructor() public
    {
        balances[msg.sender] = totalSupply;
    }

    modifier transferParamsValidation(address _from, address _to, uint256 _value)
    {
        require(_from != address(0));
        require(_to != address(0));
        require(_value > 0);
        require(balances[_from] >= _value);
        require(!isLocked(_from, _value));
        _;
    }
    
    modifier canTransfer(address _sender, uint256 _value) {
    require(!lockedAddresses[_sender]);
    require(_sender != address(0));
    

    _;
    }

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

    function lockedBalanceOf(address _who) view public returns (uint256)
    {
        require(_who != address(0));

        uint256 lockedBalance = 0;
        if(lockup[_who].length > 0)
        {
            Lock[] storage locks = lockup[_who];

            uint256 length = locks.length;
            for (uint i = 0; i < length; i++)
            {
                if (now < locks[i].expiresAt)
                {
                    lockedBalance = lockedBalance.add(locks[i].amount);
                }
            }
        }

        return lockedBalance;
    }

    function allowance(address _owner, address _spender) view external returns (uint256)
    {
        return approvals[_owner][_spender];
    }

    function isLocked(address _who, uint256 _value) view public returns(bool)
    {
        uint256 lockedBalance = lockedBalanceOf(_who);
        uint256 balance = balanceOf(_who);

        if(lockedBalance <= 0)
        {
            return false;
        }
        else
        {
            return !(balance > lockedBalance && balance.sub(lockedBalance) >= _value);
        }
    }

    function transfer(address _to, uint256 _value) external onlyWhenNotStopped canTransfer(msg.sender, _value) transferParamsValidation(msg.sender, _to, _value) returns (bool)
    {
        
        _transfer(msg.sender, _to, _value);

        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) external onlyWhenNotStopped transferParamsValidation(_from, _to, _value) returns (bool)
    {
        require(approvals[_from][msg.sender] >= _value);

        approvals[_from][msg.sender] = approvals[_from][msg.sender].sub(_value);

        _transfer(_from, _to, _value);

        return true;
    }
    
    // transferWithLock is only for airdrop or marketing purpose

    function transferWithLock(address _to, uint256 _value, uint256 _time) onlyOwner transferParamsValidation(msg.sender, _to, _value) external returns (bool)
    {
        require(_time > now);

        _lock(_to, _value, _time);
        _transfer(msg.sender, _to, _value);

        return true;
    }
    
    // lockAddress is only for security accident prevention
    
    function lockAddress(address _addr, bool _locked) onlyOwner external
    {
        lockedAddresses[_addr] = _locked;
    }

    // approve is for transfer authentication
    function approve(address _spender, uint256 _value) external onlyWhenNotStopped returns (bool)
    {
        require(_spender != address(0));
        require(balances[msg.sender] >= _value);
        require(msg.sender != _spender);

        approvals[msg.sender][_spender] = _value;

        emit Approval(msg.sender, _spender, _value);

        return true;
    }

    
    function unlock(address _who, uint256 _index) onlyOwner external returns (bool)
    {
        uint256 length = lockup[_who].length;
        require(length > _index);

        lockup[_who][_index] = lockup[_who][length - 1];
        lockup[_who].length--;

        emit UnlockedIndex(_who, _index);

        return true;
    }

    function unlockAll(address _who) onlyOwner external returns (bool)
    {
        require(lockup[_who].length > 0);

        delete lockup[_who];
        emit UnlockedAll(_who);

        return true;
    }
    
    // burn is for incubator fund or security accident prevention

    function burn(uint256 _value) external
    {
        require(balances[msg.sender] >= _value);
        require(_value > 0);

        balances[msg.sender] = balances[msg.sender].sub(_value);

        totalSupply = totalSupply.sub(_value);

        emit Burn(msg.sender, _value);
    }
    
    

    function _mint(address account, uint256 _value) internal 
    {
        require(account != address(0));

        totalSupply = totalSupply.add(_value);
        balances[account] = balances[account].add(_value);
        emit Transfer(address(0), account, _value);
    }

   
    function _transfer(address _from, address _to, uint256 _value) internal
    {
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        
        
        emit Transfer(_from, _to, _value);
    }

    function _lock(address _who, uint256 _value, uint256 _dateTime) onlyOwner internal
    {
        lockup[_who].push(Lock(_value, _dateTime));

        emit Locked(_who, lockup[_who].length - 1);
    }

    // destruction is for token upgrade
    function destruction() onlyOwner public
    {
        selfdestruct(msg.sender);
    }
    
    
}

/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    /**
     * @dev give an account access to this role
     */
    function add(Role storage role, address account) internal {
        require(account != address(0));
        require(!has(role, account));

        role.bearer[account] = true;
    }

    /**
     * @dev remove an account's access to this role
     */
    function remove(Role storage role, address account) internal {
        require(account != address(0));
        require(has(role, account));

        role.bearer[account] = false;
    }

    /**
     * @dev check if an account has this role
     * @return bool
     */
    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0));
        return role.bearer[account];
    }
}

contract MinterRole {
    using Roles for Roles.Role;

    event MinterAdded(address indexed account);
    event MinterRemoved(address indexed account);

    Roles.Role private _minters;

    constructor () internal {
        _addMinter(msg.sender);
    }

    modifier onlyMinter() {
        require(isMinter(msg.sender));
        _;
    }

    function isMinter(address account) public view returns (bool) {
        return _minters.has(account);
    }

    function addMinter(address account) public onlyMinter {
        _addMinter(account);
    }

    function renounceMinter() public {
        _removeMinter(msg.sender);
    }

    function _addMinter(address account) internal {
        _minters.add(account);
        emit MinterAdded(account);
    }

    function _removeMinter(address account) internal {
        _minters.remove(account);
        emit MinterRemoved(account);
    }
}

/**
 * @title ERC20Mintable
 * @dev ERC20 minting logic
 */
contract ERC20Mintable is BaseToken, MinterRole {
    /**
     * @dev Function to mint tokens
     * @param to The address that will receive the minted tokens.
     * @param value The amount of tokens to mint.
     * @return A boolean that indicates if the operation was successful.
     */
     
    // mint is only for THENODE's daily MPoS mining (250000 THE)
    function mint(address to, uint256 value) public onlyMinter returns (bool) {
        _mint(to, value);
        return true;
    }
}


contract THENODE is BaseToken, ERC20Mintable
{
    using SafeMath for uint256;

    string constant public name    = 'THENODE';
    string constant public symbol  = 'THE';
    string constant public version = '1.0.0';


    constructor() public
    {
        totalSupply = 25000000 * E18;
        balances[msg.sender] = totalSupply;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"_admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"lockedBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"removeAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_index","type":"uint256"}],"name":"unlock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_who","type":"address"},{"name":"_value","type":"uint256"}],"name":"isLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"approvals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lockedAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lockup","outputs":[{"name":"amount","type":"uint256"},{"name":"expiresAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedOwner","type":"address"}],"name":"proposeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"}],"name":"unlockAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"destruction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_time","type":"uint256"}],"name":"transferWithLock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_locked","type":"bool"}],"name":"lockAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"allow","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_who","type":"address"},{"indexed":false,"name":"_index","type":"uint256"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_who","type":"address"}],"name":"UnlockedAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_who","type":"address"},{"indexed":false,"name":"_index","type":"uint256"}],"name":"UnlockedIndex","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"Stopped","type":"event"},{"anonymous":false,"inputs":[],"name":"Started","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"}],"name":"Allowed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"}],"name":"RemoveAllowed","type":"event"}]

60806040523480156200001157600080fd5b5060008060006101000a81548160ff02191690831515021790555033600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600454600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200014133620001a260201b60201c565b670de0b6b3a764000063017d784002600481905550600454600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200034c565b620001bd8160096200020360201b620029901790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156200023e57600080fd5b620002508282620002b960201b60201c565b156200025b57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002f557600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612b98806200035c6000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c806395d89b4111610130578063aa271e1a116100b8578063d37c6c9e1161007c578063d37c6c9e14610bfb578063dd62ed3e14610c05578063de6baccb14610c7d578063f226003114610ced578063ff9913e814610d3d57610232565b8063aa271e1a14610aab578063b2bdfa7b14610b07578063b5ed298a14610b51578063be9a655514610b95578063c4f3a85314610b9f57610232565b8063a21fbc92116100ff578063a21fbc92146108e6578063a32ce11e14610908578063a5bbd67a14610980578063a7b86824146109dc578063a9059cbb14610a4557610232565b806395d89b41146107af578063983b2d5614610832578063986502751461087657806399cca36c1461088057610232565b806340c10f19116101be5780636470db2f116101825780636470db2f1461062957806370a08231146106855780637eee288d146106dd5780638da5cb5b146107435780638f32d59b1461078d57610232565b806340c10f19146104b057806342966c68146105165780634e71e0c81461054457806354fd4d501461054e57806359355736146105d157610232565b806318160ddd1161020557806318160ddd1461037457806323b872dd1461039257806327e235e314610418578063313ce567146104705780633f683b6a1461048e57610232565b806301bc45c91461023757806306fdde031461028157806307da68f514610304578063095ea7b31461030e575b600080fd5b61023f610d99565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610289610dbf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102c95780820151818401526020810190506102ae565b50505050905090810190601f1680156102f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61030c610df8565b005b61035a6004803603604081101561032457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e13565b604051808215151515815260200191505060405180910390f35b61037c610fd6565b6040518082815260200191505060405180910390f35b6103fe600480360360608110156103a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fdc565b604051808215151515815260200191505060405180910390f35b61045a6004803603602081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611285565b6040518082815260200191505060405180910390f35b61047861129d565b6040518082815260200191505060405180910390f35b6104966112a2565b604051808215151515815260200191505060405180910390f35b6104fc600480360360408110156104c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112de565b604051808215151515815260200191505060405180910390f35b6105426004803603602081101561052c57600080fd5b8101908080359060200190929190505050611306565b005b61054c611456565b005b6105566115f5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561059657808201518184015260208101905061057b565b50505050905090810190601f1680156105c35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610613600480360360208110156105e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061162e565b6040518082815260200191505060405180910390f35b61066b6004803603602081101561063f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611785565b604051808215151515815260200191505060405180910390f35b6106c76004803603602081101561069b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061183c565b6040518082815260200191505060405180910390f35b610729600480360360408110156106f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611885565b604051808215151515815260200191505060405180910390f35b61074b611a7e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610795611aa7565b604051808215151515815260200191505060405180910390f35b6107b7611afe565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107f75780820151818401526020810190506107dc565b50505050905090810190601f1680156108245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108746004803603602081101561084857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b37565b005b61087e611b55565b005b6108cc6004803603604081101561089657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b60565b604051808215151515815260200191505060405180910390f35b6108ee611bbb565b604051808215151515815260200191505060405180910390f35b61096a6004803603604081101561091e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c0f565b6040518082815260200191505060405180910390f35b6109c26004803603602081101561099657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c34565b604051808215151515815260200191505060405180910390f35b610a28600480360360408110156109f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c54565b604051808381526020018281526020019250505060405180910390f35b610a9160048036036040811015610a5b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c92565b604051808215151515815260200191505060405180910390f35b610aed60048036036020811015610ac157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e37565b604051808215151515815260200191505060405180910390f35b610b0f611e54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610b9360048036036020811015610b6757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e7a565b005b610b9d611f08565b005b610be160048036036020811015610bb557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f23565b604051808215151515815260200191505060405180910390f35b610c0361203c565b005b610c6760048036036040811015610c1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612066565b6040518082815260200191505060405180910390f35b610cd360048036036060811015610c9357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506120ed565b604051808215151515815260200191505060405180910390f35b610d3b60048036036040811015610d0357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612214565b005b610d7f60048036036020811015610d5357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612280565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600781526020017f5448454e4f44450000000000000000000000000000000000000000000000000081525081565b610e00611aa7565b610e0957600080fd5b610e11612337565b565b6000610e1d6112a2565b15610e2757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e6157600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ead57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610ee657600080fd5b81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60045481565b6000610fe66112a2565b15610ff057600080fd5b838383600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561102d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561106757600080fd5b6000811161107457600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156110c057600080fd5b6110ca8382611b60565b156110d457600080fd5b84600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561115d57600080fd5b6111ec85600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061127787878761239f565b600193505050509392505050565b60056020528060005260406000206000915090505481565b601281565b60006112ac611aa7565b806112bb57506112ba611bbb565b5b156112c957600090506112db565b6000809054906101000a900460ff1690505b90565b60006112e933611e37565b6112f257600080fd5b6112fc8383612533565b6001905092915050565b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561135257600080fd5b6000811161135f57600080fd5b6113b181600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114098160045461237f90919063ffffffff16565b600481905550803373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca560405160405180910390a350565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114b057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561166957600080fd5b60008090506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561177c576000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008180549050905060008090505b818110156117785782818154811061171f57fe5b90600052602060002090600202016001015442101561176b5761176883828154811061174757fe5b9060005260206000209060020201600001548561268790919063ffffffff16565b93505b808060010191505061170b565b5050505b80915050919050565b600061178f611aa7565b61179857600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f5d9380eecb09de6c59dcca531d6c3da62117987963d921ccb7db0deb8a663dac60405160405180910390a260019050919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600061188f611aa7565b61189857600080fd5b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090508281116118eb57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061193857fe5b9060005260206000209060020201600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811061199057fe5b90600052602060002090600202016000820154816000015560018201548160010155905050600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480919060019003611a079190612ae7565b507f657baf241b86add9803c50dcc5c1e3af63c10bf6c9e0500b0344ae29235279ca8484604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1600191505092915050565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6040518060400160405280600381526020017f544845000000000000000000000000000000000000000000000000000000000081525081565b611b4033611e37565b611b4957600080fd5b611b52816126a6565b50565b611b5e33612700565b565b600080611b6c8461162e565b90506000611b798561183c565b905060008211611b8e57600092505050611bb5565b8181118015611baf575083611bac838361237f90919063ffffffff16565b10155b15925050505b92915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905090565b6006602052816000526040600020602052806000526040600020600091509150505481565b60086020528060005260406000206000915054906101000a900460ff1681565b60076020528160005260406000208181548110611c6d57fe5b9060005260206000209060020201600091509150508060000154908060010154905082565b6000611c9c6112a2565b15611ca657600080fd5b3382600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611cff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d3957600080fd5b338585600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d7657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611db057600080fd5b60008111611dbd57600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611e0957600080fd5b611e138382611b60565b15611e1d57600080fd5b611e2833898961239f565b60019550505050505092915050565b6000611e4d82600961275a90919063ffffffff16565b9050919050565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e82611aa7565b611e8b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611ec457600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611f10611aa7565b611f1957600080fd5b611f216127ec565b565b6000611f2d611aa7565b611f3657600080fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011611f8557600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611fd09190612b19565b7f500b38ce040ec2c9a2f10695ec52a72efd3b83b3366d10c8a9fb082f528b32fc82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a160019050919050565b612044611aa7565b61204d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006120f7611aa7565b61210057600080fd5b338484600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561213d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561217757600080fd5b6000811161218457600080fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156121d057600080fd5b6121da8382611b60565b156121e457600080fd5b4285116121f057600080fd5b6121fb878787612834565b61220633888861239f565b600193505050509392505050565b61221c611aa7565b61222557600080fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600061228a611aa7565b61229357600080fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc0560405160405180910390a260019050919050565b7f7acc84e34091ae817647a4c49116f5cc07f319078ba80f8f5fde37ea7e25cbd660405160405180910390a160016000806101000a81548160ff021916908315150217905550565b60008282111561238e57600080fd5b600082840390508091505092915050565b6123f181600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061248681600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268790919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561256d57600080fd5b6125828160045461268790919063ffffffff16565b6004819055506125da81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461268790919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101561269c57600080fd5b8091505092915050565b6126ba81600961299090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b612714816009612a3c90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561279557600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b7fd8cea0ecd56872ff072e771658b5682ffe4de16d752947f79597d600ea56f7a960405160405180910390a160008060006101000a81548160ff021916908315150217905550565b61283c611aa7565b61284557600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405280848152602001838152509080600181540180825580915050906001820390600052602060002090600202016000909192909190915060008201518160000155602082015181600101555050507f9f1ec8c880f76798e7b793325d625e9b60e4082a553c98f42b6cda368dd60008836001600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905003604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156129ca57600080fd5b6129d4828261275a565b156129de57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612a7657600080fd5b612a80828261275a565b612a8957600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b815481835581811115612b1457600202816002028360005260206000209182019101612b139190612b3d565b5b505050565b5080546000825560020290600052602060002090810190612b3a9190612b3d565b50565b612b6991905b80821115612b6557600080820160009055600182016000905550600201612b43565b5090565b9056fea165627a7a72305820725ede317d7635386d345ea7bcce5f330a444a7cfaee347f21f7dfb437a653790029

Deployed ByteCode Sourcemap

12792:356:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12792:356:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1625:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12880:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12880:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3300:64;;;:::i;:::-;;8065:374;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8065:374:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4223:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7046:375;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7046:375:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4339:44;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4339:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4179:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3079:213;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12652:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12652:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9090:292;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9090:292:0;;;;;;;;;;;;;;;;;:::i;:::-;;3619:226;;;:::i;:::-;;12974:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12974:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5632:581;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5632:581:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2888:183;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2888:183:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5516:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5516:108:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8453:336;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8453:336:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2130:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2500:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12929:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12929:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11761:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11761:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11861:77;;;:::i;:::-;;6372:394;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6372:394:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2605:99;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4390:68;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4390:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4513:47;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4513:47:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4465:41;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4465:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;6774:264;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6774:264:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11644:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11644:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1597:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3446:165;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3446:165:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3372:66;;;:::i;:::-;;8797:212;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8797:212:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10208:88;;;:::i;:::-;;6221:143;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6221:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7501:305;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7501:305:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7885:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7885:125:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2712:168;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2712:168:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1625:21;;;;;;;;;;;;;:::o;12880:42::-;;;;;;;;;;;;;;;;;;;:::o;3300:64::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;3349:7;:5;:7::i;:::-;3300:64::o;8065:374::-;8153:4;2460:11;:9;:11::i;:::-;2459:12;2451:21;;;;;;8203:1;8183:22;;:8;:22;;;;8175:31;;;;;;8249:6;8225:8;:20;8234:10;8225:20;;;;;;;;;;;;;;;;:30;;8217:39;;;;;;8289:8;8275:22;;:10;:22;;;;8267:31;;;;;;8345:6;8311:9;:21;8321:10;8311:21;;;;;;;;;;;;;;;:31;8333:8;8311:31;;;;;;;;;;;;;;;:40;;;;8390:8;8369:38;;8378:10;8369:38;;;8400:6;8369:38;;;;;;;;;;;;;;;;;;8427:4;8420:11;;8065:374;;;;:::o;4223:26::-;;;;:::o;7046:375::-;7194:4;2460:11;:9;:11::i;:::-;2459:12;2451:21;;;;;;7165:5;7172:3;7177:6;5161:1;5144:19;;:5;:19;;;;5136:28;;;;;;5198:1;5183:17;;:3;:17;;;;5175:26;;;;;;5229:1;5220:6;:10;5212:19;;;;;;5269:6;5250:8;:15;5259:5;5250:15;;;;;;;;;;;;;;;;:25;;5242:34;;;;;;5296:23;5305:5;5312:6;5296:8;:23::i;:::-;5295:24;5287:33;;;;;;7256:6;7224:9;:16;7234:5;7224:16;;;;;;;;;;;;;;;:28;7241:10;7224:28;;;;;;;;;;;;;;;;:38;;7216:47;;;;;;7307:40;7340:6;7307:9;:16;7317:5;7307:16;;;;;;;;;;;;;;;:28;7324:10;7307:28;;;;;;;;;;;;;;;;:32;;:40;;;;:::i;:::-;7276:9;:16;7286:5;7276:16;;;;;;;;;;;;;;;:28;7293:10;7276:28;;;;;;;;;;;;;;;:71;;;;7360:29;7370:5;7377:3;7382:6;7360:9;:29::i;:::-;7409:4;7402:11;;2483:1;;;7046:375;;;;;:::o;4339:44::-;;;;;;;;;;;;;;;;;:::o;4179:37::-;4214:2;4179:37;:::o;3079:213::-;3121:4;3146:9;:7;:9::i;:::-;:24;;;;3159:11;:9;:11::i;:::-;3146:24;3143:142;;;3203:5;3196:12;;;;3143:142;3266:7;;;;;;;;;;;3259:14;;3079:213;;:::o;12652:131::-;12720:4;11595:20;11604:10;11595:8;:20::i;:::-;11587:29;;;;;;12737:16;12743:2;12747:5;12737;:16::i;:::-;12771:4;12764:11;;12652:131;;;;:::o;9090:292::-;9177:6;9153:8;:20;9162:10;9153:20;;;;;;;;;;;;;;;;:30;;9145:39;;;;;;9212:1;9203:6;:10;9195:19;;;;;;9250:32;9275:6;9250:8;:20;9259:10;9250:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9227:8;:20;9236:10;9227:20;;;;;;;;;;;;;;;:55;;;;9309:23;9325:6;9309:11;;:15;;:23;;;;:::i;:::-;9295:11;:37;;;;9367:6;9355:10;9350:24;;;;;;;;;;;;9090:292;:::o;3619:226::-;3690:13;;;;;;;;;;;3676:27;;:10;:27;;;3668:36;;;;;;3751:13;;;;;;;;;;;3722:43;;3743:6;;;;;;;;;;;3722:43;;;;;;;;;;;;3787:13;;;;;;;;;;;3778:6;;:22;;;;;;;;;;;;;;;;;;3835:1;3811:13;;:26;;;;;;;;;;;;;;;;;;3619:226::o;12974:40::-;;;;;;;;;;;;;;;;;;;:::o;5632:581::-;5692:7;5741:1;5725:18;;:4;:18;;;;5717:27;;;;;;5757:21;5781:1;5757:25;;5818:1;5796:6;:12;5803:4;5796:12;;;;;;;;;;;;;;;:19;;;;:23;5793:380;;;5845:20;5868:6;:12;5875:4;5868:12;;;;;;;;;;;;;;;5845:35;;5897:14;5914:5;:12;;;;5897:29;;5946:6;5955:1;5946:10;;5941:221;5962:6;5958:1;:10;5941:221;;;6017:5;6023:1;6017:8;;;;;;;;;;;;;;;;;;:18;;;6011:3;:24;6007:140;;;6093:34;6111:5;6117:1;6111:8;;;;;;;;;;;;;;;;;;:15;;;6093:13;:17;;:34;;;;:::i;:::-;6077:50;;6007:140;5970:3;;;;;;;5941:221;;;;5793:380;;;6192:13;6185:20;;;5632:581;;;:::o;2888:183::-;2956:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;2998:5;2978:8;:17;2987:7;2978:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;3033:7;3019:22;;;;;;;;;;;;3059:4;3052:11;;2888:183;;;:::o;5516:108::-;5570:7;5602:8;:14;5611:4;5602:14;;;;;;;;;;;;;;;;5595:21;;5516:108;;;:::o;8453:336::-;8527:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;8549:14;8566:6;:12;8573:4;8566:12;;;;;;;;;;;;;;;:19;;;;8549:36;;8613:6;8604;:15;8596:24;;;;;;8656:6;:12;8663:4;8656:12;;;;;;;;;;;;;;;8678:1;8669:6;:10;8656:24;;;;;;;;;;;;;;;;;;8633:6;:12;8640:4;8633:12;;;;;;;;;;;;;;;8646:6;8633:20;;;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;;8691:6;:12;8698:4;8691:12;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:::i;:::-;;8730:27;8744:4;8750:6;8730:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;8777:4;8770:11;;;8453:336;;;;:::o;2130:84::-;2168:7;2200:6;;;;;;;;;;;2193:13;;2130:84;:::o;2500:97::-;2540:4;2583:6;;;;;;;;;;;2569:20;;:10;:20;;;2562:27;;2500:97;:::o;12929:38::-;;;;;;;;;;;;;;;;;;;:::o;11761:92::-;11595:20;11604:10;11595:8;:20::i;:::-;11587:29;;;;;;11826:19;11837:7;11826:10;:19::i;:::-;11761:92;:::o;11861:77::-;11905:25;11919:10;11905:13;:25::i;:::-;11861:77::o;6372:394::-;6440:4;6462:21;6486;6502:4;6486:15;:21::i;:::-;6462:45;;6518:15;6536;6546:4;6536:9;:15::i;:::-;6518:33;;6584:1;6567:13;:18;6564:195;;6618:5;6611:12;;;;;;6564:195;6693:13;6683:7;:23;:63;;;;;6740:6;6710:26;6722:13;6710:7;:11;;:26;;;;:::i;:::-;:36;;6683:63;6681:66;6674:73;;;;6372:394;;;;;:::o;2605:99::-;2647:4;2676:8;:20;2685:10;2676:20;;;;;;;;;;;;;;;;;;;;;;;;;2669:27;;2605:99;:::o;4390:68::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4513:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4465:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6774:264::-;6940:4;2460:11;:9;:11::i;:::-;2459:12;2451:21;;;;;;6861:10;6873:6;5422:15;:24;5438:7;5422:24;;;;;;;;;;;;;;;;;;;;;;;;;5421:25;5413:34;;;;;;5481:1;5462:21;;:7;:21;;;;5454:30;;;;;;6906:10;6918:3;6923:6;5161:1;5144:19;;:5;:19;;;;5136:28;;;;;;5198:1;5183:17;;:3;:17;;;;5175:26;;;;;;5229:1;5220:6;:10;5212:19;;;;;;5269:6;5250:8;:15;5259:5;5250:15;;;;;;;;;;;;;;;;:25;;5242:34;;;;;;5296:23;5305:5;5312:6;5296:8;:23::i;:::-;5295:24;5287:33;;;;;;6972:34;6982:10;6994:3;6999:6;6972:9;:34::i;:::-;7026:4;7019:11;;5499:1;;;2483;;6774:264;;;;:::o;11644:109::-;11700:4;11724:21;11737:7;11724:8;:12;;:21;;;;:::i;:::-;11717:28;;11644:109;;;:::o;1597:21::-;;;;;;;;;;;;;:::o;3446:165::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;3547:14;3533:28;;:10;:28;;;;3525:37;;;;;;3589:14;3573:13;;:30;;;;;;;;;;;;;;;;;;3446:165;:::o;3372:66::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;3422:8;:6;:8::i;:::-;3372:66::o;8797:212::-;8858:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;8910:1;8888:6;:12;8895:4;8888:12;;;;;;;;;;;;;;;:19;;;;:23;8880:32;;;;;;8932:6;:12;8939:4;8932:12;;;;;;;;;;;;;;;;8925:19;;;;:::i;:::-;8960:17;8972:4;8960:17;;;;;;;;;;;;;;;;;;;;;;8997:4;8990:11;;8797:212;;;:::o;10208:88::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;10277:10;10264:24;;;6221:143;6297:7;6329:9;:17;6339:6;6329:17;;;;;;;;;;;;;;;:27;6347:8;6329:27;;;;;;;;;;;;;;;;6322:34;;6221:143;;;;:::o;7501:305::-;7649:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;7606:10;7618:3;7623:6;5161:1;5144:19;;:5;:19;;;;5136:28;;;;;;5198:1;5183:17;;:3;:17;;;;5175:26;;;;;;5229:1;5220:6;:10;5212:19;;;;;;5269:6;5250:8;:15;5259:5;5250:15;;;;;;;;;;;;;;;;:25;;5242:34;;;;;;5296:23;5305:5;5312:6;5296:8;:23::i;:::-;5295:24;5287:33;;;;;;7687:3;7679:5;:11;7671:20;;;;;;7704:25;7710:3;7715:6;7723:5;7704;:25::i;:::-;7740:34;7750:10;7762:3;7767:6;7740:9;:34::i;:::-;7794:4;7787:11;;2288:1;;;7501:305;;;;;:::o;7885:125::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;7995:7;7970:15;:22;7986:5;7970:22;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;7885:125;;:::o;2712:168::-;2772:4;2267:9;:7;:9::i;:::-;2259:18;;;;;;2814:4;2794:8;:17;2803:7;2794:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;2842:7;2834:16;;;;;;;;;;;;2868:4;2861:11;;2712:168;;;:::o;3853:89::-;3900:9;;;;;;;;;;3930:4;3920:7;;:14;;;;;;;;;;;;;;;;;;3853:89::o;868:148::-;926:7;959:1;954;:6;;946:15;;;;;;972:9;988:1;984;:5;972:17;;1007:1;1000:8;;;868:148;;;;:::o;9690:257::-;9796:27;9816:6;9796:8;:15;9805:5;9796:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9778:8;:15;9787:5;9778:15;;;;;;;;;;;;;;;:45;;;;9850:25;9868:6;9850:8;:13;9859:3;9850:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9834:8;:13;9843:3;9834:13;;;;;;;;;;;;;;;:41;;;;9927:3;9911:28;;9920:5;9911:28;;;9932:6;9911:28;;;;;;;;;;;;;;;;;;9690:257;;;:::o;9402:275::-;9503:1;9484:21;;:7;:21;;;;9476:30;;;;;;9533:23;9549:6;9533:11;;:15;;:23;;;;:::i;:::-;9519:11;:37;;;;9587:29;9609:6;9587:8;:17;9596:7;9587:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;9567:8;:17;9576:7;9567:17;;;;;;;;;;;;;;;:49;;;;9653:7;9632:37;;9649:1;9632:37;;;9662:6;9632:37;;;;;;;;;;;;;;;;;;9402:275;;:::o;1102:148::-;1160:7;1180:9;1196:1;1192;:5;1180:17;;1221:1;1216;:6;;1208:15;;;;;;1241:1;1234:8;;;1102:148;;;;:::o;11946:122::-;12003:21;12016:7;12003:8;:12;;:21;;;;:::i;:::-;12052:7;12040:20;;;;;;;;;;;;11946:122;:::o;12076:130::-;12136:24;12152:7;12136:8;:15;;:24;;;;:::i;:::-;12190:7;12176:22;;;;;;;;;;;;12076:130;:::o;11109:165::-;11181:4;11225:1;11206:21;;:7;:21;;;;11198:30;;;;;;11246:4;:11;;:20;11258:7;11246:20;;;;;;;;;;;;;;;;;;;;;;;;;11239:27;;11109:165;;;;:::o;3950:91::-;3998:9;;;;;;;;;;4028:5;4018:7;;:15;;;;;;;;;;;;;;;;;;3950:91::o;9955:204::-;2267:9;:7;:9::i;:::-;2259:18;;;;;;10054:6;:12;10061:4;10054:12;;;;;;;;;;;;;;;10072:23;;;;;;;;10077:6;10072:23;;;;10085:9;10072:23;;;10054:42;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;10054:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10114:37;10121:4;10149:1;10127:6;:12;10134:4;10127:12;;;;;;;;;;;;;;;:19;;;;:23;10114:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;9955:204;;;:::o;10561:186::-;10657:1;10638:21;;:7;:21;;;;10630:30;;;;;;10680:18;10684:4;10690:7;10680:3;:18::i;:::-;10679:19;10671:28;;;;;;10735:4;10712;:11;;:20;10724:7;10712:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;10561:186;;:::o;10826:189::-;10925:1;10906:21;;:7;:21;;;;10898:30;;;;;;10947:18;10951:4;10957:7;10947:3;:18::i;:::-;10939:27;;;;;;11002:5;10979:4;:11;;:20;10991:7;10979:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;10826:189;;:::o;12792:356::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://725ede317d7635386d345ea7bcce5f330a444a7cfaee347f21f7dfb437a65379

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.