Contract 0x9EaB8fEE3b930D06F0D3f837320F6a6C0A7Fe4B3 2

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x5759f9a857f6f15e520ff4f8792181ae490ec7679a76175b6c3287f2dc7e9401Withdraw130183382021-11-28 7:47:271 day 13 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.00060011
0xbc35f9db6f9c9681eae3efde98d82c5573fc21c693e5f82a14871cf3c9668d99Withdraw128648522021-11-22 14:58:147 days 5 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.00060011
0x24e09a9b33c093cb8723c01bbd30a71bf186e485516a6071130d575ca06ee658Withdraw125262792021-11-10 8:37:5919 days 12 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.00060011
0xccc2f10bba434bc31b1e1047f2506a45c2f7ff801fc3038457ca3f8f3cae3717Withdraw123645112021-11-04 16:32:4525 days 4 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.00060011
0x74c87dc9012a5864d5670c215e66c2b985555e88c06d6d5f44499da86d1e78c8Compound121859122021-10-29 7:13:3531 days 13 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.001076405
0x33dc5d5f43a9f83b45f2d14deff4f3aeee7079848d50bb30af60e8b7c84657c3Withdraw119897462021-10-22 9:56:3738 days 10 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.000558135
0x6e2bd47f9207bd677509e1d146c18228ce3b2d4fb7d5631a5ed9aeee19ec77adInvest118813742021-10-18 13:55:2442 days 6 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.08 BNB0.00081491
0x32602dbef696d8eb5320f85ca3c88edc90bc14dd6cfcd8d7b895b07173c6a440Withdraw117581352021-10-14 6:43:3546 days 14 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.000515675
0x266c0ef9529df0f9f58d383673a8ae57015537ed4381fe00a84e06033a2a5e33Withdraw115098322021-10-05 14:10:1155 days 6 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.000515675
0xba5e60c04727d255f5a14155da8638e40e0c279dcf26b8a9d8b11be9890fb299Withdraw112811082021-09-27 14:01:3363 days 6 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.000515915
0x67c1fac4483fdf624c2dffbe095ff8d71c2b20af6dcb5ed9f3fd09d7d089af8eInvest110766022021-09-20 10:28:2570 days 10 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.03 BNB0.00081491
0x4cf70da7a207f57390fc38622861339481fc895f202fc2a9e482360c34159821Withdraw110278512021-09-18 17:35:3672 days 3 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.00047346
0x1980d6e9bcac7617fbd4153dc6e3829a4e949394e852bbe8b9933e1327f198c5Withdraw107415982021-09-08 17:48:3882 days 3 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.00054894
0xf390154c152be7daf120e6b76424cce3878b5b288ab523f4ea0f7c58cecfbc14Invest105674562021-09-02 15:15:3988 days 5 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.19 BNB0.000813585
0x42db0a4af4f3304a86916d1249214573f8ec473ccdcccd9d6d36e5c47e0dffa1Invest105598362021-09-02 8:51:0488 days 12 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.03 BNB0.000813585
0x095d690658c167c19535913d7e23d1363977fe7b2c8aff2c07dc831d4bc3e76cInvest103608772021-08-26 8:30:2595 days 12 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.4 BNB0.000813585
0x89d5b5ad300f4691c37c6a495b1a2bb04449eb7c7b3e85f094b54e02e2cef424Compound103608452021-08-26 8:28:4995 days 12 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.001034185
0xb02525a7567f165efb231c9cbd10078493ff0acbc9d3a1f41278531667ba1afeInvest101717432021-08-19 18:00:32102 days 2 hrs ago0xe945de60d7d18562f49fbac2f718d5751a1d29e3 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.05 BNB0.000996525
0xcfecd506e243b2519d12603985ca7a0557ac5f57bd9d296e2ec00b372b09c15dWithdraw99923062021-08-13 11:37:31108 days 9 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30 BNB0.000666395
0xaa6fa4641133c955bc853879ccdfe596ba220362a3d40c4fe50399c6838def42Invest99114762021-08-10 14:37:03111 days 6 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.08 BNB0.000813585
0xabb685aa74367448faa53978c0b09f042d0a2b9196993b5aa5a05f87d8dafcf0Invest99114582021-08-10 14:36:09111 days 6 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b31.7 BNB0.00090989
0xa0a9902815de75d2f81e94b39cfe13324674f9b17fbf1be5772069164df78a4cInvest99026872021-08-10 6:48:12111 days 14 hrs ago0xf2c0f349449b759ec4b20b792aa9096a4370bdbe IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b31.1 BNB0.00090989
0xece1f7fbf9422a6fc1faca4cc8e4c3e16e586031582b33e9cf9c6c70e33fe0efInvest98777792021-08-09 9:47:56112 days 11 hrs ago0xac5f9f4704448c0d82e2e91a958853553b440b98 IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.02 BNB0.00146239
0x557cc9d8a1c511c476205547a8ee25124f325afe605d173fa7db7cb42f8db891Invest98777562021-08-09 9:46:47112 days 11 hrs ago0x49e474d45cd188d5296f2558ad584a1e26c1fd9c IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.02 BNB0.000996525
0xa1efb9d391a99f140b6179abd1a1e72fedf73d4eb1a8a1879c1657d2d4fca485Invest98777372021-08-09 9:45:50112 days 11 hrs ago0xc7719fec0a61f17cc790fc33b5c1c6a78c00f1ea IN  0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30.02 BNB0.000996525
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x5759f9a857f6f15e520ff4f8792181ae490ec7679a76175b6c3287f2dc7e9401130183382021-11-28 7:47:271 day 13 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.020827381848 BNB
0x5759f9a857f6f15e520ff4f8792181ae490ec7679a76175b6c3287f2dc7e9401130183382021-11-28 7:47:271 day 13 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.001329407352 BNB
0xbc35f9db6f9c9681eae3efde98d82c5573fc21c693e5f82a14871cf3c9668d99128648522021-11-22 14:58:147 days 5 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.041654763696 BNB
0xbc35f9db6f9c9681eae3efde98d82c5573fc21c693e5f82a14871cf3c9668d99128648522021-11-22 14:58:147 days 5 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.002658814704 BNB
0x24e09a9b33c093cb8723c01bbd30a71bf186e485516a6071130d575ca06ee658125262792021-11-10 8:37:5919 days 12 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.020827381848 BNB
0x24e09a9b33c093cb8723c01bbd30a71bf186e485516a6071130d575ca06ee658125262792021-11-10 8:37:5919 days 12 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.001329407352 BNB
0xccc2f10bba434bc31b1e1047f2506a45c2f7ff801fc3038457ca3f8f3cae3717123645112021-11-04 16:32:4525 days 4 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.020827381848 BNB
0xccc2f10bba434bc31b1e1047f2506a45c2f7ff801fc3038457ca3f8f3cae3717123645112021-11-04 16:32:4525 days 4 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.001329407352 BNB
0x74c87dc9012a5864d5670c215e66c2b985555e88c06d6d5f44499da86d1e78c8121859122021-10-29 7:13:3531 days 13 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.00072618 BNB
0x33dc5d5f43a9f83b45f2d14deff4f3aeee7079848d50bb30af60e8b7c84657c3119897462021-10-22 9:56:3738 days 10 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.02326688 BNB
0x33dc5d5f43a9f83b45f2d14deff4f3aeee7079848d50bb30af60e8b7c84657c3119897462021-10-22 9:56:3738 days 10 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.00148512 BNB
0x6e2bd47f9207bd677509e1d146c18228ce3b2d4fb7d5631a5ed9aeee19ec77ad118813742021-10-18 13:55:2442 days 6 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.0072 BNB
0x32602dbef696d8eb5320f85ca3c88edc90bc14dd6cfcd8d7b895b07173c6a440117581352021-10-14 6:43:3546 days 14 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.0230958 BNB
0x32602dbef696d8eb5320f85ca3c88edc90bc14dd6cfcd8d7b895b07173c6a440117581352021-10-14 6:43:3546 days 14 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.0014742 BNB
0x266c0ef9529df0f9f58d383673a8ae57015537ed4381fe00a84e06033a2a5e33115098322021-10-05 14:10:1155 days 6 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.0205296 BNB
0x266c0ef9529df0f9f58d383673a8ae57015537ed4381fe00a84e06033a2a5e33115098322021-10-05 14:10:1155 days 6 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.0013104 BNB
0xba5e60c04727d255f5a14155da8638e40e0c279dcf26b8a9d8b11be9890fb299112811082021-09-27 14:01:3363 days 6 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.02258256 BNB
0xba5e60c04727d255f5a14155da8638e40e0c279dcf26b8a9d8b11be9890fb299112811082021-09-27 14:01:3363 days 6 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.00144144 BNB
0x67c1fac4483fdf624c2dffbe095ff8d71c2b20af6dcb5ed9f3fd09d7d089af8e110766022021-09-20 10:28:2570 days 10 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.0027 BNB
0x4cf70da7a207f57390fc38622861339481fc895f202fc2a9e482360c34159821110278512021-09-18 17:35:3672 days 3 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.0230958 BNB
0x4cf70da7a207f57390fc38622861339481fc895f202fc2a9e482360c34159821110278512021-09-18 17:35:3672 days 3 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.0014742 BNB
0x1980d6e9bcac7617fbd4153dc6e3829a4e949394e852bbe8b9933e1327f198c5107415982021-09-08 17:48:3882 days 3 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30xe945de60d7d18562f49fbac2f718d5751a1d29e30.01984528 BNB
0x1980d6e9bcac7617fbd4153dc6e3829a4e949394e852bbe8b9933e1327f198c5107415982021-09-08 17:48:3882 days 3 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.00126672 BNB
0xf390154c152be7daf120e6b76424cce3878b5b288ab523f4ea0f7c58cecfbc14105674562021-09-02 15:15:3988 days 5 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.0171 BNB
0x42db0a4af4f3304a86916d1249214573f8ec473ccdcccd9d6d36e5c47e0dffa1105598362021-09-02 8:51:0488 days 12 hrs ago 0x9eab8fee3b930d06f0d3f837320f6a6c0a7fe4b30x88501d955b56a4513f41e4e2a0cc6072645543f40.0027 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BNBTrust

Compiler Version
v0.8.3+commit.8d00100c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2021-06-14
*/

// SPDX-License-Identifier: MIT 
 
 /*  The innovative way to obtain a long lasting and passive income, through the use of the most popular Token on the binance smart chain.
 *   Invest your BNB and earn daily dividends through our long term investment platform.
 *   
 *   | USAGE INSTRUCTIONS |
 *
 *   - Connect your Metamask to the binance smart chain (see help: https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain )
 *   - Head over to our website at cakefunds.app
 *   - Enter the amount of BNB you would like to invest into our investment pool (0.02 BNB minimum) using the "Invest BNB" button
 *   - Earn a minimum of 1% daily return on your investment, for a minimum of 300% total return.
 *   - Claim your BNB rewards every 24 hours, using the "Claim" button (There are no restrictions on the minimum amount of BNB you can claim)
 *   - You can also Compound your BNB every 24 hours, using the "Compound" button. This will increase your daily and total return.
 *
 *   | INVESTMENT CONDITIONS |
 *
 *   - There is a minimum requirement of 0.02 BNB in order to make an investment
 *   - The maximum amount of BNB you can invest is up to 20000 BNB
 *   - Total income: This starts up to 1.5% daily and 450% total
 *   - Earnings are calculated every moment, claim or compound every day.
 *
 *   | AFFILIATE PROGRAM |
 *
 *   - 3-level referral commission: 5% - 2.5% - 0.5%
 *
 *   | INVESTMENT FUNDS DISTRIBUTION |
 *
 *   - 91% Platform main balance, participants payouts
 *   - 6% Support work, technical functioning, administration fee - this applies to all investments. 
 *   - 3% Marketing support.
 *
 *   | COMPOUND FUNDS DISTRIBUTION |
 *
 *   - 97% Platform main balance, participants payouts
 *   - 3%% Support work, technical functioning, administration fee - this applies to all compounds.
 *
 *   | WITHDRAW |
 *
 *   - 6% Support work, technical functioning, administration fee.
 *
 *   | CONTACT |
 *
 *   - Visit our official website: https://bnbtrust.com
 */

pragma solidity 0.8.3;

contract Ownable {
    address public owner;
    event onOwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        owner = msg.sender;
    }
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0));
        emit onOwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
}

contract BNBTrust is Ownable{
    using SafeMath for uint256;

    uint256 constant public INVEST_MIN_AMOUNT = 0.02 ether; 
    uint256 constant public INVEST_MAX_AMOUNT = 20000 ether;
    uint256 constant public WITHDRAW_MIN_AMOUNT = 0.02 ether;
    uint256[] internal REFERRAL_PERCENTS = [50, 25, 5];
    uint256 constant public DEPOSIT_WITHDRAW_FEE = 60; // 6% Fee for each invest/withdraw
    uint256 constant public MARKETING_FEE = 30; // 3% Fee for marketing each invest
    uint256 constant public COMPOUND_FEE = 30; // 6% Fee for compound
    uint256 constant public PERCENTS_DIVIDER = 1000;
    
    uint256 public totalStaked;
    uint256 public totalRefBonus;
    uint256 public totalWithdrawn;
    
    address payable public marketingAddress = payable(0x88501d955B56a4513F41E4E2A0cc6072645543f4);

    struct Plan {
        uint256 time;
        uint256 percent;
    }
    Plan[] internal plans;

    struct Deposit {
        uint8 plan;
        uint256 percent;
        uint256 amount;
        uint256 profit;
        uint256 start;
        uint256 finish;
    }

    struct User {
        Deposit[] deposits;
        uint256 checkpoint;
        address referrer;
        uint256[3] levels;
        uint256 bonus;
        uint256 totalBonus;
        uint256 wprofits;
    }
    
    mapping (address => User) internal users;

    event Newbie(address user);
    event NewDeposit(address indexed user, uint8 plan, uint256 percent, uint256 amount, uint256 profit, uint256 start, uint256 finish);
    event Withdrawn(address indexed user, uint256 amount);
    event RefBonus(address indexed referrer, address indexed referral, uint256 indexed level, uint256 amount);
    event FeePayed(address indexed user, uint256 totalAmount);

    constructor() {
        plans.push(Plan(300, 10));
        plans.push(Plan(300, 12));
        plans.push(Plan(300, 15));
    }
    
    function feePayout(uint256 amt) internal{
        marketingAddress.transfer(amt);
        emit FeePayed(msg.sender, amt);
    }
    
    function invest(address referrer) public payable{
        uint256 depAmount = msg.value;
        require(depAmount >= INVEST_MIN_AMOUNT,"Check minimum investing amount");
        require(depAmount <= INVEST_MAX_AMOUNT,"Check maximum investing amount");
        uint8 plan  = 0;
        if(depAmount < 1 ether){
            plan = 0;
        }else if(depAmount >= 1 ether &&  depAmount < 10 ether){
            plan = 1;
        }else {
            plan = 2;
        }

        //Pay admin & marketing fee
        uint256 investFee = depAmount.mul(DEPOSIT_WITHDRAW_FEE.add(MARKETING_FEE)).div(PERCENTS_DIVIDER);
        feePayout(investFee);

        uint256 realDepAmount = depAmount.sub(investFee);

        User storage user = users[msg.sender];
        if (user.referrer == address(0)) {
            if (users[referrer].deposits.length > 0 && referrer != msg.sender) {
                user.referrer = referrer;
            }
            
            address upline = user.referrer;
            for (uint256 i = 0; i < 3; i++) {
                if (upline != address(0)) {
                    users[upline].levels[i] = users[upline].levels[i].add(1);
                    upline = users[upline].referrer;
                } else break;
            }
        }

        if (user.referrer != address(0)) {
            address upline = user.referrer;
            for (uint256 i = 0; i < 3; i++) {
                if (upline != address(0)) {
                    uint256 amount = realDepAmount.mul(REFERRAL_PERCENTS[i]).div(PERCENTS_DIVIDER);
                    users[upline].bonus = users[upline].bonus.add(amount);
                    users[upline].totalBonus = users[upline].totalBonus.add(amount);
                    emit RefBonus(upline, msg.sender, i, amount);
                    upline = users[upline].referrer;
                } else break;
            }
        }

        if (user.deposits.length == 0) {
            user.checkpoint = getDateFromTimeStamp(block.timestamp);
            emit Newbie(msg.sender);
        }
        
        (uint256 percent, uint256 profit, , uint256 finish) = getResult(plan, realDepAmount);
        user.deposits.push(Deposit(plan, percent, realDepAmount, profit, getDateFromTimeStamp(block.timestamp), finish));
        totalStaked = totalStaked.add(realDepAmount);
        emit NewDeposit(msg.sender, plan, percent, realDepAmount, profit, block.timestamp, finish);
    }
    
    function withdraw() public {
        User storage user = users[msg.sender];
        
        //only once a day
        require(getDateFromTimeStamp(block.timestamp) > users[msg.sender].checkpoint , "You can only withdraw once a day");
        uint256 totalAmount = getUserDividends(msg.sender);
        if (user.bonus > 0) {
            totalAmount = totalAmount.add(user.bonus);
            user.bonus = 0;
        }
        require(totalAmount > 0, "User has no dividends");
        require(totalAmount >= WITHDRAW_MIN_AMOUNT, "Please check minimum withdrawal amount");
        uint256 contractBalance = address(this).balance;
        if (contractBalance < totalAmount) {
            totalAmount = contractBalance;
        }
        require(totalAmount >= WITHDRAW_MIN_AMOUNT, "Please check contract balance");

        uint256 withdrawFee = totalAmount.mul(DEPOSIT_WITHDRAW_FEE).div(PERCENTS_DIVIDER);
        feePayout(withdrawFee);

        uint256 withdrawAmount = totalAmount.sub(withdrawFee);
        
        user.checkpoint = getDateFromTimeStamp(block.timestamp);
        
        user.wprofits = (user.wprofits).add(withdrawAmount);
        payable(msg.sender).transfer(withdrawAmount);
        
        totalWithdrawn = (totalWithdrawn.add(withdrawAmount));
        emit Withdrawn(msg.sender, withdrawAmount);
    }
    
    function compound() public {
        User storage user = users[msg.sender];
        
        //only once a day
        require(getDateFromTimeStamp(block.timestamp) > users[msg.sender].checkpoint , "You can only compound once a day");
        uint256 totalAmount = getUserDividends(msg.sender);
        if (user.bonus > 0) {
            totalAmount = totalAmount.add(user.bonus);
            user.bonus = 0;
        }
        require(totalAmount > 0, "User has no dividends");
        require(totalAmount >= WITHDRAW_MIN_AMOUNT, "Please check minimum compounding amount");

        uint8 plan  = 0;
        if(totalAmount < 1 ether){
            plan = 0;
        }else if(totalAmount >= 1 ether &&  totalAmount < 10 ether){
            plan = 1;
        }else {
            plan = 2;
        }

        uint256 contractBalance = address(this).balance;
        if (contractBalance < totalAmount) {
            totalAmount = contractBalance;
        }
        require(totalAmount >= WITHDRAW_MIN_AMOUNT, "Please check contract balance");

        user.checkpoint = getDateFromTimeStamp(block.timestamp);

        uint256 compoundFee = totalAmount.mul(COMPOUND_FEE).div(PERCENTS_DIVIDER);
        feePayout(compoundFee);
        uint256 compoundAmount = totalAmount.sub(compoundFee);

        (uint256 percent, uint256 profit, , uint256 finish) = getResult(plan, compoundAmount);
        user.deposits.push(Deposit(plan, percent, compoundAmount, profit, getDateFromTimeStamp(block.timestamp), finish));
        totalStaked = totalStaked.add(compoundAmount);
        emit NewDeposit(msg.sender, plan, percent, compoundAmount, profit, block.timestamp, finish);
    }

    function getContractBalance() public view returns (uint256) {
        return address(this).balance;
    }

    function getPlanInfo(uint8 plan) public view returns(uint256 time, uint256 percent) {
        require(plan < 3, "Invalid plan");
        time = plans[plan].time;
        percent = plans[plan].percent;
    }

    function getPercent(uint8 plan) public view returns (uint256) {
        require(plan < 3, "Invalid plan");
        return plans[plan].percent;
    }
    
    function getResult(uint8 plan, uint256 deposit) public view returns ( uint256 percent, uint256 profit, uint256 current, uint256 finish){
        require(plan < 3, "Invalid plan");
        percent = getPercent(plan);
        profit = deposit.mul(percent).div(PERCENTS_DIVIDER).mul(plans[plan].time);
        current = getDateFromTimeStamp(block.timestamp);
        finish = current.add(plans[plan].time);
    }
    
    function getUserDividends(address userAddress) public view returns (uint256){
        User memory user = users[userAddress];

        uint256 totalAmount;
        for (uint256 i = 0; i < user.deposits.length; i++) {
            if (user.checkpoint < user.deposits[i].finish) {
                uint256 share = user.deposits[i].amount.mul(user.deposits[i].percent).div(PERCENTS_DIVIDER);
                uint256 from = user.deposits[i].start > user.checkpoint ? user.deposits[i].start : user.checkpoint;
                uint256 to = user.deposits[i].finish < getDateFromTimeStamp(block.timestamp) ? user.deposits[i].finish : getDateFromTimeStamp(block.timestamp);
                if (from < to) {
                    totalAmount = totalAmount.add(share.mul(to.sub(from)));
                }
            }
        }
        return totalAmount;
    }
    
    function getUserCheckpoint(address userAddress) public view returns(uint256) {
        return users[userAddress].checkpoint;
    }

    function getUserReferrer(address userAddress) public view returns(address) {
        return users[userAddress].referrer;
    }

    function getUserDownlineCount(address userAddress) public view returns(uint256, uint256, uint256) {
        return (users[userAddress].levels[0], users[userAddress].levels[1], users[userAddress].levels[2]);
    }

    function getUserReferralBonus(address userAddress) public view returns(uint256) {
        return users[userAddress].bonus;
    }

    function getUserReferralTotalBonus(address userAddress) public view returns(uint256) {
        return users[userAddress].totalBonus;
    }

    function getUserReferralWithdrawn(address userAddress) public view returns(uint256) {
        return users[userAddress].totalBonus.sub(users[userAddress].bonus);
    }

    function getUserAvailable(address userAddress) public view returns(uint256) {
        return getUserReferralBonus(userAddress).add(getUserDividends(userAddress));
    }
    

    function getUserAmountOfDeposits(address userAddress) public view returns(uint256) {
        return users[userAddress].deposits.length;
    }

    function getUserTotalDeposits(address userAddress) public view returns(uint256 amount) {
        for (uint256 i = 0; i < users[userAddress].deposits.length; i++) {
            amount = amount.add(users[userAddress].deposits[i].amount);
        }
    }
    
    function getUserTotalWithdrawn(address userAddress) public view returns(uint256) {
        return users[userAddress].wprofits;
    }
    
    function getUserDepositInfo(address userAddress, uint256 index) public view returns (uint8 plan, uint256 percent, uint256 amount, uint256 profit, uint256 start, uint256 finish){
        User memory user = users[userAddress];
        require(index < user.deposits.length, "Invalid index");

        plan = user.deposits[index].plan;
        percent = user.deposits[index].percent;
        amount = user.deposits[index].amount;
        profit = user.deposits[index].profit;
        start = user.deposits[index].start;
        finish = user.deposits[index].finish;
    }
    
    function setMarketingAccount(address payable _newMarketingAccount) public onlyOwner {
        require(_newMarketingAccount != address(0));
        marketingAddress = payable(_newMarketingAccount);
    }

    function getDateFromTimeStamp(uint256 time) internal pure returns (uint256){
        uint256 dateNo = time.div(24 * 60 * 60);
        return dateNo;
    }
    
    function isContract(address addr) internal view returns (bool) {
        uint size;
        assembly { size := extcodesize(addr) }
        return size > 0;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"}],"name":"FeePayed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint8","name":"plan","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"percent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"profit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"start","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"finish","type":"uint256"}],"name":"NewDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"Newbie","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"address","name":"referral","type":"address"},{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RefBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"onOwnershipTransferred","type":"event"},{"inputs":[],"name":"COMPOUND_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSIT_WITHDRAW_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INVEST_MAX_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INVEST_MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MARKETING_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERCENTS_DIVIDER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAW_MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"compound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"getPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"getPlanInfo","outputs":[{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"percent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"deposit","type":"uint256"}],"name":"getResult","outputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"},{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAmountOfDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserCheckpoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getUserDepositInfo","outputs":[{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDownlineCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralTotalBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferrer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalDeposits","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"referrer","type":"address"}],"name":"invest","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newMarketingAccount","type":"address"}],"name":"setMarketingAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalRefBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060600160405280603260ff168152602001601960ff168152602001600560ff1681525060019060036200003d929190620001f2565b507388501d955b56a4513f41e4e2a0cc6072645543f4600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000a057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006604051806040016040528061012c8152602001600a8152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550506006604051806040016040528061012c8152602001600c8152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550506006604051806040016040528061012c8152602001600f81525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505062000268565b82805482825590600052602060002090810192821562000236579160200282015b8281111562000235578251829060ff1690559160200191906001019062000213565b5b50905062000245919062000249565b5090565b5b80821115620002645760008160009055506001016200024a565b5090565b613aef80620002786000396000f3fe6080604052600436106101ee5760003560e01c80637d8cb7a21161010d578063af3e2122116100a0578063e262113e1161006f578063e262113e14610777578063e85abe09146107a2578063f2fde38b146107df578063f69e204614610808578063fb4cb32b1461081f576101ee565b8063af3e2122146106a2578063c0806b03146106cd578063c75474161461070f578063d7ffca911461073a576101ee565b8063a51b9533116100dc578063a51b9533146105bf578063a5ece941146105fc578063a8aeb6c214610627578063aecaa63414610664576101ee565b80637d8cb7a2146105015780637e3abeea1461052c578063817b1cd2146105695780638da5cb5b14610594576101ee565b806348c372031161018557806369b11dd51161015457806369b11dd5146104435780636bb185561461046e5780636f9fb98a146104ab5780637c79614a146104d6576101ee565b806348c37203146103725780634b319713146103af57806350b2a881146103da5780635936cf6114610403576101ee565b8063153ab9df116101c1578063153ab9df146102b65780631e2ac81b146102f357806336144c9a1461031e5780633ccfd60b1461035b576101ee565b806301c234a8146101f357806303a93c0c1461021e57806303f9c7931461025d578063040a772e14610279575b600080fd5b3480156101ff57600080fd5b5061020861085c565b6040516102159190613464565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612f55565b610862565b604051610254939291906134a8565b60405180910390f35b61027760048036038101906102729190612f55565b6109eb565b005b34801561028557600080fd5b506102a0600480360381019061029b9190612f55565b61138f565b6040516102ad9190613464565b60405180910390f35b3480156102c257600080fd5b506102dd60048036038101906102d89190612f55565b611835565b6040516102ea9190613464565b60405180910390f35b3480156102ff57600080fd5b50610308611861565b6040516103159190613464565b60405180910390f35b34801561032a57600080fd5b5061034560048036038101906103409190612f55565b61186c565b604051610352919061326e565b60405180910390f35b34801561036757600080fd5b506103706118d8565b005b34801561037e57600080fd5b5061039960048036038101906103949190612f55565b611c00565b6040516103a69190613464565b60405180910390f35b3480156103bb57600080fd5b506103c4611c4c565b6040516103d19190613464565b60405180910390f35b3480156103e657600080fd5b5061040160048036038101906103fc9190612f7e565b611c52565b005b34801561040f57600080fd5b5061042a6004803603810190610425919061300c565b611d28565b60405161043a94939291906134df565b60405180910390f35b34801561044f57600080fd5b50610458611e7f565b6040516104659190613464565b60405180910390f35b34801561047a57600080fd5b5061049560048036038101906104909190612f55565b611e85565b6040516104a29190613464565b60405180910390f35b3480156104b757600080fd5b506104c0611f25565b6040516104cd9190613464565b60405180910390f35b3480156104e257600080fd5b506104eb611f2d565b6040516104f89190613464565b60405180910390f35b34801561050d57600080fd5b50610516611f32565b6040516105239190613464565b60405180910390f35b34801561053857600080fd5b50610553600480360381019061054e9190612f55565b611f40565b6040516105609190613464565b60405180910390f35b34801561057557600080fd5b5061057e61204e565b60405161058b9190613464565b60405180910390f35b3480156105a057600080fd5b506105a9612054565b6040516105b6919061326e565b60405180910390f35b3480156105cb57600080fd5b506105e660048036038101906105e19190612fe3565b612078565b6040516105f39190613464565b60405180910390f35b34801561060857600080fd5b50610611612116565b60405161061e9190613289565b60405180910390f35b34801561063357600080fd5b5061064e60048036038101906106499190612f55565b61213c565b60405161065b9190613464565b60405180910390f35b34801561067057600080fd5b5061068b60048036038101906106869190612fe3565b61218b565b60405161069992919061347f565b60405180910390f35b3480156106ae57600080fd5b506106b761227b565b6040516106c49190613464565b60405180910390f35b3480156106d957600080fd5b506106f460048036038101906106ef9190612fa7565b612280565b60405161070696959493929190613524565b60405180910390f35b34801561071b57600080fd5b5061072461265c565b6040516107319190613464565b60405180910390f35b34801561074657600080fd5b50610761600480360381019061075c9190612f55565b612661565b60405161076e9190613464565b60405180910390f35b34801561078357600080fd5b5061078c6126ad565b6040516107999190613464565b60405180910390f35b3480156107ae57600080fd5b506107c960048036038101906107c49190612f55565b6126b8565b6040516107d69190613464565b60405180910390f35b3480156107eb57600080fd5b5061080660048036038101906108019190612f55565b612704565b005b34801561081457600080fd5b5061081d612853565b005b34801561082b57600080fd5b5061084660048036038101906108419190612f55565b612c41565b6040516108539190613464565b60405180910390f35b6103e881565b6000806000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000600381106108e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160016003811061095f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016002600381106109dc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b01549250925092509193909250565b600034905066470de4df820000811015610a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3190613404565b60405180910390fd5b69043c33c1937564800000811115610a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7e906133c4565b60405180910390fd5b6000670de0b6b3a7640000821015610aa25760009050610ad5565b670de0b6b3a76400008210158015610ac15750678ac7230489e8000082105b15610acf5760019050610ad4565b600290505b5b6000610b126103e8610b04610af5601e603c612c8d90919063ffffffff16565b86612ceb90919063ffffffff16565b612d6690919063ffffffff16565b9050610b1d81612dc4565b6000610b328285612e7e90919063ffffffff16565b90506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610e96576000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050118015610c5157503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15610c9a57858160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b6003811015610e9357600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610e7b57610d926001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018360038110610d82577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154612c8d90919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018260038110610e0c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0181905550600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150610e80565b610e93565b8080610e8b90613706565b915050610cc6565b50505b600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e85760008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b60038110156111e557600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146111cd576000610fc46103e8610fb660018581548110610f9c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020015488612ceb90919063ffffffff16565b612d6690919063ffffffff16565b905061101b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154612c8d90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601819055506110b681600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154612c8d90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070181905550813373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fd41f7e766eebcc7ff42b11ac8691bdf864db4afc0c55e71d629d54edce460d988460405161115a9190613464565b60405180910390a4600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250506111d2565b6111e5565b80806111dd90613706565b915050610f1a565b50505b6000816000018054905014156112415761120142612edd565b81600101819055507f9fd565cd14c3c391679eb0cad12a14dcf7534e9d3462bcb9b67a098a9bbbc24a33604051611238919061326e565b60405180910390a15b60008060006112508786611d28565b93505092509250836000016040518060c001604052808960ff16815260200185815260200187815260200184815260200161128a42612edd565b815260200183815250908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050155505061132685600254612c8d90919063ffffffff16565b6002819055503373ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d88858886428760405161137c96959493929190613524565b60405180910390a2505050505050505050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e001604052908160008201805480602002602001604051908101604052809291908181526020016000905b8282101561148257838290600052602060002090600602016040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152505081526020019060010190611401565b505050508152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201600380602002604051908101604052809291908260038015611526576020028201915b815481526020019060010190808311611512575b5050505050815260200160068201548152602001600782015481526020016008820154815250509050600080600090505b82600001515181101561182a57826000015181815181106115a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a00151836020015110156118175760006116716103e861166386600001518581518110611600577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516020015187600001518681518110611649577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160400151612ceb90919063ffffffff16565b612d6690919063ffffffff16565b905060008460200151856000015184815181106116b7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160800151116116d257846020015161171c565b8460000151838151811061170f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151608001515b9050600061172942612edd565b86600001518581518110611766577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a00151106117855761178042612edd565b6117cf565b856000015184815181106117c2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a001515b905080821015611813576118106118016117f28484612e7e90919063ffffffff16565b85612ceb90919063ffffffff16565b86612c8d90919063ffffffff16565b94505b5050505b808061182290613706565b915050611557565b508092505050919050565b600061185a6118438361138f565b61184c846126b8565b612c8d90919063ffffffff16565b9050919050565b66470de4df82000081565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015461196742612edd565b116119a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199e906132e4565b60405180910390fd5b60006119b23361138f565b90506000826006015411156119e5576119d8826006015482612c8d90919063ffffffff16565b9050600082600601819055505b60008111611a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1f906132a4565b60405180910390fd5b66470de4df820000811015611a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6990613444565b60405180910390fd5b600047905081811015611a83578091505b66470de4df820000821015611acd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac490613364565b60405180910390fd5b6000611af76103e8611ae9603c86612ceb90919063ffffffff16565b612d6690919063ffffffff16565b9050611b0281612dc4565b6000611b178285612e7e90919063ffffffff16565b9050611b2242612edd565b8560010181905550611b41818660080154612c8d90919063ffffffff16565b85600801819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b8f573d6000803e3d6000fd5b50611ba581600454612c8d90919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d582604051611bf19190613464565b60405180910390a25050505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701549050919050565b60045481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611caa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ce457600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008060038660ff1610611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b90613424565b60405180910390fd5b611d7d86612078565b9350611e0660068760ff1681548110611dbf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160000154611df86103e8611dea888a612ceb90919063ffffffff16565b612d6690919063ffffffff16565b612ceb90919063ffffffff16565b9250611e1142612edd565b9150611e7460068760ff1681548110611e53577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202016000015483612c8d90919063ffffffff16565b905092959194509250565b60035481565b6000611f1e600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154612e7e90919063ffffffff16565b9050919050565b600047905090565b601e81565b69043c33c193756480000081565b600080600090505b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905081101561204857612033600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018281548110612012577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600602016002015483612c8d90919063ffffffff16565b9150808061204090613706565b915050611f48565b50919050565b60025481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060038260ff16106120c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b790613424565b60405180910390fd5b60068260ff16815481106120fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b60008060038360ff16106121d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cb90613424565b60405180910390fd5b60068360ff1681548110612211577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160000154915060068360ff1681548110612262577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101549050915091565b601e81565b6000806000806000806000600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e001604052908160008201805480602002602001604051908101604052809291908181526020016000905b8282101561237b57838290600052602060002090600602016040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff16815260200160018201548152602001600282015481526020016003820154815260200160048201548152602001600582015481525050815260200190600101906122fa565b505050508152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820160038060200260405190810160405280929190826003801561241f576020028201915b81548152602001906001019080831161240b575b5050505050815260200160068201548152602001600782015481526020016008820154815250509050806000015151881061248f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248690613344565b60405180910390fd5b806000015188815181106124cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160000151965080600001518881518110612517577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160200151955080600001518881518110612562577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151604001519450806000015188815181106125ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151606001519350806000015188815181106125f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160800151925080600001518881518110612643577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a001519150509295509295509295565b603c81565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b66470de4df82000081565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461275c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561279657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2e3feca4334579203cd183fe1ced9524940047e5586fe13e8cc5dd1babaf6e8260405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546128e242612edd565b11612922576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612919906132c4565b60405180910390fd5b600061292d3361138f565b905060008260060154111561296057612953826006015482612c8d90919063ffffffff16565b9050600082600601819055505b600081116129a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299a906132a4565b60405180910390fd5b66470de4df8200008110156129ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e490613324565b60405180910390fd5b6000670de0b6b3a7640000821015612a085760009050612a3b565b670de0b6b3a76400008210158015612a275750678ac7230489e8000082105b15612a355760019050612a3a565b600290505b5b600047905082811015612a4c578092505b66470de4df820000831015612a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8d90613364565b60405180910390fd5b612a9f42612edd565b84600101819055506000612ad16103e8612ac3601e87612ceb90919063ffffffff16565b612d6690919063ffffffff16565b9050612adc81612dc4565b6000612af18286612e7e90919063ffffffff16565b90506000806000612b028785611d28565b93505092509250886000016040518060c001604052808960ff168152602001858152602001868152602001848152602001612b3c42612edd565b815260200183815250908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a082015181600501555050612bd884600254612c8d90919063ffffffff16565b6002819055503373ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d888587864287604051612c2e96959493929190613524565b60405180910390a2505050505050505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600801549050919050565b6000808284612c9c9190613596565b905083811015612ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd890613304565b60405180910390fd5b8091505092915050565b600080831415612cfe5760009050612d60565b60008284612d0c919061361d565b9050828482612d1b91906135ec565b14612d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d52906133e4565b60405180910390fd5b809150505b92915050565b6000808211612daa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da1906133a4565b60405180910390fd5b60008284612db891906135ec565b90508091505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612e2c573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f2899dc8c12def1caa9accb64257cf2fd9f960f21bb27a560a757eae3c2ec43c182604051612e739190613464565b60405180910390a250565b600082821115612ec3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eba90613384565b60405180910390fd5b60008284612ed19190613677565b90508091505092915050565b600080612ef66201518084612d6690919063ffffffff16565b905080915050919050565b600081359050612f1081613a5d565b92915050565b600081359050612f2581613a74565b92915050565b600081359050612f3a81613a8b565b92915050565b600081359050612f4f81613aa2565b92915050565b600060208284031215612f6757600080fd5b6000612f7584828501612f01565b91505092915050565b600060208284031215612f9057600080fd5b6000612f9e84828501612f16565b91505092915050565b60008060408385031215612fba57600080fd5b6000612fc885828601612f01565b9250506020612fd985828601612f2b565b9150509250929050565b600060208284031215612ff557600080fd5b600061300384828501612f40565b91505092915050565b6000806040838503121561301f57600080fd5b600061302d85828601612f40565b925050602061303e85828601612f2b565b9150509250929050565b613051816136bd565b82525050565b613060816136ab565b82525050565b6000613073601583613585565b915061307e826137ad565b602082019050919050565b6000613096602083613585565b91506130a1826137d6565b602082019050919050565b60006130b9602083613585565b91506130c4826137ff565b602082019050919050565b60006130dc601b83613585565b91506130e782613828565b602082019050919050565b60006130ff602783613585565b915061310a82613851565b604082019050919050565b6000613122600d83613585565b915061312d826138a0565b602082019050919050565b6000613145601d83613585565b9150613150826138c9565b602082019050919050565b6000613168601e83613585565b9150613173826138f2565b602082019050919050565b600061318b601a83613585565b91506131968261391b565b602082019050919050565b60006131ae601e83613585565b91506131b982613944565b602082019050919050565b60006131d1602183613585565b91506131dc8261396d565b604082019050919050565b60006131f4601e83613585565b91506131ff826139bc565b602082019050919050565b6000613217600c83613585565b9150613222826139e5565b602082019050919050565b600061323a602683613585565b915061324582613a0e565b604082019050919050565b613259816136ef565b82525050565b613268816136f9565b82525050565b60006020820190506132836000830184613057565b92915050565b600060208201905061329e6000830184613048565b92915050565b600060208201905081810360008301526132bd81613066565b9050919050565b600060208201905081810360008301526132dd81613089565b9050919050565b600060208201905081810360008301526132fd816130ac565b9050919050565b6000602082019050818103600083015261331d816130cf565b9050919050565b6000602082019050818103600083015261333d816130f2565b9050919050565b6000602082019050818103600083015261335d81613115565b9050919050565b6000602082019050818103600083015261337d81613138565b9050919050565b6000602082019050818103600083015261339d8161315b565b9050919050565b600060208201905081810360008301526133bd8161317e565b9050919050565b600060208201905081810360008301526133dd816131a1565b9050919050565b600060208201905081810360008301526133fd816131c4565b9050919050565b6000602082019050818103600083015261341d816131e7565b9050919050565b6000602082019050818103600083015261343d8161320a565b9050919050565b6000602082019050818103600083015261345d8161322d565b9050919050565b60006020820190506134796000830184613250565b92915050565b60006040820190506134946000830185613250565b6134a16020830184613250565b9392505050565b60006060820190506134bd6000830186613250565b6134ca6020830185613250565b6134d76040830184613250565b949350505050565b60006080820190506134f46000830187613250565b6135016020830186613250565b61350e6040830185613250565b61351b6060830184613250565b95945050505050565b600060c082019050613539600083018961325f565b6135466020830188613250565b6135536040830187613250565b6135606060830186613250565b61356d6080830185613250565b61357a60a0830184613250565b979650505050505050565b600082825260208201905092915050565b60006135a1826136ef565b91506135ac836136ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156135e1576135e061374f565b5b828201905092915050565b60006135f7826136ef565b9150613602836136ef565b9250826136125761361161377e565b5b828204905092915050565b6000613628826136ef565b9150613633836136ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561366c5761366b61374f565b5b828202905092915050565b6000613682826136ef565b915061368d836136ef565b9250828210156136a05761369f61374f565b5b828203905092915050565b60006136b6826136cf565b9050919050565b60006136c8826136cf565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613711826136ef565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156137445761374361374f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f5573657220686173206e6f206469766964656e64730000000000000000000000600082015250565b7f596f752063616e206f6e6c7920636f6d706f756e64206f6e6365206120646179600082015250565b7f596f752063616e206f6e6c79207769746864726177206f6e6365206120646179600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f506c6561736520636865636b206d696e696d756d20636f6d706f756e64696e6760008201527f20616d6f756e7400000000000000000000000000000000000000000000000000602082015250565b7f496e76616c696420696e64657800000000000000000000000000000000000000600082015250565b7f506c6561736520636865636b20636f6e74726163742062616c616e6365000000600082015250565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b7f436865636b206d6178696d756d20696e76657374696e6720616d6f756e740000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f436865636b206d696e696d756d20696e76657374696e6720616d6f756e740000600082015250565b7f496e76616c696420706c616e0000000000000000000000000000000000000000600082015250565b7f506c6561736520636865636b206d696e696d756d207769746864726177616c2060008201527f616d6f756e740000000000000000000000000000000000000000000000000000602082015250565b613a66816136ab565b8114613a7157600080fd5b50565b613a7d816136bd565b8114613a8857600080fd5b50565b613a94816136ef565b8114613a9f57600080fd5b50565b613aab816136f9565b8114613ab657600080fd5b5056fea2646970667358221220114c677e2746d90a2670d24621f2ab8c5d5212f0690d40b7c4ac675602736b2864736f6c63430008030033

Deployed ByteCode Sourcemap

2577:12284:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3138:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12289:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;4658:2469;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11140:861;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12974:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2771:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12153:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7139:1358;;;;;;;;;;;;;:::i;:::-;;12649:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3266:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14311:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10713:415;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;3231:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12797:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10217:107;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3067:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2709:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13309:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3198:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2110:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10550:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3308:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13158:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10332:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2982:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13722:577;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;2891:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12013:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2647:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12511:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2372:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8509:1700;;;;;;;;;;;;;:::i;:::-;;13576:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3138:47;3181:4;3138:47;:::o;12289:214::-;12360:7;12369;12378;12406:5;:18;12412:11;12406:18;;;;;;;;;;;;;;;:25;;12432:1;12406:28;;;;;;;;;;;;;;;;;12436:5;:18;12442:11;12436:18;;;;;;;;;;;;;;;:25;;12462:1;12436:28;;;;;;;;;;;;;;;;;12466:5;:18;12472:11;12466:18;;;;;;;;;;;;;;;:25;;12492:1;12466:28;;;;;;;;;;;;;;;;;12398:97;;;;;;12289:214;;;;;:::o;4658:2469::-;4717:17;4737:9;4717:29;;2691:10;4765:9;:30;;4757:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;2753:11;4848:9;:30;;4840:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;4923:10;4964:7;4952:9;:19;4949:187;;;4994:1;4987:8;;4949:187;;;5028:7;5015:9;:20;;:45;;;;;5052:8;5040:9;:20;5015:45;5012:124;;;5083:1;5076:8;;5012:124;;;5123:1;5116:8;;5012:124;4949:187;5185:17;5205:76;3181:4;5205:54;5219:39;3022:2;2938;5219:24;;:39;;;;:::i;:::-;5205:9;:13;;:54;;;;:::i;:::-;:58;;:76;;;;:::i;:::-;5185:96;;5292:20;5302:9;5292;:20::i;:::-;5325:21;5349:24;5363:9;5349;:13;;:24;;;;:::i;:::-;5325:48;;5386:17;5406:5;:17;5412:10;5406:17;;;;;;;;;;;;;;;5386:37;;5463:1;5438:27;;:4;:13;;;;;;;;;;;;:27;;;5434:515;;;5520:1;5486:5;:15;5492:8;5486:15;;;;;;;;;;;;;;;:24;;:31;;;;:35;:61;;;;;5537:10;5525:22;;:8;:22;;;;5486:61;5482:126;;;5584:8;5568:4;:13;;;:24;;;;;;;;;;;;;;;;;;5482:126;5636:14;5653:4;:13;;;;;;;;;;;;5636:30;;5686:9;5681:257;5705:1;5701;:5;5681:257;;;5754:1;5736:20;;:6;:20;;;5732:190;;5807:30;5835:1;5807:5;:13;5813:6;5807:13;;;;;;;;;;;;;;;:20;;5828:1;5807:23;;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;5781:5;:13;5787:6;5781:13;;;;;;;;;;;;;;;:20;;5802:1;5781:23;;;;;;;;;;;;;;;;:56;;;;5869:5;:13;5875:6;5869:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;5860:31;;5732:190;;;5917:5;;5732:190;5708:3;;;;;:::i;:::-;;;;5681:257;;;;5434:515;;5990:1;5965:27;;:4;:13;;;;;;;;;;;;:27;;;5961:612;;6009:14;6026:4;:13;;;;;;;;;;;;6009:30;;6059:9;6054:508;6078:1;6074;:5;6054:508;;;6127:1;6109:20;;:6;:20;;;6105:441;;6154:14;6171:61;3181:4;6171:39;6189:17;6207:1;6189:20;;;;;;;;;;;;;;;;;;;;;;;;6171:13;:17;;:39;;;;:::i;:::-;:43;;:61;;;;:::i;:::-;6154:78;;6277:31;6301:6;6277:5;:13;6283:6;6277:13;;;;;;;;;;;;;;;:19;;;:23;;:31;;;;:::i;:::-;6255:5;:13;6261:6;6255:13;;;;;;;;;;;;;;;:19;;:53;;;;6358:36;6387:6;6358:5;:13;6364:6;6358:13;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;6331:5;:13;6337:6;6331:13;;;;;;;;;;;;;;;:24;;:63;;;;6451:1;6439:10;6422:39;;6431:6;6422:39;;;6454:6;6422:39;;;;;;:::i;:::-;;;;;;;;6493:5;:13;6499:6;6493:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;6484:31;;6105:441;;;;6541:5;;6105:441;6081:3;;;;;:::i;:::-;;;;6054:508;;;;5961:612;;6613:1;6589:4;:13;;:20;;;;:25;6585:151;;;6649:37;6670:15;6649:20;:37::i;:::-;6631:4;:15;;:55;;;;6706:18;6713:10;6706:18;;;;;;:::i;:::-;;;;;;;;6585:151;6757:15;6774:14;6792;6810:30;6820:4;6826:13;6810:9;:30::i;:::-;6756:84;;;;;;;6851:4;:13;;6870:92;;;;;;;;6878:4;6870:92;;;;;;6884:7;6870:92;;;;6893:13;6870:92;;;;6908:6;6870:92;;;;6916:37;6937:15;6916:20;:37::i;:::-;6870:92;;;;6955:6;6870:92;;;6851:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6988:30;7004:13;6988:11;;:15;;:30;;;;:::i;:::-;6974:11;:44;;;;7045:10;7034:85;;;7057:4;7063:7;7072:13;7087:6;7095:15;7112:6;7034:85;;;;;;;;;;;:::i;:::-;;;;;;;;4658:2469;;;;;;;;;:::o;11140:861::-;11208:7;11227:16;11246:5;:18;11252:11;11246:18;;;;;;;;;;;;;;;11227:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11277:19;11312:9;11324:1;11312:13;;11307:658;11331:4;:13;;;:20;11327:1;:24;11307:658;;;11395:4;:13;;;11409:1;11395:16;;;;;;;;;;;;;;;;;;;;;;:23;;;11377:4;:15;;;:41;11373:581;;;11439:13;11455:75;3181:4;11455:53;11483:4;:13;;;11497:1;11483:16;;;;;;;;;;;;;;;;;;;;;;:24;;;11455:4;:13;;;11469:1;11455:16;;;;;;;;;;;;;;;;;;;;;;:23;;;:27;;:53;;;;:::i;:::-;:57;;:75;;;;:::i;:::-;11439:91;;11549:12;11589:4;:15;;;11564:4;:13;;;11578:1;11564:16;;;;;;;;;;;;;;;;;;;;;;:22;;;:40;:83;;11632:4;:15;;;11564:83;;;11607:4;:13;;;11621:1;11607:16;;;;;;;;;;;;;;;;;;;;;;:22;;;11564:83;11549:98;;11666:10;11705:37;11726:15;11705:20;:37::i;:::-;11679:4;:13;;;11693:1;11679:16;;;;;;;;;;;;;;;;;;;;;;:23;;;:63;:129;;11771:37;11792:15;11771:20;:37::i;:::-;11679:129;;;11745:4;:13;;;11759:1;11745:16;;;;;;;;;;;;;;;;;;;;;;:23;;;11679:129;11666:142;;11838:2;11831:4;:9;11827:112;;;11879:40;11895:23;11905:12;11912:4;11905:2;:6;;:12;;;;:::i;:::-;11895:5;:9;;:23;;;;:::i;:::-;11879:11;:15;;:40;;;;:::i;:::-;11865:54;;11827:112;11373:581;;;;11353:3;;;;;:::i;:::-;;;;11307:658;;;;11982:11;11975:18;;;;11140:861;;;:::o;12974:170::-;13041:7;13068:68;13106:29;13123:11;13106:16;:29::i;:::-;13068:33;13089:11;13068:20;:33::i;:::-;:37;;:68;;;;:::i;:::-;13061:75;;12974:170;;;:::o;2771:56::-;2817:10;2771:56;:::o;12153:128::-;12219:7;12246:5;:18;12252:11;12246:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;12239:34;;12153:128;;;:::o;7139:1358::-;7177:17;7197:5;:17;7203:10;7197:17;;;;;;;;;;;;;;;7177:37;;7310:5;:17;7316:10;7310:17;;;;;;;;;;;;;;;:28;;;7270:37;7291:15;7270:20;:37::i;:::-;:68;7262:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;7387:19;7409:28;7426:10;7409:16;:28::i;:::-;7387:50;;7465:1;7452:4;:10;;;:14;7448:117;;;7497:27;7513:4;:10;;;7497:11;:15;;:27;;;;:::i;:::-;7483:41;;7552:1;7539:4;:10;;:14;;;;7448:117;7597:1;7583:11;:15;7575:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;2817:10;7643:11;:34;;7635:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;7731:23;7757:21;7731:47;;7811:11;7793:15;:29;7789:91;;;7853:15;7839:29;;7789:91;2817:10;7898:11;:34;;7890:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;7979:19;8001:59;3181:4;8001:37;2938:2;8001:11;:15;;:37;;;;:::i;:::-;:41;;:59;;;;:::i;:::-;7979:81;;8071:22;8081:11;8071:9;:22::i;:::-;8106;8131:28;8147:11;8131;:15;;:28;;;;:::i;:::-;8106:53;;8198:37;8219:15;8198:20;:37::i;:::-;8180:4;:15;;:55;;;;8272:35;8292:14;8273:4;:13;;;8272:19;;:35;;;;:::i;:::-;8256:4;:13;;:51;;;;8326:10;8318:28;;:44;8347:14;8318:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8401:34;8420:14;8401;;:18;;:34;;;;:::i;:::-;8383:14;:53;;;;8462:10;8452:37;;;8474:14;8452:37;;;;;;:::i;:::-;;;;;;;;7139:1358;;;;;:::o;12649:140::-;12725:7;12752:5;:18;12758:11;12752:18;;;;;;;;;;;;;;;:29;;;12745:36;;12649:140;;;:::o;3266:29::-;;;;:::o;14311:205::-;2340:5;;;;;;;;;;2326:19;;:10;:19;;;2318:28;;;;;;14446:1:::1;14414:34;;:20;:34;;;;14406:43;;;::::0;::::1;;14487:20;14460:16;;:48;;;;;;;;;;;;;;;;;;14311:205:::0;:::o;10713:415::-;10783:15;10800:14;10816:15;10833:14;10874:1;10867:4;:8;;;10859:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;10913:16;10924:4;10913:10;:16::i;:::-;10903:26;;10949:64;10996:5;11002:4;10996:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;10949:42;3181:4;10949:20;10961:7;10949;:11;;:20;;;;:::i;:::-;:24;;:42;;;;:::i;:::-;:46;;:64;;;;:::i;:::-;10940:73;;11034:37;11055:15;11034:20;:37::i;:::-;11024:47;;11091:29;11103:5;11109:4;11103:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;11091:7;:11;;:29;;;;:::i;:::-;11082:38;;10713:415;;;;;;;:::o;3231:28::-;;;;:::o;12797:169::-;12872:7;12899:59;12933:5;:18;12939:11;12933:18;;;;;;;;;;;;;;;:24;;;12899:5;:18;12905:11;12899:18;;;;;;;;;;;;;;;:29;;;:33;;:59;;;;:::i;:::-;12892:66;;12797:169;;;:::o;10217:107::-;10268:7;10295:21;10288:28;;10217:107;:::o;3067:41::-;3106:2;3067:41;:::o;2709:55::-;2753:11;2709:55;:::o;13309:255::-;13380:14;13412:9;13424:1;13412:13;;13407:150;13431:5;:18;13437:11;13431:18;;;;;;;;;;;;;;;:27;;:34;;;;13427:1;:38;13407:150;;;13496:49;13507:5;:18;13513:11;13507:18;;;;;;;;;;;;;;;:27;;13535:1;13507:30;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;13496:6;:10;;:49;;;;:::i;:::-;13487:58;;13467:3;;;;;:::i;:::-;;;;13407:150;;;;13309:255;;;:::o;3198:26::-;;;;:::o;2110:20::-;;;;;;;;;;;;:::o;10550:151::-;10603:7;10638:1;10631:4;:8;;;10623:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;10674:5;10680:4;10674:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;10667:26;;10550:151;;;:::o;3308:93::-;;;;;;;;;;;;;:::o;13158:143::-;13232:7;13259:5;:18;13265:11;13259:18;;;;;;;;;;;;;;;:27;;:34;;;;13252:41;;13158:143;;;:::o;10332:210::-;10385:12;10399:15;10442:1;10435:4;:8;;;10427:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;10478:5;10484:4;10478:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;10471:23;;10515:5;10521:4;10515:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;10505:29;;10332:210;;;:::o;2982:42::-;3022:2;2982:42;:::o;13722:577::-;13807:10;13819:15;13836:14;13852;13868:13;13883:14;13909:16;13928:5;:18;13934:11;13928:18;;;;;;;;;;;;;;;13909:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13973:4;:13;;;:20;13965:5;:28;13957:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;14031:4;:13;;;14045:5;14031:20;;;;;;;;;;;;;;;;;;;;;;:25;;;14024:32;;14077:4;:13;;;14091:5;14077:20;;;;;;;;;;;;;;;;;;;;;;:28;;;14067:38;;14125:4;:13;;;14139:5;14125:20;;;;;;;;;;;;;;;;;;;;;;:27;;;14116:36;;14172:4;:13;;;14186:5;14172:20;;;;;;;;;;;;;;;;;;;;;;:27;;;14163:36;;14218:4;:13;;;14232:5;14218:20;;;;;;;;;;;;;;;;;;;;;;:26;;;14210:34;;14264:4;:13;;;14278:5;14264:20;;;;;;;;;;;;;;;;;;;;;;:27;;;14255:36;;13722:577;;;;;;;;;:::o;2891:49::-;2938:2;2891:49;:::o;12013:132::-;12081:7;12108:5;:18;12114:11;12108:18;;;;;;;;;;;;;;;:29;;;12101:36;;12013:132;;;:::o;2647:54::-;2691:10;2647:54;:::o;12511:130::-;12582:7;12609:5;:18;12615:11;12609:18;;;;;;;;;;;;;;;:24;;;12602:31;;12511:130;;;:::o;2372:198::-;2340:5;;;;;;;;;;2326:19;;:10;:19;;;2318:28;;;;;;2475:1:::1;2454:23;;:9;:23;;;;2446:32;;;::::0;::::1;;2524:9;2494:40;;2517:5;::::0;::::1;;;;;;;;2494:40;;;;;;;;;;;;2553:9;2545:5;::::0;:17:::1;;;;;;;;;;;;;;;;;;2372:198:::0;:::o;8509:1700::-;8547:17;8567:5;:17;8573:10;8567:17;;;;;;;;;;;;;;;8547:37;;8680:5;:17;8686:10;8680:17;;;;;;;;;;;;;;;:28;;;8640:37;8661:15;8640:20;:37::i;:::-;:68;8632:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;8757:19;8779:28;8796:10;8779:16;:28::i;:::-;8757:50;;8835:1;8822:4;:10;;;:14;8818:117;;;8867:27;8883:4;:10;;;8867:11;:15;;:27;;;;:::i;:::-;8853:41;;8922:1;8909:4;:10;;:14;;;;8818:117;8967:1;8953:11;:15;8945:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;2817:10;9013:11;:34;;9005:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;9104:10;9147:7;9133:11;:21;9130:193;;;9177:1;9170:8;;9130:193;;;9213:7;9198:11;:22;;:49;;;;;9239:8;9225:11;:22;9198:49;9195:128;;;9270:1;9263:8;;9195:128;;;9310:1;9303:8;;9195:128;9130:193;9335:23;9361:21;9335:47;;9415:11;9397:15;:29;9393:91;;;9457:15;9443:29;;9393:91;2817:10;9502:11;:34;;9494:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;9601:37;9622:15;9601:20;:37::i;:::-;9583:4;:15;;:55;;;;9651:19;9673:51;3181:4;9673:29;3106:2;9673:11;:15;;:29;;;;:::i;:::-;:33;;:51;;;;:::i;:::-;9651:73;;9735:22;9745:11;9735:9;:22::i;:::-;9768;9793:28;9809:11;9793;:15;;:28;;;;:::i;:::-;9768:53;;9835:15;9852:14;9870;9888:31;9898:4;9904:14;9888:9;:31::i;:::-;9834:85;;;;;;;9930:4;:13;;9949:93;;;;;;;;9957:4;9949:93;;;;;;9963:7;9949:93;;;;9972:14;9949:93;;;;9988:6;9949:93;;;;9996:37;10017:15;9996:20;:37::i;:::-;9949:93;;;;10035:6;9949:93;;;9930:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10068:31;10084:14;10068:11;;:15;;:31;;;;:::i;:::-;10054:11;:45;;;;10126:10;10115:86;;;10138:4;10144:7;10153:14;10169:6;10177:15;10194:6;10115:86;;;;;;;;;;;:::i;:::-;;;;;;;;8509:1700;;;;;;;;;:::o;13576:134::-;13648:7;13675:5;:18;13681:11;13675:18;;;;;;;;;;;;;;;:27;;;13668:34;;13576:134;;;:::o;15234:179::-;15292:7;15312:9;15328:1;15324;:5;;;;:::i;:::-;15312:17;;15353:1;15348;:6;;15340:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;15404:1;15397:8;;;15234:179;;;;:::o;15607:246::-;15665:7;15694:1;15689;:6;15685:47;;;15719:1;15712:8;;;;15685:47;15742:9;15758:1;15754;:5;;;;:::i;:::-;15742:17;;15787:1;15782;15778;:5;;;;:::i;:::-;:10;15770:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;15844:1;15837:8;;;15607:246;;;;;:::o;15859:177::-;15917:7;15949:1;15945;:5;15937:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;15992:9;16008:1;16004;:5;;;;:::i;:::-;15992:17;;16027:1;16020:8;;;15859:177;;;;:::o;4516:130::-;4567:16;;;;;;;;;;;:25;;:30;4593:3;4567:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4622:10;4613:25;;;4634:3;4613:25;;;;;;:::i;:::-;;;;;;;;4516:130;:::o;15419:182::-;15477:7;15510:1;15505;:6;;15497:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;15557:9;15573:1;15569;:5;;;;:::i;:::-;15557:17;;15592:1;15585:8;;;15419:182;;;;:::o;14524:157::-;14591:7;14610:14;14627:22;14636:12;14627:4;:8;;:22;;;;:::i;:::-;14610:39;;14667:6;14660:13;;;14524:157;;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:155::-;;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;212:95;;;;:::o;313:139::-;;397:6;384:20;375:29;;413:33;440:5;413:33;:::i;:::-;365:87;;;;:::o;458:135::-;;540:6;527:20;518:29;;556:31;581:5;556:31;:::i;:::-;508:85;;;;:::o;599:262::-;;707:2;695:9;686:7;682:23;678:32;675:2;;;723:1;720;713:12;675:2;766:1;791:53;836:7;827:6;816:9;812:22;791:53;:::i;:::-;781:63;;737:117;665:196;;;;:::o;867:278::-;;983:2;971:9;962:7;958:23;954:32;951:2;;;999:1;996;989:12;951:2;1042:1;1067:61;1120:7;1111:6;1100:9;1096:22;1067:61;:::i;:::-;1057:71;;1013:125;941:204;;;;:::o;1151:407::-;;;1276:2;1264:9;1255:7;1251:23;1247:32;1244:2;;;1292:1;1289;1282:12;1244:2;1335:1;1360:53;1405:7;1396:6;1385:9;1381:22;1360:53;:::i;:::-;1350:63;;1306:117;1462:2;1488:53;1533:7;1524:6;1513:9;1509:22;1488:53;:::i;:::-;1478:63;;1433:118;1234:324;;;;;:::o;1564:258::-;;1670:2;1658:9;1649:7;1645:23;1641:32;1638:2;;;1686:1;1683;1676:12;1638:2;1729:1;1754:51;1797:7;1788:6;1777:9;1773:22;1754:51;:::i;:::-;1744:61;;1700:115;1628:194;;;;:::o;1828:403::-;;;1951:2;1939:9;1930:7;1926:23;1922:32;1919:2;;;1967:1;1964;1957:12;1919:2;2010:1;2035:51;2078:7;2069:6;2058:9;2054:22;2035:51;:::i;:::-;2025:61;;1981:115;2135:2;2161:53;2206:7;2197:6;2186:9;2182:22;2161:53;:::i;:::-;2151:63;;2106:118;1909:322;;;;;:::o;2237:142::-;2340:32;2366:5;2340:32;:::i;:::-;2335:3;2328:45;2318:61;;:::o;2385:118::-;2472:24;2490:5;2472:24;:::i;:::-;2467:3;2460:37;2450:53;;:::o;2509:366::-;;2672:67;2736:2;2731:3;2672:67;:::i;:::-;2665:74;;2748:93;2837:3;2748:93;:::i;:::-;2866:2;2861:3;2857:12;2850:19;;2655:220;;;:::o;2881:366::-;;3044:67;3108:2;3103:3;3044:67;:::i;:::-;3037:74;;3120:93;3209:3;3120:93;:::i;:::-;3238:2;3233:3;3229:12;3222:19;;3027:220;;;:::o;3253:366::-;;3416:67;3480:2;3475:3;3416:67;:::i;:::-;3409:74;;3492:93;3581:3;3492:93;:::i;:::-;3610:2;3605:3;3601:12;3594:19;;3399:220;;;:::o;3625:366::-;;3788:67;3852:2;3847:3;3788:67;:::i;:::-;3781:74;;3864:93;3953:3;3864:93;:::i;:::-;3982:2;3977:3;3973:12;3966:19;;3771:220;;;:::o;3997:366::-;;4160:67;4224:2;4219:3;4160:67;:::i;:::-;4153:74;;4236:93;4325:3;4236:93;:::i;:::-;4354:2;4349:3;4345:12;4338:19;;4143:220;;;:::o;4369:366::-;;4532:67;4596:2;4591:3;4532:67;:::i;:::-;4525:74;;4608:93;4697:3;4608:93;:::i;:::-;4726:2;4721:3;4717:12;4710:19;;4515:220;;;:::o;4741:366::-;;4904:67;4968:2;4963:3;4904:67;:::i;:::-;4897:74;;4980:93;5069:3;4980:93;:::i;:::-;5098:2;5093:3;5089:12;5082:19;;4887:220;;;:::o;5113:366::-;;5276:67;5340:2;5335:3;5276:67;:::i;:::-;5269:74;;5352:93;5441:3;5352:93;:::i;:::-;5470:2;5465:3;5461:12;5454:19;;5259:220;;;:::o;5485:366::-;;5648:67;5712:2;5707:3;5648:67;:::i;:::-;5641:74;;5724:93;5813:3;5724:93;:::i;:::-;5842:2;5837:3;5833:12;5826:19;;5631:220;;;:::o;5857:366::-;;6020:67;6084:2;6079:3;6020:67;:::i;:::-;6013:74;;6096:93;6185:3;6096:93;:::i;:::-;6214:2;6209:3;6205:12;6198:19;;6003:220;;;:::o;6229:366::-;;6392:67;6456:2;6451:3;6392:67;:::i;:::-;6385:74;;6468:93;6557:3;6468:93;:::i;:::-;6586:2;6581:3;6577:12;6570:19;;6375:220;;;:::o;6601:366::-;;6764:67;6828:2;6823:3;6764:67;:::i;:::-;6757:74;;6840:93;6929:3;6840:93;:::i;:::-;6958:2;6953:3;6949:12;6942:19;;6747:220;;;:::o;6973:366::-;;7136:67;7200:2;7195:3;7136:67;:::i;:::-;7129:74;;7212:93;7301:3;7212:93;:::i;:::-;7330:2;7325:3;7321:12;7314:19;;7119:220;;;:::o;7345:366::-;;7508:67;7572:2;7567:3;7508:67;:::i;:::-;7501:74;;7584:93;7673:3;7584:93;:::i;:::-;7702:2;7697:3;7693:12;7686:19;;7491:220;;;:::o;7717:118::-;7804:24;7822:5;7804:24;:::i;:::-;7799:3;7792:37;7782:53;;:::o;7841:112::-;7924:22;7940:5;7924:22;:::i;:::-;7919:3;7912:35;7902:51;;:::o;7959:222::-;;8090:2;8079:9;8075:18;8067:26;;8103:71;8171:1;8160:9;8156:17;8147:6;8103:71;:::i;:::-;8057:124;;;;:::o;8187:254::-;;8334:2;8323:9;8319:18;8311:26;;8347:87;8431:1;8420:9;8416:17;8407:6;8347:87;:::i;:::-;8301:140;;;;:::o;8447:419::-;;8651:2;8640:9;8636:18;8628:26;;8700:9;8694:4;8690:20;8686:1;8675:9;8671:17;8664:47;8728:131;8854:4;8728:131;:::i;:::-;8720:139;;8618:248;;;:::o;8872:419::-;;9076:2;9065:9;9061:18;9053:26;;9125:9;9119:4;9115:20;9111:1;9100:9;9096:17;9089:47;9153:131;9279:4;9153:131;:::i;:::-;9145:139;;9043:248;;;:::o;9297:419::-;;9501:2;9490:9;9486:18;9478:26;;9550:9;9544:4;9540:20;9536:1;9525:9;9521:17;9514:47;9578:131;9704:4;9578:131;:::i;:::-;9570:139;;9468:248;;;:::o;9722:419::-;;9926:2;9915:9;9911:18;9903:26;;9975:9;9969:4;9965:20;9961:1;9950:9;9946:17;9939:47;10003:131;10129:4;10003:131;:::i;:::-;9995:139;;9893:248;;;:::o;10147:419::-;;10351:2;10340:9;10336:18;10328:26;;10400:9;10394:4;10390:20;10386:1;10375:9;10371:17;10364:47;10428:131;10554:4;10428:131;:::i;:::-;10420:139;;10318:248;;;:::o;10572:419::-;;10776:2;10765:9;10761:18;10753:26;;10825:9;10819:4;10815:20;10811:1;10800:9;10796:17;10789:47;10853:131;10979:4;10853:131;:::i;:::-;10845:139;;10743:248;;;:::o;10997:419::-;;11201:2;11190:9;11186:18;11178:26;;11250:9;11244:4;11240:20;11236:1;11225:9;11221:17;11214:47;11278:131;11404:4;11278:131;:::i;:::-;11270:139;;11168:248;;;:::o;11422:419::-;;11626:2;11615:9;11611:18;11603:26;;11675:9;11669:4;11665:20;11661:1;11650:9;11646:17;11639:47;11703:131;11829:4;11703:131;:::i;:::-;11695:139;;11593:248;;;:::o;11847:419::-;;12051:2;12040:9;12036:18;12028:26;;12100:9;12094:4;12090:20;12086:1;12075:9;12071:17;12064:47;12128:131;12254:4;12128:131;:::i;:::-;12120:139;;12018:248;;;:::o;12272:419::-;;12476:2;12465:9;12461:18;12453:26;;12525:9;12519:4;12515:20;12511:1;12500:9;12496:17;12489:47;12553:131;12679:4;12553:131;:::i;:::-;12545:139;;12443:248;;;:::o;12697:419::-;;12901:2;12890:9;12886:18;12878:26;;12950:9;12944:4;12940:20;12936:1;12925:9;12921:17;12914:47;12978:131;13104:4;12978:131;:::i;:::-;12970:139;;12868:248;;;:::o;13122:419::-;;13326:2;13315:9;13311:18;13303:26;;13375:9;13369:4;13365:20;13361:1;13350:9;13346:17;13339:47;13403:131;13529:4;13403:131;:::i;:::-;13395:139;;13293:248;;;:::o;13547:419::-;;13751:2;13740:9;13736:18;13728:26;;13800:9;13794:4;13790:20;13786:1;13775:9;13771:17;13764:47;13828:131;13954:4;13828:131;:::i;:::-;13820:139;;13718:248;;;:::o;13972:419::-;;14176:2;14165:9;14161:18;14153:26;;14225:9;14219:4;14215:20;14211:1;14200:9;14196:17;14189:47;14253:131;14379:4;14253:131;:::i;:::-;14245:139;;14143:248;;;:::o;14397:222::-;;14528:2;14517:9;14513:18;14505:26;;14541:71;14609:1;14598:9;14594:17;14585:6;14541:71;:::i;:::-;14495:124;;;;:::o;14625:332::-;;14784:2;14773:9;14769:18;14761:26;;14797:71;14865:1;14854:9;14850:17;14841:6;14797:71;:::i;:::-;14878:72;14946:2;14935:9;14931:18;14922:6;14878:72;:::i;:::-;14751:206;;;;;:::o;14963:442::-;;15150:2;15139:9;15135:18;15127:26;;15163:71;15231:1;15220:9;15216:17;15207:6;15163:71;:::i;:::-;15244:72;15312:2;15301:9;15297:18;15288:6;15244:72;:::i;:::-;15326;15394:2;15383:9;15379:18;15370:6;15326:72;:::i;:::-;15117:288;;;;;;:::o;15411:553::-;;15626:3;15615:9;15611:19;15603:27;;15640:71;15708:1;15697:9;15693:17;15684:6;15640:71;:::i;:::-;15721:72;15789:2;15778:9;15774:18;15765:6;15721:72;:::i;:::-;15803;15871:2;15860:9;15856:18;15847:6;15803:72;:::i;:::-;15885;15953:2;15942:9;15938:18;15929:6;15885:72;:::i;:::-;15593:371;;;;;;;:::o;15970:767::-;;16237:3;16226:9;16222:19;16214:27;;16251:67;16315:1;16304:9;16300:17;16291:6;16251:67;:::i;:::-;16328:72;16396:2;16385:9;16381:18;16372:6;16328:72;:::i;:::-;16410;16478:2;16467:9;16463:18;16454:6;16410:72;:::i;:::-;16492;16560:2;16549:9;16545:18;16536:6;16492:72;:::i;:::-;16574:73;16642:3;16631:9;16627:19;16618:6;16574:73;:::i;:::-;16657;16725:3;16714:9;16710:19;16701:6;16657:73;:::i;:::-;16204:533;;;;;;;;;:::o;16743:169::-;;16861:6;16856:3;16849:19;16901:4;16896:3;16892:14;16877:29;;16839:73;;;;:::o;16918:305::-;;16977:20;16995:1;16977:20;:::i;:::-;16972:25;;17011:20;17029:1;17011:20;:::i;:::-;17006:25;;17165:1;17097:66;17093:74;17090:1;17087:81;17084:2;;;17171:18;;:::i;:::-;17084:2;17215:1;17212;17208:9;17201:16;;16962:261;;;;:::o;17229:185::-;;17286:20;17304:1;17286:20;:::i;:::-;17281:25;;17320:20;17338:1;17320:20;:::i;:::-;17315:25;;17359:1;17349:2;;17364:18;;:::i;:::-;17349:2;17406:1;17403;17399:9;17394:14;;17271:143;;;;:::o;17420:348::-;;17483:20;17501:1;17483:20;:::i;:::-;17478:25;;17517:20;17535:1;17517:20;:::i;:::-;17512:25;;17705:1;17637:66;17633:74;17630:1;17627:81;17622:1;17615:9;17608:17;17604:105;17601:2;;;17712:18;;:::i;:::-;17601:2;17760:1;17757;17753:9;17742:20;;17468:300;;;;:::o;17774:191::-;;17834:20;17852:1;17834:20;:::i;:::-;17829:25;;17868:20;17886:1;17868:20;:::i;:::-;17863:25;;17907:1;17904;17901:8;17898:2;;;17912:18;;:::i;:::-;17898:2;17957:1;17954;17950:9;17942:17;;17819:146;;;;:::o;17971:96::-;;18037:24;18055:5;18037:24;:::i;:::-;18026:35;;18016:51;;;:::o;18073:104::-;;18147:24;18165:5;18147:24;:::i;:::-;18136:35;;18126:51;;;:::o;18183:126::-;;18260:42;18253:5;18249:54;18238:65;;18228:81;;;:::o;18315:77::-;;18381:5;18370:16;;18360:32;;;:::o;18398:86::-;;18473:4;18466:5;18462:16;18451:27;;18441:43;;;:::o;18490:233::-;;18552:24;18570:5;18552:24;:::i;:::-;18543:33;;18598:66;18591:5;18588:77;18585:2;;;18668:18;;:::i;:::-;18585:2;18715:1;18708:5;18704:13;18697:20;;18533:190;;;:::o;18729:180::-;18777:77;18774:1;18767:88;18874:4;18871:1;18864:15;18898:4;18895:1;18888:15;18915:180;18963:77;18960:1;18953:88;19060:4;19057:1;19050:15;19084:4;19081:1;19074:15;19101:171;19241:23;19237:1;19229:6;19225:14;19218:47;19207:65;:::o;19278:182::-;19418:34;19414:1;19406:6;19402:14;19395:58;19384:76;:::o;19466:182::-;19606:34;19602:1;19594:6;19590:14;19583:58;19572:76;:::o;19654:177::-;19794:29;19790:1;19782:6;19778:14;19771:53;19760:71;:::o;19837:226::-;19977:34;19973:1;19965:6;19961:14;19954:58;20046:9;20041:2;20033:6;20029:15;20022:34;19943:120;:::o;20069:163::-;20209:15;20205:1;20197:6;20193:14;20186:39;20175:57;:::o;20238:179::-;20378:31;20374:1;20366:6;20362:14;20355:55;20344:73;:::o;20423:180::-;20563:32;20559:1;20551:6;20547:14;20540:56;20529:74;:::o;20609:176::-;20749:28;20745:1;20737:6;20733:14;20726:52;20715:70;:::o;20791:180::-;20931:32;20927:1;20919:6;20915:14;20908:56;20897:74;:::o;20977:220::-;21117:34;21113:1;21105:6;21101:14;21094:58;21186:3;21181:2;21173:6;21169:15;21162:28;21083:114;:::o;21203:180::-;21343:32;21339:1;21331:6;21327:14;21320:56;21309:74;:::o;21389:162::-;21529:14;21525:1;21517:6;21513:14;21506:38;21495:56;:::o;21557:225::-;21697:34;21693:1;21685:6;21681:14;21674:58;21766:8;21761:2;21753:6;21749:15;21742:33;21663:119;:::o;21788:122::-;21861:24;21879:5;21861:24;:::i;:::-;21854:5;21851:35;21841:2;;21900:1;21897;21890:12;21841:2;21831:79;:::o;21916:138::-;21997:32;22023:5;21997:32;:::i;:::-;21990:5;21987:43;21977:2;;22044:1;22041;22034:12;21977:2;21967:87;:::o;22060:122::-;22133:24;22151:5;22133:24;:::i;:::-;22126:5;22123:35;22113:2;;22172:1;22169;22162:12;22113:2;22103:79;:::o;22188:118::-;22259:22;22275:5;22259:22;:::i;:::-;22252:5;22249:33;22239:2;;22296:1;22293;22286:12;22239:2;22229:77;:::o

Swarm Source

ipfs://114c677e2746d90a2670d24621f2ab8c5d5212f0690d40b7c4ac675602736b28
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
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.