Sponsored:   Ubex.com - Additional 17% of tokens are available for purchase! Trading on exchanges already started.
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 259 txns
Token Tracker: CraftR (CRAFTR)
 Latest 25 txns from a total Of 259 transactions
(+1 PendingTxn)

TxHash Age From To Value [TxFee]
0xed2673030935d82da8c3c6afee47328f0d9b2a959ee35b7cc6139b33252bf843(pending)0x58af06498c7049b29f478a0accc25de5e3c6a023  IN  0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether(pending)
0x1d949bfe16b7facf3cd058014a20abff9f8b963d9f248b98ea6eb067f0fde46e1 day 23 hrs ago0x82195047910c3874731a8e285ebcce4fdc6ffc53  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00012383
0x302b0ce6007f93fa404801376a6c9831dd2e0382d9a31bc74ac3aef736df9e091 day 23 hrs ago0x82195047910c3874731a8e285ebcce4fdc6ffc53  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.000090636
0xcaae9cd1cf6505e310e571233278eda3465813abbc465114bbba28a023ec5cff2 days 5 hrs ago0x5bf41c6ea076b8469ee70bb077aa9b9d32d2f562  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00040618
0x0e06012d1796be51df7d383404c019cfe92b633a835382efcfcc32ec8bd309622 days 5 hrs ago0x5bf41c6ea076b8469ee70bb077aa9b9d32d2f562  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.000296156
0x6d279e8c57750913772da498bba24cc9ee6e66e3eeb224ca64e06e9be73dc0232 days 9 hrs ago0x25da942061a1dd302684e5167d23a3cc762c3f98  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.001625744
0x95f6341cd2daec3cb99cf59a73124ad4171229a1e2b5d8ca16afe215c1a6d48c2 days 9 hrs ago0x25da942061a1dd302684e5167d23a3cc762c3f98  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00148078
0xe215365de88abed16f30c06b56fb82a5ebdaaa2d0d9c29c6a60d523b16f112912 days 9 hrs ago0x741f026ffd66a64eb4fcabacc151684f3a97ba3e  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.000405924
0xcb00a4c7aa7eb5cf9050d4be046979f7f8f0a93f6f9d2101ae5b1f1c6bf528d02 days 19 hrs ago0x741f026ffd66a64eb4fcabacc151684f3a97ba3e  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.000222117
0xa4bc487707d862c9a1765b394c3a292de2d31662d835b620cd6b7fc76a7d67803 days 20 hrs ago0x0f624b667da139e7fbdc014ec918610e1d861bb8  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.002447445
0x4125e4d91360f267a8faac2a2db94bebe3336f88eed067736602b94c1032f2063 days 23 hrs ago0x4be5bd40d06c8a34c72ce12b66cc480b28bb7ce0  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00025689
0x41b8352b9058df5a632462de3258ee44d4583e0ac9ca97e9b0256445fa3adc9a4 days 4 hrs ago0xe1c455a5be9e80fb7b66c8f37508b885082d8125  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.0002483
0xa71a1b83aaad94d686e5365b5598bdf0bc968bb184396356336585d77032c50c4 days 9 hrs ago0x4be5bd40d06c8a34c72ce12b66cc480b28bb7ce0  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00074039
0x8ea103b0103788c84334995627ebd7306d841ff7fea6cc7c4c7e774bcafb3e355 days 1 min ago0x5ed136c47c14ba34704e961e626e13d6ac90ae1c  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.002
0xde30cee51a18542bb91a1264881ece80064b091f2c7a5b425449650554af03c35 days 22 mins ago0x25da942061a1dd302684e5167d23a3cc762c3f98  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00203218
0x6c2117bc117bbf1cf1862c76838dfeb49fb3cbc5427d8b6a61b5601ef56eef1e5 days 1 hr ago0x25da942061a1dd302684e5167d23a3cc762c3f98  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.0026309
0x4f08c3b3747da252ae2485a5645dfd4d1b3d557857bcec7f54cd34c87c2c91305 days 1 hr ago0x6b1dcb135a1c277c6d6f5ebd89682100bc957e46  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00148078
0xcf2095f55532d7a87b2e144d7ed063948e48c07df1b9766dad645639a8b4defa5 days 23 hrs ago0x25da942061a1dd302684e5167d23a3cc762c3f98  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00148078
0xaf9d47715eaff51e1232e485070dac597565187d4cb0608b87ae830f56b3a02b8 days 4 hrs ago0x58af06498c7049b29f478a0accc25de5e3c6a023  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00015
0x53dadb700a5cd12b2309efc844e47ac67c52158fa74ddbf4238a8541fd962c978 days 6 hrs ago0xb751764dfdfdca662064ff0588f8db12a894cf48  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00074039
0xc1d5b7fd335b431da57166af8cb363f3f7a6c6a36524f6dd889445f50e1ca7718 days 15 hrs ago0x4be5bd40d06c8a34c72ce12b66cc480b28bb7ce0  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.000148078
0x63cbe1561e6c8d1600c2236490debf66515ff74b71b39952926be6cf3f3060469 days 4 hrs ago0x0f624b667da139e7fbdc014ec918610e1d861bb8  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00074039
0xdd79fca9f3d8160c0fdb86b90e5712a8967e86452074878fd47c8c5310f1080810 days 9 hrs ago0xbacb9d8d935f6166e39244b5baa3599db0f36c39  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00074247
0xd07647d8d46d04448966870c2b1103c90a60e470afee70def3f6ea49f8fee90a10 days 13 hrs ago0x4be5bd40d06c8a34c72ce12b66cc480b28bb7ce0  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.000148078
0x3f3009e33eef827d7bf366b3be8fa77fa4ff186e3eccc975fafdfe4657505ba612 days 23 hrs ago0x9253021f92b43b9a1d6d9bd850ed5e0388220655  IN   0xf19eac69f9566f0b40660bd0cc16234330f384560 Ether0.00025689
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Source Code Verified (Exact match)
Contract Name: CraftR
Compiler Version: v0.4.20+commit.3155dd80
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.11;

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

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

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

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


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


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


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


    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) onlyOwner {
        require(newOwner != address(0));
        owner = newOwner;
    }

}


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) constant returns (uint256);
    function transfer(address to, uint256 value) returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) constant returns (uint256);
    function transferFrom(address from, address to, uint256 value) returns (bool);
    function approve(address spender, uint256 value) returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title CraftRStandard
 * @dev the interface of CraftRStandard
 */
contract CraftRStandard {
    uint256 public stakeStartTime;
    uint256 public stakeMinAge;
    uint256 public stakeMaxAge;
    function pos() returns (bool);
    function coinAge() constant returns (uint256);
    function annualPos() constant returns (uint256);
    event Mint(address indexed _address, uint _reward);
}


contract CraftR is ERC20,CraftRStandard,Ownable {
    using SafeMath for uint256;

    string public name = "CraftR";
    string public symbol = "CRAFTR";
    uint public decimals = 18;

    uint public chainStartTime; //chain start time
    uint public chainStartBlockNumber; //chain start block number
    uint public stakeStartTime; //stake start time
    uint public stakeMinAge = 1 days; // minimum age for coin age: 1D
    uint public stakeMaxAge = 90 days; // stake age of full weight: 90D
    uint public maxMintProofOfStake = 10**17; // default 10% annual interest

    uint public totalSupply;
    uint public maxTotalSupply;
    uint public totalInitialSupply;

    struct transferInStruct{
    uint128 amount;
    uint64 time;
    }

    mapping(address => uint256) balances;
    mapping(address => mapping (address => uint256)) allowed;
    mapping(address => transferInStruct[]) transferIns;

    event Burn(address indexed burner, uint256 value);

    /**
     * @dev Fix for the ERC20 short address attack.
     */
    modifier onlyPayloadSize(uint size) {
        require(msg.data.length >= size + 4);
        _;
    }

    modifier canPoSMint() {
        require(totalSupply < maxTotalSupply);
        _;
    }

    function CraftR() {
        maxTotalSupply = 100*10**24; // 100 Mil.
        totalInitialSupply = 333*10**23; // 33.3 Mil. (30%)

        chainStartTime = now;
        chainStartBlockNumber = block.number;

        balances[msg.sender] = totalInitialSupply;
        totalSupply = totalInitialSupply;
    }

    function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) returns (bool) {
        if(msg.sender == _to) return pos();
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
        uint64 _now = uint64(now);
        transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now));
        transferIns[_to].push(transferInStruct(uint128(_value),_now));
        return true;
    }

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

    function transferFrom(address _from, address _to, uint256 _value) onlyPayloadSize(3 * 32) returns (bool) {
        require(_to != address(0));

        var _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // require (_value <= _allowance);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        Transfer(_from, _to, _value);
        if(transferIns[_from].length > 0) delete transferIns[_from];
        uint64 _now = uint64(now);
        transferIns[_from].push(transferInStruct(uint128(balances[_from]),_now));
        transferIns[_to].push(transferInStruct(uint128(_value),_now));
        return true;
    }

    function approve(address _spender, uint256 _value) returns (bool) {
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

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

    function pos() canPoSMint returns (bool) {
        if(balances[msg.sender] <= 0) return false;
        if(transferIns[msg.sender].length <= 0) return false;

        uint reward = getPosReward(msg.sender);
        if(reward <= 0) return false;

        totalSupply = totalSupply.add(reward);
        balances[msg.sender] = balances[msg.sender].add(reward);
        delete transferIns[msg.sender];
        transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),uint64(now)));

        Mint(msg.sender, reward);
        return true;
    }

    function getBlockNumber() returns (uint blockNumber) {
        blockNumber = block.number.sub(chainStartBlockNumber);
    }

    function coinAge() constant returns (uint myCoinAge) {
        myCoinAge = getCoinAge(msg.sender,now);
    }

    function annualPos() constant returns(uint interest) {
        uint _now = now;
        interest = maxMintProofOfStake;
        if((_now.sub(stakeStartTime)).div(1 years) == 0) {
            interest = (770 * maxMintProofOfStake).div(100);
        } else if((_now.sub(stakeStartTime)).div(1 years) == 1){
            interest = (435 * maxMintProofOfStake).div(100);
        }
    }

    function getPosReward(address _address) internal returns (uint) {
        require( (now >= stakeStartTime) && (stakeStartTime > 0) );

        uint _now = now;
        uint _coinAge = getCoinAge(_address, _now);
        if(_coinAge <= 0) return 0;

        uint interest = maxMintProofOfStake;
        // Due to the high interest rate for the first two years, compounding should be taken into account.
        // Effective annual interest rate = (1 + (nominal rate / number of compounding periods)) ^ (number of compounding periods) - 1
        if((_now.sub(stakeStartTime)).div(1 years) == 0) {
            // 1st year effective annual interest rate is 100% when we select the stakeMaxAge (90 days) as the compounding period.
            interest = (770 * maxMintProofOfStake).div(100);
        } else if((_now.sub(stakeStartTime)).div(1 years) == 1){
            // 2nd year effective annual interest rate is 50%
            interest = (435 * maxMintProofOfStake).div(100);
        }

        return (_coinAge * interest).div(365 * (10**decimals));
    }

    function getCoinAge(address _address, uint _now) internal returns (uint _coinAge) {
        if(transferIns[_address].length <= 0) return 0;

        for (uint i = 0; i < transferIns[_address].length; i++){
            if( _now < uint(transferIns[_address][i].time).add(stakeMinAge) ) continue;

            uint nCoinSeconds = _now.sub(uint(transferIns[_address][i].time));
            if( nCoinSeconds > stakeMaxAge ) nCoinSeconds = stakeMaxAge;

            _coinAge = _coinAge.add(uint(transferIns[_address][i].amount) * nCoinSeconds.div(1 days));
        }
    }

    function ownerSetStakeStartTime(uint timestamp) onlyOwner {
        require((stakeStartTime <= 0) && (timestamp >= chainStartTime));
        stakeStartTime = timestamp;
    }

    function burnToken(uint _value) onlyOwner {
        require(_value > 0);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        delete transferIns[msg.sender];
        transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),uint64(now)));

        totalSupply = totalSupply.sub(_value);
        totalInitialSupply = totalInitialSupply.sub(_value);
        maxTotalSupply = maxTotalSupply.sub(_value*10);

        Burn(msg.sender, _value);
    }

    /* Batch token transfer. Used by contract creator to distribute initial tokens to holders */
    function batchTransfer(address[] _recipients, uint[] _values) onlyOwner returns (bool) {
        require( _recipients.length > 0 && _recipients.length == _values.length);

        uint total = 0;
        for(uint i = 0; i < _values.length; i++){
            total = total.add(_values[i]);
        }
        require(total <= balances[msg.sender]);

        uint64 _now = uint64(now);
        for(uint j = 0; j < _recipients.length; j++){
            balances[_recipients[j]] = balances[_recipients[j]].add(_values[j]);
            transferIns[_recipients[j]].push(transferInStruct(uint128(_values[j]),_now));
            Transfer(msg.sender, _recipients[j], _values[j]);
        }

        balances[msg.sender] = balances[msg.sender].sub(total);
        if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
        if(balances[msg.sender] > 0) transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now));

        return true;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"coinAge","outputs":[{"name":"myCoinAge","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"annualPos","outputs":[{"name":"interest","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"timestamp","type":"uint256"}],"name":"ownerSetStakeStartTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getBlockNumber","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"chainStartTime","outputs":[{"name":"","type":"uint256"}],"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":"stakeStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burnToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipients","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"batchTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalInitialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pos","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakeMinAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"chainStartBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeMaxAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxMintProofOfStake","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_reward","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526040805190810160405280600681526020017f4372616674520000000000000000000000000000000000000000000000000000815250600590805190602001906200005192919062000193565b506040805190810160405280600681526020017f4352414654520000000000000000000000000000000000000000000000000000815250600690805190602001906200009f92919062000193565b50601260075562015180600b556276a700600c5567016345785d8a0000600d553415620000cb57600080fd5b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a52b7d2dcc80cd2e4000000600f819055506a1b8b8c9e000e82a48000006010819055504260088190555043600981905550601054601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601054600e8190555062000242565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001d657805160ff191683800117855562000207565b8280016001018555821562000207579182015b8281111562000206578251825591602001919060010190620001e9565b5b5090506200021691906200021a565b5090565b6200023f91905b808211156200023b57600081600090555060010162000221565b5090565b90565b612b5180620002526000396000f300606060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610159578063095ea7b3146101e757806318160ddd146102415780631e1b13c01461026a57806321ed47b31461029357806323b872dd146102bc5780632a9edf6f146103355780632ab4d05214610358578063313ce5671461038157806342cbb15c146103aa5780635b054f9b146103d357806370a08231146103fc5780637419f190146104495780637b47ec1a1461047257806388d695b2146104955780638da5cb5b1461054757806395d89b411461059c5780639fd4da401461062a578063a9059cbb14610653578063c56551b6146106ad578063cbd8877e146106da578063cd474b0414610703578063dd62ed3e1461072c578063e1c3bac614610798578063f2bb5ce1146107c1578063f2fde38b146107ea575b600080fd5b341561016457600080fd5b61016c610823565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ac578082015181840152602081019050610191565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101f257600080fd5b610227600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108c1565b604051808215151515815260200191505060405180910390f35b341561024c57600080fd5b610254610a48565b6040518082815260200191505060405180910390f35b341561027557600080fd5b61027d610a4e565b6040518082815260200191505060405180910390f35b341561029e57600080fd5b6102a6610a5f565b6040518082815260200191505060405180910390f35b34156102c757600080fd5b61031b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b13565b604051808215151515815260200191505060405180910390f35b341561034057600080fd5b61035660048080359060200190919050506110fe565b005b341561036357600080fd5b61036b611184565b6040518082815260200191505060405180910390f35b341561038c57600080fd5b61039461118a565b6040518082815260200191505060405180910390f35b34156103b557600080fd5b6103bd611190565b6040518082815260200191505060405180910390f35b34156103de57600080fd5b6103e66111ac565b6040518082815260200191505060405180910390f35b341561040757600080fd5b610433600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111b2565b6040518082815260200191505060405180910390f35b341561045457600080fd5b61045c6111fb565b6040518082815260200191505060405180910390f35b341561047d57600080fd5b6104936004808035906020019091905050611201565b005b34156104a057600080fd5b61052d60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611535565b604051808215151515815260200191505060405180910390f35b341561055257600080fd5b61055a611bd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105a757600080fd5b6105af611bfa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105ef5780820151818401526020810190506105d4565b50505050905090810190601f16801561061c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561063557600080fd5b61063d611c98565b6040518082815260200191505060405180910390f35b341561065e57600080fd5b610693600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611c9e565b604051808215151515815260200191505060405180910390f35b34156106b857600080fd5b6106c061217b565b604051808215151515815260200191505060405180910390f35b34156106e557600080fd5b6106ed6124eb565b6040518082815260200191505060405180910390f35b341561070e57600080fd5b6107166124f1565b6040518082815260200191505060405180910390f35b341561073757600080fd5b610782600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506124f7565b6040518082815260200191505060405180910390f35b34156107a357600080fd5b6107ab61257e565b6040518082815260200191505060405180910390f35b34156107cc57600080fd5b6107d4612584565b6040518082815260200191505060405180910390f35b34156107f557600080fd5b610821600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061258a565b005b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108b95780601f1061088e576101008083540402835291602001916108b9565b820191906000526020600020905b81548152906001019060200180831161089c57829003601f168201915b505050505081565b60008082148061094d57506000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561095857600080fd5b81601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600e5481565b6000610a5a3342612666565b905090565b600080429050600d5491506000610a976301e13380610a89600a548561290f90919063ffffffff16565b61292890919063ffffffff16565b1415610abe57610ab76064600d546103020261292890919063ffffffff16565b9150610b0f565b6001610aeb6301e13380610add600a548561290f90919063ffffffff16565b61292890919063ffffffff16565b1415610b0e57610b0b6064600d546101b30261292890919063ffffffff16565b91505b5b5090565b6000806000606060048101600036905010151515610b3057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515610b6c57600080fd5b601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250610c3d85601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461290f90919063ffffffff16565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cd285601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461294390919063ffffffff16565b601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d28858461290f90919063ffffffff16565b601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36000601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115610ea457601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610ea39190612a7b565b5b429150601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610ef89190612a9c565b916000526020600020900160006040805190810160405280601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161103c9190612a9c565b916000526020600020900160006040805190810160405280896fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600193505050509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561115a57600080fd5b6000600a541115801561116f57506008548110155b151561117a57600080fd5b80600a8190555050565b600f5481565b60075481565b60006111a76009544361290f90919063ffffffff16565b905090565b60085481565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600a5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561125d57600080fd5b60008111151561126c57600080fd5b6112be81601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461290f90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061134c9190612a7b565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161139d9190612a9c565b916000526020600020900160006040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050506114a581600e5461290f90919063ffffffff16565b600e819055506114c08160105461290f90919063ffffffff16565b6010819055506114de600a8202600f5461290f90919063ffffffff16565b600f819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b6000806000806000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159957600080fd5b600087511180156115ab575085518751145b15156115b657600080fd5b60009350600092505b8551831015611601576115f286848151811015156115d957fe5b906020019060200201518561294390919063ffffffff16565b935082806001019350506115bf565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054841115151561164f57600080fd5b429150600090505b865181101561190d576116e0868281518110151561167157fe5b90602001906020020151601160008a8581518110151561168d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461294390919063ffffffff16565b6011600089848151811015156116f257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060136000888381518110151561174c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816117a29190612a9c565b9160005260206000209001600060408051908101604052808a868151811015156117c857fe5b906020019060200201516fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050868181518110151561187b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88848151811015156118e157fe5b906020019060200201516040518082815260200191505060405180910390a38080600101915050611657565b61195f84601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461290f90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115611a3957601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611a389190612a7b565b5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611bc657601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611ad29190612a9c565b916000526020600020900160006040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050505b600194505050505092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c905780601f10611c6557610100808354040283529160200191611c90565b820191906000526020600020905b815481529060010190602001808311611c7357829003601f168201915b505050505081565b60105481565b600080604060048101600036905010151515611cb957600080fd5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611cfc57611cf561217b565b9250612173565b611d4e84601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461290f90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611de384601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461294390919063ffffffff16565b601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115611f2257601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611f219190612a7b565b5b429150601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611f769190612a9c565b916000526020600020900160006040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816120ba9190612a9c565b916000526020600020900160006040805190810160405280886fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600192505b505092915050565b600080600f54600e5410151561219057600080fd5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115156121e257600091506124e7565b6000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011151561223757600091506124e7565b61224033612961565b905060008111151561225557600091506124e7565b61226a81600e5461294390919063ffffffff16565b600e819055506122c281601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461294390919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006123509190612a7b565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816123a19190612a9c565b916000526020600020900160006040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050503373ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a2600191505b5090565b600b5481565b60095481565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b600d5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156125e657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561262257600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115156126bf5760009250612907565b600091505b601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508210156129065761279b600b54601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208481548110151561276057fe5b906000526020600020900160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1661294390919063ffffffff16565b8410156127a7576128f9565b612832601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020838154811015156127f657fe5b906000526020600020900160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff168561290f90919063ffffffff16565b9050600c5481111561284457600c5490505b6128f661285d620151808361292890919063ffffffff16565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156128a957fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16028461294390919063ffffffff16565b92505b81806001019250506126c4565b5b505092915050565b600082821115151561291d57fe5b818303905092915050565b600080828481151561293657fe5b0490508091505092915050565b600080828401905083811015151561295757fe5b8091505092915050565b600080600080600a54421015801561297b57506000600a54115b151561298657600080fd5b4292506129938584612666565b91506000821115156129a85760009350612a73565b600d54905060006129da6301e133806129cc600a548761290f90919063ffffffff16565b61292890919063ffffffff16565b1415612a01576129fa6064600d546103020261292890919063ffffffff16565b9050612a52565b6001612a2e6301e13380612a20600a548761290f90919063ffffffff16565b61292890919063ffffffff16565b1415612a5157612a4e6064600d546101b30261292890919063ffffffff16565b90505b5b612a70600754600a0a61016d0282840261292890919063ffffffff16565b93505b505050919050565b5080546000825590600052602060002090810190612a999190612ac8565b50565b815481835581811511612ac357818360005260206000209182019101612ac29190612ac8565b5b505050565b612b2291905b80821115612b1e57600080820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556000820160106101000a81549067ffffffffffffffff021916905550600101612ace565b5090565b905600a165627a7a72305820bbf7bc9361a1f6184bfa30887afb5e3006e379b3f06be5eb439497246ad221390029

   Swarm Source:
bzzr://bbf7bc9361a1f6184bfa30887afb5e3006e379b3f06be5eb439497246ad22139

 

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.