ETH Price: $2,460.03 (-1.65%)

Token

CrystalToken (CYL)
 

Overview

Max Total Supply

19,500,000 CYL

Holders

576 (0.00%)

Market

Price

$0.00 @ 0.000001 ETH (-1.62%)

Onchain Market Cap

$25,330.36

Circulating Supply Market Cap

$733.12

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.6 CYL

Value
$0.00 ( ~0 Eth) [0.0000%]
0x010F7ec243bB5e7ed2B54cce49cA147E540E56Fc
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Crystal Token is a cryptocurrency token innovating the field of smart trading with the novel Crystal AI Trading which rewards token holders constantly.

Market

Volume (24H):$0.00
Market Capitalization:$733.12
Circulating Supply:564,377.00 CYL
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CrystalToken

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.19;
/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic
{
    uint256 public totalSupply;

    function balanceOf(address who) public constant returns (uint256);

    function transfer(address to, uint256 value) public returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic
{
    function allowance(address owner, address spender) public constant returns (uint256);

    function transferFrom(address from, address to, uint256 value) public returns (bool);

    function approve(address spender, uint256 value) public returns (bool);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}


// Contract Ownable (defines a contract with an owner)
//------------------------------------------------------------------------------------------------------------
contract Ownable
{
    /**
    * @dev Address of the current owner
    */
    address public owner;

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

    // Constructor. Set the original `owner` of the contract to the sender account.
    function Ownable() public
    {
        owner = msg.sender;
    }

    // Throws if called by any account other than the owner.
    modifier onlyOwner()
    {
        require(msg.sender == owner);
        _;
    }

    /** Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) onlyOwner public
    {
        require(newOwner != address(0));
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}
// ------------------------------------------------------------------------------------------------------------


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath
{
    function mul(uint256 a, uint256 b) internal pure returns (uint256)
    {
        uint256 c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256)
    {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256)
    {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}



/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract SafeBasicToken is ERC20Basic
{
    // Use safemath for math operations
    using SafeMath for uint256;

    // Maps each address to its current balance
    mapping(address => uint256) balances;

    // List of admins that can transfer tokens also during the ICO
    mapping(address => bool) public admin;

    // List of addresses that can receive tokens also during the ICO
    mapping(address => bool) public receivable;

    // Specifies whether the tokens are locked(ICO is running) - Tokens cannot be transferred during the ICO
    bool public locked;


    // Checks the size of the message to avoid attacks
    modifier onlyPayloadSize(uint size)
    {
        assert(msg.data.length >= size + 4);
        _;
    }

    /** Transfer tokens to the specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) public returns (bool)
    {
        require(_to != address(0));
        require(!locked || admin[msg.sender] == true || receivable[_to] == true);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        return true;
    }


    /** Get the balance of the specified address.
    * @param _owner The address to query the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public constant returns (uint256)
    {
        return balances[_owner];
    }
}


/** @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract SafeStandardToken is ERC20, SafeBasicToken
{
    /** Map address => (address => value)
    *   allowed[_owner][_spender] represents the amount of tokens the _spender can use on behalf of the _owner
    */
    mapping(address => mapping(address => uint256)) allowed;


    /** Return the allowance of the _spender on behalf of the _owner
    * @param _owner address The address which owns the funds.
    * @param _spender address The address which will be allowed to spend the funds.
    * @return A uint256 specifying the amount of tokens still available for the spender.
    */
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining)
    {
        return allowed[_owner][_spender];
    }


    /** Allow the _spender to spend _value tokens on behalf of msg.sender.
     * To avoid race condition, the current allowed amount must be first set to 0 through a different transaction.
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) public returns (bool)
    {
        require(_value == 0 || allowed[msg.sender][_spender] == 0);
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }


    /** Increase the allowance for _spender by _addedValue (to be use when allowed[_spender] > 0)
     */
    function increaseApproval(address _spender, uint _addedValue) public returns (bool success)
    {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }


    /** Decrease the allowance for _spender by _subtractedValue. Set it to 0 if _subtractedValue is less then the current allowance
    */
    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool success)
    {
        uint oldValue = allowed[msg.sender][_spender];

        if (_subtractedValue > oldValue)
            allowed[msg.sender][_spender] = 0;
        else
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }


    /** Transfer tokens on behalf of _from to _to (if allowed)
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool)
    {
        require(_to != address(0));
        uint256 _allowance = allowed[_from][msg.sender];
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        Transfer(_from, _to, _value);
        return true;
    }
}



// Main contract
contract CrystalToken is SafeStandardToken, Ownable
{
    using SafeMath for uint256;

    string public constant name = "CrystalToken";
    string public constant symbol = "CYL";
    uint256 public constant decimals = 18;
    uint256 public constant INITIAL_SUPPLY = 28000000 * (10 ** uint256(decimals));

    // Struct representing information of a single round
    struct Round
    {
        uint256 startTime;                      // Timestamp of the start of the round
        uint256 endTime;                        // Timestamp of the end of the round
        uint256 availableTokens;                // Number of tokens available in this round
        uint256 maxPerUser;                     // Number of maximum tokens per user
        uint256 rate;                           // Number of token per wei in this round
        mapping(address => uint256) balances;   // Balances of the users in this round
    }

    // Array containing information of all the rounds
    Round[5] rounds;

    // Address where funds are collected
    address public wallet;

    // Amount of collected money in wei
    uint256 public weiRaised;

    // Current round index
    uint256 public runningRound;

    // Constructor
    function CrystalToken(address _walletAddress) public
    {
        wallet = _walletAddress;
        totalSupply = INITIAL_SUPPLY;
        balances[msg.sender] = INITIAL_SUPPLY;

        rounds[0] = Round(1519052400, 1519138800,  250000 * (10 ** 18), 200 * (10 ** 18), 2000);    // 19 Feb 2018 - 15.00 GMT
        rounds[1] = Round(1519398000, 1519484400, 1250000 * (10 ** 18), 400 * (10 ** 18), 1333);    // 23 Feb 2018 - 15.00 GMT
        rounds[2] = Round(1519657200, 1519743600, 1500000 * (10 ** 18), 1000 * (10 ** 18), 1000);   // 26 Feb 2018 - 15.00 GMT
        rounds[3] = Round(1519830000, 1519916400, 2000000 * (10 ** 18), 1000 * (10 ** 18), 800);    // 28 Feb 2018 - 15.00 GMT
        rounds[4] = Round(1520262000, 1520348400, 2000000 * (10 ** 18), 2000 * (10 ** 18), 667);    //  5 Mar 2018 - 15.00 GMT

        // Set the owner as an admin
        admin[msg.sender] = true;

        // Lock the tokens for the ICO
        locked = true;

        // Set the current round to 100 (no round)
        runningRound = uint256(0);
    }


    /** Event for token purchase logging
     * @param purchaser who paid for the tokens
     * @param beneficiary who got the tokens
     * @param value weis paid for purchase
     * @param amount amount of tokens purchased
     */
    event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount);


    // Rate change event
    event RateChanged(address indexed owner, uint round, uint256 old_rate, uint256 new_rate);


    // Fallback function, used to buy token
    // If ETH are sent to the contract address, without any additional data, this function is called
    function() public payable
    {
        // Take the address of the buyer
        address beneficiary = msg.sender;

        // Check that the sender is not the 0 address
        require(beneficiary != 0x0);

        // Check that sent ETH in wei is > 0
        uint256 weiAmount = msg.value;
        require(weiAmount != 0);

        // Get the current round (100 if there is no open round)
        uint256 roundIndex = runningRound;

        // Check if there is a running round
        require(roundIndex != uint256(100));

        // Get the information of the current round
        Round storage round = rounds[roundIndex];

        // Calculate the token amount to sell. Exceeding amount will not generate tokens
        uint256 tokens = weiAmount.mul(round.rate);
        uint256 maxPerUser = round.maxPerUser;
        uint256 remaining = maxPerUser - round.balances[beneficiary];
        if(remaining < tokens)
            tokens = remaining;

        // Check if the tokens can be sold
        require(areTokensBuyable(roundIndex, tokens));

        // Reduce the number of available tokens in the round (fails if there are no more available tokens)
        round.availableTokens = round.availableTokens.sub(tokens);

        // Add the number of tokens to the current user's balance of this round
        round.balances[msg.sender] = round.balances[msg.sender].add(tokens);

        // Transfer the amount of token to the buyer
        balances[owner] = balances[owner].sub(tokens);
        balances[beneficiary] = balances[beneficiary].add(tokens);
        Transfer(owner, beneficiary, tokens);

        // Raise the event of token purchase
        TokenPurchase(beneficiary, beneficiary, weiAmount, tokens);

        // Update the number of collected money
        weiRaised = weiRaised.add(weiAmount);

        // Transfer funds to the wallet
        wallet.transfer(msg.value);
    }


    /** Check if there is an open round and if there are enough tokens available for current phase and for the sender
    * @param _roundIndex index of the current round
    * @param _tokens number of requested tokens
    */
    function areTokensBuyable(uint _roundIndex, uint256 _tokens) internal constant returns (bool)
    {
        uint256 current_time = block.timestamp;
        Round storage round = rounds[_roundIndex];

        return (
        _tokens > 0 &&                                              // Check that the user can still buy tokens
        round.availableTokens >= _tokens &&                         // Check that there are still available tokens
        current_time >= round.startTime &&                          // Check that the current timestamp is after the start of the round
        current_time <= round.endTime                               // Check that the current timestamp is before the end of the round
        );
    }



    // Return the current number of unsold tokens
    function tokenBalance() constant public returns (uint256)
    {
        return balanceOf(owner);
    }


    event Burn(address burner, uint256 value);


    /** Burns a specific amount of tokens.
     * @param _value The amount of token to be burned.
     */
    function burn(uint256 _value) public onlyOwner
    {
        require(_value <= balances[msg.sender]);
        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(burner, _value);
    }



    /** Mint a specific amount of tokens.
   * @param _value The amount of token to be minted.
   */
    function mint(uint256 _value) public onlyOwner
    {
        totalSupply = totalSupply.add(_value);
        balances[msg.sender] = balances[msg.sender].add(_value);
    }



    // Functions to set the features of each round (only for the owner) and of the whole ICO
    // ----------------------------------------------------------------------------------------
    function setTokensLocked(bool _value) onlyOwner public
    {
        locked = _value;
    }

    /** Set the current round index
    * @param _roundIndex the new round index to set
    */
    function setRound(uint256 _roundIndex) public onlyOwner
    {
        runningRound = _roundIndex;
    }

    function setAdmin(address _addr, bool _value) onlyOwner public
    {
        admin[_addr] = _value;
    }

    function setReceivable(address _addr, bool _value) onlyOwner public
    {
        receivable[_addr] = _value;
    }

    function setRoundStart(uint _round, uint256 _value) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        rounds[_round].startTime = _value;
    }

    function setRoundEnd(uint _round, uint256 _value) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        rounds[_round].endTime = _value;
    }

    function setRoundAvailableToken(uint _round, uint256 _value) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        rounds[_round].availableTokens = _value;
    }

    function setRoundMaxPerUser(uint _round, uint256 _value) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        rounds[_round].maxPerUser = _value;
    }

    function setRoundRate(uint _round, uint256 _round_usd_cents, uint256 _ethvalue_usd) onlyOwner public
    {
        require(_round >= 0 && _round < rounds.length);
        uint256 rate = _ethvalue_usd * 100 / _round_usd_cents;
        uint256 oldRate = rounds[_round].rate;
        rounds[_round].rate = rate;
        RateChanged(msg.sender, _round, oldRate, rounds[_round].rate);
    }
    // ----------------------------------------------------------------------------------------


    // Functions to get the features of each round
    // ----------------------------------------------------------------------------------------
    function getRoundUserBalance(uint _round, address _user) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].balances[_user];
    }

    function getRoundStart(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].startTime;
    }

    function getRoundEnd(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].endTime;
    }

    function getRoundAvailableToken(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].availableTokens;
    }

    function getRoundMaxPerUser(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].maxPerUser;
    }

    function getRoundRate(uint _round) public constant returns (uint256)
    {
        require(_round >= 0 && _round < rounds.length);
        return rounds[_round].rate;
    }
    // ----------------------------------------------------------------------------------------
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_round","type":"uint256"}],"name":"getRoundRate","outputs":[{"name":"","type":"uint256"}],"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":"_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":"_addr","type":"address"},{"name":"_value","type":"bool"}],"name":"setReceivable","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"INITIAL_SUPPLY","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":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"bool"}],"name":"setTokensLocked","outputs":[],"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":"_round","type":"uint256"},{"name":"_round_usd_cents","type":"uint256"},{"name":"_ethvalue_usd","type":"uint256"}],"name":"setRoundRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_value","type":"bool"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_round","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"setRoundMaxPerUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"admin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":true,"inputs":[{"name":"_round","type":"uint256"}],"name":"getRoundEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_round","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"setRoundEnd","outputs":[],"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":"_round","type":"uint256"}],"name":"getRoundMaxPerUser","outputs":[{"name":"","type":"uint256"}],"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":"_roundIndex","type":"uint256"}],"name":"setRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_round","type":"uint256"}],"name":"getRoundAvailableToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_round","type":"uint256"},{"name":"_user","type":"address"}],"name":"getRoundUserBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_round","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"setRoundStart","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_round","type":"uint256"}],"name":"getRoundStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"runningRound","outputs":[{"name":"","type":"uint256"}],"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":"","type":"address"}],"name":"receivable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":"_round","type":"uint256"},{"name":"_value","type":"uint256"}],"name":"setRoundAvailableToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_walletAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"round","type":"uint256"},{"indexed":false,"name":"old_rate","type":"uint256"},{"indexed":false,"name":"new_rate","type":"uint256"}],"name":"RateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","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"}]

606060405234156200001057600080fd5b60405160208062002f3c8339810160405280805190602001909190505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a0a6301ab3f00026000819055506012600a0a6301ab3f0002600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060a060405190810160405280635a8ae6708152602001635a8c37f081526020016934f086f3b33b684000008152602001680ad78ebc5ac620000081526020016107d0815250600760006005811015156200016457fe5b60060201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a060405190810160405280635a902c708152602001635a917df081526020016a0108b2a2c280290940000081526020016815af1d78b58c400000815260200161053581525060076001600581101515620001f457fe5b60060201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a060405190810160405280635a9420f08152602001635a95727081526020016a013da329b63364718000008152602001683635c9adc5dea0000081526020016103e8815250600760026005811015156200028457fe5b60060201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a060405190810160405280635a96c3f08152602001635a98157081526020016a01a784379d99db420000008152602001683635c9adc5dea000008152602001610320815250600760036005811015156200031457fe5b60060201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505060a060405190810160405280635a9d5b708152602001635a9eacf081526020016a01a784379d99db420000008152602001686c6b935b8bbd400000815260200161029b81525060076004600581101515620003a457fe5b6006020160008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050506001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460006101000a81548160ff021916908315150217905550600060278190555050612ad380620004696000396000f3006060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306e2f5c11461067057806306fdde03146106a7578063095ea7b31461073557806318160ddd1461078f5780631f617a60146107b857806323b872dd146107fc5780632ff2e9dc14610875578063313ce5671461089e5780634042b66f146108c757806340a915a5146108f057806342966c681461091557806349eee1a4146109385780634b0bddd21461096d578063521eb273146109b157806361f3c00614610a0657806363a846f814610a325780636618846314610a835780636bf4223b14610add57806370a0823114610b145780637c4d972b14610b615780638da5cb5b14610b8d578063941660e514610be257806395d89b4114610c195780639b624e7b14610ca75780639e1a4d1914610cca578063a0712d6814610cf3578063a9059cbb14610d16578063c1cbbe6c14610d70578063c37a832d14610da7578063c63e2ebc14610dfd578063cf16cc8314610e29578063cf30901214610e60578063d3f2e7cf14610e8d578063d73dd62314610eb6578063da60278a14610f10578063dd62ed3e14610f61578063f21b937914610fcd578063f2fde38b14610ff9575b600080600080600080600033965060008773ffffffffffffffffffffffffffffffffffffffff161415151561020c57600080fd5b3495506000861415151561021f57600080fd5b60275494506064851415151561023457600080fd5b60078560058110151561024357fe5b60060201935061026084600401548761103290919063ffffffff16565b9250836003015491508360050160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482039050828110156102bb578092505b6102c58584611065565b15156102d057600080fd5b6102e78385600201546110c090919063ffffffff16565b8460020181905550610343838560050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b8460050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103fc8360016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104b383600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188886604051808381526020018281526020019250505060405180910390a36105ff866026546110d990919063ffffffff16565b602681905550602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561066757600080fd5b50505050505050005b341561067b57600080fd5b61069160048080359060200190919050506110f7565b6040518082815260200191505060405180910390f35b34156106b257600080fd5b6106ba611132565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106fa5780820151818401526020810190506106df565b50505050905090810190601f1680156107275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561074057600080fd5b610775600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116b565b604051808215151515815260200191505060405180910390f35b341561079a57600080fd5b6107a26112f2565b6040518082815260200191505060405180910390f35b34156107c357600080fd5b6107fa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506112f8565b005b341561080757600080fd5b61085b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506113af565b604051808215151515815260200191505060405180910390f35b341561088057600080fd5b61088861169b565b6040518082815260200191505060405180910390f35b34156108a957600080fd5b6108b16116a9565b6040518082815260200191505060405180910390f35b34156108d257600080fd5b6108da6116ae565b6040518082815260200191505060405180910390f35b34156108fb57600080fd5b610913600480803515159060200190919050506116b4565b005b341561092057600080fd5b610936600480803590602001909190505061172d565b005b341561094357600080fd5b61096b60048080359060200190919080359060200190919080359060200190919050506118fb565b005b341561097857600080fd5b6109af600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050611a36565b005b34156109bc57600080fd5b6109c4611aed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a1157600080fd5b610a306004808035906020019091908035906020019091905050611b13565b005b3415610a3d57600080fd5b610a69600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611baa565b604051808215151515815260200191505060405180910390f35b3415610a8e57600080fd5b610ac3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611bca565b604051808215151515815260200191505060405180910390f35b3415610ae857600080fd5b610afe6004808035906020019091905050611e5b565b6040518082815260200191505060405180910390f35b3415610b1f57600080fd5b610b4b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e96565b6040518082815260200191505060405180910390f35b3415610b6c57600080fd5b610b8b6004808035906020019091908035906020019091905050611edf565b005b3415610b9857600080fd5b610ba0611f76565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610bed57600080fd5b610c036004808035906020019091905050611f9c565b6040518082815260200191505060405180910390f35b3415610c2457600080fd5b610c2c611fd7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c6c578082015181840152602081019050610c51565b50505050905090810190601f168015610c995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610cb257600080fd5b610cc86004808035906020019091905050612010565b005b3415610cd557600080fd5b610cdd612076565b6040518082815260200191505060405180910390f35b3415610cfe57600080fd5b610d1460048080359060200190919050506120a8565b005b3415610d2157600080fd5b610d56600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506121b7565b604051808215151515815260200191505060405180910390f35b3415610d7b57600080fd5b610d916004808035906020019091905050612476565b6040518082815260200191505060405180910390f35b3415610db257600080fd5b610de7600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124b1565b6040518082815260200191505060405180910390f35b3415610e0857600080fd5b610e27600480803590602001909190803590602001909190505061252a565b005b3415610e3457600080fd5b610e4a60048080359060200190919050506125c1565b6040518082815260200191505060405180910390f35b3415610e6b57600080fd5b610e736125fc565b604051808215151515815260200191505060405180910390f35b3415610e9857600080fd5b610ea061260f565b6040518082815260200191505060405180910390f35b3415610ec157600080fd5b610ef6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612615565b604051808215151515815260200191505060405180910390f35b3415610f1b57600080fd5b610f47600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612811565b604051808215151515815260200191505060405180910390f35b3415610f6c57600080fd5b610fb7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612831565b6040518082815260200191505060405180910390f35b3415610fd857600080fd5b610ff760048080359060200190919080359060200190919050506128b8565b005b341561100457600080fd5b611030600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061294f565b005b60008082840290506000841480611053575082848281151561105057fe5b04145b151561105b57fe5b8091505092915050565b600080600042915060078560058110151561107c57fe5b600602019050600084118015611096575083816002015410155b80156110a6575080600001548210155b80156110b6575080600101548211155b9250505092915050565b60008282111515156110ce57fe5b818303905092915050565b60008082840190508381101515156110ed57fe5b8091505092915050565b60008082101580156111095750600582105b151561111457600080fd5b60078260058110151561112357fe5b60060201600401549050919050565b6040805190810160405280600c81526020017f4372797374616c546f6b656e000000000000000000000000000000000000000081525081565b6000808214806111f757506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561120257600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561135457600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156113ee57600080fd5b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506114bf83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061155483600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115aa83826110c090919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6012600a0a6301ab3f000281565b601281565b60265481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561171057600080fd5b80600460006101000a81548160ff02191690831515021790555050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561178b57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156117d957600080fd5b33905061182e82600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611886826000546110c090919063ffffffff16565b6000819055507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58183604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561195a57600080fd5b6000851015801561196b5750600585105b151561197657600080fd5b836064840281151561198457fe5b04915060078560058110151561199657fe5b60060201600401549050816007866005811015156119b057fe5b60060201600401819055503373ffffffffffffffffffffffffffffffffffffffff167f4f3741b54f8ff88679a722b2b023483f666f143039dfec0c5116b7af733d2ce78683600789600581101515611a0457fe5b600602016004015460405180848152602001838152602001828152602001935050505060405180910390a25050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a9257600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b6f57600080fd5b60008210158015611b805750600582105b1515611b8b57600080fd5b80600783600581101515611b9b57fe5b60060201600301819055505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611cdb576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6f565b611cee83826110c090919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000808210158015611e6d5750600582105b1515611e7857600080fd5b600782600581101515611e8757fe5b60060201600101549050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3b57600080fd5b60008210158015611f4c5750600582105b1515611f5757600080fd5b80600783600581101515611f6757fe5b60060201600101819055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808210158015611fae5750600582105b1515611fb957600080fd5b600782600581101515611fc857fe5b60060201600301549050919050565b6040805190810160405280600381526020017f43594c000000000000000000000000000000000000000000000000000000000081525081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561206c57600080fd5b8060278190555050565b60006120a3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e96565b905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561210457600080fd5b612119816000546110d990919063ffffffff16565b60008190555061217181600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006040600481016000369050101515156121ce57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561220a57600080fd5b600460009054906101000a900460ff161580612276575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b806122d1575060011515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156122dc57600080fd5b61232e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123c383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b60008082101580156124885750600582105b151561249357600080fd5b6007826005811015156124a257fe5b60060201600201549050919050565b60008083101580156124c35750600583105b15156124ce57600080fd5b6007836005811015156124dd57fe5b6006020160050160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561258657600080fd5b600082101580156125975750600582105b15156125a257600080fd5b806007836005811015156125b257fe5b60060201600001819055505050565b60008082101580156125d35750600582105b15156125de57600080fd5b6007826005811015156125ed57fe5b60060201600001549050919050565b600460009054906101000a900460ff1681565b60275481565b60006126a682600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561291457600080fd5b600082101580156129255750600582105b151561293057600080fd5b8060078360058110151561294057fe5b60060201600201819055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129ab57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156129e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208041e3b325e0b9242246162f6d35f4330a3f844d0818f999e6adcd2bef362601002900000000000000000000000024cf63494b22472d864c827258e30d722c53c97a

Deployed Bytecode

0x6060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306e2f5c11461067057806306fdde03146106a7578063095ea7b31461073557806318160ddd1461078f5780631f617a60146107b857806323b872dd146107fc5780632ff2e9dc14610875578063313ce5671461089e5780634042b66f146108c757806340a915a5146108f057806342966c681461091557806349eee1a4146109385780634b0bddd21461096d578063521eb273146109b157806361f3c00614610a0657806363a846f814610a325780636618846314610a835780636bf4223b14610add57806370a0823114610b145780637c4d972b14610b615780638da5cb5b14610b8d578063941660e514610be257806395d89b4114610c195780639b624e7b14610ca75780639e1a4d1914610cca578063a0712d6814610cf3578063a9059cbb14610d16578063c1cbbe6c14610d70578063c37a832d14610da7578063c63e2ebc14610dfd578063cf16cc8314610e29578063cf30901214610e60578063d3f2e7cf14610e8d578063d73dd62314610eb6578063da60278a14610f10578063dd62ed3e14610f61578063f21b937914610fcd578063f2fde38b14610ff9575b600080600080600080600033965060008773ffffffffffffffffffffffffffffffffffffffff161415151561020c57600080fd5b3495506000861415151561021f57600080fd5b60275494506064851415151561023457600080fd5b60078560058110151561024357fe5b60060201935061026084600401548761103290919063ffffffff16565b9250836003015491508360050160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482039050828110156102bb578092505b6102c58584611065565b15156102d057600080fd5b6102e78385600201546110c090919063ffffffff16565b8460020181905550610343838560050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b8460050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103fc8360016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506104b383600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188886604051808381526020018281526020019250505060405180910390a36105ff866026546110d990919063ffffffff16565b602681905550602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561066757600080fd5b50505050505050005b341561067b57600080fd5b61069160048080359060200190919050506110f7565b6040518082815260200191505060405180910390f35b34156106b257600080fd5b6106ba611132565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106fa5780820151818401526020810190506106df565b50505050905090810190601f1680156107275780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561074057600080fd5b610775600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061116b565b604051808215151515815260200191505060405180910390f35b341561079a57600080fd5b6107a26112f2565b6040518082815260200191505060405180910390f35b34156107c357600080fd5b6107fa600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803515159060200190919050506112f8565b005b341561080757600080fd5b61085b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506113af565b604051808215151515815260200191505060405180910390f35b341561088057600080fd5b61088861169b565b6040518082815260200191505060405180910390f35b34156108a957600080fd5b6108b16116a9565b6040518082815260200191505060405180910390f35b34156108d257600080fd5b6108da6116ae565b6040518082815260200191505060405180910390f35b34156108fb57600080fd5b610913600480803515159060200190919050506116b4565b005b341561092057600080fd5b610936600480803590602001909190505061172d565b005b341561094357600080fd5b61096b60048080359060200190919080359060200190919080359060200190919050506118fb565b005b341561097857600080fd5b6109af600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050611a36565b005b34156109bc57600080fd5b6109c4611aed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a1157600080fd5b610a306004808035906020019091908035906020019091905050611b13565b005b3415610a3d57600080fd5b610a69600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611baa565b604051808215151515815260200191505060405180910390f35b3415610a8e57600080fd5b610ac3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611bca565b604051808215151515815260200191505060405180910390f35b3415610ae857600080fd5b610afe6004808035906020019091905050611e5b565b6040518082815260200191505060405180910390f35b3415610b1f57600080fd5b610b4b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e96565b6040518082815260200191505060405180910390f35b3415610b6c57600080fd5b610b8b6004808035906020019091908035906020019091905050611edf565b005b3415610b9857600080fd5b610ba0611f76565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610bed57600080fd5b610c036004808035906020019091905050611f9c565b6040518082815260200191505060405180910390f35b3415610c2457600080fd5b610c2c611fd7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c6c578082015181840152602081019050610c51565b50505050905090810190601f168015610c995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610cb257600080fd5b610cc86004808035906020019091905050612010565b005b3415610cd557600080fd5b610cdd612076565b6040518082815260200191505060405180910390f35b3415610cfe57600080fd5b610d1460048080359060200190919050506120a8565b005b3415610d2157600080fd5b610d56600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506121b7565b604051808215151515815260200191505060405180910390f35b3415610d7b57600080fd5b610d916004808035906020019091905050612476565b6040518082815260200191505060405180910390f35b3415610db257600080fd5b610de7600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124b1565b6040518082815260200191505060405180910390f35b3415610e0857600080fd5b610e27600480803590602001909190803590602001909190505061252a565b005b3415610e3457600080fd5b610e4a60048080359060200190919050506125c1565b6040518082815260200191505060405180910390f35b3415610e6b57600080fd5b610e736125fc565b604051808215151515815260200191505060405180910390f35b3415610e9857600080fd5b610ea061260f565b6040518082815260200191505060405180910390f35b3415610ec157600080fd5b610ef6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612615565b604051808215151515815260200191505060405180910390f35b3415610f1b57600080fd5b610f47600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612811565b604051808215151515815260200191505060405180910390f35b3415610f6c57600080fd5b610fb7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612831565b6040518082815260200191505060405180910390f35b3415610fd857600080fd5b610ff760048080359060200190919080359060200190919050506128b8565b005b341561100457600080fd5b611030600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061294f565b005b60008082840290506000841480611053575082848281151561105057fe5b04145b151561105b57fe5b8091505092915050565b600080600042915060078560058110151561107c57fe5b600602019050600084118015611096575083816002015410155b80156110a6575080600001548210155b80156110b6575080600101548211155b9250505092915050565b60008282111515156110ce57fe5b818303905092915050565b60008082840190508381101515156110ed57fe5b8091505092915050565b60008082101580156111095750600582105b151561111457600080fd5b60078260058110151561112357fe5b60060201600401549050919050565b6040805190810160405280600c81526020017f4372797374616c546f6b656e000000000000000000000000000000000000000081525081565b6000808214806111f757506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561120257600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561135457600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156113ee57600080fd5b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506114bf83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061155483600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115aa83826110c090919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6012600a0a6301ab3f000281565b601281565b60265481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561171057600080fd5b80600460006101000a81548160ff02191690831515021790555050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561178b57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156117d957600080fd5b33905061182e82600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611886826000546110c090919063ffffffff16565b6000819055507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58183604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561195a57600080fd5b6000851015801561196b5750600585105b151561197657600080fd5b836064840281151561198457fe5b04915060078560058110151561199657fe5b60060201600401549050816007866005811015156119b057fe5b60060201600401819055503373ffffffffffffffffffffffffffffffffffffffff167f4f3741b54f8ff88679a722b2b023483f666f143039dfec0c5116b7af733d2ce78683600789600581101515611a0457fe5b600602016004015460405180848152602001838152602001828152602001935050505060405180910390a25050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a9257600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b6f57600080fd5b60008210158015611b805750600582105b1515611b8b57600080fd5b80600783600581101515611b9b57fe5b60060201600301819055505050565b60026020528060005260406000206000915054906101000a900460ff1681565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611cdb576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d6f565b611cee83826110c090919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000808210158015611e6d5750600582105b1515611e7857600080fd5b600782600581101515611e8757fe5b60060201600101549050919050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f3b57600080fd5b60008210158015611f4c5750600582105b1515611f5757600080fd5b80600783600581101515611f6757fe5b60060201600101819055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808210158015611fae5750600582105b1515611fb957600080fd5b600782600581101515611fc857fe5b60060201600301549050919050565b6040805190810160405280600381526020017f43594c000000000000000000000000000000000000000000000000000000000081525081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561206c57600080fd5b8060278190555050565b60006120a3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e96565b905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561210457600080fd5b612119816000546110d990919063ffffffff16565b60008190555061217181600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60006040600481016000369050101515156121ce57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561220a57600080fd5b600460009054906101000a900460ff161580612276575060011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b806122d1575060011515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156122dc57600080fd5b61232e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110c090919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123c383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b60008082101580156124885750600582105b151561249357600080fd5b6007826005811015156124a257fe5b60060201600201549050919050565b60008083101580156124c35750600583105b15156124ce57600080fd5b6007836005811015156124dd57fe5b6006020160050160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561258657600080fd5b600082101580156125975750600582105b15156125a257600080fd5b806007836005811015156125b257fe5b60060201600001819055505050565b60008082101580156125d35750600582105b15156125de57600080fd5b6007826005811015156125ed57fe5b60060201600001549050919050565b600460009054906101000a900460ff1681565b60275481565b60006126a682600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110d990919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561291457600080fd5b600082101580156129255750600582105b151561293057600080fd5b8060078360058110151561294057fe5b60060201600201819055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129ab57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156129e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208041e3b325e0b9242246162f6d35f4330a3f844d0818f999e6adcd2bef3626010029

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

00000000000000000000000024cf63494b22472d864c827258e30d722c53c97a

-----Decoded View---------------
Arg [0] : _walletAddress (address): 0x24cF63494b22472D864C827258E30D722C53c97a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000024cf63494b22472d864c827258e30d722c53c97a


Swarm Source

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