Latest 25 transactions from a total of 11110 transactions
(+1 PendingTxn)

TxHash Age From To Value [TxFee]
0xe46f4791da232c2cdf95f3f1044037f8c0f55bdaeac7634ba224138ee25162b3(pending)0x9e0be547be78a67d678ca685f267f845e9e3eb8c  IN  0x93b7fa538913201066a262c03179c342262a7c760.003 Ether(Pending)
0xe926ae930919610dba1d6f2ae7dff5f922a48091f8ba59c3c0c402e98c20f8a321 days 6 hrs ago0x9e0be547be78a67d678ca685f267f845e9e3eb8c  IN   0x93b7fa538913201066a262c03179c342262a7c760.003 Ether0.000048644
0xee4ad54ca17544ede44ac9b2bd4f0877d4ba8dc6aba335e53ca76c0eaf4874f968 days 15 hrs ago0x8c8db10d7d1a71acc68a1425f6d648a4b5686f90  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.0000134331
0xb9c0c2b12696b8a0fbbdb89b3c2cd24ba9b9418ac8b17ba5f6a2084dbffd1d7968 days 16 hrs ago0xb495bad698a3557d5d366b624efaca0592524e7c  IN   0x93b7fa538913201066a262c03179c342262a7c760.003 Ether0.0000025354
0x278f7b2a0dd3204299bd22d2edd9acdf90a4fecfe7830fe599f13275c6c52e6e68 days 16 hrs ago0x8f060df4e927f1bdfbaf057dd973aa161b22032d  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.0000116821
0xff45bb3e91e7fa7ee593fa172495a99a5a7e8a6d7d8eba3248a4266704dff3de137 days 7 hrs ago0x1dbba0def45ba314c35cdbe1a35c5840f98329c3  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.000116757
0xf64a3c5e4f3a6381c93864ff63a3654f96c0d63436f630b03cdf6b8390329cf4137 days 7 hrs ago0x1dbba0def45ba314c35cdbe1a35c5840f98329c3  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.000029233
0x3f667567557bb7324d98450dc8d95e3a4bb399e47165f58e81ef9ee8e7eddfbf137 days 7 hrs ago0x1dbba0def45ba314c35cdbe1a35c5840f98329c3  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.0000233386
0xe438fa32b7b47d689da17f983ff8b837d03264d128b6ee34117a1803ff6066d6170 days 2 hrs ago0x45e044ed9bf130eafafa8095115eda69fc3b0d20  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.001059972
0xddd00fb4ffd6ba37a63c75cae12f0b3184f4dd9badbec68191a98898e24cb62c172 days 13 hrs ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.000058594
0x0096e5e07a0ffbd881d49562efe7807fef19097f56b170c74391792b0774aee4172 days 13 hrs ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.00000732425
0x2ea9ba9d74bd46704dde01914148a09e2264ac3e915ad041a953c778d57ab03f172 days 13 hrs ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.00002918925
0x9c8f8b660befc8ce946bf6141e52037291a02f02a713119fd1f3b0eed313ef4d172 days 13 hrs ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.00002918925
0x50aa8150ba47d299fd811ee01f6d2636ae40036b1945cd045aa3db746bcca532172 days 13 hrs ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.00003356675
0x6833b90888b2f281a31ae382b5490f2ac11caab342e99bf9729ecb9dca23e4d8172 days 16 hrs ago0x06b889377e74f2f7db576ce95bc26330c2ccc1e6  IN   0x93b7fa538913201066a262c03179c342262a7c760.003 Ether0.000131976
0xc3f3309595945906c5b8d734aef4212cdca9eed546146bd24de9e4204f36c459172 days 16 hrs ago0x06b889377e74f2f7db576ce95bc26330c2ccc1e6  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.000087891
0x9098435ddab656379c1995b8cfca77dbdac2578b27edf6a845afffcd787c4324172 days 16 hrs ago0x06b889377e74f2f7db576ce95bc26330c2ccc1e6  IN   0x93b7fa538913201066a262c03179c342262a7c760.003 Ether0.0000098982
0x5b2c30650810c140cbe436b54e13469b039b175c1b12e0e96363dcf5cc46a458172 days 17 hrs ago0x06b889377e74f2f7db576ce95bc26330c2ccc1e6  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.0000350271
0xd8e93dcf5de58fad9e7f1acd5b784ff0522e878d234d7ac4876789ee8f9317a7183 days 19 hrs ago0x3c96c55e3163f62bde37e2113d8bcc5c0d5dba59  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.000116757
0xe526e5a565f12748ae0fa5c977601cae6df9566c430b1f33f126bcdb4886ab88185 days 12 hrs ago0x9d8ff49eda6e00b5e66ae75dcfe15dad8d04eea2  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.00003356675
0x6dfd18651e8919f9e9c40c109bb151185be9f7e479b5ea4177730ec4617ef5c6219 days 15 hrs ago0xfd3341edb0af607223e3ed1e02139ac676e4ed19  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.0000583785
0x0365018769abc309cb40b841464e58add76469d34ea9f00c0879ec1b764d9c51220 days 15 hrs ago0x5a352dd30586856c3b42a71e8c894c3ceaabafbd  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.000116757
0x89d02c3ba6a77d718958a567e95bfb3d2fc03cf1a8aa3f95d99f8eb44fc1a338220 days 17 hrs ago0x5a352dd30586856c3b42a71e8c894c3ceaabafbd  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.000116757
0xe86374176334b15873fd42bf2b54ff9b8a96646d292b66e805e45f7b520148ea220 days 21 hrs ago0xf7e810c542c06148407976ebb1017f60e2b2fc2c  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.0001985957
0x32c2e525aa0a99cf333102f2633b26e2aa665ddf0cb39f6e87911eed85a7e063223 days 10 hrs ago0x491c61d60af497d61a20c3cd1f286ed3ea9c6fa4  IN   0x93b7fa538913201066a262c03179c342262a7c760 Ether0.0000934056
[ Download CSV Export  ] 
 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
0xe438fa32b7b47d689da17f983ff8b837d03264d128b6ee34117a1803ff6066d65857246170 days 2 hrs ago0x93b7fa538913201066a262c03179c342262a7c760xb58f5f3adcbe928ea343c12d047656c59b3c1f2a0.17276 Ether
0xd9aeffd61caa24576dc4ef8f1304358a52100938e50e28e982b24368c7b91d895533355226 days 20 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x47fa9c2ce5deb5be391b9afe79a704e32c608fa20.0079 Ether
0xee8cbb2a6539f5be0103ad843037e3abc46e41565de23ffb91951cbb754217fb5533150226 days 21 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x461b547c945ae1c8f0705d6d17fdb10f4f71beac61c3d86b1da7964e78291e405533078226 days 21 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xa087d90409efba5849163fb172954b00eb8f11e3321de0b66e9efe64a8481ddf5532937226 days 22 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x48f54f60748e117328c024fca1849e089b2cce4aea7129c58ca7e68bb69b743f5531992227 days 2 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x22fa28100f9a08d610e8794494451f1f64f97f23b9be32aa16570627a6ee97805531712227 days 3 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x7c6af0a4b60e0ae8255d4b5e3c3b5e32f41ff2b1104a4694d7f2c49827151a6a5531706227 days 3 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5cdbb0dc1342bf5710aa231f08856c892b44d6df0.008 Ether
0xd345e34f0fc65bd847ada21aed45d988662b490b599c44da643206b7efda635b5530891227 days 6 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x5715c3102b2d01e0e987efdca2ab112c84c24c63299399fc5c930569bb3dfe6a5530416227 days 8 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xb86040d7bc8d93f9f58c21eb761d74d2dfdd8eed29f607607753d7fef47ec5c75530352227 days 9 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x96872752df6eacf56162c6984e817b4fc7e982c7be0d49212d5b5334de8daae85530344227 days 9 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xa3a55f42fc69b2f79929c7e5b4895640a431f77c45079f95bbd1ef8124602a935529345227 days 13 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x272d7b3c8349144dfc838d68164747cf5d9bd8398df8a875e4473ab0191b590d5529295227 days 13 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x0c6999a1e761d278a73cc4398e42edb372de3b221f0d3d736c6d32b83bfe05db5529223227 days 13 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xfbc3d6b9f96c6b5a7fff3d5f7853ecb02caa6271f439cbe1d18a4fb3814d2d815529095227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xffdcdb058abaf6ca07721b89c03600b7236b9bd6741a6fc16b62fc95714935b75529057227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x85cb9c1fb0936a9fe32c375fd562894524df6247ef97bebf8a14776c132684425529043227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x827e9ca2a4abe780ae7e1a90e69aad1bb512eae49921619a3d8c05d03cb38be65529014227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xf914ae3574b07f015509b56e78b40f499f4b664898ab6416323dedb49b256c8e5529011227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x55c16b67567bd0ab73c9ec1d12424ccbadfbf4d0c1a9331675500917ffcc69d15529001227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x023725e85587de7af6747275a2ec6d6ab09db7c3b660cbb998e698541a685a875528998227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0xb27f85f0e07d0b21eefced9048afbcdfc249a72de0bc79f10122e27e3fcb18c15528995227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x83e28403e4c59f084e9b02aa9b236293723be47a5681b8c2e4639e6a19603cae5528989227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
0x65f28d0c7abec92a63ae11ad1588503a160f1e93f19dd314b2f059aae6f07bea5528986227 days 14 hrs ago0x93b7fa538913201066a262c03179c342262a7c760x5fde9da6056f8a651ae148c9c3a5364885f355480.003 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: UnicornBreeding
Compiler Text: 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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000010cc060f6f9b2e5dcdb23f1361e4b368a7daec73


   Swarm Source:
bzzr://02fbaec93aa6785fe1ba1594dd1f9e6ec59a1d479aeff95bac55bd7183d68cf6

 

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