ETH Price: $3,084.85 (-1.17%)

Token

KickCoin (KICK)
 

Overview

Max Total Supply

1,690,791,165.50187152 KICK

Holders

18,665 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
1,519.61606199 KICK

Value
$0.00
0xad95e58257162e38b85873465cb073870e49192f
Loading...
Loading
Loading...
Loading
Loading...
Loading


 


# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CSToken

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.2;


contract owned {
	address public owner;

	function owned() {
		owner = msg.sender;
	}

	function changeOwner(address newOwner) onlyOwner {
		owner = newOwner;
	}

	modifier onlyOwner {
		require(msg.sender == owner);
		_;
	}
}


contract tokenRecipient {function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData);}


contract Utils {
	/**
		constructor
	*/
	function Utils() {
	}

	// validates an address - currently only checks that it isn't null
	modifier validAddress(address _address) {
		require(_address != 0x0);
		_;
	}

	// verifies that the address is different than this contract address
	modifier notThis(address _address) {
		require(_address != address(this));
		_;
	}

	// Overflow protected math functions

	/**
		@dev returns the sum of _x and _y, asserts if the calculation overflows

		@param _x   value 1
		@param _y   value 2

		@return sum
	*/
	function safeAdd(uint256 _x, uint256 _y) internal returns (uint256) {
		uint256 z = _x + _y;
		assert(z >= _x);
		return z;
	}

	/**
		@dev returns the difference of _x minus _y, asserts if the subtraction results in a negative number

		@param _x   minuend
		@param _y   subtrahend

		@return difference
	*/
	function safeSub(uint256 _x, uint256 _y) internal returns (uint256) {
		assert(_x >= _y);
		return _x - _y;
	}
}


contract CSToken is owned, Utils {
	struct Dividend {uint256 time; uint256 tenThousandth; uint256 countComplete;}

	/* Public variables of the token */
	string public standard = 'Token 0.1';

	string public name = 'KickCoin';

	string public symbol = 'KICK';

	uint8 public decimals = 8;

	uint256 _totalSupply = 0;

	/* Is allowed to burn tokens */
	bool public allowManuallyBurnTokens = true;

	/* This creates an array with all balances */
	mapping (address => uint256) balances;

	mapping (address => mapping (uint256 => uint256)) public agingBalanceOf;

	uint[] agingTimes;

	Dividend[] dividends;

	mapping (address => mapping (address => uint256)) allowed;
	/* This generates a public event on the blockchain that will notify clients */
	event Transfer(address indexed from, address indexed to, uint256 value);

	event AgingTransfer(address indexed from, address indexed to, uint256 value, uint256 agingTime);

	event Approval(address indexed _owner, address indexed _spender, uint256 _value);
	// triggered when the total supply is increased
	event Issuance(uint256 _amount);
	// triggered when the total supply is decreased
	event Destruction(uint256 _amount);
	// This notifies clients about the amount burnt
	event Burn(address indexed from, uint256 value);

	address[] public addressByIndex;

	mapping (address => bool) addressAddedToIndex;

	mapping (address => uint) agingTimesForPools;

	uint16 currentDividendIndex = 1;

	mapping (address => uint) calculatedDividendsIndex;

	bool public transfersEnabled = true;

	event NewSmartToken(address _token);

	/* Initializes contract with initial supply tokens to the creator of the contract */
	function CSToken() {
		owner = msg.sender;
		// So that the index starts with 1
		dividends.push(Dividend(0, 0, 0));
		// 31.10.2017 09:00:00
		dividends.push(Dividend(1509440400, 30, 0));
		// 30.11.2017 09:00:00
		dividends.push(Dividend(1512032400, 20, 0));
		// 31.12.2017 09:00:00
		dividends.push(Dividend(1514710800, 10, 0));
		// 31.01.2018 09:00:00
		dividends.push(Dividend(1517389200, 5, 0));
		// 28.02.2018 09:00:00
		dividends.push(Dividend(1519808400, 10, 0));
		// 31.03.2018 09:00:00
		dividends.push(Dividend(1522486800, 20, 0));
		// 30.04.2018 09:00:00
		dividends.push(Dividend(1525078800, 30, 0));
		// 31.05.2018 09:00:00
		dividends.push(Dividend(1527757200, 50, 0));
		// 30.06.2018 09:00:00
		dividends.push(Dividend(1530349200, 30, 0));
		// 31.07.2018 09:00:00
		dividends.push(Dividend(1533027600, 20, 0));
		// 31.08.2018 09:00:00
		dividends.push(Dividend(1535706000, 10, 0));
		// 30.09.2018 09:00:00
		dividends.push(Dividend(1538298000, 5, 0));
		// 31.10.2018 09:00:00
		dividends.push(Dividend(1540976400, 10, 0));
		// 30.11.2018 09:00:00
		dividends.push(Dividend(1543568400, 20, 0));
		// 31.12.2018 09:00:00
		dividends.push(Dividend(1546246800, 30, 0));
		// 31.01.2019 09:00:00
		dividends.push(Dividend(1548925200, 60, 0));
		// 28.02.2019 09:00:00
		dividends.push(Dividend(1551344400, 30, 0));
		// 31.03.2019 09:00:00
		dividends.push(Dividend(1554022800, 20, 0));
		// 30.04.2019 09:00:00
		dividends.push(Dividend(1556614800, 10, 0));
		// 31.05.2019 09:00:00
		dividends.push(Dividend(1559307600, 20, 0));
		// 30.06.2019 09:00:00
		dividends.push(Dividend(1561885200, 30, 0));
		// 31.07.2019 09:00:00
		dividends.push(Dividend(1564563600, 20, 0));
		// 31.08.2019 09:00:00
		dividends.push(Dividend(1567242000, 10, 0));
		// 30.09.2019 09:00:00
		dividends.push(Dividend(1569834000, 5, 0));

		NewSmartToken(address(this));
	}

	modifier transfersAllowed {
		assert(transfersEnabled);
		_;
	}

	function totalSupply() constant returns (uint256 totalSupply) {
		totalSupply = _totalSupply;
	}

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

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

	bool allAgingTimesHasBeenAdded = false;
	function addAgingTime(uint256 time) onlyOwner {
		require(!allAgingTimesHasBeenAdded);
		agingTimes.push(time);
	}

	function allAgingTimesAdded() onlyOwner {
		allAgingTimesHasBeenAdded = true;
	}

	function calculateDividends(uint256 limit) {
		require(now >= dividends[currentDividendIndex].time);
		require(limit > 0);

		limit = safeAdd(dividends[currentDividendIndex].countComplete, limit);

		if (limit > addressByIndex.length) {
			limit = addressByIndex.length;
		}

		for (uint256 i = dividends[currentDividendIndex].countComplete; i < limit; i++) {
			_addDividendsForAddress(addressByIndex[i]);
		}
		if (limit == addressByIndex.length) {
			currentDividendIndex++;
		}
		else {
			dividends[currentDividendIndex].countComplete = limit;
		}
	}

	/* User can himself receive dividends without waiting for a global accruals */
	function receiveDividends() public {
		require(now >= dividends[currentDividendIndex].time);
		assert(_addDividendsForAddress(msg.sender));
	}

	function _addDividendsForAddress(address _address) internal returns (bool success) {
		// skip calculating dividends, if already calculated for this address
		if (calculatedDividendsIndex[_address] >= currentDividendIndex) return false;

		uint256 add = balances[_address] * dividends[currentDividendIndex].tenThousandth / 1000;
		balances[_address] = safeAdd(balances[_address], add);
		Transfer(this, _address, add);
		Issuance(add);
		_totalSupply = safeAdd(_totalSupply, add);

		if (agingBalanceOf[_address][0] > 0) {
			agingBalanceOf[_address][0] = safeAdd(agingBalanceOf[_address][0], agingBalanceOf[_address][0] * dividends[currentDividendIndex].tenThousandth / 1000);
			for (uint256 k = 0; k < agingTimes.length; k++) {
				agingBalanceOf[_address][agingTimes[k]] = safeAdd(agingBalanceOf[_address][agingTimes[k]], agingBalanceOf[_address][agingTimes[k]] * dividends[currentDividendIndex].tenThousandth / 1000);
			}
		}
		calculatedDividendsIndex[_address] = currentDividendIndex;
		return true;
	}

	/* Send coins */
	function transfer(address _to, uint256 _value) transfersAllowed returns (bool success) {
		_checkMyAging(msg.sender);
		if (currentDividendIndex < dividends.length && now >= dividends[currentDividendIndex].time) {
			_addDividendsForAddress(msg.sender);
			_addDividendsForAddress(_to);
		}

		require(accountBalance(msg.sender) >= _value);

		// Subtract from the sender
		balances[msg.sender] = safeSub(balances[msg.sender], _value);

		if (agingTimesForPools[msg.sender] > 0 && agingTimesForPools[msg.sender] > now) {
			_addToAging(msg.sender, _to, agingTimesForPools[msg.sender], _value);
		}

		balances[_to] = safeAdd(balances[_to], _value);

		_addIndex(_to);
		Transfer(msg.sender, _to, _value);
		return true;
	}

	function mintToken(address target, uint256 mintedAmount, uint256 agingTime) onlyOwner {
		if (agingTime > now) {
			_addToAging(owner, target, agingTime, mintedAmount);
		}

		balances[target] = safeAdd(balances[target], mintedAmount);

		_totalSupply = safeAdd(_totalSupply, mintedAmount);
		Issuance(mintedAmount);
		_addIndex(target);
		Transfer(this, target, mintedAmount);
	}

	function _addIndex(address _address) internal {
		if (!addressAddedToIndex[_address]) {
			addressAddedToIndex[_address] = true;
			addressByIndex.push(_address);
		}
	}

	function _addToAging(address from, address target, uint256 agingTime, uint256 amount) internal {
		agingBalanceOf[target][0] = safeAdd(agingBalanceOf[target][0], amount);
		agingBalanceOf[target][agingTime] = safeAdd(agingBalanceOf[target][agingTime], amount);
		AgingTransfer(from, target, amount, agingTime);
	}

	/* Allow another contract to spend some tokens in your behalf */
	function approve(address _spender, uint256 _value) returns (bool success) {
		allowed[msg.sender][_spender] = _value;
		Approval(msg.sender, _spender, _value);
		return true;
	}

	/* Approve and then communicate the approved contract in a single tx */
	function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) {
		tokenRecipient spender = tokenRecipient(_spender);
		if (approve(_spender, _value)) {
			spender.receiveApproval(msg.sender, _value, this, _extraData);
			return true;
		}
	}

	/* A contract attempts to get the coins */
	function transferFrom(address _from, address _to, uint256 _value) transfersAllowed returns (bool success) {
		_checkMyAging(_from);
		if (currentDividendIndex < dividends.length && now >= dividends[currentDividendIndex].time) {
			_addDividendsForAddress(_from);
			_addDividendsForAddress(_to);
		}
		// Check if the sender has enough
		require(accountBalance(_from) >= _value);

		// Check allowed
		require(_value <= allowed[_from][msg.sender]);

		// Subtract from the sender
		balances[_from] = safeSub(balances[_from], _value);
		// Add the same to the recipient
		balances[_to] = safeAdd(balances[_to], _value);

		allowed[_from][msg.sender] = safeSub(allowed[_from][msg.sender], _value);

		if (agingTimesForPools[_from] > 0 && agingTimesForPools[_from] > now) {
			_addToAging(_from, _to, agingTimesForPools[_from], _value);
		}

		_addIndex(_to);
		Transfer(_from, _to, _value);
		return true;
	}

	/* This unnamed function is called whenever someone tries to send ether to it */
	function() {
		revert();
		// Prevents accidental sending of ether
	}

	function _checkMyAging(address sender) internal {
		if (agingBalanceOf[sender][0] == 0) return;

		for (uint256 k = 0; k < agingTimes.length; k++) {
			if (agingTimes[k] < now) {
				agingBalanceOf[sender][0] = safeSub(agingBalanceOf[sender][0], agingBalanceOf[sender][agingTimes[k]]);
				agingBalanceOf[sender][agingTimes[k]] = 0;
			}
		}
	}

	function addAgingTimesForPool(address poolAddress, uint256 agingTime) onlyOwner {
		agingTimesForPools[poolAddress] = agingTime;
	}

	function countAddresses() constant returns (uint256 length) {
		return addressByIndex.length;
	}

	function accountBalance(address _address) constant returns (uint256 balance) {
		return safeSub(balances[_address], agingBalanceOf[_address][0]);
	}

	function disableTransfers(bool _disable) public onlyOwner {
		transfersEnabled = !_disable;
	}

	function issue(address _to, uint256 _amount) public onlyOwner validAddress(_to) notThis(_to) {
		_totalSupply = safeAdd(_totalSupply, _amount);
		balances[_to] = safeAdd(balances[_to], _amount);

		_addIndex(_to);
		Issuance(_amount);
		Transfer(this, _to, _amount);
	}

	/**
	 * Destroy tokens
	 * Remove `_value` tokens from the system irreversibly
	 * @param _value the amount of money to burn
	 */
	function burn(uint256 _value) returns (bool success) {
		destroy(msg.sender, _value);
		Burn(msg.sender, _value);
		return true;
	}

	/**
	 * Destroy tokens
	 * Remove `_amount` tokens from the system irreversibly
	 * @param _from the address from which tokens will be burnt
	 * @param _amount the amount of money to burn
	 */
	function destroy(address _from, uint256 _amount) public {
		_checkMyAging(_from);
		// validate input
		require((msg.sender == _from && allowManuallyBurnTokens) || msg.sender == owner);
		require(accountBalance(_from) >= _amount);

		balances[_from] = safeSub(balances[_from], _amount);
		_totalSupply = safeSub(_totalSupply, _amount);

		Transfer(_from, this, _amount);
		Destruction(_amount);
	}

	function disableManuallyBurnTokens(bool _disable) public onlyOwner {
		allowManuallyBurnTokens = !_disable;
	}
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"allAgingTimesAdded","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_disable","type":"bool"}],"name":"disableTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"},{"name":"agingTime","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"limit","type":"uint256"}],"name":"calculateDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allowManuallyBurnTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"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":false,"inputs":[{"name":"_disable","type":"bool"}],"name":"disableManuallyBurnTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"receiveDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"time","type":"uint256"}],"name":"addAgingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_amount","type":"uint256"}],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transfersEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"accountBalance","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"addressByIndex","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":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"agingBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"poolAddress","type":"address"},{"name":"agingTime","type":"uint256"}],"name":"addAgingTimesForPool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"countAddresses","outputs":[{"name":"length","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"agingTime","type":"uint256"}],"name":"AgingTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Issuance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Destruction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_token","type":"address"}],"name":"NewSmartToken","type":"event"}]

606060405260408051908101604052600981527f546f6b656e20302e310000000000000000000000000000000000000000000000602082015260019080516200004d92916020019062000b6c565b5060408051908101604052600881527f4b69636b436f696e000000000000000000000000000000000000000000000000602082015260029080516200009792916020019062000b6c565b5060408051908101604052600481527f4b49434b0000000000000000000000000000000000000000000000000000000060208201526003908051620000e192916020019062000b6c565b5060048054600860ff199182161790915560006005556006805482166001908117909155600f805461ffff191682179055601180549092161761ff001916905534156200012d57600080fd5b5b5b5b60008054600160a060020a03191633600160a060020a03161790555b5b60008054600160a060020a03191633600160a060020a0316179055600a8054600181016200017c838262000bf2565b916000526020600020906003020160005b6060604051908101604090815260008083526020830181905290820152919050815181556020820151816001015560408201516002909101555050600a805460018101620001dc838262000bf2565b916000526020600020906003020160005b606060405190810160409081526359f83b908252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000240838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635a1fc890825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620002a4838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635a48a7108252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000308838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635a718590825260056020830152600090820152919050815181556020820151816001015560408201516002909101555050600a8054600181016200036c838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635a966f908252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620003d0838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635abf4e10825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000434838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635ae6db108252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000498838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635b0fb990825260326020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620004fc838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635b3746908252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000560838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635b602510825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620005c4838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635b8903908252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000628838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635bb09090825260056020830152600090820152919050815181556020820151816001015560408201516002909101555050600a8054600181016200068c838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635bd96f108252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620006f0838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635c00fc10825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000754838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635c29da908252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620007b8838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635c52b9108252603c6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a8054600181016200081c838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635c77a3108252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000880838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635ca08190825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620008e4838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635cc80e908252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000948838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635cf12550825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a805460018101620009ac838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635d187a108252601e6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000a10838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635d415890825260146020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000a74838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635d6a37108252600a6020830152600090820152919050815181556020820151816001015560408201516002909101555050600a80546001810162000ad8838262000bf2565b916000526020600020906003020160005b60606040519081016040908152635d91c4108252600560208301526000908201529190508151815560208201518160010155604082015181600201555050507ff4cd1f8571e8d9c97ffcb81558807ab73f9803d54de5da6a0420593c82a4a9f030604051600160a060020a03909116815260200160405180910390a15b62000c7c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000baf57805160ff191683800117855562000bdf565b8280016001018555821562000bdf579182015b8281111562000bdf57825182559160200191906001019062000bc2565b5b5062000bee92915062000c27565b5090565b81548183558181151162000c215760030281600302836000526020600020918201910162000c21919062000c4b565b5b505050565b62000c4891905b8082111562000bee576000815560010162000c2e565b5090565b90565b62000c4891905b8082111562000bee57600080825560018201819055600282015560030162000c52565b5090565b90565b611d968062000c8c6000396000f3006060604052361561017d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663037ca6c4811461019057806306fdde03146101a5578063095ea7b3146102305780631608f18f1461026657806318160ddd1461028057806323a36d2b146102a557806323b872dd146102cc5780632cf860061461030857806330762e2e14610320578063313ce5671461034757806342966c68146103705780635a3b7e421461039a57806370a082311461042557806371766ae31461045657806379fc468714610470578063867904b4146104855780638d37f52c146104a95780638da5cb5b146104c157806395d89b41146104f0578063a24835d11461057b578063a6f9dae11461059f578063a9059cbb146105c0578063bef97c87146105f6578063cae9ca511461061d578063d294cb0f14610696578063d8ab9208146106c7578063dd62ed3e146106f9578063e27f023614610730578063ea6ca18214610764578063ec530de614610788575b341561018857600080fd5b5b600080fd5b005b341561019b57600080fd5b61018e6107ad565b005b34156101b057600080fd5b6101b86107db565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023b57600080fd5b610252600160a060020a0360043516602435610879565b604051901515815260200160405180910390f35b341561027157600080fd5b61018e60043515156108e6565b005b341561028b57600080fd5b610293610913565b60405190815260200160405180910390f35b34156102b057600080fd5b61018e600160a060020a036004351660243560443561091a565b005b34156102d757600080fd5b610252600160a060020a0360043581169060243516604435610a1a565b604051901515815260200160405180910390f35b341561031357600080fd5b61018e600435610c3c565b005b341561032b57600080fd5b610252610d97565b604051901515815260200160405180910390f35b341561035257600080fd5b61035a610da0565b60405160ff909116815260200160405180910390f35b341561037b57600080fd5b610252600435610da9565b604051901515815260200160405180910390f35b34156103a557600080fd5b6101b8610dfb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561043057600080fd5b610293600160a060020a0360043516610e99565b60405190815260200160405180910390f35b341561046157600080fd5b61018e6004351515610eb8565b005b341561047b57600080fd5b61018e610ee5565b005b341561049057600080fd5b61018e600160a060020a0360043516602435610f2e565b005b34156104b457600080fd5b61018e600435611047565b005b34156104cc57600080fd5b6104d46110a1565b604051600160a060020a03909116815260200160405180910390f35b34156104fb57600080fd5b6101b86110b0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058657600080fd5b61018e600160a060020a036004351660243561114e565b005b34156105aa57600080fd5b61018e600160a060020a0360043516611266565b005b34156105cb57600080fd5b610252600160a060020a03600435166024356112ae565b604051901515815260200160405180910390f35b341561060157600080fd5b610252611457565b604051901515815260200160405180910390f35b341561062857600080fd5b61025260048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061146095505050505050565b604051901515815260200160405180910390f35b34156106a157600080fd5b610293600160a060020a0360043516611594565b60405190815260200160405180910390f35b34156106d257600080fd5b6104d46004356115d2565b604051600160a060020a03909116815260200160405180910390f35b341561070457600080fd5b610293600160a060020a0360043581169060243516611604565b60405190815260200160405180910390f35b341561073b57600080fd5b610293600160a060020a0360043516602435611631565b60405190815260200160405180910390f35b341561076f57600080fd5b61018e600160a060020a036004351660243561164e565b005b341561079357600080fd5b61029361168a565b60405190815260200160405180910390f35b60005433600160a060020a039081169116146107c857600080fd5b6011805461ff0019166101001790555b5b565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b600160a060020a033381166000818152600b6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005433600160a060020a0390811691161461090157600080fd5b6011805460ff191682151790555b5b50565b6005545b90565b60005433600160a060020a0390811691161461093557600080fd5b428111156109555760005461095590600160a060020a0316848385611691565b5b600160a060020a0383166000908152600760205260409020546109799083611767565b600160a060020a03841660009081526007602052604090205560055461099f9083611767565b6005557f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38260405190815260200160405180910390a16109de83611781565b82600160a060020a031630600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35b5b505050565b60115460009060ff161515610a2b57fe5b610a348461180d565b600a54600f5461ffff16108015610a735750600f54600a8054909161ffff16908110610a5c57fe5b906000526020600020906003020160005b50544210155b15610a8d57610a8184611946565b50610a8b83611946565b505b81610a9785611594565b1015610aa257600080fd5b600160a060020a038085166000908152600b602090815260408083203390941683529290522054821115610ad557600080fd5b600160a060020a038416600090815260076020526040902054610af89083611cbe565b600160a060020a038086166000908152600760205260408082209390935590851681522054610b279083611767565b600160a060020a038085166000908152600760209081526040808320949094558783168252600b8152838220339093168252919091522054610b699083611cbe565b600160a060020a038086166000818152600b6020908152604080832033909516835293815283822094909455908152600e909252812054118015610bc55750600160a060020a0384166000908152600e60205260409020544290115b15610bf157600160a060020a0384166000908152600e6020526040902054610bf1908590859085611691565b5b610bfb83611781565b82600160a060020a031684600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35060015b5b9392505050565b600f54600a805460009261ffff16908110610c5357fe5b906000526020600020906003020160005b5054421015610c7257600080fd5b60008211610c7f57600080fd5b600f54600a8054610cb39261ffff16908110610c9757fe5b906000526020600020906003020160005b506002015483611767565b600c54909250821115610cc657600c5491505b600f54600a8054909161ffff16908110610cdc57fe5b906000526020600020906003020160005b506002015490505b81811015610d3e57610d34600c82815481101515610d0f57fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316611946565b505b600101610cf5565b600c54821415610d6557600f805461ffff8082166001011661ffff19909116179055610d92565b600f54600a8054849261ffff16908110610d7b57fe5b906000526020600020906003020160005b50600201555b5b5050565b60065460ff1681565b60045460ff1681565b6000610db5338361114e565b33600160a060020a03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25060015b919050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b600160a060020a0381166000908152600760205260409020545b919050565b60005433600160a060020a03908116911614610ed357600080fd5b6006805460ff191682151790555b5b50565b600f54600a8054909161ffff16908110610efb57fe5b906000526020600020906003020160005b5054421015610f1a57600080fd5b610f2333611946565b15156107d857fe5b5b565b60005433600160a060020a03908116911614610f4957600080fd5b81600160a060020a0381161515610f5f57600080fd5b8230600160a060020a031681600160a060020a031614151515610f8157600080fd5b610f8d60055484611767565b600555600160a060020a038416600090815260076020526040902054610fb39084611767565b600160a060020a038516600090815260076020526040902055610fd584611781565b7f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38360405190815260200160405180910390a183600160a060020a031630600160a060020a0316600080516020611d4b8339815191528560405190815260200160405180910390a35b5b505b505b5050565b60005433600160a060020a0390811691161461106257600080fd5b601154610100900460ff161561107757600080fd5b60098054600181016110898382611cd5565b916000526020600020900160005b50829055505b5b50565b600054600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b6111578261180d565b81600160a060020a031633600160a060020a031614801561117a575060065460ff165b80611193575060005433600160a060020a039081169116145b151561119e57600080fd5b806111a883611594565b10156111b357600080fd5b600160a060020a0382166000908152600760205260409020546111d69082611cbe565b600160a060020a0383166000908152600760205260409020556005546111fc9082611cbe565b600555600160a060020a03308116908316600080516020611d4b8339815191528360405190815260200160405180910390a37f9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd34538160405190815260200160405180910390a15b5050565b60005433600160a060020a0390811691161461128157600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60115460009060ff1615156112bf57fe5b6112c83361180d565b600a54600f5461ffff161080156113075750600f54600a8054909161ffff169081106112f057fe5b906000526020600020906003020160005b50544210155b156113215761131533611946565b5061131f83611946565b505b8161132b33611594565b101561133657600080fd5b600160a060020a0333166000908152600760205260409020546113599083611cbe565b600160a060020a033316600090815260076020908152604080832093909355600e9052908120541180156113a55750600160a060020a0333166000908152600e60205260409020544290115b156113d15733600160a060020a0381166000908152600e60205260409020546113d19190859085611691565b5b600160a060020a0383166000908152600760205260409020546113f59083611767565b600160a060020a03841660009081526007602052604090205561141783611781565b82600160a060020a031633600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35060015b5b92915050565b60115460ff1681565b60008361146d8185610879565b1561158b5780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115245780820151818401525b60200161150b565b50505050905090810190601f1680156115515780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561157257600080fd5b6102c65a03f1151561158357600080fd5b505050600191505b5b509392505050565b600160a060020a038116600090815260076020908152604080832054600883528184208480529092528220546115ca9190611cbe565b90505b919050565b600c8054829081106115e057fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600160a060020a038083166000908152600b60209081526040808320938516835292905220545b92915050565b600860209081526000928352604080842090915290825290205481565b60005433600160a060020a0390811691161461166957600080fd5b600160a060020a0382166000908152600e602052604090208190555b5b5050565b600c545b90565b600160a060020a03831660009081526008602090815260408083208380529091529020546116bf9082611767565b600160a060020a03841660009081526008602090815260408083208380529091528082209290925583815220546116f69082611767565b600160a060020a038085166000818152600860209081526040808320888452909152908190209390935591908616907f46a1749a7648b704d1ad3fe33741b13174a4b1641db362e808d00eab7250d10690849086905191825260208201526040908101905180910390a35b50505050565b60008282018381101561177657fe5b8091505b5092915050565b600160a060020a0381166000908152600d602052604090205460ff16151561090f57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c8054909181016117db8382611cd5565b916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b600160a060020a0381166000908152600860209081526040808320838052909152812054151561183c57610d92565b5060005b600954811015610d92574260098281548110151561185a57fe5b906000526020600020900160005b5054101561193857600160a060020a038216600081815260086020818152604080842084805280835290842054948452919052600980546118d494939190869081106118b057fe5b906000526020600020900160005b5054815260200190815260200160002054611cbe565b600160a060020a038316600081815260086020818152604080842084805280835290842095909555928252909152600980549192918391908590811061191657fe5b906000526020600020900160005b505481526020810191909152604001600020555b5b600101611840565b5b5050565b600f54600160a060020a03821660009081526010602052604081205490918291829161ffff16901061197b5760009250611cb7565b600f54600a80546103e89261ffff1690811061199357fe5b906000526020600020906003020160005b5060010154600160a060020a038616600090815260076020526040902054028115156119cc57fe5b600160a060020a03861660009081526007602052604090205491900492506119f49083611767565b600160a060020a038086166000818152600760205260409081902093909355913090911690600080516020611d4b8339815191529085905190815260200160405180910390a37f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38260405190815260200160405180910390a1611a7960055483611767565b600555600160a060020a03841660009081526008602090815260408083208380529091528120541115611c8e57600160a060020a0384166000908152600860209081526040808320838052909152902054600f54600a8054611b3493926103e8929161ffff909116908110611aea57fe5b906000526020600020906003020160005b5060010154600160a060020a038816600090815260086020908152604080832083805290915290205402811515611b2e57fe5b04611767565b600160a060020a038516600090815260086020908152604080832083805290915281209190915590505b600954811015611c8e57600160a060020a038416600090815260086020526040812060098054611c3b93919085908110611b9457fe5b906000526020600020900160005b50548152602081019190915260400160002054600f54600a80546103e89261ffff16908110611bcd57fe5b906000526020600020906003020160005b5060010154600160a060020a03881660009081526008602052604081206009805491929188908110611c0c57fe5b906000526020600020900160005b505481526020019081526020016000205402811515611b2e57fe5b04611767565b600160a060020a03851660009081526008602052604081206009805491929185908110611c6457fe5b906000526020600020900160005b505481526020810191909152604001600020555b600101611b5e565b5b600f54600160a060020a038516600090815260106020526040902061ffff9091169055600192505b5050919050565b600081831015611cca57fe5b508082035b92915050565b815481835581811511610a1457600083815260209020610a14918101908301611d29565b5b505050565b815481835581811511610a1457600083815260209020610a14918101908301611d29565b5b505050565b61091791905b80821115611d435760008155600101611d2f565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820126d7a02e20e4d8fd7cebb056e932b30c5973dbea8d0c8f9031aeb5846936a0b0029

Deployed Bytecode

0x6060604052361561017d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663037ca6c4811461019057806306fdde03146101a5578063095ea7b3146102305780631608f18f1461026657806318160ddd1461028057806323a36d2b146102a557806323b872dd146102cc5780632cf860061461030857806330762e2e14610320578063313ce5671461034757806342966c68146103705780635a3b7e421461039a57806370a082311461042557806371766ae31461045657806379fc468714610470578063867904b4146104855780638d37f52c146104a95780638da5cb5b146104c157806395d89b41146104f0578063a24835d11461057b578063a6f9dae11461059f578063a9059cbb146105c0578063bef97c87146105f6578063cae9ca511461061d578063d294cb0f14610696578063d8ab9208146106c7578063dd62ed3e146106f9578063e27f023614610730578063ea6ca18214610764578063ec530de614610788575b341561018857600080fd5b5b600080fd5b005b341561019b57600080fd5b61018e6107ad565b005b34156101b057600080fd5b6101b86107db565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023b57600080fd5b610252600160a060020a0360043516602435610879565b604051901515815260200160405180910390f35b341561027157600080fd5b61018e60043515156108e6565b005b341561028b57600080fd5b610293610913565b60405190815260200160405180910390f35b34156102b057600080fd5b61018e600160a060020a036004351660243560443561091a565b005b34156102d757600080fd5b610252600160a060020a0360043581169060243516604435610a1a565b604051901515815260200160405180910390f35b341561031357600080fd5b61018e600435610c3c565b005b341561032b57600080fd5b610252610d97565b604051901515815260200160405180910390f35b341561035257600080fd5b61035a610da0565b60405160ff909116815260200160405180910390f35b341561037b57600080fd5b610252600435610da9565b604051901515815260200160405180910390f35b34156103a557600080fd5b6101b8610dfb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561043057600080fd5b610293600160a060020a0360043516610e99565b60405190815260200160405180910390f35b341561046157600080fd5b61018e6004351515610eb8565b005b341561047b57600080fd5b61018e610ee5565b005b341561049057600080fd5b61018e600160a060020a0360043516602435610f2e565b005b34156104b457600080fd5b61018e600435611047565b005b34156104cc57600080fd5b6104d46110a1565b604051600160a060020a03909116815260200160405180910390f35b34156104fb57600080fd5b6101b86110b0565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101f55780820151818401525b6020016101dc565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058657600080fd5b61018e600160a060020a036004351660243561114e565b005b34156105aa57600080fd5b61018e600160a060020a0360043516611266565b005b34156105cb57600080fd5b610252600160a060020a03600435166024356112ae565b604051901515815260200160405180910390f35b341561060157600080fd5b610252611457565b604051901515815260200160405180910390f35b341561062857600080fd5b61025260048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061146095505050505050565b604051901515815260200160405180910390f35b34156106a157600080fd5b610293600160a060020a0360043516611594565b60405190815260200160405180910390f35b34156106d257600080fd5b6104d46004356115d2565b604051600160a060020a03909116815260200160405180910390f35b341561070457600080fd5b610293600160a060020a0360043581169060243516611604565b60405190815260200160405180910390f35b341561073b57600080fd5b610293600160a060020a0360043516602435611631565b60405190815260200160405180910390f35b341561076f57600080fd5b61018e600160a060020a036004351660243561164e565b005b341561079357600080fd5b61029361168a565b60405190815260200160405180910390f35b60005433600160a060020a039081169116146107c857600080fd5b6011805461ff0019166101001790555b5b565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b600160a060020a033381166000818152600b6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005433600160a060020a0390811691161461090157600080fd5b6011805460ff191682151790555b5b50565b6005545b90565b60005433600160a060020a0390811691161461093557600080fd5b428111156109555760005461095590600160a060020a0316848385611691565b5b600160a060020a0383166000908152600760205260409020546109799083611767565b600160a060020a03841660009081526007602052604090205560055461099f9083611767565b6005557f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38260405190815260200160405180910390a16109de83611781565b82600160a060020a031630600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35b5b505050565b60115460009060ff161515610a2b57fe5b610a348461180d565b600a54600f5461ffff16108015610a735750600f54600a8054909161ffff16908110610a5c57fe5b906000526020600020906003020160005b50544210155b15610a8d57610a8184611946565b50610a8b83611946565b505b81610a9785611594565b1015610aa257600080fd5b600160a060020a038085166000908152600b602090815260408083203390941683529290522054821115610ad557600080fd5b600160a060020a038416600090815260076020526040902054610af89083611cbe565b600160a060020a038086166000908152600760205260408082209390935590851681522054610b279083611767565b600160a060020a038085166000908152600760209081526040808320949094558783168252600b8152838220339093168252919091522054610b699083611cbe565b600160a060020a038086166000818152600b6020908152604080832033909516835293815283822094909455908152600e909252812054118015610bc55750600160a060020a0384166000908152600e60205260409020544290115b15610bf157600160a060020a0384166000908152600e6020526040902054610bf1908590859085611691565b5b610bfb83611781565b82600160a060020a031684600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35060015b5b9392505050565b600f54600a805460009261ffff16908110610c5357fe5b906000526020600020906003020160005b5054421015610c7257600080fd5b60008211610c7f57600080fd5b600f54600a8054610cb39261ffff16908110610c9757fe5b906000526020600020906003020160005b506002015483611767565b600c54909250821115610cc657600c5491505b600f54600a8054909161ffff16908110610cdc57fe5b906000526020600020906003020160005b506002015490505b81811015610d3e57610d34600c82815481101515610d0f57fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316611946565b505b600101610cf5565b600c54821415610d6557600f805461ffff8082166001011661ffff19909116179055610d92565b600f54600a8054849261ffff16908110610d7b57fe5b906000526020600020906003020160005b50600201555b5b5050565b60065460ff1681565b60045460ff1681565b6000610db5338361114e565b33600160a060020a03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25060015b919050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b600160a060020a0381166000908152600760205260409020545b919050565b60005433600160a060020a03908116911614610ed357600080fd5b6006805460ff191682151790555b5b50565b600f54600a8054909161ffff16908110610efb57fe5b906000526020600020906003020160005b5054421015610f1a57600080fd5b610f2333611946565b15156107d857fe5b5b565b60005433600160a060020a03908116911614610f4957600080fd5b81600160a060020a0381161515610f5f57600080fd5b8230600160a060020a031681600160a060020a031614151515610f8157600080fd5b610f8d60055484611767565b600555600160a060020a038416600090815260076020526040902054610fb39084611767565b600160a060020a038516600090815260076020526040902055610fd584611781565b7f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38360405190815260200160405180910390a183600160a060020a031630600160a060020a0316600080516020611d4b8339815191528560405190815260200160405180910390a35b5b505b505b5050565b60005433600160a060020a0390811691161461106257600080fd5b601154610100900460ff161561107757600080fd5b60098054600181016110898382611cd5565b916000526020600020900160005b50829055505b5b50565b600054600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108715780601f1061084657610100808354040283529160200191610871565b820191906000526020600020905b81548152906001019060200180831161085457829003601f168201915b505050505081565b6111578261180d565b81600160a060020a031633600160a060020a031614801561117a575060065460ff165b80611193575060005433600160a060020a039081169116145b151561119e57600080fd5b806111a883611594565b10156111b357600080fd5b600160a060020a0382166000908152600760205260409020546111d69082611cbe565b600160a060020a0383166000908152600760205260409020556005546111fc9082611cbe565b600555600160a060020a03308116908316600080516020611d4b8339815191528360405190815260200160405180910390a37f9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd34538160405190815260200160405180910390a15b5050565b60005433600160a060020a0390811691161461128157600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60115460009060ff1615156112bf57fe5b6112c83361180d565b600a54600f5461ffff161080156113075750600f54600a8054909161ffff169081106112f057fe5b906000526020600020906003020160005b50544210155b156113215761131533611946565b5061131f83611946565b505b8161132b33611594565b101561133657600080fd5b600160a060020a0333166000908152600760205260409020546113599083611cbe565b600160a060020a033316600090815260076020908152604080832093909355600e9052908120541180156113a55750600160a060020a0333166000908152600e60205260409020544290115b156113d15733600160a060020a0381166000908152600e60205260409020546113d19190859085611691565b5b600160a060020a0383166000908152600760205260409020546113f59083611767565b600160a060020a03841660009081526007602052604090205561141783611781565b82600160a060020a031633600160a060020a0316600080516020611d4b8339815191528460405190815260200160405180910390a35060015b5b92915050565b60115460ff1681565b60008361146d8185610879565b1561158b5780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115245780820151818401525b60200161150b565b50505050905090810190601f1680156115515780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561157257600080fd5b6102c65a03f1151561158357600080fd5b505050600191505b5b509392505050565b600160a060020a038116600090815260076020908152604080832054600883528184208480529092528220546115ca9190611cbe565b90505b919050565b600c8054829081106115e057fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600160a060020a038083166000908152600b60209081526040808320938516835292905220545b92915050565b600860209081526000928352604080842090915290825290205481565b60005433600160a060020a0390811691161461166957600080fd5b600160a060020a0382166000908152600e602052604090208190555b5b5050565b600c545b90565b600160a060020a03831660009081526008602090815260408083208380529091529020546116bf9082611767565b600160a060020a03841660009081526008602090815260408083208380529091528082209290925583815220546116f69082611767565b600160a060020a038085166000818152600860209081526040808320888452909152908190209390935591908616907f46a1749a7648b704d1ad3fe33741b13174a4b1641db362e808d00eab7250d10690849086905191825260208201526040908101905180910390a35b50505050565b60008282018381101561177657fe5b8091505b5092915050565b600160a060020a0381166000908152600d602052604090205460ff16151561090f57600160a060020a0381166000908152600d60205260409020805460ff19166001908117909155600c8054909181016117db8382611cd5565b916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b600160a060020a0381166000908152600860209081526040808320838052909152812054151561183c57610d92565b5060005b600954811015610d92574260098281548110151561185a57fe5b906000526020600020900160005b5054101561193857600160a060020a038216600081815260086020818152604080842084805280835290842054948452919052600980546118d494939190869081106118b057fe5b906000526020600020900160005b5054815260200190815260200160002054611cbe565b600160a060020a038316600081815260086020818152604080842084805280835290842095909555928252909152600980549192918391908590811061191657fe5b906000526020600020900160005b505481526020810191909152604001600020555b5b600101611840565b5b5050565b600f54600160a060020a03821660009081526010602052604081205490918291829161ffff16901061197b5760009250611cb7565b600f54600a80546103e89261ffff1690811061199357fe5b906000526020600020906003020160005b5060010154600160a060020a038616600090815260076020526040902054028115156119cc57fe5b600160a060020a03861660009081526007602052604090205491900492506119f49083611767565b600160a060020a038086166000818152600760205260409081902093909355913090911690600080516020611d4b8339815191529085905190815260200160405180910390a37f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38260405190815260200160405180910390a1611a7960055483611767565b600555600160a060020a03841660009081526008602090815260408083208380529091528120541115611c8e57600160a060020a0384166000908152600860209081526040808320838052909152902054600f54600a8054611b3493926103e8929161ffff909116908110611aea57fe5b906000526020600020906003020160005b5060010154600160a060020a038816600090815260086020908152604080832083805290915290205402811515611b2e57fe5b04611767565b600160a060020a038516600090815260086020908152604080832083805290915281209190915590505b600954811015611c8e57600160a060020a038416600090815260086020526040812060098054611c3b93919085908110611b9457fe5b906000526020600020900160005b50548152602081019190915260400160002054600f54600a80546103e89261ffff16908110611bcd57fe5b906000526020600020906003020160005b5060010154600160a060020a03881660009081526008602052604081206009805491929188908110611c0c57fe5b906000526020600020900160005b505481526020019081526020016000205402811515611b2e57fe5b04611767565b600160a060020a03851660009081526008602052604081206009805491929185908110611c6457fe5b906000526020600020900160005b505481526020810191909152604001600020555b600101611b5e565b5b600f54600160a060020a038516600090815260106020526040902061ffff9091169055600192505b5050919050565b600081831015611cca57fe5b508082035b92915050565b815481835581811511610a1457600083815260209020610a14918101908301611d29565b5b505050565b815481835581811511610a1457600083815260209020610a14918101908301611d29565b5b505050565b61091791905b80821115611d435760008155600101611d2f565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820126d7a02e20e4d8fd7cebb056e932b30c5973dbea8d0c8f9031aeb5846936a0b0029

Swarm Source

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