ETH Price: $3,641.12 (+0.76%)
 

Overview

Max Total Supply

500,000,000 SLS

Holders

917

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
1,563 SLS

Value
$0.00
0x0f81a08837ef80063c8bfe48b52c0c2dc09594fe
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SLSToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-06-24
*/

/* solium-disable-next-line linebreak-style */
pragma solidity 0.4.24;

// ----------------------------------------------------------------------------
// Math - Implement Math Library
// ----------------------------------------------------------------------------
library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 r = a + b;

        require(r >= a, 'Require r >= a');

        return r;
    }


    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(a >= b, 'Require a >= b');

        return a - b;
    }


    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 r = a * b;

        require(r / a == b, 'Require r / a == b');

        return r;
    }


    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }
}

// ----------------------------------------------------------------------------
// ERC20Interface - Standard ERC20 Interface Definition
// Based on the final ERC20 specification at:
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
contract ERC20Interface {

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    function balanceOf(address _owner) public view returns (uint256 balance);
    function allowance(address _owner, address _spender) public view returns (uint256 remaining);

    function transfer(address _to, uint256 _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
}

// ----------------------------------------------------------------------------
// ERC20Token - Standard ERC20 Implementation
// ----------------------------------------------------------------------------
contract ERC20Token is ERC20Interface {

    using SafeMath for uint256;

    string public  name;
    string public symbol;
    uint8 public decimals;
    uint256 public totalSupply;

    mapping(address => uint256) internal balances;
    mapping(address => mapping (address => uint256)) allowed;


    constructor(string _name, string _symbol, uint8 _decimals, uint256 _totalSupply, address _initialTokenHolder) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        totalSupply = _totalSupply;

        // The initial balance of tokens is assigned to the given token holder address.
        balances[_initialTokenHolder] = _totalSupply;
        allowed[_initialTokenHolder][_initialTokenHolder] = balances[_initialTokenHolder];

        // Per EIP20, the constructor should fire a Transfer event if tokens are assigned to an account.
        emit Transfer(0x0, _initialTokenHolder, _totalSupply);
    }

    function transfer(address _to, uint256 _value)  public returns (bool success) {
        require(balances[msg.sender] >= _value, 'Sender`s balance is not enough');
        require(balances[_to] + _value > balances[_to], 'Value is invalid');
        require(_to != address(0), '_to address is invalid');

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

        emit Transfer(msg.sender, _to, _value);

        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(balances[_from] >= _value, 'Owner`s balance is not enough');
        require(allowed[_from][msg.sender] >= _value, 'Sender`s allowance is not enough');
        require(balances[_to] + _value > balances[_to], 'Token amount value is invalid');
        require(_to != address(0), '_to address is invalid');

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);

        emit Transfer(_from, _to, _value);

        return true;
    }

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


    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;

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

        return true;
    }

    /**
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     */
    function increaseApproval(address _spender, uint256 _addedValue) public returns (bool success) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool success) {
        uint256 oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
}


// Implements a simple ownership model with 2-phase transfer.
contract Owned {

    address public owner;
    address public proposedOwner;

    constructor() public
    {
        owner = msg.sender;
    }


    modifier onlyOwner() {
        require(isOwner(msg.sender) == true, 'Require owner to execute transaction');
        _;
    }


    function isOwner(address _address) public view returns (bool result) {
        return (_address == owner);
    }


    function initiateOwnershipTransfer(address _proposedOwner) public onlyOwner returns (bool success) {
        require(_proposedOwner != address(0), 'Require proposedOwner != address(0)');
        require(_proposedOwner != address(this), 'Require proposedOwner != address(this)');
        require(_proposedOwner != owner, 'Require proposedOwner != owner');

        proposedOwner = _proposedOwner;
        return true;
    }


    function completeOwnershipTransfer() public returns (bool success) {
        require(msg.sender == proposedOwner, 'Require msg.sender == proposedOwner');

        owner = msg.sender;
        proposedOwner = address(0);

        return true;
    }
}

// ----------------------------------------------------------------------------
// OpsManaged - Implements an Owner and Ops Permission Model
// ----------------------------------------------------------------------------
contract OpsManaged is Owned {

    address public opsAddress;


    constructor() public
        Owned()
    {
    }


    modifier onlyOwnerOrOps() {
        require(isOwnerOrOps(msg.sender), 'Require only owner or ops');
        _;
    }


    function isOps(address _address) public view returns (bool result) {
        return (opsAddress != address(0) && _address == opsAddress);
    }


    function isOwnerOrOps(address _address) public view returns (bool result) {
        return (isOwner(_address) || isOps(_address));
    }


    function setOpsAddress(address _newOpsAddress) public onlyOwner returns (bool success) {
        require(_newOpsAddress != owner, 'Require newOpsAddress != owner');
        require(_newOpsAddress != address(this), 'Require newOpsAddress != address(this)');

        opsAddress = _newOpsAddress;

        return true;
    }
}

// ----------------------------------------------------------------------------
// Finalizable - Implement Finalizable (Crowdsale) model
// ----------------------------------------------------------------------------
contract Finalizable is OpsManaged {

    FinalizeState public finalized;

    enum FinalizeState {
        None,
        Finalized
    }

    event Finalized();


    constructor() public OpsManaged()
    {
        finalized = FinalizeState.None;
    }


    function finalize() public onlyOwner returns (bool success) {
        require(finalized == FinalizeState.None, 'Require !finalized');

        finalized = FinalizeState.Finalized;

        emit Finalized();

        return true;
    }
}


// ----------------------------------------------------------------------------
// FinalizableToken - Extension to ERC20Token with ops and finalization
// ----------------------------------------------------------------------------
//
// ERC20 token with the following additions:
//    1. Owner/Ops Ownership
//    2. Finalization
//
contract FinalizableToken is ERC20Token, Finalizable {

    using SafeMath for uint256;


    // The constructor will assign the initial token supply to the owner (msg.sender).
    constructor(string _name, string _symbol, uint8 _decimals, uint256 _totalSupply) public
        ERC20Token(_name, _symbol, _decimals, _totalSupply, msg.sender)
        Finalizable()
    {
    }


    function transfer(address _to, uint256 _value) public returns (bool success) {
        validateTransfer(msg.sender, _to);

        return super.transfer(_to, _value);
    }


    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        validateTransfer(msg.sender, _to);

        return super.transferFrom(_from, _to, _value);
    }


    function validateTransfer(address _sender, address _to) internal view {
        // Once the token is finalized, everybody can transfer tokens.
        if (finalized == FinalizeState.Finalized) {
            return;
        }

        if (isOwner(_to)) {
            return;
        }

        require(_to != opsAddress, 'Ops cannot recieve token');

        // Before the token is finalized, only owner and ops are allowed to initiate transfers.
        // This allows them to move tokens while the sale is still in private sale.
        require(isOwnerOrOps(_sender), 'Require is owner or ops allowed to initiate transfer');
    }
}



// ----------------------------------------------------------------------------
// Token Contract Configuration
// ----------------------------------------------------------------------------
contract TokenConfig {

    string  internal constant TOKEN_SYMBOL      = 'SLS';
    string  internal constant TOKEN_NAME        = 'SKILLSH';
    uint8   internal constant TOKEN_DECIMALS    = 8;

    uint256 internal constant DECIMALS_FACTOR    = 10 ** uint256(TOKEN_DECIMALS);
    uint256 internal constant TOKEN_TOTAL_SUPPLY = 500000000 * DECIMALS_FACTOR;
}



// ----------------------------------------------------------------------------
// Token Contract
// ----------------------------------------------------------------------------
contract SLSToken is FinalizableToken, TokenConfig {

    enum HaltState {
        Unhalted,
        Halted
    }

    HaltState public halts;

    constructor() public
        FinalizableToken(TOKEN_NAME, TOKEN_SYMBOL, TOKEN_DECIMALS, TOKEN_TOTAL_SUPPLY)
    {
        halts = HaltState.Unhalted;
        finalized = FinalizeState.None;
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
        require(halts == HaltState.Unhalted, 'Require smart contract is not in halted state');

        if(isOps(msg.sender)) {
            return super.transferFrom(owner, _to, _value);
        }

        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(halts == HaltState.Unhalted, 'Require smart contract is not in halted state');
        return super.transferFrom(_from, _to, _value);
    }

    // Allows a token holder to burn tokens. Once burned, tokens are permanently
    // removed from the total supply.
    function burn(uint256 _amount) public returns (bool success) {
        require(_amount > 0, 'Token amount to burn must be larger than 0');

        address account = msg.sender;
        require(_amount <= balanceOf(account), 'You cannot burn token you dont have');

        balances[account] = balances[account].sub(_amount);
        totalSupply = totalSupply.sub(_amount);
        return true;
    }

    /* Halts or unhalts direct trades without the sell/buy functions below */
    function haltsTrades() public onlyOwnerOrOps returns (bool success) {
        halts = HaltState.Halted;
        return true;
    }

    function unhaltsTrades() public onlyOwnerOrOps returns (bool success) {
        halts = HaltState.Unhalted;
        return true;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unhaltsTrades","outputs":[{"name":"success","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOwner","outputs":[{"name":"result","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOpsAddress","type":"address"}],"name":"setOpsAddress","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"opsAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"halts","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOwnerOrOps","outputs":[{"name":"result","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"finalized","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_proposedOwner","type":"address"}],"name":"initiateOwnershipTransfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"haltsTrades","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proposedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"completeOwnershipTransfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOps","outputs":[{"name":"result","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Finalized","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"}]

60806040523480156200001157600080fd5b50604080518082018252600781527f534b494c4c53480000000000000000000000000000000000000000000000000060208083019182528351808501909452600384527f534c53000000000000000000000000000000000000000000000000000000000090840152815191929160089166b1a2bc2ec500009185918591859185913391620000a3916000919062000160565b508351620000b990600190602087019062000160565b506002805460ff191660ff85161790556003829055600160a060020a0381166000818152600460209081526040808320869055600582528083208252808320869055805186815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3505060068054600160a060020a0319163317905550506008805460a060020a61ffff021916905550620002059350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001a357805160ff1916838001178555620001d3565b82800160010185558215620001d3579182015b82811115620001d3578251825591602001919060010190620001b6565b50620001e1929150620001e5565b5090565b6200020291905b80821115620001e15760008155600101620001ec565b90565b611a0480620002156000396000f3006080604052600436106101535763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610158578063095ea7b3146101e25780631609a3971461021a57806318160ddd1461022f57806323b872dd146102565780632f54bf6e14610280578063313ce567146102a157806342966c68146102cc5780634bb278f3146102e457806366188463146102f9578063707789c51461031d57806370a082311461033e5780638da5cb5b1461035f5780638ea643761461039057806395d89b41146103a5578063a5a899ec146103ba578063a9059cbb146103f3578063adcf59ee14610417578063b3f05b9714610438578063c0b6f5611461044d578063c27753471461046e578063d153b60c14610483578063d73dd62314610498578063dd62ed3e146104bc578063e71a7811146104e3578063ef326c6d146104f8575b600080fd5b34801561016457600080fd5b5061016d610519565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a757818101518382015260200161018f565b50505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ee57600080fd5b50610206600160a060020a03600435166024356105a7565b604080519115158252519081900360200190f35b34801561022657600080fd5b5061020661060e565b34801561023b57600080fd5b506102446106a3565b60408051918252519081900360200190f35b34801561026257600080fd5b50610206600160a060020a03600435811690602435166044356106a9565b34801561028c57600080fd5b50610206600160a060020a0360043516610752565b3480156102ad57600080fd5b506102b6610766565b6040805160ff9092168252519081900360200190f35b3480156102d857600080fd5b5061020660043561076f565b3480156102f057600080fd5b506102066108d8565b34801561030557600080fd5b50610206600160a060020a0360043516602435610a45565b34801561032957600080fd5b50610206600160a060020a0360043516610b35565b34801561034a57600080fd5b50610244600160a060020a0360043516610cdd565b34801561036b57600080fd5b50610374610cf8565b60408051600160a060020a039092168252519081900360200190f35b34801561039c57600080fd5b50610374610d07565b3480156103b157600080fd5b5061016d610d16565b3480156103c657600080fd5b506103cf610d70565b604051808260018111156103df57fe5b60ff16815260200191505060405180910390f35b3480156103ff57600080fd5b50610206600160a060020a0360043516602435610d80565b34801561042357600080fd5b50610206600160a060020a0360043516610e53565b34801561044457600080fd5b506103cf610e6d565b34801561045957600080fd5b50610206600160a060020a0360043516610e8e565b34801561047a57600080fd5b506102066110bc565b34801561048f57600080fd5b50610374611149565b3480156104a457600080fd5b50610206600160a060020a0360043516602435611158565b3480156104c857600080fd5b50610244600160a060020a03600435811690602435166111f1565b3480156104ef57600080fd5b5061020661121c565b34801561050457600080fd5b50610206600160a060020a03600435166112d8565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561059f5780601f106105745761010080835404028352916020019161059f565b820191906000526020600020905b81548152906001019060200180831161058257829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600061061933610e53565b151561066f576040805160e560020a62461bcd02815260206004820152601960248201527f52657175697265206f6e6c79206f776e6572206f72206f707300000000000000604482015290519081900360640190fd5b600880546000919075ff000000000000000000000000000000000000000000191660a860020a835b02179055506001905090565b60035481565b60008060085460a860020a900460ff1660018111156106c457fe5b1461073f576040805160e560020a62461bcd02815260206004820152602d60248201527f5265717569726520736d61727420636f6e7472616374206973206e6f7420696e60448201527f2068616c74656420737461746500000000000000000000000000000000000000606482015290519081900360840190fd5b61074a848484611305565b949350505050565b600654600160a060020a0390811691161490565b60025460ff1681565b6000808083116107ef576040805160e560020a62461bcd02815260206004820152602a60248201527f546f6b656e20616d6f756e7420746f206275726e206d757374206265206c617260448201527f676572207468616e203000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50336107fa81610cdd565b831115610877576040805160e560020a62461bcd02815260206004820152602360248201527f596f752063616e6e6f74206275726e20746f6b656e20796f7520646f6e74206860448201527f6176650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0381166000908152600460205260409020546108a0908463ffffffff61131c16565b600160a060020a0382166000908152600460205260409020556003546108cc908463ffffffff61131c16565b60035550600192915050565b60006108e333610752565b1515600114610961576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600060085474010000000000000000000000000000000000000000900460ff16600181111561098c57fe5b146109e1576040805160e560020a62461bcd02815260206004820152601260248201527f52657175697265202166696e616c697a65640000000000000000000000000000604482015290519081900360640190fd5b6008805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768190600090a150600190565b336000908152600560209081526040808320600160a060020a038616845290915281205480831115610a9a57336000908152600560209081526040808320600160a060020a0388168452909152812055610acf565b610aaa818463ffffffff61131c16565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000610b4033610752565b1515600114610bbe576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654600160a060020a0383811691161415610c24576040805160e560020a62461bcd02815260206004820152601e60248201527f52657175697265206e65774f70734164647265737320213d206f776e65720000604482015290519081900360640190fd5b600160a060020a038216301415610cab576040805160e560020a62461bcd02815260206004820152602660248201527f52657175697265206e65774f70734164647265737320213d206164647265737360448201527f2874686973290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5060088054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a031681565b600854600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561059f5780601f106105745761010080835404028352916020019161059f565b60085460a860020a900460ff1681565b60008060085460a860020a900460ff166001811115610d9b57fe5b14610e16576040805160e560020a62461bcd02815260206004820152602d60248201527f5265717569726520736d61727420636f6e7472616374206973206e6f7420696e60448201527f2068616c74656420737461746500000000000000000000000000000000000000606482015290519081900360840190fd5b610e1f336112d8565b15610e4257600654610e3b90600160a060020a03168484611305565b9050610608565b610e4c838361137c565b9392505050565b6000610e5e82610752565b806106085750610608826112d8565b60085474010000000000000000000000000000000000000000900460ff1681565b6000610e9933610752565b1515600114610f17576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610f9d576040805160e560020a62461bcd02815260206004820152602360248201527f526571756972652070726f706f7365644f776e657220213d206164647265737360448201527f2830290000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038216301415611024576040805160e560020a62461bcd02815260206004820152602660248201527f526571756972652070726f706f7365644f776e657220213d206164647265737360448201527f2874686973290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654600160a060020a038381169116141561108a576040805160e560020a62461bcd02815260206004820152601e60248201527f526571756972652070726f706f7365644f776e657220213d206f776e65720000604482015290519081900360640190fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60006110c733610e53565b151561111d576040805160e560020a62461bcd02815260206004820152601960248201527f52657175697265206f6e6c79206f776e6572206f72206f707300000000000000604482015290519081900360640190fd5b600880546001919075ff000000000000000000000000000000000000000000191660a860020a83610697565b600754600160a060020a031681565b336000908152600560209081526040808320600160a060020a038616845290915281205461118c908363ffffffff61139216565b336000818152600560209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600754600090600160a060020a031633146112a7576040805160e560020a62461bcd02815260206004820152602360248201527f52657175697265206d73672e73656e646572203d3d2070726f706f7365644f7760448201527f6e65720000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b506006805473ffffffffffffffffffffffffffffffffffffffff199081163317909155600780549091169055600190565b600854600090600160a060020a031615801590610608575050600854600160a060020a0390811691161490565b600061131133846113ef565b61074a848484611527565b600081831015611376576040805160e560020a62461bcd02815260206004820152600e60248201527f526571756972652061203e3d2062000000000000000000000000000000000000604482015290519081900360640190fd5b50900390565b600061138833846113ef565b610e4c83836117f0565b600082820183811015610e4c576040805160e560020a62461bcd02815260206004820152600e60248201527f526571756972652072203e3d2061000000000000000000000000000000000000604482015290519081900360640190fd5b600160085474010000000000000000000000000000000000000000900460ff16600181111561141a57fe5b141561142557611523565b61142e81610752565b1561143857611523565b600854600160a060020a038281169116141561149e576040805160e560020a62461bcd02815260206004820152601860248201527f4f70732063616e6e6f74207265636965766520746f6b656e0000000000000000604482015290519081900360640190fd5b6114a782610e53565b1515611523576040805160e560020a62461bcd02815260206004820152603460248201527f52657175697265206973206f776e6572206f72206f707320616c6c6f7765642060448201527f746f20696e697469617465207472616e73666572000000000000000000000000606482015290519081900360840190fd5b5050565b600160a060020a038316600090815260046020526040812054821115611597576040805160e560020a62461bcd02815260206004820152601d60248201527f4f776e657260732062616c616e6365206973206e6f7420656e6f756768000000604482015290519081900360640190fd5b600160a060020a0384166000908152600560209081526040808320338452909152902054821115611612576040805160e560020a62461bcd02815260206004820181905260248201527f53656e646572607320616c6c6f77616e6365206973206e6f7420656e6f756768604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205482810111611683576040805160e560020a62461bcd02815260206004820152601d60248201527f546f6b656e20616d6f756e742076616c756520697320696e76616c6964000000604482015290519081900360640190fd5b600160a060020a03831615156116e3576040805160e560020a62461bcd02815260206004820152601660248201527f5f746f206164647265737320697320696e76616c696400000000000000000000604482015290519081900360640190fd5b600160a060020a03841660009081526004602052604090205461170c908363ffffffff61131c16565b600160a060020a038086166000908152600460205260408082209390935590851681522054611741908363ffffffff61139216565b600160a060020a038085166000908152600460209081526040808320949094559187168152600582528281203382529091522054611785908363ffffffff61131c16565b600160a060020a03808616600081815260056020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b33600090815260046020526040812054821115611857576040805160e560020a62461bcd02815260206004820152601e60248201527f53656e64657260732062616c616e6365206973206e6f7420656e6f7567680000604482015290519081900360640190fd5b600160a060020a038316600090815260046020526040902054828101116118c8576040805160e560020a62461bcd02815260206004820152601060248201527f56616c756520697320696e76616c696400000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0383161515611928576040805160e560020a62461bcd02815260206004820152601660248201527f5f746f206164647265737320697320696e76616c696400000000000000000000604482015290519081900360640190fd5b33600090815260046020526040902054611948908363ffffffff61131c16565b3360009081526004602052604080822092909255600160a060020a0385168152205461197a908363ffffffff61139216565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001929150505600a165627a7a72305820f1fd0ff05e5a80bbcb216213e4bdda595af1244532b59a19d3c9ee580d6144570029

Deployed Bytecode

0x6080604052600436106101535763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610158578063095ea7b3146101e25780631609a3971461021a57806318160ddd1461022f57806323b872dd146102565780632f54bf6e14610280578063313ce567146102a157806342966c68146102cc5780634bb278f3146102e457806366188463146102f9578063707789c51461031d57806370a082311461033e5780638da5cb5b1461035f5780638ea643761461039057806395d89b41146103a5578063a5a899ec146103ba578063a9059cbb146103f3578063adcf59ee14610417578063b3f05b9714610438578063c0b6f5611461044d578063c27753471461046e578063d153b60c14610483578063d73dd62314610498578063dd62ed3e146104bc578063e71a7811146104e3578063ef326c6d146104f8575b600080fd5b34801561016457600080fd5b5061016d610519565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a757818101518382015260200161018f565b50505050905090810190601f1680156101d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ee57600080fd5b50610206600160a060020a03600435166024356105a7565b604080519115158252519081900360200190f35b34801561022657600080fd5b5061020661060e565b34801561023b57600080fd5b506102446106a3565b60408051918252519081900360200190f35b34801561026257600080fd5b50610206600160a060020a03600435811690602435166044356106a9565b34801561028c57600080fd5b50610206600160a060020a0360043516610752565b3480156102ad57600080fd5b506102b6610766565b6040805160ff9092168252519081900360200190f35b3480156102d857600080fd5b5061020660043561076f565b3480156102f057600080fd5b506102066108d8565b34801561030557600080fd5b50610206600160a060020a0360043516602435610a45565b34801561032957600080fd5b50610206600160a060020a0360043516610b35565b34801561034a57600080fd5b50610244600160a060020a0360043516610cdd565b34801561036b57600080fd5b50610374610cf8565b60408051600160a060020a039092168252519081900360200190f35b34801561039c57600080fd5b50610374610d07565b3480156103b157600080fd5b5061016d610d16565b3480156103c657600080fd5b506103cf610d70565b604051808260018111156103df57fe5b60ff16815260200191505060405180910390f35b3480156103ff57600080fd5b50610206600160a060020a0360043516602435610d80565b34801561042357600080fd5b50610206600160a060020a0360043516610e53565b34801561044457600080fd5b506103cf610e6d565b34801561045957600080fd5b50610206600160a060020a0360043516610e8e565b34801561047a57600080fd5b506102066110bc565b34801561048f57600080fd5b50610374611149565b3480156104a457600080fd5b50610206600160a060020a0360043516602435611158565b3480156104c857600080fd5b50610244600160a060020a03600435811690602435166111f1565b3480156104ef57600080fd5b5061020661121c565b34801561050457600080fd5b50610206600160a060020a03600435166112d8565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561059f5780601f106105745761010080835404028352916020019161059f565b820191906000526020600020905b81548152906001019060200180831161058257829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600061061933610e53565b151561066f576040805160e560020a62461bcd02815260206004820152601960248201527f52657175697265206f6e6c79206f776e6572206f72206f707300000000000000604482015290519081900360640190fd5b600880546000919075ff000000000000000000000000000000000000000000191660a860020a835b02179055506001905090565b60035481565b60008060085460a860020a900460ff1660018111156106c457fe5b1461073f576040805160e560020a62461bcd02815260206004820152602d60248201527f5265717569726520736d61727420636f6e7472616374206973206e6f7420696e60448201527f2068616c74656420737461746500000000000000000000000000000000000000606482015290519081900360840190fd5b61074a848484611305565b949350505050565b600654600160a060020a0390811691161490565b60025460ff1681565b6000808083116107ef576040805160e560020a62461bcd02815260206004820152602a60248201527f546f6b656e20616d6f756e7420746f206275726e206d757374206265206c617260448201527f676572207468616e203000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50336107fa81610cdd565b831115610877576040805160e560020a62461bcd02815260206004820152602360248201527f596f752063616e6e6f74206275726e20746f6b656e20796f7520646f6e74206860448201527f6176650000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0381166000908152600460205260409020546108a0908463ffffffff61131c16565b600160a060020a0382166000908152600460205260409020556003546108cc908463ffffffff61131c16565b60035550600192915050565b60006108e333610752565b1515600114610961576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600060085474010000000000000000000000000000000000000000900460ff16600181111561098c57fe5b146109e1576040805160e560020a62461bcd02815260206004820152601260248201527f52657175697265202166696e616c697a65640000000000000000000000000000604482015290519081900360640190fd5b6008805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790556040517f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768190600090a150600190565b336000908152600560209081526040808320600160a060020a038616845290915281205480831115610a9a57336000908152600560209081526040808320600160a060020a0388168452909152812055610acf565b610aaa818463ffffffff61131c16565b336000908152600560209081526040808320600160a060020a03891684529091529020555b336000818152600560209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000610b4033610752565b1515600114610bbe576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654600160a060020a0383811691161415610c24576040805160e560020a62461bcd02815260206004820152601e60248201527f52657175697265206e65774f70734164647265737320213d206f776e65720000604482015290519081900360640190fd5b600160a060020a038216301415610cab576040805160e560020a62461bcd02815260206004820152602660248201527f52657175697265206e65774f70734164647265737320213d206164647265737360448201527f2874686973290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b5060088054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b600160a060020a031660009081526004602052604090205490565b600654600160a060020a031681565b600854600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561059f5780601f106105745761010080835404028352916020019161059f565b60085460a860020a900460ff1681565b60008060085460a860020a900460ff166001811115610d9b57fe5b14610e16576040805160e560020a62461bcd02815260206004820152602d60248201527f5265717569726520736d61727420636f6e7472616374206973206e6f7420696e60448201527f2068616c74656420737461746500000000000000000000000000000000000000606482015290519081900360840190fd5b610e1f336112d8565b15610e4257600654610e3b90600160a060020a03168484611305565b9050610608565b610e4c838361137c565b9392505050565b6000610e5e82610752565b806106085750610608826112d8565b60085474010000000000000000000000000000000000000000900460ff1681565b6000610e9933610752565b1515600114610f17576040805160e560020a62461bcd028152602060048201526024808201527f52657175697265206f776e657220746f2065786563757465207472616e73616360448201527f74696f6e00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610f9d576040805160e560020a62461bcd02815260206004820152602360248201527f526571756972652070726f706f7365644f776e657220213d206164647265737360448201527f2830290000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038216301415611024576040805160e560020a62461bcd02815260206004820152602660248201527f526571756972652070726f706f7365644f776e657220213d206164647265737360448201527f2874686973290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600654600160a060020a038381169116141561108a576040805160e560020a62461bcd02815260206004820152601e60248201527f526571756972652070726f706f7365644f776e657220213d206f776e65720000604482015290519081900360640190fd5b5060078054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60006110c733610e53565b151561111d576040805160e560020a62461bcd02815260206004820152601960248201527f52657175697265206f6e6c79206f776e6572206f72206f707300000000000000604482015290519081900360640190fd5b600880546001919075ff000000000000000000000000000000000000000000191660a860020a83610697565b600754600160a060020a031681565b336000908152600560209081526040808320600160a060020a038616845290915281205461118c908363ffffffff61139216565b336000818152600560209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b600754600090600160a060020a031633146112a7576040805160e560020a62461bcd02815260206004820152602360248201527f52657175697265206d73672e73656e646572203d3d2070726f706f7365644f7760448201527f6e65720000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b506006805473ffffffffffffffffffffffffffffffffffffffff199081163317909155600780549091169055600190565b600854600090600160a060020a031615801590610608575050600854600160a060020a0390811691161490565b600061131133846113ef565b61074a848484611527565b600081831015611376576040805160e560020a62461bcd02815260206004820152600e60248201527f526571756972652061203e3d2062000000000000000000000000000000000000604482015290519081900360640190fd5b50900390565b600061138833846113ef565b610e4c83836117f0565b600082820183811015610e4c576040805160e560020a62461bcd02815260206004820152600e60248201527f526571756972652072203e3d2061000000000000000000000000000000000000604482015290519081900360640190fd5b600160085474010000000000000000000000000000000000000000900460ff16600181111561141a57fe5b141561142557611523565b61142e81610752565b1561143857611523565b600854600160a060020a038281169116141561149e576040805160e560020a62461bcd02815260206004820152601860248201527f4f70732063616e6e6f74207265636965766520746f6b656e0000000000000000604482015290519081900360640190fd5b6114a782610e53565b1515611523576040805160e560020a62461bcd02815260206004820152603460248201527f52657175697265206973206f776e6572206f72206f707320616c6c6f7765642060448201527f746f20696e697469617465207472616e73666572000000000000000000000000606482015290519081900360840190fd5b5050565b600160a060020a038316600090815260046020526040812054821115611597576040805160e560020a62461bcd02815260206004820152601d60248201527f4f776e657260732062616c616e6365206973206e6f7420656e6f756768000000604482015290519081900360640190fd5b600160a060020a0384166000908152600560209081526040808320338452909152902054821115611612576040805160e560020a62461bcd02815260206004820181905260248201527f53656e646572607320616c6c6f77616e6365206973206e6f7420656e6f756768604482015290519081900360640190fd5b600160a060020a03831660009081526004602052604090205482810111611683576040805160e560020a62461bcd02815260206004820152601d60248201527f546f6b656e20616d6f756e742076616c756520697320696e76616c6964000000604482015290519081900360640190fd5b600160a060020a03831615156116e3576040805160e560020a62461bcd02815260206004820152601660248201527f5f746f206164647265737320697320696e76616c696400000000000000000000604482015290519081900360640190fd5b600160a060020a03841660009081526004602052604090205461170c908363ffffffff61131c16565b600160a060020a038086166000908152600460205260408082209390935590851681522054611741908363ffffffff61139216565b600160a060020a038085166000908152600460209081526040808320949094559187168152600582528281203382529091522054611785908363ffffffff61131c16565b600160a060020a03808616600081815260056020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b33600090815260046020526040812054821115611857576040805160e560020a62461bcd02815260206004820152601e60248201527f53656e64657260732062616c616e6365206973206e6f7420656e6f7567680000604482015290519081900360640190fd5b600160a060020a038316600090815260046020526040902054828101116118c8576040805160e560020a62461bcd02815260206004820152601060248201527f56616c756520697320696e76616c696400000000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0383161515611928576040805160e560020a62461bcd02815260206004820152601660248201527f5f746f206164647265737320697320696e76616c696400000000000000000000604482015290519081900360640190fd5b33600090815260046020526040902054611948908363ffffffff61131c16565b3360009081526004602052604080822092909255600160a060020a0385168152205461197a908363ffffffff61139216565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3506001929150505600a165627a7a72305820f1fd0ff05e5a80bbcb216213e4bdda595af1244532b59a19d3c9ee580d6144570029

Deployed Bytecode Sourcemap

11515:1871:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2275:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2275:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2275:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4656:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4656:218:0;-1:-1:-1;;;;;4656:218:0;;;;;;;;;;;;;;;;;;;;;;;;;13244:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13244:137:0;;;;2356:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2356:26:0;;;;;;;;;;;;;;;;;;;;12222:256;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12222:256:0;-1:-1:-1;;;;;12222:256:0;;;;;;;;;;;;6270:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6270:114:0;-1:-1:-1;;;;;6270:114:0;;;;;2328:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2328:21:0;;;;;;;;;;;;;;;;;;;;;;;12607:409;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12607:409:0;;;;;8718:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8718:242:0;;;;5435:464;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5435:464:0;-1:-1:-1;;;;;5435:464:0;;;;;;;7884:329;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7884:329:0;-1:-1:-1;;;;;7884:329:0;;;;;4379:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4379:115:0;-1:-1:-1;;;;;4379:115:0;;;;;5995:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5995:20:0;;;;;;;;-1:-1:-1;;;;;5995:20:0;;;;;;;;;;;;;;7355:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7355:25:0;;;;2301:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2301:20:0;;;;11641:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11641:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11880:334;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11880:334:0;-1:-1:-1;;;;;11880:334:0;;;;;;;7736:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7736:138:0;-1:-1:-1;;;;;7736:138:0;;;;;8484:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8484:30:0;;;;6394:429;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6394:429:0;-1:-1:-1;;;;;6394:429:0;;;;;13103:133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13103:133:0;;;;6022:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6022:28:0;;;;5136:291;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5136:291:0;-1:-1:-1;;;;;5136:291:0;;;;;;;4504:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4504:144:0;-1:-1:-1;;;;;4504:144:0;;;;;;;;;;6833:253;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6833:253:0;;;;7581:145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7581:145:0;-1:-1:-1;;;;;7581:145:0;;;;;2275:19;;;;;;;;;;;;;;;-1:-1:-1;;2275:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4656:218::-;4756:10;4723:12;4748:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4748:29:0;;;;;;;;;;;:38;;;4804;;;;;;;4723:12;;4748:29;;4756:10;;4804:38;;;;;;;;-1:-1:-1;4862:4:0;4656:218;;;;;:::o;13244:137::-;13300:12;7497:24;7510:10;7497:12;:24::i;:::-;7489:62;;;;;;;-1:-1:-1;;;;;7489:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13325:5;:26;;13333:18;;13325:5;-1:-1:-1;;13325:26:0;-1:-1:-1;;;13333:18:0;13325:26;;;;;;13369:4;13362:11;;13244:137;:::o;2356:26::-;;;;:::o;12222:256::-;12304:12;;12337:5;;-1:-1:-1;;;12337:5:0;;;;:27;;;;;;;;;12329:85;;;;;-1:-1:-1;;;;;12329:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12432:38;12451:5;12458:3;12463:6;12432:18;:38::i;:::-;12425:45;12222:256;-1:-1:-1;;;;12222:256:0:o;6270:114::-;6370:5;;-1:-1:-1;;;;;6370:5:0;;;6358:17;;;;6270:114::o;2328:21::-;;;;;;:::o;12607:409::-;12654:12;;12687:11;;;12679:66;;;;;-1:-1:-1;;;;;12679:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12776:10:0;12816:18;12776:10;12816:9;:18::i;:::-;12805:29;;;12797:77;;;;;-1:-1:-1;;;;;12797:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12907:17:0;;;;;;:8;:17;;;;;;:30;;12929:7;12907:30;:21;:30;:::i;:::-;-1:-1:-1;;;;;12887:17:0;;;;;;:8;:17;;;;;:50;12962:11;;:24;;12978:7;12962:24;:15;:24;:::i;:::-;12948:11;:38;-1:-1:-1;13004:4:0;;12607:409;-1:-1:-1;;12607:409:0:o;8718:242::-;8764:12;6172:19;6180:10;6172:7;:19::i;:::-;:27;;6195:4;6172:27;6164:76;;;;;-1:-1:-1;;;;;6164:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8810:18;8797:9;;;;;;;:31;;;;;;;;;8789:62;;;;;-1:-1:-1;;;;;8789:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8864:9;:35;;-1:-1:-1;;8864:35:0;;;;;8917:11;;;;-1:-1:-1;;8917:11:0;-1:-1:-1;8948:4:0;8718:242;:::o;5435:464::-;5573:10;5521:12;5565:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5565:29:0;;;;;;;;;;5609:27;;;5605:188;;;5661:10;5685:1;5653:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5653:29:0;;;;;;;;;:33;5605:188;;;5751:30;:8;5764:16;5751:30;:12;:30;:::i;:::-;5727:10;5719:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5719:29:0;;;;;;;;;:62;5605:188;5817:10;5839:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5808:61:0;;5839:29;;;;;;;;;;;5808:61;;;;;;;;;5817:10;5808:61;;;;;;;;;;;-1:-1:-1;5887:4:0;;5435:464;-1:-1:-1;;;5435:464:0:o;7884:329::-;7957:12;6172:19;6180:10;6172:7;:19::i;:::-;:27;;6195:4;6172:27;6164:76;;;;;-1:-1:-1;;;;;6164:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8008:5;;-1:-1:-1;;;;;7990:23:0;;;8008:5;;7990:23;;7982:66;;;;;-1:-1:-1;;;;;7982:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8067:31:0;;8093:4;8067:31;;8059:82;;;;;-1:-1:-1;;;;;8059:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8154:10:0;:27;;-1:-1:-1;;;;;8154:27:0;;-1:-1:-1;;8154:27:0;;;;;;;7884:329;;;:::o;4379:115::-;-1:-1:-1;;;;;4470:16:0;4435:15;4470:16;;;:8;:16;;;;;;;4379:115::o;5995:20::-;;;-1:-1:-1;;;;;5995:20:0;;:::o;7355:25::-;;;-1:-1:-1;;;;;7355:25:0;;:::o;2301:20::-;;;;;;;;;;;;;;;-1:-1:-1;;2301:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11641:22;;;-1:-1:-1;;;11641:22:0;;;;;:::o;11880:334::-;11943:12;;11976:5;;-1:-1:-1;;;11976:5:0;;;;:27;;;;;;;;;11968:85;;;;;-1:-1:-1;;;;;11968:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12069:17;12075:10;12069:5;:17::i;:::-;12066:94;;;12129:5;;12110:38;;-1:-1:-1;;;;;12129:5:0;12136:3;12141:6;12110:18;:38::i;:::-;12103:45;;;;12066:94;12179:27;12194:3;12199:6;12179:14;:27::i;:::-;12172:34;11880:334;-1:-1:-1;;;11880:334:0:o;7736:138::-;7797:11;7829:17;7837:8;7829:7;:17::i;:::-;:36;;;;7850:15;7856:8;7850:5;:15::i;8484:30::-;;;;;;;;;:::o;6394:429::-;6479:12;6172:19;6180:10;6172:7;:19::i;:::-;:27;;6195:4;6172:27;6164:76;;;;;-1:-1:-1;;;;;6164:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6512:28:0;;;;6504:76;;;;;-1:-1:-1;;;;;6504:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6599:31:0;;6625:4;6599:31;;6591:82;;;;;-1:-1:-1;;;;;6591:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6710:5;;-1:-1:-1;;;;;6692:23:0;;;6710:5;;6692:23;;6684:66;;;;;-1:-1:-1;;;;;6684:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6763:13:0;:30;;-1:-1:-1;;;;;6763:30:0;;-1:-1:-1;;6763:30:0;;;;;;;6394:429;;;:::o;13103:133::-;13157:12;7497:24;7510:10;7497:12;:24::i;:::-;7489:62;;;;;;;-1:-1:-1;;;;;7489:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13182:5;:24;;13190:16;;13182:5;-1:-1:-1;;13182:24:0;-1:-1:-1;;;13190:16:0;13182:24;;6022:28;;;-1:-1:-1;;;;;6022:28:0;;:::o;5136:291::-;5282:10;5217:12;5274:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5274:29:0;;;;;;;;;;:46;;5308:11;5274:46;:33;:46;:::i;:::-;5250:10;5242:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5242:29:0;;;;;;;;;;;;:78;;;5336:61;;;;;;5242:29;;5336:61;;;;;;;;;;;-1:-1:-1;5415:4:0;5136:291;;;;:::o;4504:144::-;-1:-1:-1;;;;;4615:15:0;;;4578:17;4615:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;4504:144::o;6833:253::-;6933:13;;6886:12;;-1:-1:-1;;;;;6933:13:0;6919:10;:27;6911:75;;;;;-1:-1:-1;;;;;6911:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6999:5:0;:18;;-1:-1:-1;;6999:18:0;;;7007:10;6999:18;;;;7028:13;:26;;;;;;;6999:18;6833:253;:::o;7581:145::-;7667:10;;7635:11;;-1:-1:-1;;;;;7667:10:0;:24;;;;:50;;-1:-1:-1;;7707:10:0;;-1:-1:-1;;;;;7707:10:0;;;7695:22;;;;7581:145::o;9891:206::-;9973:12;9998:33;10015:10;10027:3;9998:16;:33::i;:::-;10051:38;10070:5;10077:3;10082:6;10051:18;:38::i;477:144::-;535:7;563:6;;;;555:33;;;;;-1:-1:-1;;;;;555:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;608:5:0;;;477:144::o;9705:176::-;9768:12;9793:33;9810:10;9822:3;9793:16;:33::i;:::-;9846:27;9861:3;9866:6;9846:14;:27::i;297:170::-;355:7;387:5;;;413:6;;;;405:33;;;;;-1:-1:-1;;;;;405:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10107:646;10277:23;10264:9;;;;;;;:36;;;;;;;;;10260:75;;;10317:7;;10260:75;10351:12;10359:3;10351:7;:12::i;:::-;10347:51;;;10380:7;;10347:51;10425:10;;-1:-1:-1;;;;;10418:17:0;;;10425:10;;10418:17;;10410:54;;;;;-1:-1:-1;;;;;10410:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10667:21;10680:7;10667:12;:21::i;:::-;10659:86;;;;;;;-1:-1:-1;;;;;10659:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10107:646;;:::o;3685:686::-;-1:-1:-1;;;;;3800:15:0;;3767:12;3800:15;;;:8;:15;;;;;;:25;-1:-1:-1;3800:25:0;3792:67;;;;;-1:-1:-1;;;;;3792:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3878:14:0;;;;;;:7;:14;;;;;;;;3893:10;3878:26;;;;;;;;:36;-1:-1:-1;3878:36:0;3870:81;;;;;-1:-1:-1;;;;;3870:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3995:13:0;;;;;;:8;:13;;;;;;3970:22;;;:38;3962:80;;;;;-1:-1:-1;;;;;3962:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4061:17:0;;;;4053:52;;;;;-1:-1:-1;;;;;4053:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4136:15:0;;;;;;:8;:15;;;;;;:27;;4156:6;4136:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;4118:15:0;;;;;;;:8;:15;;;;;;:45;;;;4190:13;;;;;;;:25;;4208:6;4190:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;4174:13:0;;;;;;;:8;:13;;;;;;;;:41;;;;4255:14;;;;;:7;:14;;;;;4270:10;4255:26;;;;;;;:38;;4286:6;4255:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;4226:14:0;;;;;;;:7;:14;;;;;;;;4241:10;4226:26;;;;;;;;:67;;;;4311:28;;;;;;;;;;;4226:14;;4311:28;;;;;;;;;;;-1:-1:-1;4359:4:0;3685:686;;;;;:::o;3171:506::-;3277:10;3235:12;3268:20;;;:8;:20;;;;;;:30;-1:-1:-1;3268:30:0;3260:73;;;;;-1:-1:-1;;;;;3260:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3377:13:0;;;;;;:8;:13;;;;;;3352:22;;;:38;3344:67;;;;;-1:-1:-1;;;;;3344:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3430:17:0;;;;3422:52;;;;;-1:-1:-1;;;;;3422:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3519:10;3510:20;;;;:8;:20;;;;;;:32;;3535:6;3510:32;:24;:32;:::i;:::-;3496:10;3487:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;3569:13:0;;;;;;:25;;3587:6;3569:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;3553:13:0;;;;;;:8;:13;;;;;;;;;:41;;;;3612:33;;;;;;;3553:13;;3621:10;;3612:33;;;;;;;;;;-1:-1:-1;3665:4:0;3171:506;;;;:::o

Swarm Source

bzzr://f1fd0ff05e5a80bbcb216213e4bdda595af1244532b59a19d3c9ee580d614457
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.