Sponsored Link:   Buy your 1st Ethereum in 5 minutes. Trusted by more than 100k buyers.
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 16 txns
  Latest 16 txns

TxHash Age From To Value [TxFee]
0xd4db6bc5ca3435bc14b1b700395e22806ea950a326044075b6671e8b105a6d7c28 days 13 hrs ago0x4e9b244f856ae950265d511e847fb1d3eccf961f  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae30.09 Ether0.000441
0xf23c6c1e21f0a3fe47b8a61a8e82adf22a0c56367af4714451438ec5848ebb2128 days 13 hrs ago0xbdf9b5bda53c709cce44a073067b3e26afe1d816  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae30.1 Ether0.000550175
0x6a5ee29705b209ebb7f59ce12bd48fa6d24352f54435f7507633a1f6cbf25b2e28 days 13 hrs ago0x4e9b244f856ae950265d511e847fb1d3eccf961f  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae30.09 Ether0.000441
0x6e8deac4da0d66e2396fe8cb408acfa8972844e8f6bd1af55aeaf99e8f644c4c28 days 14 hrs ago0xffb6e3b4aca5bbefdc509df34f8b5567fcba78d1  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae32.6 Ether0.000980931
0xd5f5f515515efa252e3a8bfcc302c3d2633b66d5c7176bc1a45df50b3f5265de28 days 14 hrs ago0xffb6e3b4aca5bbefdc509df34f8b5567fcba78d1  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae32.6 Ether0.000882
0x41077218c2d1539ab1554895ee9ea36b397302a28ff112a1081e83df0f35632928 days 14 hrs ago0x6037e3fd14b477923ffb0f3559e32c99b4cddc5f  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae31.5 Ether0.00093422
0x77e86682ea927edcca696ad39df82925d39061555f5bf51b7038a3f2fee3000f28 days 14 hrs ago0xffb6e3b4aca5bbefdc509df34f8b5567fcba78d1  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae32.5 Ether0.000441
0xcd027624301363626bdcb35f59c5c6bfe7b54545d6db1b56f77e3eb985c6100128 days 15 hrs ago0xffb6e3b4aca5bbefdc509df34f8b5567fcba78d1  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae32.5 Ether0.000441
0x0dbe3c4b624bd910525424801b9687bfc70f1540754db85ae6157fe11468f76928 days 16 hrs ago0x1fd6267f0d86f62d88172b998390afee2a1f54b6  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae30.100978 Ether0.00044748
0x2d297847e12ccb5f9e72d1c754cef109874fd85b36cbb0e7da73c7aff51fa28628 days 21 hrs ago0xeff83189082e8c5f9698286ed860a30790e5d726  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae30 Ether0.00050274
0x8f3d45e2868d188ffb4b0aacdbaafed6c3a3428c30319cb7f5d7d54ee3465d4d28 days 23 hrs ago0xb4a5ebb6a0fe829c5bd7e829c39ea9386b0674cb  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae30.05 Ether0.00044014
0x2e9e1b10dd3d88c0c9c2ca923134446895866eee6be53be585f4d774127bafd628 days 23 hrs ago0xb4a5ebb6a0fe829c5bd7e829c39ea9386b0674cb  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae30.05 Ether0.00044014
0xdb57fb07a9999289672c7a56147e2fd93143c8f9a13e1f4891ea943b68b2cc5929 days 2 mins ago0xdce4c92be6cd3b396033406a5ec700a8d4f8e102  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae32.95 Ether0.000980931
0xe571b7ec7ad3d4ed8db83a672a7293a981c788c641f661657884251378a224bb29 days 17 mins ago0xdce4c92be6cd3b396033406a5ec700a8d4f8e102  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae32.96 Ether0.000441
0x447a2be4780113aa732cef508d3dd0140ef9e0f37a9d98170bd47657045e3e9129 days 3 hrs ago0xffb6e3b4aca5bbefdc509df34f8b5567fcba78d1  IN  0x6e428d863aa57b457b038ab1f0e34d77f736bae30.25 Ether0.000441
0x38d6c003b26a81ae583df565021e8385e5cbc7d6ad88ca9016b84022fd85ea2429 days 7 hrs ago0xcad0afb8ec657d0db9518b930855534f6433360f  IN    Contract Creation0 Ether0.0066024783
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 1 Internal Transaction

ParentTxHash Block Age From To Value
0x38d6c003b26a81ae583df565021e8385e5cbc7d6ad88ca9016b84022fd85ea24455478629 days 7 hrs ago0x6e428d863aa57b457b038ab1f0e34d77f736bae3  Contract Creation0 Ether
[ Download CSV Export  ] 
Contract Source Code Verified
Contract Name: Crowdsale
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.18;


library SafeMath {
  function mul(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

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

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

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

contract IOwned {
  function owner() public constant returns (address) { owner; }
  function transferOwnership(address _newOwner) public;
}

contract Owned is IOwned {
  address public owner;

  function Owned() public {
    owner = msg.sender;
  }

  modifier validAddress(address _address) {
    require(_address != 0x0);
    _;
  }
  modifier onlyOwner {
    assert(msg.sender == owner);
    _;
  }
  
  function transferOwnership(address _newOwner) public validAddress(_newOwner) onlyOwner {
    require(_newOwner != owner);
    
    owner = _newOwner;
  }
}



contract IERC20Token {
  function name() public constant returns (string) { name; }
  function symbol() public constant returns (string) { symbol; }
  function decimals() public constant returns (uint8) { decimals; }
  function totalSupply() public constant returns (uint256) { totalSupply; }
  function balanceOf(address _owner) public constant returns (uint256 balance) { _owner; balance; }
  function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { _owner; _spender; remaining; }

  function transfer(address _to, uint256 _value) public returns (bool);
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool);
  function approve(address _spender, uint256 _value) public returns (bool);
}

contract ERC20Token is IERC20Token {
  using SafeMath for uint256;

  string public standard = 'Token 0.1';
  string public name = '';
  string public symbol = '';
  uint8 public decimals = 0;
  uint256 public totalSupply = 0;
  mapping (address => uint256) public balanceOf;
  mapping (address => mapping (address => uint256)) public allowance;

  event Transfer(address indexed _from, address indexed _to, uint256 _value);
  event Approval(address indexed _owner, address indexed _spender, uint256 _value);

  function ERC20Token(string _name, string _symbol, uint8 _decimals) public {
    require(bytes(_name).length > 0 && bytes(_symbol).length > 0);
    name = _name;
    symbol = _symbol;
    decimals = _decimals;
  }

  modifier validAddress(address _address) {
    require(_address != 0x0);
    _;
  }

  function transfer(address _to, uint256 _value) public validAddress(_to) returns (bool) {
    balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
    balanceOf[_to] = balanceOf[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    
    return true;
  }

  function transferFrom(address _from, address _to, uint256 _value) public validAddress(_to) returns (bool) {
    allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);
    balanceOf[_from] = balanceOf[_from].sub(_value);
    balanceOf[_to] = balanceOf[_to].add(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  function approve(address _spender, uint256 _value) public validAddress(_spender) returns (bool) {
    require(_value == 0 || allowance[msg.sender][_spender] == 0);
    allowance[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }
}


contract ISerenityToken {
  function initialSupply () public constant returns (uint256) { initialSupply; }

  function totalSoldTokens () public constant returns (uint256) { totalSoldTokens; }
  function totalProjectToken() public constant returns (uint256) { totalProjectToken; }

  function fundingEnabled() public constant returns (bool) { fundingEnabled; }
  function transfersEnabled() public constant returns (bool) { transfersEnabled; }
}

contract SerenityToken is ISerenityToken, ERC20Token, Owned {
  using SafeMath for uint256;
 
  address public fundingWallet;
  bool public fundingEnabled = true;
  uint256 public maxSaleToken = 3500000;
  uint256 public initialSupply = 350000 ether;
  uint256 public totalSoldTokens;
  uint256 public totalProjectToken;
  uint256 private totalLockToken;
  bool public transfersEnabled = false; 

  mapping (address => bool) private fundingWallets;
  mapping (address => allocationLock) public allocations;

  struct allocationLock {
    uint256 value;
    uint256 end;
    bool locked;
  }

  event Finalize(address indexed _from, uint256 _value);
  event Lock(address indexed _from, address indexed _to, uint256 _value, uint256 _end);
  event Unlock(address indexed _from, address indexed _to, uint256 _value);
  event DisableTransfers(address indexed _from);

  function SerenityToken() ERC20Token("SERENITY INVEST", "SERENITY", 18) public {
    fundingWallet = msg.sender; 

    balanceOf[fundingWallet] = maxSaleToken;

    fundingWallets[fundingWallet] = true;
    fundingWallets[0x47c8F28e6056374aBA3DF0854306c2556B104601] = true;
  }

  modifier validAddress(address _address) {
    require(_address != 0x0);
    _;
  }

  modifier transfersAllowed(address _address) {
    if (fundingEnabled) {
      require(fundingWallets[_address]);
    }

    require(transfersEnabled);
    _;
  }

  function transfer(address _to, uint256 _value) public validAddress(_to) transfersAllowed(msg.sender) returns (bool) {
    return super.transfer(_to, _value);
  }

  function transferFrom(address _from, address _to, uint256 _value) public validAddress(_to) transfersAllowed(_from) returns (bool) {
    return super.transferFrom(_from, _to, _value);
  }

  function lock(address _to, uint256 _value, uint256 _end) internal validAddress(_to) onlyOwner returns (bool) {
    require(_value > 0);

    assert(totalProjectToken > 0);
    totalLockToken = totalLockToken.add(_value);
    assert(totalProjectToken >= totalLockToken);

    require(allocations[_to].value == 0);

    // Assign a new lock.
    allocations[_to] = allocationLock({
      value: _value,
      end: _end,
      locked: true
    });

    Lock(this, _to, _value, _end);

    return true;
  }

  function unlock() external {
    require(allocations[msg.sender].locked);
    require(now >= allocations[msg.sender].end);
    
    balanceOf[msg.sender] = balanceOf[msg.sender].add(allocations[msg.sender].value);

    allocations[msg.sender].locked = false;

    Transfer(this, msg.sender, allocations[msg.sender].value);
    Unlock(this, msg.sender, allocations[msg.sender].value);
  }

  function finalize() external onlyOwner {
    require(fundingEnabled);
    
    totalSoldTokens = maxSaleToken.sub(balanceOf[fundingWallet]);

    totalProjectToken = totalSoldTokens.mul(15).div(100);

    lock(0x47c8F28e6056374aBA3DF0854306c2556B104601, totalProjectToken, now);
    
    // Zeroing a cold wallet.
    balanceOf[fundingWallet] = 0;

    // End of crowdfunding.
    fundingEnabled = false;
    transfersEnabled = true;

    // End of crowdfunding.
    Transfer(this, fundingWallet, 0);
    Finalize(msg.sender, totalSupply);
  }

  function disableTransfers() external onlyOwner {
    require(transfersEnabled);

    transfersEnabled = false;

    DisableTransfers(msg.sender);
  }

  function disableFundingWallets(address _address) external onlyOwner {
    require(fundingEnabled);
    require(fundingWallet != _address);
    require(fundingWallets[_address]);

    fundingWallets[_address] = false;
  }
}



contract Crowdsale {
  using SafeMath for uint256;

  SerenityToken public token;

  mapping(uint256 => uint8) icoWeeksDiscounts; 

  uint256 public preStartTime = 1510704000;
  uint256 public preEndTime = 1512086400; 

  bool public isICOStarted = false; 
  uint256 public icoStartTime; 
  uint256 public icoEndTime; 

  address public wallet = 0x47c8F28e6056374aBA3DF0854306c2556B104601;
  uint256 public tokensPerEth = 10;
  uint256 public weiRaised;
  uint256 public ethRaised;

  event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount);

  modifier validAddress(address _address) {
    require(_address != 0x0);
    _;
  }

  function Crowdsale() public {
    token = createTokenContract();
    initDiscounts();
  }

  function initDiscounts() internal {
    icoWeeksDiscounts[0] = 40;
    icoWeeksDiscounts[1] = 35;
    icoWeeksDiscounts[2] = 30;
    icoWeeksDiscounts[3] = 25;
    icoWeeksDiscounts[4] = 20;
    icoWeeksDiscounts[5] = 10;
  }

  function createTokenContract() internal returns (SerenityToken) {
    return new SerenityToken();
  }

  function () public payable {
    buyTokens(msg.sender);
  }

  function getTimeDiscount() internal returns(uint8) {
    require(isICOStarted == true);
    require(icoStartTime < now);
    require(icoEndTime > now);

    uint256 weeksPassed = (now - icoStartTime) / 7 days;
    return icoWeeksDiscounts[weeksPassed];
  } 

  function getTotalSoldDiscount() internal returns(uint8) {
    require(isICOStarted == true);
    require(icoStartTime < now);
    require(icoEndTime > now);

    uint256 totalSold = token.totalSoldTokens();

    if (totalSold < 150000)
      return 50;
    else if (totalSold < 250000)
      return 40;
    else if (totalSold < 500000)
      return 35;
    else if (totalSold < 700000)
      return 30;
    else if (totalSold < 1100000)
      return 25;
    else if (totalSold < 2100000)
      return 20;
    else if (totalSold < 3500000)
      return 10;
  }

  function getDiscount() internal constant returns (uint8) {
    if (!isICOStarted)
      return 50;
    else {
      uint8 timeDiscount = getTimeDiscount();
      uint8 totalSoldDiscount = getTotalSoldDiscount();

      if (timeDiscount < totalSoldDiscount)
        return timeDiscount;
      else 
        return totalSoldDiscount;
    }
  }

  function buyTokens(address beneficiary) public validAddress(beneficiary) payable {
    require(validPurchase());
    require(msg.value > 1 ether);

    uint256 ethAmount = msg.value / 1 ether;

    uint8 discountPercents = getDiscount();
    uint256 costWithDiscount = tokensPerEth.div(100 - discountPercents).mul(100);
    uint256 tokens = ethAmount.mul(costWithDiscount);

    weiRaised = weiRaised.add(ethAmount * 1 ether);

    token.transfer(beneficiary, tokens);
    TokenPurchase(msg.sender, beneficiary, ethAmount * 1 ether , tokens);

    forwardFunds();
  }

  function activeteICO(uint256 _icoEndTime) public {
    require(msg.sender == wallet);
    require(_icoEndTime >= now);
    require(_icoEndTime >= preEndTime);
    require(isICOStarted == false);
      
    isICOStarted = true;
    icoEndTime = _icoEndTime;
  }

  function forwardFunds() internal {
    wallet.transfer(msg.value);
  }

  function validPurchase() internal constant returns (bool) {
    bool withinPresalePeriod = now >= preStartTime && now <= preEndTime;
    bool withinICOPeriod = isICOStarted && now >= icoStartTime && now <= icoEndTime;

    bool nonZeroPurchase = msg.value != 0;
    
    return (withinPresalePeriod || withinICOPeriod) && nonZeroPurchase;
  }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preStartTime","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":"_icoEndTime","type":"uint256"}],"name":"activeteICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isICOStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052635a0b8380600255635a209b806003556000600460006101000a81548160ff0219169083151502179055507347c8f28e6056374aba3df0854306c2556b104601600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a600855341561009457600080fd5b6100af61010e64010000000002610aad176401000000009004565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061010961013364010000000002610ad5176401000000009004565b610258565b6000610118610248565b604051809103906000f080151561012e57600080fd5b905090565b60286001600080815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506023600160006001815260200190815260200160002060006101000a81548160ff021916908360ff160217905550601e600160006002815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506019600160006003815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506014600160006004815260200190815260200160002060006101000a81548160ff021916908360ff160217905550600a600160006005815260200190815260200160002060006101000a81548160ff021916908360ff160217905550565b6040516123728061320083390190565b612f99806102676000396000f300606060405260043610620000c7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634042b66f14620000d45780634dc412101462000100578063521eb273146200012c5780636f34180414620001845780637e1055b614620001aa578063a12c256414620001d6578063a7c3d71b1462000202578063cbdd69b5146200022e578063ec2f39b4146200025a578063ec8ac4d8146200028a578063fc0c546a14620002ba578063fddf0fc01462000312575b620000d2336200033e565b005b3415620000e057600080fd5b620000ea620005a1565b6040518082815260200191505060405180910390f35b34156200010c57600080fd5b62000116620005a7565b6040518082815260200191505060405180910390f35b34156200013857600080fd5b62000142620005ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156200019057600080fd5b620001a86004808035906020019091905050620005d3565b005b3415620001b657600080fd5b620001c06200069a565b6040518082815260200191505060405180910390f35b3415620001e257600080fd5b620001ec620006a0565b6040518082815260200191505060405180910390f35b34156200020e57600080fd5b62000218620006a6565b6040518082815260200191505060405180910390f35b34156200023a57600080fd5b62000244620006ac565b6040518082815260200191505060405180910390f35b34156200026657600080fd5b62000270620006b2565b604051808215151515815260200191505060405180910390f35b620002b8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506200033e565b005b3415620002c657600080fd5b620002d0620006c5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156200031e57600080fd5b62000328620006ea565b6040518082815260200191505060405180910390f35b6000806000808460008173ffffffffffffffffffffffffffffffffffffffff16141515156200036c57600080fd5b62000376620006f0565b15156200038257600080fd5b670de0b6b3a7640000341115156200039957600080fd5b670de0b6b3a764000034811515620003ad57fe5b049450620003ba62000760565b9350620003ee6064620003df8660640360ff16600854620007bf90919063ffffffff16565b620007db90919063ffffffff16565b9250620004058386620007db90919063ffffffff16565b915062000428670de0b6b3a764000086026009546200081190919063ffffffff16565b6009819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515620004fb57600080fd5b6102c65a03f115156200050d57600080fd5b50505060405180519050508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18670de0b6b3a7640000880285604051808381526020018281526020019250505060405180910390a36200059962000830565b505050505050565b60095481565b60025481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156200063057600080fd5b4281101515156200064057600080fd5b60035481101515156200065257600080fd5b60001515600460009054906101000a900460ff1615151415156200067557600080fd5b6001600460006101000a81548160ff0219169083151502179055508060068190555050565b60065481565b60035481565b60055481565b60085481565b600460009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b60008060008060025442101580156200070b57506003544211155b9250600460009054906101000a900460ff1680156200072c57506005544210155b80156200073b57506006544211155b91506000341415905082806200074e5750815b8015620007585750805b935050505090565b6000806000600460009054906101000a900460ff161515620007865760329250620007ba565b6200079062000895565b91506200079c6200091a565b90508060ff168260ff161015620007b657819250620007ba565b8092505b505090565b6000808284811515620007ce57fe5b0490508091505092915050565b60008082840290506000841480620007fe5750828482811515620007fb57fe5b04145b15156200080757fe5b8091505092915050565b60008082840190508381101515156200082657fe5b8091505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156200089357600080fd5b565b60008060011515600460009054906101000a900460ff161515141515620008bb57600080fd5b42600554101515620008cc57600080fd5b42600654111515620008dd57600080fd5b62093a806005544203811515620008f057fe5b0490506001600082815260200190815260200160002060009054906101000a900460ff1691505090565b60008060011515600460009054906101000a900460ff1615151415156200094057600080fd5b426005541015156200095157600080fd5b426006541115156200096257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d7ca99496000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515620009f057600080fd5b6102c65a03f1151562000a0257600080fd5b505050604051805190509050620249f081101562000a24576032915062000aa9565b6203d09081101562000a3a576028915062000aa9565b6207a12081101562000a50576023915062000aa9565b620aae6081101562000a6657601e915062000aa9565b6210c8e081101562000a7c576019915062000aa9565b62200b2081101562000a92576014915062000aa9565b623567e081101562000aa857600a915062000aa9565b5b5090565b600062000ab962000bea565b604051809103906000f080151562000ad057600080fd5b905090565b60286001600080815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506023600160006001815260200190815260200160002060006101000a81548160ff021916908360ff160217905550601e600160006002815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506019600160006003815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506014600160006004815260200190815260200160002060006101000a81548160ff021916908360ff160217905550600a600160006005815260200190815260200160002060006101000a81548160ff021916908360ff160217905550565b6040516123728062000bfc83390190560060606040526040805190810160405280600981526020017f546f6b656e20302e3100000000000000000000000000000000000000000000008152506000908051906020019062000051929190620003cf565b506020604051908101604052806000815250600190805190602001906200007a929190620003cf565b50602060405190810160405280600081525060029080519060200190620000a3929190620003cf565b506000600360006101000a81548160ff021916908360ff16021790555060006004556001600860146101000a81548160ff021916908315150217905550623567e0600955694a1d89bb94865ec00000600a556000600e60006101000a81548160ff02191690831515021790555034156200011c57600080fd5b6040805190810160405280600f81526020017f534552454e49545920494e5645535400000000000000000000000000000000008152506040805190810160405280600881526020017f534552454e4954590000000000000000000000000000000000000000000000008152506012600083511180156200019d575060008251115b1515620001a957600080fd5b8260019080519060200190620001c1929190620003cf565b508160029080519060200190620001da929190620003cf565b5080600360006101000a81548160ff021916908360ff16021790555050505033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095460056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60007347c8f28e6056374aba3df0854306c2556b10460173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200047e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200041257805160ff191683800117855562000443565b8280016001018555821562000443579182015b828111156200044257825182559160200191906001019062000425565b5b50905062000452919062000456565b5090565b6200047b91905b80821115620004775760008160009055506001016200045d565b5090565b90565b611ee4806200048e6000396000f30060606040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610143578063095ea7b3146101d157806318160ddd1461022b57806323b872dd14610254578063313ce567146102cd578063378dc3dc146102fc5780633a67a0f6146103255780633c4b40b81461033a5780634bb278f31461038f57806352a9039c146103a457806354d18864146104035780635923c7f91461042c5780635a3b7e421461045557806370a08231146104e35780638da5cb5b1461053057806395d89b4114610585578063a69df4b514610613578063a9059cbb14610628578063b9d2fa3514610682578063bef97c87146106bb578063d7ca9949146106e8578063dd62ed3e14610711578063e10e95c91461077d578063f2fde38b146107aa575b600080fd5b341561014e57600080fd5b6101566107e3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019657808201518184015260208101905061017b565b50505050905090810190601f1680156101c35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101dc57600080fd5b610211600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610881565b604051808215151515815260200191505060405180910390f35b341561023657600080fd5b61023e610a31565b6040518082815260200191505060405180910390f35b341561025f57600080fd5b6102b3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a37565b604051808215151515815260200191505060405180910390f35b34156102d857600080fd5b6102e0610b00565b604051808260ff1660ff16815260200191505060405180910390f35b341561030757600080fd5b61030f610b13565b6040518082815260200191505060405180910390f35b341561033057600080fd5b610338610b19565b005b341561034557600080fd5b61034d610bed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561039a57600080fd5b6103a2610c13565b005b34156103af57600080fd5b6103db600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ecb565b6040518084815260200183815260200182151515158152602001935050505060405180910390f35b341561040e57600080fd5b610416610f02565b6040518082815260200191505060405180910390f35b341561043757600080fd5b61043f610f08565b6040518082815260200191505060405180910390f35b341561046057600080fd5b610468610f0e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a857808201518184015260208101905061048d565b50505050905090810190601f1680156104d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104ee57600080fd5b61051a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610fac565b6040518082815260200191505060405180910390f35b341561053b57600080fd5b610543610fc4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561059057600080fd5b610598610fea565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d85780820151818401526020810190506105bd565b50505050905090810190601f1680156106055780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561061e57600080fd5b610626611088565b005b341561063357600080fd5b610668600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506113b6565b604051808215151515815260200191505060405180910390f35b341561068d57600080fd5b6106b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061147d565b005b34156106c657600080fd5b6106ce611601565b604051808215151515815260200191505060405180910390f35b34156106f357600080fd5b6106fb611614565b6040518082815260200191505060405180910390f35b341561071c57600080fd5b610767600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061161a565b6040518082815260200191505060405180910390f35b341561078857600080fd5b61079061163f565b604051808215151515815260200191505060405180910390f35b34156107b557600080fd5b6107e1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611652565b005b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108795780601f1061084e57610100808354040283529160200191610879565b820191906000526020600020905b81548152906001019060200180831161085c57829003601f168201915b505050505081565b60008260008173ffffffffffffffffffffffffffffffffffffffff16141515156108aa57600080fd5b600083148061093557506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561094057600080fd5b82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a3600191505092915050565b60045481565b60008260008173ffffffffffffffffffffffffffffffffffffffff1614151515610a6057600080fd5b84600860149054906101000a900460ff1615610acf57600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610ace57600080fd5b5b600e60009054906101000a900460ff161515610aea57600080fd5b610af5868686611774565b925050509392505050565b600360009054906101000a900460ff1681565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7257fe5b600e60009054906101000a900460ff161515610b8d57600080fd5b6000600e60006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fe4e1bd53368c1f6ab96631b284b855345d15dfbdc71054b5796ba0a42153584060405160405180910390a2565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c6c57fe5b600860149054906101000a900460ff161515610c8757600080fd5b610cfd60056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600954611a4790919063ffffffff16565b600b81905550610d2c6064610d1e600f600b54611a6090919063ffffffff16565b611a9390919063ffffffff16565b600c81905550610d537347c8f28e6056374aba3df0854306c2556b104601600c5442611aae565b50600060056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600860146101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60006040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167fd0e5eaaad928655181d43ca1fb4d47483e60e23e9c17f165728d9979d2d9b93a6004546040518082815260200191505060405180910390a2565b60106020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b600c5481565b60095481565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa45780601f10610f7957610100808354040283529160200191610fa4565b820191906000526020600020905b815481529060010190602001808311610f8757829003601f168201915b505050505081565b60056020528060005260406000206000915090505481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110805780601f1061105557610100808354040283529160200191611080565b820191906000526020600020905b81548152906001019060200180831161106357829003601f168201915b505050505081565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff1615156110e357600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154421015151561113457600080fd5b6111c8601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd790919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fc1c90b8e0705b212262c0dbd7580efe1862c2f185bf96899226f7596beb2db09601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546040518082815260200191505060405180910390a3565b60008260008173ffffffffffffffffffffffffffffffffffffffff16141515156113df57600080fd5b33600860149054906101000a900460ff161561144e57600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561144d57600080fd5b5b600e60009054906101000a900460ff16151561146957600080fd5b6114738585611cf5565b9250505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114d657fe5b600860149054906101000a900460ff1615156114f157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561154e57600080fd5b600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156115a657600080fd5b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60009054906101000a900460ff1681565b600b5481565b6006602052816000526040600020602052806000526040600020600091509150505481565b600860149054906101000a900460ff1681565b8060008173ffffffffffffffffffffffffffffffffffffffff161415151561167957600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116d257fe5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561172f57600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008260008173ffffffffffffffffffffffffffffffffffffffff161415151561179d57600080fd5b61182c83600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118fe83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061199383600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd790919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6000828211151515611a5557fe5b818303905092915050565b60008082840290506000841480611a815750828482811515611a7e57fe5b04145b1515611a8957fe5b8091505092915050565b6000808284811515611aa157fe5b0490508091505092915050565b60008360008173ffffffffffffffffffffffffffffffffffffffff1614151515611ad757600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b3057fe5b600084111515611b3f57600080fd5b6000600c54111515611b4d57fe5b611b6284600d54611cd790919063ffffffff16565b600d81905550600d54600c5410151515611b7857fe5b6000601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154141515611bc957600080fd5b60606040519081016040528085815260200184815260200160011515815250601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050508473ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f62cded90d0b4d15cd7d67fee0ae8bac1d9c61c340a9465c7d341632f495829fc8686604051808381526020018281526020019250505060405180910390a360019150509392505050565b6000808284019050838110151515611ceb57fe5b8091505092915050565b60008260008173ffffffffffffffffffffffffffffffffffffffff1614151515611d1e57600080fd5b611d7083600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0583600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd790919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001915050929150505600a165627a7a7230582017fe4d4f5d6c90cc019e863cb046133c55002e58f351ef9a61ef94fe5d739bf00029a165627a7a7230582068ecad9b3eb55ec58ddacb517b075c4e70bd5042c87859c82c4146af227a0928002960606040526040805190810160405280600981526020017f546f6b656e20302e3100000000000000000000000000000000000000000000008152506000908051906020019062000051929190620003cf565b506020604051908101604052806000815250600190805190602001906200007a929190620003cf565b50602060405190810160405280600081525060029080519060200190620000a3929190620003cf565b506000600360006101000a81548160ff021916908360ff16021790555060006004556001600860146101000a81548160ff021916908315150217905550623567e0600955694a1d89bb94865ec00000600a556000600e60006101000a81548160ff02191690831515021790555034156200011c57600080fd5b6040805190810160405280600f81526020017f534552454e49545920494e5645535400000000000000000000000000000000008152506040805190810160405280600881526020017f534552454e4954590000000000000000000000000000000000000000000000008152506012600083511180156200019d575060008251115b1515620001a957600080fd5b8260019080519060200190620001c1929190620003cf565b508160029080519060200190620001da929190620003cf565b5080600360006101000a81548160ff021916908360ff16021790555050505033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095460056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60007347c8f28e6056374aba3df0854306c2556b10460173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200047e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200041257805160ff191683800117855562000443565b8280016001018555821562000443579182015b828111156200044257825182559160200191906001019062000425565b5b50905062000452919062000456565b5090565b6200047b91905b80821115620004775760008160009055506001016200045d565b5090565b90565b611ee4806200048e6000396000f30060606040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610143578063095ea7b3146101d157806318160ddd1461022b57806323b872dd14610254578063313ce567146102cd578063378dc3dc146102fc5780633a67a0f6146103255780633c4b40b81461033a5780634bb278f31461038f57806352a9039c146103a457806354d18864146104035780635923c7f91461042c5780635a3b7e421461045557806370a08231146104e35780638da5cb5b1461053057806395d89b4114610585578063a69df4b514610613578063a9059cbb14610628578063b9d2fa3514610682578063bef97c87146106bb578063d7ca9949146106e8578063dd62ed3e14610711578063e10e95c91461077d578063f2fde38b146107aa575b600080fd5b341561014e57600080fd5b6101566107e3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019657808201518184015260208101905061017b565b50505050905090810190601f1680156101c35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101dc57600080fd5b610211600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610881565b604051808215151515815260200191505060405180910390f35b341561023657600080fd5b61023e610a31565b6040518082815260200191505060405180910390f35b341561025f57600080fd5b6102b3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a37565b604051808215151515815260200191505060405180910390f35b34156102d857600080fd5b6102e0610b00565b604051808260ff1660ff16815260200191505060405180910390f35b341561030757600080fd5b61030f610b13565b6040518082815260200191505060405180910390f35b341561033057600080fd5b610338610b19565b005b341561034557600080fd5b61034d610bed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561039a57600080fd5b6103a2610c13565b005b34156103af57600080fd5b6103db600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ecb565b6040518084815260200183815260200182151515158152602001935050505060405180910390f35b341561040e57600080fd5b610416610f02565b6040518082815260200191505060405180910390f35b341561043757600080fd5b61043f610f08565b6040518082815260200191505060405180910390f35b341561046057600080fd5b610468610f0e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a857808201518184015260208101905061048d565b50505050905090810190601f1680156104d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104ee57600080fd5b61051a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610fac565b6040518082815260200191505060405180910390f35b341561053b57600080fd5b610543610fc4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561059057600080fd5b610598610fea565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105d85780820151818401526020810190506105bd565b50505050905090810190601f1680156106055780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561061e57600080fd5b610626611088565b005b341561063357600080fd5b610668600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506113b6565b604051808215151515815260200191505060405180910390f35b341561068d57600080fd5b6106b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061147d565b005b34156106c657600080fd5b6106ce611601565b604051808215151515815260200191505060405180910390f35b34156106f357600080fd5b6106fb611614565b6040518082815260200191505060405180910390f35b341561071c57600080fd5b610767600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061161a565b6040518082815260200191505060405180910390f35b341561078857600080fd5b61079061163f565b604051808215151515815260200191505060405180910390f35b34156107b557600080fd5b6107e1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611652565b005b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108795780601f1061084e57610100808354040283529160200191610879565b820191906000526020600020905b81548152906001019060200180831161085c57829003601f168201915b505050505081565b60008260008173ffffffffffffffffffffffffffffffffffffffff16141515156108aa57600080fd5b600083148061093557506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561094057600080fd5b82600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a3600191505092915050565b60045481565b60008260008173ffffffffffffffffffffffffffffffffffffffff1614151515610a6057600080fd5b84600860149054906101000a900460ff1615610acf57600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610ace57600080fd5b5b600e60009054906101000a900460ff161515610aea57600080fd5b610af5868686611774565b925050509392505050565b600360009054906101000a900460ff1681565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7257fe5b600e60009054906101000a900460ff161515610b8d57600080fd5b6000600e60006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167fe4e1bd53368c1f6ab96631b284b855345d15dfbdc71054b5796ba0a42153584060405160405180910390a2565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c6c57fe5b600860149054906101000a900460ff161515610c8757600080fd5b610cfd60056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600954611a4790919063ffffffff16565b600b81905550610d2c6064610d1e600f600b54611a6090919063ffffffff16565b611a9390919063ffffffff16565b600c81905550610d537347c8f28e6056374aba3df0854306c2556b104601600c5442611aae565b50600060056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600860146101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60006040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167fd0e5eaaad928655181d43ca1fb4d47483e60e23e9c17f165728d9979d2d9b93a6004546040518082815260200191505060405180910390a2565b60106020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b600c5481565b60095481565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa45780601f10610f7957610100808354040283529160200191610fa4565b820191906000526020600020905b815481529060010190602001808311610f8757829003601f168201915b505050505081565b60056020528060005260406000206000915090505481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110805780601f1061105557610100808354040283529160200191611080565b820191906000526020600020905b81548152906001019060200180831161106357829003601f168201915b505050505081565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff1615156110e357600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154421015151561113457600080fd5b6111c8601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd790919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fc1c90b8e0705b212262c0dbd7580efe1862c2f185bf96899226f7596beb2db09601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546040518082815260200191505060405180910390a3565b60008260008173ffffffffffffffffffffffffffffffffffffffff16141515156113df57600080fd5b33600860149054906101000a900460ff161561144e57600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561144d57600080fd5b5b600e60009054906101000a900460ff16151561146957600080fd5b6114738585611cf5565b9250505092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114d657fe5b600860149054906101000a900460ff1615156114f157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561154e57600080fd5b600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156115a657600080fd5b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60009054906101000a900460ff1681565b600b5481565b6006602052816000526040600020602052806000526040600020600091509150505481565b600860149054906101000a900460ff1681565b8060008173ffffffffffffffffffffffffffffffffffffffff161415151561167957600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116d257fe5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561172f57600080fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60008260008173ffffffffffffffffffffffffffffffffffffffff161415151561179d57600080fd5b61182c83600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118fe83600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061199383600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd790919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b6000828211151515611a5557fe5b818303905092915050565b60008082840290506000841480611a815750828482811515611a7e57fe5b04145b1515611a8957fe5b8091505092915050565b6000808284811515611aa157fe5b0490508091505092915050565b60008360008173ffffffffffffffffffffffffffffffffffffffff1614151515611ad757600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b3057fe5b600084111515611b3f57600080fd5b6000600c54111515611b4d57fe5b611b6284600d54611cd790919063ffffffff16565b600d81905550600d54600c5410151515611b7857fe5b6000601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154141515611bc957600080fd5b60606040519081016040528085815260200184815260200160011515815250601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050508473ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f62cded90d0b4d15cd7d67fee0ae8bac1d9c61c340a9465c7d341632f495829fc8686604051808381526020018281526020019250505060405180910390a360019150509392505050565b6000808284019050838110151515611ceb57fe5b8091505092915050565b60008260008173ffffffffffffffffffffffffffffffffffffffff1614151515611d1e57600080fd5b611d7083600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a4790919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0583600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd790919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001915050929150505600a165627a7a7230582017fe4d4f5d6c90cc019e863cb046133c55002e58f351ef9a61ef94fe5d739bf00029

   Swarm Source:
bzzr://17fe4d4f5d6c90cc019e863cb046133c55002e58f351ef9a61ef94fe5d739bf0

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.