Contract 0xFa85069E3D1Ca1B09945CF11d2365386b1E4430A 5

 

Contract Overview

Balance:
0.000869023679354913 Ether

EtherValue:
$1.45 (@ $1,663.18/ETH)

Token:
 
Txn Hash
Method
Block
From
To
Value
0x72b056e2d7bd4485ffc2550fb1998b0e613b81e3212b46161ab5a280d3d7c533Withdraw(pending)2023-02-04 11:14:2257 mins ago0x213b1c27fd1f378db76c865a4ce313041d02ddc4 IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0x1f15adb3f226d6ede26db401d9bee2717e2a1263520e13568e4bbde4bd9524b1Withdraw(pending)2023-02-04 10:33:411 hr 38 mins ago0x185aca981b98f2db47a901915c84bf9a709e8829 IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0xd20a0ec81ca172dd2793b1257b695e79131c120a13b1267b678b6ed6b5164374Withdraw(pending)2023-02-04 8:46:433 hrs 25 mins ago0x5d988d25ce560d0c76613244e262d6dea142467d IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0x569f90b1714637b578fbe83e12c43869644accb7b2a7ed8d84a79e561ff28eb5Withdraw(pending)2023-02-02 18:59:191 day 17 hrs ago0x68e71a1f673df92b18d935d981487e09795d196a IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0xfac7f40d8fb381f3869eae7d11ece7694afcdf2804dc9c04746ef9feda420139Withdraw(pending)2023-02-02 13:42:051 day 22 hrs ago0x54670cfea9dbc86bf0bcca0305b510b8173442d1 IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0xbd1858c78a310d56864750790bedda56c02dfa26dfa71c215a350964d0d297afWithdraw(pending)2023-02-02 11:42:272 days 29 mins ago0xd522a6f6e1018b2a26c9b6d773065e84fdb0330c IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0x0547a257e937673f373f865d28e5d10a4a79e9c9cce943c278d334d3a30789aaWithdraw(pending)2023-02-02 7:48:152 days 4 hrs ago0xcfb852d4d130d7217e0779088250583186ded11c IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0x6d73838538b693a9203ebe0c9855b8af0a56bc0bba0567ac3cbc4534009eccb6Withdraw(pending)2023-02-02 7:29:132 days 4 hrs ago0x68e71a1f673df92b18d935d981487e09795d196a IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0x0d1ce6edab746813ef1ee463360a9fb63a461657a5c603081992b36b7d46dc62Withdraw(pending)2023-02-02 6:42:492 days 5 hrs ago0xab0a2154ab4507b014762735a37a55145f6f3eef IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0xc17d16910746fd494435b4e91bf737c29e81a37c02942b1a27b3fb4976f9f156Withdraw(pending)2023-02-02 6:06:402 days 6 hrs ago0x899256bbae2969ce9166cff26aea30d4f73901c1 IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0x7a622fd20e87d072d3ed21e20f5878720d469576bd37440983963603cb0ff884Withdraw(pending)2023-02-02 5:03:242 days 7 hrs ago0xe3a998cb41a7aa57f8ceca1d6334ed78195660fa IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0xad149a30501cb617970812f457bb5b85a1d7ba4640874f8eedf96b131cde2934Withdraw(pending)2023-02-02 5:03:152 days 7 hrs ago0xbaec2b32dce5abbd3684d468948f269c50b401f2 IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0x75183a48b87a5e2e52d112d5d19ebbc658b8a6f982ba3e826c12686e1ab2b1a6Withdraw(pending)2023-02-02 5:03:152 days 7 hrs ago0xbaec2b32dce5abbd3684d468948f269c50b401f2 IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0x5f4a5747ca9faf3e7c208f6fac0b0678f4be0bba55f005c72b6e29e3d934ed35Withdraw(pending)2023-02-02 5:02:582 days 7 hrs ago0x2fc0bf109d59cb9143d026ee963c16fd35186d78 IN 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether(Pending)(Pending)
0x1c526d58e9fa1329e632cea59316e110fe58695d8be8d5bf5f547718cb408c5aWithdraw156862012022-10-06 2:52:47121 days 9 hrs ago0x9cdc84136bb7cba47fbef3b0e8974dfb215b847b IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.00067681 7.24230007
0xa0ed3b33e6b452a409a8e7d718cb474e88ab3e101cb2b64a31c8ba1a61d3e7fcWithdraw156861942022-10-06 2:51:23121 days 9 hrs ago0x9cdc84136bb7cba47fbef3b0e8974dfb215b847b IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.00069378 7.42388369
0x75bfb824161e7dd6cc6c789d1c353bc42b1bb5d070d5a0b58ff2536184d5606eWithdraw155592772022-09-18 8:35:11139 days 3 hrs ago0xc6175d367e822938f8ee3ed62357cc86f2c9ea73 IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.00022
0xf62a8f0504f2569fec6f67cab74ea1080c7502403c626826a44a181e93cd79b7Withdraw155592772022-09-18 8:35:11139 days 3 hrs ago0xcc54dda7f99ab03103751f638e21d4185cbd688a IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.000403962
0xd0d4b3477545e12d248e6645398f3ad691307a3d9efeda5b0349e07d23b67c77Withdraw155592562022-09-18 8:30:59139 days 3 hrs ago0xa1d8541abed78daf5ffabb3d4e602f2d02d0993b IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.000486662
0xac8de0755246808f29d0c579550c41832164861e2ffda8baf747f4f89a03b317Withdraw155590712022-09-18 7:53:47139 days 4 hrs ago0x01e1c25796229040847219b5a4352e07ecd3bedb IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.00022
0x38c97aedbc1228c0233d70ad13dd4230e8d1ed9d243c43ca915e142b859b07e6Withdraw155590712022-09-18 7:53:47139 days 4 hrs ago0xe86ddec515f3deb8d804949b808a15d21989c4f3 IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.000549612
0x7f72381010b86ce2da1029bddbfd7925a15510f2b504672d84fa45ac5bf6edb3Withdraw154841312022-09-06 12:39:22150 days 23 hrs ago0x7e3e29b2292e3f807e3af0d3f0ed07805ac378a5 IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.000218436.01541853
0xfa559dbd9620e4e3770ee4eb989d91ea76c4608613f9beeeb4955c66d500e8a4Withdraw153937192022-08-23 1:32:46165 days 10 hrs ago0x3c6c8da35649350b4736728cd349857e1f0ac058 IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.00544551 15.6550379
0x999d3e2ee0ba0a5a480064971c19715b03a3fb9b02fdd9bb919ae0b2476ed26aWithdraw152471622022-07-31 1:00:04188 days 11 hrs ago0xe60eec5f0accc44a3decb88258d571695435fd57 IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.00135329 5.64803032
0x9de9a30e0d35a980bfea2b9771336d25b914ca3697d58270900128b8449c6351Withdraw152465992022-07-30 22:53:02188 days 13 hrs ago0x54b61a77b5ebcf47cadcbd86b09dd6a5764c4481 IN  0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0 Ether0.00033
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x3b87ea5ccc50226cc0b6b14855a3ede465291da67ace274efb006a678b4666f0113931362020-12-05 14:21:46790 days 21 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0xa9234d0d457fd8b284d7475a2a7d1381d55e17e40.013366 Ether
0x43bce8d4c52cd74c0cdddf9e1dd9cd4867b2aa5566cec4610f0788b3772e1548113322392020-11-26 5:53:36800 days 6 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x3059278dfc3c47630a1fa3d1df75f27d077f64f60.015 Ether
0x4a327d144cbeea1378aafa0bc40ffac53bcc7e51e24aed08b196359985dfd725112669612020-11-16 5:13:44810 days 6 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0xf902f20a8a84f4b6d9c17dfe2446bf5cf337edd20.07 Ether
0xfe3479743d43e59df999066ac7433cdf1883a21e9ebd14afcea9239d3f7c9fad112660212020-11-16 1:39:36810 days 10 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a 0x7825976643dc7ede4e553d7b8730a2db2d62bc640.001 Ether
0x7b11831fedb423fb7d77fdf77332fe6542f13b7f1f2ddf53220349ac8666d096110624872020-10-15 20:07:33841 days 16 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x8d5eafa6b3250285fec3f7d107e43577d7b571290.0048 Ether
0x0241e6b44c7fc7d6427d096398cb85148b6a226d4e12f2da92a32625fd43dc64110370362020-10-11 22:38:45845 days 13 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0xac8a3a3b1284c7774cbb78c2ebdacaf9917f0d220.028 Ether
0x3d7716387572c2f7c5be1653c426e8d938c19dbb8208c5833577d18d92cf7a66110363962020-10-11 20:21:30845 days 15 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0xc9a6aacaf2feb202e982f9875f31ce4947c595710.069 Ether
0xc8b04a927dee18a08ed3556be4256aa4c56fa591aefb365450bc12a9fbbd81d3110360902020-10-11 19:16:34845 days 16 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a 0x7825976643dc7ede4e553d7b8730a2db2d62bc640.001 Ether
0xffeb6f109d8d38144154cbc665e92fc81ffe63fbe4c8e36525a50f34560cd06f109825092020-10-03 10:38:35854 days 1 hr ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0xab3d273ce68f5f471507d86a539833059327d97a0.059 Ether
0x188a613e2b243ccd07ec15d41eaceceaa1ac4ebb08e6953885b2e24ae1fd1d0b109824002020-10-03 10:16:28854 days 1 hr ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0xa33f6766522a63df0e5f86bd9394c9c351dcddbe0.14 Ether
0x987ccf4b98888a12880a775f4538925bffb65015156c7f24d410299c0af14447109823822020-10-03 10:12:00854 days 1 hr ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a 0x7825976643dc7ede4e553d7b8730a2db2d62bc640.002 Ether
0x06e53358726906c4063fe2e23a77d0aef397eb2fd4f1ef6d542bad84deac9470109804642020-10-03 3:04:19854 days 9 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x787c29a8215513be179f1db15a5466c4e4cdd8a20.013 Ether
0xdbcbc81db4697d011d8a32485f81d4c1c84052343abb07b9b550e4b2f3e10c13109773952020-10-02 15:25:07854 days 20 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x50e7730a77b6bd4890b87836cf74c71b00e6982e0.036 Ether
0xe0bb10c0139aefbe90db7c36c0c62deb9db88d9aeb2f995afd8001a2feb8c4f2109773332020-10-02 15:10:33854 days 21 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x6073f7b32a0daceaf8b18a7935905c13f93397cc0.048 Ether
0x26a595c7f92b8b32e997c83c507444560bbfae6ca6bd5c445eda8508da3ca65b109773022020-10-02 15:03:01854 days 21 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a 0x7825976643dc7ede4e553d7b8730a2db2d62bc640.001 Ether
0x4f967aab2e36352ca5b9814e47a381b8e1d4afe4c041c96110075807f7517e7d109469672020-09-27 21:12:45859 days 14 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x89e974ecf2b3f9f626714ece64909161c9248d040.035 Ether
0x15c324a883ce1369012e7e0d8bf0f15c40b8be762b6c72d168735f68e34cc2b2109468172020-09-27 20:37:41859 days 15 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0xdf6858867d2ced9dbbac06f4e2371985b7215bb00.03 Ether
0x8cf4459342a50be56c8e5cfae1cafecb010bb2cc68395714252e5a52c5d08d7b109466592020-09-27 20:02:50859 days 16 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0xcdb0eec87ef6e1092adf9782d367e8e70cfa294f0.133 Ether
0x773463274d98015beae9df8e803b9e5802bb984d4322b9b01b2942033ba987eb109466282020-09-27 19:56:29859 days 16 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a 0x7825976643dc7ede4e553d7b8730a2db2d62bc640.002 Ether
0x21fb9f8e2ce460cfa205d55f4482b5d9cb1463ced9d60ba947fc36fea0cb628f109102172020-09-22 4:45:46865 days 7 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x47f063deddf649bf1e857827b440df862302978b0.001 Ether
0x9041f764fe986b3a845ffd58a0f09405b74a4d3913abfb1dbfef519d8f860f5e109041402020-09-21 6:35:45866 days 5 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x8e7dafaaf6a9171bccd660fcc01910b11019730b0.02 Ether
0x3b6191de0e3db089c7595c4336a888a709d892288b7dc4a29da36b51bde547f2109040042020-09-21 6:04:09866 days 6 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x774f1610490c76ca438dd96b2d7d5d17a6e32fd81.7844 Ether
0x7189c392c561613a71c2b17af6254b1c14af7fdfffbd0b743e296b66c877fc61109040042020-09-21 6:04:09866 days 6 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x0d4ec236a5ea57f12a9219dcccbb9ac5aa3cc4e90.0341 Ether
0x64a86a561863f8c8aa3a3a2442ca3a868f6de4835f95d34c665d97bc87f4cbf2109040032020-09-21 6:03:59866 days 6 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x1461cd850c81a8247cf29da3ddf0bbb2a63150030.028 Ether
0x43fe29d58de84562c593413791cf60ce0bd54705e9a2a838a5ef9e0d188378a9109040032020-09-21 6:03:59866 days 6 hrs ago 0xfa85069e3d1ca1b09945cf11d2365386b1e4430a0x811cc38b3ddf9f00ddae61454824b4911941284c0.0186 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Sync

Compiler Version
v0.6.8+commit.0bbfe453

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-07-09
*/

/*! ether.chain3.sol | (c) 2020 Develop by BelovITLab LLC (smartcontract.ru), author @stupidlovejoy | SPDX-License-Identifier: MIT License */

pragma solidity 0.6.8;


/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}


/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


/**
 * @dev Contract module which allows children to implement an emergency stop
 * mechanism that can be triggered by an authorized account.
 *
 * This module is used through inheritance. It will make available the
 * modifiers `whenNotPaused` and `whenPaused`, which can be applied to
 * the functions of your contract. Note that they will not be pausable by
 * simply including this module, only once the modifiers are put in place.
 */
contract Pausable is Context {
    /**
     * @dev Emitted when the pause is triggered by `account`.
     */
    event Paused(address account);

    /**
     * @dev Emitted when the pause is lifted by `account`.
     */
    event Unpaused(address account);

    bool private _paused;

    /**
     * @dev Initializes the contract in unpaused state.
     */
    constructor () internal {
        _paused = false;
    }

    /**
     * @dev Returns true if the contract is paused, and false otherwise.
     */
    function paused() public view returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    modifier whenNotPaused() {
        require(!_paused, "Pausable: paused");
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    modifier whenPaused() {
        require(_paused, "Pausable: not paused");
        _;
    }

    /**
     * @dev Triggers stopped state.
     *
     * Requirements:
     *
     * - The contract must not be paused.
     */
    function _pause() internal virtual whenNotPaused {
        _paused = true;
        emit Paused(_msgSender());
    }

    /**
     * @dev Returns to normal state.
     *
     * Requirements:
     *
     * - The contract must be paused.
     */
    function _unpause() internal virtual whenPaused {
        _paused = false;
        emit Unpaused(_msgSender());
    }
}


contract Destructible {
    address payable public grand_owner;

    event GrandOwnershipTransferred(address indexed previous_owner, address indexed new_owner);

    constructor() public {
        grand_owner = msg.sender;
    }

    function transferGrandOwnership(address payable _to) external {
        require(msg.sender == grand_owner, "Access denied (only grand owner)");
        
        grand_owner = _to;
    }

    function destruct() external {
        require(msg.sender == grand_owner, "Access denied (only grand owner)");

        selfdestruct(grand_owner);
    }
}

contract EtherChain is Ownable, Destructible, Pausable {
    struct User {
        uint256 cycle;
        address upline;
        uint256 referrals;
        uint256 payouts;
        uint256 direct_bonus;
        uint256 pool_bonus;
        uint256 match_bonus;
        uint256 deposit_amount;
        uint256 deposit_payouts;
        uint40 deposit_time;
        uint256 total_deposits;
        uint256 total_payouts;
        uint256 total_structure;
    }

    mapping(address => User) public users;

    uint256[] public cycles;                        // ether
    uint8[] public ref_bonuses;                     // 1 => 1%

    uint8[] public pool_bonuses;                    // 1 => 1%
    uint40 public pool_last_draw = uint40(block.timestamp);
    uint256 public pool_cycle;
    uint256 public pool_balance;
    mapping(uint256 => mapping(address => uint256)) public pool_users_refs_deposits_sum;
    mapping(uint8 => address) public pool_top;

    uint256 public total_withdraw;
    
    event Upline(address indexed addr, address indexed upline);
    event NewDeposit(address indexed addr, uint256 amount);
    event DirectPayout(address indexed addr, address indexed from, uint256 amount);
    event MatchPayout(address indexed addr, address indexed from, uint256 amount);
    event PoolPayout(address indexed addr, uint256 amount);
    event Withdraw(address indexed addr, uint256 amount);
    event LimitReached(address indexed addr, uint256 amount);

    constructor() public {
        ref_bonuses.push(30);
        ref_bonuses.push(10);
        ref_bonuses.push(10);
        ref_bonuses.push(10);
        ref_bonuses.push(10);
        ref_bonuses.push(8);
        ref_bonuses.push(8);
        ref_bonuses.push(8);
        ref_bonuses.push(8);
        ref_bonuses.push(8);
        ref_bonuses.push(5);
        ref_bonuses.push(5);
        ref_bonuses.push(5);
        ref_bonuses.push(5);
        ref_bonuses.push(5);

        pool_bonuses.push(40);
        pool_bonuses.push(30);
        pool_bonuses.push(20);
        pool_bonuses.push(10);

        cycles.push(10 ether);
        cycles.push(30 ether);
        cycles.push(90 ether);
        cycles.push(200 ether);
    }

    receive() payable external whenNotPaused {
        _deposit(msg.sender, msg.value);
    }

    function _setUpline(address _addr, address _upline) private {
        if(users[_addr].upline == address(0) && _upline != _addr && (users[_upline].deposit_time > 0 || _upline == owner())) {
            users[_addr].upline = _upline;
            users[_upline].referrals++;

            emit Upline(_addr, _upline);

            for(uint8 i = 0; i < ref_bonuses.length; i++) {
                if(_upline == address(0)) break;

                users[_upline].total_structure++;

                _upline = users[_upline].upline;
            }
        }
    }

    function _deposit(address _addr, uint256 _amount) private {
        require(users[_addr].upline != address(0) || _addr == owner(), "No upline");

        if(users[_addr].deposit_time > 0) {
            users[_addr].cycle++;
            
            require(users[_addr].payouts >= this.maxPayoutOf(users[_addr].deposit_amount), "Deposit already exists");
            require(_amount >= users[_addr].deposit_amount && _amount <= cycles[users[_addr].cycle > cycles.length - 1 ? cycles.length - 1 : users[_addr].cycle], "Bad amount");
        }
        else require(_amount >= 0.1 ether && _amount <= cycles[0], "Bad amount");
        
        users[_addr].payouts = 0;
        users[_addr].deposit_amount = _amount;
        users[_addr].deposit_payouts = 0;
        users[_addr].deposit_time = uint40(block.timestamp);
        users[_addr].total_deposits += _amount;
        
        emit NewDeposit(_addr, _amount);

        if(users[_addr].upline != address(0)) {
            users[users[_addr].upline].direct_bonus += _amount / 10;

            emit DirectPayout(users[_addr].upline, _addr, _amount / 10);
        }

        _pollDeposits(_addr, _amount);

        if(pool_last_draw + 1 days < block.timestamp) {
            _drawPool();
        }

        payable(owner()).transfer(_amount / 100);
    }

    function _pollDeposits(address _addr, uint256 _amount) private {
        pool_balance += _amount / 20;

        address upline = users[_addr].upline;

        if(upline == address(0)) return;
        
        pool_users_refs_deposits_sum[pool_cycle][upline] += _amount;

        for(uint8 i = 0; i < pool_bonuses.length; i++) {
            if(pool_top[i] == upline) break;

            if(pool_top[i] == address(0)) {
                pool_top[i] = upline;
                break;
            }

            if(pool_users_refs_deposits_sum[pool_cycle][upline] > pool_users_refs_deposits_sum[pool_cycle][pool_top[i]]) {
                for(uint8 j = i + 1; j < pool_bonuses.length; j++) {
                    if(pool_top[j] == upline) {
                        for(uint8 k = j; k <= pool_bonuses.length; k++) {
                            pool_top[k] = pool_top[k + 1];
                        }
                        break;
                    }
                }

                for(uint8 j = uint8(pool_bonuses.length - 1); j > i; j--) {
                    pool_top[j] = pool_top[j - 1];
                }

                pool_top[i] = upline;

                break;
            }
        }
    }

    function _refPayout(address _addr, uint256 _amount) private {
        address up = users[_addr].upline;

        for(uint8 i = 0; i < ref_bonuses.length; i++) {
            if(up == address(0)) break;
            
            if(users[up].referrals >= i + 1) {
                uint256 bonus = _amount * ref_bonuses[i] / 100;
                
                users[up].match_bonus += bonus;

                emit MatchPayout(up, _addr, bonus);
            }

            up = users[up].upline;
        }
    }

    function _drawPool() private {
        pool_last_draw = uint40(block.timestamp);
        pool_cycle++;

        uint256 draw_amount = pool_balance / 10;

        for(uint8 i = 0; i < pool_bonuses.length; i++) {
            if(pool_top[i] == address(0)) break;

            uint256 win = draw_amount * pool_bonuses[i] / 100;

            users[pool_top[i]].pool_bonus += win;
            pool_balance -= win;

            emit PoolPayout(pool_top[i], win);
        }
        
        for(uint8 i = 0; i < pool_bonuses.length; i++) {
            pool_top[i] = address(0);
        }
    }

    function deposit(address _upline) payable external whenNotPaused {
        _setUpline(msg.sender, _upline);
        _deposit(msg.sender, msg.value);
    }

    function withdraw() external whenNotPaused {
        (uint256 to_payout, uint256 max_payout) = this.payoutOf(msg.sender);
        
        require(users[msg.sender].payouts < max_payout, "Full payouts");

        // Deposit payout
        if(to_payout > 0) {
            if(users[msg.sender].payouts + to_payout > max_payout) {
                to_payout = max_payout - users[msg.sender].payouts;
            }

            users[msg.sender].deposit_payouts += to_payout;
            users[msg.sender].payouts += to_payout;

            _refPayout(msg.sender, to_payout);
        }
        
        // Direct payout
        if(users[msg.sender].payouts < max_payout && users[msg.sender].direct_bonus > 0) {
            uint256 direct_bonus = users[msg.sender].direct_bonus;

            if(users[msg.sender].payouts + direct_bonus > max_payout) {
                direct_bonus = max_payout - users[msg.sender].payouts;
            }

            users[msg.sender].direct_bonus -= direct_bonus;
            users[msg.sender].payouts += direct_bonus;
            to_payout += direct_bonus;
        }
        
        // Pool payout
        if(users[msg.sender].payouts < max_payout && users[msg.sender].pool_bonus > 0) {
            uint256 pool_bonus = users[msg.sender].pool_bonus;

            if(users[msg.sender].payouts + pool_bonus > max_payout) {
                pool_bonus = max_payout - users[msg.sender].payouts;
            }

            users[msg.sender].pool_bonus -= pool_bonus;
            users[msg.sender].payouts += pool_bonus;
            to_payout += pool_bonus;
        }

        // Match payout
        if(users[msg.sender].payouts < max_payout && users[msg.sender].match_bonus > 0) {
            uint256 match_bonus = users[msg.sender].match_bonus;

            if(users[msg.sender].payouts + match_bonus > max_payout) {
                match_bonus = max_payout - users[msg.sender].payouts;
            }

            users[msg.sender].match_bonus -= match_bonus;
            users[msg.sender].payouts += match_bonus;
            to_payout += match_bonus;
        }

        require(to_payout > 0, "Zero payout");
        
        users[msg.sender].total_payouts += to_payout;
        total_withdraw += to_payout;

        payable(msg.sender).transfer(to_payout);

        emit Withdraw(msg.sender, to_payout);

        if(users[msg.sender].payouts >= max_payout) {
            emit LimitReached(msg.sender, users[msg.sender].payouts);
        }
    }
    
    function drawPool() external onlyOwner {
        _drawPool();
    }
    
    function pause() external onlyOwner {
        _pause();
    }
    
    function unpause() external onlyOwner {
        _unpause();
    }

    function maxPayoutOf(uint256 _amount) pure external returns(uint256) {
        return _amount * 31 / 10;
    }

    function payoutOf(address _addr) view external returns(uint256 payout, uint256 max_payout) {
        max_payout = this.maxPayoutOf(users[_addr].deposit_amount);

        if(users[_addr].deposit_payouts < max_payout) {
            payout = (users[_addr].deposit_amount * ((block.timestamp - users[_addr].deposit_time) / 1 days) / 100) - users[_addr].deposit_payouts;
            
            if(users[_addr].deposit_payouts + payout > max_payout) {
                payout = max_payout - users[_addr].deposit_payouts;
            }
        }
    }

    /*
        Only external call
    */
    function userInfo(address _addr) view external returns(address upline, uint40 deposit_time, uint256 deposit_amount, uint256 payouts, uint256 direct_bonus, uint256 pool_bonus, uint256 match_bonus) {
        return (users[_addr].upline, users[_addr].deposit_time, users[_addr].deposit_amount, users[_addr].payouts, users[_addr].direct_bonus, users[_addr].pool_bonus, users[_addr].match_bonus);
    }

    function userInfoTotals(address _addr) view external returns(uint256 referrals, uint256 total_deposits, uint256 total_payouts, uint256 total_structure) {
        return (users[_addr].referrals, users[_addr].total_deposits, users[_addr].total_payouts, users[_addr].total_structure);
    }

    function contractInfo() view external returns(uint256 _total_withdraw, uint40 _pool_last_draw, uint256 _pool_balance, uint256 _pool_lider) {
        return (total_withdraw, pool_last_draw, pool_balance, pool_users_refs_deposits_sum[pool_cycle][pool_top[0]]);
    }

    function poolTopInfo() view external returns(address[4] memory addrs, uint256[4] memory deps) {
        for(uint8 i = 0; i < pool_bonuses.length; i++) {
            if(pool_top[i] == address(0)) break;

            addrs[i] = pool_top[i];
            deps[i] = pool_users_refs_deposits_sum[pool_cycle][pool_top[i]];
        }
    }
}

contract Sync is EtherChain {
    bool public sync_close = false;

    function sync(address[] calldata _users, address[] calldata _uplines, uint256[] calldata _data) external onlyOwner {
        require(!sync_close, "Sync already close");

        for(uint256 i = 0; i < _users.length; i++) {
            address addr = _users[i];
            uint256 q = i * 12;

            //require(users[_uplines[i]].total_deposits > 0, "No upline");

            if(users[addr].total_deposits == 0) {
                emit Upline(addr, _uplines[i]);
            }

            users[addr].cycle = _data[q];
            users[addr].upline = _uplines[i];
            users[addr].referrals = _data[q + 1];
            users[addr].payouts = _data[q + 2];
            users[addr].direct_bonus = _data[q + 3];
            users[addr].pool_bonus = _data[q + 4];
            users[addr].match_bonus = _data[q + 5];
            users[addr].deposit_amount = _data[q + 6];
            users[addr].deposit_payouts = _data[q + 7];
            users[addr].deposit_time = uint40(_data[q + 8]);
            users[addr].total_deposits = _data[q + 9];
            users[addr].total_payouts = _data[q + 10];
            users[addr].total_structure = _data[q + 11];
        }
    }

    function syncGlobal(uint40 _pool_last_draw, uint256 _pool_cycle, uint256 _pool_balance, uint256 _total_withdraw, address[] calldata _pool_top) external onlyOwner {
        require(!sync_close, "Sync already close");

        pool_last_draw = _pool_last_draw;
        pool_cycle = _pool_cycle;
        pool_balance = _pool_balance;
        total_withdraw = _total_withdraw;

        for(uint8 i = 0; i < pool_bonuses.length; i++) {
            pool_top[i] = _pool_top[i];
        }
    }

    function syncUp() external payable {}

    function syncClose() external onlyOwner {
        require(!sync_close, "Sync already close");

        sync_close = true;
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DirectPayout","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previous_owner","type":"address"},{"indexed":true,"internalType":"address","name":"new_owner","type":"address"}],"name":"GrandOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LimitReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MatchPayout","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NewDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PoolPayout","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":true,"internalType":"address","name":"upline","type":"address"}],"name":"Upline","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"contractInfo","outputs":[{"internalType":"uint256","name":"_total_withdraw","type":"uint256"},{"internalType":"uint40","name":"_pool_last_draw","type":"uint40"},{"internalType":"uint256","name":"_pool_balance","type":"uint256"},{"internalType":"uint256","name":"_pool_lider","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"cycles","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_upline","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"destruct","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"drawPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"grand_owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"maxPayoutOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"payoutOf","outputs":[{"internalType":"uint256","name":"payout","type":"uint256"},{"internalType":"uint256","name":"max_payout","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolTopInfo","outputs":[{"internalType":"address[4]","name":"addrs","type":"address[4]"},{"internalType":"uint256[4]","name":"deps","type":"uint256[4]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pool_balance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool_bonuses","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pool_cycle","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pool_last_draw","outputs":[{"internalType":"uint40","name":"","type":"uint40"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"pool_top","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"pool_users_refs_deposits_sum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"ref_bonuses","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_users","type":"address[]"},{"internalType":"address[]","name":"_uplines","type":"address[]"},{"internalType":"uint256[]","name":"_data","type":"uint256[]"}],"name":"sync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"syncClose","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint40","name":"_pool_last_draw","type":"uint40"},{"internalType":"uint256","name":"_pool_cycle","type":"uint256"},{"internalType":"uint256","name":"_pool_balance","type":"uint256"},{"internalType":"uint256","name":"_total_withdraw","type":"uint256"},{"internalType":"address[]","name":"_pool_top","type":"address[]"}],"name":"syncGlobal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"syncUp","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"sync_close","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"total_withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"}],"name":"transferGrandOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"userInfo","outputs":[{"internalType":"address","name":"upline","type":"address"},{"internalType":"uint40","name":"deposit_time","type":"uint40"},{"internalType":"uint256","name":"deposit_amount","type":"uint256"},{"internalType":"uint256","name":"payouts","type":"uint256"},{"internalType":"uint256","name":"direct_bonus","type":"uint256"},{"internalType":"uint256","name":"pool_bonus","type":"uint256"},{"internalType":"uint256","name":"match_bonus","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"userInfoTotals","outputs":[{"internalType":"uint256","name":"referrals","type":"uint256"},{"internalType":"uint256","name":"total_deposits","type":"uint256"},{"internalType":"uint256","name":"total_payouts","type":"uint256"},{"internalType":"uint256","name":"total_structure","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"cycle","type":"uint256"},{"internalType":"address","name":"upline","type":"address"},{"internalType":"uint256","name":"referrals","type":"uint256"},{"internalType":"uint256","name":"payouts","type":"uint256"},{"internalType":"uint256","name":"direct_bonus","type":"uint256"},{"internalType":"uint256","name":"pool_bonus","type":"uint256"},{"internalType":"uint256","name":"match_bonus","type":"uint256"},{"internalType":"uint256","name":"deposit_amount","type":"uint256"},{"internalType":"uint256","name":"deposit_payouts","type":"uint256"},{"internalType":"uint40","name":"deposit_time","type":"uint40"},{"internalType":"uint256","name":"total_deposits","type":"uint256"},{"internalType":"uint256","name":"total_payouts","type":"uint256"},{"internalType":"uint256","name":"total_structure","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805464ffffffffff19164264ffffffffff16179055600c805460ff1916905534801561003157600080fd5b5060006100456001600160e01b0361041316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060018054336001600160a01b03199091161760ff60a01b191681556004805480830182557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b60208083048201805460ff601f95861661010090810a82810219909316601e938402179093558654808901885584810486018054918816850a80840219909216600a9283021790558754808a01895585810487018054918916860a808502199092169183029190911790558754808a01895585810487018054918916860a808502199092169183029190911790558754808a01895585810487018054918916860a808502199092169183029190911790558754808a01895585810487018054918916860a8085021990921660089283021790558854808b018a5586810488018054918a16870a808602199092169183029190911790558854808b018a5586810488018054918a16870a808602199092169183029190911790558854808b018a5586810488018054918a16870a808602199092169183029190911790558854808b018a5586810488018054918a16870a80860219909216919092021790558754808a01895585810487018054918916860a8085021990921660059283021790558854808b018a5586810488018054918a16870a808602199092169183029190911790558854808b018a5586810488018054918a16870a808602199092169183029190911790558854808b018a5586810488018054918a16870a808602199092169183029190911790558854808b019099558589049096018054988816850a8084021990991698870298909817909755845480890186557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db085820481018054928916860a808502199093166028909302929092179091558554808a01875585810482018054918916860a8085021990921691909402179092558454808901865584810483018054918816850a808402199092166014909202919091179055845480890190955592840401805493909416900a9081021990911692029190911790556003805480830182556000829052678ac7230489e800007fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b91820155815480840183556801a055690d9db8000090820155815480840183556804e1003b28d9280000908201558154928301909155680ad78ebc5ac6200000910155610417565b3390565b6129eb806104266000396000f3fe6080604052600436106101f25760003560e01c806374b95b2d1161010d578063a87430ba116100a0578063b7d9f0d21161006f578063b7d9f0d21461091a578063c864130f14610944578063e7204ffb14610971578063f2fde38b14610986578063f340fa01146109b957610255565b8063a87430ba146107c8578063a9c3ac531461086f578063afbce3b9146108e8578063b2459f3b1461091257610255565b80638da5cb5b116100dc5780638da5cb5b1461075a578063970d106f1461076f5780639a8318f414610784578063a19834161461079957610255565b806374b95b2d146106ad5780637c78008f146107065780638456cb591461071b5780638959af3c1461073057610255565b8063375e5c6c116101855780636d5f6f11116101545780636d5f6f11146105d35780636da61d1e14610613578063715018a61461065f57806374a88b8b1461067457610255565b8063375e5c6c1461054d5780633ccfd60b146105805780633f4ba83a146105955780635c975abb146105aa57610255565b80631e34611b116101c15780631e34611b1461036e5780632b546601146104085780632b68b9c61461041d5780632ddb99c81461043257610255565b806315c43aaf1461025a578063192ef4921461029b5780631959a002146102c25780631a9753761461033d57610255565b3661025557600154600160a01b900460ff1615610249576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b61025333346109df565b005b600080fd5b34801561026657600080fd5b5061026f610e4a565b6040805194855264ffffffffff9093166020850152838301919091526060830152519081900360800190f35b3480156102a757600080fd5b506102b0610eaa565b60408051918252519081900360200190f35b3480156102ce57600080fd5b506102f5600480360360208110156102e557600080fd5b50356001600160a01b0316610eb0565b604080516001600160a01b03909816885264ffffffffff9096166020880152868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b34801561034957600080fd5b50610352610f07565b604080516001600160a01b039092168252519081900360200190f35b34801561037a57600080fd5b50610253600480360360a081101561039157600080fd5b64ffffffffff8235169160208101359160408201359160608101359181019060a081016080820135600160201b8111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460208302840111600160201b831117156103fd57600080fd5b509092509050610f16565b34801561041457600080fd5b50610253611049565b34801561042957600080fd5b506102536110fd565b34801561043e57600080fd5b506102536004803603606081101561045557600080fd5b810190602081018135600160201b81111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460208302840111600160201b831117156104a257600080fd5b919390929091602081019035600160201b8111156104bf57600080fd5b8201836020820111156104d157600080fd5b803590602001918460208302840111600160201b831117156104f257600080fd5b919390929091602081019035600160201b81111561050f57600080fd5b82018360208201111561052157600080fd5b803590602001918460208302840111600160201b8311171561054257600080fd5b50909250905061116a565b34801561055957600080fd5b506102536004803603602081101561057057600080fd5b50356001600160a01b0316611628565b34801561058c57600080fd5b506102536116a9565b3480156105a157600080fd5b50610253611b27565b3480156105b657600080fd5b506105bf611b89565b604080519115158252519081900360200190f35b3480156105df57600080fd5b506105fd600480360360208110156105f657600080fd5b5035611b99565b6040805160ff9092168252519081900360200190f35b34801561061f57600080fd5b506106466004803603602081101561063657600080fd5b50356001600160a01b0316611bca565b6040805192835260208301919091528051918290030190f35b34801561066b57600080fd5b50610253611cec565b34801561068057600080fd5b506102b06004803603604081101561069757600080fd5b50803590602001356001600160a01b0316611d8e565b3480156106b957600080fd5b506106e0600480360360208110156106d057600080fd5b50356001600160a01b0316611dab565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561071257600080fd5b506105bf611de1565b34801561072757600080fd5b50610253611dea565b34801561073c57600080fd5b506102b06004803603602081101561075357600080fd5b5035611e4a565b34801561076657600080fd5b50610352611e56565b34801561077b57600080fd5b506102b0611e65565b34801561079057600080fd5b506102b0611e6b565b3480156107a557600080fd5b506107ae611e71565b6040805164ffffffffff9092168252519081900360200190f35b3480156107d457600080fd5b506107fb600480360360208110156107eb57600080fd5b50356001600160a01b0316611e7e565b604080519d8e526001600160a01b03909c1660208e01528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e088015261010087015264ffffffffff1661012086015261014085015261016084015261018083015251908190036101a00190f35b34801561087b57600080fd5b50610884611ef6565b6040518083608080838360005b838110156108a9578181015183820152602001610891565b5050505090500182600460200280838360005b838110156108d45781810151838201526020016108bc565b505050509050019250505060405180910390f35b3480156108f457600080fd5b506102b06004803603602081101561090b57600080fd5b5035611fc5565b610253611b87565b34801561092657600080fd5b506105fd6004803603602081101561093d57600080fd5b5035611fe3565b34801561095057600080fd5b506103526004803603602081101561096757600080fd5b503560ff16611ff0565b34801561097d57600080fd5b5061025361200b565b34801561099257600080fd5b50610253600480360360208110156109a957600080fd5b50356001600160a01b031661206b565b610253600480360360208110156109cf57600080fd5b50356001600160a01b0316612163565b6001600160a01b0382811660009081526002602052604090206001015416151580610a225750610a0d611e56565b6001600160a01b0316826001600160a01b0316145b610a5f576040805162461bcd60e51b81526020600482015260096024820152684e6f2075706c696e6560b81b604482015290519081900360640190fd5b6001600160a01b03821660009081526002602052604090206009015464ffffffffff1615610c4c576001600160a01b038216600090815260026020908152604091829020805460010181556007015482516322566bcf60e21b8152600481019190915291513092638959af3c926024808301939192829003018186803b158015610ae857600080fd5b505afa158015610afc573d6000803e3d6000fd5b505050506040513d6020811015610b1257600080fd5b50516001600160a01b0383166000908152600260205260409020600301541015610b7c576040805162461bcd60e51b81526020600482015260166024820152754465706f73697420616c72656164792065786973747360501b604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260409020600701548110801590610c095750600380546001600160a01b03841660009081526002602052604090205460001990910110610be8576001600160a01b038316600090815260026020526040902054610bf0565b600354600019015b81548110610bfa57fe5b90600052602060002001548111155b610c47576040805162461bcd60e51b815260206004820152600a60248201526910985908185b5bdd5b9d60b21b604482015290519081900360640190fd5b610cba565b67016345785d8a00008110158015610c7c57506003600081548110610c6d57fe5b90600052602060002001548111155b610cba576040805162461bcd60e51b815260206004820152600a60248201526910985908185b5bdd5b9d60b21b604482015290519081900360640190fd5b6001600160a01b03821660008181526002602090815260408083206003810184905560078101869055600881019390935560098301805464ffffffffff19164264ffffffffff16179055600a909201805485019055815184815291517f2cb77763bc1e8490c1a904905c4d74b4269919aca114464f4bb4d911e60de3649281900390910190a26001600160a01b038281166000908152600260205260409020600101541615610dd5576001600160a01b0382811660008181526002602090815260408083206001018054861684528184206004018054600a8904908101909155938590525481519384529051939416927fba5b08f0cddc64825b52c35c09323af810c1d2e29c97aba01a4ed25cfdc482d19281900390910190a35b610ddf82826121cc565b600654426201518064ffffffffff928316019091161015610e0257610e0261242d565b610e0a611e56565b6001600160a01b03166108fc606483049081150290604051600060405180830381858888f19350505050158015610e45573d6000803e3d6000fd5b505050565b600b5460065460085460075460009081526009602090815260408083207f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3546001600160a01b0316845290915290205464ffffffffff9092169190919293565b60085481565b6001600160a01b039081166000908152600260205260409020600181015460098201546007830154600384015460048501546005860154600690960154949096169664ffffffffff90931695919490939192909190565b6001546001600160a01b031681565b610f1e61258c565b6000546001600160a01b03908116911614610f6e576040805162461bcd60e51b81526020600482018190526024820152600080516020612996833981519152604482015290519081900360640190fd5b600c5460ff1615610fbb576040805162461bcd60e51b815260206004820152601260248201527153796e6320616c726561647920636c6f736560701b604482015290519081900360640190fd5b6006805464ffffffffff191664ffffffffff881617905560078590556008849055600b83905560005b60055460ff821610156110405782828260ff1681811061100057fe5b60ff84166000908152600a6020908152604090912080546001600160a01b0319166001600160a01b03929093029490940135161790915550600101610fe4565b50505050505050565b61105161258c565b6000546001600160a01b039081169116146110a1576040805162461bcd60e51b81526020600482018190526024820152600080516020612996833981519152604482015290519081900360640190fd5b600c5460ff16156110ee576040805162461bcd60e51b815260206004820152601260248201527153796e6320616c726561647920636c6f736560701b604482015290519081900360640190fd5b600c805460ff19166001179055565b6001546001600160a01b0316331461115c576040805162461bcd60e51b815260206004820181905260248201527f4163636573732064656e69656420286f6e6c79206772616e64206f776e657229604482015290519081900360640190fd5b6001546001600160a01b0316ff5b61117261258c565b6000546001600160a01b039081169116146111c2576040805162461bcd60e51b81526020600482018190526024820152600080516020612996833981519152604482015290519081900360640190fd5b600c5460ff161561120f576040805162461bcd60e51b815260206004820152601260248201527153796e6320616c726561647920636c6f736560701b604482015290519081900360640190fd5b60005b8581101561104057600087878381811061122857fe5b602090810292909201356001600160a01b0316600081815260029093526040909220600a015491925050600c8302906112b75786868481811061126757fe5b905060200201356001600160a01b03166001600160a01b0316826001600160a01b03167f9f4d150e5193cfa9a87226111d3b60b624d97ccc056eeeac1569af1ea27bf64160405160405180910390a35b8484828181106112c357fe5b6001600160a01b038516600090815260026020908152604090912091029290920135909155508686848181106112f557fe5b6001600160a01b038581166000908152600260209081526040909120600190810180546001600160a01b031916929094029590950135919091161790555085908590830181811061134257fe5b9050602002013560026000846001600160a01b03166001600160a01b031681526020019081526020016000206002018190555084848260020181811061138457fe5b9050602002013560026000846001600160a01b03166001600160a01b03168152602001908152602001600020600301819055508484826003018181106113c657fe5b9050602002013560026000846001600160a01b03166001600160a01b031681526020019081526020016000206004018190555084848260040181811061140857fe5b9050602002013560026000846001600160a01b03166001600160a01b031681526020019081526020016000206005018190555084848260050181811061144a57fe5b9050602002013560026000846001600160a01b03166001600160a01b031681526020019081526020016000206006018190555084848260060181811061148c57fe5b9050602002013560026000846001600160a01b03166001600160a01b03168152602001908152602001600020600701819055508484826007018181106114ce57fe5b9050602002013560026000846001600160a01b03166001600160a01b031681526020019081526020016000206008018190555084848260080181811061151057fe5b9050602002013560026000846001600160a01b03166001600160a01b0316815260200190815260200160002060090160006101000a81548164ffffffffff021916908364ffffffffff16021790555084848260090181811061156e57fe5b9050602002013560026000846001600160a01b03166001600160a01b03168152602001908152602001600020600a0181905550848482600a018181106115b057fe5b9050602002013560026000846001600160a01b03166001600160a01b03168152602001908152602001600020600b0181905550848482600b018181106115f257fe5b6001600160a01b03909416600090815260026020908152604090912094029190910135600c909301929092555050600101611212565b6001546001600160a01b03163314611687576040805162461bcd60e51b815260206004820181905260248201527f4163636573732064656e69656420286f6e6c79206772616e64206f776e657229604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a01b900460ff16156116fb576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b604080516336d30e8f60e11b8152336004820152815160009283923092636da61d1e92602480840193919291829003018186803b15801561173b57600080fd5b505afa15801561174f573d6000803e3d6000fd5b505050506040513d604081101561176557600080fd5b508051602091820151336000908152600290935260409092206003015490935090915081116117ca576040805162461bcd60e51b815260206004820152600c60248201526b46756c6c207061796f75747360a01b604482015290519081900360640190fd5b8115611830573360009081526002602052604090206003015482018110156118045733600090815260026020526040902060030154810391505b336000818152600260205260409020600881018054850190556003018054840190556118309083612590565b336000908152600260205260409020600301548111801561186257503360009081526002602052604090206004015415155b156118ca57336000908152600260205260409020600481015460039091015481018210156118a157503360009081526002602052604090206003015481035b336000908152600260205260409020600481018054839003905560030180548201905591909101905b33600090815260026020526040902060030154811180156118fc57503360009081526002602052604090206005015415155b15611964573360009081526002602052604090206005810154600390910154810182101561193b57503360009081526002602052604090206003015481035b336000908152600260205260409020600581018054839003905560030180548201905591909101905b336000908152600260205260409020600301548111801561199657503360009081526002602052604090206006015415155b156119fe57336000908152600260205260409020600681015460039091015481018210156119d557503360009081526002602052604090206003015481035b336000908152600260205260409020600681018054839003905560030180548201905591909101905b60008211611a41576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc81c185e5bdd5d60aa1b604482015290519081900360640190fd5b33600081815260026020526040808220600b9081018054870190558054860190555184156108fc0291859190818181858888f19350505050158015611a8a573d6000803e3d6000fd5b5060408051838152905133917f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364919081900360200190a2336000908152600260205260409020600301548111611b23573360008181526002602090815260409182902060030154825190815291517f97ddeb77c85e6a1dd99a34fe2bb1a4f9b211d5ffced7a707de9dbeb24363d0e49281900390910190a25b5050565b611b2f61258c565b6000546001600160a01b03908116911614611b7f576040805162461bcd60e51b81526020600482018190526024820152600080516020612996833981519152604482015290519081900360640190fd5b611b876126c7565b565b600154600160a01b900460ff1690565b60058181548110611ba657fe5b9060005260206000209060209182820401919006915054906101000a900460ff1681565b6001600160a01b03811660009081526002602090815260408083206007015481516322566bcf60e21b81526004810191909152905183923092638959af3c9260248083019392829003018186803b158015611c2457600080fd5b505afa158015611c38573d6000803e3d6000fd5b505050506040513d6020811015611c4e57600080fd5b50516001600160a01b038416600090815260026020526040902060080154909150811115611ce7576001600160a01b03831660009081526002602052604090206008810154600982015460079092015460646201518064ffffffffff909416420393909304029190910481900392508201811015611ce7576001600160a01b038316600090815260026020526040902060080154810391505b915091565b611cf461258c565b6000546001600160a01b03908116911614611d44576040805162461bcd60e51b81526020600482018190526024820152600080516020612996833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600960209081526000928352604080842090915290825290205481565b6001600160a01b0316600090815260026020819052604090912090810154600a820154600b830154600c90930154919390929190565b600c5460ff1681565b611df261258c565b6000546001600160a01b03908116911614611e42576040805162461bcd60e51b81526020600482018190526024820152600080516020612996833981519152604482015290519081900360640190fd5b611b8761276f565b600a601f919091020490565b6000546001600160a01b031690565b60075481565b600b5481565b60065464ffffffffff1681565b600260208190526000918252604090912080546001820154928201546003830154600484015460058501546006860154600787015460088801546009890154600a8a0154600b8b0154600c909b0154999b6001600160a01b03169a989997989697959694959394929364ffffffffff9092169290918d565b611efe612951565b611f06612951565b60005b60055460ff82161015611fc05760ff81166000908152600a60205260409020546001600160a01b0316611f3b57611fc0565b60ff81166000818152600a60205260409020546001600160a01b031690849060048110611f6457fe5b6001600160a01b0392831660209182029290920191909152600754600090815260098252604080822060ff8616808452600a8552828420549095168352909252205490839060048110611fb357fe5b6020020152600101611f09565b509091565b60038181548110611fd257fe5b600091825260209091200154905081565b60048181548110611ba657fe5b600a602052600090815260409020546001600160a01b031681565b61201361258c565b6000546001600160a01b03908116911614612063576040805162461bcd60e51b81526020600482018190526024820152600080516020612996833981519152604482015290519081900360640190fd5b611b8761242d565b61207361258c565b6000546001600160a01b039081169116146120c3576040805162461bcd60e51b81526020600482018190526024820152600080516020612996833981519152604482015290519081900360640190fd5b6001600160a01b0381166121085760405162461bcd60e51b81526004018080602001828103825260268152602001806129706026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a01b900460ff16156121b5576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6121bf33826127fd565b6121c933346109df565b50565b60088054601483040190556001600160a01b0382811660009081526002602052604090206001015416806122005750611b23565b60075460009081526009602090815260408083206001600160a01b038516845290915281208054840190555b60055460ff821610156124275760ff81166000908152600a60205260409020546001600160a01b038381169116141561226457612427565b60ff81166000908152600a60205260409020546001600160a01b03166122b45760ff81166000908152600a6020526040902080546001600160a01b0319166001600160a01b038416179055612427565b600754600090815260096020908152604080832060ff85168452600a8352818420546001600160a01b039081168552925280832054918516835290912054111561241f57600181015b60055460ff821610156123915760ff81166000908152600a60205260409020546001600160a01b038481169116141561238957805b60055460ff8216116123835760ff600182018181166000908152600a6020526040808220549390941681529290922080546001600160a01b0319166001600160a01b03909216919091179055612332565b50612391565b6001016122fd565b50600554600019015b8160ff168160ff1611156123ee5760ff60001982018181166000908152600a6020526040808220549390941681529290922080546001600160a01b0319166001600160a01b0390921691909117905561239a565b5060ff81166000908152600a6020526040902080546001600160a01b0319166001600160a01b038416179055612427565b60010161222c565b50505050565b6006805464ffffffffff19164264ffffffffff16179055600780546001019055600854600a900460005b60055460ff821610156125535760ff81166000908152600a60205260409020546001600160a01b031661248957612553565b6000606460058360ff168154811061249d57fe5b60009182526020918290209181049091015460ff601f9092166101000a9004168402816124c657fe5b60ff84166000818152600a6020818152604080842080546001600160a01b0390811686526002845282862060050180549990980498890190975560088054899003905594909352908152915481518581529151949550909216927fdbdfa5cb8586917247fbe7178cf53555d199e091a14b06f7de5a182ece2d453a9281900390910190a250600101612457565b5060005b60055460ff82161015611b235760ff81166000908152600a6020526040902080546001600160a01b0319169055600101612557565b3390565b6001600160a01b03808316600090815260026020526040812060010154909116905b60045460ff82161015612427576001600160a01b0382166125d257612427565b6001600160a01b0382166000908152600260208190526040909120015460ff60018301161161269e576000606460048360ff168154811061260f57fe5b60009182526020918290209181049091015460ff601f9092166101000a90041685028161263857fe5b6001600160a01b03808616600081815260026020908152604091829020600601805496909504958601909455805185815290519495509189169390927f16e746f9be6c4b545700b04df27afb9fceabf59b94ef1c816e78a435059fabea928290030190a3505b6001600160a01b03918216600090815260026020526040902060019081015490921691016125b2565b600154600160a01b900460ff1661271c576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6001805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61275261258c565b604080516001600160a01b039092168252519081900360200190a1565b600154600160a01b900460ff16156127c1576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861275261258c565b6001600160a01b038281166000908152600260205260409020600101541615801561283a5750816001600160a01b0316816001600160a01b031614155b801561288957506001600160a01b03811660009081526002602052604090206009015464ffffffffff161515806128895750612874611e56565b6001600160a01b0316816001600160a01b0316145b15611b23576001600160a01b038281166000818152600260208190526040808320600190810180546001600160a01b03191696881696871790558584528184209092018054909201909155517f9f4d150e5193cfa9a87226111d3b60b624d97ccc056eeeac1569af1ea27bf6419190a360005b60045460ff82161015610e45576001600160a01b03821661291c57610e45565b6001600160a01b039182166000908152600260205260409020600c8101805460019081019091559081015490921691016128fc565b6040518060800160405280600490602082028036833750919291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212203acf27e8be49e88c16dc36ee5295556f6523ac6a7ad967e63ab168f663afa38664736f6c63430006080033

Deployed ByteCode Sourcemap

17713:1972:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4580:7;;-1:-1:-1;;;4580:7:0;;;;4579:8;4571:37;;;;;-1:-1:-1;;;4571:37:0;;;;;;;;;;;;-1:-1:-1;;;4571:37:0;;;;;;;;;;;;;;;8354:31:::1;8363:10;8375:9;8354:8;:31::i;:::-;17713:1972:::0;;12:1:-1;9;2:12;17094:266:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17094:266:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6853:27;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6853:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;16390:399;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16390:399:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16390:399:0;-1:-1:-1;;;;;16390:399:0;;:::i;:::-;;;;-1:-1:-1;;;;;16390:399:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5469:34;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5469:34:0;;;:::i;:::-;;;;-1:-1:-1;;;;;5469:34:0;;;;;;;;;;;;;;19001:497;;5:9:-1;2:2;;;27:1;24;17:12;2:2;19001:497:0;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;19001:497:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11:28;;8:2;;;52:1;49;42:12;8:2;19001:497:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;19001:497:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;19001:497:0;;-1:-1:-1;19001:497:0;-1:-1:-1;19001:497:0;:::i;19551:131::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;19551:131:0;;;:::i;5880:156::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5880:156:0;;;:::i;17787:1206::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17787:1206:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;17787:1206:0;;;;;;;;-1:-1:-1;;;11:28;;8:2;;;52:1;49;42:12;8:2;17787:1206:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;17787:1206:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;17787:1206:0;;;;;;;;;;;-1:-1:-1;;;11:28;;8:2;;;52:1;49;42:12;8:2;17787:1206:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;17787:1206:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;17787:1206:0;;;;;;;;;;;-1:-1:-1;;;11:28;;8:2;;;52:1;49;42:12;8:2;17787:1206:0;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;17787:1206:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;17787:1206:0;;-1:-1:-1;17787:1206:0;-1:-1:-1;17787:1206:0;:::i;5683:189::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5683:189:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5683:189:0;-1:-1:-1;;;;;5683:189:0;;:::i;12879:2541::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12879:2541:0;;;:::i;15588:67::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15588:67:0;;;:::i;4262:78::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4262:78:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;6696:27;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6696:27:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6696:27:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;15783:555;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15783:555:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;15783:555:0;-1:-1:-1;;;;;15783:555:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2722:148;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2722:148:0;;;:::i;6887:83::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6887:83:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6887:83:0;;;;;;-1:-1:-1;;;;;6887:83:0;;:::i;16797:289::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16797:289:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16797:289:0;-1:-1:-1;;;;;16797:289:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17748:30;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17748:30:0;;;:::i;15513:63::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15513:63:0;;;:::i;15663:112::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15663:112:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;15663:112:0;;:::i;2080:79::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2080:79:0;;;:::i;6821:25::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6821:25:0;;;:::i;7027:29::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7027:29:0;;;:::i;6760:54::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6760:54:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6522:37;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6522:37:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6522:37:0;-1:-1:-1;;;;;6522:37:0;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6522:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17368:338;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17368:338:0;;;:::i;:::-;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;17368:338:0;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;17368:338:0;;;;;;;;;;;;;;;;;6568:23;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6568:23:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6568:23:0;;:::i;19506:37::-;;;:::i;6630:26::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6630:26:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6630:26:0;;:::i;6977:41::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6977:41:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6977:41:0;;;;:::i;15432:69::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15432:69:0;;;:::i;3025:244::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3025:244:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3025:244:0;-1:-1:-1;;;;;3025:244:0;;:::i;12714:157::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;12714:157:0;-1:-1:-1;;;;;12714:157:0;;:::i;8978:1337::-;-1:-1:-1;;;;;9055:12:0;;;9086:1;9055:12;;;:5;:12;;;;;:19;;;;:33;;;:53;;;9101:7;:5;:7::i;:::-;-1:-1:-1;;;;;9092:16:0;:5;-1:-1:-1;;;;;9092:16:0;;9055:53;9047:75;;;;;-1:-1:-1;;;9047:75:0;;;;;;;;;;;;-1:-1:-1;;;9047:75:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9138:12:0;;9166:1;9138:12;;;:5;:12;;;;;:25;;;;;:29;9135:474;;-1:-1:-1;;;;;9184:12:0;;;;;;:5;:12;;;;;;;;;:20;;;;;;9282:27;;;9265:45;;-1:-1:-1;;;9265:45:0;;;;;;;;;;;:4;;:16;;:45;;;;;9184:12;;9265:45;;;;;:4;:45;;;2:2:-1;;;;27:1;24;17:12;2:2;9265:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9265:45:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9265:45:0;-1:-1:-1;;;;;9241:12:0;;;;;;:5;9265:45;9241:12;;;;:20;;;:69;;9233:104;;;;;-1:-1:-1;;;9233:104:0;;;;;;;;;;;;-1:-1:-1;;;9233:104:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9371:12:0;;;;;;:5;:12;;;;;:27;;;9360:38;;;;;:140;;-1:-1:-1;9413:6:0;9441:13;;-1:-1:-1;;;;;9420:12:0;;;;;;:5;:12;;;;;:18;-1:-1:-1;;9441:17:0;;;-1:-1:-1;9420:79:0;;-1:-1:-1;;;;;9481:12:0;;;;;;:5;:12;;;;;:18;9420:79;;;9461:6;:13;-1:-1:-1;;9461:17:0;9420:79;9413:87;;;;;;;;;;;;;;;;9402:7;:98;;9360:140;9352:163;;;;;-1:-1:-1;;;9352:163:0;;;;;;;;;;;;-1:-1:-1;;;9352:163:0;;;;;;;;;;;;;;;9135:474;;;9561:9;9550:7;:20;;:44;;;;;9585:6;9592:1;9585:9;;;;;;;;;;;;;;;;9574:7;:20;;9550:44;9542:67;;;;;-1:-1:-1;;;9542:67:0;;;;;;;;;;;;-1:-1:-1;;;9542:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;9630:12:0;;9653:1;9630:12;;;:5;:12;;;;;;;;:20;;;:24;;;9665:27;;;:37;;;9713:28;;;:32;;;;9756:25;;;:51;;-1:-1:-1;;9756:51:0;9791:15;9756:51;;;;;9818:27;;;;:38;;;;;;9882:26;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9924:12:0;;;9955:1;9924:12;;;:5;:12;;;;;:19;;;;:33;9921:196;;-1:-1:-1;;;;;9980:12:0;;;9974:26;9980:12;;;9974:5;9980:12;;;;;;;;:19;;;;;;9974:26;;;;;:39;;:55;;10027:2;10017:12;;9974:55;;;;;;10064:12;;;;:19;10051:54;;;;;;;9980:12;;10064:19;;10051:54;;;;;;;;;;9921:196;10129:29;10143:5;10150:7;10129:13;:29::i;:::-;10174:14;;10200:15;10191:6;10174:14;;;;:23;:41;;;;10171:84;;;10232:11;:9;:11::i;:::-;10275:7;:5;:7::i;:::-;-1:-1:-1;;;;;10267:25:0;:40;10303:3;10293:7;:13;10267:40;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10267:40:0;8978:1337;;:::o;17094:266::-;17252:14;;17268;;17284:12;;17327:10;;17140:23;17298:40;;;:28;:40;;;;;;;;17339:11;;-1:-1:-1;;;;;17339:11:0;17298:53;;;;;;;;17268:14;;;;;17094:266;;;;:::o;6853:27::-;;;;:::o;16390:399::-;-1:-1:-1;;;;;16605:12:0;;;16445:14;16605:12;;;:5;:12;;;;;:19;;;;16626:25;;;;16653:27;;;;16682:20;;;;16704:25;;;;16731:23;;;;16756:24;;;;;16605:19;;;;;16626:25;;;;;16653:27;;16682:20;;16704:25;;16731:23;;16756:24;16390:399::o;5469:34::-;;;-1:-1:-1;;;;;5469:34:0;;:::o;19001:497::-;2302:12;:10;:12::i;:::-;2292:6;;-1:-1:-1;;;;;2292:6:0;;;:22;;;2284:67;;;;;-1:-1:-1;;;2284:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2284:67:0;;;;;;;;;;;;;;;19183:10:::1;::::0;::::1;;19182:11;19174:42;;;::::0;;-1:-1:-1;;;19174:42:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;19174:42:0;;;;;;;;;;;;;::::1;;19229:14;:32:::0;;-1:-1:-1;;19229:32:0::1;;::::0;::::1;;::::0;;19272:10:::1;:24:::0;;;19307:12:::1;:28:::0;;;19346:14:::1;:32:::0;;;-1:-1:-1;19391:100:0::1;19412:12;:19:::0;19408:23:::1;::::0;::::1;;19391:100;;;19467:9;;19477:1;19467:12;;;;;;;;;19453:11;::::0;::::1;;::::0;;;:8:::1;19467:12;19453:11:::0;;;;;;;:26;;-1:-1:-1;;;;;;19453:26:0::1;-1:-1:-1::0;;;;;19467:12:0;;;::::1;::::0;;;::::1;;;19453:26;::::0;;;-1:-1:-1;19453:26:0;19433:3:::1;19391:100;;;;19001:497:::0;;;;;;:::o;19551:131::-;2302:12;:10;:12::i;:::-;2292:6;;-1:-1:-1;;;;;2292:6:0;;;:22;;;2284:67;;;;;-1:-1:-1;;;2284:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2284:67:0;;;;;;;;;;;;;;;19611:10:::1;::::0;::::1;;19610:11;19602:42;;;::::0;;-1:-1:-1;;;19602:42:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;19602:42:0;;;;;;;;;;;;;::::1;;19657:10;:17:::0;;-1:-1:-1;;19657:17:0::1;19670:4;19657:17;::::0;;19551:131::o;5880:156::-;5942:11;;-1:-1:-1;;;;;5942:11:0;5928:10;:25;5920:70;;;;;-1:-1:-1;;;5920:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6016:11;;-1:-1:-1;;;;;6016:11:0;6003:25;17787:1206;2302:12;:10;:12::i;:::-;2292:6;;-1:-1:-1;;;;;2292:6:0;;;:22;;;2284:67;;;;;-1:-1:-1;;;2284:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2284:67:0;;;;;;;;;;;;;;;17922:10:::1;::::0;::::1;;17921:11;17913:42;;;::::0;;-1:-1:-1;;;17913:42:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;17913:42:0;;;;;;;;;;;;;::::1;;17972:9;17968:1018;17987:17:::0;;::::1;17968:1018;;;18026:12;18041:6;;18048:1;18041:9;;;;;;;;::::0;;::::1;::::0;;;::::1;;-1:-1:-1::0;;;;;18041:9:0::1;18065;18181:11:::0;;;:5:::1;:11:::0;;;;;;;:26:::1;;::::0;18041:9;;-1:-1:-1;;18081:2:0::1;18077:6:::0;::::1;::::0;18178:101:::1;;18251:8;;18260:1;18251:11;;;;;;;;;;;;;-1:-1:-1::0;;;;;18251:11:0::1;-1:-1:-1::0;;;;;18238:25:0::1;18245:4;-1:-1:-1::0;;;;;18238:25:0::1;;;;;;;;;;;18178:101;18315:5;;18321:1;18315:8;;;;;;;-1:-1:-1::0;;;;;18295:11:0;::::1;;::::0;;;:5:::1;18315:8;18295:11:::0;;;;;;;18315:8;::::1;::::0;;;::::1;;18295:28:::0;;;-1:-1:-1;18359:8:0;;18368:1;18359:11;;::::1;;;;;-1:-1:-1::0;;;;;18338:11:0;;::::1;;::::0;;;:5:::1;18359:11;18338::::0;;;;;;;:18:::1;::::0;;::::1;:32:::0;;-1:-1:-1;;;;;;18338:32:0::1;18359:11:::0;;;::::1;::::0;;;::::1;;::::0;;;::::1;18338:32;::::0;;-1:-1:-1;18409:5:0;;;;18415;::::1;18409:12:::0;;::::1;;;;;;;;;;;18385:5;:11;18391:4;-1:-1:-1::0;;;;;18385:11:0::1;-1:-1:-1::0;;;;;18385:11:0::1;;;;;;;;;;;;:21;;:36;;;;18458:5;;18464:1;18468;18464:5;18458:12;;;;;;;;;;;;;18436:5;:11;18442:4;-1:-1:-1::0;;;;;18436:11:0::1;-1:-1:-1::0;;;;;18436:11:0::1;;;;;;;;;;;;:19;;:34;;;;18512:5;;18518:1;18522;18518:5;18512:12;;;;;;;;;;;;;18485:5;:11;18491:4;-1:-1:-1::0;;;;;18485:11:0::1;-1:-1:-1::0;;;;;18485:11:0::1;;;;;;;;;;;;:24;;:39;;;;18564:5;;18570:1;18574;18570:5;18564:12;;;;;;;;;;;;;18539:5;:11;18545:4;-1:-1:-1::0;;;;;18539:11:0::1;-1:-1:-1::0;;;;;18539:11:0::1;;;;;;;;;;;;:22;;:37;;;;18617:5;;18623:1;18627;18623:5;18617:12;;;;;;;;;;;;;18591:5;:11;18597:4;-1:-1:-1::0;;;;;18591:11:0::1;-1:-1:-1::0;;;;;18591:11:0::1;;;;;;;;;;;;:23;;:38;;;;18673:5;;18679:1;18683;18679:5;18673:12;;;;;;;;;;;;;18644:5;:11;18650:4;-1:-1:-1::0;;;;;18644:11:0::1;-1:-1:-1::0;;;;;18644:11:0::1;;;;;;;;;;;;:26;;:41;;;;18730:5;;18736:1;18740;18736:5;18730:12;;;;;;;;;;;;;18700:5;:11;18706:4;-1:-1:-1::0;;;;;18700:11:0::1;-1:-1:-1::0;;;;;18700:11:0::1;;;;;;;;;;;;:27;;:42;;;;18791:5;;18797:1;18801;18797:5;18791:12;;;;;;;;;;;;;18757:5;:11;18763:4;-1:-1:-1::0;;;;;18757:11:0::1;-1:-1:-1::0;;;;;18757:11:0::1;;;;;;;;;;;;:24;;;:47;;;;;;;;;;;;;;;;;;18848:5;;18854:1;18858;18854:5;18848:12;;;;;;;;;;;;;18819:5;:11;18825:4;-1:-1:-1::0;;;;;18819:11:0::1;-1:-1:-1::0;;;;;18819:11:0::1;;;;;;;;;;;;:26;;:41;;;;18903:5;;18909:1;18913:2;18909:6;18903:13;;;;;;;;;;;;;18875:5;:11;18881:4;-1:-1:-1::0;;;;;18875:11:0::1;-1:-1:-1::0;;;;;18875:11:0::1;;;;;;;;;;;;:25;;:41;;;;18961:5;;18967:1;18971:2;18967:6;18961:13;;;;;;;-1:-1:-1::0;;;;;18931:11:0;;::::1;;::::0;;;:5:::1;18961:13;18931:11:::0;;;;;;;18961:13;::::1;::::0;;;::::1;;18931:27;::::0;;::::1;:43:::0;;;;-1:-1:-1;;18006:3:0::1;;17968:1018;;5683:189:::0;5778:11;;-1:-1:-1;;;;;5778:11:0;5764:10;:25;5756:70;;;;;-1:-1:-1;;;5756:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5847:11;:17;;-1:-1:-1;;;;;;5847:17:0;-1:-1:-1;;;;;5847:17:0;;;;;;;;;;5683:189::o;12879:2541::-;4580:7;;-1:-1:-1;;;4580:7:0;;;;4579:8;4571:37;;;;;-1:-1:-1;;;4571:37:0;;;;;;;;;;;;-1:-1:-1;;;4571:37:0;;;;;;;;;;;;;;;12975:25:::1;::::0;;-1:-1:-1;;;12975:25:0;;12989:10:::1;12975:25;::::0;::::1;::::0;;;12934:17:::1;::::0;;;12975:4:::1;::::0;:13:::1;::::0;:25;;;;;;;;;;;;;:4;:25;::::1;;2:2:-1::0;::::1;;;27:1;24::::0;17:12:::1;2:2;12975:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;12975:25:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28::::0;21:12:::1;4:2;-1:-1:::0;12975:25:0;;::::1;::::0;;::::1;::::0;13035:10:::1;13029:17;::::0;;;:5:::1;:17:::0;;;12975:25;13029:17;;;:25:::1;;::::0;12975;;-1:-1:-1;12975:25:0;;-1:-1:-1;13029:38:0;-1:-1:-1;13021:63:0::1;;;::::0;;-1:-1:-1;;;13021:63:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;13021:63:0;;;;;;;;;;;;;::::1;;13127:13:::0;;13124:350:::1;;13166:10;13160:17;::::0;;;:5:::1;:17;::::0;;;;:25:::1;;::::0;:37;::::1;:50:::0;-1:-1:-1;13157:140:0::1;;;13262:10;13256:17;::::0;;;:5:::1;:17;::::0;;;;:25:::1;;::::0;13243:38;::::1;::::0;-1:-1:-1;13157:140:0::1;13319:10;13313:17;::::0;;;:5:::1;:17;::::0;;;;:33:::1;::::0;::::1;:46:::0;;;::::1;::::0;;13374:25:::1;;:38:::0;;;::::1;::::0;;13429:33:::1;::::0;13350:9;13429:10:::1;:33::i;:::-;13529:10;13523:17;::::0;;;:5:::1;:17;::::0;;;;:25:::1;;::::0;:38;-1:-1:-1;13523:76:0;::::1;;;-1:-1:-1::0;13571:10:0::1;13598:1;13565:17:::0;;;:5:::1;:17;::::0;;;;:30:::1;;::::0;:34;;13523:76:::1;13520:482;;;13645:10;13616:20;13639:17:::0;;;:5:::1;:17;::::0;;;;:30:::1;::::0;::::1;::::0;13689:25:::1;::::0;;::::1;::::0;:40;::::1;:53:::0;-1:-1:-1;13686:146:0::1;;;-1:-1:-1::0;13797:10:0::1;13791:17;::::0;;;:5:::1;:17;::::0;;;;:25:::1;;::::0;13778:38;::::1;13686:146;13854:10;13848:17;::::0;;;:5:::1;:17;::::0;;;;:30:::1;::::0;::::1;:46:::0;;;;::::1;::::0;;13909:25:::1;;:41:::0;;;::::1;::::0;;13965:25;;;::::1;::::0;13520:482:::1;14055:10;14049:17;::::0;;;:5:::1;:17;::::0;;;;:25:::1;;::::0;:38;-1:-1:-1;14049:74:0;::::1;;;-1:-1:-1::0;14097:10:0::1;14122:1;14091:17:::0;;;:5:::1;:17;::::0;;;;:28:::1;;::::0;:32;;14049:74:::1;14046:464;;;14167:10;14140:18;14161:17:::0;;;:5:::1;:17;::::0;;;;:28:::1;::::0;::::1;::::0;14209:25:::1;::::0;;::::1;::::0;:38;::::1;:51:::0;-1:-1:-1;14206:142:0::1;;;-1:-1:-1::0;14313:10:0::1;14307:17;::::0;;;:5:::1;:17;::::0;;;;:25:::1;;::::0;14294:38;::::1;14206:142;14370:10;14364:17;::::0;;;:5:::1;:17;::::0;;;;:28:::1;::::0;::::1;:42:::0;;;;::::1;::::0;;14421:25:::1;;:39:::0;;;::::1;::::0;;14475:23;;;::::1;::::0;14046:464:::1;14556:10;14550:17;::::0;;;:5:::1;:17;::::0;;;;:25:::1;;::::0;:38;-1:-1:-1;14550:75:0;::::1;;;-1:-1:-1::0;14598:10:0::1;14624:1;14592:17:::0;;;:5:::1;:17;::::0;;;;:29:::1;;::::0;:33;;14550:75:::1;14547:473;;;14670:10;14642:19;14664:17:::0;;;:5:::1;:17;::::0;;;;:29:::1;::::0;::::1;::::0;14713:25:::1;::::0;;::::1;::::0;:39;::::1;:52:::0;-1:-1:-1;14710:144:0::1;;;-1:-1:-1::0;14819:10:0::1;14813:17;::::0;;;:5:::1;:17;::::0;;;;:25:::1;;::::0;14800:38;::::1;14710:144;14876:10;14870:17;::::0;;;:5:::1;:17;::::0;;;;:29:::1;::::0;::::1;:44:::0;;;;::::1;::::0;;14929:25:::1;;:40:::0;;;::::1;::::0;;14984:24;;;::::1;::::0;14547:473:::1;15052:1;15040:9;:13;15032:37;;;::::0;;-1:-1:-1;;;15032:37:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15032:37:0;;;;;;;;;;;;;::::1;;15096:10;15090:17;::::0;;;:5:::1;:17;::::0;;;;;:31:::1;::::0;;::::1;:44:::0;;;::::1;::::0;;15145:27;;;::::1;::::0;;15185:39;;::::1;;;::::0;15125:9;;15185:39;;15090:17;15185:39;15125:9;15096:10;15185:39;::::1;;;;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;15242:31:0::1;::::0;;;;;;;15251:10:::1;::::0;15242:31:::1;::::0;;;;;::::1;::::0;;::::1;15295:10;15289:17;::::0;;;:5:::1;:17;::::0;;;;:25:::1;;::::0;:39;-1:-1:-1;15286:127:0::1;;15363:10;15375:17;::::0;;;:5:::1;:17;::::0;;;;;;;;:25:::1;;::::0;15350:51;;;;;;;::::1;::::0;;;;;;;;::::1;15286:127;4619:1;;12879:2541::o:0;15588:67::-;2302:12;:10;:12::i;:::-;2292:6;;-1:-1:-1;;;;;2292:6:0;;;:22;;;2284:67;;;;;-1:-1:-1;;;2284:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2284:67:0;;;;;;;;;;;;;;;15637:10:::1;:8;:10::i;:::-;15588:67::o:0;4262:78::-;4325:7;;-1:-1:-1;;;4325:7:0;;;;;4262:78::o;6696:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15783:555::-;-1:-1:-1;;;;;15915:12:0;;15838:14;15915:12;;;:5;:12;;;;;;;;:27;;;15898:45;;-1:-1:-1;;;15898:45:0;;;;;;;;;;;15838:14;;15898:4;;:16;;:45;;;;;15915:12;15898:45;;;;;:4;:45;;;2:2:-1;;;;27:1;24;17:12;2:2;15898:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15898:45:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;15898:45:0;-1:-1:-1;;;;;15959:12:0;;;;;;:5;15898:45;15959:12;;;;:28;;;15898:45;;-1:-1:-1;15959:41:0;-1:-1:-1;15956:375:0;;;-1:-1:-1;;;;;16123:12:0;;;;;;:5;:12;;;;;:28;;;;16077:25;;;;16027:27;;;;;16116:3;16106:6;16077:25;;;;16059:15;:43;16058:54;;;;16027:86;:92;;;;16026:125;;;;-1:-1:-1;16183:37:0;;:50;-1:-1:-1;16180:140:0;;;-1:-1:-1;;;;;16276:12:0;;;;;;:5;:12;;;;;:28;;;16263:41;;;-1:-1:-1;16180:140:0;15783:555;;;:::o;2722:148::-;2302:12;:10;:12::i;:::-;2292:6;;-1:-1:-1;;;;;2292:6:0;;;:22;;;2284:67;;;;;-1:-1:-1;;;2284:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2284:67:0;;;;;;;;;;;;;;;2829:1:::1;2813:6:::0;;2792:40:::1;::::0;-1:-1:-1;;;;;2813:6:0;;::::1;::::0;2792:40:::1;::::0;2829:1;;2792:40:::1;2860:1;2843:19:::0;;-1:-1:-1;;;;;;2843:19:0::1;::::0;;2722:148::o;6887:83::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;16797:289::-;-1:-1:-1;;;;;16968:12:0;16858:17;16968:12;;;:5;:12;;;;;;;;:22;;;;16992:27;;;;17021:26;;;;17049:28;;;;;16968:22;;16992:27;;17021:26;17049:28;16797:289::o;17748:30::-;;;;;;:::o;15513:63::-;2302:12;:10;:12::i;:::-;2292:6;;-1:-1:-1;;;;;2292:6:0;;;:22;;;2284:67;;;;;-1:-1:-1;;;2284:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2284:67:0;;;;;;;;;;;;;;;15560:8:::1;:6;:8::i;15663:112::-:0;15765:2;15760;15750:12;;;;:17;;15663:112::o;2080:79::-;2118:7;2145:6;-1:-1:-1;;;;;2145:6:0;2080:79;:::o;6821:25::-;;;;:::o;7027:29::-;;;;:::o;6760:54::-;;;;;;:::o;6522:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6522:37:0;;;;;;;;;;;;;;;;;;;;;;;;:::o;17368:338::-;17413:23;;:::i;:::-;17438:22;;:::i;:::-;17477:7;17473:226;17494:12;:19;17490:23;;;;17473:226;;;17538:11;;;17561:1;17538:11;;;:8;:11;;;;;;-1:-1:-1;;;;;17538:11:0;17535:35;;17565:5;;17535:35;17598:11;;;;;;;:8;:11;;;;;;-1:-1:-1;;;;;17598:11:0;;17587:5;;:8;;;;;;;-1:-1:-1;;;;;17587:22:0;;;:8;;;;;;;;:22;;;;17663:10;;17634:40;;;;:28;:40;;;;;;17675:11;;;;;;:8;:11;;;;;;;;;17634:53;;;;;;;;17624:4;;:7;;;;;;;;;;:63;17515:3;;17473:226;;;;17368:338;;:::o;6568:23::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6568:23:0;:::o;6630:26::-;;;;;;;;;;6977:41;;;;;;;;;;;;-1:-1:-1;;;;;6977:41:0;;:::o;15432:69::-;2302:12;:10;:12::i;:::-;2292:6;;-1:-1:-1;;;;;2292:6:0;;;:22;;;2284:67;;;;;-1:-1:-1;;;2284:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2284:67:0;;;;;;;;;;;;;;;15482:11:::1;:9;:11::i;3025:244::-:0;2302:12;:10;:12::i;:::-;2292:6;;-1:-1:-1;;;;;2292:6:0;;;:22;;;2284:67;;;;;-1:-1:-1;;;2284:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2284:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3114:22:0;::::1;3106:73;;;;-1:-1:-1::0;;;3106:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3216:6;::::0;;3195:38:::1;::::0;-1:-1:-1;;;;;3195:38:0;;::::1;::::0;3216:6;::::1;::::0;3195:38:::1;::::0;::::1;3244:6;:17:::0;;-1:-1:-1;;;;;;3244:17:0::1;-1:-1:-1::0;;;;;3244:17:0;;;::::1;::::0;;;::::1;::::0;;3025:244::o;12714:157::-;4580:7;;-1:-1:-1;;;4580:7:0;;;;4579:8;4571:37;;;;;-1:-1:-1;;;4571:37:0;;;;;;;;;;;;-1:-1:-1;;;4571:37:0;;;;;;;;;;;;;;;12790:31:::1;12801:10;12813:7;12790:10;:31::i;:::-;12832;12841:10;12853:9;12832:8;:31::i;:::-;12714:157:::0;:::o;10323:1238::-;10397:12;:28;;10423:2;10413:12;;10397:28;;;-1:-1:-1;;;;;10455:12:0;;;-1:-1:-1;10455:12:0;;;:5;:12;;;;;-1:-1:-1;10455:19:0;;;;10487:32;;10512:7;;;10487:32;10568:10;;10539:40;;;;:28;:40;;;;;;;;-1:-1:-1;;;;;10539:48:0;;;;;;;;;:59;;;;;;10611:943;10632:12;:19;10628:23;;;;10611:943;;;10676:11;;;;;;;:8;:11;;;;;;-1:-1:-1;;;;;10676:21:0;;;:11;;:21;10673:31;;;10699:5;;10673:31;10724:11;;;10747:1;10724:11;;;:8;:11;;;;;;-1:-1:-1;;;;;10724:11:0;10721:109;;10770:11;;;;;;;:8;:11;;;;;:20;;-1:-1:-1;;;;;;10770:20:0;-1:-1:-1;;;;;10770:20:0;;;;;10809:5;;10721:109;10929:10;;10900:40;;;;:28;:40;;;;;;;;10941:11;;;;;:8;:11;;;;;;-1:-1:-1;;;;;10941:11:0;;;10900:53;;;;;;;;10849:48;;;;;;;;;:104;10846:697;;;10992:1;10988:5;;10974:337;10999:12;:19;10995:23;;;;10974:337;;;11051:11;;;;;;;:8;:11;;;;;;-1:-1:-1;;;;;11051:21:0;;;:11;;:21;11048:244;;;11115:1;11101:136;11123:12;:19;11118:24;;;;11101:136;;11194:15;11207:1;11203:5;;11194:15;;;;;;;:8;:15;;;;;;;11180:11;;;;;;;;;;:29;;-1:-1:-1;;;;;;11180:29:0;-1:-1:-1;;;;;11194:15:0;;;11180:29;;;;;;11101:136;;;;11263:5;;11048:244;11020:3;;10974:337;;;-1:-1:-1;11351:12:0;:19;-1:-1:-1;;11351:23:0;11331:130;11381:1;11377:5;;:1;:5;;;11331:130;;;11426:15;-1:-1:-1;;11435:5:0;;11426:15;;;;;;;:8;:15;;;;;;;11412:11;;;;;;;;;;:29;;-1:-1:-1;;;;;;11412:29:0;-1:-1:-1;;;;;11426:15:0;;;11412:29;;;;;;11331:130;;;-1:-1:-1;11481:11:0;;;;;;;:8;:11;;;;;:20;;-1:-1:-1;;;;;;11481:20:0;-1:-1:-1;;;;;11481:20:0;;;;;11522:5;;10846:697;10653:3;;10611:943;;;;10323:1238;;;:::o;12101:605::-;12141:14;:40;;-1:-1:-1;;12141:40:0;12165:15;12141:40;;;;;12192:10;:12;;-1:-1:-1;12192:12:0;;;12239;;12254:2;12239:17;;-1:-1:-1;12269:312:0;12290:12;:19;12286:23;;;;12269:312;;;12334:11;;;12357:1;12334:11;;;:8;:11;;;;;;-1:-1:-1;;;;;12334:11:0;12331:35;;12361:5;;12331:35;12383:11;12429:3;12411:12;12424:1;12411:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:29;;:35;;;;;12455:11;;;12449:18;12455:11;;;:8;:11;;;;;;;;;;-1:-1:-1;;;;;12455:11:0;;;12449:18;;:5;:18;;;;;:29;;:36;;12397:35;;;;12449:36;;;;;;12500:12;:19;;;;;;;12552:11;;;;;;;;;12541:28;;;;;;;12397:35;;-1:-1:-1;12552:11:0;;;;12541:28;;;;;;;;;;-1:-1:-1;12311:3:0;;12269:312;;;-1:-1:-1;12605:7:0;12601:98;12622:12;:19;12618:23;;;;12601:98;;;12663:11;;;12685:1;12663:11;;;:8;:11;;;;;:24;;-1:-1:-1;;;;;;12663:24:0;;;;12643:3;12601:98;;716:106;804:10;716:106;:::o;11569:524::-;-1:-1:-1;;;;;11653:12:0;;;11640:10;11653:12;;;:5;:12;;;;;:19;;;;;;;11685:401;11706:11;:18;11702:22;;;;11685:401;;;-1:-1:-1;;;;;11749:16:0;;11746:26;;11767:5;;11746:26;-1:-1:-1;;;;;11804:9:0;;;;;;:5;:9;;;;;;;;:19;;:28;11831:1;11827:5;;11804:28;-1:-1:-1;11801:236:0;;11853:13;11896:3;11879:11;11891:1;11879:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11869:24;;:30;;;;;-1:-1:-1;;;;;11936:9:0;;;;;;;:5;:9;;;;;;;;;:21;;:30;;11869;;;;11936;;;;;;11992:29;;;;;;;11869:30;;-1:-1:-1;11992:29:0;;;;11936:9;;11992:29;;;;;;;;11801:236;;-1:-1:-1;;;;;12058:9:0;;;;;;;:5;:9;;;;;:16;;;;;;;;;11726:3;11685:401;;5311:120;4856:7;;-1:-1:-1;;;4856:7:0;;;;4848:40;;;;;-1:-1:-1;;;4848:40:0;;;;;;;;;;;;-1:-1:-1;;;4848:40:0;;;;;;;;;;;;;;;5370:7:::1;:15:::0;;-1:-1:-1;;;;5370:15:0::1;::::0;;5401:22:::1;5410:12;:10;:12::i;:::-;5401:22;::::0;;-1:-1:-1;;;;;5401:22:0;;::::1;::::0;;;;;;;::::1;::::0;;::::1;5311:120::o:0;5052:118::-;4580:7;;-1:-1:-1;;;4580:7:0;;;;4579:8;4571:37;;;;;-1:-1:-1;;;4571:37:0;;;;;;;;;;;;-1:-1:-1;;;4571:37:0;;;;;;;;;;;;;;;5122:4:::1;5112:14:::0;;-1:-1:-1;;;;5112:14:0::1;-1:-1:-1::0;;;5112:14:0::1;::::0;;5142:20:::1;5149:12;:10;:12::i;8401:569::-:0;-1:-1:-1;;;;;8475:12:0;;;8506:1;8475:12;;;:5;:12;;;;;:19;;;;:33;:53;;;;;8523:5;-1:-1:-1;;;;;8512:16:0;:7;-1:-1:-1;;;;;8512:16:0;;;8475:53;:112;;;;-1:-1:-1;;;;;;8533:14:0;;8563:1;8533:14;;;:5;:14;;;;;:27;;;;;:31;;;:53;;;8579:7;:5;:7::i;:::-;-1:-1:-1;;;;;8568:18:0;:7;-1:-1:-1;;;;;8568:18:0;;8533:53;8472:491;;;-1:-1:-1;;;;;8604:12:0;;;;;;;:5;:12;;;;;;;;:19;;;;:29;;-1:-1:-1;;;;;;8604:29:0;;;;;;;;;8648:14;;;;;;:24;;;:26;;;;;;;;8696:22;;;8604:12;8696:22;8739:7;8735:217;8756:11;:18;8752:22;;;;8735:217;;;-1:-1:-1;;;;;8803:21:0;;8800:31;;8826:5;;8800:31;-1:-1:-1;;;;;8852:14:0;;;;;;;:5;:14;;;;;:30;;;:32;;;;;;;;;8915:21;;;;;;;;8776:3;8735:217;;-1:-1:-1;;;;;;;;;;;29:2;21:6;17:15;125:4;109:14;101:6;88:42;-1:-1;;;;;;:::o

Swarm Source

ipfs://3acf27e8be49e88c16dc36ee5295556f6523ac6a7ad967e63ab168f663afa386
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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