Sponsored Link:   INVOX FINANCE - Helps Small Businesses Grow Worldwide with 9% Interest Loans. 20% bonus! ICO Open
  Latest 25 txns from a total Of 10319 transactions (> more than 25 PendingTxns) View All

TxHash Age From To Value [TxFee]
0xff03d0689d48675e17841fa7f6253b937834965611af30e12d196522314706b2(pending) 10 secs ago0x06b889377e74f2f7db576ce95bc26330c2ccc1e6  IN  0x93b7fa538913201066a262c03179c342262a7c760.003 Ether(pending)
0x1f001f170df7aa62829d50cacd852c220f8ecb7cbbcb11ef1a9aee94bf1a00d6(pending) 26 secs ago0xfd3341edb0af607223e3ed1e02139ac676e4ed19  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x2b4796b50c3185cc1fd64f4bf4f1ac989fe7ce312232550f675bf945f524d052(pending) 26 secs ago0xa2827b4f27a42c3b6e275db1634a786f1c2a295f  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0xfe7b72b91743a773c86605aa5518967d78f8d01c750da345d9ddfce13a1b4667(pending)2 mins ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0xebfbc6c1046520eddb351beb9560bdfd3e1040284f2f18a75ae5b8f1178e3097(pending)2 mins ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x9c8f8b660befc8ce946bf6141e52037291a02f02a713119fd1f3b0eed313ef4d(pending)2 mins ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x50aa8150ba47d299fd811ee01f6d2636ae40036b1945cd045aa3db746bcca532(pending)2 mins ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x278f7b2a0dd3204299bd22d2edd9acdf90a4fecfe7830fe599f13275c6c52e6e(pending)3 mins ago0x8f060df4e927f1bdfbaf057dd973aa161b22032d  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0xb9c0c2b12696b8a0fbbdb89b3c2cd24ba9b9418ac8b17ba5f6a2084dbffd1d79(pending)4 mins ago0xb495bad698a3557d5d366b624efaca0592524e7c  IN  0x93b7fa538913201066a262c03179c342262a7c760.003 Ether(pending)
0x3751f66fc1a51c7ebf54b82fc39408330bb826d627ea3886930903479ec98a47(pending)7 mins ago0xafa12b8e440b261e0782bd686f39796da332c78e  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0xaf56c8915f2563ff1f902545ed9fbd9f3bedbe72aeaa5bde26d2488adde6957d(pending)9 mins ago0xd36841df1838dc2b49f34ebf57154c7b3f2e3c4c  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x1d13ff380c25ce4ff3dfcb122652a9ff6f8580ec10ec7d4edf21abd0ce3b6ab5(pending)9 mins ago0xd36841df1838dc2b49f34ebf57154c7b3f2e3c4c  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0xe526e5a565f12748ae0fa5c977601cae6df9566c430b1f33f126bcdb4886ab88(pending)9 mins ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x1ecc3823f5823b3a0a34855dbabc923d5b2d762bf4f69e32db76c5552a4830c4(pending)12 mins ago0x494952f01a30547d269aaf147e6226f940f5b041  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x108fe05a7e99ccc4bd72c84d6314411dc6aa2f0f3991520b602770f25a82424e(pending)14 mins ago0xafa12b8e440b261e0782bd686f39796da332c78e  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0xbcd1285935af241c81223c1d5e34420f25709e7f0f11834847e2aa3c89d22790(pending)16 mins ago0xc885d63166f8e01266b4c1b91b34a6af303bce72  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x650ac175d99ab33bc13a4ec6b0a7e4c95d7e95b266b433c45d2badf3854f75e4(pending)18 mins ago0xafa12b8e440b261e0782bd686f39796da332c78e  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x96128fd8e1627d57d5284f979518a7cf35978115208a50d5c3983aea7e1019b4(pending)20 mins ago0xf44b250a85f7fc2a2fdd40ff94a132fcedc3d1a3  IN  0x93b7fa538913201066a262c03179c342262a7c760.003 Ether(pending)
0x7fbde0351cdc28f697faf98603fda216808ce0783861c5efcf9c4ad84eac9a43(pending)20 mins ago0xa79db04e84edabc492ef244c5ab7a728f9747ba5  IN  0x93b7fa538913201066a262c03179c342262a7c760.003 Ether(pending)
0x3b4c94f1017b44a11bc4db370d815e752b83c83d1da20970842d13e48d0613a6(pending)20 mins ago0x06b889377e74f2f7db576ce95bc26330c2ccc1e6  IN  0x93b7fa538913201066a262c03179c342262a7c760.003 Ether(pending)
0xeb56a0acf0cc638f8cf21a7e19e0c99d02001e51f369e4dba800b92006e9930f(pending)20 mins ago0x06b889377e74f2f7db576ce95bc26330c2ccc1e6  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x5f8ffb3f23f136336ae1f8c4c479c373df7c2f64a9599cb703b89b446c94c84c(pending)21 mins ago0x01e9532daf07397e7a5d893d61a07b1ae0b1b56e  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0xc3c1e3b156da572bc9512eef3d123a70666d09516153b5391fdf4173aacc4f58(pending)22 mins ago0x79c95fab7a8cfe6c7113ea0f2d344e92eceb9030  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0xdc0705e30b7bcf6b3907c46a0cf4c4cdcd587e89cdd78667cfe6a3fe069500c1(pending)22 mins ago0x79c95fab7a8cfe6c7113ea0f2d344e92eceb9030  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
0x815dfd705293f02b70207022276f80c37f9367c81a005122a435affa470c3452(pending)22 mins ago0x79c95fab7a8cfe6c7113ea0f2d344e92eceb9030  IN  0x93b7fa538913201066a262c03179c342262a7c760 Ether(pending)
 Internal Transactions as a result of Contract Execution
  Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0x49aa2e7f0124f5a5c3d151a651969e74c23ebe1314ad85be7e96248af32a033e54969193 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x1490ed8c09c56b450c2cf082ac1cd788afa938c4c7dd3678c0614862814563ef549673051 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xf4f43d1e45bf136883394f9c91358442b22d53c14f1114bfbf217855dc06f45454966491 hr 10 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x4d296c3e1b78ead9271da7a3413a9fd003ea71981781baa38350f3c027e3f77154962962 hrs 47 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x457deea3afa20326ccd19864a66e11409be645ae643e6eeb726fc3899a948a7654962143 hrs 7 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x93bfedb954f17e3706c0da7980306737678bd39aecb83bbfc7bf9ba7e8929d0954958294 hrs 47 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xde02e22a8d64b28c30a2bf06c2fa64db9019db2e3125afc101951106321c794b54957485 hrs 10 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x75bafc03ed2e804933c863ba5eb2c60c87b8b79ef65b3187247cb455aae152b954956915 hrs 25 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x30716a7aa2a2ea1e1182aba502152d4dd0e44cd881299ffb8f845671c65ab40b54956765 hrs 29 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x2599b5687cde10655932283de648ababd86c13045208ed513d22ec77ad8a0a1a54956615 hrs 32 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x6f766a8a9c87deeb1fd13546a595891f6b3870048792948e55bd18f35229a5a654956495 hrs 34 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x2087a9ec4a34577dca896cd267567d7f0fedcafa7f6af4381df4fdbef32af9d254956305 hrs 38 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x8fe52ecc40d100ccc43d8c6baa94aee0365d8fea5145a8b39e66d9944736b94354955216 hrs 5 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x56ec65704c2cfce11ad50df3142330b5675f9bbab4ade3f0230a29bc09f73ad954949618 hrs 28 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x9f131278c32b80b136a1f964e62d938f332c184f863ab43727f696e78cdb36a654947189 hrs 34 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x09e1d4d5256d2b4aa04dd6054efb80215017df5a861c75126e61ce899a3f9207549457610 hrs 8 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xe13c3b92a8d93b99cbb5bb92eda42f536cf9d688baa4dbd0560cdd5571b846ff549457410 hrs 8 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x8267d9927f4e982d84a728475bb521e222e8cc63401a5ed3b4d5759dfbceb9db549456610 hrs 11 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xcd89a7ec9020540f634549e077e533d77aa2ff710ed0c57a6e423e711fd591fe549447010 hrs 30 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xf1eee9566828ad7108533c57d9f2a72068ae91a38fa37eb7dd3e2c5c9a5eb7c3549446810 hrs 31 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xb80e5038c5d5a26361494b5d782165b8b172c281760c6b2f430a46cb62e3c2c1549444610 hrs 36 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x4a0338ff122bcbde14b3910a69e8b67a8705a4fe103cf19f5b6a78ab4e36a7ab549443510 hrs 39 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x73808c11ac520a1ac1d263d14db4974343923276b6614b25ee1fc19f173100c3549442710 hrs 41 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x7cd6a22befdd07bf4dca6c47e01bdc2a09e453ece1d3692c7cd5b0ed2fd4476a549433211 hrs 3 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x6a479d374584601f787adb55ab4f284d9cb07f0db196117f9d7b5bc11f8a08de549432611 hrs 5 mins ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: UnicornBreeding
Compiler Version: v0.4.21+commit.dfe3193c
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.21;

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

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

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

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



contract UnicornManagementInterface {

    function ownerAddress() external view returns (address);
    function managerAddress() external view returns (address);
    function communityAddress() external view returns (address);
    function dividendManagerAddress() external view returns (address);
    function walletAddress() external view returns (address);
    function blackBoxAddress() external view returns (address);
    function unicornBreedingAddress() external view returns (address);
    function geneLabAddress() external view returns (address);
    function unicornTokenAddress() external view returns (address);
    function candyToken() external view returns (address);
    function candyPowerToken() external view returns (address);

    function createDividendPercent() external view returns (uint);
    function sellDividendPercent() external view returns (uint);
    function subFreezingPrice() external view returns (uint);
    function subFreezingTime() external view returns (uint64);
    function subTourFreezingPrice() external view returns (uint);
    function subTourFreezingTime() external view returns (uint64);
    function createUnicornPrice() external view returns (uint);
    function createUnicornPriceInCandy() external view returns (uint);
    function oraclizeFee() external view returns (uint);

    function paused() external view returns (bool);
    //    function locked() external view returns (bool);

    function isTournament(address _tournamentAddress) external view returns (bool);

    function getCreateUnicornFullPrice() external view returns (uint);
    function getHybridizationFullPrice(uint _price) external view returns (uint);
    function getSellUnicornFullPrice(uint _price) external view returns (uint);
    function getCreateUnicornFullPriceInCandy() external view returns (uint);


    //service
    function registerInit(address _contract) external;

}

contract ERC20 {
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
}

contract megaCandyInterface is ERC20 {
    function transferFromSystem(address _from, address _to, uint256 _value) public returns (bool);
    function burn(address _from, uint256 _value) public returns (bool);
    function mint(address _to, uint256 _amount) public returns (bool);
}

contract DividendManagerInterface {
    function payDividend() external payable;
}

contract BlackBoxInterface {
    function createGen0(uint _unicornId) public payable;
    function geneCore(uint _childUnicornId, uint _parent1UnicornId, uint _parent2UnicornId) public payable;
}

contract UnicornTokenInterface {

    //ERC721
    function balanceOf(address _owner) public view returns (uint256 _balance);
    function ownerOf(uint256 _unicornId) public view returns (address _owner);
    function transfer(address _to, uint256 _unicornId) public;
    function approve(address _to, uint256 _unicornId) public;
    function takeOwnership(uint256 _unicornId) public;
    function totalSupply() public constant returns (uint);
    function owns(address _claimant, uint256 _unicornId) public view returns (bool);
    function allowance(address _claimant, uint256 _unicornId) public view returns (bool);
    function transferFrom(address _from, address _to, uint256 _unicornId) public;

    //specific
    function createUnicorn(address _owner) external returns (uint);
    //    function burnUnicorn(uint256 _unicornId) external;
    function getGen(uint _unicornId) external view returns (bytes);
    function setGene(uint _unicornId, bytes _gene) external;
    function updateGene(uint _unicornId, bytes _gene) external;
    function getUnicornGenByte(uint _unicornId, uint _byteNo) external view returns (uint8);

    function setName(uint256 _unicornId, string _name ) external returns (bool);
    function plusFreezingTime(uint _unicornId) external;
    function plusTourFreezingTime(uint _unicornId) external;
    function minusFreezingTime(uint _unicornId, uint64 _time) external;
    function minusTourFreezingTime(uint _unicornId, uint64 _time) external;
    function isUnfreezed(uint _unicornId) external view returns (bool);
    function isTourUnfreezed(uint _unicornId) external view returns (bool);

    function marketTransfer(address _from, address _to, uint256 _unicornId) external;
}



contract UnicornAccessControl {

    UnicornManagementInterface public unicornManagement;

    function UnicornAccessControl(address _unicornManagementAddress) public {
        unicornManagement = UnicornManagementInterface(_unicornManagementAddress);
        unicornManagement.registerInit(this);
    }

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

    modifier onlyManager() {
        require(msg.sender == unicornManagement.managerAddress());
        _;
    }

    modifier onlyCommunity() {
        require(msg.sender == unicornManagement.communityAddress());
        _;
    }

    modifier onlyTournament() {
        require(unicornManagement.isTournament(msg.sender));
        _;
    }

    modifier whenNotPaused() {
        require(!unicornManagement.paused());
        _;
    }

    modifier whenPaused {
        require(unicornManagement.paused());
        _;
    }


    modifier onlyManagement() {
        require(msg.sender == address(unicornManagement));
        _;
    }

    modifier onlyBreeding() {
        require(msg.sender == unicornManagement.unicornBreedingAddress());
        _;
    }

    modifier onlyGeneLab() {
        require(msg.sender == unicornManagement.geneLabAddress());
        _;
    }

    modifier onlyBlackBox() {
        require(msg.sender == unicornManagement.blackBoxAddress());
        _;
    }

    modifier onlyUnicornToken() {
        require(msg.sender == unicornManagement.unicornTokenAddress());
        _;
    }

    function isGamePaused() external view returns (bool) {
        return unicornManagement.paused();
    }
}

contract UnicornBreeding is UnicornAccessControl {
    using SafeMath for uint;
    //onlyOwner
    UnicornTokenInterface public unicornToken; //only on deploy
    BlackBoxInterface public blackBox;

    event HybridizationAdd(uint indexed unicornId, uint price);
    event HybridizationAccept(uint indexed firstUnicornId, uint indexed secondUnicornId, uint newUnicornId);
    event HybridizationDelete(uint indexed unicornId);
    event FundsTransferred(address dividendManager, uint value);
    event CreateUnicorn(address indexed owner, uint indexed unicornId, uint parent1, uint  parent2);
    event NewGen0Limit(uint limit);
    event NewGen0Step(uint step);


    event OfferAdd(uint256 indexed unicornId, uint priceEth, uint priceCandy);
    event OfferDelete(uint256 indexed unicornId);
    event UnicornSold(uint256 indexed unicornId);

    event NewSellDividendPercent(uint percentCandy, uint percentCandyEth);

    ERC20 public candyToken;
    megaCandyInterface public megaCandyToken;

    uint public sellDividendPercentCandy = 375; //OnlyManager 4 digits. 10.5% = 1050
    uint public sellDividendPercentEth = 375; //OnlyManager 4 digits. 10.5% = 1050

    //counter for gen0
    uint public gen0Limit = 30000;
    uint public gen0Count = 1805;
    uint public gen0Step = 1000;

    //counter for presale gen0
    uint public gen0PresaleLimit = 1000;
    uint public gen0PresaleCount = 0;

    struct Hybridization{
        uint listIndex;
        uint price;
        //        uint second_unicorn_id;
        //        bool accepted;
        bool exists;
    }

    // Mapping from unicorn ID to Hybridization struct
    mapping (uint => Hybridization) public hybridizations;
    mapping(uint => uint) public hybridizationList;
    uint public hybridizationListSize = 0;


    function() public payable {

    }

    function UnicornBreeding(address _unicornManagementAddress) UnicornAccessControl(_unicornManagementAddress) public {
        candyToken = ERC20(unicornManagement.candyToken());

    }

    function init() onlyManagement whenPaused external {
        unicornToken = UnicornTokenInterface(unicornManagement.unicornTokenAddress());
        blackBox = BlackBoxInterface(unicornManagement.blackBoxAddress());
        megaCandyToken = megaCandyInterface(unicornManagement.candyPowerToken());
    }

    function makeHybridization(uint _unicornId, uint _price) public {
        require(unicornToken.owns(msg.sender, _unicornId));
        require(unicornToken.isUnfreezed(_unicornId));
        require(!hybridizations[_unicornId].exists);

        hybridizations[_unicornId] = Hybridization({
            price: _price,
            exists: true,
            listIndex: hybridizationListSize
            });
        hybridizationList[hybridizationListSize++] = _unicornId;

        emit HybridizationAdd(_unicornId, _price);
    }


    function acceptHybridization(uint _firstUnicornId, uint _secondUnicornId) whenNotPaused public payable {
        require(unicornToken.owns(msg.sender, _secondUnicornId));
        require(_secondUnicornId != _firstUnicornId);
        require(unicornToken.isUnfreezed(_firstUnicornId) && unicornToken.isUnfreezed(_secondUnicornId));
        require(hybridizations[_firstUnicornId].exists);
        require(msg.value == unicornManagement.oraclizeFee());
        if (hybridizations[_firstUnicornId].price > 0) {
            require(candyToken.transferFrom(msg.sender, this, getHybridizationPrice(_firstUnicornId)));
        }

        plusFreezingTime(_firstUnicornId);
        plusFreezingTime(_secondUnicornId);
        uint256 newUnicornId = unicornToken.createUnicorn(msg.sender);
        //        BlackBoxInterface blackBox = BlackBoxInterface(unicornManagement.blackBoxAddress());
        blackBox.geneCore.value(unicornManagement.oraclizeFee())(newUnicornId, _firstUnicornId, _secondUnicornId);
        emit CreateUnicorn(msg.sender, newUnicornId, _firstUnicornId, _secondUnicornId);
        if (hybridizations[_firstUnicornId].price > 0) {
            candyToken.transfer(unicornToken.ownerOf(_firstUnicornId), hybridizations[_firstUnicornId].price);
        }
        emit HybridizationAccept(_firstUnicornId, _secondUnicornId, newUnicornId);
        _deleteHybridization(_firstUnicornId);
    }


    function cancelHybridization (uint _unicornId) public {
        require(unicornToken.owns(msg.sender,_unicornId));
        require(hybridizations[_unicornId].exists);
        _deleteHybridization(_unicornId);
    }

    function deleteHybridization(uint _unicornId) onlyUnicornToken external {
        _deleteHybridization(_unicornId);
    }

    function _deleteHybridization(uint _unicornId) internal {
        if (hybridizations[_unicornId].exists) {
            hybridizations[hybridizationList[--hybridizationListSize]].listIndex = hybridizations[_unicornId].listIndex;
            hybridizationList[hybridizations[_unicornId].listIndex] = hybridizationList[hybridizationListSize];
            delete hybridizationList[hybridizationListSize];
            delete hybridizations[_unicornId];
            emit HybridizationDelete(_unicornId);
        }
    }

    //Create new 0 gen
    function createUnicorn() public payable whenNotPaused returns(uint256)   {
        require(msg.value == getCreateUnicornPrice());
        return _createUnicorn(msg.sender);
    }

    function createUnicornForCandy() public payable whenNotPaused returns(uint256)   {
        require(msg.value == unicornManagement.oraclizeFee());
        require(candyToken.transferFrom(msg.sender, this, getCreateUnicornPriceInCandy()));
        return _createUnicorn(msg.sender);
    }

    function createPresaleUnicorns(uint _count, address _owner) public payable onlyManager whenPaused returns(bool) {
        require(gen0PresaleCount.add(_count) <= gen0PresaleLimit);
        uint256 newUnicornId;
        address owner = _owner == address(0) ? msg.sender : _owner;
        for (uint i = 0; i < _count; i++){
            newUnicornId = unicornToken.createUnicorn(owner);
            blackBox.createGen0(newUnicornId);
            emit CreateUnicorn(owner, newUnicornId, 0, 0);
            gen0Count = gen0Count.add(1);
            gen0PresaleCount = gen0PresaleCount.add(1);
        }
        return true;
    }

    function _createUnicorn(address _owner) private returns(uint256) {
        require(gen0Count < gen0Limit);
        uint256 newUnicornId = unicornToken.createUnicorn(_owner);
        //        BlackBoxInterface blackBox = BlackBoxInterface(unicornManagement.blackBoxAddress());
        blackBox.createGen0.value(unicornManagement.oraclizeFee())(newUnicornId);
        emit CreateUnicorn(_owner, newUnicornId, 0, 0);
        gen0Count = gen0Count.add(1);
        return newUnicornId;
    }

    function plusFreezingTime(uint _unicornId) private {
        unicornToken.plusFreezingTime(_unicornId);
    }

    function plusTourFreezingTime(uint _unicornId) onlyTournament public {
        unicornToken.plusTourFreezingTime(_unicornId);
    }

    //change freezing time for megacandy
    function minusFreezingTime(uint _unicornId, uint _count) public { 
        require(megaCandyToken.burn(msg.sender,   unicornManagement.subFreezingPrice().mul(_count)));
        unicornToken.minusFreezingTime(_unicornId,  unicornManagement.subFreezingTime() * uint64(_count));
    }

    //change tour freezing time for megacandy
    function minusTourFreezingTime(uint _unicornId, uint _count) public { 
        require(megaCandyToken.burn(msg.sender, unicornManagement.subTourFreezingPrice().mul(_count)));
        unicornToken.minusTourFreezingTime(_unicornId, unicornManagement.subTourFreezingTime() * uint64(_count));
    }

    function getHybridizationPrice(uint _unicornId) public view returns (uint) {
        return unicornManagement.getHybridizationFullPrice(hybridizations[_unicornId].price);
    }

    function getEtherFeeForPriceInCandy() public view returns (uint) {
        return unicornManagement.oraclizeFee();
    }

    function getCreateUnicornPriceInCandy() public view returns (uint) {
        return unicornManagement.getCreateUnicornFullPriceInCandy();
    }


    function getCreateUnicornPrice() public view returns (uint) {
        return unicornManagement.getCreateUnicornFullPrice();
    }


    function withdrawTokens() onlyManager public {
        require(candyToken.balanceOf(this) > 0); 
        candyToken.transfer(unicornManagement.walletAddress(), candyToken.balanceOf(this)); 
    }


    function transferEthersToDividendManager(uint _value) onlyManager public {
        require(address(this).balance >= _value);
        DividendManagerInterface dividendManager = DividendManagerInterface(unicornManagement.dividendManagerAddress());
        dividendManager.payDividend.value(_value)();
        emit FundsTransferred(unicornManagement.dividendManagerAddress(), _value);
    }


    function setGen0Limit() external onlyCommunity {
        require(gen0Count == gen0Limit);
        gen0Limit = gen0Limit.add(gen0Step);
        emit NewGen0Limit(gen0Limit);
    }
 

    ////MARKET
    struct Offer{
        uint marketIndex;
        uint priceEth;
        uint priceCandy;
        bool exists;
    }

    // Mapping from unicorn ID to Offer struct
    mapping (uint => Offer) public offers;
    // Mapping from unicorn ID to offer ID
    //    mapping (uint => uint) public unicornOffer;
    // market index => offerId
    mapping(uint => uint) public market;
    uint public marketSize = 0;


    function sellUnicorn(uint _unicornId, uint _priceEth, uint _priceCandy) public {
        require(unicornToken.owns(msg.sender, _unicornId));
        require(!offers[_unicornId].exists);

        offers[_unicornId] = Offer({
            priceEth: _priceEth,
            priceCandy: _priceCandy,
            exists: true,
            marketIndex: marketSize
            });

        market[marketSize++] = _unicornId;

        emit OfferAdd(_unicornId, _priceEth, _priceCandy);
    }


    function buyUnicornWithEth(uint _unicornId) public payable {
        require(offers[_unicornId].exists);
        uint price = offers[_unicornId].priceEth;
        //Выставлять на продажу за 0 можно. Но нужно проверить чтобы и вторая цена также была 0
        if (price == 0) {
            require(offers[_unicornId].priceCandy == 0);
        }
        require(msg.value == getOfferPriceEth(_unicornId));

        address owner = unicornToken.ownerOf(_unicornId);

        emit UnicornSold(_unicornId);
        //deleteoffer вызовется внутри transfer
        unicornToken.marketTransfer(owner, msg.sender, _unicornId);
        owner.transfer(price);
    }


    function buyUnicornWithCandy(uint _unicornId) public {
        require(offers[_unicornId].exists);
        uint price = offers[_unicornId].priceCandy;
        //Выставлять на продажу за 0 можно. Но нужно проверить чтобы и вторая цена также была 0
        if (price == 0) {
            require(offers[_unicornId].priceEth == 0);
        }

        address owner = unicornToken.ownerOf(_unicornId);

        if (price > 0) {
            require(candyToken.transferFrom(msg.sender, this, getOfferPriceCandy(_unicornId)));
            candyToken.transfer(owner, price);
        }

        emit UnicornSold(_unicornId);
        //deleteoffer вызовется внутри transfer
        unicornToken.marketTransfer(owner, msg.sender, _unicornId);
    }


    function revokeUnicorn(uint _unicornId) public {
        require(unicornToken.owns(msg.sender, _unicornId));
        require(offers[_unicornId].exists);
        _deleteOffer(_unicornId);
    }


    function deleteOffer(uint _unicornId) onlyUnicornToken external {
        _deleteOffer(_unicornId);
    }


    function _deleteOffer(uint _unicornId) internal {
        if (offers[_unicornId].exists) {
            offers[market[--marketSize]].marketIndex = offers[_unicornId].marketIndex;
            market[offers[_unicornId].marketIndex] = market[marketSize];
            delete market[marketSize];
            delete offers[_unicornId];
            emit OfferDelete(_unicornId);
        }
    }


    function getOfferPriceEth(uint _unicornId) public view returns (uint) {
        return offers[_unicornId].priceEth.add(valueFromPercent(offers[_unicornId].priceEth, sellDividendPercentEth));
    }


    function getOfferPriceCandy(uint _unicornId) public view returns (uint) {
        return offers[_unicornId].priceCandy.add(valueFromPercent(offers[_unicornId].priceCandy, sellDividendPercentCandy));
    }


    function setSellDividendPercent(uint _percentCandy, uint _percentEth) public onlyManager {
        //no more then 25%
        require(_percentCandy < 2500 && _percentEth < 2500);

        sellDividendPercentCandy = _percentCandy;
        sellDividendPercentEth = _percentEth;
        emit NewSellDividendPercent(_percentCandy, _percentEth);
    }


    //1% - 100, 10% - 1000 50% - 5000
    function valueFromPercent(uint _value, uint _percent) internal pure returns (uint amount)    {
        uint _amount = _value.mul(_percent).div(10000);
        return (_amount);
    }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"isGamePaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"hybridizations","outputs":[{"name":"listIndex","type":"uint256"},{"name":"price","type":"uint256"},{"name":"exists","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"getHybridizationPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_price","type":"uint256"}],"name":"makeHybridization","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"getOfferPriceCandy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"market","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_priceEth","type":"uint256"},{"name":"_priceCandy","type":"uint256"}],"name":"sellUnicorn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"cancelHybridization","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCreateUnicornPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"buyUnicornWithEth","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_count","type":"uint256"}],"name":"minusFreezingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"},{"name":"_count","type":"uint256"}],"name":"minusTourFreezingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_count","type":"uint256"},{"name":"_owner","type":"address"}],"name":"createPresaleUnicorns","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"createUnicornForCandy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"unicornToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"hybridizationList","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"getOfferPriceEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"deleteOffer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gen0PresaleLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gen0PresaleCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"offers","outputs":[{"name":"marketIndex","type":"uint256"},{"name":"priceEth","type":"uint256"},{"name":"priceCandy","type":"uint256"},{"name":"exists","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"createUnicorn","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"unicornManagement","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_percentCandy","type":"uint256"},{"name":"_percentEth","type":"uint256"}],"name":"setSellDividendPercent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"candyToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"revokeUnicorn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gen0Count","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellDividendPercentCandy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"blackBox","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"deleteHybridization","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"buyUnicornWithCandy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_unicornId","type":"uint256"}],"name":"plusTourFreezingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gen0Step","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_firstUnicornId","type":"uint256"},{"name":"_secondUnicornId","type":"uint256"}],"name":"acceptHybridization","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getEtherFeeForPriceInCandy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"init","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gen0Limit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellDividendPercentEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hybridizationListSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"marketSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setGen0Limit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCreateUnicornPriceInCandy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"transferEthersToDividendManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"megaCandyToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_unicornManagementAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"unicornId","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"name":"HybridizationAdd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"firstUnicornId","type":"uint256"},{"indexed":true,"name":"secondUnicornId","type":"uint256"},{"indexed":false,"name":"newUnicornId","type":"uint256"}],"name":"HybridizationAccept","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"unicornId","type":"uint256"}],"name":"HybridizationDelete","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"dividendManager","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"FundsTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"unicornId","type":"uint256"},{"indexed":false,"name":"parent1","type":"uint256"},{"indexed":false,"name":"parent2","type":"uint256"}],"name":"CreateUnicorn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"limit","type":"uint256"}],"name":"NewGen0Limit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"step","type":"uint256"}],"name":"NewGen0Step","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"unicornId","type":"uint256"},{"indexed":false,"name":"priceEth","type":"uint256"},{"indexed":false,"name":"priceCandy","type":"uint256"}],"name":"OfferAdd","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"unicornId","type":"uint256"}],"name":"OfferDelete","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"unicornId","type":"uint256"}],"name":"UnicornSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"percentCandy","type":"uint256"},{"indexed":false,"name":"percentCandyEth","type":"uint256"}],"name":"NewSellDividendPercent","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405261017760055561017760065561753060075561070d6008556103e86009556103e8600a556000600b556000600e55600060115534156200004357600080fd5b60405160208062004e318339810160405280805190602001909190505080806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632a70d1e7306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15156200015d57600080fd5b5af115156200016b57600080fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a63f5e2a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515620001f457600080fd5b5af115156200020257600080fd5b50505060405180519050600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050614bd4806200025d6000396000f300606060405260043610610225576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630422ddf3146102275780631327d383146102545780631ed378a11461029d5780632394a797146102d457806323d9ea801461030057806328861d221461033757806329cf90f31461036e5780632cf42a6c146103a3578063317ffcf2146103c6578063383a194c146103ef5780633900f8f61461040757806339dad8f5146104335780633ae50ce71461045f57806352fa1ac2146104ae578063544447bb146104cc57806367ae9e8f14610521578063699f0c721461055857806374268ff21461058f5780637cd022d4146105b25780638091fbe1146105db5780638a72ea6a146106045780638d8d50d0146106545780638d8f2adb146106725780638dca7a01146106875780638fe2eb9e146106dc578063a63f5e2a14610708578063af40ce201461075d578063b30387a414610780578063b93c7d42146107a9578063bd1723e5146107d2578063c7024b9814610827578063d029a5301461084a578063d03e9fff1461086d578063d224c3e014610890578063da9287d1146108b9578063de763a40146108da578063e1c7392a14610903578063e515a4d114610918578063e5a0741914610941578063eb1bb9d91461096a578063eb56105d14610993578063ec7bb2ac146109bc578063ee81f57c146109d1578063ff394153146109fa578063ff8028b314610a1d575b005b341561023257600080fd5b61023a610a72565b604051808215151515815260200191505060405180910390f35b341561025f57600080fd5b6102756004808035906020019091905050610b14565b6040518084815260200183815260200182151515158152602001935050505060405180910390f35b34156102a857600080fd5b6102be6004808035906020019091905050610b4b565b6040518082815260200191505060405180910390f35b34156102df57600080fd5b6102fe6004808035906020019091908035906020019091905050610c10565b005b341561030b57600080fd5b6103216004808035906020019091905050610ea7565b6040518082815260200191505060405180910390f35b341561034257600080fd5b6103586004808035906020019091905050610efa565b6040518082815260200191505060405180910390f35b341561037957600080fd5b6103a16004808035906020019091908035906020019091908035906020019091905050610f12565b005b34156103ae57600080fd5b6103c46004808035906020019091905050611110565b005b34156103d157600080fd5b6103d9611231565b6040518082815260200191505060405180910390f35b61040560048080359060200190919050506112d3565b005b341561041257600080fd5b6104316004808035906020019091908035906020019091905050611586565b005b341561043e57600080fd5b61045d6004808035906020019091908035906020019091905050611874565b005b610494600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b62565b604051808215151515815260200191505060405180910390f35b6104b6611f71565b6040518082815260200191505060405180910390f35b34156104d757600080fd5b6104df6121f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561052c57600080fd5b6105426004808035906020019091905050612217565b6040518082815260200191505060405180910390f35b341561056357600080fd5b610579600480803590602001909190505061222f565b6040518082815260200191505060405180910390f35b341561059a57600080fd5b6105b06004808035906020019091905050612282565b005b34156105bd57600080fd5b6105c5612362565b6040518082815260200191505060405180910390f35b34156105e657600080fd5b6105ee612368565b6040518082815260200191505060405180910390f35b341561060f57600080fd5b610625600480803590602001909190505061236e565b604051808581526020018481526020018381526020018215151515815260200194505050505060405180910390f35b61065c6123ab565b6040518082815260200191505060405180910390f35b341561067d57600080fd5b610685612477565b005b341561069257600080fd5b61069a612876565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106e757600080fd5b610706600480803590602001909190803590602001909190505061289b565b005b341561071357600080fd5b61071b6129dd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561076857600080fd5b61077e6004808035906020019091905050612a03565b005b341561078b57600080fd5b610793612b24565b6040518082815260200191505060405180910390f35b34156107b457600080fd5b6107bc612b2a565b6040518082815260200191505060405180910390f35b34156107dd57600080fd5b6107e5612b30565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561083257600080fd5b6108486004808035906020019091905050612b56565b005b341561085557600080fd5b61086b6004808035906020019091905050612c36565b005b341561087857600080fd5b61088e600480803590602001909190505061309b565b005b341561089b57600080fd5b6108a361321b565b6040518082815260200191505060405180910390f35b6108d86004808035906020019091908035906020019091905050613221565b005b34156108e557600080fd5b6108ed613bc1565b6040518082815260200191505060405180910390f35b341561090e57600080fd5b610916613c63565b005b341561092357600080fd5b61092b613ff7565b6040518082815260200191505060405180910390f35b341561094c57600080fd5b610954613ffd565b6040518082815260200191505060405180910390f35b341561097557600080fd5b61097d614003565b6040518082815260200191505060405180910390f35b341561099e57600080fd5b6109a6614009565b6040518082815260200191505060405180910390f35b34156109c757600080fd5b6109cf61400f565b005b34156109dc57600080fd5b6109e461414d565b6040518082815260200191505060405180910390f35b3415610a0557600080fd5b610a1b60048080359060200190919050506141ef565b005b3415610a2857600080fd5b610a30614505565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610af857600080fd5b5af11515610b0557600080fd5b50505060405180519050905090565b600c6020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e8474230600c6000858152602001908152602001600020600101546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610bf257600080fd5b5af11515610bff57600080fd5b505050604051805190509050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663818d4b5d33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610cd457600080fd5b5af11515610ce157600080fd5b505050604051805190501515610cf657600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cbde2ff0836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610d8657600080fd5b5af11515610d9357600080fd5b505050604051805190501515610da857600080fd5b600c600083815260200190815260200160002060020160009054906101000a900460ff16151515610dd857600080fd5b606060405190810160405280600e54815260200182815260200160011515815250600c6000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff02191690831515021790555090505081600d6000600e600081548092919060010191905055815260200190815260200160002081905550817f84abd4d356237b35dfca5b88dc4e394c7e9f4cb3b214adcabfabdc6fe1f5f76c826040518082815260200191505060405180910390a25050565b6000610ef3610ece600f60008581526020019081526020016000206002015460055461452b565b600f60008581526020019081526020016000206002015461456190919063ffffffff16565b9050919050565b60106020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663818d4b5d33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610fd657600080fd5b5af11515610fe357600080fd5b505050604051805190501515610ff857600080fd5b600f600084815260200190815260200160002060030160009054906101000a900460ff1615151561102857600080fd5b608060405190810160405280601154815260200183815260200182815260200160011515815250600f600085815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff02191690831515021790555090505082601060006011600081548092919060010191905055815260200190815260200160002081905550827f13e4d00e26244f0e870ff787588c0980bf9d98eb39577648b77788542f19292a8383604051808381526020018281526020019250505060405180910390a2505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663818d4b5d33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156111d457600080fd5b5af115156111e157600080fd5b5050506040518051905015156111f657600080fd5b600c600082815260200190815260200160002060020160009054906101000a900460ff16151561122557600080fd5b61122e8161457f565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a96c63e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156112b757600080fd5b5af115156112c457600080fd5b50505060405180519050905090565b600080600f600084815260200190815260200160002060030160009054906101000a900460ff16151561130557600080fd5b600f6000848152602001908152602001600020600101549150600082141561134d576000600f60008581526020019081526020016000206002015414151561134c57600080fd5b5b6113568361222f565b3414151561136357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15156113f357600080fd5b5af1151561140057600080fd5b505050604051805190509050827f4061e21996e5679778d872d5b99ef37970aa24194d370815ff0e224e58dff1a460405160405180910390a2600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bcf0dd8e8233866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b151561153157600080fd5b5af1151561153e57600080fd5b5050508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561158157600080fd5b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33611672846000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166373def2b76040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561164d57600080fd5b5af1151561165a57600080fd5b505050604051805190506146c290919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156116f657600080fd5b5af1151561170357600080fd5b50505060405180519050151561171857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634a3a92f683836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ea764756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156117dc57600080fd5b5af115156117e957600080fd5b50505060405180519050026040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018267ffffffffffffffff1667ffffffffffffffff16815260200192505050600060405180830381600087803b151561186057600080fd5b5af1151561186d57600080fd5b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33611960846000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636b308ee76040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561193b57600080fd5b5af1151561194857600080fd5b505050604051805190506146c290919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156119e457600080fd5b5af115156119f157600080fd5b505050604051805190501515611a0657600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a60b8aa983836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166392491f216040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611aca57600080fd5b5af11515611ad757600080fd5b50505060405180519050026040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018267ffffffffffffffff1667ffffffffffffffff16815260200192505050600060405180830381600087803b1515611b4e57600080fd5b5af11515611b5b57600080fd5b5050505050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf73a1bc6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611bec57600080fd5b5af11515611bf957600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c3c57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611cc057600080fd5b5af11515611ccd57600080fd5b505050604051805190501515611ce257600080fd5b600a54611cfa87600b5461456190919063ffffffff16565b11151515611d0757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611d415784611d43565b335b9150600090505b85811015611f6457600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce5a5df7836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611e0e57600080fd5b5af11515611e1b57600080fd5b505050604051805190509250600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631a9caab9846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1515611eb757600080fd5b5af11515611ec457600080fd5b505050828273ffffffffffffffffffffffffffffffffffffffff167f51b6670023a2e348a2cb6b181f6ceed38b9ca16e2a416c7f437722cda97264d0600080604051808381526020018281526020019250505060405180910390a3611f35600160085461456190919063ffffffff16565b600881905550611f516001600b5461456190919063ffffffff16565b600b819055508080600101915050611d4a565b6001935050505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611ff757600080fd5b5af1151561200457600080fd5b5050506040518051905015151561201a57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634c6226fc6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561209e57600080fd5b5af115156120ab57600080fd5b50505060405180519050341415156120c257600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd333061210a61414d565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156121c157600080fd5b5af115156121ce57600080fd5b5050506040518051905015156121e357600080fd5b6121ec336146fd565b905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020528060005260406000206000915090505481565b600061227b612256600f60008581526020019081526020016000206001015460065461452b565b600f60008581526020019081526020016000206001015461456190919063ffffffff16565b9050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635abaaa016040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561230657600080fd5b5af1151561231357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561235657600080fd5b61235f8161499f565b50565b600a5481565b600b5481565b600f6020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16905084565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561243157600080fd5b5af1151561243e57600080fd5b5050506040518051905015151561245457600080fd5b61245c611231565b3414151561246957600080fd5b612472336146fd565b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf73a1bc6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156124fb57600080fd5b5af1151561250857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561254b57600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561260957600080fd5b5af1151561261657600080fd5b5050506040518051905011151561262c57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636ad5b3ea6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156126ee57600080fd5b5af115156126fb57600080fd5b50505060405180519050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156127c157600080fd5b5af115156127ce57600080fd5b505050604051805190506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561285c57600080fd5b5af1151561286957600080fd5b5050506040518051905050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf73a1bc6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561291f57600080fd5b5af1151561292c57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561296f57600080fd5b6109c48210801561298157506109c481105b151561298c57600080fd5b81600581905550806006819055507f30c8ebfc35cc822986e28f932b0a3ec7ddeb7d22b2e2069c8418b8f6bb2be6648282604051808381526020018281526020019250505060405180910390a15050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663818d4b5d33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612ac757600080fd5b5af11515612ad457600080fd5b505050604051805190501515612ae957600080fd5b600f600082815260200190815260200160002060030160009054906101000a900460ff161515612b1857600080fd5b612b218161499f565b50565b60085481565b60055481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635abaaa016040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515612bda57600080fd5b5af11515612be757600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c2a57600080fd5b612c338161457f565b50565b600080600f600084815260200190815260200160002060030160009054906101000a900460ff161515612c6857600080fd5b600f60008481526020019081526020016000206002015491506000821415612cb0576000600f600085815260200190815260200160002060010154141515612caf57600080fd5b5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612d4057600080fd5b5af11515612d4d57600080fd5b5050506040518051905090506000821115612f6157600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330612dab87610ea7565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515612e6257600080fd5b5af11515612e6f57600080fd5b505050604051805190501515612e8457600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612f4857600080fd5b5af11515612f5557600080fd5b50505060405180519050505b827f4061e21996e5679778d872d5b99ef37970aa24194d370815ff0e224e58dff1a460405160405180910390a2600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bcf0dd8e8233866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b151561308657600080fd5b5af1151561309357600080fd5b505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e10f1b06336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561315657600080fd5b5af1151561316357600080fd5b50505060405180519050151561317857600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d03e9fff826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561320857600080fd5b5af1151561321557600080fd5b50505050565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156132a757600080fd5b5af115156132b457600080fd5b505050604051805190501515156132ca57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663818d4b5d33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561338e57600080fd5b5af1151561339b57600080fd5b5050506040518051905015156133b057600080fd5b8282141515156133bf57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cbde2ff0846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561344f57600080fd5b5af1151561345c57600080fd5b5050506040518051905080156135155750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cbde2ff0836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15156134fd57600080fd5b5af1151561350a57600080fd5b505050604051805190505b151561352057600080fd5b600c600084815260200190815260200160002060020160009054906101000a900460ff16151561354f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634c6226fc6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156135d357600080fd5b5af115156135e057600080fd5b50505060405180519050341415156135f757600080fd5b6000600c600085815260200190815260200160002060010154111561373957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd333061365f87610b4b565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561371657600080fd5b5af1151561372357600080fd5b50505060405180519050151561373857600080fd5b5b61374283614aea565b61374b82614aea565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce5a5df7336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561380757600080fd5b5af1151561381457600080fd5b505050604051805190509050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631e5d2e416000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634c6226fc6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156138e257600080fd5b5af115156138ef57600080fd5b505050604051805190508386866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183815260200182815260200193505050506000604051808303818588803b151561395a57600080fd5b5af1151561396757600080fd5b50505050803373ffffffffffffffffffffffffffffffffffffffff167f51b6670023a2e348a2cb6b181f6ceed38b9ca16e2a416c7f437722cda97264d08585604051808381526020018281526020019250505060405180910390a36000600c6000858152602001908152602001600020600101541115613b7a57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636352211e866040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515613aaf57600080fd5b5af11515613abc57600080fd5b50505060405180519050600c6000878152602001908152602001600020600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515613b6157600080fd5b5af11515613b6e57600080fd5b50505060405180519050505b81837f5b4cde6dd262ac8adc9c9dc9abd965f7fdc5f1b7e3a97db5fd06aa922540cfbf836040518082815260200191505060405180910390a3613bbc8361457f565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634c6226fc6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515613c4757600080fd5b5af11515613c5457600080fd5b50505060405180519050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613cbe57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515613d4257600080fd5b5af11515613d4f57600080fd5b505050604051805190501515613d6457600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635abaaa016040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515613de857600080fd5b5af11515613df557600080fd5b50505060405180519050600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635550e4f36040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515613ec357600080fd5b5af11515613ed057600080fd5b50505060405180519050600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a76d368a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515613f9e57600080fd5b5af11515613fab57600080fd5b50505060405180519050600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b60065481565b600e5481565b60115481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386e476dd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561409357600080fd5b5af115156140a057600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156140e357600080fd5b6007546008541415156140f557600080fd5b61410c60095460075461456190919063ffffffff16565b6007819055507f82a435bab9dac7abe42e365cda0c3cb0f64bf2b839af282f9e312d2d66145c846007546040518082815260200191505060405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a2c174596040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156141d357600080fd5b5af115156141e057600080fd5b50505060405180519050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cf73a1bc6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561427557600080fd5b5af1151561428257600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156142c557600080fd5b813073ffffffffffffffffffffffffffffffffffffffff1631101515156142eb57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349b7a9c26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561436f57600080fd5b5af1151561437c57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff16630b6826ca836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b15156143eb57600080fd5b5af115156143f857600080fd5b505050507f8c9a4f13b67cb64d7c6aa1ae0c9bf07694af521a28b93e7060020810ab4bc59f6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349b7a9c26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156144a157600080fd5b5af115156144ae57600080fd5b5050506040518051905083604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061455561271061454785876146c290919063ffffffff16565b614b8d90919063ffffffff16565b90508091505092915050565b600080828401905083811015151561457557fe5b8091505092915050565b600c600082815260200190815260200160002060020160009054906101000a900460ff16156146bf57600c600082815260200190815260200160002060000154600c6000600d6000600e6000815460019003919050819055815260200190815260200160002054815260200190815260200160002060000181905550600d6000600e54815260200190815260200160002054600d6000600c600085815260200190815260200160002060000154815260200190815260200160002081905550600d6000600e54815260200190815260200160002060009055600c600082815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549060ff02191690555050807f868a9e71dfb115bed3ee872d882e85e6054c40386de4fbb9b016f78717d7b9ed60405160405180910390a25b50565b60008060008414156146d757600091506146f6565b82840290508284828115156146e857fe5b041415156146f257fe5b8091505b5092915050565b60008060075460085410151561471257600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce5a5df7846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156147ce57600080fd5b5af115156147db57600080fd5b505050604051805190509050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631a9caab96000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634c6226fc6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156148a957600080fd5b5af115156148b657600080fd5b50505060405180519050836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808281526020019150506000604051808303818588803b151561491157600080fd5b5af1151561491e57600080fd5b50505050808373ffffffffffffffffffffffffffffffffffffffff167f51b6670023a2e348a2cb6b181f6ceed38b9ca16e2a416c7f437722cda97264d0600080604051808381526020018281526020019250505060405180910390a3614990600160085461456190919063ffffffff16565b60088190555080915050919050565b600f600082815260200190815260200160002060030160009054906101000a900460ff1615614ae757600f600082815260200190815260200160002060000154600f600060106000601160008154600190039190508190558152602001908152602001600020548152602001908152602001600020600001819055506010600060115481526020019081526020016000205460106000600f60008581526020019081526020016000206000015481526020019081526020016000208190555060106000601154815260200190815260200160002060009055600f6000828152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006101000a81549060ff02191690555050807f5ea1bcce7d1009a8f5578c7ae0fb858880637a891d4e67851c12e37b35f59c6360405160405180910390a25b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e8eca23826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1515614b7a57600080fd5b5af11515614b8757600080fd5b50505050565b6000808284811515614b9b57fe5b04905080915050929150505600a165627a7a7230582002fbaec93aa6785fe1ba1594dd1f9e6ec59a1d479aeff95bac55bd7183d68cf6002900000000000000000000000010cc060f6f9b2e5dcdb23f1361e4b368a7daec73

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

-----Decoded View---------------
Found 1 constructor arguments :
Arg [0] : 00000000000000000000000010cc060f6f9b2e5dcdb23f1361e4b368a7daec73


   Swarm Source:
bzzr://02fbaec93aa6785fe1ba1594dd1f9e6ec59a1d479aeff95bac55bd7183d68cf6

 

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