ETH Price: $3,191.89 (+5.22%)

Token

Fuel Token (FUEL)
 

Overview

Max Total Supply

1,000,000,000 FUEL

Holders

62,559 (0.00%)

Market

Price

$0.00 @ 0.000000 ETH (+6.94%)

Onchain Market Cap

$111,650.00

Circulating Supply Market Cap

$110,627.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
1 FUEL

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

OVERVIEW

Etherparty™ is a contract wizard that removes the complexity of creating, managing and executing smart contracts on any compatible blockchain.

Profitability / Loss

Since Initial Offer Price
:$0.10 99.89%

Market

Volume (24H):$392.01
Market Capitalization:$110,627.00
Circulating Supply:989,920,558.00 FUEL
Market Data Source: Coinmarketcap

ICO Information

ICO Start Date : Oct 01, 2017   
ICO End Date : Oct 29, 2017
Total Raised : $33,732,274
ICO Price  : $0.1 | 0.00033 ETH
Country : USA

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
FuelToken

Compiler Version
v0.4.17+commit.bdeb9e52

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-09-22
*/

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    owner = msg.sender;
  }


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


  /**
   * @dev 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 {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}

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

  function div(uint256 a, uint256 b) internal constant returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

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

/**
 * @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) constant returns (uint256);
  function transfer(address to, uint256 value) 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) constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) returns (bool);
  function approve(address spender, uint256 value) returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev modifier to allow actions only when the contract IS paused
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev modifier to allow actions only when the contract IS NOT paused
   */
  modifier whenPaused {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused returns (bool) {
    paused = true;
    Pause();
    return true;
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused returns (bool) {
    paused = false;
    Unpause();
    return true;
  }
}

/**
 * @title NonZero
 */
contract NonZero {

// Functions with this modifier fail if he 
    modifier nonZeroAddress(address _to) {
        require(_to != 0x0);
        _;
    }

    modifier nonZeroAmount(uint _amount) {
        require(_amount > 0);
        _;
    }

    modifier nonZeroValue() {
        require(msg.value > 0);
        _;
    }

    // prevents short address attack
    // standard size = 2 * 32
    modifier onlyPayloadSize(uint size) {
	// we assert the msg data is greater than or equal to, because
	// a multisgi wallet will be greater than standard payload size of 64 bits
    assert(msg.data.length >= size + 4);
     _;
   } 
}

contract FuelToken is ERC20, Ownable, NonZero {

    using SafeMath for uint;

/////////////////////// TOKEN INFORMATION ///////////////////////
    string public constant name = "Fuel Token";
    string public constant symbol = "FUEL";

    uint8 public decimals = 18;
    
    // Mapping to keep user's balances
    mapping (address => uint256) balances;
    // Mapping to keep user's allowances
    mapping (address => mapping (address => uint256)) allowed;

/////////////////////// VARIABLE INITIALIZATION ///////////////////////
    
    // Allocation for the Vanbex Team
    uint256 public vanbexTeamSupply;
    // Etherparty platform supply
    uint256 public platformSupply;
    // Amount of FUEL for the presale
    uint256 public presaleSupply;
    // Amount of presale tokens remaining at a given time
    uint256 public presaleAmountRemaining;
    // Total ICO supply
    uint256 public icoSupply;
    // Community incentivisation supply
    uint256 public incentivisingEffortsSupply;
    // Crowdsale End Timestamp
    uint256 public crowdfundEndsAt;
    // Vesting period for the Vanbex Team allocation
    uint256 public vanbexTeamVestingPeriod;

    // Crowdfund Address
    address public crowdfundAddress;
    // Vanbex team address
    address public vanbexTeamAddress;
    // Etherparty platform address
    address public platformAddress;
    // Community incentivisation address
    address public incentivisingEffortsAddress;

    // Flag keeping track of presale status. Ensures functions can only be called once
    bool public presaleFinalized = false;
    // Flag keeping track of crowdsale status. Ensures functions can only be called once
    bool public crowdfundFinalized = false;

/////////////////////// EVENTS ///////////////////////

    // Event called when crowdfund is done
    event CrowdfundFinalized(uint tokensRemaining);
    // Event called when presale is done
    event PresaleFinalized(uint tokensRemaining);

/////////////////////// MODIFIERS ///////////////////////

    // Ensure actions can only happen after crowdfund ends
    modifier notBeforeCrowdfundEnds(){
        require(now >= crowdfundEndsAt);
        _;
    }

    // Ensure vesting period is over
    modifier checkVanbexTeamVestingPeriod() {
        assert(now >= vanbexTeamVestingPeriod);
        _;
    }

    // Ensure only crowdfund can call the function
    modifier onlyCrowdfund() {
        require(msg.sender == crowdfundAddress);
        _;
    }

/////////////////////// ERC20 FUNCTIONS ///////////////////////

    // Transfer
    function transfer(address _to, uint256 _amount) notBeforeCrowdfundEnds returns (bool success) {
        require(balanceOf(msg.sender) >= _amount);
        addToBalance(_to, _amount);
        decrementBalance(msg.sender, _amount);
        Transfer(msg.sender, _to, _amount);
        return true;
    }

    // Transfer from one address to another (need allowance to be called first)
    function transferFrom(address _from, address _to, uint256 _amount) notBeforeCrowdfundEnds returns (bool success) {
        require(allowance(_from, msg.sender) >= _amount);
        decrementBalance(_from, _amount);
        addToBalance(_to, _amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        Transfer(_from, _to, _amount);
        return true;
    }

    // Approve another address a certain amount of FUEL
    function approve(address _spender, uint256 _value) returns (bool success) {
        require((_value == 0) || (allowance(msg.sender, _spender) == 0));
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    // Get an address's FUEL allowance
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    // Get the FUEL balance of any address
    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

/////////////////////// TOKEN FUNCTIONS ///////////////////////

    // Constructor
    function FuelToken() {
        crowdfundEndsAt = 1509292800;                                               // Oct 29, 9 AM PST
        vanbexTeamVestingPeriod = crowdfundEndsAt.add(183 * 1 days);                // 6 months vesting period

        totalSupply = 1 * 10**27;                                                   // 100% - 1 billion total FUEL tokens with 18 decimals
        vanbexTeamSupply = 5 * 10**25;                                              // 5% - 50 million for etherparty team
        platformSupply = 5 * 10**25;                                                // 5% - 50 million to be sold on the etherparty platform in-app
        incentivisingEffortsSupply = 1 * 10**26;                                    // 10% - 100 million for incentivising efforts
        presaleSupply = 54 * 10**25;                                                // 540,000,000 fuel tokens available for presale with overflow for bonus included
        icoSupply = 26 * 10**25;                                                    // 260 million fuel tokens for ico with potential for extra after finalizing presale
       
        presaleAmountRemaining = presaleSupply;                                     // Decreased over the course of the pre-sale
        vanbexTeamAddress = 0xCF701D8eA4C727466D42651dda127c0c033076B0;             // Vanbex Team Address
        platformAddress = 0xF5b5f6c1E233671B220C2A19Af10Fd18785D0744;               // Platform Address
        incentivisingEffortsAddress = 0x5584b17B40F6a2E412e65FcB1533f39Fc7D8Aa26;   // Community incentivisation address

        addToBalance(incentivisingEffortsAddress, incentivisingEffortsSupply);     
        addToBalance(platformAddress, platformSupply);                              
    }

    // Sets the crowdfund address, can only be done once
    function setCrowdfundAddress(address _crowdfundAddress) external onlyOwner nonZeroAddress(_crowdfundAddress) {
        require(crowdfundAddress == 0x0);
        crowdfundAddress = _crowdfundAddress;
        addToBalance(crowdfundAddress, icoSupply); 
    }

    // Function for the Crowdfund to transfer tokens
    function transferFromCrowdfund(address _to, uint256 _amount) onlyCrowdfund nonZeroAmount(_amount) nonZeroAddress(_to) returns (bool success) {
        require(balanceOf(crowdfundAddress) >= _amount);
        decrementBalance(crowdfundAddress, _amount);
        addToBalance(_to, _amount);
        Transfer(0x0, _to, _amount);
        return true;
    }

    // Release Vanbex team supply after vesting period is finished.
    function releaseVanbexTeamTokens() checkVanbexTeamVestingPeriod onlyOwner returns(bool success) {
        require(vanbexTeamSupply > 0);
        addToBalance(vanbexTeamAddress, vanbexTeamSupply);
        Transfer(0x0, vanbexTeamAddress, vanbexTeamSupply);
        vanbexTeamSupply = 0;
        return true;
    }

    // Finalize presale. If there are leftover FUEL, let them overflow to the crowdfund
    function finalizePresale() external onlyOwner returns (bool success) {
        require(presaleFinalized == false);
        uint256 amount = presaleAmountRemaining;
        if (amount != 0) {
            presaleAmountRemaining = 0;
            addToBalance(crowdfundAddress, amount);
        }
        presaleFinalized = true;
        PresaleFinalized(amount);
        return true;
    }

    // Finalize crowdfund. If there are leftover FUEL, let them overflow to the be sold at 1$ on the platform
    function finalizeCrowdfund() external onlyCrowdfund {
        require(presaleFinalized == true && crowdfundFinalized == false);
        uint256 amount = balanceOf(crowdfundAddress);
        if (amount > 0) {
            balances[crowdfundAddress] = 0;
            addToBalance(platformAddress, amount);
            Transfer(crowdfundAddress, platformAddress, amount);
        }
        crowdfundFinalized = true;
        CrowdfundFinalized(amount);
    }


    // Function to send FUEL to presale investors
    function deliverPresaleFuelBalances(address[] _batchOfAddresses, uint[] _amountOfFuel) external onlyOwner returns (bool success) {
        for (uint256 i = 0; i < _batchOfAddresses.length; i++) {
            deliverPresaleFuelBalance(_batchOfAddresses[i], _amountOfFuel[i]);            
        }
        return true;
    }

    // All presale purchases will be delivered. If one address has contributed more than once,
    // his contribution will be aggregated
    function deliverPresaleFuelBalance(address _accountHolder, uint _amountOfBoughtFuel) internal onlyOwner {
        require(presaleAmountRemaining > 0);
        addToBalance(_accountHolder, _amountOfBoughtFuel);
        Transfer(0x0, _accountHolder, _amountOfBoughtFuel);
        presaleAmountRemaining = presaleAmountRemaining.sub(_amountOfBoughtFuel);    
    }

    // Add to balance
    function addToBalance(address _address, uint _amount) internal {
    	balances[_address] = balances[_address].add(_amount);
    }

    // Remove from balance
    function decrementBalance(address _address, uint _amount) internal {
    	balances[_address] = balances[_address].sub(_amount);
    }
}

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":true,"inputs":[],"name":"vanbexTeamAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"releaseVanbexTeamTokens","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":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vanbexTeamVestingPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":"crowdfundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"platformSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdfundEndsAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleAmountRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"incentivisingEffortsAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdfundFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFromCrowdfund","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_crowdfundAddress","type":"address"}],"name":"setCrowdfundAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalizePresale","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"vanbexTeamSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"incentivisingEffortsSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presaleSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalizeCrowdfund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_batchOfAddresses","type":"address[]"},{"name":"_amountOfFuel","type":"uint256[]"}],"name":"deliverPresaleFuelBalances","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"platformAddress","outputs":[{"name":"","type":"address"}],"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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokensRemaining","type":"uint256"}],"name":"CrowdfundFinalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokensRemaining","type":"uint256"}],"name":"PresaleFinalized","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"}]

60606040526012600160146101000a81548160ff021916908360ff1602179055506000600f60146101000a81548160ff0219169083151502179055506000600f60156101000a81548160ff02191690831515021790555034156200006257600080fd5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506359f5fb00600a81905550620000d662f14280600a54620002e06401000000000262001ae0179091906401000000009004565b600b819055506b033b2e3c9fd0803ce80000006000819055506a295be96e640669720000006004819055506a295be96e640669720000006005819055506a52b7d2dcc80cd2e40000006009819055506b01bead72a838453f9c0000006006819055506ad711243e0821578400000060088190555060065460078190555073cf701d8ea4c727466d42651dda127c0c033076b0600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f5b5f6c1e233671b220c2a19af10fd18785d0744600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735584b17b40f6a2e412e65fcb1533f39fc7d8aa26600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000296600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600954620002ff64010000000002620018af176401000000009004565b620002da600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600554620002ff64010000000002620018af176401000000009004565b620003a8565b6000808284019050838110151515620002f557fe5b8091505092915050565b6200036181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620002e06401000000000262001ae0179091906401000000009004565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611b2a80620003b86000396000f30060606040523615610189576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461018e578063095ea7b31461021c57806309c62c5c146102765780630f91cce1146102cb57806318160ddd146102f857806323b872dd14610321578063284e650a1461039a578063313ce567146103c35780634e8127f6146103f25780636d4980931461041b57806370a082311461044857806372f74af81461049557806375288d95146104ea5780637ae79e86146105135780637febd7211461053c578063808f4d211461056557806384086357146105ba5780638ae8c1f3146105e75780638da5cb5b1461064157806395d89b41146106965780639f4f480814610724578063a0a6e9401461075d578063a9059cbb1461078a578063acd4bca6146107e4578063aea486901461080d578063b3a196e914610836578063b6c889771461085f578063c969341114610874578063dbe55e56146108ce578063dd62ed3e14610923578063f2fde38b1461098f575b600080fd5b341561019957600080fd5b6101a16109c8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e15780820151818401526020810190506101c6565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022757600080fd5b61025c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a01565b604051808215151515815260200191505060405180910390f35b341561028157600080fd5b610289610b15565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d657600080fd5b6102de610b3b565b604051808215151515815260200191505060405180910390f35b341561030357600080fd5b61030b610c69565b6040518082815260200191505060405180910390f35b341561032c57600080fd5b610380600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c6f565b604051808215151515815260200191505060405180910390f35b34156103a557600080fd5b6103ad610e2d565b6040518082815260200191505060405180910390f35b34156103ce57600080fd5b6103d6610e33565b604051808260ff1660ff16815260200191505060405180910390f35b34156103fd57600080fd5b610405610e46565b6040518082815260200191505060405180910390f35b341561042657600080fd5b61042e610e4c565b604051808215151515815260200191505060405180910390f35b341561045357600080fd5b61047f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e5f565b6040518082815260200191505060405180910390f35b34156104a057600080fd5b6104a8610ea8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f557600080fd5b6104fd610ece565b6040518082815260200191505060405180910390f35b341561051e57600080fd5b610526610ed4565b6040518082815260200191505060405180910390f35b341561054757600080fd5b61054f610eda565b6040518082815260200191505060405180910390f35b341561057057600080fd5b610578610ee0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105c557600080fd5b6105cd610f06565b604051808215151515815260200191505060405180910390f35b34156105f257600080fd5b610627600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f19565b604051808215151515815260200191505060405180910390f35b341561064c57600080fd5b610654611079565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106a157600080fd5b6106a961109f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e95780820151818401526020810190506106ce565b50505050905090810190601f1680156107165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072f57600080fd5b61075b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110d8565b005b341561076857600080fd5b610770611215565b604051808215151515815260200191505060405180910390f35b341561079557600080fd5b6107ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611334565b604051808215151515815260200191505060405180910390f35b34156107ef57600080fd5b6107f76113e1565b6040518082815260200191505060405180910390f35b341561081857600080fd5b6108206113e7565b6040518082815260200191505060405180910390f35b341561084157600080fd5b6108496113ed565b6040518082815260200191505060405180910390f35b341561086a57600080fd5b6108726113f3565b005b341561087f57600080fd5b6108b460048080359060200190820180359060200191909192908035906020019082018035906020019190919290505061165a565b604051808215151515815260200191505060405180910390f35b34156108d957600080fd5b6108e161172b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561092e57600080fd5b610979600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611751565b6040518082815260200191505060405180910390f35b341561099a57600080fd5b6109c6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117d8565b005b6040805190810160405280600a81526020017f4675656c20546f6b656e0000000000000000000000000000000000000000000081525081565b600080821480610a1a57506000610a183385611751565b145b1515610a2557600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b544210151515610b4b57fe5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ba757600080fd5b6000600454111515610bb857600080fd5b610be6600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004546118af565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a360006004819055506001905090565b60005481565b6000600a544210151515610c8257600080fd5b81610c8d8533611751565b10151515610c9a57600080fd5b610ca48483611948565b610cae83836118af565b610d3d82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e190919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600b5481565b600160149054906101000a900460ff1681565b60085481565b600f60149054906101000a900460ff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b600a5481565b60075481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60159054906101000a900460ff1681565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f7757600080fd5b81600081111515610f8757600080fd5b8360008173ffffffffffffffffffffffffffffffffffffffff1614151515610fae57600080fd5b83610fda600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e5f565b10151515610fe757600080fd5b611013600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611948565b61101d85856118af565b8473ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f4655454c0000000000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561113457600080fd5b8060008173ffffffffffffffffffffffffffffffffffffffff161415151561115b57600080fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111a257600080fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611211600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008546118af565b5050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561127457600080fd5b60001515600f60149054906101000a900460ff16151514151561129657600080fd5b60075490506000811415156112da5760006007819055506112d9600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826118af565b5b6001600f60146101000a81548160ff0219169083151502179055507fba77ddc9e26933f19061480be65d8ea3dcf88fb70efd476df9515333cabee8c4816040518082815260200191505060405180910390a1600191505090565b6000600a54421015151561134757600080fd5b8161135133610e5f565b1015151561135e57600080fd5b61136883836118af565b6113723383611948565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b60095481565b60065481565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561145157600080fd5b60011515600f60149054906101000a900460ff161515148015611487575060001515600f60159054906101000a900460ff161515145b151561149257600080fd5b6114bd600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e5f565b9050600081111561160557600060026000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061155b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826118af565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6001600f60156101000a81548160ff0219169083151502179055507f35ff217d4f104e308e4be44a10590a96e26a9b45e5908ebc9c13498904343f93816040518082815260200191505060405180910390a150565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b957600080fd5b600090505b8585905081101561171e5761171186868381811015156116da57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110151561170557fe5b905060200201356119fa565b80806001019150506116be565b6001915050949350505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561183457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156118ac5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b61190181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae090919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61199a81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008282111515156119ef57fe5b818303905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a5657600080fd5b6000600754111515611a6757600080fd5b611a7182826118af565b8173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611ad6816007546119e190919063ffffffff16565b6007819055505050565b6000808284019050838110151515611af457fe5b80915050929150505600a165627a7a723058208d98d6401dcf8095accb1820eaca657b68dbeb6f2dbbb316b0707d768dd3a4c10029

Deployed Bytecode

0x60606040523615610189576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461018e578063095ea7b31461021c57806309c62c5c146102765780630f91cce1146102cb57806318160ddd146102f857806323b872dd14610321578063284e650a1461039a578063313ce567146103c35780634e8127f6146103f25780636d4980931461041b57806370a082311461044857806372f74af81461049557806375288d95146104ea5780637ae79e86146105135780637febd7211461053c578063808f4d211461056557806384086357146105ba5780638ae8c1f3146105e75780638da5cb5b1461064157806395d89b41146106965780639f4f480814610724578063a0a6e9401461075d578063a9059cbb1461078a578063acd4bca6146107e4578063aea486901461080d578063b3a196e914610836578063b6c889771461085f578063c969341114610874578063dbe55e56146108ce578063dd62ed3e14610923578063f2fde38b1461098f575b600080fd5b341561019957600080fd5b6101a16109c8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e15780820151818401526020810190506101c6565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022757600080fd5b61025c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a01565b604051808215151515815260200191505060405180910390f35b341561028157600080fd5b610289610b15565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102d657600080fd5b6102de610b3b565b604051808215151515815260200191505060405180910390f35b341561030357600080fd5b61030b610c69565b6040518082815260200191505060405180910390f35b341561032c57600080fd5b610380600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c6f565b604051808215151515815260200191505060405180910390f35b34156103a557600080fd5b6103ad610e2d565b6040518082815260200191505060405180910390f35b34156103ce57600080fd5b6103d6610e33565b604051808260ff1660ff16815260200191505060405180910390f35b34156103fd57600080fd5b610405610e46565b6040518082815260200191505060405180910390f35b341561042657600080fd5b61042e610e4c565b604051808215151515815260200191505060405180910390f35b341561045357600080fd5b61047f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e5f565b6040518082815260200191505060405180910390f35b34156104a057600080fd5b6104a8610ea8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f557600080fd5b6104fd610ece565b6040518082815260200191505060405180910390f35b341561051e57600080fd5b610526610ed4565b6040518082815260200191505060405180910390f35b341561054757600080fd5b61054f610eda565b6040518082815260200191505060405180910390f35b341561057057600080fd5b610578610ee0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105c557600080fd5b6105cd610f06565b604051808215151515815260200191505060405180910390f35b34156105f257600080fd5b610627600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f19565b604051808215151515815260200191505060405180910390f35b341561064c57600080fd5b610654611079565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106a157600080fd5b6106a961109f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e95780820151818401526020810190506106ce565b50505050905090810190601f1680156107165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072f57600080fd5b61075b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110d8565b005b341561076857600080fd5b610770611215565b604051808215151515815260200191505060405180910390f35b341561079557600080fd5b6107ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611334565b604051808215151515815260200191505060405180910390f35b34156107ef57600080fd5b6107f76113e1565b6040518082815260200191505060405180910390f35b341561081857600080fd5b6108206113e7565b6040518082815260200191505060405180910390f35b341561084157600080fd5b6108496113ed565b6040518082815260200191505060405180910390f35b341561086a57600080fd5b6108726113f3565b005b341561087f57600080fd5b6108b460048080359060200190820180359060200191909192908035906020019082018035906020019190919290505061165a565b604051808215151515815260200191505060405180910390f35b34156108d957600080fd5b6108e161172b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561092e57600080fd5b610979600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611751565b6040518082815260200191505060405180910390f35b341561099a57600080fd5b6109c6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117d8565b005b6040805190810160405280600a81526020017f4675656c20546f6b656e0000000000000000000000000000000000000000000081525081565b600080821480610a1a57506000610a183385611751565b145b1515610a2557600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b544210151515610b4b57fe5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ba757600080fd5b6000600454111515610bb857600080fd5b610be6600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004546118af565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040518082815260200191505060405180910390a360006004819055506001905090565b60005481565b6000600a544210151515610c8257600080fd5b81610c8d8533611751565b10151515610c9a57600080fd5b610ca48483611948565b610cae83836118af565b610d3d82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e190919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600b5481565b600160149054906101000a900460ff1681565b60085481565b600f60149054906101000a900460ff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b600a5481565b60075481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60159054906101000a900460ff1681565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f7757600080fd5b81600081111515610f8757600080fd5b8360008173ffffffffffffffffffffffffffffffffffffffff1614151515610fae57600080fd5b83610fda600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e5f565b10151515610fe757600080fd5b611013600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611948565b61101d85856118af565b8473ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f4655454c0000000000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561113457600080fd5b8060008173ffffffffffffffffffffffffffffffffffffffff161415151561115b57600080fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156111a257600080fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611211600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008546118af565b5050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561127457600080fd5b60001515600f60149054906101000a900460ff16151514151561129657600080fd5b60075490506000811415156112da5760006007819055506112d9600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826118af565b5b6001600f60146101000a81548160ff0219169083151502179055507fba77ddc9e26933f19061480be65d8ea3dcf88fb70efd476df9515333cabee8c4816040518082815260200191505060405180910390a1600191505090565b6000600a54421015151561134757600080fd5b8161135133610e5f565b1015151561135e57600080fd5b61136883836118af565b6113723383611948565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60045481565b60095481565b60065481565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561145157600080fd5b60011515600f60149054906101000a900460ff161515148015611487575060001515600f60159054906101000a900460ff161515145b151561149257600080fd5b6114bd600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e5f565b9050600081111561160557600060026000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061155b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826118af565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b6001600f60156101000a81548160ff0219169083151502179055507f35ff217d4f104e308e4be44a10590a96e26a9b45e5908ebc9c13498904343f93816040518082815260200191505060405180910390a150565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116b957600080fd5b600090505b8585905081101561171e5761171186868381811015156116da57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110151561170557fe5b905060200201356119fa565b80806001019150506116be565b6001915050949350505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561183457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156118ac5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b61190181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae090919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61199a81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e190919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60008282111515156119ef57fe5b818303905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a5657600080fd5b6000600754111515611a6757600080fd5b611a7182826118af565b8173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3611ad6816007546119e190919063ffffffff16565b6007819055505050565b6000808284019050838110151515611af457fe5b80915050929150505600a165627a7a723058208d98d6401dcf8095accb1820eaca657b68dbeb6f2dbbb316b0707d768dd3a4c10029

Swarm Source

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