Sponsored:   [Largest VC Funded] TEMCO, millions sold out in seconds. Join TEMCO's last presale at CoinBene!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 1635 txns
Token Tracker: PELO Coin (PELO)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5at txn 0x3e19b757d90eb0c1f2b6b2657351bcb784960b3e44e85c7c070c9c7b82f154f4
 Latest 25 transactions from a total of 1635 transactions

TxHash Age From To Value [TxFee]
0xd1800e97f01ac552f3c9719a186c59b424ad20b78d47cde0f5236e9c628dba3f5 days 18 hrs ago0xc0750aeb2f8559ec4d8919e90116fd70228731b6  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.0000659334
0x3410054c7cbd05a805ba3aec483832c3fc665b04561f96f4ab5a41a5d4cbf0b05 days 18 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00080846
0x14140e601dde4fc3a39c7e37ee77fdcbac86ad8722e5bd749b9ba1b9da846f8e10 days 23 hrs ago0xc0014dd9039b6fc6c132a977f0fbf238b95dd522  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000126795
0xbbde64968084dba7f63b07bd9d619d9d0c6a2e2b7a46bc91e7a439faeb95053d10 days 23 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00080974
0xf97d4aea85a8c1b9a5e17b86f81d9854c2176375aeda0f43defd473615d4e17211 days 8 hrs ago0xd8f102fe1a22fb976c36c3a813644abc58065eeb  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000152538
0xbf988f66f0fe951e72ae9dd2de287decee72a8d1197e5ed6b90f6894d2acf35a11 days 9 hrs ago0x43d211715c1828fb5e46ac6e7ee4c2ad837199b2  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00025423
0x314207e6d3c75dea9ea4363f2a0fe65921eef078d76a462944a481d6a4023ddc11 days 9 hrs ago0x43d211715c1828fb5e46ac6e7ee4c2ad837199b2  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00055359
0x7efc901c6da060cbc250632ab036a9b93c2f3b175062bceea8a3d3c24a3fbe2d14 days 1 hr ago0xf8f9bba19c0c8ce608c1c732d784f9f8a68fc7fc  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00152538
0xb33c9ad95f07398c8df8a9dbcf2aefa20b8d16f80d97ee65df919e9fe9724a7214 days 1 hr ago0xf8f9bba19c0c8ce608c1c732d784f9f8a68fc7fc  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00332154
0xd5416d1876223460b861df3dadfecdb893912d62e9b43c7c7ae16c582001600414 days 3 hrs ago0x7a484eb1e0e3e4bf1b1da9ad3e734ecbc0df5a42  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001659967
0x8d27ba15ed633d56bd35210339f581a7ac5cdca0b9350b4bd39791e1c3e9332a14 days 16 hrs ago0x7a484eb1e0e3e4bf1b1da9ad3e734ecbc0df5a42  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00164
0x462e36bd139024f4e388e8675062df709f9adbe2c4ccb9397de3e3960ad7bc4115 days 17 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00040423
0x3132324321daa13fdf5c20241e9cea0b78dbc6a52d20d2ee1751ce60a6cff26c15 days 17 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00040423
0x1dd1801f18cf8b85b8a28f136253cf7714b7c2399b0b577c854f2696c7565cf515 days 17 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00040487
0x2c0cb6b18a3e892a2d0d8b33e55791b5cd5cd7b24bba769ad5376361da14f5ff15 days 17 hrs ago0xf25fd12eb70fdbbfab53ebe72709da98ce0785b5  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00159911
0x7caff7e222791f3ef269ae58f6a12a816ef3afda4af212c4f9e837540229513e19 days 23 hrs ago0x567293e83571d72f9e27587bef25c3b8a1700592  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000076077
0x38aef5230e0b18b447301682ba24760ba77b6cdd0c714bc2d29b76d124c56f5419 days 23 hrs ago0xbe45260e69730d8860b03d79aa660a7d51b20cb7  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000076077
0xf4a63e36c7289502f209152af5a1c252003b2804dedb80f498d83e951e6ad12b19 days 23 hrs ago0x9e47d1ef37003b7d168a5ce5a35565b5b8d40f81  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000076077
0xd37b416b0b644728a09154367d0eb19a4ac189c29a807ea8c2dd6b2c9f10eefa20 days 2 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00080974
0xfb0c2d465d49951b01993086199a3fa4167da4d5fa042f9fda12a9d9f4b9b13e23 days 45 mins ago0x5aa8ad8fdf3883fd64da463c6ab9c44048075491  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.000076269
0xfca44ff03feed08a40af17e9e124d8985777181a9d968ce75e15b5f1b5162ce223 days 2 hrs ago0xcbef881fb59357d6e458aa487ac1e9a0b4f3aeb9  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.00080846
0xfef7e8fb574a356062a4aefc8b7375eeff9e57ef871b08bb8db1db1d9767407425 days 20 hrs ago0xe14d041614a46e44d4d9c1f0d88f245c65f13c38  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001039719
0x96f028af9c8dd47b943f0a9de1dcb1047d6a6852c11917e2ab0951dfb0fabd9127 days 17 hrs ago0x26081e74634bcbde46e6e3c043d746deb3d10898  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001039719
0x4b4a9008d591ba2ed7b5cba5bcf3605ac2e1fae4e87a941e36c4bc9f1823a58b27 days 17 hrs ago0x26081e74634bcbde46e6e3c043d746deb3d10898  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001654719
0x97a5bf84df089ce24b4664053a0a220d220c8d7392c72ec68ff3291e3024218c28 days 15 hrs ago0x663682bbcfd2d3925b407d5742d06af99b98eec0  IN   0x121c6e0613317a98cc14a9d379e2abe546ba980c0 Ether0.001977591
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: PELOCoinToken
Compiler Text: v0.4.19+commit.c4cbbb05
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.19;

contract Multiownable {

    // VARIABLES

    uint256 public howManyOwnersDecide;
    address[] public owners;
    bytes32[] public allOperations;
    address insideOnlyManyOwners;
    
    // Reverse lookup tables for owners and allOperations
    mapping(address => uint) ownersIndices; // Starts from 1
    mapping(bytes32 => uint) allOperationsIndicies;
    
    // Owners voting mask per operations
    mapping(bytes32 => uint256) public votesMaskByOperation;
    mapping(bytes32 => uint256) public votesCountByOperation;
    
    // EVENTS

    event OwnershipTransferred(address[] previousOwners, address[] newOwners);

    // ACCESSORS

    function isOwner(address wallet) public constant returns(bool) {
        return ownersIndices[wallet] > 0;
    }

    function ownersCount() public constant returns(uint) {
        return owners.length;
    }

    function allOperationsCount() public constant returns(uint) {
        return allOperations.length;
    }

    // MODIFIERS

    /**
    * @dev Allows to perform method by any of the owners
    */
    modifier onlyAnyOwner {
        require(isOwner(msg.sender));
        _;
    }

    /**
    * @dev Allows to perform method only after all owners call it with the same arguments
    */
    modifier onlyManyOwners {
        if (insideOnlyManyOwners == msg.sender) {
            _;
            return;
        }
        require(isOwner(msg.sender));

        uint ownerIndex = ownersIndices[msg.sender] - 1;
        bytes32 operation = keccak256(msg.data);
        
        if (votesMaskByOperation[operation] == 0) {
            allOperationsIndicies[operation] = allOperations.length;
            allOperations.push(operation);
        }
        require((votesMaskByOperation[operation] & (2 ** ownerIndex)) == 0);
        votesMaskByOperation[operation] |= (2 ** ownerIndex);
        votesCountByOperation[operation] += 1;

        // If all owners confirm same operation
        if (votesCountByOperation[operation] == howManyOwnersDecide) {
            deleteOperation(operation);
            insideOnlyManyOwners = msg.sender;
            _;
            insideOnlyManyOwners = address(0);
        }
    }

    // CONSTRUCTOR

    function Multiownable() public {
        owners.push(msg.sender);
        ownersIndices[msg.sender] = 1;
        howManyOwnersDecide = 1;
    }

    // INTERNAL METHODS

    /**
    * @dev Used to delete cancelled or performed operation
    * @param operation defines which operation to delete
    */
    function deleteOperation(bytes32 operation) internal {
        uint index = allOperationsIndicies[operation];
        if (allOperations.length > 1) {
            allOperations[index] = allOperations[allOperations.length - 1];
            allOperationsIndicies[allOperations[index]] = index;
        }
        allOperations.length--;
        
        delete votesMaskByOperation[operation];
        delete votesCountByOperation[operation];
        delete allOperationsIndicies[operation];
    }

    // PUBLIC METHODS

    /**
    * @dev Allows owners to change their mind by cacnelling votesMaskByOperation operations
    * @param operation defines which operation to delete
    */
    function cancelPending(bytes32 operation) public onlyAnyOwner {
        uint ownerIndex = ownersIndices[msg.sender] - 1;
        require((votesMaskByOperation[operation] & (2 ** ownerIndex)) != 0);
        
        votesMaskByOperation[operation] &= ~(2 ** ownerIndex);
        votesCountByOperation[operation]--;
        if (votesCountByOperation[operation] == 0) {
            deleteOperation(operation);
        }
    }

    /**
    * @dev Allows owners to change ownership
    * @param newOwners defines array of addresses of new owners
    */
    function transferOwnership(address[] newOwners) public {
        transferOwnershipWithHowMany(newOwners, newOwners.length);
    }

    /**
    * @dev Allows owners to change ownership
    * @param newOwners defines array of addresses of new owners
    * @param newHowManyOwnersDecide defines how many owners can decide
    */
    function transferOwnershipWithHowMany(address[] newOwners, uint256 newHowManyOwnersDecide) public onlyManyOwners {
        require(newOwners.length > 0);
        require(newOwners.length <= 256);
        require(newHowManyOwnersDecide > 0);
        require(newHowManyOwnersDecide <= newOwners.length);
        for (uint i = 0; i < newOwners.length; i++) {
            require(newOwners[i] != address(0));
        }

        OwnershipTransferred(owners, newOwners);

        // Reset owners array and index reverse lookup table
        for (i = 0; i < owners.length; i++) {
            delete ownersIndices[owners[i]];
        }
        for (i = 0; i < newOwners.length; i++) {
            require(ownersIndices[newOwners[i]] == 0);
            ownersIndices[newOwners[i]] = i + 1;
        }
        owners = newOwners;
        howManyOwnersDecide = newHowManyOwnersDecide;

        // Discard all pendign operations
        for (i = 0; i < allOperations.length; i++) {
            delete votesMaskByOperation[allOperations[i]];
            delete votesCountByOperation[allOperations[i]];
            delete allOperationsIndicies[allOperations[i]];
        }
        allOperations.length = 0;
    }

}

contract owned {
    address public owner;

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

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

    function transferOwnership(address newOwner) onlyOwner public {
        owner = newOwner;
    }
}


contract PELOExtensionInterface is owned {

    event ExtensionCalled(bytes32[8] params);

    address public ownerContract;

    function PELOExtensionInterface(address _ownerContract) public {
        ownerContract = _ownerContract;
    }
    
    function ChangeOwnerContract(address _ownerContract) onlyOwner public {
        ownerContract = _ownerContract;
    }
    
    function Operation(uint8 opCode, bytes32[8] params) public returns (bytes32[8] result) {}
}

contract PELOExtension1 is PELOExtensionInterface {

    function PELOExtension1(address _ownerContract) PELOExtensionInterface(_ownerContract) public {} 
    
    function Operation(uint8 opCode, bytes32[8] params) public returns (bytes32[8] result) {
        if(opCode == 1) {
            ExtensionCalled(params);
            return result;
        }
        else if(opCode == 2) {
            ExtensionCalled(params);
            return result;
        }
        else {
            return result;
        }
    }
}


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

contract TokenERC20 {
    // Public variables of the token
    string public name;
    string public symbol;
    uint8 public decimals = 18;
    // 18 decimals is the strongly suggested default, avoid changing it
    uint256 public totalSupply;

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

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

    // This notifies clients about the amount burnt
    event Burn(address indexed from, uint256 value);

    /**
     * Constrctor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
    function TokenERC20(
        uint256 initialSupply,
        string tokenName,
        string tokenSymbol
    ) public {
        totalSupply = initialSupply * 10 ** uint256(decimals);  // Update total supply with the decimal amount
        balanceOf[msg.sender] = totalSupply;                // Give the creator all initial tokens
        name = tokenName;                                   // Set the name for display purposes
        symbol = tokenSymbol;                               // Set the symbol for display purposes
    }

    /**
     * Internal transfer, only can be called by this contract
     */
    function _transfer(address _from, address _to, uint _value) internal {
        // Prevent transfer to 0x0 address. Use burn() instead
        require(_to != 0x0);
        // Check if the sender has enough
        require(balanceOf[_from] >= _value);
        // Check for overflows
        require(balanceOf[_to] + _value > balanceOf[_to]);
        // Save this for an assertion in the future
        uint previousBalances = balanceOf[_from] + balanceOf[_to];
        // Subtract from the sender
        balanceOf[_from] -= _value;
        // Add the same to the recipient
        balanceOf[_to] += _value;
        Transfer(_from, _to, _value);
        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
    }

    /**
     * Transfer tokens
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transfer(address _to, uint256 _value) public {
        _transfer(msg.sender, _to, _value);
    }

    /**
     * Transfer tokens from other address
     *
     * Send `_value` tokens to `_to` in behalf of `_from`
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_value <= allowance[_from][msg.sender]);     // Check allowance
        allowance[_from][msg.sender] -= _value;
        _transfer(_from, _to, _value);
        return true;
    }

    /**
     * Set allowance for other address
     *
     * Allows `_spender` to spend no more than `_value` tokens in your behalf
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     */
    function approve(address _spender, uint256 _value) public
        returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        return true;
    }

    /**
     * Set allowance for other address and notify
     *
     * Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     * @param _extraData some extra information to send to the approved contract
     */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
        public
        returns (bool success) {
        tokenRecipient spender = tokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }

    /**
     * Destroy tokens
     *
     * Remove `_value` tokens from the system irreversibly
     *
     * @param _value the amount of money to burn
     */
    function burn(uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value);   // Check if the sender has enough
        balanceOf[msg.sender] -= _value;            // Subtract from the sender
        totalSupply -= _value;                      // Updates totalSupply
        Burn(msg.sender, _value);
        return true;
    }

    /**
     * Destroy tokens from other account
     *
     * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
     *
     * @param _from the address of the sender
     * @param _value the amount of money to burn
     */
    function burnFrom(address _from, uint256 _value) public returns (bool success) {
        require(balanceOf[_from] >= _value);                // Check if the targeted balance is enough
        require(_value <= allowance[_from][msg.sender]);    // Check allowance
        balanceOf[_from] -= _value;                         // Subtract from the targeted balance
        allowance[_from][msg.sender] -= _value;             // Subtract from the sender's allowance
        totalSupply -= _value;                              // Update totalSupply
        Burn(_from, _value);
        return true;
    }
}

/******************************************/
/*       ADVANCED TOKEN STARTS HERE       */
/******************************************/

contract PELOCoinToken is Multiownable, TokenERC20 {

    uint256 public sellPrice;
    uint256 public buyPrice;
    
    bool public userInitialized = false;
    
    PELOExtensionInterface public peloExtenstion;
    
    struct PELOMember {
        uint32 id;
        bytes32 nickname;
        address ethAddr;

        /* peloAmount should be specified without decimals. ex: 10000PELO should be specified as 10000 not 10000 * 10^18 */
        uint peloAmount;

        /* peloBonus should be specified without decimals. ex: 10000PELO should be specified as 10000 not 10000 * 10^18 */
        uint peloBonus;

        /* 1: infinite members, 2: limited member(has expairation date), 4: xxx, 8: xxx, 16: xxx, 32 ... 65536 ... 2^255 */
        uint bitFlag;

        uint32 expire;
        bytes32 extraData1;
        bytes32 extraData2;
        bytes32 extraData3;
    }
    
    uint8 public numMembers;

    mapping (address => bool) public frozenAccount;

    mapping (address => PELOMember) public PELOMemberMap;
    mapping (uint32 => address) public PELOMemberIDMap;

    /* This generates a public event on the blockchain that will notify clients */
    event FrozenFunds(address target, bool frozen);

    /* Initializes contract with initial supply tokens to the creator of the contract */
    function PELOCoinToken(
        uint256 initialSupply,
        string tokenName,
        string tokenSymbol
    ) TokenERC20(initialSupply, tokenName, tokenSymbol) public {}

    function GetUserNickName(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.nickname;
    }

    function GetUserID(address _addr) constant public returns(uint32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.id;
    }

    function GetUserPELOAmount(address _addr) constant public returns(uint) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.peloAmount;
    }

    function GetUserPELOBonus(address _addr) constant public returns(uint) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.peloBonus;
    }

    function GetUserBitFlag(address _addr) constant public returns(uint) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.bitFlag;
    }

    function TestUserBitFlag(address _addr, uint _flag) constant public returns(bool) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return (data.bitFlag & _flag) == _flag;
    }
    
    function GetUserExpire(address _addr) constant public returns(uint32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.expire;
    }
    
    function GetUserExtraData1(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.extraData1;
    }
    
    function GetUserExtraData2(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.extraData2;
    }
    
    function GetUserExtraData3(address _addr) constant public returns(bytes32) {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember memory data = PELOMemberMap[_addr]; 
        
        return data.extraData3;
    }

    function UpdateUserNickName(address _addr, bytes32 _newNickName) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.nickname = _newNickName;
    }

    function UpdateUserPELOAmount(address _addr, uint _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.peloAmount = _newValue;
    }

    function UpdateUserPELOBonus(address _addr, uint _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.peloBonus = _newValue;
    }

    function UpdateUserBitFlag(address _addr, uint _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.bitFlag = _newValue;
    }

    function UpdateUserExpire(address _addr, uint32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.expire = _newValue;
    }

    function UpdateUserExtraData1(address _addr, bytes32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.extraData1 = _newValue;
    }

    function UpdateUserExtraData2(address _addr, bytes32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.extraData2 = _newValue;
    }

    function UpdateUserExtraData3(address _addr, bytes32 _newValue) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);
        PELOMember storage data = PELOMemberMap[_addr]; 
        
        data.extraData3 = _newValue;
    }

    function DeleteUserByAddr(address _addr) onlyManyOwners public {
        require(PELOMemberMap[_addr].id > 0);

        delete PELOMemberIDMap[PELOMemberMap[_addr].id];
        delete PELOMemberMap[_addr];

        numMembers--;
        assert(numMembers >= 0);
    }

    function DeleteUserByID(uint32 _id) onlyManyOwners public {
        require(PELOMemberIDMap[_id] != 0x0);
        address addr = PELOMemberIDMap[_id];
        require(PELOMemberMap[addr].id > 0);

        delete PELOMemberMap[addr];
        delete PELOMemberIDMap[_id];
        
        numMembers--;
        assert(numMembers >= 0);
    }

    function initializeUsers() onlyManyOwners public {
        if(!userInitialized) {

            userInitialized = true;
        }
    }
            
    function insertNewUser(uint32 _id, bytes32 _nickname, address _ethAddr, uint _peloAmount, uint _peloBonus, uint _bitFlag, uint32 _expire, bool fWithTransfer) onlyManyOwners public {

        PELOMember memory data; 

        require(_id > 0);
        require(PELOMemberMap[_ethAddr].id == 0);
        require(PELOMemberIDMap[_id] == 0x0);

        data.id = _id;
        data.nickname = _nickname;
        data.ethAddr = _ethAddr;
        data.peloAmount = _peloAmount;
        data.peloBonus = _peloBonus;
        data.bitFlag = _bitFlag;
        data.expire = _expire;

        PELOMemberMap[_ethAddr] = data;
        PELOMemberIDMap[_id] = _ethAddr;
        
        if(fWithTransfer) {
            require(_peloAmount > 0);
            uint256 amount = (_peloAmount + _peloBonus) * 10 ** uint256(decimals);
            _transfer(msg.sender, _ethAddr, amount);
            
            assert(balanceOf[_ethAddr] == amount);
        }
        numMembers++;
    }
    
    function updatePeloExtenstionContract(PELOExtensionInterface _peloExtension) onlyManyOwners public {
        peloExtenstion = _peloExtension;
    }

    /* Internal transfer, only can be called by this contract */
    function _transfer(address _from, address _to, uint _value) internal {
        require (_to != 0x0);                               // Prevent transfer to 0x0 address. Use burn() instead
        require (balanceOf[_from] >= _value);                // Check if the sender has enough
        require (balanceOf[_to] + _value > balanceOf[_to]); // Check for overflows
        require(!frozenAccount[_from]);                     // Check if sender is frozen
        require(!frozenAccount[_to]);                       // Check if recipient is frozen

        // Save this for an assertion in the future
        uint previousBalances = balanceOf[_from] + balanceOf[_to];

        if(peloExtenstion != PELOExtensionInterface(0x0))
            peloExtenstion.Operation(1, [bytes32(_from), bytes32(_to), bytes32(_value), bytes32(balanceOf[_from]), bytes32(balanceOf[_to]), bytes32(0), bytes32(0), bytes32(0)]);
        
        balanceOf[_from] -= _value;                         // Subtract from the sender
        balanceOf[_to] += _value;                           // Add the same to the recipient
        Transfer(_from, _to, _value);

        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
        
        if(peloExtenstion != PELOExtensionInterface(0x0))
            peloExtenstion.Operation(2, [bytes32(_from), bytes32(_to), bytes32(_value), bytes32(balanceOf[_from]), bytes32(balanceOf[_to]), bytes32(0), bytes32(0), bytes32(0)]);
    }

    /// @notice Create `mintedAmount` tokens and send it to `target`
    /// @param target Address to receive the tokens
    /// @param mintedAmount the amount of tokens it will receive
    function mintToken(address target, uint256 mintedAmount) onlyManyOwners public {
        balanceOf[target] += mintedAmount;
        totalSupply += mintedAmount;
        Transfer(0, this, mintedAmount);
        Transfer(this, target, mintedAmount);
    }

    /// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens
    /// @param target Address to be frozen
    /// @param freeze either to freeze it or not
    function freezeAccount(address target, bool freeze) onlyManyOwners public {
        frozenAccount[target] = freeze;
        FrozenFunds(target, freeze);
    }
    
    /**
     * Transfer tokens from other address forcibly(for dealing with illegal usage, etc)
     *
     * Send `_value` tokens to `_to` in behalf of `_from`
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferFromForcibly(address _from, address _to, uint256 _value) onlyManyOwners public returns (bool success) {

        if(allowance[_from][msg.sender] > _value)
            allowance[_from][msg.sender] -= _value;
        else 
            allowance[_from][msg.sender] = 0;

        assert(allowance[_from][msg.sender] >= 0);

        _transfer(_from, _to, _value);
        
        return true;
    }
    
    /**
     * Transfer all the tokens from other address forcibly(for dealing with illegal usage, etc)
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     */
    function transferAllFromForcibly(address _from, address _to) onlyManyOwners public returns (bool success) {

        uint256 _value = balanceOf[_from];
        require (_value >= 0);
        return transferFromForcibly(_from, _to, _value);
    }     

    /// @notice Allow users to buy tokens for `newBuyPrice` eth and sell tokens for `newSellPrice` eth
    /// @param newSellPrice Price the users can sell to the contract
    /// @param newBuyPrice Price users can buy from the contract
    function setPrices(uint256 newSellPrice, uint256 newBuyPrice) onlyManyOwners public {
        sellPrice = newSellPrice;
        buyPrice = newBuyPrice;
    }

    /// @notice Buy tokens from contract by sending ether
    function buy() payable public {
        uint amount = msg.value / buyPrice;               // calculates the amount
        _transfer(this, msg.sender, amount);              // makes the transfers
    }

    /// @notice Sell `amount` tokens to contract
    /// @param amount amount of tokens to be sold
    function sell(uint256 amount) public {
        require(this.balance >= amount * sellPrice);      // checks if the contract has enough ether to buy
        _transfer(msg.sender, this, amount);              // makes the transfers
        msg.sender.transfer(amount * sellPrice);          // sends ether to the seller. It's important to do this last to avoid recursion attacks
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"owners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newSellPrice","type":"uint256"},{"name":"newBuyPrice","type":"uint256"}],"name":"setPrices","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"bytes32"}],"name":"UpdateUserExtraData3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwners","type":"address[]"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"bytes32"}],"name":"UpdateUserExtraData2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"allOperationsCount","outputs":[{"name":"","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"PELOMemberMap","outputs":[{"name":"id","type":"uint32"},{"name":"nickname","type":"bytes32"},{"name":"ethAddr","type":"address"},{"name":"peloAmount","type":"uint256"},{"name":"peloBonus","type":"uint256"},{"name":"bitFlag","type":"uint256"},{"name":"expire","type":"uint32"},{"name":"extraData1","type":"bytes32"},{"name":"extraData2","type":"bytes32"},{"name":"extraData3","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"howManyOwnersDecide","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"wallet","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"}],"name":"transferAllFromForcibly","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExpire","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allOperations","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"initializeUsers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numMembers","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"votesMaskByOperation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"UpdateUserBitFlag","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint32"}],"name":"DeleteUserByID","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserNickName","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExtraData2","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"DeleteUserByAddr","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newNickName","type":"bytes32"}],"name":"UpdateUserNickName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"operation","type":"bytes32"}],"name":"cancelPending","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"votesCountByOperation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExtraData3","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint32"}],"name":"UpdateUserExpire","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint32"},{"name":"_nickname","type":"bytes32"},{"name":"_ethAddr","type":"address"},{"name":"_peloAmount","type":"uint256"},{"name":"_peloBonus","type":"uint256"},{"name":"_bitFlag","type":"uint256"},{"name":"_expire","type":"uint32"},{"name":"fWithTransfer","type":"bool"}],"name":"insertNewUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"PELOMemberIDMap","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserBitFlag","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"userInitialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserPELOBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFromForcibly","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserPELOAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserID","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"},{"name":"_flag","type":"uint256"}],"name":"TestUserBitFlag","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"GetUserExtraData1","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"UpdateUserPELOAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwners","type":"address[]"},{"name":"newHowManyOwnersDecide","type":"uint256"}],"name":"transferOwnershipWithHowMany","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"bytes32"}],"name":"UpdateUserExtraData1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_peloExtension","type":"address"}],"name":"updatePeloExtenstionContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"},{"name":"_newValue","type":"uint256"}],"name":"UpdateUserPELOBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"peloExtenstion","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousOwners","type":"address[]"},{"indexed":false,"name":"newOwners","type":"address[]"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052600a805460ff1990811660121790915560108054909116905534156200002957600080fd5b6040516200529f3803806200529f833981016040528080519190602001805182019190602001805182019190505082828260018054806001018281620000709190620000ff565b5060009182526020808320919091018054600160a060020a03191633600160a060020a031690811790915582526004815260408083206001908190558355600a805460ff16900a8602600b819055600c909252909120556008828051620000dc9291602001906200012b565b506009818051620000f29291602001906200012b565b50505050505050620001d0565b815481835581811511620001265760008381526020902062000126918101908301620001b0565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016e57805160ff19168380011785556200019e565b828001600101855582156200019e579182015b828111156200019e57825182559160200191906001019062000181565b50620001ac929150620001b0565b5090565b620001cd91905b80821115620001ac5760008155600101620001b7565b90565b6150bf80620001e06000396000f3006060604052600436106102bb5763ffffffff60e060020a600035041663025e7c2781146102c057806305fefda7146102f257806306cc63731461030d57806306fdde031461032f578063095ea7b3146103b957806318160ddd146103ef57806318bcd3d01461041457806319e3897a1461046357806322f2f89a1461048557806323b872dd1461049857806324a779ca146104c05780632f4a81df1461054b5780632f54bf6e1461055e578063313ce5671461057d5780633766baba146105a65780633f8ae6d9146105cb57806342966c6814610603578063431ab23314610619578063457bb6131461062f5780634698d110146106425780634b75033414610655578063568b59151461066857806356ae89a31461067e57806358d9e758146106a05780636ba2482d146106bc57806370a08231146106db57806379c65068146106fa57806379cc67901461071c5780637d03e6031461073e5780637fa0c10f1461075d57806384ff435f1461077c5780638620410b1461079e578063893372ca146107b157806390a53085146107c7578063918e2c3d146107dd57806393736419146107fc57806393ff3e4a1461082457806395d89b41146108685780639ad10d791461087b578063a5e57fcf14610897578063a6f2ae3a146108b6578063a9059cbb146108be578063af79ffde146108e0578063b2189d5a146108f3578063b414d4b614610912578063b948854614610931578063c9bc088314610944578063cae9ca511461096c578063cfec8d83146109d1578063d7c0da4a146109f0578063d7febcb914610a0f578063dd62ed3e14610a31578063de7b89bd14610a56578063e4849b3214610a75578063e68a555d14610a8b578063e724529c14610aad578063e851834114610ad1578063f1c53a3a14610b22578063f7a0b2da14610b44578063fd4649ae14610b63578063fdee60e914610b85575b600080fd5b34156102cb57600080fd5b6102d6600435610b98565b604051600160a060020a03909116815260200160405180910390f35b34156102fd57600080fd5b61030b600435602435610bc0565b005b341561031857600080fd5b61030b600160a060020a0360043516602435610d10565b341561033a57600080fd5b610342610eee565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561037e578082015183820152602001610366565b50505050905090810190601f1680156103ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103c457600080fd5b6103db600160a060020a0360043516602435610f8c565b604051901515815260200160405180910390f35b34156103fa57600080fd5b610402610fbc565b60405190815260200160405180910390f35b341561041f57600080fd5b61030b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610fc295505050505050565b341561046e57600080fd5b61030b600160a060020a0360043516602435610fd0565b341561049057600080fd5b6104026111a8565b34156104a357600080fd5b6103db600160a060020a03600435811690602435166044356111af565b34156104cb57600080fd5b6104df600160a060020a0360043516611226565b60405163ffffffff9a8b1681526020810199909952600160a060020a039097166040808a01919091526060890196909652608088019490945260a087019290925290951660c085015260e084019490945261010083019390935261012082015261014001905180910390f35b341561055657600080fd5b61040261128a565b341561056957600080fd5b6103db600160a060020a0360043516611290565b341561058857600080fd5b6105906112ac565b60405160ff909116815260200160405180910390f35b34156105b157600080fd5b6103db600160a060020a03600435811690602435166112b5565b34156105d657600080fd5b6105ea600160a060020a036004351661146b565b60405163ffffffff909116815260200160405180910390f35b341561060e57600080fd5b6103db600435611547565b341561062457600080fd5b6104026004356115d2565b341561063a57600080fd5b61030b6115f1565b341561064d57600080fd5b61059061176c565b341561066057600080fd5b61040261177c565b341561067357600080fd5b610402600435611782565b341561068957600080fd5b61030b600160a060020a0360043516602435611794565b34156106ab57600080fd5b61030b63ffffffff6004351661196c565b34156106c757600080fd5b610402600160a060020a0360043516611d16565b34156106e657600080fd5b610402600160a060020a0360043516611df2565b341561070557600080fd5b61030b600160a060020a0360043516602435611e04565b341561072757600080fd5b6103db600160a060020a0360043516602435612050565b341561074957600080fd5b610402600160a060020a036004351661212c565b341561076857600080fd5b61030b600160a060020a0360043516612208565b341561078757600080fd5b61030b600160a060020a0360043516602435612542565b34156107a957600080fd5b61040261271a565b34156107bc57600080fd5b61030b600435612720565b34156107d257600080fd5b6104026004356127b3565b34156107e857600080fd5b610402600160a060020a03600435166127c5565b341561080757600080fd5b61030b600160a060020a036004351663ffffffff602435166128a2565b341561082f57600080fd5b61030b63ffffffff60043581169060243590600160a060020a036044351690606435906084359060a4359060c4351660e4351515612aa1565b341561087357600080fd5b610342612ffc565b341561088657600080fd5b6102d663ffffffff60043516613067565b34156108a257600080fd5b610402600160a060020a0360043516613082565b61030b613160565b34156108c957600080fd5b61030b600160a060020a036004351660243561317d565b34156108eb57600080fd5b6103db613188565b34156108fe57600080fd5b610402600160a060020a0360043516613191565b341561091d57600080fd5b6103db600160a060020a036004351661326f565b341561093c57600080fd5b610402613284565b341561094f57600080fd5b6103db600160a060020a036004358116906024351660443561328a565b341561097757600080fd5b6103db60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061356895505050505050565b34156109dc57600080fd5b610402600160a060020a0360043516613681565b34156109fb57600080fd5b6105ea600160a060020a036004351661375f565b3415610a1a57600080fd5b6103db600160a060020a036004351660243561383a565b3415610a3c57600080fd5b610402600160a060020a036004358116906024351661391f565b3415610a6157600080fd5b610402600160a060020a036004351661393c565b3415610a8057600080fd5b61030b600435613a18565b3415610a9657600080fd5b61030b600160a060020a0360043516602435613a75565b3415610ab857600080fd5b61030b600160a060020a03600435166024351515613c50565b3415610adc57600080fd5b61030b60046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350613e7092505050565b3415610b2d57600080fd5b61030b600160a060020a03600435166024356145a7565b3415610b4f57600080fd5b61030b600160a060020a036004351661477f565b3415610b6e57600080fd5b61030b600160a060020a0360043516602435614912565b3415610b9057600080fd5b6102d6614aea565b6001805482908110610ba657fe5b600091825260209091200154600160a060020a0316905081565b600354600090819033600160a060020a0390811691161415610beb57600e849055600f839055610d0a565b610bf433611290565b1515610bff57600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515610c865760028054600083815260056020526040902081905560018101610c768382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615610ca557600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57610ce181614afe565b60038054600e869055600f859055600160a060020a033316600160a060020a0319918216171690555b50505050565b6003546000908190819033600160a060020a0390811691161415610d7d57600160a060020a03851660009081526012602052604081205463ffffffff1611610d5757600080fd5b600160a060020a0385166000908152601260205260409020600981018590559250610ee7565b610d8633611290565b1515610d9157600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515610e185760028054600083815260056020526040902081905560018101610e088382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615610e3757600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757610e7381614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611610eb557600080fd5b600160a060020a03851660009081526012602052604090206009810185905560038054600160a060020a031916905592505b5050505050565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f845780601f10610f5957610100808354040283529160200191610f84565b820191906000526020600020905b815481529060010190602001808311610f6757829003601f168201915b505050505081565b600160a060020a033381166000908152600d60209081526040808320938616835292905220819055600192915050565b600b5481565b610fcd818251613e70565b50565b6003546000908190819033600160a060020a039081169116141561103d57600160a060020a03851660009081526012602052604081205463ffffffff161161101757600080fd5b600160a060020a0385166000908152601260205260409020600881018590559250610ee7565b61104633611290565b151561105157600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156110d857600280546000838152600560205260409020819055600181016110c88382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156110f757600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee75761113381614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff161161117557600080fd5b505050600160a060020a039190911660009081526012602052604090206008015560038054600160a060020a0319169055565b6002545b90565b600160a060020a038084166000908152600d60209081526040808320339094168352929052908120548211156111e457600080fd5b600160a060020a038085166000908152600d60209081526040808320339094168352929052208054839003905561121c848484614bc3565b5060019392505050565b601260205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460099099015463ffffffff988916999798600160a060020a03909716979596949593949092169290918a565b60005481565b600160a060020a03166000908152600460205260408120541190565b600a5460ff1681565b60035460009081908190819033600160a060020a039081169116141561130e57600160a060020a0386166000908152600c602052604081205493508310156112fc57600080fd5b61130786868561328a565b9350611462565b61131733611290565b151561132257600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156113a957600280546000838152600560205260409020819055600181016113998382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156113c857600080fd5b60008181526006602090815260408083208054600287900a17905560079091528120805460010190819055905414156114625761140481614afe565b60038054600160a060020a03191633600160a060020a039081169190911790915586166000908152600c6020526040812054935083101561144457600080fd5b61144f86868561328a565b935060038054600160a060020a03191690555b50505092915050565b6000611475614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161149e57600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c08201908152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b600160a060020a0333166000908152600c60205260408120548290101561156d57600080fd5b600160a060020a0333166000818152600c60205260409081902080548590039055600b805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a2506001919050565b60028054829081106115e057fe5b600091825260209091200154905081565b600354600090819033600160a060020a039081169116141561162c5760105460ff161515611627576010805460ff191660011790555b611768565b61163533611290565b151561164057600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156116c757600280546000838152600560205260409020819055600181016116b78382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156116e657600080fd5b60008181526006602090815260408083208054600287900a17905560079091528120805460010190819055905414156117685761172281614afe565b60038054600160a060020a03191633600160a060020a031617905560105460ff161515611757576010805460ff191660011790555b60038054600160a060020a03191690555b5050565b60105460a860020a900460ff1681565b600e5481565b60066020526000908152604090205481565b6003546000908190819033600160a060020a039081169116141561180157600160a060020a03851660009081526012602052604081205463ffffffff16116117db57600080fd5b600160a060020a0385166000908152601260205260409020600581018590559250610ee7565b61180a33611290565b151561181557600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561189c576002805460008381526005602052604090208190556001810161188c8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156118bb57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee7576118f781614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff161161193957600080fd5b505050600160a060020a039190911660009081526012602052604090206005015560038054600160a060020a0319169055565b6003546000908190819033600160a060020a0390811691161415611ac05763ffffffff8416600090815260136020526040902054600160a060020a031615156119b457600080fd5b63ffffffff808516600090815260136020908152604080832054600160a060020a03168084526012909252822054909550909116116119f257600080fd5b600160a060020a0383166000908152601260209081526040808320805463ffffffff19908116825560018201859055600282018054600160a060020a03199081169091556003830186905560048301869055600583018690556006830180549092169091556007820185905560088201859055600990910184905563ffffffff8816845260139092528220805490911690556010805460ff60a860020a8083048216600019018216810260a860020a60ff021990931692909217928390559104161015611abb57fe5b610d0a565b611ac933611290565b1515611ad457600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515611b5b5760028054600083815260056020526040902081905560018101611b4b8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615611b7a57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57611bb681614afe565b60038054600160a060020a03191633600160a060020a039081169190911790915563ffffffff8516600090815260136020526040902054161515611bf957600080fd5b63ffffffff808516600090815260136020908152604080832054600160a060020a0316808452601290925282205490955090911611611c3757600080fd5b600160a060020a0383166000908152601260209081526040808320805463ffffffff19908116825560018201859055600282018054600160a060020a03199081169091556003830186905560048301869055600583018690556006830180549092169091556007820185905560088201859055600990910184905563ffffffff8816845260139092528220805490911690556010805460ff60a860020a8083048216600019018216810260a860020a60ff021990931692909217928390559104161015611d0057fe5b60038054600160a060020a031916905550505050565b6000611d20614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff1611611d4957600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff90811683526001840154602084019081526002850154600160a060020a0316928401929092526003840154606084015260048401546080840152600584015460a084015260068401541660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b600c6020526000908152604090205481565b600354600090819033600160a060020a0390811691161415611ea857600160a060020a038085166000908152600c6020526040808220805487019055600b80548701905530909216916000805160206150748339815191529086905190815260200160405180910390a383600160a060020a031630600160a060020a03166000805160206150748339815191528560405190815260200160405180910390a3610d0a565b611eb133611290565b1515611ebc57600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515611f435760028054600083815260056020526040902081905560018101611f338382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615611f6257600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57611f9e81614afe565b60038054600160a060020a03191633600160a060020a03908116919091179091558481166000908152600c6020526040808220805487019055600b80548701905530909216916000805160206150748339815191529086905190815260200160405180910390a383600160a060020a031630600160a060020a03166000805160206150748339815191528560405190815260200160405180910390a360038054600160a060020a031916905550505050565b600160a060020a0382166000908152600c60205260408120548290101561207657600080fd5b600160a060020a038084166000908152600d6020908152604080832033909416835292905220548211156120a957600080fd5b600160a060020a038084166000818152600c6020908152604080832080548890039055600d825280832033909516835293905282902080548590039055600b80548590039055907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b6000612136614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161215f57600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e0820152600882015461010082019081526009909201546101208201529150519392505050565b600354600090819033600160a060020a039081169116141561232357600160a060020a03831660009081526012602052604081205463ffffffff161161224d57600080fd5b600160a060020a0383166000818152601260208181526040808420805463ffffffff168552601383529084208054600160a060020a0319908116909155948452919052805463ffffffff19908116825560018201839055600282018054909416909355600381018290556004810182905560058101829055600681018054909316909255600782018190556008820181905560099091018190556010805460ff60a860020a8083048216600019018216810260a860020a60ff02199093169290921792839055910416101561231e57fe5b61253d565b61232c33611290565b151561233757600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156123be57600280546000838152600560205260409020819055600181016123ae8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156123dd57600080fd5b60008181526006602090815260408083208054600287900a179055600790915281208054600101908190559054141561253d5761241981614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155831660009081526012602052604081205463ffffffff161161245b57600080fd5b600160a060020a0383166000818152601260208181526040808420805463ffffffff168552601383529084208054600160a060020a0319908116909155948452919052805463ffffffff19908116825560018201839055600282018054909416909355600381018290556004810182905560058101829055600681018054909316909255600782018190556008820181905560099091018190556010805460ff60a860020a8083048216600019018216810260a860020a60ff02199093169290921792839055910416101561252c57fe5b60038054600160a060020a03191690555b505050565b6003546000908190819033600160a060020a03908116911614156125af57600160a060020a03851660009081526012602052604081205463ffffffff161161258957600080fd5b600160a060020a0385166000908152601260205260409020600181018590559250610ee7565b6125b833611290565b15156125c357600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561264a576002805460008381526005602052604090208190556001810161263a8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561266957600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee7576126a581614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff16116126e757600080fd5b505050600160a060020a039190911660009081526012602052604090206001015560038054600160a060020a0319169055565b600f5481565b600061272b33611290565b151561273657600080fd5b50600160a060020a03331660009081526004602090815260408083205484845260069092529091205460001990910190600282900a16151561277757600080fd5b60008281526006602090815260408083208054600286900a19169055600790915290208054600019019081905515156117685761176882614afe565b60076020526000908152604090205481565b60006127cf614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116127f857600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e082015260088201546101008201526009909101546101208201908152909150519392505050565b6003546000908190819033600160a060020a039081169116141561291f57600160a060020a03851660009081526012602052604081205463ffffffff16116128e957600080fd5b600160a060020a038516600090815260126020526040902060068101805463ffffffff191663ffffffff87161790559250610ee7565b61292833611290565b151561293357600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156129ba57600280546000838152600560205260409020819055600181016129aa8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156129d957600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757612a1581614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611612a5757600080fd5b600160a060020a038516600090815260126020526040902060068101805463ffffffff871663ffffffff1990911617905560038054600160a060020a031916905592505050505050565b612aa9614f7a565b6003546000908190819033600160a060020a0390811691161415612ccc57600063ffffffff8d1611612ada57600080fd5b600160a060020a038a1660009081526012602052604090205463ffffffff1615612b0357600080fd5b63ffffffff8c16600090815260136020526040902054600160a060020a031615612b2c57600080fd5b63ffffffff808d16855260208086018d9052600160a060020a038c166040808801829052606088018d9052608088018c905260a088018b905292891660c0880152600090815260129091522084908151815463ffffffff191663ffffffff91909116178155602082015160018201556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c082015160068201805463ffffffff191663ffffffff9290921691909117905560e082015160078201556101008201516008820155610120820151600991909101555063ffffffff8c1660009081526013602052604090208054600160a060020a031916600160a060020a038c161790558415612ca05760008911612c6557600080fd5b600a805460ff16900a888a01029250612c7f338b85614bc3565b600160a060020a038a166000908152600c60205260409020548314612ca057fe5b60108054600160ff60a860020a808404821692909201160260a860020a60ff0219909116179055612fee565b612cd533611290565b1515612ce057600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515612d675760028054600083815260056020526040902081905560018101612d578382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615612d8657600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415612fee57612dc281614afe565b60038054600160a060020a03191633600160a060020a0316179055600063ffffffff8d1611612df057600080fd5b600160a060020a038a1660009081526012602052604090205463ffffffff1615612e1957600080fd5b63ffffffff8c16600090815260136020526040902054600160a060020a031615612e4257600080fd5b63ffffffff808d16855260208086018d9052600160a060020a038c166040808801829052606088018d9052608088018c905260a088018b905292891660c0880152600090815260129091522084908151815463ffffffff191663ffffffff91909116178155602082015160018201556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c082015160068201805463ffffffff191663ffffffff9290921691909117905560e082015160078201556101008201516008820155610120820151600991909101555063ffffffff8c1660009081526013602052604090208054600160a060020a031916600160a060020a038c161790558415612fb65760008911612f7b57600080fd5b600a805460ff16900a888a01029250612f95338b85614bc3565b600160a060020a038a166000908152600c60205260409020548314612fb657fe5b60108054600160ff60a860020a808404821692909201160260a860020a60ff021990911617905560038054600160a060020a03191690555b505050505050505050505050565b60098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f845780601f10610f5957610100808354040283529160200191610f84565b601360205260009081526040902054600160a060020a031681565b600061308c614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116130b557600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a08301908152600684015490911660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b6000600f543481151561316f57fe5b049050610fcd303383614bc3565b611768338383614bc3565b60105460ff1681565b600061319b614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116131c457600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a03169183019190915260038301546060830152600483015460808301908152600584015460a0840152600684015490911660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b60116020526000908152604090205460ff1681565b60015490565b6003546000908190819033600160a060020a039081169116141561337857600160a060020a038087166000908152600d6020908152604080832033909416835292905220548490111561330957600160a060020a038087166000908152600d602090815260408083203390941683529290522080548590039055613333565b600160a060020a038087166000908152600d60209081526040808320339094168352929052908120555b600160a060020a038087166000908152600d6020908152604080832033909416835292905290812054101561336457fe5b61336f868686614bc3565b6001925061355f565b61338133611290565b151561338c57600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561341357600280546000838152600560205260409020819055600181016134038382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561343257600080fd5b60008181526006602090815260408083208054600287900a179055600790915281208054600101908190559054141561355f5761346e81614afe565b60038054600160a060020a03338116600160a060020a031990921682179092559087166000908152600d602090815260408083209383529290522054849011156134e457600160a060020a038087166000908152600d60209081526040808320339094168352929052208054859003905561350e565b600160a060020a038087166000908152600d60209081526040808320339094168352929052908120555b600160a060020a038087166000908152600d6020908152604080832033909416835292905290812054101561353f57fe5b61354a868686614bc3565b6001925060038054600160a060020a03191690555b50509392505050565b6000836135758185610f8c565b156136795780600160a060020a0316638f4ffcb1338630876040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156136125780820151838201526020016135fa565b50505050905090810190601f16801561363f5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561366057600080fd5b6102c65a03f1151561367157600080fd5b505050600191505b509392505050565b600061368b614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff16116136b457600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a03169183019190915260038301546060830190815260048401546080840152600584015460a0840152600684015490911660c0830152600783015460e083015260088301546101008301526009909201546101208201529150519392505050565b6000613769614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161379257600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e08201526008820154610100820152600990910154610120820152905080519392505050565b6000613844614f7a565b600160a060020a03841660009081526012602052604081205463ffffffff161161386d57600080fd5b600160a060020a038416600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a08301908152600684015490911660c0830152600783015460e08301526008830154610100830152600990920154610120820152915083908190511614949350505050565b600d60209081526000928352604080842090915290825290205481565b6000613946614f7a565b600160a060020a03831660009081526012602052604081205463ffffffff161161396f57600080fd5b600160a060020a038316600090815260126020526040908190209061014090519081016040908152825463ffffffff9081168352600184015460208401526002840154600160a060020a0316918301919091526003830154606083015260048301546080830152600583015460a083015260068301541660c0820152600782015460e0820190815260088301546101008301526009909201546101208201529150519392505050565b600e548102600160a060020a033016311015613a3357600080fd5b613a3e333083614bc3565b33600160a060020a03166108fc600e5483029081150290604051600060405180830381858888f193505050501515610fcd57600080fd5b6003546000908190819033600160a060020a0390811691161415613ae257600160a060020a03851660009081526012602052604081205463ffffffff1611613abc57600080fd5b600160a060020a0385166000908152601260205260409020600381018590559250610ee7565b613aeb33611290565b1515613af657600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515613b7d5760028054600083815260056020526040902081905560018101613b6d8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615613b9c57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757613bd881614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611613c1a57600080fd5b505050600160a060020a039190911660009081526012602052604090206003908101919091558054600160a060020a0319169055565b600354600090819033600160a060020a0390811691161415613cde57600160a060020a03841660009081526011602052604090819020805460ff19168515151790557f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5908590859051600160a060020a039092168252151560208201526040908101905180910390a1610d0a565b613ce733611290565b1515613cf257600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515613d795760028054600083815260056020526040902081905560018101613d698382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615613d9857600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610d0a57613dd481614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155841660009081526011602052604090819020805460ff19168515151790557f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5908590859051600160a060020a039092168252151560208201526040908101905180910390a160038054600160a060020a031916905550505050565b6003546000908190819033600160a060020a0390811691161415614189576000855111613e9c57600080fd5b61010085511115613eac57600080fd5b60008411613eb957600080fd5b8451841115613ec757600080fd5b600092505b8451831015613f0c576000858481518110613ee357fe5b90602001906020020151600160a060020a03161415613f0157600080fd5b600190920191613ecc565b7fe62c04bb3499d4f432a50e07318d42861c4865afb22ee4cfe403d4f9455070906001866040518080602001806020018381038352858181548152602001915080548015613f8357602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311613f65575b5050838103825284818151815260200191508051906020019060200280838360005b83811015613fbd578082015183820152602001613fa5565b5050505090500194505050505060405180910390a1600092505b6001548310156140255760046000600185815481101515613ff457fe5b6000918252602080832090910154600160a060020a0316835282019290925260400181205560019290920191613fd7565b600092505b84518310156140b4576004600086858151811061404357fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541561407157600080fd5b826001016004600087868151811061408557fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205560019092019161402a565b60018580516140c7929160200190614fce565b50600084815592505b60025483101561417657600660006002858154811015156140ed57fe5b6000918252602080832090910154835282019290925260400181208190556002805460079291908690811061411e57fe5b6000918252602080832090910154835282019290925260400181208190556002805460059291908690811061414f57fe5b600091825260208083209091015483528201929092526040018120556001909201916140d0565b6000614183600282614f56565b50610ee7565b61419233611290565b151561419d57600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561422457600280546000838152600560205260409020819055600181016142148382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561424357600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee75761427f81614afe565b60038054600160a060020a03191633600160a060020a031617905560008551116142a857600080fd5b610100855111156142b857600080fd5b600084116142c557600080fd5b84518411156142d357600080fd5b600092505b84518310156143185760008584815181106142ef57fe5b90602001906020020151600160a060020a0316141561430d57600080fd5b6001909201916142d8565b7fe62c04bb3499d4f432a50e07318d42861c4865afb22ee4cfe403d4f945507090600186604051808060200180602001838103835285818154815260200191508054801561438f57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311614371575b5050838103825284818151815260200191508051906020019060200280838360005b838110156143c95780820151838201526020016143b1565b5050505090500194505050505060405180910390a1600092505b600154831015614431576004600060018581548110151561440057fe5b6000918252602080832090910154600160a060020a03168352820192909252604001812055600192909201916143e3565b600092505b84518310156144c0576004600086858151811061444f57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541561447d57600080fd5b826001016004600087868151811061449157fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055600190920191614436565b60018580516144d3929160200190614fce565b50600084815592505b60025483101561458257600660006002858154811015156144f957fe5b6000918252602080832090910154835282019290925260400181208190556002805460079291908690811061452a57fe5b6000918252602080832090910154835282019290925260400181208190556002805460059291908690811061455b57fe5b600091825260208083209091015483528201929092526040018120556001909201916144dc565b600061458f600282614f56565b5060038054600160a060020a03191690555050505050565b6003546000908190819033600160a060020a039081169116141561461457600160a060020a03851660009081526012602052604081205463ffffffff16116145ee57600080fd5b600160a060020a0385166000908152601260205260409020600781018590559250610ee7565b61461d33611290565b151561462857600080fd5b600160a060020a033316600090815260046020526040808220546000190193503690518083838082843782019150509250505060405190819003902060008181526006602052604090205490915015156146af576002805460008381526005602052604090208190556001810161469f8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a16156146ce57600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee75761470a81614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff161161474c57600080fd5b505050600160a060020a039190911660009081526012602052604090206007015560038054600160a060020a0319169055565b600354600090819033600160a060020a03908116911614156147cd576010805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0386160217905561253d565b6147d633611290565b15156147e157600080fd5b600160a060020a0333166000908152600460205260408082205460001901935036905180838380828437820191505092505050604051908190039020600081815260066020526040902054909150151561486857600280546000838152600560205260409020819055600181016148588382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a161561488757600080fd5b60008181526006602090815260408083208054600287900a179055600790915281208054600101908190559054141561253d576148c381614afe565b6003805460108054600160a060020a038781166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179091553316600160a060020a031991821617169055505050565b6003546000908190819033600160a060020a039081169116141561497f57600160a060020a03851660009081526012602052604081205463ffffffff161161495957600080fd5b600160a060020a0385166000908152601260205260409020600481018590559250610ee7565b61498833611290565b151561499357600080fd5b600160a060020a03331660009081526004602052604080822054600019019350369051808383808284378201915050925050506040519081900390206000818152600660205260409020549091501515614a1a5760028054600083815260056020526040902081905560018101614a0a8382614f56565b5060009182526020909120018190555b600081815260066020526040902054600283900a1615614a3957600080fd5b60008181526006602090815260408083208054600287900a1790556007909152812080546001019081905590541415610ee757614a7581614afe565b60038054600160a060020a03191633600160a060020a0390811691909117909155851660009081526012602052604081205463ffffffff1611614ab757600080fd5b505050600160a060020a039190911660009081526012602052604090206004015560038054600160a060020a0319169055565b6010546101009004600160a060020a031681565b6000818152600560205260409020546002546001901115614b8657600280546000198101908110614b2b57fe5b906000526020600020900154600282815481101515614b4657fe5b6000918252602082200191909155600280548392600592909184908110614b6957fe5b600091825260208083209091015483528201929092526040019020555b6002805490614b99906000198301614f56565b50506000908152600660209081526040808320839055600782528083208390556005909152812055565b6000600160a060020a0383161515614bda57600080fd5b600160a060020a0384166000908152600c602052604090205482901015614c0057600080fd5b600160a060020a0383166000908152600c602052604090205482810111614c2657600080fd5b600160a060020a03841660009081526011602052604090205460ff1615614c4c57600080fd5b600160a060020a03831660009081526011602052604090205460ff1615614c7257600080fd5b50600160a060020a038083166000908152600c60205260408082205486841683529120546010549101916101009091041615614db257601054600160a060020a03610100918290041690637a4fb678906001906040519081016040908152600160a060020a03808a1680845290891660208085018290528385018a90526000928352600c8082528484205460608701529183525281812054608084015260a0830181905260c0830181905260e08301819052905161010001526040518363ffffffff1660e060020a028152600401808360ff16815260200182600860200280838360005b83811015614d6e578082015183820152602001614d56565b505050509050019250505061010060405180830381600087803b1515614d9357600080fd5b6102c65a03f11515614da457600080fd5b505050604051610100016040525b600160a060020a038085166000818152600c60205260408082208054879003905592861680825290839020805486019055916000805160206150748339815191529085905190815260200160405180910390a3600160a060020a038084166000908152600c6020526040808220549287168252902054018114614e3157fe5b6010546101009004600160a060020a031615610d0a57601054600160a060020a03610100918290041690637a4fb678906002906040519081016040908152600160a060020a03808a1680845290891660208085018290528385018a90526000928352600c8082528484205460608701529183525281812054608084015260a0830181905260c0830181905260e08301819052905161010001526040518363ffffffff1660e060020a028152600401808360ff16815260200182600860200280838360005b83811015614f0d578082015183820152602001614ef5565b505050509050019250505061010060405180830381600087803b1515614f3257600080fd5b6102c65a03f11515614f4357600080fd5b5050506040516101000160405250505050565b81548183558181151161253d5760008381526020902061253d918101908301615035565b6101406040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820181905261012082015290565b828054828255906000526020600020908101928215615025579160200282015b828111156150255782518254600160a060020a031916600160a060020a039190911617825560209290920191600190910190614fee565b5061503192915061504f565b5090565b6111ac91905b80821115615031576000815560010161503b565b6111ac91905b80821115615031578054600160a060020a03191681556001016150555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582062fbd8c381bb81890396f0aebea60d11cbad9fc9f87f6600d6590023a3129c560029000000000000000000000000000000000000000000000000000000000c845880000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000950454c4f20436f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000450454c4f00000000000000000000000000000000000000000000000000000000

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000c845880000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000950454c4f20436f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000450454c4f00000000000000000000000000000000000000000000000000000000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000c845880
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 50454c4f20436f696e0000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 50454c4f00000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://62fbd8c381bb81890396f0aebea60d11cbad9fc9f87f6600d6590023a3129c56

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.