ETH Price: $3,395.46 (+1.91%)

Token

RouletteToken (RLT)
 

Overview

Max Total Supply

12,181,421.5293058128 RLT

Holders

2,051 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 10 Decimals)

Balance
3,710.6218548208 RLT

Value
$0.00
0x6eac7d87a9f2ad5c8c03c79e71b9038468043780
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Developed and launched the prototype of «European Roulette» game based on Ethereum smart contract.

ICO Information

ICO Start Date : Apr 07, 2017   
ICO End Date : Apr 09, 2017
Total Cap  : 10,000,000 RLT
ICO Price  : $0.07 | 0.0015 ETH

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SmartRouletteToken

Compiler Version
v0.4.8+commit.60cc1668

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-04-06
*/

pragma solidity ^0.4.8;

contract OldSmartRouletteToken
{
	function balanceOf( address who ) external constant returns (uint256);
	function totalSupply() constant returns (uint supply);
	function tempTokensBalanceOf( address who ) external constant returns (uint256);
	function tempTokensPeriodOf( address who ) external constant returns (uint256);
	function getCountHolders() external constant returns(uint256);
	function getCountTempHolders() external constant returns(uint256);
	function getItemHolders(uint256 index) external constant returns(address);
	function getItemTempHolders(uint256 index) external constant returns(address);
	function isOperationBlocked() external constant returns (bool);
}

contract SmartRouletteToken {
	string public standard = 'ERC20';
    string public name; // token name
    string public symbol; // token symbol
    uint8 public decimals; // a number of symbols after comma

	struct holderData {
		/**
		*	Token holders details
		*/
		uint256 tokens_count;
		bool init;
	}

	struct tempHolderData {
		/**
		*	Temporary token holders details
		*/
		uint256 tokens_count;
		uint256 start_date;
		uint256 end_date;
		bool init;
	}

	address[] listAddrHolders; // permanent token holders list

	mapping( address => holderData ) _balances; // token ownership
	mapping( address => tempHolderData ) _temp_balance; // temporary token ownership
	mapping( address => mapping( address => uint256 ) ) _approvals; // token transfer right

	bool stop_operation; // transaction stop
	
	uint256 _supply; // total amount of tokens
	uint256 _init_count_tokens; // initial amount of tokens
	uint256 public costOfOneToken; // token price equivalent to wei
	
	address wallet_ICO;
	bool enableICO; // ico status (launched or not)
	uint256 min_value_buyToken; //in wei
	uint256 max_value_buyToken; //in wei

	address fond_wallet;
	address developer_wallet;

	address divident_contract = address(0x0);
	
	event TokenBuy(address buyer, uint256 amountOfTokens);

	// emission limits
	uint256 max_value_bet; // maximum size of bet for emission
	uint256 max_coef_player; // maximum size of emission coefficient for a player
	uint256 max_coef_partner; // maximum size of emission coefficient for an affiliate


	address developer; // developer's address
	address manager; // contract managing address (management can be made from the smart contract)

	struct gamesData {
		bool init;
	}

	mapping( address => gamesData) listGames; // List of allowed games
	address[] addrGames;

	//old token contract for data restorage
	OldSmartRouletteToken oldSmartToken;

	uint256 countHoldersTransferredFromOldContract; //amount of permanent token holders whose balance has been restored
	uint256 countHoldersTempTransferredFromOldContract; //amount of temporary token holders whose balance has been restored

	function SmartRouletteToken()
	{
		_init_count_tokens = 100000000000000000;
		developer_wallet = address(0x8521E1f9220A251dE0ab78f6a2E8754Ca9E75242);
		wallet_ICO = address(0x2dff87f8892d65f7a97b1287e795405098ae7b7f);
		fond_wallet = address(0x3501DD2B515EDC1920f9007782Da5ac018922502);

        name = 'Roulette Token';                                   
        symbol = 'RLT';                               
        decimals = 10;
        costOfOneToken = 1500000000000000;

		max_value_bet = 2560000000000000000;
		max_coef_player = 300;
		max_coef_partner = 50;

		developer = msg.sender;
		manager = msg.sender;		
		
		enableICO = false;
		min_value_buyToken = 150000000000000000;
		max_value_buyToken = 500000000000000000000;

		stop_operation = false;

		oldSmartToken = OldSmartRouletteToken(0x2a650356bd894370cc1d6aba71b36c0ad6b3dc18);
		countHoldersTransferredFromOldContract= 0;
		countHoldersTempTransferredFromOldContract = 0;
	}

	modifier isDeveloper(){
		if (msg.sender!=developer) throw;
		_;
	}

	modifier isManager(){
		if (msg.sender!=manager) throw;
		_;
	}

	modifier isAccessStopOperation(){
		if (msg.sender!=manager && msg.sender!=developer && (msg.sender!=divident_contract || divident_contract==address(0x0))) throw;
		_;
	}

	function IsTransferFromOldContractDone() constant returns(bool)
	{
		return countHoldersTransferredFromOldContract == oldSmartToken.getCountHolders();
	}

	/**
    *	restoreAllPersistentTokens() - function of restoring the balance of permanent token holders. Once the function has been completed,
    *	blockchain saves the index with which token holders addresses will start being received during the following function operation.
    *
    *	@param limit - amount of token holders addresses requiring the balance restorage.
    *
    **/
	function restoreAllPersistentTokens(uint256 limit)
	{
		if(oldSmartToken.isOperationBlocked() && this.isOperationBlocked())
		{
			uint256 len = oldSmartToken.getCountHolders();
			uint256 i = countHoldersTransferredFromOldContract;
			for(; i < len; i++)
			{
				address holder = oldSmartToken.getItemHolders(i);
				uint256 count_tokens = oldSmartToken.balanceOf(holder);
				if(holder == address(0x2a650356bd894370cc1d6aba71b36c0ad6b3dc18)) {
					if(!_balances[fond_wallet].init){
						addUserToList(fond_wallet);
						_balances[fond_wallet] = holderData(count_tokens, true);
					}
					else{
						_balances[fond_wallet].tokens_count += count_tokens;
					}
				}
				else{
					addUserToList(holder);
					_balances[holder] = holderData(count_tokens, true);
				}

				_supply += count_tokens;

				if (limit - 1 == 0) break;
				limit--;
			}
			countHoldersTransferredFromOldContract = i;
		}
	}

	function IsTransferTempFromOldContractDone() constant returns(bool)
	{
		return countHoldersTempTransferredFromOldContract == oldSmartToken.getCountTempHolders();
	}

	/**
    *	restoreAllTempTokens() - function of temnporary token balance restorage. Once the function has been completed,
    *	blockchain saves the index with which temporary token holders addresses will start being received during the following function operation.
    *
    *	@param limit - amount of token holders addresses requiring the balance restorage.
    *
    **/
	function restoreAllTempTokens(uint256 limit)
	{
		if(oldSmartToken.isOperationBlocked() && this.isOperationBlocked())
		{
			uint256 len = oldSmartToken.getCountTempHolders();
			uint256 i = countHoldersTempTransferredFromOldContract;
			for(; i < len; i++)
			{
				address holder = oldSmartToken.getItemTempHolders(i);
				uint256 count_tokens = oldSmartToken.tempTokensBalanceOf(holder);

				if(holder == address(0x2a650356bd894370cc1d6aba71b36c0ad6b3dc18)) {
					if(!_balances[fond_wallet].init){
						_balances[fond_wallet] = holderData(count_tokens, true);
						addUserToList(fond_wallet);
					}
					else{
						_balances[fond_wallet].tokens_count += count_tokens;
					}
				}
				else{
					listAddrTempHolders.push(holder);
					uint256 end_date = oldSmartToken.tempTokensPeriodOf(holder);
					_temp_balance[holder] = tempHolderData(count_tokens, now, end_date, true);
				}

				_supply += count_tokens;

				if (limit - 1 == 0) break;
				limit--;
			}
			countHoldersTempTransferredFromOldContract = i;
		}
	}


	function changeDeveloper(address new_developer) isDeveloper
	{
		if(new_developer == address(0x0)) throw;
		developer = new_developer;
	}

	function changeManager(address new_manager) isManager external
	{
		if(new_manager == address(0x0)) throw;
		manager = new_manager;
	}

	function changeMaxValueBetForEmission(uint256 new_value) isManager external
	{
		if(new_value == 0) throw;
		max_value_bet = new_value;
	}

	function changeMaxCoefPlayerForEmission(uint256 new_value) isManager external
	{
		if(new_value > 1000) throw;
		max_coef_player = new_value;
	}

	function changeMaxCoefPartnerForEmission(uint256 new_value) isManager external
	{
		if(new_value > 1000) throw;
		max_coef_partner = new_value;
	}

	function changeDividentContract(address new_contract) isManager external
	{
		if(new_contract!=address(0x0)) throw;
		divident_contract = new_contract;
	}

	function newCostToken(uint256 new_cost)	isManager external
	{
		if(new_cost == 0) throw;
		costOfOneToken = new_cost;
	}

	function getCostToken() external constant returns(uint256)
	{
		return costOfOneToken;
	}

	function addNewGame(address new_game) isManager external
	{
		if(new_game == address(0x0)) throw;
		listGames[new_game] = gamesData(true);
		addrGames.push(new_game);
	}

	function deleteGame(address game) isManager external
	{
		if(game == address(0x0)) throw;
		if(listGames[game].init){
			listGames[game].init = false;
		}
	}

	function addUserToList(address user) internal {
		if(!_balances[user].init){
			listAddrHolders.push(user);
		}
	}

    function getListAddressHolders() constant returns(address[]){
        return listAddrHolders;
    }

    function getCountHolders() external constant returns(uint256){
        return listAddrHolders.length;
    }

    function getItemHolders(uint256 index) external constant returns(address){
        if(index >= listAddrHolders.length) return address(0x0);
        else return listAddrHolders[index];
    }

	function gameListOf( address who ) external constant returns (bool value) {
		gamesData game_data = listGames[who];
		return game_data.init;
	}

	//------------------------------------
	// Tokens Functions
	//------------------------------------
	event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    function stopOperation() isManager external {
		stop_operation = true;
	}

	function startOperation() isManager external {
		stop_operation = false;
	}

	function isOperationBlocked() external constant returns (bool){
		return stop_operation;
	}

	function isOperationAllowed() external constant returns (bool){
		return !stop_operation;
	}

	function runICO() isManager external {
		enableICO = true;
		stop_operation = true;
	}

	function stopICO() isManager external {
		enableICO = false;
		stop_operation = false;
	}

	function infoICO() constant returns (bool){
		return enableICO;
	}

	function totalSupply() external constant returns (uint256 supply) {
		return _supply;
	}

	function initCountTokens() external constant returns (uint256 init_count) {
		return _init_count_tokens;
	}

	/**
    *  balanceOf() - constant function check concrete tokens balance
    *
    *  @param who - account owner
    *
    *  @return the value of balance
    */
	function balanceOf( address who ) external constant returns (uint256 value) {
		return _balances[who].tokens_count;
	}

	/**
    *
    * allowance() - constant function to check how much is
    *               permitted to spend to 3rd person from owner balance
    *
    *  @param owner   - owner of the balance
    *  @param spender - permitted to spend from this balance person
    *
    *  @return - remaining right to spend
    *
    */
	function allowance(address owner, address spender) constant returns (uint256 _allowance) {
		return _approvals[owner][spender];
	}


	function safeToAdd(uint256 a, uint256 b) internal returns (bool) {
		// overflow check
		return (a + b >= a && a + b >= b);
	}

	/**
    * transfer() - transfer tokens from msg.sender balance
    *              to requested account
    *
    *  @param to    - target address to transfer tokens
    *  @param value - ammount of tokens to transfer
    *
    *  @return - success / failure of the transaction
    */
	function transfer( address to, uint256 value) returns (bool ok) {
		if(this.isOperationBlocked()) throw;

		if( _balances[msg.sender].tokens_count < value ) {
		    throw;
		}
		if( !safeToAdd(_balances[to].tokens_count, value) ) {
		    throw;
		}

		_balances[msg.sender].tokens_count -= value;
		if(_balances[to].init){
			_balances[to].tokens_count += value;
		}
		else{
			addUserToList(to);
			_balances[to] = holderData(value, true);
		}

		Transfer( msg.sender, to, value );
		return true;
	}

	/**
    * transferFrom() - used to move allowed funds from other owner
    *                  account
    *
    *  @param from  - move funds from account
    *  @param to    - move funds to account
    *  @param value - move the value
    *
    *  @return - return true on success false otherwise
    */
	function transferFrom( address from, address to, uint256 value) returns (bool ok) 
	{
		if(this.isOperationBlocked()) throw;

		if( _balances[from].tokens_count < value ) {
		    throw;
		}
		
		if( _approvals[from][msg.sender] < value ) {
		    throw;
		}
		if( !safeToAdd(_balances[to].tokens_count, value) ) {
		    throw;
		}
		// transfer and return true
		_approvals[from][msg.sender] -= value;
		_balances[from].tokens_count -= value;
		if(_balances[to].init){
			_balances[to].tokens_count += value;
		}
		else{
			addUserToList(to);
			_balances[to] = holderData(value, true);
		}		
		
		Transfer( from, to, value );
		return true;
	}

	/**
     *
     * approve() - function approves to a person to spend some tokens from
     *           owner balance.
     *
     *  @param spender - person whom this right been granted.
     *  @param value   - value to spend.
     *
     *  @return true in case of success, otherwise failure
     *
     */
	function approve(address spender, uint256 value) returns (bool ok) 
	{
		if(this.isOperationBlocked()) throw;

		_approvals[msg.sender][spender] = value;
		Approval( msg.sender, spender, value );
		return true;
	}

	event Emission(address indexed to, uint256 value, uint256 bet, uint256 coef, uint256 decimals, uint256 cost_token);

	/**
    *
    *  emission() - emission of tokens initiated by the game contract.
    *
    *  @param player       - player's address.
    *  @param partner      - affiliate's address.
    *  @param value_bet    - player's bet value.
    *  @param coef_player  - player's coefficient emission.
    *  @param coef_partner - affiliate's coefficient emission.
    *
    *  @return (true, 0) in case of success, otherwise (False, error_code)
    *
    *
    *  Error code 1 - operation stoped
    *  Error code 2 - sender address is not in games list
    *  Error code 3 - incorrect player's address
    *  Error code 4 - incorrect value bet
    *  Error code 5 - incorrect emission coefficient
    */
	function emission(address player, address partner, uint256 value_bet, uint256 coef_player, uint256 coef_partner) external returns(uint256, uint8) {
        if(this.isOperationBlocked()) return (0, 1);

        if(listGames[msg.sender].init == false) return (0, 2);
        if(player == address(0x0)) return (0, 3);
        if(value_bet == 0 || value_bet > max_value_bet) return (0, 4);
        if(coef_player > max_coef_player || coef_partner > max_coef_partner) return (0, 5);

		uint256 decimals_token = 10**uint256(decimals);

		uint256 player_token = ((value_bet*coef_player*decimals_token)/10000)/costOfOneToken;
		if(_balances[player].init){
			_balances[player].tokens_count += player_token;
		}
		else{
			addUserToList(player);
			_balances[player] = holderData(player_token, true);
		}
		Emission(player, player_token, value_bet, coef_player, decimals_token, costOfOneToken);

		uint256 partner_token = 0;
		if(partner != address(0x0)){
			partner_token = ((value_bet*coef_partner*decimals_token)/10000)/costOfOneToken;
			if(_balances[partner].init){
				_balances[partner].tokens_count += partner_token;
			}
			else{
				addUserToList(partner);
				_balances[partner] = holderData(partner_token, true);
			}
			Emission(partner, partner_token, value_bet, coef_partner, decimals_token, costOfOneToken);
		}

		_supply += (player_token+partner_token);

		return (player_token, 0);
	}

	//------------------------------------
	// Temporary Tokens
	//------------------------------------
	address[] listAddrTempHolders;
	event TempTokensSend(address indexed recipient, uint256 count, uint256 start, uint256 end);

	/**
     *
     *  sendTempTokens() - sending temporary tokens to address.
     *
     *  @param recipient - recipient's address.
     *  @param count     - temporary tokens amount.
     *  @param period    - period of possession of the tokens in seconds.
     *
     */
	function sendTempTokens(address recipient, uint256 count, uint256 period) isDeveloper {
		if(this.isOperationBlocked()) throw;

		if(count==0 || period==0) throw;
		
		uint256 decimals_token = 10**uint256(decimals);
		count = count*decimals_token;

		if(_balances[fond_wallet].tokens_count < count) throw;
		if(_temp_balance[recipient].tokens_count > 0) throw;

		if(!_temp_balance[recipient].init){
			_temp_balance[recipient] = tempHolderData(count, now, now + period, true);
			listAddrTempHolders.push(recipient);
		}
		else{
			_temp_balance[recipient].tokens_count = count;
			_temp_balance[recipient].start_date = now;
			_temp_balance[recipient].end_date = now + period;
		}
		_balances[fond_wallet].tokens_count -= count;
		TempTokensSend(recipient, count, _temp_balance[recipient].start_date, _temp_balance[recipient].end_date);
	}

	function tempTokensBalanceOf( address who ) external constant returns (uint256) {
		if(_temp_balance[who].end_date < now) return 0;
		else return _temp_balance[who].tokens_count;
	}

	function tempTokensPeriodOf( address who ) external constant returns (uint256) {
		if(_temp_balance[who].end_date < now) return 0;
		else return _temp_balance[who].end_date;
	}

	/**
     *
     *  returnTempTokens() - return of temporary tokens after the expiration of possession time.
     *
     *  @param recipient - temporary token holder address.
     *
     */
	function returnTempTokens(address recipient) isDeveloper {
		if(this.isOperationBlocked()) throw;
		
		if(_temp_balance[recipient].tokens_count == 0) throw;

		_balances[fond_wallet].tokens_count += _temp_balance[recipient].tokens_count;
		_temp_balance[recipient].tokens_count = 0;
		_temp_balance[recipient].start_date = 0;
		_temp_balance[recipient].end_date = 0;
	}

	function getListTempHolders() constant returns(address[]){
		return listAddrTempHolders;
	}

	function getCountTempHolders() external constant returns(uint256){
		return listAddrTempHolders.length;
	}

	function getItemTempHolders(uint256 index) external constant returns(address){
		if(index >= listAddrTempHolders.length) return address(0x0);
		else return listAddrTempHolders[index];
	}

	//------------------------------------
	// Invest Functions
	//------------------------------------

	function() payable
	{	
		if(this.isOperationBlocked()) throw;
		if(msg.sender == developer) throw;
		if(msg.sender == manager) throw;
		if(msg.sender == developer_wallet) throw;
		if(msg.sender == wallet_ICO) throw;
		if(msg.sender == fond_wallet) throw;

		if(listGames[msg.sender].init) throw;

		if(enableICO == false) throw;
			
		if(msg.value < min_value_buyToken) throw;
		
		uint256 value_send = msg.value;
		if(value_send > max_value_buyToken){
			value_send = max_value_buyToken;
			if(msg.sender.send(msg.value-max_value_buyToken)==false) throw;
		}

		uint256 decimals_token = 10**uint256(decimals);
		
		uint256 count_tokens = (value_send*decimals_token)/costOfOneToken;
		
		if(count_tokens >_balances[wallet_ICO].tokens_count ){
			count_tokens = _balances[wallet_ICO].tokens_count;
		}
		if(value_send > (count_tokens*costOfOneToken)/decimals_token){				
			if(msg.sender.send(value_send-((count_tokens*costOfOneToken)/decimals_token))==false) throw;
			value_send = (count_tokens*costOfOneToken)/decimals_token;
		}

		if(!_balances[msg.sender].init){
			if (_balances[wallet_ICO].tokens_count < count_tokens) throw;
			addUserToList(msg.sender);
			_balances[wallet_ICO].tokens_count -= count_tokens;
			_balances[msg.sender] = holderData(count_tokens, true);
		}
		else{
			if(((_balances[msg.sender].tokens_count*costOfOneToken)/decimals_token)+((count_tokens*costOfOneToken)/decimals_token)>max_value_buyToken) {
				count_tokens = ((max_value_buyToken*decimals_token)/costOfOneToken)-_balances[msg.sender].tokens_count;					
				if(msg.sender.send(value_send-((count_tokens*costOfOneToken)/decimals_token))==false) throw;
				value_send = (count_tokens*costOfOneToken)/decimals_token;
			}

			if (_balances[wallet_ICO].tokens_count < count_tokens) throw;
			_balances[wallet_ICO].tokens_count -= count_tokens;
			_balances[msg.sender].tokens_count += count_tokens;
		}

		if(value_send>0){
			if(wallet_ICO.send(value_send)==false) throw;
		}

		if(count_tokens>0){
			TokenBuy(msg.sender, count_tokens);
		}

		if(_balances[wallet_ICO].tokens_count == 0){
			enableICO = false;
		}
	}
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"tempTokensBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getListAddressHolders","outputs":[{"name":"","type":"address[]"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"player","type":"address"},{"name":"partner","type":"address"},{"name":"value_bet","type":"uint256"},{"name":"coef_player","type":"uint256"},{"name":"coef_partner","type":"uint256"}],"name":"emission","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"},{"name":"count","type":"uint256"},{"name":"period","type":"uint256"}],"name":"sendTempTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isOperationBlocked","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"tempTokensPeriodOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"IsTransferFromOldContractDone","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"new_developer","type":"address"}],"name":"changeDeveloper","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCountHolders","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"new_value","type":"uint256"}],"name":"changeMaxValueBetForEmission","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"infoICO","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"IsTransferTempFromOldContractDone","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"new_cost","type":"uint256"}],"name":"newCostToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"value","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"new_contract","type":"address"}],"name":"changeDividentContract","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"game","type":"address"}],"name":"deleteGame","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getItemTempHolders","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"costOfOneToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"}],"name":"returnTempTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"new_manager","type":"address"}],"name":"changeManager","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isOperationAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"stopOperation","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"limit","type":"uint256"}],"name":"restoreAllPersistentTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"new_value","type":"uint256"}],"name":"changeMaxCoefPlayerForEmission","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"runICO","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"stopICO","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getItemHolders","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"startOperation","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"limit","type":"uint256"}],"name":"restoreAllTempTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCountTempHolders","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"_allowance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getCostToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"new_value","type":"uint256"}],"name":"changeMaxCoefPartnerForEmission","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"gameListOf","outputs":[{"name":"value","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"initCountTokens","outputs":[{"name":"init_count","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getListTempHolders","outputs":[{"name":"","type":"address[]"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"new_game","type":"address"}],"name":"addNewGame","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"amountOfTokens","type":"uint256"}],"name":"TokenBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"bet","type":"uint256"},{"indexed":false,"name":"coef","type":"uint256"},{"indexed":false,"name":"decimals","type":"uint256"},{"indexed":false,"name":"cost_token","type":"uint256"}],"name":"Emission","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"recipient","type":"address"},{"indexed":false,"name":"count","type":"uint256"},{"indexed":false,"name":"start","type":"uint256"},{"indexed":false,"name":"end","type":"uint256"}],"name":"TempTokensSend","type":"event"}]

60a0604052600560608190527f45524332300000000000000000000000000000000000000000000000000000006080908152600080548180527f455243323000000000000000000000000000000000000000000000000000000a825590927f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563602060026001851615610100026000190190941693909304601f0192909204820192909190620000d9565b82800160010185558215620000d9579182015b82811115620000d9578251825591602001919060010190620000bc565b5b50620000fd9291505b80821115620000f95760008155600101620000e3565b5090565b505060118054600160a060020a03191690553462000000575b67016345785d8a0000600a5560108054600160a060020a0319908116738521e1f9220a251de0ab78f6a2e8754ca9e7524217909155600c80548216732dff87f8892d65f7a97b1287e795405098ae7b7f179055600f8054909116733501dd2b515edc1920f9007782da5ac01892250217905560408051808201909152600e8082527f526f756c6574746520546f6b656e0000000000000000000000000000000000006020928301908152600180546000829052825160ff1916601c1782559093601f60026000198488161561010002019093169290920491909101047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf690810192916200024e565b828001600101855582156200024e579182015b828111156200024e57825182559160200191906001019062000231565b5b50620002729291505b80821115620000f95760008155600101620000e3565b5090565b50506040805180820190915260038082527f524c54000000000000000000000000000000000000000000000000000000000060209283019081526002805460008290528251600660ff1990911617825590937f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace60018316156101000260001901909216859004601f01048101929162000336565b8280016001018555821562000336579182015b828111156200033657825182559160200191906001019062000319565b5b506200035a9291505b80821115620000f95760008155600101620000e3565b5090565b50506003805460ff19908116600a179091556605543df729c000600b55672386f26fc100000060125561012c601355603260145560158054600160a060020a033316600160a060020a03199182168117909255601680548216909217909155600c805460a060020a60ff0219169055670214e8348c4f0000600d55681b1ae4d6e2ef500000600e556008805490921690915560198054909116732a650356bd894370cc1d6aba71b36c0ad6b3dc181790556000601a819055601b555b5b612c0780620004276000396000f300606060405236156102095763ffffffff60e060020a600035041663067eeeac81146106eb57806306fdde031461071657806307eb752e146107a3578063095ea7b31461080b5780630f762cfe1461083b578063159b4e911461087e57806315cff5461461089f57806318160ddd146108c05780631b2051f6146108df57806323b872dd1461090a5780632a6389dc1461094057806331119b4d14610961578063313ce5671461097c57806334a4a5271461099f5780633e675cb0146109be57806344d02c2a146109d05780634513a7f4146109f15780635a3b7e4214610a12578063662da45914610a9f57806370a0823114610ab15780637dd2899f14610adc5780638406ab8214610af757806394cfb3d814610b1257806395d89b4114610b3e5780639d8a021214610bcb578063a09d4ae414610bea578063a3fbbaae14610c05578063a9059cbb14610c20578063ae26373014610c50578063b812138514610c71578063b9f7d24214610c80578063bfafb91c14610c92578063c3d58d9514610ca4578063c8e569a814610cb3578063cbea441214610cc2578063d5afd6bc14610cee578063d84acf2014610cfd578063dc787bba14610d0f578063dd62ed3e14610d2e578063e1f4895a14610d5f578063e257699814610d7e578063e77f990614610d90578063ec0b420714610dbd578063eda23f2014610ddc578063f2b8551514610e44575b6106e95b60006000600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515115905061027257610000565b60155433600160a060020a039081169116141561028e57610000565b60165433600160a060020a03908116911614156102aa57610000565b60105433600160a060020a03908116911614156102c657610000565b600c5433600160a060020a03908116911614156102e257610000565b600f5433600160a060020a03908116911614156102fe57610000565b600160a060020a03331660009081526017602052604090205460ff161561032457610000565b600c5460a060020a900460ff16151561033c57610000565b600d5434101561034b57610000565b349250600e5483111561039157600e54604051909350600160a060020a033316903485900380156108fc02916000818181858888f1151593506103919250505057610000565b5b600354600b5460ff909116600a0a9250838302811561000057600c54600160a060020a031660009081526005602052604090205491900491508111156103ef5750600c54600160a060020a03166000908152600560205260409020545b81600b548202811561000057048311156104555733600160a060020a03166108fc83600b5484028115610000576040519190048603801590920291906000818181858888f1151593506104459250505057610000565b81600b5482028115610000570492505b600160a060020a03331660009081526005602052604090206001015460ff16151561050c57600c54600160a060020a0316600090815260056020526040902054819010156104a257610000565b6104ab33610e5f565b600c54600160a060020a03908116600090815260056020818152604080842080548790039055805180820182528681526001818401818152339097168652939092529092209151825591519101805460ff1916911515919091179055610624565b600e5482600b548302811561000057600b54600160a060020a0333166000908152600560205260409020549290910491859102811561000057040111156105ca57600160a060020a033316600090815260056020526040902054600b54600e5484028115610000570403905033600160a060020a03166108fc83600b5484028115610000576040519190048603801590920291906000818181858888f1151593506105ba9250505057610000565b81600b5482028115610000570492505b600c54600160a060020a0316600090815260056020526040902054819010156105f257610000565b600c54600160a060020a0390811660009081526005602052604080822080548590039055339092168152208054820190555b600083111561066257600c54604051600160a060020a039091169084156108fc029085906000818181858888f1151593506106629250505057610000565b5b60008111156106b15760408051600160a060020a03331681526020810183905281517f0c031f45b18305561115944c48c15b7aef3fdfe9182afbf6b01c249542ec6a11929181900390910190a15b600c54600160a060020a031660009081526005602052604090205415156106e357600c805460a060020a60ff02191690555b5b505050565b005b3461000057610704600160a060020a0360043516610efc565b60408051918252519081900360200190f35b3461000057610723610f49565b604080516020808252835181830152835191928392908301918501908083838215610769575b80518252602083111561076957601f199092019160209182019101610749565b505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576107b0610fd6565b60408051602080825283518183015283519192839290830191858101910280838382156107f8575b8051825260208311156107f857601f1990920191602091820191016107d8565b5050509050019250505060405180910390f35b3461000057610827600160a060020a0360043516602435611041565b604080519115158252519081900360200190f35b3461000057610863600160a060020a0360043581169060243516604435606435608435611109565b6040805192835260ff90911660208301528051918290030190f35b34610000576106e9600160a060020a036004351660243560443561145c565b005b3461000057610827611703565b604080519115158252519081900360200190f35b346100005761070461170d565b60408051918252519081900360200190f35b3461000057610704600160a060020a0360043516611714565b60408051918252519081900360200190f35b3461000057610827600160a060020a0360043581169060243516604435611768565b604080519115158252519081900360200190f35b3461000057610827611969565b604080519115158252519081900360200190f35b34610000576106e9600160a060020a03600435166119ce565b005b3461000057610989611a1e565b6040805160ff9092168252519081900360200190f35b3461000057610704611a27565b60408051918252519081900360200190f35b34610000576106e9600435611a2e565b005b3461000057610827611a5f565b604080519115158252519081900360200190f35b3461000057610827611a70565b604080519115158252519081900360200190f35b3461000057610723611ad5565b604080516020808252835181830152835191928392908301918501908083838215610769575b80518252602083111561076957601f199092019160209182019101610749565b505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576106e9600435611b63565b005b3461000057610704600160a060020a0360043516611b94565b60408051918252519081900360200190f35b34610000576106e9600160a060020a0360043516611bb3565b005b34610000576106e9600160a060020a0360043516611c02565b005b3461000057610b22600435611c79565b60408051600160a060020a039092168252519081900360200190f35b3461000057610723611cc6565b604080516020808252835181830152835191928392908301918501908083838215610769575b80518252602083111561076957601f199092019160209182019101610749565b505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610704611d51565b60408051918252519081900360200190f35b34610000576106e9600160a060020a0360043516611d57565b005b34610000576106e9600160a060020a0360043516611e45565b005b3461000057610827600160a060020a0360043516602435611e95565b604080519115158252519081900360200190f35b3461000057610827612043565b604080519115158252519081900360200190f35b34610000576106e961204e565b005b34610000576106e960043561207a565b005b34610000576106e960043561240c565b005b34610000576106e9612440565b005b34610000576106e9612482565b005b3461000057610b226004356124bb565b60408051600160a060020a039092168252519081900360200190f35b34610000576106e9612508565b005b34610000576106e9600435612531565b005b34610000576107046129d7565b60408051918252519081900360200190f35b3461000057610704600160a060020a03600435811690602435166129de565b60408051918252519081900360200190f35b3461000057610704612a0b565b60408051918252519081900360200190f35b34610000576106e9600435612a12565b005b3461000057610827600160a060020a0360043516612a46565b604080519115158252519081900360200190f35b3461000057610704612a6b565b60408051918252519081900360200190f35b34610000576107b0612a72565b60408051602080825283518183015283519192839290830191858101910280838382156107f8575b8051825260208311156107f857601f1990920191602091820191016107d8565b5050509050019250505060405180910390f35b34610000576106e9600160a060020a0360043516612add565b005b600160a060020a03811660009081526005602052604090206001015460ff161515610ef85760048054806001018281815481835581811511610ec657600083815260209020610ec69181019083015b80821115610ec25760008155600101610eae565b5090565b5b505050916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b600160a060020a03811660009081526006602052604081206002015442901015610f2857506000610f43565b50600160a060020a0381166000908152600660205260409020545b5b919050565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fce5780601f10610fa357610100808354040283529160200191610fce565b820191906000526020600020905b815481529060010190602001808311610fb157829003601f168201915b505050505081565b60408051602081810183526000825260048054845181840281018401909552808552929392909183018282801561103657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611018575b505050505090505b90565b600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051511590506110a257610000565b600160a060020a03338116600081815260076020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b6000600060006000600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515115905061117a57600094506001935061144f565b600160a060020a03331660009081526017602052604090205460ff1615156111a957600094506002935061144f565b600160a060020a038a1615156111c657600094506003935061144f565b8715806111d4575060125488115b156111e657600094506004935061144f565b6013548711806111f7575060145486115b1561120957600094506005935061144f565b600354600b5460ff909116600a0a9350612710898902850204811561000057600160a060020a038c16600090815260056020526040902060010154919004925060ff161561127457600160a060020a038a1660009081526005602052604090208054830190556112c2565b61127d8a610e5f565b60408051808201825283815260016020808301828152600160a060020a038f16600090815260059092529390209151825591519101805460ff19169115159190911790555b600b5460408051848152602081018b90528082018a905260608101869052608081019290925251600160a060020a038c16917f7d19c7776f05049226f581a23a4df896c65115763d8ec30490658efc4e8649cd919081900360a00190a2506000600160a060020a0389161561143b57600b54612710898802850204811561000057600160a060020a038b16600090815260056020526040902060010154919004915060ff161561138f57600160a060020a03891660009081526005602052604090208054820190556113dd565b61139889610e5f565b60408051808201825282815260016020808301828152600160a060020a038e16600090815260059092529390209151825591519101805460ff19169115159190911790555b600b5460408051838152602081018b905280820189905260608101869052608081019290925251600160a060020a038b16917f7d19c7776f05049226f581a23a4df896c65115763d8ec30490658efc4e8649cd919081900360a00190a25b600980548383010190559093506000925083905b5050509550959350505050565b60155460009033600160a060020a0390811691161461147a57610000565b30600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051511590506114d957610000565b8215806114e4575081155b156114ee57610000565b50600354600f54600160a060020a031660009081526005602052604090205460ff909116600a0a92830292908390101561152757610000565b600160a060020a038416600090815260066020526040812054111561154b57610000565b600160a060020a03841660009081526006602052604090206003015460ff1615156116515760408051608081018252848152426020808301828152918601838501908152600160608501818152600160a060020a038b166000908152600690945295909220935184559151838201559051600283015591516003909101805460ff1916911515919091179055601c8054918201808255909190828183801582901161161b5760008381526020902061161b9181019083015b80821115610ec25760008155600101610eae565b5090565b5b505050916000526020600020900160005b8154600160a060020a038089166101009390930a928302920219161790555061167d565b600160a060020a0384166000908152600660205260409020838155426001820181905583016002909101555b600f54600160a060020a039081166000908152600560209081526040808320805488900390559287168083526006825291839020600181015460029091015484518881529283019190915281840152915190917fe618f558755e452b06d0601df03415708e328cfe09b29d8a3dc9f52867762cd5919081900360600190a25b5b50505050565b60085460ff165b90565b6009545b90565b600160a060020a0381166000908152600660205260408120600201544290101561174057506000610f43565b50600160a060020a038116600090815260066020526040902060020154610f43565b5b919050565b600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051511590506117c957610000565b600160a060020a038416600090815260056020526040902054829010156117ef57610000565b600160a060020a03808516600090815260076020908152604080832033909416835292905220548290101561182357610000565b600160a060020a0383166000908152600560205260409020546118469083612bbc565b151561185157610000565b600160a060020a03808516600081815260076020908152604080832033861684528252808320805488900390559282526005905281812080548690039055918516825290206001015460ff16156118c557600160a060020a0383166000908152600560205260409020805483019055611913565b6118ce83610e5f565b60408051808201825283815260016020808301828152600160a060020a038816600090815260059092529390209151825591519101805460ff19169115159190911790555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060015b9392505050565b6019546040805160006020918201819052825160e060020a6334a4a52702815292519093600160a060020a0316926334a4a52792600480830193919282900301818787803b156100005760325a03f11561000057505060405151601a54149150505b90565b60155433600160a060020a039081169116146119e957610000565b600160a060020a03811615156119fe57610000565b60158054600160a060020a031916600160a060020a0383161790555b5b50565b60035460ff1681565b6004545b90565b60165433600160a060020a03908116911614611a4957610000565b801515611a5557610000565b60128190555b5b50565b600c5460a060020a900460ff165b90565b6019546040805160006020918201819052825160e160020a636e3c3ddd02815292519093600160a060020a03169263dc787bba92600480830193919282900301818787803b156100005760325a03f11561000057505060405151601b54149150505b90565b6000805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fce5780601f10610fa357610100808354040283529160200191610fce565b820191906000526020600020905b815481529060010190602001808311610fb157829003601f168201915b505050505081565b60165433600160a060020a03908116911614611b7e57610000565b801515611b8a57610000565b600b8190555b5b50565b600160a060020a0381166000908152600560205260409020545b919050565b60165433600160a060020a03908116911614611bce57610000565b600160a060020a03811615611be257610000565b60118054600160a060020a031916600160a060020a0383161790555b5b50565b60165433600160a060020a03908116911614611c1d57610000565b600160a060020a0381161515611c3257610000565b600160a060020a03811660009081526017602052604090205460ff1615610ef857600160a060020a0381166000908152601760205260409020805460ff191690555b5b5b50565b601c546000908210611c8d57506000610f43565b601c82815481101561000057906000526020600020900160005b9054906101000a9004600160a060020a03169050610f43565b5b919050565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610fce5780601f10610fa357610100808354040283529160200191610fce565b820191906000526020600020905b815481529060010190602001808311610fb157829003601f168201915b505050505081565b600b5481565b60155433600160a060020a03908116911614611d7257610000565b30600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151159050611dd157610000565b600160a060020a0381166000908152600660205260409020541515611df557610000565b600160a060020a0380821660008181526006602081815260408084208054600f549097168552600583529084208054909601909555928252909152808255600182018190556002909101555b5b50565b60165433600160a060020a03908116911614611e6057610000565b600160a060020a0381161515611e7557610000565b60168054600160a060020a031916600160a060020a0383161790555b5b50565b600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151159050611ef657610000565b600160a060020a03331660009081526005602052604090205482901015611f1c57610000565b600160a060020a038316600090815260056020526040902054611f3f9083612bbc565b1515611f4a57610000565b600160a060020a03338116600090815260056020526040808220805486900390559185168152206001015460ff1615611fa057600160a060020a0383166000908152600560205260409020805483019055611fee565b611fa983610e5f565b60408051808201825283815260016020808301828152600160a060020a038816600090815260059092529390209151825591519101805460ff19169115159190911790555b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060015b92915050565b60085460ff16155b90565b60165433600160a060020a0390811691161461206957610000565b6008805460ff191660011790555b5b565b6000600060006000601960009054906101000a9004600160a060020a0316600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515190508015612149575030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515190505b15612404576019546040805160006020918201819052825160e060020a6334a4a5270281529251600160a060020a03909416936334a4a5279360048082019493918390030190829087803b156100005760325a03f11561000057505060405151601a549095509350505b838310156123fe57601954604080516000602091820181905282517fcbea4412000000000000000000000000000000000000000000000000000000008152600481018890529251600160a060020a039094169363cbea44129360248082019493918390030190829087803b156100005760325a03f1156100005750506040805180516019546000602093840181905284517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a03808516600483015295519398509490911694506370a08231936024808201949392918390030190829087803b156100005760325a03f11561000057505060405151915050600160a060020a038216732a650356bd894370cc1d6aba71b36c0ad6b3dc18141561238557600f54600160a060020a031660009081526005602052604090206001015460ff16151561235f57600f5461231490600160a060020a0316610e5f565b60408051808201825282815260016020808301828152600f54600160a060020a0316600090815260059092529390209151825591519101805460ff1916911515919091179055612380565b600f54600160a060020a031660009081526005602052604090208054820190555b6123d3565b61238e82610e5f565b60408051808201825282815260016020808301828152600160a060020a038716600090815260059092529390209151825591519101805460ff19169115159190911790555b6009805482019055600019850115156123eb576123fe565b600019909401935b6001909201916121b3565b601a8390555b5b5050505050565b60165433600160a060020a0390811691161461242757610000565b6103e881111561243657610000565b60138190555b5b50565b60165433600160a060020a0390811691161461245b57610000565b600c805460a060020a60ff02191660a060020a1790556008805460ff191660011790555b5b565b60165433600160a060020a0390811691161461249d57610000565b600c805460a060020a60ff02191690556008805460ff191690555b5b565b60045460009082106124cf57506000610f43565b600482815481101561000057906000526020600020900160005b9054906101000a9004600160a060020a03169050610f43565b5b919050565b60165433600160a060020a0390811691161461252357610000565b6008805460ff191690555b5b565b60006000600060006000601960009054906101000a9004600160a060020a0316600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515190508015612602575030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515190505b156129ce576019546040805160006020918201819052825160e160020a636e3c3ddd0281529251600160a060020a039094169363dc787bba9360048082019493918390030190829087803b156100005760325a03f11561000057505060405151601b549096509450505b848410156129c857601954604080516000602091820181905282517f94cfb3d8000000000000000000000000000000000000000000000000000000008152600481018990529251600160a060020a03909416936394cfb3d89360248082019493918390030190829087803b156100005760325a03f1156100005750506040805180516019546000602093840181905284517f067eeeac000000000000000000000000000000000000000000000000000000008152600160a060020a038085166004830152955193995094909116945063067eeeac936024808201949392918390030190829087803b156100005760325a03f11561000057505060405151925050600160a060020a038316732a650356bd894370cc1d6aba71b36c0ad6b3dc18141561283a57600f54600160a060020a031660009081526005602052604090206001015460ff1615156128145760408051808201825283815260016020808301828152600f8054600160a060020a039081166000908152600590945295909220935184555192909101805460ff1916921515929092179091555461280f9116610e5f565b612835565b600f54600160a060020a031660009081526005602052604090208054830190555b61299d565b601c805480600101828181548183558181151161287c5760008381526020902061287c9181019083015b80821115610ec25760008155600101610eae565b5090565b5b505050916000526020600020900160005b85909190916101000a815481600160a060020a030219169083600160a060020a0316021790555050601960009054906101000a9004600160a060020a0316600160a060020a0316631b2051f6846000604051602001526040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b156100005760325a03f115610000575050604080518051608082018352858252426020808401918252838501838152600160608601818152600160a060020a038c1660009081526006909452969092209451855591519084015551600283015591516003909101805460ff19169115159190911790559150505b6009805483019055600019860115156129b5576129c8565b600019909501945b60019093019261266c565b601b8490555b5b505050505050565b601c545b90565b600160a060020a038083166000908152600760209081526040808320938516835292905220545b92915050565b600b545b90565b60165433600160a060020a03908116911614612a2d57610000565b6103e8811115612a3c57610000565b60148190555b5b50565b600160a060020a0381166000908152601760205260409020805460ff16905b50919050565b600a545b90565b604080516020818101835260008252601c8054845181840281018401909552808552929392909183018282801561103657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611018575b505050505090505b90565b60165433600160a060020a03908116911614612af857610000565b600160a060020a0381161515612b0d57610000565b60408051602080820183526001808352600160a060020a038516600090815260179092529290209051815460ff1916901515179055601880549182018082559091908281838015829011610ec657600083815260209020610ec69181019083015b80821115610ec25760008155600101610eae565b5090565b5b505050916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b60008282840110158015612bd257508182840110155b90505b929150505600a165627a7a72305820f447564ef5a20e883bf5c5519d2567087097c1daab1c4ecd501e250a6889ea640029

Deployed Bytecode

0x606060405236156102095763ffffffff60e060020a600035041663067eeeac81146106eb57806306fdde031461071657806307eb752e146107a3578063095ea7b31461080b5780630f762cfe1461083b578063159b4e911461087e57806315cff5461461089f57806318160ddd146108c05780631b2051f6146108df57806323b872dd1461090a5780632a6389dc1461094057806331119b4d14610961578063313ce5671461097c57806334a4a5271461099f5780633e675cb0146109be57806344d02c2a146109d05780634513a7f4146109f15780635a3b7e4214610a12578063662da45914610a9f57806370a0823114610ab15780637dd2899f14610adc5780638406ab8214610af757806394cfb3d814610b1257806395d89b4114610b3e5780639d8a021214610bcb578063a09d4ae414610bea578063a3fbbaae14610c05578063a9059cbb14610c20578063ae26373014610c50578063b812138514610c71578063b9f7d24214610c80578063bfafb91c14610c92578063c3d58d9514610ca4578063c8e569a814610cb3578063cbea441214610cc2578063d5afd6bc14610cee578063d84acf2014610cfd578063dc787bba14610d0f578063dd62ed3e14610d2e578063e1f4895a14610d5f578063e257699814610d7e578063e77f990614610d90578063ec0b420714610dbd578063eda23f2014610ddc578063f2b8551514610e44575b6106e95b60006000600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515115905061027257610000565b60155433600160a060020a039081169116141561028e57610000565b60165433600160a060020a03908116911614156102aa57610000565b60105433600160a060020a03908116911614156102c657610000565b600c5433600160a060020a03908116911614156102e257610000565b600f5433600160a060020a03908116911614156102fe57610000565b600160a060020a03331660009081526017602052604090205460ff161561032457610000565b600c5460a060020a900460ff16151561033c57610000565b600d5434101561034b57610000565b349250600e5483111561039157600e54604051909350600160a060020a033316903485900380156108fc02916000818181858888f1151593506103919250505057610000565b5b600354600b5460ff909116600a0a9250838302811561000057600c54600160a060020a031660009081526005602052604090205491900491508111156103ef5750600c54600160a060020a03166000908152600560205260409020545b81600b548202811561000057048311156104555733600160a060020a03166108fc83600b5484028115610000576040519190048603801590920291906000818181858888f1151593506104459250505057610000565b81600b5482028115610000570492505b600160a060020a03331660009081526005602052604090206001015460ff16151561050c57600c54600160a060020a0316600090815260056020526040902054819010156104a257610000565b6104ab33610e5f565b600c54600160a060020a03908116600090815260056020818152604080842080548790039055805180820182528681526001818401818152339097168652939092529092209151825591519101805460ff1916911515919091179055610624565b600e5482600b548302811561000057600b54600160a060020a0333166000908152600560205260409020549290910491859102811561000057040111156105ca57600160a060020a033316600090815260056020526040902054600b54600e5484028115610000570403905033600160a060020a03166108fc83600b5484028115610000576040519190048603801590920291906000818181858888f1151593506105ba9250505057610000565b81600b5482028115610000570492505b600c54600160a060020a0316600090815260056020526040902054819010156105f257610000565b600c54600160a060020a0390811660009081526005602052604080822080548590039055339092168152208054820190555b600083111561066257600c54604051600160a060020a039091169084156108fc029085906000818181858888f1151593506106629250505057610000565b5b60008111156106b15760408051600160a060020a03331681526020810183905281517f0c031f45b18305561115944c48c15b7aef3fdfe9182afbf6b01c249542ec6a11929181900390910190a15b600c54600160a060020a031660009081526005602052604090205415156106e357600c805460a060020a60ff02191690555b5b505050565b005b3461000057610704600160a060020a0360043516610efc565b60408051918252519081900360200190f35b3461000057610723610f49565b604080516020808252835181830152835191928392908301918501908083838215610769575b80518252602083111561076957601f199092019160209182019101610749565b505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576107b0610fd6565b60408051602080825283518183015283519192839290830191858101910280838382156107f8575b8051825260208311156107f857601f1990920191602091820191016107d8565b5050509050019250505060405180910390f35b3461000057610827600160a060020a0360043516602435611041565b604080519115158252519081900360200190f35b3461000057610863600160a060020a0360043581169060243516604435606435608435611109565b6040805192835260ff90911660208301528051918290030190f35b34610000576106e9600160a060020a036004351660243560443561145c565b005b3461000057610827611703565b604080519115158252519081900360200190f35b346100005761070461170d565b60408051918252519081900360200190f35b3461000057610704600160a060020a0360043516611714565b60408051918252519081900360200190f35b3461000057610827600160a060020a0360043581169060243516604435611768565b604080519115158252519081900360200190f35b3461000057610827611969565b604080519115158252519081900360200190f35b34610000576106e9600160a060020a03600435166119ce565b005b3461000057610989611a1e565b6040805160ff9092168252519081900360200190f35b3461000057610704611a27565b60408051918252519081900360200190f35b34610000576106e9600435611a2e565b005b3461000057610827611a5f565b604080519115158252519081900360200190f35b3461000057610827611a70565b604080519115158252519081900360200190f35b3461000057610723611ad5565b604080516020808252835181830152835191928392908301918501908083838215610769575b80518252602083111561076957601f199092019160209182019101610749565b505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576106e9600435611b63565b005b3461000057610704600160a060020a0360043516611b94565b60408051918252519081900360200190f35b34610000576106e9600160a060020a0360043516611bb3565b005b34610000576106e9600160a060020a0360043516611c02565b005b3461000057610b22600435611c79565b60408051600160a060020a039092168252519081900360200190f35b3461000057610723611cc6565b604080516020808252835181830152835191928392908301918501908083838215610769575b80518252602083111561076957601f199092019160209182019101610749565b505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610704611d51565b60408051918252519081900360200190f35b34610000576106e9600160a060020a0360043516611d57565b005b34610000576106e9600160a060020a0360043516611e45565b005b3461000057610827600160a060020a0360043516602435611e95565b604080519115158252519081900360200190f35b3461000057610827612043565b604080519115158252519081900360200190f35b34610000576106e961204e565b005b34610000576106e960043561207a565b005b34610000576106e960043561240c565b005b34610000576106e9612440565b005b34610000576106e9612482565b005b3461000057610b226004356124bb565b60408051600160a060020a039092168252519081900360200190f35b34610000576106e9612508565b005b34610000576106e9600435612531565b005b34610000576107046129d7565b60408051918252519081900360200190f35b3461000057610704600160a060020a03600435811690602435166129de565b60408051918252519081900360200190f35b3461000057610704612a0b565b60408051918252519081900360200190f35b34610000576106e9600435612a12565b005b3461000057610827600160a060020a0360043516612a46565b604080519115158252519081900360200190f35b3461000057610704612a6b565b60408051918252519081900360200190f35b34610000576107b0612a72565b60408051602080825283518183015283519192839290830191858101910280838382156107f8575b8051825260208311156107f857601f1990920191602091820191016107d8565b5050509050019250505060405180910390f35b34610000576106e9600160a060020a0360043516612add565b005b600160a060020a03811660009081526005602052604090206001015460ff161515610ef85760048054806001018281815481835581811511610ec657600083815260209020610ec69181019083015b80821115610ec25760008155600101610eae565b5090565b5b505050916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b600160a060020a03811660009081526006602052604081206002015442901015610f2857506000610f43565b50600160a060020a0381166000908152600660205260409020545b5b919050565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fce5780601f10610fa357610100808354040283529160200191610fce565b820191906000526020600020905b815481529060010190602001808311610fb157829003601f168201915b505050505081565b60408051602081810183526000825260048054845181840281018401909552808552929392909183018282801561103657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611018575b505050505090505b90565b600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051511590506110a257610000565b600160a060020a03338116600081815260076020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b6000600060006000600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515115905061117a57600094506001935061144f565b600160a060020a03331660009081526017602052604090205460ff1615156111a957600094506002935061144f565b600160a060020a038a1615156111c657600094506003935061144f565b8715806111d4575060125488115b156111e657600094506004935061144f565b6013548711806111f7575060145486115b1561120957600094506005935061144f565b600354600b5460ff909116600a0a9350612710898902850204811561000057600160a060020a038c16600090815260056020526040902060010154919004925060ff161561127457600160a060020a038a1660009081526005602052604090208054830190556112c2565b61127d8a610e5f565b60408051808201825283815260016020808301828152600160a060020a038f16600090815260059092529390209151825591519101805460ff19169115159190911790555b600b5460408051848152602081018b90528082018a905260608101869052608081019290925251600160a060020a038c16917f7d19c7776f05049226f581a23a4df896c65115763d8ec30490658efc4e8649cd919081900360a00190a2506000600160a060020a0389161561143b57600b54612710898802850204811561000057600160a060020a038b16600090815260056020526040902060010154919004915060ff161561138f57600160a060020a03891660009081526005602052604090208054820190556113dd565b61139889610e5f565b60408051808201825282815260016020808301828152600160a060020a038e16600090815260059092529390209151825591519101805460ff19169115159190911790555b600b5460408051838152602081018b905280820189905260608101869052608081019290925251600160a060020a038b16917f7d19c7776f05049226f581a23a4df896c65115763d8ec30490658efc4e8649cd919081900360a00190a25b600980548383010190559093506000925083905b5050509550959350505050565b60155460009033600160a060020a0390811691161461147a57610000565b30600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051511590506114d957610000565b8215806114e4575081155b156114ee57610000565b50600354600f54600160a060020a031660009081526005602052604090205460ff909116600a0a92830292908390101561152757610000565b600160a060020a038416600090815260066020526040812054111561154b57610000565b600160a060020a03841660009081526006602052604090206003015460ff1615156116515760408051608081018252848152426020808301828152918601838501908152600160608501818152600160a060020a038b166000908152600690945295909220935184559151838201559051600283015591516003909101805460ff1916911515919091179055601c8054918201808255909190828183801582901161161b5760008381526020902061161b9181019083015b80821115610ec25760008155600101610eae565b5090565b5b505050916000526020600020900160005b8154600160a060020a038089166101009390930a928302920219161790555061167d565b600160a060020a0384166000908152600660205260409020838155426001820181905583016002909101555b600f54600160a060020a039081166000908152600560209081526040808320805488900390559287168083526006825291839020600181015460029091015484518881529283019190915281840152915190917fe618f558755e452b06d0601df03415708e328cfe09b29d8a3dc9f52867762cd5919081900360600190a25b5b50505050565b60085460ff165b90565b6009545b90565b600160a060020a0381166000908152600660205260408120600201544290101561174057506000610f43565b50600160a060020a038116600090815260066020526040902060020154610f43565b5b919050565b600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f115610000575050604051511590506117c957610000565b600160a060020a038416600090815260056020526040902054829010156117ef57610000565b600160a060020a03808516600090815260076020908152604080832033909416835292905220548290101561182357610000565b600160a060020a0383166000908152600560205260409020546118469083612bbc565b151561185157610000565b600160a060020a03808516600081815260076020908152604080832033861684528252808320805488900390559282526005905281812080548690039055918516825290206001015460ff16156118c557600160a060020a0383166000908152600560205260409020805483019055611913565b6118ce83610e5f565b60408051808201825283815260016020808301828152600160a060020a038816600090815260059092529390209151825591519101805460ff19169115159190911790555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060015b9392505050565b6019546040805160006020918201819052825160e060020a6334a4a52702815292519093600160a060020a0316926334a4a52792600480830193919282900301818787803b156100005760325a03f11561000057505060405151601a54149150505b90565b60155433600160a060020a039081169116146119e957610000565b600160a060020a03811615156119fe57610000565b60158054600160a060020a031916600160a060020a0383161790555b5b50565b60035460ff1681565b6004545b90565b60165433600160a060020a03908116911614611a4957610000565b801515611a5557610000565b60128190555b5b50565b600c5460a060020a900460ff165b90565b6019546040805160006020918201819052825160e160020a636e3c3ddd02815292519093600160a060020a03169263dc787bba92600480830193919282900301818787803b156100005760325a03f11561000057505060405151601b54149150505b90565b6000805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610fce5780601f10610fa357610100808354040283529160200191610fce565b820191906000526020600020905b815481529060010190602001808311610fb157829003601f168201915b505050505081565b60165433600160a060020a03908116911614611b7e57610000565b801515611b8a57610000565b600b8190555b5b50565b600160a060020a0381166000908152600560205260409020545b919050565b60165433600160a060020a03908116911614611bce57610000565b600160a060020a03811615611be257610000565b60118054600160a060020a031916600160a060020a0383161790555b5b50565b60165433600160a060020a03908116911614611c1d57610000565b600160a060020a0381161515611c3257610000565b600160a060020a03811660009081526017602052604090205460ff1615610ef857600160a060020a0381166000908152601760205260409020805460ff191690555b5b5b50565b601c546000908210611c8d57506000610f43565b601c82815481101561000057906000526020600020900160005b9054906101000a9004600160a060020a03169050610f43565b5b919050565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610fce5780601f10610fa357610100808354040283529160200191610fce565b820191906000526020600020905b815481529060010190602001808311610fb157829003601f168201915b505050505081565b600b5481565b60155433600160a060020a03908116911614611d7257610000565b30600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151159050611dd157610000565b600160a060020a0381166000908152600660205260409020541515611df557610000565b600160a060020a0380821660008181526006602081815260408084208054600f549097168552600583529084208054909601909555928252909152808255600182018190556002909101555b5b50565b60165433600160a060020a03908116911614611e6057610000565b600160a060020a0381161515611e7557610000565b60168054600160a060020a031916600160a060020a0383161790555b5b50565b600030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f11561000057505060405151159050611ef657610000565b600160a060020a03331660009081526005602052604090205482901015611f1c57610000565b600160a060020a038316600090815260056020526040902054611f3f9083612bbc565b1515611f4a57610000565b600160a060020a03338116600090815260056020526040808220805486900390559185168152206001015460ff1615611fa057600160a060020a0383166000908152600560205260409020805483019055611fee565b611fa983610e5f565b60408051808201825283815260016020808301828152600160a060020a038816600090815260059092529390209151825591519101805460ff19169115159190911790555b82600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060015b92915050565b60085460ff16155b90565b60165433600160a060020a0390811691161461206957610000565b6008805460ff191660011790555b5b565b6000600060006000601960009054906101000a9004600160a060020a0316600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515190508015612149575030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515190505b15612404576019546040805160006020918201819052825160e060020a6334a4a5270281529251600160a060020a03909416936334a4a5279360048082019493918390030190829087803b156100005760325a03f11561000057505060405151601a549095509350505b838310156123fe57601954604080516000602091820181905282517fcbea4412000000000000000000000000000000000000000000000000000000008152600481018890529251600160a060020a039094169363cbea44129360248082019493918390030190829087803b156100005760325a03f1156100005750506040805180516019546000602093840181905284517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a03808516600483015295519398509490911694506370a08231936024808201949392918390030190829087803b156100005760325a03f11561000057505060405151915050600160a060020a038216732a650356bd894370cc1d6aba71b36c0ad6b3dc18141561238557600f54600160a060020a031660009081526005602052604090206001015460ff16151561235f57600f5461231490600160a060020a0316610e5f565b60408051808201825282815260016020808301828152600f54600160a060020a0316600090815260059092529390209151825591519101805460ff1916911515919091179055612380565b600f54600160a060020a031660009081526005602052604090208054820190555b6123d3565b61238e82610e5f565b60408051808201825282815260016020808301828152600160a060020a038716600090815260059092529390209151825591519101805460ff19169115159190911790555b6009805482019055600019850115156123eb576123fe565b600019909401935b6001909201916121b3565b601a8390555b5b5050505050565b60165433600160a060020a0390811691161461242757610000565b6103e881111561243657610000565b60138190555b5b50565b60165433600160a060020a0390811691161461245b57610000565b600c805460a060020a60ff02191660a060020a1790556008805460ff191660011790555b5b565b60165433600160a060020a0390811691161461249d57610000565b600c805460a060020a60ff02191690556008805460ff191690555b5b565b60045460009082106124cf57506000610f43565b600482815481101561000057906000526020600020900160005b9054906101000a9004600160a060020a03169050610f43565b5b919050565b60165433600160a060020a0390811691161461252357610000565b6008805460ff191690555b5b565b60006000600060006000601960009054906101000a9004600160a060020a0316600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515190508015612602575030600160a060020a03166315cff5466000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b156100005760325a03f1156100005750506040515190505b156129ce576019546040805160006020918201819052825160e160020a636e3c3ddd0281529251600160a060020a039094169363dc787bba9360048082019493918390030190829087803b156100005760325a03f11561000057505060405151601b549096509450505b848410156129c857601954604080516000602091820181905282517f94cfb3d8000000000000000000000000000000000000000000000000000000008152600481018990529251600160a060020a03909416936394cfb3d89360248082019493918390030190829087803b156100005760325a03f1156100005750506040805180516019546000602093840181905284517f067eeeac000000000000000000000000000000000000000000000000000000008152600160a060020a038085166004830152955193995094909116945063067eeeac936024808201949392918390030190829087803b156100005760325a03f11561000057505060405151925050600160a060020a038316732a650356bd894370cc1d6aba71b36c0ad6b3dc18141561283a57600f54600160a060020a031660009081526005602052604090206001015460ff1615156128145760408051808201825283815260016020808301828152600f8054600160a060020a039081166000908152600590945295909220935184555192909101805460ff1916921515929092179091555461280f9116610e5f565b612835565b600f54600160a060020a031660009081526005602052604090208054830190555b61299d565b601c805480600101828181548183558181151161287c5760008381526020902061287c9181019083015b80821115610ec25760008155600101610eae565b5090565b5b505050916000526020600020900160005b85909190916101000a815481600160a060020a030219169083600160a060020a0316021790555050601960009054906101000a9004600160a060020a0316600160a060020a0316631b2051f6846000604051602001526040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b156100005760325a03f115610000575050604080518051608082018352858252426020808401918252838501838152600160608601818152600160a060020a038c1660009081526006909452969092209451855591519084015551600283015591516003909101805460ff19169115159190911790559150505b6009805483019055600019860115156129b5576129c8565b600019909501945b60019093019261266c565b601b8490555b5b505050505050565b601c545b90565b600160a060020a038083166000908152600760209081526040808320938516835292905220545b92915050565b600b545b90565b60165433600160a060020a03908116911614612a2d57610000565b6103e8811115612a3c57610000565b60148190555b5b50565b600160a060020a0381166000908152601760205260409020805460ff16905b50919050565b600a545b90565b604080516020818101835260008252601c8054845181840281018401909552808552929392909183018282801561103657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311611018575b505050505090505b90565b60165433600160a060020a03908116911614612af857610000565b600160a060020a0381161515612b0d57610000565b60408051602080820183526001808352600160a060020a038516600090815260179092529290209051815460ff1916901515179055601880549182018082559091908281838015829011610ec657600083815260209020610ec69181019083015b80821115610ec25760008155600101610eae565b5090565b5b505050916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b60008282840110158015612bd257508182840110155b90505b929150505600a165627a7a72305820f447564ef5a20e883bf5c5519d2567087097c1daab1c4ecd501e250a6889ea640029

Swarm Source

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