ETH Price: $3,346.45 (-1.63%)
 

Overview

ETH Balance

0.08743971632788775 ETH

Eth Value

$292.61 (@ $3,346.45/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer144215972022-03-20 6:27:171018 days ago1647757637IN
BytetherToken
0.0029 ETH0.000315615
Transfer96588302020-03-12 20:22:351755 days ago1584044555IN
BytetherToken
0 ETH0.0022951841
Approve74618902019-03-29 6:47:572105 days ago1553842077IN
BytetherToken
0 ETH0.000402514
Approve74618882019-03-29 6:47:192105 days ago1553842039IN
BytetherToken
0 ETH0.000612514
Transfer66114982018-10-30 12:40:482255 days ago1540903248IN
BytetherToken
0 ETH0.000344914
Transfer66114962018-10-30 12:39:482255 days ago1540903188IN
BytetherToken
0 ETH0.000344914
Transfer66114322018-10-30 12:27:412255 days ago1540902461IN
BytetherToken
0 ETH0.000344914
Transfer66113912018-10-30 12:16:012255 days ago1540901761IN
BytetherToken
0 ETH0.000344914
Approve65508182018-10-20 14:46:212265 days ago1540046781IN
BytetherToken
0 ETH0.000218435
0x2404fc5761273412018-08-11 8:56:592335 days ago1533977819IN
BytetherToken
0 ETH0.001298464
0x2404fc5761273232018-08-11 8:52:432335 days ago1533977563IN
BytetherToken
0 ETH0.000510
Transfer60580052018-07-30 15:38:572347 days ago1532965137IN
BytetherToken
0 ETH0.0005102222
Transfer60578922018-07-30 15:14:182347 days ago1532963658IN
BytetherToken
0 ETH0.000858137
Transfer58001432018-06-16 17:07:122390 days ago1529168832IN
BytetherToken
0 ETH0.0003488415
Approve57248822018-06-03 11:22:502404 days ago1528024970IN
BytetherToken
0 ETH0.000437510
Transfer56872262018-05-27 19:20:162410 days ago1527448816IN
BytetherToken
0 ETH0.000147436
Transfer56849152018-05-27 9:34:452411 days ago1527413685IN
BytetherToken
0 ETH0.0002457210
Approve54329602018-04-13 11:44:282455 days ago1523619868IN
BytetherToken
0 ETH0.000174744
Approve53485482018-03-30 11:04:482469 days ago1522407888IN
BytetherToken
0 ETH0.0001754
Transfer52922932018-03-21 0:53:582478 days ago1521593638IN
BytetherToken
0 ETH0.000098544
Approve52430772018-03-12 16:41:002486 days ago1520872860IN
BytetherToken
0 ETH0.000174744
Transfer52159072018-03-08 2:03:592491 days ago1520474639IN
BytetherToken
0 ETH0.000098284
Approve52065752018-03-06 12:06:342493 days ago1520337994IN
BytetherToken
0 ETH0.0017525640
Transfer52063422018-03-06 11:07:252493 days ago1520334445IN
BytetherToken
0 ETH0.000191965
Approve51707682018-02-28 10:17:142499 days ago1519813034IN
BytetherToken
0 ETH0.0004381410
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BTHToken

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-10-31
*/

pragma solidity ^0.4.16;

// copyright [email protected]

contract BasicAccessControl {
    address public owner;
    address[] public moderators;

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

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

    modifier onlyModerators() {
        if (msg.sender != owner) {
            bool found = false;
            for (uint index = 0; index < moderators.length; index++) {
                if (moderators[index] == msg.sender) {
                    found = true;
                    break;
                }
            }
            require(found);
        }
        _;
    }

    function ChangeOwner(address _newOwner) onlyOwner public {
        if (_newOwner != address(0)) {
            owner = _newOwner;
        }
    }

    function Kill() onlyOwner public {
        selfdestruct(owner);
    }

    function AddModerator(address _newModerator) onlyOwner public {
        if (_newModerator != address(0)) {
            for (uint index = 0; index < moderators.length; index++) {
                if (moderators[index] == _newModerator) {
                    return;
                }
            }
            moderators.push(_newModerator);
        }
    }
    
    function RemoveModerator(address _oldModerator) onlyOwner public {
        uint foundIndex = 0;
        for (; foundIndex < moderators.length; foundIndex++) {
            if (moderators[foundIndex] == _oldModerator) {
                break;
            }
        }
        if (foundIndex < moderators.length) {
            moderators[foundIndex] = moderators[moderators.length-1];
            delete moderators[moderators.length-1];
            moderators.length--;
        }
    }
}

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

interface CrossForkDistribution {
    function getDistributedAmount(uint64 _requestId, string _btcAddress, address _receiver) public;
}

interface CrossForkCallback {
    function callbackCrossFork(uint64 _requestId, uint256 _amount, bytes32 _referCodeHash) public;
}

contract TokenERC20 {
    uint256 public totalSupply;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Burn(address indexed from, uint256 value);

    function _transfer(address _from, address _to, uint _value) internal {
        require(_to != 0x0);
        require(balanceOf[_from] >= _value);
        require(balanceOf[_to] + _value > balanceOf[_to]);
        uint previousBalances = balanceOf[_from] + balanceOf[_to];
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        Transfer(_from, _to, _value);
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
    }

    function transfer(address _to, uint256 _value) public {
        _transfer(msg.sender, _to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_value <= allowance[_from][msg.sender]);
        allowance[_from][msg.sender] -= _value;
        _transfer(_from, _to, _value);
        return true; 
    }

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

    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;
        }
    }

    function burn(uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value);
        balanceOf[msg.sender] -= _value;
        totalSupply -= _value;
        Burn(msg.sender, _value);
        return true;
    }

    function burnFrom(address _from, uint256 _value) public returns (bool success) {
        require(balanceOf[_from] >= _value);
        require(_value <= allowance[_from][msg.sender]);
        balanceOf[_from] -= _value;
        allowance[_from][msg.sender] -= _value;
        totalSupply -= _value;
        Burn(_from, _value);
        return true;
    }
}

contract BTHToken is BasicAccessControl, TokenERC20, CrossForkCallback {
    // metadata
    string public constant name = "Bytether";
    string public constant symbol = "BTH";
    uint256 public constant decimals = 18;
    string public version = "1.0";
    
    // cross fork data
    enum ForkResultCode { 
        SUCCESS,
        TRIGGERED,
        RECEIVED,
        PENDING,
        FAILED,
        ID_MISMATCH,
        NOT_ENOUGH_BALANCE,
        NOT_RECEIVED
    }
    enum ClaimReferResultCode {
        SUCCESS,
        NOT_ENOUGH_BALANCE
    }
    struct CrossForkData {
        string btcAddress;
        address receiver;
        uint256 amount;
        bytes32 referCodeHash;
        uint createTime;
    }
    uint64 public crossForkCount = 0;
    uint public referBenefitRate = 10; // 10 btc -> 1 bth
    bool public crossForking = false;
    mapping (uint64 => CrossForkData) crossForkMapping;
    mapping (string => uint64) crossForkIds;
    mapping (bytes32 => uint256) referBenefits; // referCodeHash -> bth amount
    address public crossForkDistribution = 0x0; // crossfork contract
    uint256 public constant satoshi_bth_decimals = 10 ** 10;
    
    event LogRevertCrossFork(bytes32 indexed btcAddressHash, address indexed receiver, uint64 indexed requestId, uint256 amount, ForkResultCode result);
    event LogTriggerCrossFork(bytes32 indexed btcAddressHash, uint64 indexed requestId, ForkResultCode result);
    event LogCrossFork(uint64 indexed requestId, address receiver, uint256 amount, ForkResultCode result);
    event LogClaimReferBenefit(bytes32 indexed referCodeHash, address receiver, uint256 amount, ClaimReferResultCode result);
    
    // deposit address
    address public crossForkFundDeposit; // deposit address for cross fork
    address public bthFundDeposit; // deposit address for user growth pool & marketing
    address public developerFundDeposit; // deposit address for developer fund
    
    // fund distribution
    uint256 public crossForkFund = 17 * (10**6) * 10**decimals; //17m reserved for BitCoin Cross-Fork
    uint256 public marketingFund = 2  * (10**6) * 10**decimals; //2m reserved for marketing
    uint256 public userPoolFund  = 1  * (10**6) * 10**decimals; //1m for user growth pool
    uint256 public developerFund = 1  * (10**6) * 10**decimals; //1m reserved for developers
    
    // for future feature
    uint256 public sellPrice;
    uint256 public buyPrice;
    bool public trading = false;
    mapping (address => bool) public frozenAccount;
    event FrozenFunds(address target, bool frozen);
    
    // modifier
    modifier isCrossForking {
        require(crossForking == true || msg.sender == owner);
        require(crossForkDistribution != 0x0);
        _;
    }
    
    modifier isTrading {
        require(trading == true || msg.sender == owner);
        _;
    } 

    // constructor
    function BTHToken(address _crossForkDistribution, address _crossForkFundDeposit, address _bthFundDeposit, address _developerFundDeposit) public {
        totalSupply = crossForkFund + marketingFund + userPoolFund + developerFund;
        crossForkDistribution = _crossForkDistribution;
        crossForkFundDeposit = _crossForkFundDeposit;
        bthFundDeposit = _bthFundDeposit;
        developerFundDeposit = _developerFundDeposit;
        
        balanceOf[crossForkFundDeposit] += crossForkFund;
        balanceOf[bthFundDeposit] += marketingFund + userPoolFund;
        balanceOf[developerFundDeposit] += developerFund;
    }

    function () payable public {}
    
    // only admin
    function setCrossForkDistribution(address _crossForkDistribution) onlyOwner public {
        crossForkDistribution = _crossForkDistribution;
    }

    function setDepositAddress(address _crossForkFund, address _bthFund, address _developerFund) onlyOwner public {
        crossForkFundDeposit = _crossForkFund;
        bthFundDeposit = _bthFund;
        developerFundDeposit = _developerFund;
    }

    function setPrices(uint256 _newSellPrice, uint256 _newBuyPrice) onlyOwner public {
        sellPrice = _newSellPrice;
        buyPrice = _newBuyPrice;
    }

    function setReferBenefitRate(uint _rate) onlyOwner public {
        referBenefitRate = _rate;
    }
    
    // only moderators
    function toggleCrossForking() onlyModerators public {
        crossForking = !crossForking;
    }
    
    function toggleTrading() onlyModerators public {
        trading = !trading;
    }
    
    function claimReferBenefit(string _referCode, address _receiver) onlyModerators public {
        bytes32 referCodeHash = keccak256(_referCode);
        uint256 totalAmount = referBenefits[referCodeHash];
        if (totalAmount==0) {
            LogClaimReferBenefit(referCodeHash, _receiver, 0, ClaimReferResultCode.SUCCESS);
            return;
        }
        if (balanceOf[bthFundDeposit] < totalAmount) {
            LogClaimReferBenefit(referCodeHash, _receiver, 0, ClaimReferResultCode.NOT_ENOUGH_BALANCE);
            return;
        }
        
        referBenefits[referCodeHash] = 0;
        balanceOf[bthFundDeposit] -= totalAmount;
        balanceOf[_receiver] += totalAmount;
        LogClaimReferBenefit(referCodeHash, _receiver, totalAmount, ClaimReferResultCode.SUCCESS);
    }

    // in case there is an error
    function revertCrossFork(string _btcAddress) onlyModerators public {
        bytes32 btcAddressHash = keccak256(_btcAddress);
        uint64 requestId = crossForkIds[_btcAddress];
        if (requestId == 0) {
            LogRevertCrossFork(btcAddressHash, 0x0, 0, 0, ForkResultCode.NOT_RECEIVED);
            return;
        }
        CrossForkData storage crossForkData = crossForkMapping[requestId];
        uint256 amount = crossForkData.amount;        
        address receiver = crossForkData.receiver;
        if (balanceOf[receiver] < crossForkData.amount) {
            LogRevertCrossFork(btcAddressHash, receiver, requestId, amount, ForkResultCode.NOT_ENOUGH_BALANCE);
            return;
        }
        
        // revert
        balanceOf[crossForkData.receiver] -= crossForkData.amount;
        balanceOf[crossForkFundDeposit] += crossForkData.amount;
        crossForkIds[_btcAddress] = 0;
        crossForkData.btcAddress = "";
        crossForkData.receiver = 0x0;
        crossForkData.amount = 0;
        crossForkData.createTime = 0;
        
        // revert refer claimable amount if possible
        if (referBenefits[crossForkData.referCodeHash] > 0) {
            uint256 deductAmount = crossForkData.amount;
            if (referBenefits[crossForkData.referCodeHash] < deductAmount) {
                deductAmount = referBenefits[crossForkData.referCodeHash];
            }
            referBenefits[crossForkData.referCodeHash] -= deductAmount;
        }
        
        LogRevertCrossFork(btcAddressHash, receiver, requestId, amount, ForkResultCode.SUCCESS);
    }

    // public
    function getCrossForkId(string _btcAddress) constant public returns(uint64) {
        return crossForkIds[_btcAddress];
    }
    
    function getCrossForkData(uint64 _id) constant public returns(string, address, uint256, uint) {
        CrossForkData storage crossForkData = crossForkMapping[_id];
        return (crossForkData.btcAddress, crossForkData.receiver, crossForkData.amount, crossForkData.createTime);
    }
    
    function getReferBenefit(string _referCode) constant public returns(uint256) {
        return referBenefits[keccak256(_referCode)];
    }
    
    function callbackCrossFork(uint64 _requestId, uint256 _amount, bytes32 _referCodeHash) public {
        if (msg.sender != crossForkDistribution || _amount == 0) {
            LogCrossFork(_requestId, 0x0, 0, ForkResultCode.FAILED);
            return;
        }
        CrossForkData storage crossForkData = crossForkMapping[_requestId];
        if (crossForkData.receiver == 0x0) {
            LogCrossFork(_requestId, crossForkData.receiver, 0, ForkResultCode.ID_MISMATCH);
            return;
        }
        if (crossForkIds[crossForkData.btcAddress] != 0) {
            LogCrossFork(_requestId, crossForkData.receiver, crossForkData.amount, ForkResultCode.RECEIVED);
            return;
        }
        crossForkIds[crossForkData.btcAddress] = _requestId;
        crossForkData.amount = _amount*satoshi_bth_decimals;
        
        // add fund for address
        if (balanceOf[crossForkFundDeposit] < crossForkData.amount) {
            LogCrossFork(_requestId, crossForkData.receiver, crossForkData.amount, ForkResultCode.NOT_ENOUGH_BALANCE);
            return;
        }
        balanceOf[crossForkFundDeposit] -= crossForkData.amount;
        balanceOf[crossForkData.receiver] += crossForkData.amount;
        if (referBenefitRate > 0) {
            crossForkData.referCodeHash = _referCodeHash;
            referBenefits[_referCodeHash] += crossForkData.amount / referBenefitRate;
        }
        
        LogCrossFork(_requestId, crossForkData.receiver, crossForkData.amount, ForkResultCode.SUCCESS);
    }
    
    function triggerCrossFork(string _btcAddress) isCrossForking public returns(ForkResultCode) {
        bytes32 btcAddressHash = keccak256(_btcAddress);
        if (crossForkIds[_btcAddress] > 0) {
            LogTriggerCrossFork(btcAddressHash, crossForkIds[_btcAddress], ForkResultCode.RECEIVED);
            return ForkResultCode.RECEIVED;
        }

        crossForkCount += 1;
        CrossForkData storage crossForkData = crossForkMapping[crossForkCount];
        crossForkData.btcAddress = _btcAddress;
        crossForkData.receiver = msg.sender;
        crossForkData.amount = 0;
        crossForkData.createTime = now;
        CrossForkDistribution crossfork = CrossForkDistribution(crossForkDistribution);
        crossfork.getDistributedAmount(crossForkCount, _btcAddress, msg.sender);
        LogTriggerCrossFork(btcAddressHash, crossForkIds[_btcAddress], ForkResultCode.TRIGGERED);
        return ForkResultCode.TRIGGERED;
    }
    
    function _transfer(address _from, address _to, uint _value) internal {
        require (_to != 0x0);
        require (balanceOf[_from] > _value);
        require (balanceOf[_to] + _value > balanceOf[_to]);
        require(!frozenAccount[_from]);
        require(!frozenAccount[_to]);
        balanceOf[_from] -= _value;
        balanceOf[_to] += _value;
        Transfer(_from, _to, _value);
    }
    
    function freezeAccount(address _target, bool _freeze) onlyOwner public {
        frozenAccount[_target] = _freeze;
        FrozenFunds(_target, _freeze);
    }
    
    function buy() payable isTrading public {
        uint amount = msg.value / buyPrice;
        _transfer(this, msg.sender, amount);
    }

    function sell(uint256 amount) isTrading public {
        require(this.balance >= amount * sellPrice);
        _transfer(msg.sender, this, amount);
        msg.sender.transfer(amount * sellPrice);
    }
    
    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_crossForkFund","type":"address"},{"name":"_bthFund","type":"address"},{"name":"_developerFund","type":"address"}],"name":"setDepositAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newSellPrice","type":"uint256"},{"name":"_newBuyPrice","type":"uint256"}],"name":"setPrices","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"crossForkFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"toggleTrading","outputs":[],"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":"crossForkFund","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":false,"inputs":[{"name":"_btcAddress","type":"string"}],"name":"triggerCrossFork","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bthFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"userPoolFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint64"}],"name":"getCrossForkData","outputs":[{"name":"","type":"string"},{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"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":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"referBenefitRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_referCode","type":"string"},{"name":"_receiver","type":"address"}],"name":"claimReferBenefit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_requestId","type":"uint64"},{"name":"_amount","type":"uint256"},{"name":"_referCodeHash","type":"bytes32"}],"name":"callbackCrossFork","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_btcAddress","type":"string"}],"name":"revertCrossFork","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"toggleCrossForking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_crossForkDistribution","type":"address"}],"name":"setCrossForkDistribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"developerFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crossForking","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crossForkCount","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"developerFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"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":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crossForkDistribution","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"moderators","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"Kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"satoshi_bth_decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_btcAddress","type":"string"}],"name":"getCrossForkId","outputs":[{"name":"","type":"uint64"}],"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":false,"inputs":[{"name":"_rate","type":"uint256"}],"name":"setReferBenefitRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"sell","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":true,"inputs":[],"name":"trading","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_referCode","type":"string"}],"name":"getReferBenefit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"marketingFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_crossForkDistribution","type":"address"},{"name":"_crossForkFundDeposit","type":"address"},{"name":"_bthFundDeposit","type":"address"},{"name":"_developerFundDeposit","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"btcAddressHash","type":"bytes32"},{"indexed":true,"name":"receiver","type":"address"},{"indexed":true,"name":"requestId","type":"uint64"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"result","type":"uint8"}],"name":"LogRevertCrossFork","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"btcAddressHash","type":"bytes32"},{"indexed":true,"name":"requestId","type":"uint64"},{"indexed":false,"name":"result","type":"uint8"}],"name":"LogTriggerCrossFork","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"requestId","type":"uint64"},{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"result","type":"uint8"}],"name":"LogCrossFork","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"referCodeHash","type":"bytes32"},{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"result","type":"uint8"}],"name":"LogClaimReferBenefit","type":"event"},{"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"}]

60606040526040805190810160405280600381526020017f312e30000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000519291906200042c565b506000600660006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600a6007556000600860006101000a81548160ff0219169083151502179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a0a6301036640026010556012600a0a621e8480026011556012600a0a620f4240026012556012600a0a620f4240026013556000601660006101000a81548160ff02191690831515021790555034156200013a57600080fd5b60405160808062004a7383398101604052808051906020019091908051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135460125460115460105401010160028190555083600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105460036000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506012546011540160036000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060135460036000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555050505050620004db565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200046f57805160ff1916838001178555620004a0565b82800160010185558215620004a0579182015b828111156200049f57825182559160200191906001019062000482565b5b509050620004af9190620004b3565b5090565b620004d891905b80821115620004d4576000816000905550600101620004ba565b5090565b90565b61458880620004eb6000396000f300606060405260043610610267576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630576a0581461026957806305fefda7146102e057806306f698811461030c57806306fdde0314610361578063095ea7b3146103ef5780630f120fc31461044957806318160ddd1461045e5780631cd764981461048757806323b872dd146104b05780632404fc5714610529578063293877d7146105a8578063313ce567146105fd57806332cae0a8146106265780633a6188e61461064f57806342966c68146107365780634b750334146107715780635481c1ff1461079a57806354fd4d50146107c3578063626f554a14610851578063629615df146108cd57806369537243146109105780636c049b891461096d5780636c81fd6d1461098257806370076203146109bb57806370a08231146109f457806379cc679014610a415780637a8b089b14610a9b5780638191d30f14610af05780638620410b14610b1d5780638da5cb5b14610b465780638f4fde4214610b9b57806391b2341914610bd857806395d89b4114610c01578063a6f2ae3a14610c8f578063a9059cbb14610c99578063b414d4b614610cdb578063b658151614610d2c578063b85d627514610d81578063bd842a1114610dba578063be26733c14610e1d578063c4c3718b14610e32578063cae9ca5114610e5b578063db56313e14610ef8578063dd62ed3e14610f7d578063e45b39b314610fe9578063e4849b321461100c578063e724529c1461102f578063ec44acf214611073578063ee7d199d146110a0578063f256b13014611111578063f28532921461113a575b005b341561027457600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611173565b005b34156102eb57600080fd5b61030a6004808035906020019091908035906020019091905050611296565b005b341561031757600080fd5b61031f611303565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561036c57600080fd5b610374611329565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103b4578082015181840152602081019050610399565b50505050905090810190601f1680156103e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103fa57600080fd5b61042f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611362565b604051808215151515815260200191505060405180910390f35b341561045457600080fd5b61045c6113ef565b005b341561046957600080fd5b61047161151d565b6040518082815260200191505060405180910390f35b341561049257600080fd5b61049a611523565b6040518082815260200191505060405180910390f35b34156104bb57600080fd5b61050f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611529565b604051808215151515815260200191505060405180910390f35b341561053457600080fd5b610584600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611656565b6040518082600781111561059457fe5b60ff16815260200191505060405180910390f35b34156105b357600080fd5b6105bb611c37565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561060857600080fd5b610610611c5d565b6040518082815260200191505060405180910390f35b341561063157600080fd5b610639611c62565b6040518082815260200191505060405180910390f35b341561065a57600080fd5b61067a600480803567ffffffffffffffff16906020019091905050611c68565b60405180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156106f85780820151818401526020810190506106dd565b50505050905090810190601f1680156107255780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b341561074157600080fd5b6107576004808035906020019091905050611d7e565b604051808215151515815260200191505060405180910390f35b341561077c57600080fd5b610784611e82565b6040518082815260200191505060405180910390f35b34156107a557600080fd5b6107ad611e88565b6040518082815260200191505060405180910390f35b34156107ce57600080fd5b6107d6611e8e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108165780820151818401526020810190506107fb565b50505050905090810190601f1680156108435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561085c57600080fd5b6108cb600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f2c565b005b34156108d857600080fd5b61090e600480803567ffffffffffffffff16906020019091908035906020019091908035600019169060200190919050506123aa565b005b341561091b57600080fd5b61096b600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612acd565b005b341561097857600080fd5b61098061316c565b005b341561098d57600080fd5b6109b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061329a565b005b34156109c657600080fd5b6109f2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613428565b005b34156109ff57600080fd5b610a2b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506134c7565b6040518082815260200191505060405180910390f35b3415610a4c57600080fd5b610a81600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506134df565b604051808215151515815260200191505060405180910390f35b3415610aa657600080fd5b610aae6136f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610afb57600080fd5b610b0361371f565b604051808215151515815260200191505060405180910390f35b3415610b2857600080fd5b610b30613732565b6040518082815260200191505060405180910390f35b3415610b5157600080fd5b610b59613738565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610ba657600080fd5b610bae61375d565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610be357600080fd5b610beb613777565b6040518082815260200191505060405180910390f35b3415610c0c57600080fd5b610c1461377d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c54578082015181840152602081019050610c39565b50505050905090810190601f168015610c815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610c976137b6565b005b3415610ca457600080fd5b610cd9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061384f565b005b3415610ce657600080fd5b610d12600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061385e565b604051808215151515815260200191505060405180910390f35b3415610d3757600080fd5b610d3f61387e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610d8c57600080fd5b610db8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506138a4565b005b3415610dc557600080fd5b610ddb6004808035906020019091905050613a97565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610e2857600080fd5b610e30613ad6565b005b3415610e3d57600080fd5b610e45613b6b565b6040518082815260200191505060405180910390f35b3415610e6657600080fd5b610ede600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613b74565b604051808215151515815260200191505060405180910390f35b3415610f0357600080fd5b610f53600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613cf2565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610f8857600080fd5b610fd3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613d7b565b6040518082815260200191505060405180910390f35b3415610ff457600080fd5b61100a6004808035906020019091905050613da0565b005b341561101757600080fd5b61102d6004808035906020019091905050613e05565b005b341561103a57600080fd5b611071600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050613efa565b005b341561107e57600080fd5b61108661401f565b604051808215151515815260200191505060405180910390f35b34156110ab57600080fd5b6110fb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050614032565b6040518082815260200191505060405180910390f35b341561111c57600080fd5b6111246140b9565b6040518082815260200191505060405180910390f35b341561114557600080fd5b611171600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506140bf565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ce57600080fd5b82600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112f157600080fd5b81601481905550806015819055505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600881526020017f427974657468657200000000000000000000000000000000000000000000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114ef5760009150600090505b6001805490508110156114e2573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561148457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156114d557600191506114e2565b8080600101915050611451565b8115156114ee57600080fd5b5b601660009054906101000a900460ff1615601660006101000a81548160ff0219169083151502179055505050565b60025481565b60105481565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156115b657600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555061164b848484614194565b600190509392505050565b60008060008060011515600860009054906101000a900460ff16151514806116ca57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156116d557600080fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561171d57600080fd5b846040518082805190602001908083835b602083101515611753578051825260208201915060208101905060208303925061172e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506000600a866040518082805190602001908083835b6020831015156117bc5780518252602082019150602081019050602083039250611797565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1611156118f257600a856040518082805190602001908083835b60208310151561184c5780518252602082019150602081019050602083039250611827565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1683600019167ff4ed228695933b438fa2fab7fbdedda1accdf885edba49f4ced28813186b4b3f6002604051808260078111156118d657fe5b60ff16815260200191505060405180910390a360029350611c2f565b6001600660008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060096000600660009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002091508482600001908051906020019061198c92919061444b565b50338260010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008260020181905550428260040181905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166397be2f4a600660009054906101000a900467ffffffffffffffff1687336040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808467ffffffffffffffff1667ffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611af4578082015181840152602081019050611ad9565b50505050905090810190601f168015611b215780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515611b4157600080fd5b6102c65a03f11515611b5257600080fd5b505050600a856040518082805190602001908083835b602083101515611b8d5780518252602082019150602081019050602083039250611b68565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1683600019167ff4ed228695933b438fa2fab7fbdedda1accdf885edba49f4ced28813186b4b3f600160405180826007811115611c1757fe5b60ff16815260200191505060405180910390a3600193505b505050919050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b60125481565b611c706144cb565b600080600080600960008767ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209050806000018160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600201548360040154838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d675780601f10611d3c57610100808354040283529160200191611d67565b820191906000526020600020905b815481529060010190602001808311611d4a57829003601f168201915b505050505093509450945094509450509193509193565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611dce57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816002600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60145481565b60075481565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f245780601f10611ef957610100808354040283529160200191611f24565b820191906000526020600020905b815481529060010190602001808311611f0757829003601f168201915b505050505081565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561202f5760009150600090505b600180549050811015612022573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515611fc457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156120155760019150612022565b8080600101915050611f91565b81151561202e57600080fd5b5b856040518082805190602001908083835b6020831015156120655780518252602082019150602081019050602083039250612040565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600b6000856000191660001916815260200190815260200160002054925060008314156121475783600019167ffb4753a4a03906a882c0be901e2149c3d887c005d07015cd7b2ebd2c819d00f086600080604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600181111561212d57fe5b60ff168152602001935050505060405180910390a26123a2565b8260036000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561223d5783600019167ffb4753a4a03906a882c0be901e2149c3d887c005d07015cd7b2ebd2c819d00f08660006001604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600181111561222357fe5b60ff168152602001935050505060405180910390a26123a2565b6000600b60008660001916600019168152602001908152602001600020819055508260036000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555083600019167ffb4753a4a03906a882c0be901e2149c3d887c005d07015cd7b2ebd2c819d00f086856000604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600181111561238c57fe5b60ff168152602001935050505060405180910390a25b505050505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415806124095750600083145b1561248b578367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e36000806004604051808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600781111561247157fe5b60ff168152602001935050505060405180910390a2612ac7565b600960008567ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020905060008160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156125ae578367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e38260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006005604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600781111561259457fe5b60ff168152602001935050505060405180910390a2612ac7565b6000600a8260000160405180828054600181600116156101000203166002900480156126115780601f106125ef576101008083540402835291820191612611565b820191906000526020600020905b8154815290600101906020018083116125fd575b5050915050908152602001604051809103902060009054906101000a900467ffffffffffffffff1667ffffffffffffffff16141515612704578367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e38260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546002604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018260078111156126ea57fe5b60ff168152602001935050505060405180910390a2612ac7565b83600a8260000160405180828054600181600116156101000203166002900480156127665780601f10612744576101008083540402835291820191612766565b820191906000526020600020905b815481529060010190602001808311612752575b5050915050908152602001604051809103902060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506402540be40083028160020181905550806002015460036000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156128d6578367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e38260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546006604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018260078111156128bc57fe5b60ff168152602001935050505060405180910390a2612ac7565b806002015460036000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508060020154600360008360010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060006007541115612a11578181600301816000191690555060075481600201548115156129e757fe5b04600b60008460001916600019168152602001908152602001600020600082825401925050819055505b8367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e38260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546000604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001826007811115612ab157fe5b60ff168152602001935050505060405180910390a25b50505050565b6000806000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bd65760009150600090505b600180549050811015612bc9573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515612b6b57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612bbc5760019150612bc9565b8080600101915050612b38565b811515612bd557600080fd5b5b886040518082805190602001908083835b602083101515612c0c5780518252602082019150602081019050602083039250612be7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209750600a896040518082805190602001908083835b602083101515612c735780518252602082019150602081019050602083039250612c4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff16965060008767ffffffffffffffff161415612d2c5760008089600019167fbf190adeb7837367b009b03e3e820254104f0d05e45a9fa494127cc5d58ec42e6000600760405180838152602001826007811115612d1357fe5b60ff1681526020019250505060405180910390a4613161565b600960008867ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209550856002015494508560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693508560020154600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612e48578667ffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1689600019167fbf190adeb7837367b009b03e3e820254104f0d05e45a9fa494127cc5d58ec42e88600660405180838152602001826007811115612e2f57fe5b60ff1681526020019250505060405180910390a4613161565b8560020154600360008860010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550856002015460036000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000600a8a6040518082805190602001908083835b602083101515612f6a5780518252602082019150602081019050602083039250612f45565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506020604051908101604052806000815250866000019080519060200190612feb92919061444b565b5060008660010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008660020181905550600086600401819055506000600b60008860030154600019166000191681526020019081526020016000205411156130eb578560020154925082600b60008860030154600019166000191681526020019081526020016000205410156130bd57600b60008760030154600019166000191681526020019081526020016000205492505b82600b6000886003015460001916600019168152602001908152602001600020600082825403925050819055505b8667ffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1689600019167fbf190adeb7837367b009b03e3e820254104f0d05e45a9fa494127cc5d58ec42e8860006040518083815260200182600781111561314c57fe5b60ff1681526020019250505060405180910390a45b505050505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561326c5760009150600090505b60018054905081101561325f573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561320157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613252576001915061325f565b80806001019150506131ce565b81151561326b57600080fd5b5b600860009054906101000a900460ff1615600860006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132f757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561342357600090505b6001805490508110156133bf578173ffffffffffffffffffffffffffffffffffffffff1660018281548110151561336557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156133b257613424565b8080600101915050613332565b600180548060010182816133d391906144df565b9160005260206000209001600084909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561348357600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60036020528060005260406000206000915090505481565b600081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561352f57600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156135ba57600080fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816002600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900460ff1681565b60155481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900467ffffffffffffffff1681565b60135481565b6040805190810160405280600381526020017f425448000000000000000000000000000000000000000000000000000000000081525081565b600060011515601660009054906101000a900460ff161515148061382657506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561383157600080fd5b6015543481151561383e57fe5b04905061384c303383614194565b50565b61385a338383614194565b5050565b60176020528060005260406000206000915054906101000a900460ff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561390157600080fd5b600090505b600180549050811015613993578173ffffffffffffffffffffffffffffffffffffffff1660018281548110151561393957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561398657613993565b8080600101915050613906565b600180549050811015613a93576001808080549050038154811015156139b557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001828154811015156139f057fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600180808054905003815481101515613a4e57fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001805480919060019003613a91919061450b565b505b5050565b600181815481101515613aa657fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613b3157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6402540be40081565b600080849050613b848585611362565b15613ce9578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613c7e578082015181840152602081019050613c63565b50505050905090810190601f168015613cab5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515613ccc57600080fd5b6102c65a03f11515613cdd57600080fd5b50505060019150613cea565b5b509392505050565b6000600a826040518082805190602001908083835b602083101515613d2c5780518252602082019150602081019050602083039250613d07565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff169050919050565b6004602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613dfb57600080fd5b8060078190555050565b60011515601660009054906101000a900460ff1615151480613e7357506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613e7e57600080fd5b60145481023073ffffffffffffffffffffffffffffffffffffffff163110151515613ea857600080fd5b613eb3333083614194565b3373ffffffffffffffffffffffffffffffffffffffff166108fc60145483029081150290604051600060405180830381858888f193505050501515613ef757600080fd5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613f5557600080fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b601660009054906101000a900460ff1681565b6000600b6000836040518082805190602001908083835b60208310151561406e5780518252602082019150602081019050602083039250614049565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b60115481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561411a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561419157806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008273ffffffffffffffffffffffffffffffffffffffff16141515156141ba57600080fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561420757600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111151561429557600080fd5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156142ee57600080fd5b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561434757600080fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061448c57805160ff19168380011785556144ba565b828001600101855582156144ba579182015b828111156144b957825182559160200191906001019061449e565b5b5090506144c79190614537565b5090565b602060405190810160405280600081525090565b815481835581811511614506578183600052602060002091820191016145059190614537565b5b505050565b815481835581811511614532578183600052602060002091820191016145319190614537565b5b505050565b61455991905b8082111561455557600081600090555060010161453d565b5090565b905600a165627a7a723058209e181b768832c4e6725776d8378957a62bcbd8d46202f1b635d74164792014e600290000000000000000000000009ef2767b5c265cd032a94601203639abcd9cb92f000000000000000000000000b241799acafd92f1597d27ccc382c31cdb374785000000000000000000000000a81135aa1630307e52097b605791f293865a7bbc000000000000000000000000dc34edb880f2ec86243274d94026fbf307f80e89

Deployed Bytecode

0x606060405260043610610267576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630576a0581461026957806305fefda7146102e057806306f698811461030c57806306fdde0314610361578063095ea7b3146103ef5780630f120fc31461044957806318160ddd1461045e5780631cd764981461048757806323b872dd146104b05780632404fc5714610529578063293877d7146105a8578063313ce567146105fd57806332cae0a8146106265780633a6188e61461064f57806342966c68146107365780634b750334146107715780635481c1ff1461079a57806354fd4d50146107c3578063626f554a14610851578063629615df146108cd57806369537243146109105780636c049b891461096d5780636c81fd6d1461098257806370076203146109bb57806370a08231146109f457806379cc679014610a415780637a8b089b14610a9b5780638191d30f14610af05780638620410b14610b1d5780638da5cb5b14610b465780638f4fde4214610b9b57806391b2341914610bd857806395d89b4114610c01578063a6f2ae3a14610c8f578063a9059cbb14610c99578063b414d4b614610cdb578063b658151614610d2c578063b85d627514610d81578063bd842a1114610dba578063be26733c14610e1d578063c4c3718b14610e32578063cae9ca5114610e5b578063db56313e14610ef8578063dd62ed3e14610f7d578063e45b39b314610fe9578063e4849b321461100c578063e724529c1461102f578063ec44acf214611073578063ee7d199d146110a0578063f256b13014611111578063f28532921461113a575b005b341561027457600080fd5b6102de600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611173565b005b34156102eb57600080fd5b61030a6004808035906020019091908035906020019091905050611296565b005b341561031757600080fd5b61031f611303565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561036c57600080fd5b610374611329565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103b4578082015181840152602081019050610399565b50505050905090810190601f1680156103e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103fa57600080fd5b61042f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611362565b604051808215151515815260200191505060405180910390f35b341561045457600080fd5b61045c6113ef565b005b341561046957600080fd5b61047161151d565b6040518082815260200191505060405180910390f35b341561049257600080fd5b61049a611523565b6040518082815260200191505060405180910390f35b34156104bb57600080fd5b61050f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611529565b604051808215151515815260200191505060405180910390f35b341561053457600080fd5b610584600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611656565b6040518082600781111561059457fe5b60ff16815260200191505060405180910390f35b34156105b357600080fd5b6105bb611c37565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561060857600080fd5b610610611c5d565b6040518082815260200191505060405180910390f35b341561063157600080fd5b610639611c62565b6040518082815260200191505060405180910390f35b341561065a57600080fd5b61067a600480803567ffffffffffffffff16906020019091905050611c68565b60405180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156106f85780820151818401526020810190506106dd565b50505050905090810190601f1680156107255780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b341561074157600080fd5b6107576004808035906020019091905050611d7e565b604051808215151515815260200191505060405180910390f35b341561077c57600080fd5b610784611e82565b6040518082815260200191505060405180910390f35b34156107a557600080fd5b6107ad611e88565b6040518082815260200191505060405180910390f35b34156107ce57600080fd5b6107d6611e8e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108165780820151818401526020810190506107fb565b50505050905090810190601f1680156108435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561085c57600080fd5b6108cb600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f2c565b005b34156108d857600080fd5b61090e600480803567ffffffffffffffff16906020019091908035906020019091908035600019169060200190919050506123aa565b005b341561091b57600080fd5b61096b600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612acd565b005b341561097857600080fd5b61098061316c565b005b341561098d57600080fd5b6109b9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061329a565b005b34156109c657600080fd5b6109f2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613428565b005b34156109ff57600080fd5b610a2b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506134c7565b6040518082815260200191505060405180910390f35b3415610a4c57600080fd5b610a81600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506134df565b604051808215151515815260200191505060405180910390f35b3415610aa657600080fd5b610aae6136f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610afb57600080fd5b610b0361371f565b604051808215151515815260200191505060405180910390f35b3415610b2857600080fd5b610b30613732565b6040518082815260200191505060405180910390f35b3415610b5157600080fd5b610b59613738565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610ba657600080fd5b610bae61375d565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610be357600080fd5b610beb613777565b6040518082815260200191505060405180910390f35b3415610c0c57600080fd5b610c1461377d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c54578082015181840152602081019050610c39565b50505050905090810190601f168015610c815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610c976137b6565b005b3415610ca457600080fd5b610cd9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061384f565b005b3415610ce657600080fd5b610d12600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061385e565b604051808215151515815260200191505060405180910390f35b3415610d3757600080fd5b610d3f61387e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610d8c57600080fd5b610db8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506138a4565b005b3415610dc557600080fd5b610ddb6004808035906020019091905050613a97565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610e2857600080fd5b610e30613ad6565b005b3415610e3d57600080fd5b610e45613b6b565b6040518082815260200191505060405180910390f35b3415610e6657600080fd5b610ede600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613b74565b604051808215151515815260200191505060405180910390f35b3415610f0357600080fd5b610f53600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050613cf2565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610f8857600080fd5b610fd3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613d7b565b6040518082815260200191505060405180910390f35b3415610ff457600080fd5b61100a6004808035906020019091905050613da0565b005b341561101757600080fd5b61102d6004808035906020019091905050613e05565b005b341561103a57600080fd5b611071600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050613efa565b005b341561107e57600080fd5b61108661401f565b604051808215151515815260200191505060405180910390f35b34156110ab57600080fd5b6110fb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050614032565b6040518082815260200191505060405180910390f35b341561111c57600080fd5b6111246140b9565b6040518082815260200191505060405180910390f35b341561114557600080fd5b611171600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506140bf565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ce57600080fd5b82600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112f157600080fd5b81601481905550806015819055505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600881526020017f427974657468657200000000000000000000000000000000000000000000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114ef5760009150600090505b6001805490508110156114e2573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561148457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156114d557600191506114e2565b8080600101915050611451565b8115156114ee57600080fd5b5b601660009054906101000a900460ff1615601660006101000a81548160ff0219169083151502179055505050565b60025481565b60105481565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156115b657600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555061164b848484614194565b600190509392505050565b60008060008060011515600860009054906101000a900460ff16151514806116ca57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156116d557600080fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561171d57600080fd5b846040518082805190602001908083835b602083101515611753578051825260208201915060208101905060208303925061172e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506000600a866040518082805190602001908083835b6020831015156117bc5780518252602082019150602081019050602083039250611797565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1611156118f257600a856040518082805190602001908083835b60208310151561184c5780518252602082019150602081019050602083039250611827565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1683600019167ff4ed228695933b438fa2fab7fbdedda1accdf885edba49f4ced28813186b4b3f6002604051808260078111156118d657fe5b60ff16815260200191505060405180910390a360029350611c2f565b6001600660008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060096000600660009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002091508482600001908051906020019061198c92919061444b565b50338260010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008260020181905550428260040181905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166397be2f4a600660009054906101000a900467ffffffffffffffff1687336040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808467ffffffffffffffff1667ffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611af4578082015181840152602081019050611ad9565b50505050905090810190601f168015611b215780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515611b4157600080fd5b6102c65a03f11515611b5257600080fd5b505050600a856040518082805190602001908083835b602083101515611b8d5780518252602082019150602081019050602083039250611b68565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff1667ffffffffffffffff1683600019167ff4ed228695933b438fa2fab7fbdedda1accdf885edba49f4ced28813186b4b3f600160405180826007811115611c1757fe5b60ff16815260200191505060405180910390a3600193505b505050919050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601281565b60125481565b611c706144cb565b600080600080600960008767ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209050806000018160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600201548360040154838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611d675780601f10611d3c57610100808354040283529160200191611d67565b820191906000526020600020905b815481529060010190602001808311611d4a57829003601f168201915b505050505093509450945094509450509193509193565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611dce57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816002600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60145481565b60075481565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f245780601f10611ef957610100808354040283529160200191611f24565b820191906000526020600020905b815481529060010190602001808311611f0757829003601f168201915b505050505081565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561202f5760009150600090505b600180549050811015612022573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515611fc457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156120155760019150612022565b8080600101915050611f91565b81151561202e57600080fd5b5b856040518082805190602001908083835b6020831015156120655780518252602082019150602081019050602083039250612040565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600b6000856000191660001916815260200190815260200160002054925060008314156121475783600019167ffb4753a4a03906a882c0be901e2149c3d887c005d07015cd7b2ebd2c819d00f086600080604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600181111561212d57fe5b60ff168152602001935050505060405180910390a26123a2565b8260036000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561223d5783600019167ffb4753a4a03906a882c0be901e2149c3d887c005d07015cd7b2ebd2c819d00f08660006001604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600181111561222357fe5b60ff168152602001935050505060405180910390a26123a2565b6000600b60008660001916600019168152602001908152602001600020819055508260036000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555083600019167ffb4753a4a03906a882c0be901e2149c3d887c005d07015cd7b2ebd2c819d00f086856000604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600181111561238c57fe5b60ff168152602001935050505060405180910390a25b505050505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415806124095750600083145b1561248b578367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e36000806004604051808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600781111561247157fe5b60ff168152602001935050505060405180910390a2612ac7565b600960008567ffffffffffffffff1667ffffffffffffffff168152602001908152602001600020905060008160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156125ae578367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e38260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660006005604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600781111561259457fe5b60ff168152602001935050505060405180910390a2612ac7565b6000600a8260000160405180828054600181600116156101000203166002900480156126115780601f106125ef576101008083540402835291820191612611565b820191906000526020600020905b8154815290600101906020018083116125fd575b5050915050908152602001604051809103902060009054906101000a900467ffffffffffffffff1667ffffffffffffffff16141515612704578367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e38260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546002604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018260078111156126ea57fe5b60ff168152602001935050505060405180910390a2612ac7565b83600a8260000160405180828054600181600116156101000203166002900480156127665780601f10612744576101008083540402835291820191612766565b820191906000526020600020905b815481529060010190602001808311612752575b5050915050908152602001604051809103902060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506402540be40083028160020181905550806002015460036000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156128d6578367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e38260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546006604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018260078111156128bc57fe5b60ff168152602001935050505060405180910390a2612ac7565b806002015460036000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508060020154600360008360010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060006007541115612a11578181600301816000191690555060075481600201548115156129e757fe5b04600b60008460001916600019168152602001908152602001600020600082825401925050819055505b8367ffffffffffffffff167f08577924dc73ad235a6660bda91b4f0678f71be52dae93ee9b987862254f64e38260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546000604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001826007811115612ab157fe5b60ff168152602001935050505060405180910390a25b50505050565b6000806000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bd65760009150600090505b600180549050811015612bc9573373ffffffffffffffffffffffffffffffffffffffff16600182815481101515612b6b57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612bbc5760019150612bc9565b8080600101915050612b38565b811515612bd557600080fd5b5b886040518082805190602001908083835b602083101515612c0c5780518252602082019150602081019050602083039250612be7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209750600a896040518082805190602001908083835b602083101515612c735780518252602082019150602081019050602083039250612c4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff16965060008767ffffffffffffffff161415612d2c5760008089600019167fbf190adeb7837367b009b03e3e820254104f0d05e45a9fa494127cc5d58ec42e6000600760405180838152602001826007811115612d1357fe5b60ff1681526020019250505060405180910390a4613161565b600960008867ffffffffffffffff1667ffffffffffffffff1681526020019081526020016000209550856002015494508560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693508560020154600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612e48578667ffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1689600019167fbf190adeb7837367b009b03e3e820254104f0d05e45a9fa494127cc5d58ec42e88600660405180838152602001826007811115612e2f57fe5b60ff1681526020019250505060405180910390a4613161565b8560020154600360008860010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550856002015460036000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000600a8a6040518082805190602001908083835b602083101515612f6a5780518252602082019150602081019050602083039250612f45565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506020604051908101604052806000815250866000019080519060200190612feb92919061444b565b5060008660010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008660020181905550600086600401819055506000600b60008860030154600019166000191681526020019081526020016000205411156130eb578560020154925082600b60008860030154600019166000191681526020019081526020016000205410156130bd57600b60008760030154600019166000191681526020019081526020016000205492505b82600b6000886003015460001916600019168152602001908152602001600020600082825403925050819055505b8667ffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1689600019167fbf190adeb7837367b009b03e3e820254104f0d05e45a9fa494127cc5d58ec42e8860006040518083815260200182600781111561314c57fe5b60ff1681526020019250505060405180910390a45b505050505050505050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561326c5760009150600090505b60018054905081101561325f573373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561320157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613252576001915061325f565b80806001019150506131ce565b81151561326b57600080fd5b5b600860009054906101000a900460ff1615600860006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132f757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151561342357600090505b6001805490508110156133bf578173ffffffffffffffffffffffffffffffffffffffff1660018281548110151561336557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156133b257613424565b8080600101915050613332565b600180548060010182816133d391906144df565b9160005260206000209001600084909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561348357600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60036020528060005260406000206000915090505481565b600081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561352f57600080fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156135ba57600080fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816002600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900460ff1681565b60155481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900467ffffffffffffffff1681565b60135481565b6040805190810160405280600381526020017f425448000000000000000000000000000000000000000000000000000000000081525081565b600060011515601660009054906101000a900460ff161515148061382657506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561383157600080fd5b6015543481151561383e57fe5b04905061384c303383614194565b50565b61385a338383614194565b5050565b60176020528060005260406000206000915054906101000a900460ff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561390157600080fd5b600090505b600180549050811015613993578173ffffffffffffffffffffffffffffffffffffffff1660018281548110151561393957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561398657613993565b8080600101915050613906565b600180549050811015613a93576001808080549050038154811015156139b557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001828154811015156139f057fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600180808054905003815481101515613a4e57fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001805480919060019003613a91919061450b565b505b5050565b600181815481101515613aa657fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613b3157600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b6402540be40081565b600080849050613b848585611362565b15613ce9578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613c7e578082015181840152602081019050613c63565b50505050905090810190601f168015613cab5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515613ccc57600080fd5b6102c65a03f11515613cdd57600080fd5b50505060019150613cea565b5b509392505050565b6000600a826040518082805190602001908083835b602083101515613d2c5780518252602082019150602081019050602083039250613d07565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900467ffffffffffffffff169050919050565b6004602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613dfb57600080fd5b8060078190555050565b60011515601660009054906101000a900460ff1615151480613e7357506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613e7e57600080fd5b60145481023073ffffffffffffffffffffffffffffffffffffffff163110151515613ea857600080fd5b613eb3333083614194565b3373ffffffffffffffffffffffffffffffffffffffff166108fc60145483029081150290604051600060405180830381858888f193505050501515613ef757600080fd5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613f5557600080fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001821515151581526020019250505060405180910390a15050565b601660009054906101000a900460ff1681565b6000600b6000836040518082805190602001908083835b60208310151561406e5780518252602082019150602081019050602083039250614049565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b60115481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561411a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561419157806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008273ffffffffffffffffffffffffffffffffffffffff16141515156141ba57600080fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561420757600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111151561429557600080fd5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156142ee57600080fd5b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561434757600080fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061448c57805160ff19168380011785556144ba565b828001600101855582156144ba579182015b828111156144b957825182559160200191906001019061449e565b5b5090506144c79190614537565b5090565b602060405190810160405280600081525090565b815481835581811511614506578183600052602060002091820191016145059190614537565b5b505050565b815481835581811511614532578183600052602060002091820191016145319190614537565b5b505050565b61455991905b8082111561455557600081600090555060010161453d565b5090565b905600a165627a7a723058209e181b768832c4e6725776d8378957a62bcbd8d46202f1b635d74164792014e60029

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

0000000000000000000000009ef2767b5c265cd032a94601203639abcd9cb92f000000000000000000000000b241799acafd92f1597d27ccc382c31cdb374785000000000000000000000000a81135aa1630307e52097b605791f293865a7bbc000000000000000000000000dc34edb880f2ec86243274d94026fbf307f80e89

-----Decoded View---------------
Arg [0] : _crossForkDistribution (address): 0x9EF2767b5c265cD032a94601203639aBCD9Cb92f
Arg [1] : _crossForkFundDeposit (address): 0xB241799ACaFD92f1597d27CcC382C31CDB374785
Arg [2] : _bthFundDeposit (address): 0xA81135Aa1630307e52097b605791f293865a7Bbc
Arg [3] : _developerFundDeposit (address): 0xDc34eDB880f2EC86243274d94026fBf307F80E89

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000009ef2767b5c265cd032a94601203639abcd9cb92f
Arg [1] : 000000000000000000000000b241799acafd92f1597d27ccc382c31cdb374785
Arg [2] : 000000000000000000000000a81135aa1630307e52097b605791f293865a7bbc
Arg [3] : 000000000000000000000000dc34edb880f2ec86243274d94026fbf307f80e89


Swarm Source

bzzr://9e181b768832c4e6725776d8378957a62bcbd8d46202f1b635d74164792014e6

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.