Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Multichain Info
No addresses found
Latest 25 from a total of 36 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 5710527 | 2481 days ago | IN | 0.03789126 ETH | 0.000861 | ||||
Transfer | 5710492 | 2481 days ago | IN | 0.03888164 ETH | 0.00044898 | ||||
Transfer | 5707968 | 2481 days ago | IN | 0.1 ETH | 0.0016035 | ||||
Transfer | 5707962 | 2481 days ago | IN | 0.1 ETH | 0.001575 | ||||
Transfer | 5704024 | 2482 days ago | IN | 0.0395 ETH | 0.00036346 | ||||
Pause | 5684905 | 2485 days ago | IN | 0 ETH | 0.00171162 | ||||
Transfer | 5669592 | 2488 days ago | IN | 0.1 ETH | 0.0036213 | ||||
Transfer | 5641309 | 2493 days ago | IN | 0.5 ETH | 0.00060355 | ||||
Transfer | 5641241 | 2493 days ago | IN | 0.5 ETH | 0.00090355 | ||||
Transfer | 5636887 | 2494 days ago | IN | 0.196 ETH | 0.00271065 | ||||
Transfer | 5634242 | 2494 days ago | IN | 0.1 ETH | 0.00225887 | ||||
Transfer | 5630185 | 2495 days ago | IN | 1 ETH | 0.00546306 | ||||
Transfer | 5627987 | 2495 days ago | IN | 1 ETH | 0.00207573 | ||||
Transfer | 5627962 | 2495 days ago | IN | 3 ETH | 0.00207573 | ||||
Transfer | 5627955 | 2495 days ago | IN | 1 ETH | 0.00309573 | ||||
Transfer | 5626444 | 2495 days ago | IN | 0.21738151 ETH | 0.00370455 | ||||
Transfer | 5626227 | 2495 days ago | IN | 1 ETH | 0.00366306 | ||||
Transfer | 5626085 | 2496 days ago | IN | 0.25 ETH | 0.0036213 | ||||
Transfer | 5626059 | 2496 days ago | IN | 3 ETH | 0.00366306 | ||||
Transfer | 5626055 | 2496 days ago | IN | 5 ETH | 0.00546306 | ||||
Transfer | 5626014 | 2496 days ago | IN | 1.5 ETH | 0.00366306 | ||||
Transfer | 5625676 | 2496 days ago | IN | 2 ETH | 0.00366306 | ||||
Transfer | 5625663 | 2496 days ago | IN | 1 ETH | 0.00366306 | ||||
Transfer | 5625660 | 2496 days ago | IN | 0.1 ETH | 0.0054213 | ||||
Transfer | 5625659 | 2496 days ago | IN | 0.08 ETH | 0.0036213 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 5669592 | 2488 days ago | 0.1 ETH | ||||
Transfer | 5641309 | 2493 days ago | 0.5 ETH | ||||
Transfer | 5641241 | 2493 days ago | 0.5 ETH | ||||
Transfer | 5636887 | 2494 days ago | 0.196 ETH | ||||
Transfer | 5634242 | 2494 days ago | 0.1 ETH | ||||
Transfer | 5630185 | 2495 days ago | 1 ETH | ||||
Transfer | 5627987 | 2495 days ago | 1 ETH | ||||
Transfer | 5627962 | 2495 days ago | 3 ETH | ||||
Transfer | 5627955 | 2495 days ago | 1 ETH | ||||
Transfer | 5626444 | 2495 days ago | 0.21738151 ETH | ||||
Transfer | 5626227 | 2495 days ago | 1 ETH | ||||
Transfer | 5626085 | 2496 days ago | 0.25 ETH | ||||
Transfer | 5626059 | 2496 days ago | 3 ETH | ||||
Transfer | 5626055 | 2496 days ago | 5 ETH | ||||
Transfer | 5626014 | 2496 days ago | 1.5 ETH | ||||
Transfer | 5625676 | 2496 days ago | 2 ETH | ||||
Transfer | 5625663 | 2496 days ago | 1 ETH | ||||
Transfer | 5625660 | 2496 days ago | 0.1 ETH | ||||
Transfer | 5625659 | 2496 days ago | 0.08 ETH | ||||
Transfer | 5625657 | 2496 days ago | 0.25 ETH | ||||
Transfer | 5625181 | 2496 days ago | 1 ETH | ||||
Transfer | 5625178 | 2496 days ago | 0.05 ETH | ||||
Transfer | 5625174 | 2496 days ago | 1 ETH | ||||
Transfer | 5619528 | 2497 days ago | 1 ETH | ||||
Transfer | 5619515 | 2497 days ago | 0.1 ETH |
Loading...
Loading
Contract Name:
Refundable
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-15 */ pragma solidity ^0.4.23; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() onlyOwner whenNotPaused public { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() onlyOwner whenPaused public { paused = false; emit Unpause(); } } contract KYCCrowdsale is Ownable{ bool public isKYCRequired = false; mapping (bytes32 => address) public whiteListed; function enableKYC() external onlyOwner { require(!isKYCRequired); // kyc is not enabled isKYCRequired = true; } function disableKYC() external onlyOwner { require(isKYCRequired); // kyc is enabled isKYCRequired = false; } //TODO: handle single address can be whiteListed multiple time using unique signed hashes function isWhitelistedAddress(bytes32 hash, uint8 v, bytes32 r, bytes32 s) public returns (bool){ assert( whiteListed[hash] == address(0x0)); // verify hash is unique require(owner == ecrecover(hash, v, r, s)); whiteListed[hash] = msg.sender; return true; } } /** * @title Crowdsale * @dev Crowdsale is a base contract for managing a token crowdsale. * Crowdsales have a start and end timestamps, where investors can make * token purchases and the crowdsale will assign them tokens based * on a token per ETH rate. Funds collected are forwarded to a wallet * as they arrive. */ contract Crowdsale is Pausable, KYCCrowdsale{ using SafeMath for uint256; // The token interface ERC20 public token; // The address of token holder that allowed allowance to contract address public tokenWallet; // start and end timestamps where investments are allowed (both inclusive) uint256 public startTime; uint256 public endTime; // address where funds are collected address public wallet; // token rate in wei uint256 public rate; uint256 public roundOneRate; uint256 public roundTwoRate; uint256 public defaultBonussRate; // amount of raised money in wei uint256 public weiRaised; uint256 public tokensSold; uint256 public constant forSale = 16250000 ether; /** * event for token purchase logging * @param purchaser who paid for the tokens * @param beneficiary who got the tokens * @param value weis paid for purchase * @param amount amount of tokens purchased * @param releaseTime tokens unlock time */ event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount, uint256 releaseTime); /** * event upon endTime updated */ event EndTimeUpdated(); /** * EQUI token price updated */ event EQUIPriceUpdated(uint256 oldPrice, uint256 newPrice); /** * event for token releasing * @param holder who is releasing his tokens */ event TokenReleased(address indexed holder, uint256 amount); constructor() public { owner = address(0xe46d0049D4a4642bC875164bd9293a05dBa523f1); startTime = now; endTime = 1527811199; //GMT: Thursday, May 31, 2018 11:59:59 PM rate = 500000000000000; // 1 Token price: 0.0005 Ether == $0.35 @ Ether prie $700 roundOneRate = (rate.mul(6)).div(10); // price at 40% discount roundTwoRate = (rate.mul(65)).div(100); // price at 35% discount defaultBonussRate = (rate.mul(8)).div(10); // price at 20% discount wallet = address(0xccB84A750f386bf5A4FC8C29611ad59057968605); token = ERC20(0xE6FF2834b6Cf56DC23282A5444B297fAcCcA1b28); tokenWallet = address(0x4AA48F9cF25eB7d2c425780653c321cfaC458FA4); } // fallback function can be used to buy tokens function () external payable { buyTokens(msg.sender); } // low level token purchase function function buyTokens(address beneficiary) public payable whenNotPaused { require(beneficiary != address(0)); validPurchase(); uint256 weiAmount = msg.value; // calculate token amount to be created uint256 tokens = getTokenAmount(weiAmount); // update state weiRaised = weiRaised.add(weiAmount); tokensSold = tokensSold.add(tokens); balances[beneficiary] = balances[beneficiary].add(tokens); deposited[msg.sender] = deposited[msg.sender].add(weiAmount); updateRoundLimits(tokens); emit TokenPurchase(msg.sender, beneficiary, weiAmount, tokens, releaseTime); forwardFunds(); } // @return true if crowdsale event has ended function hasEnded() public view returns (bool) { return now > endTime; } uint256 public roundOneLimit = 9500000 ether; uint256 public roundTwoLimit = 6750000 ether; function updateRoundLimits(uint256 _amount) private { if (roundOneLimit > 0){ if(roundOneLimit > _amount){ roundOneLimit = roundOneLimit.sub(_amount); return; } else { _amount = _amount.sub(roundOneLimit); roundOneLimit = 0; } } roundTwoLimit = roundTwoLimit.sub(_amount); } function getTokenAmount(uint256 weiAmount) public view returns(uint256) { uint256 buffer = 0; uint256 tokens = 0; if(weiAmount < 1 ether) return (weiAmount.mul(1 ether)).div(defaultBonussRate); else if(weiAmount >= 1 ether) { if(roundOneLimit > 0){ uint256 amount = roundOneRate * roundOneLimit; if (weiAmount > amount){ buffer = weiAmount - amount; tokens = (amount.mul(1 ether)).div(roundOneRate); }else{ return (weiAmount.mul(1 ether)).div(roundOneRate); } } if(buffer > 0){ uint256 roundTwo = (buffer.mul(1 ether)).div(roundTwoRate); return tokens + roundTwo; } return (weiAmount.mul(1 ether)).div(roundTwoRate); } } // send ether to the fund collection wallet function forwardFunds() internal { wallet.transfer(msg.value); } // @return true if the transaction can buy tokens function validPurchase() internal view { require(msg.value != 0); require(now >= startTime && now <= endTime); } function updateEndTime(uint256 newTime) onlyOwner external { require(newTime > startTime); endTime = newTime; emit EndTimeUpdated(); } function updateEQUIPrice(uint256 weiAmount) onlyOwner external { require(weiAmount > 0); assert((1 ether) % weiAmount == 0); emit EQUIPriceUpdated(rate, weiAmount); rate = weiAmount; roundOneRate = (weiAmount.mul(6)).div(10); // price at 40% discount roundTwoRate = (weiAmount.mul(65)).div(100); // price at 35% discount defaultBonussRate = (weiAmount.mul(8)).div(10); // price at 20% discount } mapping(address => uint256) balances; mapping(address => uint256) internal deposited; uint256 public releaseTime = 1538351999; //September 30, 2018 11:59:59 PM /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } /** * @notice Transfers tokens held by timelock to beneficiary. */ function releaseEQUITokens(bytes32 hash, uint8 v, bytes32 r, bytes32 s) public whenNotPaused { require(now >= releaseTime); require(balances[msg.sender] > 0); uint256 amount = balances[msg.sender]; balances[msg.sender] = 0; require(isWhitelistedAddress(hash, v, r, s)); if(!token.transferFrom(tokenWallet,msg.sender,amount)){ revert(); } emit TokenReleased(msg.sender,amount); } function releaseEQUIWihtoutKYC() public whenNotPaused { require(now >= releaseTime); require(isKYCRequired == false); require(balances[msg.sender] > 0); uint256 amount = balances[msg.sender]; balances[msg.sender] = 0; if(!token.transferFrom(tokenWallet,msg.sender,amount)){ revert(); } emit TokenReleased(msg.sender,amount); } /** * @dev Checks the amount of tokens left in the allowance. * @return Amount of tokens left in the allowance */ function allowanceBalance() public view returns (uint256) { return token.allowance(tokenWallet, this); } } /** * @title RefundVault * @dev This contract is used for storing funds while a crowdsale * is in progress. Supports refunding the money if crowdsale fails, * and forwarding it if crowdsale is successful. */ contract Refundable is Crowdsale { uint256 public availableBalance; bool public refunding = false; event RefundStatusUpdated(); event Deposited(); event Withdraw(uint256 _amount); event Refunded(address indexed beneficiary, uint256 weiAmount); function deposit() onlyOwner public payable { availableBalance = availableBalance.add(msg.value); emit Deposited(); } function tweakRefundStatus() onlyOwner public { refunding = !refunding; emit RefundStatusUpdated(); } function refund() public { require(refunding); uint256 depositedValue = deposited[msg.sender]; deposited[msg.sender] = 0; msg.sender.transfer(depositedValue); emit Refunded(msg.sender, depositedValue); } function withDrawBack() onlyOwner public{ owner.transfer(contractbalance()); } function contractbalance() view public returns( uint256){ return address(this).balance; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"defaultBonussRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"releaseEQUIWihtoutKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"tweakRefundStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"roundTwoLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractbalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"roundTwoRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"forSale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withDrawBack","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newTime","type":"uint256"}],"name":"updateEndTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"whiteListed","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","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":"allowanceBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isKYCRequired","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"weiAmount","type":"uint256"}],"name":"updateEQUIPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"hash","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"releaseEQUITokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"disableKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"enableKYC","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"availableBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"releaseTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"weiAmount","type":"uint256"}],"name":"getTokenAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"roundOneLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"hash","type":"bytes32"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"name":"isWhitelistedAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"refunding","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"roundOneRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"RefundStatusUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"}],"name":"Refunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[],"name":"EndTimeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"}],"name":"EQUIPriceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenReleased","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
608060405260008060146101000a81548160ff02191690831515021790555060008060156101000a81548160ff0219169083151502179055506a07dbb4082c9ad179800000600d556a05955e3bb3e743fec00000600e55635bb1637f6011556000601360006101000a81548160ff021916908315150217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e46d0049d4a4642bc875164bd9293a05dba523f16000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600481905550635b108c7f6005819055506601c6bf5263400060078190555062000176600a6200015960066007546200031f64010000000002620022df179091906401000000009004565b6200035b6401000000000262002317179091906401000000009004565b600881905550620001c56064620001a860416007546200031f64010000000002620022df179091906401000000009004565b6200035b6401000000000262002317179091906401000000009004565b60098190555062000214600a620001f760086007546200031f64010000000002620022df179091906401000000009004565b6200035b6401000000000262002317179091906401000000009004565b600a8190555073ccb84a750f386bf5a4fc8c29611ad59057968605600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e6ff2834b6cf56dc23282a5444b297faccca1b28600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734aa48f9cf25eb7d2c425780653c321cfac458fa4600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000372565b60008083141562000334576000905062000355565b81830290508183828115156200034657fe5b041415156200035157fe5b8090505b92915050565b600081838115156200036957fe5b04905092915050565b61237280620003826000396000f3006080604052600436106101f9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063067ad784146102045780631fb8c0ed1461022f578063208a9e37146102465780632c4e722e1461025d5780632f76c31d1461028857806330e4f9aa146102b35780633197cbb6146102de57806336da9ec9146103095780633f4ba83a146103345780634042b66f1461034b578063466ccac014610376578063518ab2a8146103a1578063521eb273146103cc5780635395457414610423578063590e1ae31461043a5780635c975abb146104515780636ab3846b146104805780636dbd1e77146104ad57806370a082311461051e57806378e97925146105755780638456cb59146105a05780638da5cb5b146105b75780638f776ff11461060e57806391304f1f14610639578063991f6798146106685780639b855a85146106955780639df9a1db146106ef578063aae3d03114610706578063ab2f0e511461071d578063b91d400114610748578063bff99c6c14610773578063c2507ac1146107ca578063d0e30db01461080b578063e25209b614610815578063e86f669914610840578063ec8ac4d8146108b2578063ecb70fb7146108e8578063f2fde38b14610917578063f43e98c71461095a578063f6b3e08014610989578063fc0c546a146109b4575b61020233610a0b565b005b34801561021057600080fd5b50610219610c68565b6040518082815260200191505060405180910390f35b34801561023b57600080fd5b50610244610c6e565b005b34801561025257600080fd5b5061025b610f45565b005b34801561026957600080fd5b50610272610ff8565b6040518082815260200191505060405180910390f35b34801561029457600080fd5b5061029d610ffe565b6040518082815260200191505060405180910390f35b3480156102bf57600080fd5b506102c8611004565b6040518082815260200191505060405180910390f35b3480156102ea57600080fd5b506102f3611023565b6040518082815260200191505060405180910390f35b34801561031557600080fd5b5061031e611029565b6040518082815260200191505060405180910390f35b34801561034057600080fd5b5061034961102f565b005b34801561035757600080fd5b506103606110ed565b6040518082815260200191505060405180910390f35b34801561038257600080fd5b5061038b6110f3565b6040518082815260200191505060405180910390f35b3480156103ad57600080fd5b506103b6611102565b6040518082815260200191505060405180910390f35b3480156103d857600080fd5b506103e1611108565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561042f57600080fd5b5061043861112e565b005b34801561044657600080fd5b5061044f6111fa565b005b34801561045d57600080fd5b50610466611336565b604051808215151515815260200191505060405180910390f35b34801561048c57600080fd5b506104ab60048036038101908080359060200190929190505050611349565b005b3480156104b957600080fd5b506104dc60048036038101908080356000191690602001909291905050506113ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052a57600080fd5b5061055f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061141d565b6040518082815260200191505060405180910390f35b34801561058157600080fd5b5061058a611466565b6040518082815260200191505060405180910390f35b3480156105ac57600080fd5b506105b561146c565b005b3480156105c357600080fd5b506105cc61152c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061a57600080fd5b50610623611551565b6040518082815260200191505060405180910390f35b34801561064557600080fd5b5061064e6116a6565b604051808215151515815260200191505060405180910390f35b34801561067457600080fd5b50610693600480360381019080803590602001909291905050506116b9565b005b3480156106a157600080fd5b506106ed6004803603810190808035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050611814565b005b3480156106fb57600080fd5b50610704611ae4565b005b34801561071257600080fd5b5061071b611b76565b005b34801561072957600080fd5b50610732611c0a565b6040518082815260200191505060405180910390f35b34801561075457600080fd5b5061075d611c10565b6040518082815260200191505060405180910390f35b34801561077f57600080fd5b50610788611c16565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d657600080fd5b506107f560048036038101908080359060200190929190505050611c3c565b6040518082815260200191505060405180910390f35b610813611db4565b005b34801561082157600080fd5b5061082a611e58565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b506108986004803603810190808035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050611e5e565b604051808215151515815260200191505060405180910390f35b6108e6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a0b565b005b3480156108f457600080fd5b506108fd612013565b604051808215151515815260200191505060405180910390f35b34801561092357600080fd5b50610958600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061201f565b005b34801561096657600080fd5b5061096f612174565b604051808215151515815260200191505060405180910390f35b34801561099557600080fd5b5061099e612187565b6040518082815260200191505060405180910390f35b3480156109c057600080fd5b506109c961218d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600060149054906101000a900460ff16151515610a2a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a6657600080fd5b610a6e6121b3565b349150610a7a82611c3c565b9050610a9182600b546121e490919063ffffffff16565b600b81905550610aac81600c546121e490919063ffffffff16565b600c81905550610b0481600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e490919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9982601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e490919063ffffffff16565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610be581612200565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167efe0e12b43090c1fc19a34aefa5cc138a4eeafc60ab800f855c730b3fb9480e848460115460405180848152602001838152602001828152602001935050505060405180910390a3610c63612274565b505050565b600a5481565b60008060149054906101000a900460ff16151515610c8b57600080fd5b6011544210151515610c9c57600080fd5b60001515600060159054906101000a900460ff161515141515610cbe57600080fd5b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515610d0c57600080fd5b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610eae57600080fd5b505af1158015610ec2573d6000803e3d6000fd5b505050506040513d6020811015610ed857600080fd5b81019080805190602001909291905050501515610ef457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f9cf9e3ab58b33f06d81842ea0ad850b6640c6430d6396973312e1715792e7a91826040518082815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fa057600080fd5b601360009054906101000a900460ff1615601360006101000a81548160ff0219169083151502179055507f539e094a9381f6369205352644b82bf3247b0d41251b15f2b133ec0257df091360405160405180910390a1565b60075481565b600e5481565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b60055481565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561108a57600080fd5b600060149054906101000a900460ff1615156110a557600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600b5481565b6a0d711243e082157840000081565b600c5481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561118957600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6111cc611004565b9081150290604051600060405180830381858888f193505050501580156111f7573d6000803e3d6000fd5b50565b6000601360009054906101000a900460ff16151561121757600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112e4573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651826040518082815260200191505060405180910390a250565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a457600080fd5b600454811115156113b457600080fd5b806005819055507f1f706c64bc1901188d691c1a6eaf487e94cdfb9e61a6c8a0ab3692712c4f6c8b60405160405180910390a150565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114c757600080fd5b600060149054906101000a900460ff161515156114e357600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561166657600080fd5b505af115801561167a573d6000803e3d6000fd5b505050506040513d602081101561169057600080fd5b8101908080519060200190929190505050905090565b600060159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561171457600080fd5b60008111151561172357600080fd5b600081670de0b6b3a764000081151561173857fe5b0614151561174257fe5b7f8b5145042a342709e71019f8f668b88b1713955a92a211ade419c0dce96e88b360075482604051808381526020018281526020019250505060405180910390a1806007819055506117b1600a6117a36006846122df90919063ffffffff16565b61231790919063ffffffff16565b6008819055506117de60646117d06041846122df90919063ffffffff16565b61231790919063ffffffff16565b60098190555061180b600a6117fd6008846122df90919063ffffffff16565b61231790919063ffffffff16565b600a8190555050565b60008060149054906101000a900460ff1615151561183157600080fd5b601154421015151561184257600080fd5b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561189057600080fd5b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061192385858585611e5e565b151561192e57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611a4957600080fd5b505af1158015611a5d573d6000803e3d6000fd5b505050506040513d6020811015611a7357600080fd5b81019080805190602001909291905050501515611a8f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f9cf9e3ab58b33f06d81842ea0ad850b6640c6430d6396973312e1715792e7a91826040518082815260200191505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b3f57600080fd5b600060159054906101000a900460ff161515611b5a57600080fd5b60008060156101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bd157600080fd5b600060159054906101000a900460ff16151515611bed57600080fd5b6001600060156101000a81548160ff021916908315150217905550565b60125481565b60115481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600080935060009250670de0b6b3a7640000861015611c9157611c8a600a54611c7c670de0b6b3a7640000896122df90919063ffffffff16565b61231790919063ffffffff16565b9450611dab565b670de0b6b3a764000086101515611daa576000600d541115611d3057600d5460085402915081861115611cf9578186039350611cf2600854611ce4670de0b6b3a7640000856122df90919063ffffffff16565b61231790919063ffffffff16565b9250611d2f565b611d28600854611d1a670de0b6b3a7640000896122df90919063ffffffff16565b61231790919063ffffffff16565b9450611dab565b5b6000841115611d7457611d68600954611d5a670de0b6b3a7640000876122df90919063ffffffff16565b61231790919063ffffffff16565b90508083019450611dab565b611da3600954611d95670de0b6b3a7640000896122df90919063ffffffff16565b61231790919063ffffffff16565b9450611dab565b5b50505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0f57600080fd5b611e24346012546121e490919063ffffffff16565b6012819055507fe78c52703146d72c70116227b622aeda4563a85894645e22555019045701d8d960405160405180910390a1565b600d5481565b60008073ffffffffffffffffffffffffffffffffffffffff1660016000876000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ed257fe5b600185858585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015611f49573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611fad57600080fd5b3360016000876000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050949350505050565b60006005544211905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561207a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120b657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601360009054906101000a900460ff1681565b60085481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600034141515156121c357600080fd5b60045442101580156121d757506005544211155b15156121e257600080fd5b565b600081830190508281101515156121f757fe5b80905092915050565b6000600d5411156122555780600d5411156122355761222a81600d5461232d90919063ffffffff16565b600d81905550612271565b61224a600d548261232d90919063ffffffff16565b90506000600d819055505b61226a81600e5461232d90919063ffffffff16565b600e819055505b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156122dc573d6000803e3d6000fd5b50565b6000808314156122f25760009050612311565b818302905081838281151561230357fe5b0414151561230d57fe5b8090505b92915050565b6000818381151561232457fe5b04905092915050565b600082821115151561233b57fe5b8183039050929150505600a165627a7a72305820a1b1fcc02fb0f1582135a238aa23042a3c578fe833e08573187fc79838557dae0029
Deployed Bytecode
0x6080604052600436106101f9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063067ad784146102045780631fb8c0ed1461022f578063208a9e37146102465780632c4e722e1461025d5780632f76c31d1461028857806330e4f9aa146102b35780633197cbb6146102de57806336da9ec9146103095780633f4ba83a146103345780634042b66f1461034b578063466ccac014610376578063518ab2a8146103a1578063521eb273146103cc5780635395457414610423578063590e1ae31461043a5780635c975abb146104515780636ab3846b146104805780636dbd1e77146104ad57806370a082311461051e57806378e97925146105755780638456cb59146105a05780638da5cb5b146105b75780638f776ff11461060e57806391304f1f14610639578063991f6798146106685780639b855a85146106955780639df9a1db146106ef578063aae3d03114610706578063ab2f0e511461071d578063b91d400114610748578063bff99c6c14610773578063c2507ac1146107ca578063d0e30db01461080b578063e25209b614610815578063e86f669914610840578063ec8ac4d8146108b2578063ecb70fb7146108e8578063f2fde38b14610917578063f43e98c71461095a578063f6b3e08014610989578063fc0c546a146109b4575b61020233610a0b565b005b34801561021057600080fd5b50610219610c68565b6040518082815260200191505060405180910390f35b34801561023b57600080fd5b50610244610c6e565b005b34801561025257600080fd5b5061025b610f45565b005b34801561026957600080fd5b50610272610ff8565b6040518082815260200191505060405180910390f35b34801561029457600080fd5b5061029d610ffe565b6040518082815260200191505060405180910390f35b3480156102bf57600080fd5b506102c8611004565b6040518082815260200191505060405180910390f35b3480156102ea57600080fd5b506102f3611023565b6040518082815260200191505060405180910390f35b34801561031557600080fd5b5061031e611029565b6040518082815260200191505060405180910390f35b34801561034057600080fd5b5061034961102f565b005b34801561035757600080fd5b506103606110ed565b6040518082815260200191505060405180910390f35b34801561038257600080fd5b5061038b6110f3565b6040518082815260200191505060405180910390f35b3480156103ad57600080fd5b506103b6611102565b6040518082815260200191505060405180910390f35b3480156103d857600080fd5b506103e1611108565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561042f57600080fd5b5061043861112e565b005b34801561044657600080fd5b5061044f6111fa565b005b34801561045d57600080fd5b50610466611336565b604051808215151515815260200191505060405180910390f35b34801561048c57600080fd5b506104ab60048036038101908080359060200190929190505050611349565b005b3480156104b957600080fd5b506104dc60048036038101908080356000191690602001909291905050506113ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052a57600080fd5b5061055f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061141d565b6040518082815260200191505060405180910390f35b34801561058157600080fd5b5061058a611466565b6040518082815260200191505060405180910390f35b3480156105ac57600080fd5b506105b561146c565b005b3480156105c357600080fd5b506105cc61152c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061a57600080fd5b50610623611551565b6040518082815260200191505060405180910390f35b34801561064557600080fd5b5061064e6116a6565b604051808215151515815260200191505060405180910390f35b34801561067457600080fd5b50610693600480360381019080803590602001909291905050506116b9565b005b3480156106a157600080fd5b506106ed6004803603810190808035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050611814565b005b3480156106fb57600080fd5b50610704611ae4565b005b34801561071257600080fd5b5061071b611b76565b005b34801561072957600080fd5b50610732611c0a565b6040518082815260200191505060405180910390f35b34801561075457600080fd5b5061075d611c10565b6040518082815260200191505060405180910390f35b34801561077f57600080fd5b50610788611c16565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d657600080fd5b506107f560048036038101908080359060200190929190505050611c3c565b6040518082815260200191505060405180910390f35b610813611db4565b005b34801561082157600080fd5b5061082a611e58565b6040518082815260200191505060405180910390f35b34801561084c57600080fd5b506108986004803603810190808035600019169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190505050611e5e565b604051808215151515815260200191505060405180910390f35b6108e6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a0b565b005b3480156108f457600080fd5b506108fd612013565b604051808215151515815260200191505060405180910390f35b34801561092357600080fd5b50610958600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061201f565b005b34801561096657600080fd5b5061096f612174565b604051808215151515815260200191505060405180910390f35b34801561099557600080fd5b5061099e612187565b6040518082815260200191505060405180910390f35b3480156109c057600080fd5b506109c961218d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600080600060149054906101000a900460ff16151515610a2a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a6657600080fd5b610a6e6121b3565b349150610a7a82611c3c565b9050610a9182600b546121e490919063ffffffff16565b600b81905550610aac81600c546121e490919063ffffffff16565b600c81905550610b0481600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e490919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9982601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121e490919063ffffffff16565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610be581612200565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167efe0e12b43090c1fc19a34aefa5cc138a4eeafc60ab800f855c730b3fb9480e848460115460405180848152602001838152602001828152602001935050505060405180910390a3610c63612274565b505050565b600a5481565b60008060149054906101000a900460ff16151515610c8b57600080fd5b6011544210151515610c9c57600080fd5b60001515600060159054906101000a900460ff161515141515610cbe57600080fd5b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515610d0c57600080fd5b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610eae57600080fd5b505af1158015610ec2573d6000803e3d6000fd5b505050506040513d6020811015610ed857600080fd5b81019080805190602001909291905050501515610ef457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f9cf9e3ab58b33f06d81842ea0ad850b6640c6430d6396973312e1715792e7a91826040518082815260200191505060405180910390a250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fa057600080fd5b601360009054906101000a900460ff1615601360006101000a81548160ff0219169083151502179055507f539e094a9381f6369205352644b82bf3247b0d41251b15f2b133ec0257df091360405160405180910390a1565b60075481565b600e5481565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b60055481565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561108a57600080fd5b600060149054906101000a900460ff1615156110a557600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600b5481565b6a0d711243e082157840000081565b600c5481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561118957600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6111cc611004565b9081150290604051600060405180830381858888f193505050501580156111f7573d6000803e3d6000fd5b50565b6000601360009054906101000a900460ff16151561121757600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112e4573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651826040518082815260200191505060405180910390a250565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a457600080fd5b600454811115156113b457600080fd5b806005819055507f1f706c64bc1901188d691c1a6eaf487e94cdfb9e61a6c8a0ab3692712c4f6c8b60405160405180910390a150565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114c757600080fd5b600060149054906101000a900460ff161515156114e357600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561166657600080fd5b505af115801561167a573d6000803e3d6000fd5b505050506040513d602081101561169057600080fd5b8101908080519060200190929190505050905090565b600060159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561171457600080fd5b60008111151561172357600080fd5b600081670de0b6b3a764000081151561173857fe5b0614151561174257fe5b7f8b5145042a342709e71019f8f668b88b1713955a92a211ade419c0dce96e88b360075482604051808381526020018281526020019250505060405180910390a1806007819055506117b1600a6117a36006846122df90919063ffffffff16565b61231790919063ffffffff16565b6008819055506117de60646117d06041846122df90919063ffffffff16565b61231790919063ffffffff16565b60098190555061180b600a6117fd6008846122df90919063ffffffff16565b61231790919063ffffffff16565b600a8190555050565b60008060149054906101000a900460ff1615151561183157600080fd5b601154421015151561184257600080fd5b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561189057600080fd5b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061192385858585611e5e565b151561192e57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611a4957600080fd5b505af1158015611a5d573d6000803e3d6000fd5b505050506040513d6020811015611a7357600080fd5b81019080805190602001909291905050501515611a8f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f9cf9e3ab58b33f06d81842ea0ad850b6640c6430d6396973312e1715792e7a91826040518082815260200191505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b3f57600080fd5b600060159054906101000a900460ff161515611b5a57600080fd5b60008060156101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bd157600080fd5b600060159054906101000a900460ff16151515611bed57600080fd5b6001600060156101000a81548160ff021916908315150217905550565b60125481565b60115481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600080935060009250670de0b6b3a7640000861015611c9157611c8a600a54611c7c670de0b6b3a7640000896122df90919063ffffffff16565b61231790919063ffffffff16565b9450611dab565b670de0b6b3a764000086101515611daa576000600d541115611d3057600d5460085402915081861115611cf9578186039350611cf2600854611ce4670de0b6b3a7640000856122df90919063ffffffff16565b61231790919063ffffffff16565b9250611d2f565b611d28600854611d1a670de0b6b3a7640000896122df90919063ffffffff16565b61231790919063ffffffff16565b9450611dab565b5b6000841115611d7457611d68600954611d5a670de0b6b3a7640000876122df90919063ffffffff16565b61231790919063ffffffff16565b90508083019450611dab565b611da3600954611d95670de0b6b3a7640000896122df90919063ffffffff16565b61231790919063ffffffff16565b9450611dab565b5b50505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0f57600080fd5b611e24346012546121e490919063ffffffff16565b6012819055507fe78c52703146d72c70116227b622aeda4563a85894645e22555019045701d8d960405160405180910390a1565b600d5481565b60008073ffffffffffffffffffffffffffffffffffffffff1660016000876000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611ed257fe5b600185858585604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af1158015611f49573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611fad57600080fd5b3360016000876000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050949350505050565b60006005544211905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561207a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156120b657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601360009054906101000a900460ff1681565b60085481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600034141515156121c357600080fd5b60045442101580156121d757506005544211155b15156121e257600080fd5b565b600081830190508281101515156121f757fe5b80905092915050565b6000600d5411156122555780600d5411156122355761222a81600d5461232d90919063ffffffff16565b600d81905550612271565b61224a600d548261232d90919063ffffffff16565b90506000600d819055505b61226a81600e5461232d90919063ffffffff16565b600e819055505b50565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156122dc573d6000803e3d6000fd5b50565b6000808314156122f25760009050612311565b818302905081838281151561230357fe5b0414151561230d57fe5b8090505b92915050565b6000818381151561232457fe5b04905092915050565b600082821115151561233b57fe5b8183039050929150505600a165627a7a72305820a1b1fcc02fb0f1582135a238aa23042a3c578fe833e08573187fc79838557dae0029
Swarm Source
bzzr://a1b1fcc02fb0f1582135a238aa23042a3c578fe833e08573187fc79838557dae
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.