Contract 0x32774a15f0a2aae67402cF13f41d4e80CB22bbCF

 
Txn Hash
Block
From
To
Value [Txn Fee]
0x163bc6a14fb853fd52ac4a6c8fa5f8da4e93b58e0e5b1ca4b4f6e4a40aecdc4b71416792021-05-04 22:45:281 day 22 hrs ago0x4b1ca026bf1a9501c7a551fbd0911400551d4f49 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000342975
0x54a20f5ece70bb5fbb66ed061c6579022e7d0025ab4cbb9e2858bc4250ac1cd570813712021-05-02 20:02:414 days 1 hr ago0x1fac9b9ab8185af909ed0601915f698d38a859a8 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.00015
0x314cfc67ec73bee6dac544ee03b6d37fd88435c96ba8f19beff1ab677a94db4e70138352021-04-30 11:01:286 days 10 hrs ago0x041e76ce1f6d9fda8f7fdd143dfa977533e14280 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000439055
0xeb3fa86dc22726293b7ce1a83c5155fe0619be361f195f14388a0ac8df919b2370138122021-04-30 11:00:156 days 10 hrs ago0x041e76ce1f6d9fda8f7fdd143dfa977533e14280 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000439055
0x73eaa33937ae9e3703dea9eeb9e036770ff51ca69831303ebc9aa23f3a66222e69746262021-04-29 2:02:417 days 19 hrs ago0xd808b87c40d256a47ad17c79b9aade85c1511408 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000267975
0x75f499ee5c1adf29a7675c1920f65965d7d4dcb2b46110005f312957e8485e4969478112021-04-28 3:35:438 days 17 hrs ago0x4b1ca026bf1a9501c7a551fbd0911400551d4f49 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000342975
0x77b92b2678ed5f36c177174c2b497d67343e15f56c2f01366e4852b913c00f9869478012021-04-28 3:35:138 days 17 hrs ago0x4b1ca026bf1a9501c7a551fbd0911400551d4f49 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000342975
0xd5a4fc989f8e487b1a54d97e1f362e12f94cbb570638d8e2928e097d7c21fa3969385222021-04-27 19:50:059 days 1 hr ago0xd808b87c40d256a47ad17c79b9aade85c1511408 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000267975
0xb8ff3df2aaf117537b6fb647da03c7192fe6cf832d4591ce0e9a8a01bbdfcec069327302021-04-27 14:55:519 days 6 hrs ago0x4b1ca026bf1a9501c7a551fbd0911400551d4f49 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000342975
0xff9f5a10c758d4613433f0e6bda6a584b42ea8224f12ecb664459357fed1563c69184172021-04-27 2:51:599 days 18 hrs ago0x4b1ca026bf1a9501c7a551fbd0911400551d4f49 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000342975
0xd4ecaa0a9d9c9e139d9cd3ed9bc29c503a1cfc49e99ae77a560f98256f83bcb069118242021-04-26 21:19:4510 days 4 mins ago0xd808b87c40d256a47ad17c79b9aade85c1511408 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000267975
0xbcdc8e8d235858fb800940ef9d19a083c058bf6e3d62da0eb611f405dd89627f69031122021-04-26 13:59:5610 days 7 hrs ago0x4b1ca026bf1a9501c7a551fbd0911400551d4f49 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000342975
0x724c827b3cf84347fcb751cdc716bb9682baaa13ff2e8b3053a0dd5fea50924368755862021-04-25 14:58:3411 days 6 hrs ago0x1fac9b9ab8185af909ed0601915f698d38a859a8 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000342975
0xd029e070b44d30ed8edbd7e0b57f2a39aab1a1ff58142f4cf36735f5b1b9b68568534502021-04-24 20:26:1512 days 57 mins ago0x4b1ca026bf1a9501c7a551fbd0911400551d4f49 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000342975
0xb7be61a865d168899df36b73939aae389ff55a59a042218fd0a9761c16bb805568534142021-04-24 20:24:2712 days 59 mins ago0x4b1ca026bf1a9501c7a551fbd0911400551d4f49 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000342975
0x901d21a9b3b6364cd5516b667c54bcc95035f07779d2804ce84d83b32a3ddfc168167092021-04-23 13:44:0613 days 7 hrs ago0x437cbb8d14722ef9bf80ee9149cf428cc4447ff9 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.00030461
0x4ad0fb85137ec9791cd75bc991cf17d898f1991ddead71d89b5f315089b59c8f68003572021-04-23 0:01:5413 days 21 hrs ago0xd808b87c40d256a47ad17c79b9aade85c1511408 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000267975
0xf75bf39e86df9ed389480068d19f932ea4694b0394d92384651aac2c1db3243f67873462021-04-22 12:38:2714 days 8 hrs ago0xd808b87c40d256a47ad17c79b9aade85c1511408 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.00011732
0x00feab6a547486b9131f47ad9c62f6eb415941099623cb3f93cad8271474693b67810252021-04-22 7:22:0514 days 14 hrs ago0x562713ae5ae8a07a944c343669928131ad17b44f IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.000295185
0x55f396988a7e0464aa01f9e09f2c75cd6e81493c1063e5bc46a461ac767ef89f67773372021-04-22 4:17:4114 days 17 hrs ago0x5c3331e790f048ddcdd63787524be4e13a06e6d7 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.00041358
0x971943343e3444ebf8a9b9dbf44f27445b5e3ed03214c37ec4e919ac0cd2b69d67727092021-04-22 0:25:5414 days 20 hrs ago0xd808b87c40d256a47ad17c79b9aade85c1511408 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.00011732
0x8c77398ab573d8d7a6040ec0b509a491a6ab7cc2a8a884b2959e1629be2b90c967711682021-04-21 23:08:2514 days 22 hrs ago0x1a8d015493d6e99cc2e14e232907fa0fbe604d68 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.00055582
0x0c176ffe8b6c86a2ca405ab213ee591064fe281c5167436d163e34ad69597eff67696202021-04-21 21:49:2814 days 23 hrs ago0x1e53661248c7d80340ed35afb8e93ea0ebdfde7c IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.00055582
0x44c29fbfe265bd59b10cb625d431ec34ccdee2d25009fe65e9cc4e473f27c16c67696102021-04-21 21:48:5814 days 23 hrs ago0xb81109cf2b6308db640d9f6023092535fdbbb748 IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.00055582
0x59ebcbc63ec700448ffc8916cff59907a5c161273bd43a7dd8326e0eb7e26f9067695982021-04-21 21:48:2214 days 23 hrs ago0x8fa6457f5a04fce7ed7fb9cfb565e9117c5bd19c IN  0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0 BNB0.00073979
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x163bc6a14fb853fd52ac4a6c8fa5f8da4e93b58e0e5b1ca4b4f6e4a40aecdc4b71416792021-05-04 22:45:281 day 22 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x4b1ca026bf1a9501c7a551fbd0911400551d4f491.821479166666666666 BNB
0x314cfc67ec73bee6dac544ee03b6d37fd88435c96ba8f19beff1ab677a94db4e70138352021-04-30 11:01:286 days 10 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x041e76ce1f6d9fda8f7fdd143dfa977533e142800.075 BNB
0xeb3fa86dc22726293b7ce1a83c5155fe0619be361f195f14388a0ac8df919b2370138122021-04-30 11:00:156 days 10 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x041e76ce1f6d9fda8f7fdd143dfa977533e142800.075 BNB
0x73eaa33937ae9e3703dea9eeb9e036770ff51ca69831303ebc9aa23f3a66222e69746262021-04-29 2:02:417 days 19 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0xd808b87c40d256a47ad17c79b9aade85c15114080.071907291666666666 BNB
0x75f499ee5c1adf29a7675c1920f65965d7d4dcb2b46110005f312957e8485e4969478112021-04-28 3:35:438 days 17 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x4b1ca026bf1a9501c7a551fbd0911400551d4f491.141635416666666666 BNB
0x77b92b2678ed5f36c177174c2b497d67343e15f56c2f01366e4852b913c00f9869478012021-04-28 3:35:138 days 17 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x4b1ca026bf1a9501c7a551fbd0911400551d4f491.141600694444444444 BNB
0xd5a4fc989f8e487b1a54d97e1f362e12f94cbb570638d8e2928e097d7c21fa3969385222021-04-27 19:50:059 days 1 hr ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0xd808b87c40d256a47ad17c79b9aade85c15114080.060578541666666666 BNB
0xb8ff3df2aaf117537b6fb647da03c7192fe6cf832d4591ce0e9a8a01bbdfcec069327302021-04-27 14:55:519 days 6 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x4b1ca026bf1a9501c7a551fbd0911400551d4f491.088866898148148148 BNB
0xff9f5a10c758d4613433f0e6bda6a584b42ea8224f12ecb664459357fed1563c69184172021-04-27 2:51:599 days 18 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x4b1ca026bf1a9501c7a551fbd0911400551d4f491.038598379629629629 BNB
0xd4ecaa0a9d9c9e139d9cd3ed9bc29c503a1cfc49e99ae77a560f98256f83bcb069118242021-04-26 21:19:4510 days 4 mins ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0xd808b87c40d256a47ad17c79b9aade85c15114080.052138958333333333 BNB
0xbcdc8e8d235858fb800940ef9d19a083c058bf6e3d62da0eb611f405dd89627f69031122021-04-26 13:59:5610 days 7 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x4b1ca026bf1a9501c7a551fbd0911400551d4f490.984983796296296296 BNB
0x724c827b3cf84347fcb751cdc716bb9682baaa13ff2e8b3053a0dd5fea50924368755862021-04-25 14:58:3411 days 6 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x1fac9b9ab8185af909ed0601915f698d38a859a80.092037152777777777 BNB
0xd029e070b44d30ed8edbd7e0b57f2a39aab1a1ff58142f4cf36735f5b1b9b68568534502021-04-24 20:26:1512 days 57 mins ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x4b1ca026bf1a9501c7a551fbd0911400551d4f490.811811342592592592 BNB
0xb7be61a865d168899df36b73939aae389ff55a59a042218fd0a9761c16bb805568534142021-04-24 20:24:2712 days 59 mins ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x4b1ca026bf1a9501c7a551fbd0911400551d4f490.811686342592592592 BNB
0x901d21a9b3b6364cd5516b667c54bcc95035f07779d2804ce84d83b32a3ddfc168167092021-04-23 13:44:0613 days 7 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x437cbb8d14722ef9bf80ee9149cf428cc4447ff90.01263515625 BNB
0x4ad0fb85137ec9791cd75bc991cf17d898f1991ddead71d89b5f315089b59c8f68003572021-04-23 0:01:5413 days 21 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0xd808b87c40d256a47ad17c79b9aade85c15114080.017152395833333333 BNB
0x00feab6a547486b9131f47ad9c62f6eb415941099623cb3f93cad8271474693b67810252021-04-22 7:22:0514 days 14 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x562713ae5ae8a07a944c343669928131ad17b44f0.004217447916666666 BNB
0x55f396988a7e0464aa01f9e09f2c75cd6e81493c1063e5bc46a461ac767ef89f67773372021-04-22 4:17:4114 days 17 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x5c3331e790f048ddcdd63787524be4e13a06e6d70.136103125 BNB
0x8c77398ab573d8d7a6040ec0b509a491a6ab7cc2a8a884b2959e1629be2b90c967711682021-04-21 23:08:2514 days 22 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x1a8d015493d6e99cc2e14e232907fa0fbe604d680.00005 BNB
0x8c77398ab573d8d7a6040ec0b509a491a6ab7cc2a8a884b2959e1629be2b90c967711682021-04-21 23:08:2514 days 22 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x1a8d015493d6e99cc2e14e232907fa0fbe604d680.007692881944444444 BNB
0x0c176ffe8b6c86a2ca405ab213ee591064fe281c5167436d163e34ad69597eff67696202021-04-21 21:49:2814 days 23 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x1e53661248c7d80340ed35afb8e93ea0ebdfde7c0.00005 BNB
0x0c176ffe8b6c86a2ca405ab213ee591064fe281c5167436d163e34ad69597eff67696202021-04-21 21:49:2814 days 23 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x1e53661248c7d80340ed35afb8e93ea0ebdfde7c0.04677625 BNB
0x44c29fbfe265bd59b10cb625d431ec34ccdee2d25009fe65e9cc4e473f27c16c67696102021-04-21 21:48:5814 days 23 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0xb81109cf2b6308db640d9f6023092535fdbbb7480.00005 BNB
0x44c29fbfe265bd59b10cb625d431ec34ccdee2d25009fe65e9cc4e473f27c16c67696102021-04-21 21:48:5814 days 23 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0xb81109cf2b6308db640d9f6023092535fdbbb7480.0467790625 BNB
0x59ebcbc63ec700448ffc8916cff59907a5c161273bd43a7dd8326e0eb7e26f9067695982021-04-21 21:48:2214 days 23 hrs ago 0x32774a15f0a2aae67402cf13f41d4e80cb22bbcf0x8fa6457f5a04fce7ed7fb9cfb565e9117c5bd19c0.00015 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WINbnb

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at BscScan.com on 2021-04-13
*/

pragma solidity ^0.5.17;

library Objects {
    struct Investment {
        uint256 planId;
        uint256 investmentDate;
        uint256 investment;
        uint256 lastWithdrawalDate;
        uint256 currentDividends;
        bool isExpired;
    }

    struct Plan {
        uint256 dailyInterest;
        uint256 term; //0 means unlimited
    }

    struct Investor {
        address addr;
        uint256 referrerEarnings;
        uint256 availableReferrerEarnings;
        uint256 referrer;
        uint256 planCount;
        mapping(uint256 => Investment) plans;
        uint256 level1RefCount;
        uint256 level2RefCount;
        uint256 level3RefCount;
        uint256 checkpoint;
    }
}

contract Ownable {
    address public owner;

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

    constructor() public {
        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 WINbnb is Ownable {
    using SafeMath for uint256;
    uint256 public constant DEVELOPER_RATE = 40; //per thousand
    uint256 public constant MARKETING_RATE = 40; //per thousand	
    uint256 public constant FUND_RATE = 40;
    uint256 public constant REFERENCE_RATE = 81;
    uint256 public constant REFERENCE_LEVEL1_RATE = 40;
    uint256 public constant REFERENCE_LEVEL2_RATE = 20;
    uint256 public constant REFERENCE_LEVEL3_RATE = 20;
    uint256 public constant REFERENCE_SELF_RATE = 1;
    uint256 public constant MINIMUM = 0.05 ether; //0.05 BNB minimum investment needed
    uint256 public constant REFERRER_CODE = 6666; //default
    uint256 public constant TIME_STEP = 86400;
    uint256 public constant DAY = 1 days;
    uint256 public constant LAUNCH_TIME = 1618592400; //Fri Apr 16 2021 17:00:00 GMT Time

    uint256 public latestReferrerCode;
    uint256 private totalInvestments_;

    address payable public fundAds;
    address payable public mktAds;
    address payable public prjAds;

    mapping(address => uint256) public address2UID;
    mapping(uint256 => Objects.Investor) public uid2Investor;
    Objects.Plan[] private investmentPlans_;

    event onInvest(address investor, uint256 amount);
    event onGrant(address grantor, address beneficiary, uint256 amount);
    event onWithdraw(address investor, uint256 amount);

    constructor(address payable fundAddr,address payable mktAddr, address payable prjAddr) public {
        fundAds = fundAddr;
        mktAds = mktAddr;
        prjAds = prjAddr;
        _init();
    }

    function() external payable {
        if (msg.value == 0) {
            withdraw();
        } else {
			invest(0, 0); //default to buy plan 0, no referrer
        }
    }

    function checkIn() public {
    }

    function setMarketingAccount(address payable _newMarketingAccount) public onlyOwner {
        require(_newMarketingAccount != address(0));
        mktAds = _newMarketingAccount;
    }

    function getMarketingAccount() public view onlyOwner returns (address) {
        return mktAds;
    }

    function setDeveloperAccount(address payable _newDeveloperAccount) public onlyOwner {
        require(_newDeveloperAccount != address(0));
        prjAds = _newDeveloperAccount;
    }

    function getDeveloperAccount() public view onlyOwner returns (address) {
        return prjAds;
    }

    function setReferenceAccount(address payable _newReferenceAccount) public onlyOwner {
        require(_newReferenceAccount != address(0));
        prjAds = _newReferenceAccount;
    }

    function getReferenceAccount() public view onlyOwner returns (address) {
        return prjAds;
    }

    function _init() private {
        latestReferrerCode = REFERRER_CODE;
        address2UID[msg.sender] = latestReferrerCode;
        uid2Investor[latestReferrerCode].addr = msg.sender;
        uid2Investor[latestReferrerCode].referrer = 0;
        uid2Investor[latestReferrerCode].planCount = 0;
        investmentPlans_.push(Objects.Plan(50, 0)); //unlimited
        investmentPlans_.push(Objects.Plan(100, TIME_STEP.mul(20))); //20 days
        investmentPlans_.push(Objects.Plan(150, TIME_STEP.mul(10))); //10 days
        investmentPlans_.push(Objects.Plan(180, TIME_STEP.mul(15))); //15 days
    }

    function getCurrentPlans() public view returns (uint256[] memory, uint256[] memory, uint256[] memory) {
        uint256[] memory ids = new uint256[](investmentPlans_.length);
        uint256[] memory interests = new uint256[](investmentPlans_.length);
        uint256[] memory terms = new uint256[](investmentPlans_.length);
        for (uint256 i = 0; i < investmentPlans_.length; i++) {
            Objects.Plan storage plan = investmentPlans_[i];
            ids[i] = i;
            interests[i] = plan.dailyInterest;
            terms[i] = plan.term;
        }
        return
        (
        ids,
        interests,
        terms
        );
    }

    function getTotalInvestments() public onlyOwner view returns (uint256){
        return totalInvestments_;
    }

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

    function getUIDByAddress(address _addr) public view returns (uint256) {
        return address2UID[_addr];
    }

    function getInvestorInfoByUID(uint256 _uid) public view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256[] memory, uint256[] memory) {
        if (msg.sender != owner) {
            require(address2UID[msg.sender] == _uid, "only owner or self can check the investor info.");
        }
        Objects.Investor storage investor = uid2Investor[_uid];
        uint256[] memory newDividends = new uint256[](investor.planCount);
        uint256[] memory currentDividends = new  uint256[](investor.planCount);
        for (uint256 i = 0; i < investor.planCount; i++) {
            require(investor.plans[i].investmentDate != 0, "wrong investment date");
            currentDividends[i] = investor.plans[i].currentDividends;
            if (investor.plans[i].isExpired) {
                newDividends[i] = 0;
            } else {
                if (investmentPlans_[investor.plans[i].planId].term > 0) {
                    if (block.timestamp >= investor.plans[i].investmentDate.add(investmentPlans_[investor.plans[i].planId].term)) {
                        newDividends[i] = _calculateDividends(investor.plans[i].investment, investmentPlans_[investor.plans[i].planId].dailyInterest, investor.plans[i].investmentDate.add(investmentPlans_[investor.plans[i].planId].term), investor.plans[i].lastWithdrawalDate);
                    } else {
                        newDividends[i] = _calculateDividends(investor.plans[i].investment, investmentPlans_[investor.plans[i].planId].dailyInterest, block.timestamp, investor.plans[i].lastWithdrawalDate);
                    }
                } else {
                    newDividends[i] = _calculateDividends(investor.plans[i].investment, investmentPlans_[investor.plans[i].planId].dailyInterest, block.timestamp, investor.plans[i].lastWithdrawalDate);
                }
            }
        }
        return
        (
        investor.referrerEarnings,
        investor.availableReferrerEarnings,
        investor.referrer,
        investor.level1RefCount,
        investor.level2RefCount,
        investor.level3RefCount,
        investor.planCount,
        currentDividends,
        newDividends
        );
    }

    function getInvestmentPlanByUID(uint256 _uid) public view returns (uint256[] memory, uint256[] memory, uint256[] memory, uint256[] memory, bool[] memory) {
        if (msg.sender != owner) {
            require(address2UID[msg.sender] == _uid, "only owner or self can check the investment plan info.");
        }
        Objects.Investor storage investor = uid2Investor[_uid];
        uint256[] memory planIds = new  uint256[](investor.planCount);
        uint256[] memory investmentDates = new  uint256[](investor.planCount);
        uint256[] memory investments = new  uint256[](investor.planCount);
        uint256[] memory currentDividends = new  uint256[](investor.planCount);
        bool[] memory isExpireds = new  bool[](investor.planCount);

        for (uint256 i = 0; i < investor.planCount; i++) {
            require(investor.plans[i].investmentDate!=0,"wrong investment date");
            planIds[i] = investor.plans[i].planId;
            currentDividends[i] = investor.plans[i].currentDividends;
            investmentDates[i] = investor.plans[i].investmentDate;
            investments[i] = investor.plans[i].investment;
            if (investor.plans[i].isExpired) {
                isExpireds[i] = true;
            } else {
                isExpireds[i] = false;
                if (investmentPlans_[investor.plans[i].planId].term > 0) {
                    if (block.timestamp >= investor.plans[i].investmentDate.add(investmentPlans_[investor.plans[i].planId].term)) {
                        isExpireds[i] = true;
                    }
                }
            }
        }

        return
        (
        planIds,
        investmentDates,
        investments,
        currentDividends,
        isExpireds
        );
    }

    function _addInvestor(address _addr, uint256 _referrerCode) private returns (uint256) {
        if (_referrerCode >= REFERRER_CODE) {
            //require(uid2Investor[_referrerCode].addr != address(0), "Wrong referrer code");
            if (uid2Investor[_referrerCode].addr == address(0)) {
                _referrerCode = 0;
            }
        } else {
            _referrerCode = 0;
        }
        address addr = _addr;
        latestReferrerCode = latestReferrerCode.add(1);
        address2UID[addr] = latestReferrerCode;
        uid2Investor[latestReferrerCode].addr = addr;
        uid2Investor[latestReferrerCode].referrer = _referrerCode;
        uid2Investor[latestReferrerCode].planCount = 0;
        if (_referrerCode >= REFERRER_CODE) {
            uint256 _ref1 = _referrerCode;
            uint256 _ref2 = uid2Investor[_ref1].referrer;
            uint256 _ref3 = uid2Investor[_ref2].referrer;
            uid2Investor[_ref1].level1RefCount = uid2Investor[_ref1].level1RefCount.add(1);
            if (_ref2 >= REFERRER_CODE) {
                uid2Investor[_ref2].level2RefCount = uid2Investor[_ref2].level2RefCount.add(1);
            }
            if (_ref3 >= REFERRER_CODE) {
                uid2Investor[_ref3].level3RefCount = uid2Investor[_ref3].level3RefCount.add(1);
            }
        }
        return (latestReferrerCode);
    }

    function _invest(address _addr, uint256 _planId, uint256 _referrerCode, uint256 _amount) private returns (bool) {
        require(block.timestamp >= LAUNCH_TIME ,"Not Launch");
        require(_planId >= 0 && _planId < investmentPlans_.length, "Wrong investment plan id");
        require(_amount >= MINIMUM, "Less than the minimum amount of deposit requirement");
        uint256 uid = address2UID[_addr];
        if (uid == 0) {
            uid = _addInvestor(_addr, _referrerCode);
            //new user
        } else {//old user
            //do nothing, referrer is permenant
        }
        uint256 planCount = uid2Investor[uid].planCount;
        Objects.Investor storage investor = uid2Investor[uid];
        investor.plans[planCount].planId = _planId;
        investor.plans[planCount].investmentDate = block.timestamp;
        investor.plans[planCount].lastWithdrawalDate = block.timestamp;
        investor.plans[planCount].investment = _amount;
        investor.plans[planCount].currentDividends = 0;
        investor.plans[planCount].isExpired = false;

        investor.planCount = investor.planCount.add(1);

        _calculateReferrerReward(uid, _amount, investor.referrer);

        totalInvestments_ = totalInvestments_.add(_amount);

        uint256 developerPercentage = (_amount.mul(DEVELOPER_RATE)).div(1000);
        prjAds.transfer(developerPercentage);
        uint256 marketingPercentage = (_amount.mul(MARKETING_RATE)).div(1000);
        mktAds.transfer(marketingPercentage);
        uint256 fundingPercentage = (_amount.mul(FUND_RATE)).div(1000);
        fundAds.transfer(fundingPercentage);
        return true;
    }

    function grant(address addr, uint256 _planId) public payable {
        uint256 grantorUid = address2UID[msg.sender];
        bool isAutoAddReferrer = true;
        uint256 referrerCode = 0;

        if (grantorUid != 0 && isAutoAddReferrer) {
            referrerCode = grantorUid;
        }

        if (_invest(addr,_planId,referrerCode,msg.value)) {
            emit onGrant(msg.sender, addr, msg.value);
        }
    }

    function invest(uint256 _referrerCode, uint256 _planId) public payable {
        if (_invest(msg.sender, _planId, _referrerCode, msg.value)) {
            emit onInvest(msg.sender, msg.value);
        }
    }

    function withdraw() public payable {
        require(msg.value == 0, "withdrawal doesn't allow to transfer hr simultaneously");
        uint256 uid = address2UID[msg.sender];
        require (block.timestamp >= uid2Investor[uid].checkpoint.add(DAY.mul(3).div(2)), "Withdraw every 36 hours");
        require(uid != 0, "Can not withdraw because no any investments");
        uint256 withdrawalAmount = 0;
        for (uint256 i = 0; i < uid2Investor[uid].planCount; i++) {
            if (uid2Investor[uid].plans[i].isExpired) {
                continue;
            }

            Objects.Plan storage plan = investmentPlans_[uid2Investor[uid].plans[i].planId];

            bool isExpired = false;
            uint256 withdrawalDate = block.timestamp;
            if (plan.term > 0) {
                uint256 endTime = uid2Investor[uid].plans[i].investmentDate.add(plan.term);
                if (withdrawalDate >= endTime) {
                    withdrawalDate = endTime;
                    isExpired = true;
                }
            }

            uint256 amount = _calculateDividends(uid2Investor[uid].plans[i].investment , plan.dailyInterest , withdrawalDate , uid2Investor[uid].plans[i].lastWithdrawalDate);

            withdrawalAmount += amount;

            uid2Investor[uid].plans[i].lastWithdrawalDate = withdrawalDate;
            uid2Investor[uid].plans[i].isExpired = isExpired;
            uid2Investor[uid].plans[i].currentDividends += amount;
        }
		
		if (withdrawalAmount>0) {
			msg.sender.transfer(withdrawalAmount);
		}
		

        if (uid2Investor[uid].availableReferrerEarnings>0) {
            msg.sender.transfer(uid2Investor[uid].availableReferrerEarnings);
            uid2Investor[uid].referrerEarnings = uid2Investor[uid].availableReferrerEarnings.add(uid2Investor[uid].referrerEarnings);
            uid2Investor[uid].availableReferrerEarnings = 0;
        }
        
        uid2Investor[uid].checkpoint = block.timestamp;
        

        emit onWithdraw(msg.sender, withdrawalAmount);
    }

    function _calculateDividends(uint256 _amount, uint256 _dailyInterestRate, uint256 _now, uint256 _start) private pure returns (uint256) {
        return (_amount * _dailyInterestRate / 1000 * (_now - _start)) / TIME_STEP;
    }

    function _calculateReferrerReward(uint256 _uid, uint256 _investment, uint256 _referrerCode) private {

        uint256 _allReferrerAmount = (_investment.mul(REFERENCE_RATE)).div(1000);
        if (_referrerCode != 0) {
            uint256 _ref1 = _referrerCode;
            uint256 _ref2 = uid2Investor[_ref1].referrer;
            uint256 _ref3 = uid2Investor[_ref2].referrer;
            uint256 _refAmount = 0;

            if (_ref1 != 0) {
                _refAmount = (_investment.mul(REFERENCE_LEVEL1_RATE)).div(1000);
                _allReferrerAmount = _allReferrerAmount.sub(_refAmount);
                uid2Investor[_ref1].availableReferrerEarnings = _refAmount.add(uid2Investor[_ref1].availableReferrerEarnings);
                _refAmount = (_investment.mul(REFERENCE_SELF_RATE)).div(1000);
                uid2Investor[_uid].availableReferrerEarnings =  _refAmount.add(uid2Investor[_uid].availableReferrerEarnings);
            }

            if (_ref2 != 0) {
                _refAmount = (_investment.mul(REFERENCE_LEVEL2_RATE)).div(1000);
                _allReferrerAmount = _allReferrerAmount.sub(_refAmount);
                uid2Investor[_ref2].availableReferrerEarnings = _refAmount.add(uid2Investor[_ref2].availableReferrerEarnings);
            }

            if (_ref3 != 0) {
                _refAmount = (_investment.mul(REFERENCE_LEVEL3_RATE)).div(1000);
                _allReferrerAmount = _allReferrerAmount.sub(_refAmount);
                uid2Investor[_ref3].availableReferrerEarnings = _refAmount.add(uid2Investor[_ref3].availableReferrerEarnings);
            }
        }

        if (_allReferrerAmount > 0) {
            prjAds.transfer(_allReferrerAmount.div(3));
            mktAds.transfer(_allReferrerAmount.div(3));
            fundAds.transfer(_allReferrerAmount.div(3));
        }
    }

}

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

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
    }

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

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

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"fundAddr","type":"address"},{"internalType":"address payable","name":"mktAddr","type":"address"},{"internalType":"address payable","name":"prjAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"grantor","type":"address"},{"indexed":false,"internalType":"address","name":"beneficiary","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"onGrant","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"investor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"onInvest","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"investor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"onWithdraw","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"DAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DEVELOPER_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"FUND_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LAUNCH_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MARKETING_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MINIMUM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REFERENCE_LEVEL1_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REFERENCE_LEVEL2_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REFERENCE_LEVEL3_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REFERENCE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REFERENCE_SELF_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"REFERRER_CODE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TIME_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"address2UID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"checkIn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fundAds","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentPlans","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getDeveloperAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_uid","type":"uint256"}],"name":"getInvestmentPlanByUID","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_uid","type":"uint256"}],"name":"getInvestorInfoByUID","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMarketingAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getReferenceAccount","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalInvestments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"getUIDByAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"_planId","type":"uint256"}],"name":"grant","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_referrerCode","type":"uint256"},{"internalType":"uint256","name":"_planId","type":"uint256"}],"name":"invest","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"latestReferrerCode","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mktAds","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"prjAds","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_newDeveloperAccount","type":"address"}],"name":"setDeveloperAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_newMarketingAccount","type":"address"}],"name":"setMarketingAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_newReferenceAccount","type":"address"}],"name":"setReferenceAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"uid2Investor","outputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"referrerEarnings","type":"uint256"},{"internalType":"uint256","name":"availableReferrerEarnings","type":"uint256"},{"internalType":"uint256","name":"referrer","type":"uint256"},{"internalType":"uint256","name":"planCount","type":"uint256"},{"internalType":"uint256","name":"level1RefCount","type":"uint256"},{"internalType":"uint256","name":"level2RefCount","type":"uint256"},{"internalType":"uint256","name":"level3RefCount","type":"uint256"},{"internalType":"uint256","name":"checkpoint","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":true,"stateMutability":"payable","type":"function"}]

60806040523480156200001157600080fd5b50604051620024f9380380620024f9833981810160405260608110156200003757600080fd5b508051602082015160409092015160008054336001600160a01b0319918216179091556003805482166001600160a01b03808616919091179091556004805483168287161790556005805490921690831617905590919062000098620000a1565b505050620002ee565b611a0a600181815533600081815260066020908152604080832095909555600781527f5232f482fff6e179426136adfd6187b3ce31b0e190d767a197f0f0f823c712e380546001600160a01b0319169093179092557f5232f482fff6e179426136adfd6187b3ce31b0e190d767a197f0f0f823c712e68190557f5232f482fff6e179426136adfd6187b3ce31b0e190d767a197f0f0f823c712e781905583518085018552603281528083018281526008805495860181559283905290517ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3600290950294850155517ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee49093019290925582518084019093526064835290919081810190620001e0906201518090601490620002bd811b6200196417901c565b9052815460018181018455600093845260209384902083516002909302019182559183015191015560408051808201909152609681526008918181019062000239906201518090600a9062001964620002bd821b17901c565b905281546001818101845560009384526020938490208351600290930201918255918301519101556040805180820190915260b481526008918181019062000292906201518090600f9062001964620002bd821b17901c565b9052815460018181018455600093845260209384902083516002909302019182559290910151910155565b600082620002ce57506000620002e8565b82820282848281620002dc57fe5b0414620002e557fe5b90505b92915050565b6121fb80620002fe6000396000f3fe60806040526004361061021a5760003560e01c80637e3ee80d11610123578063b2a0df7d116100ab578063e87de7681161006f578063e87de768146107bd578063f2fde38b146108b0578063f3e7569f1461058f578063f9a026aa146108e3578063fe4d017f146108f85761021a565b8063b2a0df7d1461067c578063b3b57c8714610691578063d6a63c9f146102fc578063d6ea1f6914610785578063d87aa6431461079a5761021a565b80638da5cb5b116100f25780638da5cb5b146105c25780639c484b5c146105d7578063a50898cb146104f1578063a94f86b4146105ec578063ab92bff6146106015761021a565b80637e3ee80d14610342578063838fcc901461057a57806389b7e860146102fc5780638ac1a1a41461058f5761021a565b806332bc298c116101a657806347f06cf61161017557806347f06cf61461035f5780634b413820146104f157806350b2a881146105065780636370920e1461053957806375c04d0b146105655761021a565b806332bc298c146102e757806335334602146103425780633ccfd60b1461035757806341a930ab146102fc5761021a565b8063183ff085116101ed578063183ff085146102bd57806325ccbc43146102d257806327cfe856146102e757806328e7cef5146102fc5780632914ae51146103115761021a565b8063022466b51461023957806312065fe0146102605780631463ae061461027557806316161548146102a8575b3461022c5761022761092b565b610237565b610237600080610cd8565b005b34801561024557600080fd5b5061024e610d28565b60408051918252519081900360200190f35b34801561026c57600080fd5b5061024e610d30565b34801561028157600080fd5b5061024e6004803603602081101561029857600080fd5b50356001600160a01b0316610d34565b3480156102b457600080fd5b5061024e610d46565b3480156102c957600080fd5b50610237610d4b565b3480156102de57600080fd5b5061024e610d4d565b3480156102f357600080fd5b5061024e610d53565b34801561030857600080fd5b5061024e610d5a565b34801561031d57600080fd5b50610326610d5f565b604080516001600160a01b039092168252519081900360200190f35b34801561034e57600080fd5b50610326610d6e565b61023761092b565b34801561036b57600080fd5b506103896004803603602081101561038257600080fd5b5035610d96565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019060200280838360005b838110156103d95781810151838201526020016103c1565b5050505090500186810385528a818151815260200191508051906020019060200280838360005b83811015610418578181015183820152602001610400565b50505050905001868103845289818151815260200191508051906020019060200280838360005b8381101561045757818101518382015260200161043f565b50505050905001868103835288818151815260200191508051906020019060200280838360005b8381101561049657818101518382015260200161047e565b50505050905001868103825287818151815260200191508051906020019060200280838360005b838110156104d55781810151838201526020016104bd565b505050509050019a505050505050505050505060405180910390f35b3480156104fd57600080fd5b5061024e61116b565b34801561051257600080fd5b506102376004803603602081101561052957600080fd5b50356001600160a01b0316611170565b6102376004803603604081101561054f57600080fd5b506001600160a01b0381351690602001356111bc565b34801561057157600080fd5b5061024e611244565b34801561058657600080fd5b5061032661124a565b34801561059b57600080fd5b50610237600480360360208110156105b257600080fd5b50356001600160a01b0316611272565b3480156105ce57600080fd5b506103266112be565b3480156105e357600080fd5b5061024e6112cd565b3480156105f857600080fd5b506103266112d8565b34801561060d57600080fd5b5061062b6004803603602081101561062457600080fd5b50356112e7565b604080516001600160a01b03909a168a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b34801561068857600080fd5b5061024e61133e565b34801561069d57600080fd5b506106bb600480360360208110156106b457600080fd5b5035611343565b604051808a81526020018981526020018881526020018781526020018681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610729578181015183820152602001610711565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610768578181015183820152602001610750565b505050509050019b50505050505050505050505060405180910390f35b34801561079157600080fd5b50610326611762565b610237600480360360408110156107b057600080fd5b5080359060200135610cd8565b3480156107c957600080fd5b506107d2611771565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561081a578181015183820152602001610802565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015610859578181015183820152602001610841565b50505050905001848103825285818151815260200191508051906020019060200280838360005b83811015610898578181015183820152602001610880565b50505050905001965050505050505060405180910390f35b3480156108bc57600080fd5b50610237600480360360208110156108d357600080fd5b50356001600160a01b03166118a5565b3480156108ef57600080fd5b5061024e61192a565b34801561090457600080fd5b5061024e6004803603602081101561091b57600080fd5b50356001600160a01b0316611949565b34156109685760405162461bcd60e51b81526004018080602001828103825260368152602001806120ce6036913960400191505060405180910390fd5b336000908152600660205260409020546109be6109a0600261099462015180600363ffffffff61196416565b9063ffffffff61199116565b6000838152600760205260409020600901549063ffffffff6119a616565b421015610a12576040805162461bcd60e51b815260206004820152601760248201527f576974686472617720657665727920333620686f757273000000000000000000604482015290519081900360640190fd5b80610a4e5760405162461bcd60e51b815260040180806020018281038252602b815260200180612104602b913960400191505060405180910390fd5b6000805b600083815260076020526040902060040154811015610bb35760008381526007602090815260408083208484526005908101909252909120015460ff1615610a9957610bab565b6000838152600760209081526040808320848452600501909152812054600880549091908110610ac557fe5b600091825260208220600160029092020190810154909250429015610b2c576001808401546000888152600760209081526040808320898452600501909152812090920154610b199163ffffffff6119a616565b9050808210610b2a57809150600192505b505b6000868152600760209081526040808320878452600501909152812060028101548554600390920154610b61929085906119b5565b6000888152600760209081526040808320898452600590810190925290912060038101949094558301805460ff191694151594909417909355506004018054820190559290920191505b600101610a52565b508015610be957604051339082156108fc029083906000818181858888f19350505050158015610be7573d6000803e3d6000fd5b505b60008281526007602052604090206002015415610c8357600082815260076020526040808220600201549051339282156108fc02929190818181858888f19350505050158015610c3d573d6000803e3d6000fd5b5060008281526007602052604090206001810154600290910154610c669163ffffffff6119a616565b600083815260076020526040812060018101929092556002909101555b60008281526007602090815260409182902042600990910155815133815290810183905281517fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc929181900390910190a15050565b610ce4338284346119cb565b15610d24576040805133815234602082015281517f9a7b89cf778462f98a9b59f99121c720927a5c37ffaaba0346f77326622a8aeb929181900390910190a15b5050565b636079c29081565b4790565b60066020526000908152604090205481565b605181565b565b611a0a81565b6201518081565b602881565b6003546001600160a01b031681565b600080546001600160a01b03163314610d8657600080fd5b506005546001600160a01b031690565b60005460609081908190819081906001600160a01b03163314610e0057336000908152600660205260409020548614610e005760405162461bcd60e51b815260040180806020018281038252603681526020018061215e6036913960400191505060405180910390fd5b600060076000888152602001908152602001600020905060608160040154604051908082528060200260200182016040528015610e47578160200160208202803883390190505b50905060608260040154604051908082528060200260200182016040528015610e7a578160200160208202803883390190505b50905060608360040154604051908082528060200260200182016040528015610ead578160200160208202803883390190505b50905060608460040154604051908082528060200260200182016040528015610ee0578160200160208202803883390190505b50905060608560040154604051908082528060200260200182016040528015610f13578160200160208202803883390190505b50905060005b8660040154811015611157576000818152600588016020526040902060010154610f82576040805162461bcd60e51b815260206004820152601560248201527477726f6e6720696e766573746d656e74206461746560581b604482015290519081900360640190fd5b60008181526005880160205260409020548651879083908110610fa157fe5b60200260200101818152505086600501600082815260200190815260200160002060040154838281518110610fd257fe5b6020026020010181815250508660050160008281526020019081526020016000206001015485828151811061100357fe5b6020026020010181815250508660050160008281526020019081526020016000206002015484828151811061103457fe5b60209081029190910181019190915260008281526005808a0190925260409020015460ff161561108157600182828151811061106c57fe5b9115156020928302919091019091015261114f565b600082828151811061108f57fe5b91151560209283029190910182015260008281526005890190915260408120546008805490919081106110be57fe5b906000526020600020906002020160010154111561114f5760008181526005880160205260409020546008805461112a929081106110f857fe5b60009182526020808320600160029093020182015485845260058c01909152604090922001549063ffffffff6119a616565b421061114f57600182828151811061113e57fe5b911515602092830291909101909101525b600101610f19565b50939b929a50909850965090945092505050565b601481565b6000546001600160a01b0316331461118757600080fd5b6001600160a01b03811661119a57600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600660205260408120549060019082158015906111dc5750815b156111e45750815b6111f0858583346119cb565b1561123d57604080513381526001600160a01b0387166020820152348183015290517fa42dcf7f76c611f59eb8a21823736f441a5e515b7bb248b11ce834d25d0630769181900360600190a15b5050505050565b60015481565b600080546001600160a01b0316331461126257600080fd5b506004546001600160a01b031690565b6000546001600160a01b0316331461128957600080fd5b6001600160a01b03811661129c57600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b66b1a2bc2ec5000081565b6004546001600160a01b031681565b60076020819052600091825260409091208054600182015460028301546003840154600485015460068601549686015460088701546009909701546001600160a01b03909616979496939592949193919290919089565b600181565b6000805481908190819081908190819060609081906001600160a01b031633146113b457336000908152600660205260409020548a146113b45760405162461bcd60e51b815260040180806020018281038252602f81526020018061212f602f913960400191505060405180910390fd5b6000600760008c81526020019081526020016000209050606081600401546040519080825280602002602001820160405280156113fb578160200160208202803883390190505b5090506060826004015460405190808252806020026020018201604052801561142e578160200160208202803883390190505b50905060005b836004015481101561171a57600081815260058501602052604090206001015461149d576040805162461bcd60e51b815260206004820152601560248201527477726f6e6720696e766573746d656e74206461746560581b604482015290519081900360640190fd5b600081815260058501602052604090206004015482518390839081106114bf57fe5b6020908102919091018101919091526000828152600580870190925260409020015460ff16156115085760008382815181106114f757fe5b602002602001018181525050611712565b600081815260058501602052604081205460088054909190811061152857fe5b90600052602060002090600202016001015411156116d0576000818152600585016020526040902054600880546115949290811061156257fe5b60009182526020808320600160029093020182015485845260058901909152604090922001549063ffffffff6119a616565b42106116655760008181526005850160205260409020600281015490546008805461164893929081106115c357fe5b90600052602060002090600202016000015461162f600888600501600087815260200190815260200160002060000154815481106115fd57fe5b60009182526020808320600160029093020182015488845260058c01909152604090922001549063ffffffff6119a616565b60008581526005890160205260409020600301546119b5565b83828151811061165457fe5b6020026020010181815250506116cb565b6000818152600585016020526040902060028101549054600880546116bf939290811061168e57fe5b90600052602060002090600202016000015442876005016000868152602001908152602001600020600301546119b5565b8382815181106114f757fe5b611712565b6000818152600585016020526040902060028101549054600880546116f9939290811061168e57fe5b83828151811061170557fe5b6020026020010181815250505b600101611434565b50826001015483600201548460030154856006015486600701548760080154886004015487899b509b509b509b509b509b509b509b509b505050509193959799909294969850565b6005546001600160a01b031681565b6060806060806008805490506040519080825280602002602001820160405280156117a6578160200160208202803883390190505b50905060606008805490506040519080825280602002602001820160405280156117da578160200160208202803883390190505b509050606060088054905060405190808252806020026020018201604052801561180e578160200160208202803883390190505b50905060005b6008548110156118985760006008828154811061182d57fe5b906000526020600020906002020190508185838151811061184a57fe5b602002602001018181525050806000015484838151811061186757fe5b602002602001018181525050806001015483838151811061188457fe5b602090810291909101015250600101611814565b5091945092509050909192565b6000546001600160a01b031633146118bc57600080fd5b6001600160a01b0381166118cf57600080fd5b600080546040516001600160a01b03808516939216917f2e3feca4334579203cd183fe1ced9524940047e5586fe13e8cc5dd1babaf6e8291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b0316331461194257600080fd5b5060025490565b6001600160a01b031660009081526006602052604090205490565b6000826119735750600061198b565b8282028284828161198057fe5b041461198857fe5b90505b92915050565b60008082848161199d57fe5b04949350505050565b60008282018381101561198857fe5b6201518091036103e89390920292909204020490565b6000636079c290421015611a13576040805162461bcd60e51b815260206004820152600a60248201526909cdee84098c2eadcc6d60b31b604482015290519081900360640190fd5b6008548410611a69576040805162461bcd60e51b815260206004820152601860248201527f57726f6e6720696e766573746d656e7420706c616e2069640000000000000000604482015290519081900360640190fd5b66b1a2bc2ec50000821015611aaf5760405162461bcd60e51b81526004018080602001828103825260338152602001806121946033913960400191505060405180910390fd5b6001600160a01b03851660009081526006602052604090205480611ada57611ad78685611c80565b90505b60008181526007602090815260408083206004808201805480875260058085019096529386208b81554260018083018290556003830191909155600282018b90559281019690965594909301805460ff191690559254909291611b43919063ffffffff6119a616565b8160040181905550611b5a83868360030154611e06565b600254611b6d908663ffffffff6119a616565b6002556000611b896103e861099488602863ffffffff61196416565b6005546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611bc4573d6000803e3d6000fd5b506000611bde6103e861099489602863ffffffff61196416565b6004546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611c19573d6000803e3d6000fd5b506000611c336103e86109948a602863ffffffff61196416565b6003546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611c6e573d6000803e3d6000fd5b5060019b9a5050505050505050505050565b6000611a0a8210611cb1576000828152600760205260409020546001600160a01b0316611cac57600091505b611cb6565b600091505b600180548491611ccc919063ffffffff6119a616565b60018181556001600160a01b03831660008181526006602090815260408083208690559482526007905283812080546001600160a01b031916909217909155815481528281206003018690559054815290812060040155611a0a8310611dfb5760008381526007602052604080822060038082015480855292842001549286905260060154859290611d6590600163ffffffff6119a616565b600084815260076020526040902060060155611a0a8210611db85760008281526007602081905260409091200154611da490600163ffffffff6119a616565b600083815260076020819052604090912001555b611a0a8110611df757600081815260076020526040902060080154611de490600163ffffffff6119a616565b6000828152600760205260409020600801555b5050505b505060015492915050565b6000611e1f6103e861099485605163ffffffff61196416565b90508115611fd257600082815260076020526040808220600390810154808452918320015484928315611efd57611e636103e861099489602863ffffffff61196416565b9050611e75858263ffffffff6120bb16565b600085815260076020526040902060020154909550611e9b90829063ffffffff6119a616565b600085815260076020526040902060020155611ec46103e861099489600163ffffffff61196416565b600089815260076020526040902060020154909150611eea90829063ffffffff6119a616565b6000898152600760205260409020600201555b8215611f6557611f1a6103e861099489601463ffffffff61196416565b9050611f2c858263ffffffff6120bb16565b600084815260076020526040902060020154909550611f5290829063ffffffff6119a616565b6000848152600760205260409020600201555b8115611fcd57611f826103e861099489601463ffffffff61196416565b9050611f94858263ffffffff6120bb16565b600083815260076020526040902060020154909550611fba90829063ffffffff6119a616565b6000838152600760205260409020600201555b505050505b80156120b5576005546001600160a01b03166108fc611ff883600363ffffffff61199116565b6040518115909202916000818181858888f19350505050158015612020573d6000803e3d6000fd5b506004546001600160a01b03166108fc61204183600363ffffffff61199116565b6040518115909202916000818181858888f19350505050158015612069573d6000803e3d6000fd5b50600380546001600160a01b0316906108fc9061208d90849063ffffffff61199116565b6040518115909202916000818181858888f1935050505015801561123d573d6000803e3d6000fd5b50505050565b6000828211156120c757fe5b5090039056fe7769746864726177616c20646f65736e277420616c6c6f7720746f207472616e736665722068722073696d756c74616e656f75736c7943616e206e6f742077697468647261772062656361757365206e6f20616e7920696e766573746d656e74736f6e6c79206f776e6572206f722073656c662063616e20636865636b2074686520696e766573746f7220696e666f2e6f6e6c79206f776e6572206f722073656c662063616e20636865636b2074686520696e766573746d656e7420706c616e20696e666f2e4c657373207468616e20746865206d696e696d756d20616d6f756e74206f66206465706f73697420726571756972656d656e74a265627a7a7231582006104b3beb1093e4222cc9c87a54901d691128f7bf8f8dba1edb0af5239bad5064736f6c63430005110032000000000000000000000000964a85d7d2de0febe220db9c234a480ddfe3c7d5000000000000000000000000964a85d7d2de0febe220db9c234a480ddfe3c7d5000000000000000000000000964a85d7d2de0febe220db9c234a480ddfe3c7d5

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

000000000000000000000000964a85d7d2de0febe220db9c234a480ddfe3c7d5000000000000000000000000964a85d7d2de0febe220db9c234a480ddfe3c7d5000000000000000000000000964a85d7d2de0febe220db9c234a480ddfe3c7d5

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000964a85d7d2de0febe220db9c234a480ddfe3c7d5
Arg [1] : 000000000000000000000000964a85d7d2de0febe220db9c234a480ddfe3c7d5
Arg [2] : 000000000000000000000000964a85d7d2de0febe220db9c234a480ddfe3c7d5


Deployed ByteCode Sourcemap

1241:16370:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2891:9;2887:130;;2922:10;:8;:10::i;:::-;2887:130;;;2956:12;2963:1;2966;2956:6;:12::i;:::-;1241:16370;1999:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1999:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;5406:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5406:99:0;;;:::i;2285:46::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2285:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2285:46:0;-1:-1:-1;;;;;2285:46:0;;:::i;1484:43::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1484:43:0;;;:::i;3032:34::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3032:34:0;;;:::i;1847:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1847:44:0;;;:::i;1956:36::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1956:36:0;;;:::i;1373:43::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1373:43:0;;;:::i;2174:30::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2174:30:0;;;:::i;:::-;;;;-1:-1:-1;;;;;2174:30:0;;;;;;;;;;;;;;3878:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3878:103:0;;;:::i;13414:2083::-;;;:::i;7863:1788::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7863:1788:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7863:1788:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7863:1788:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7863:1788:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7863:1788:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7863:1788:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7863:1788:0;;;;;;;;;;;;;;;;;;;;;;;;;1591:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1591:50:0;;;:::i;3074:186::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3074:186:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3074:186:0;-1:-1:-1;;;;;3074:186:0;;:::i;12751:435::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12751:435:0;;;;;;;;:::i;2092:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2092:33:0;;;:::i;3268:103::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3268:103:0;;;:::i;3684:186::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3684:186:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3684:186:0;-1:-1:-1;;;;;3684:186:0;;:::i;759:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;759:20:0;;;:::i;1759:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:44:0;;;:::i;2211:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2211:29:0;;;:::i;2338:56::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2338:56:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2338:56:0;;:::i;:::-;;;;-1:-1:-1;;;;;2338:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1705:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1705:47:0;;;:::i;5635:2220::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5635:2220:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5635:2220:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5635:2220:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5635:2220:0;;;;;;;;;;;;;;;;;;;;;;;;;;2247:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2247:29:0;;;:::i;13194:212::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13194:212:0;;;;;;;:::i;4609:668::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4609:668:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4609:668:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4609:668:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4609:668:0;;;;;;;;;;;;;;;;;;;;;1036:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1036:198:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1036:198:0;-1:-1:-1;;;;;1036:198:0;;:::i;5285:113::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5285:113:0;;;:::i;5513:114::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5513:114:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5513:114:0;-1:-1:-1;;;;;5513:114:0;;:::i;13414:2083::-;13468:9;:14;13460:81;;;;-1:-1:-1;;;13460:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13578:10;13552:11;13566:23;;;:11;:23;;;;;;13628:51;13661:17;13676:1;13661:10;1986:6;13669:1;13661:10;:7;:10;:::i;:::-;:14;:17;:14;:17;:::i;:::-;13628;;;;:12;:17;;;;;:28;;;;:51;:32;:51;:::i;:::-;13609:15;:70;;13600:107;;;;;-1:-1:-1;;;13600:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13726:8;13718:64;;;;-1:-1:-1;;;13718:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13793:24;;13832:1087;13856:17;;;;:12;:17;;;;;:27;;;13852:31;;13832:1087;;;13909:17;;;;:12;:17;;;;;;;;:26;;;:23;;;;:26;;;;;;:36;;;;13905:85;;;13966:8;;13905:85;14006:25;14051:17;;;:12;:17;;;;;;;;:26;;;:23;;:26;;;;;:33;14034:16;:51;;:16;;14051:33;14034:51;;;;;;;;;;;;;14198:9;14034:51;;;;;14198:9;;;;14034:51;;-1:-1:-1;14164:15:0;;14198:13;14194:283;;14296:9;;;;;14232:15;14250:17;;;:12;:17;;;;;;;;:26;;;:23;;:26;;;;;:41;;;;:56;;;:45;:56;:::i;:::-;14232:74;;14347:7;14329:14;:25;14325:137;;14396:7;14379:24;;14438:4;14426:16;;14325:137;14194:283;;14493:14;14530:17;;;:12;:17;;;;;;;;:26;;;:23;;:26;;;;;:37;;;;14570:18;;14608:45;;;;;14510:144;;14570:18;14591:14;;14510:19;:144::i;:::-;14714:17;;;;:12;:17;;;;;;;;:26;;;:23;;;;:26;;;;;;:45;;;:62;;;;14791:36;;:48;;-1:-1:-1;;14791:48:0;;;;;;;;;;;-1:-1:-1;14854:43:0;;:53;;;;;;14671:26;;;;;-1:-1:-1;13832:1087:0;13885:3;;13832:1087;;;-1:-1:-1;14931:18:0;;14927:73;;14957:37;;:10;;:37;;;;;14977:16;;14957:37;;;;14977:16;14957:10;:37;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14957:37:0;14927:73;15064:1;15020:17;;;:12;:17;;;;;:43;;;:45;15016:339;;15102:17;;;;:12;:17;;;;;;:43;;;15082:64;;:10;;:64;;;;;15102:43;15082:64;;15102:17;15082:64;15102:43;15082:10;:64;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;15246:17:0;;;;:12;:17;;;;;:34;;;;15198:43;;;;;:83;;;:47;:83;:::i;:::-;15161:17;;;;:12;:17;;;;;:34;;;:120;;;;15296:43;;;;:47;15016:339;15375:17;;;;:12;:17;;;;;;;;;15406:15;15375:28;;;;:46;15449:40;;15460:10;15449:40;;;;;;;;;;;;;;;;;;;;;13414:2083;;:::o;13194:212::-;13280:54;13288:10;13300:7;13309:13;13324:9;13280:7;:54::i;:::-;13276:123;;;13356:31;;;13365:10;13356:31;;13377:9;13356:31;;;;;;;;;;;;;;;;;13276:123;13194:212;;:::o;1999:48::-;2037:10;1999:48;:::o;5406:99::-;5476:21;5406:99;:::o;2285:46::-;;;;;;;;;;;;;:::o;1484:43::-;1525:2;1484:43;:::o;3032:34::-;:::o;1847:44::-;1887:4;1847:44;:::o;1956:36::-;1986:6;1956:36;:::o;1373:43::-;1414:2;1373:43;:::o;2174:30::-;;;-1:-1:-1;;;;;2174:30:0;;:::o;3878:103::-;3940:7;1002:5;;-1:-1:-1;;;;;1002:5:0;988:10;:19;980:28;;;;;;-1:-1:-1;3967:6:0;;-1:-1:-1;;;;;3967:6:0;3878:103;:::o;7863:1788::-;8046:5;;7930:16;;;;;;;;;;-1:-1:-1;;;;;8046:5:0;8032:10;:19;8028:150;;8088:10;8076:23;;;;:11;:23;;;;;;:31;;8068:98;;;;-1:-1:-1;;;8068:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8188:33;8224:12;:18;8237:4;8224:18;;;;;;;;;;;8188:54;;8253:24;8295:8;:18;;;8280:34;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;8280:34:0;;8253:61;;8325:32;8375:8;:18;;;8360:34;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;8360:34:0;;8325:69;;8405:28;8451:8;:18;;;8436:34;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;8436:34:0;;8405:65;;8481:33;8532:8;:18;;;8517:34;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;8517:34:0;;8481:70;;8562:24;8601:8;:18;;;8589:31;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;8589:31:0;-1:-1:-1;8562:58:0;-1:-1:-1;8638:9:0;8633:857;8657:8;:18;;;8653:1;:22;8633:857;;;8705:17;;;;:14;;;:17;;;;;:32;;;8697:68;;;;;-1:-1:-1;;;8697:68:0;;;;;;;;;;;;-1:-1:-1;;;8697:68:0;;;;;;;;;;;;;;;8793:17;;;;:14;;;:17;;;;;:24;8780:10;;:7;;8808:1;;8780:10;;;;;;;;;;;:37;;;;;8854:8;:14;;:17;8869:1;8854:17;;;;;;;;;;;:34;;;8832:16;8849:1;8832:19;;;;;;;;;;;;;:56;;;;;8924:8;:14;;:17;8939:1;8924:17;;;;;;;;;;;:32;;;8903:15;8919:1;8903:18;;;;;;;;;;;;;:53;;;;;8988:8;:14;;:17;9003:1;8988:17;;;;;;;;;;;:28;;;8971:11;8983:1;8971:14;;;;;;;;;;;;;;;;;;:45;;;;9035:17;;;;:14;;;;:17;;;;;;:27;;;;9031:448;;;9099:4;9083:10;9094:1;9083:13;;;;;;;;:20;;;:13;;;;;;;;;;;:20;9031:448;;;9160:5;9144:10;9155:1;9144:13;;;;;;;;:21;;;:13;;;;;;;;;;:21;9238:1;9205:17;;;:14;;;:17;;;;;;:24;9188:16;:42;;:16;;9205:24;9188:42;;;;;;;;;;;;;;;;:47;;;:51;9184:280;;;9341:17;;;;:14;;;:17;;;;;:24;9324:16;:42;;9287:85;;9341:24;9324:42;;;;;;;;;;;;;;:47;:42;;;;;:47;;;9287:17;;;:14;;;:17;;;;;;;:32;;;:85;:36;:85;:::i;:::-;9268:15;:104;9264:181;;9417:4;9401:10;9412:1;9401:13;;;;;;;;:20;;;:13;;;;;;;;;;;:20;9264:181;8677:3;;8633:857;;;-1:-1:-1;9529:7:0;;9547:15;;-1:-1:-1;9573:11:0;;-1:-1:-1;9547:15:0;-1:-1:-1;9529:7:0;;-1:-1:-1;7863:1788:0;-1:-1:-1;;;7863:1788:0:o;1591:50::-;1639:2;1591:50;:::o;3074:186::-;1002:5;;-1:-1:-1;;;;;1002:5:0;988:10;:19;980:28;;;;;;-1:-1:-1;;;;;3177:34:0;;3169:43;;;;;;3223:6;:29;;-1:-1:-1;;;;;;3223:29:0;-1:-1:-1;;;;;3223:29:0;;;;;;;;;;3074:186::o;12751:435::-;12856:10;12823:18;12844:23;;;:11;:23;;;;;;;12903:4;;12959:15;;;;;:36;;;12978:17;12959:36;12955:94;;;-1:-1:-1;13027:10:0;12955:94;13065:44;13073:4;13078:7;13086:12;13099:9;13065:7;:44::i;:::-;13061:118;;;13131:36;;;13139:10;13131:36;;-1:-1:-1;;;;;13131:36:0;;;;;;13157:9;13131:36;;;;;;;;;;;;;;;13061:118;12751:435;;;;;:::o;2092:33::-;;;;:::o;3268:103::-;3330:7;1002:5;;-1:-1:-1;;;;;1002:5:0;988:10;:19;980:28;;;;;;-1:-1:-1;3357:6:0;;-1:-1:-1;;;;;3357:6:0;3268:103;:::o;3684:186::-;1002:5;;-1:-1:-1;;;;;1002:5:0;988:10;:19;980:28;;;;;;-1:-1:-1;;;;;3787:34:0;;3779:43;;;;;;3833:6;:29;;-1:-1:-1;;;;;;3833:29:0;-1:-1:-1;;;;;3833:29:0;;;;;;;;;;3684:186::o;759:20::-;;;-1:-1:-1;;;;;759:20:0;;:::o;1759:44::-;1793:10;1759:44;:::o;2211:29::-;;;-1:-1:-1;;;;;2211:29:0;;:::o;2338:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2338:56:0;;;;;;;;;;;;;;;;;;:::o;1705:47::-;1751:1;1705:47;:::o;5635:2220::-;5700:7;5828:5;;5700:7;;;;;;;;;;;;5763:16;;;;-1:-1:-1;;;;;5828:5:0;5814:10;:19;5810:143;;5870:10;5858:23;;;;:11;:23;;;;;;:31;;5850:91;;;;-1:-1:-1;;;5850:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5963:33;5999:12;:18;6012:4;5999:18;;;;;;;;;;;5963:54;;6028:29;6074:8;:18;;;6060:33;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;6060:33:0;;6028:65;;6104:33;6155:8;:18;;;6140:34;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;6140:34:0;-1:-1:-1;6104:70:0;-1:-1:-1;6190:9:0;6185:1335;6209:8;:18;;;6205:1;:22;6185:1335;;;6257:17;;;;:14;;;:17;;;;;:32;;;6249:71;;;;;-1:-1:-1;;;6249:71:0;;;;;;;;;;;;-1:-1:-1;;;6249:71:0;;;;;;;;;;;;;;;6357:17;;;;:14;;;:17;;;;;:34;;;6335:19;;:16;;6372:1;;6335:19;;;;;;;;;;;;;;;;:56;;;;6410:17;;;;:14;;;;:17;;;;;;:27;;;;6406:1103;;;6476:1;6458:12;6471:1;6458:15;;;;;;;;;;;;;:19;;;;;6406:1103;;;6572:1;6539:17;;;:14;;;:17;;;;;:24;6522:16;:42;;:16;;6539:24;6522:42;;;;;;;;;;;;;;;;:47;;;:51;6518:976;;;6675:17;;;;:14;;;:17;;;;;:24;6658:16;:42;;6621:85;;6675:24;6658:42;;;;;;;;;;;;;;:47;:42;;;;;:47;;;6621:17;;;:14;;;:17;;;;;;;:32;;;:85;:36;:85;:::i;:::-;6602:15;:104;6598:648;;6773:17;;;;:14;;;:17;;;;;:28;;;;6820:24;;6803:16;:42;;6753:232;;6773:28;6820:24;6803:42;;;;;;;;;;;;;;;;:56;;;6861:85;6898:16;6915:8;:14;;:17;6930:1;6915:17;;;;;;;;;;;:24;;;6898:42;;;;;;;;;;;;;;;;:47;:42;;;;;:47;;;6861:17;;;:14;;;:17;;;;;;;:32;;;:85;:36;:85;:::i;:::-;6948:17;;;;:14;;;:17;;;;;:36;;;6753:19;:232::i;:::-;6735:12;6748:1;6735:15;;;;;;;;;;;;;:250;;;;;6598:648;;;7080:17;;;;:14;;;:17;;;;;:28;;;;7127:24;;7110:16;:42;;7060:162;;7080:28;7127:24;7110:42;;;;;;;;;;;;;;;;:56;;;7168:15;7185:8;:14;;:17;7200:1;7185:17;;;;;;;;;;;:36;;;7060:19;:162::i;:::-;7042:12;7055:1;7042:15;;;;;;;6598:648;6518:976;;;7332:17;;;;:14;;;:17;;;;;:28;;;;7379:24;;7362:16;:42;;7312:162;;7332:28;7379:24;7362:42;;;;;7312:162;7294:12;7307:1;7294:15;;;;;;;;;;;;;:180;;;;;6518:976;6229:3;;6185:1335;;;;7557:8;:25;;;7593:8;:34;;;7638:8;:17;;;7666:8;:23;;;7700:8;:23;;;7734:8;:23;;;7768:8;:18;;;7797:16;7824:12;7530:317;;;;;;;;;;;;;;;;;;;;;5635:2220;;;;;;;;;;;:::o;2247:29::-;;;-1:-1:-1;;;;;2247:29:0;;:::o;4609:668::-;4657:16;4675;4693;4722:20;4759:16;:23;;;;4745:38;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4745:38:0;;4722:61;;4794:26;4837:16;:23;;;;4823:38;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4823:38:0;;4794:67;;4872:22;4911:16;:23;;;;4897:38;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;4897:38:0;-1:-1:-1;4872:63:0;-1:-1:-1;4951:9:0;4946:236;4970:16;:23;4966:27;;4946:236;;;5015:25;5043:16;5060:1;5043:19;;;;;;;;;;;;;;;;;;5015:47;;5086:1;5077:3;5081:1;5077:6;;;;;;;;;;;;;:10;;;;;5117:4;:18;;;5102:9;5112:1;5102:12;;;;;;;;;;;;;:33;;;;;5161:4;:9;;;5150:5;5156:1;5150:8;;;;;;;;;;;;;;;;;:20;-1:-1:-1;4995:3:0;;4946:236;;;-1:-1:-1;5219:3:0;;-1:-1:-1;5233:9:0;-1:-1:-1;5253:5:0;-1:-1:-1;4609:668:0;;;:::o;1036:198::-;1002:5;;-1:-1:-1;;;;;1002:5:0;988:10;:19;980:28;;;;;;-1:-1:-1;;;;;1118:23:0;;1110:32;;;;;;1181:5;;;1158:40;;-1:-1:-1;;;;;1158:40:0;;;;1181:5;;;1158:40;;;1209:5;:17;;-1:-1:-1;;;;;;1209:17:0;-1:-1:-1;;;;;1209:17:0;;;;;;;;;;1036:198::o;5285:113::-;5347:7;1002:5;;-1:-1:-1;;;;;1002:5:0;988:10;:19;980:28;;;;;;-1:-1:-1;5373:17:0;;5285:113;:::o;5513:114::-;-1:-1:-1;;;;;5601:18:0;5574:7;5601:18;;;:11;:18;;;;;;;5513:114::o;17639:208::-;17697:7;17721:6;17717:47;;-1:-1:-1;17751:1:0;17744:8;;17717:47;17786:5;;;17790:1;17786;:5;:1;17809:5;;;;;:10;17802:18;;;;17838:1;-1:-1:-1;17639:208:0;;;;;:::o;17855:122::-;17913:7;17933:9;17949:1;17945;:5;;;;;;;17855:122;-1:-1:-1;;;;17855:122:0:o;18116:147::-;18174:7;18206:5;;;18229:6;;;;18222:14;;;15505:228;1944:5;15698:13;;15690:4;15659:28;;;;:35;;;;:53;15658:67;;15505:228::o;11060:1683::-;11166:4;2037:10;11191:15;:30;;11183:53;;;;;-1:-1:-1;;;11183:53:0;;;;;;;;;;;;-1:-1:-1;;;11183:53:0;;;;;;;;;;;;;;;11281:16;:23;11271:33;;11247:86;;;;;-1:-1:-1;;;11247:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1793:10;11352:7;:18;;11344:82;;;;-1:-1:-1;;;11344:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11451:18:0;;11437:11;11451:18;;;:11;:18;;;;;;11484:8;11480:182;;11515:34;11528:5;11535:13;11515:12;:34::i;:::-;11509:40;;11480:182;11672:17;11692;;;:12;:17;;;;;;;;:27;;;;;;11794:25;;;:14;;;;:25;;;;;;:42;;;11890:15;11847:40;;;;:58;;;11916:44;;;:62;;;;11989:36;;;:46;;;12046:42;;;:46;;;;12103:35;;;;:43;;-1:-1:-1;;12103:43:0;;;12180:18;;11692:27;;:17;12180:25;;:18;:25;:22;:25;:::i;:::-;12159:8;:18;;:46;;;;12218:57;12243:3;12248:7;12257:8;:17;;;12218:24;:57::i;:::-;12308:17;;:30;;12330:7;12308:30;:21;:30;:::i;:::-;12288:17;:50;12351:27;12381:39;12415:4;12382:27;:7;1349:2;12382:27;:11;:27;:::i;12381:39::-;12431:6;;:36;;12351:69;;-1:-1:-1;;;;;;12431:6:0;;:36;;;;;12351:69;;12431:6;:36;:6;:36;12351:69;12431:6;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;12478:27:0;12508:39;12542:4;12509:27;:7;1414:2;12509:27;:11;:27;:::i;12508:39::-;12558:6;;:36;;12478:69;;-1:-1:-1;;;;;;12558:6:0;;:36;;;;;12478:69;;12558:6;:36;:6;:36;12478:69;12558:6;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;12605:25:0;12633:34;12662:4;12634:22;:7;1475:2;12634:22;:11;:22;:::i;12633:34::-;12678:7;;:35;;12605:62;;-1:-1:-1;;;;;;12678:7:0;;:35;;;;;12605:62;;12678:7;:35;:7;:35;12605:62;12678:7;:35;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;12731:4:0;;11060:1683;-1:-1:-1;;;;;;;;;;;11060:1683:0:o;9659:1393::-;9736:7;1887:4;9760:13;:30;9756:311;;9950:1;9906:27;;;:12;:27;;;;;:32;-1:-1:-1;;;;;9906:32:0;9902:104;;9989:1;9973:17;;9902:104;9756:311;;;10054:1;10038:17;;9756:311;10152:1;10129:18;;10092:5;;10129:25;;:18;:25;:22;:25;:::i;:::-;10108:18;:46;;;-1:-1:-1;;;;;10165:17:0;;;;;;:11;:17;;;;;;;;:38;;;10214:32;;;:12;:32;;;;;:44;;-1:-1:-1;;;;;;10214:44:0;;;;;;;10282:18;;10269:32;;;;;:41;;:57;;;10350:18;;10337:32;;;;;:42;;:46;1887:4;10398:30;;10394:613;;10445:13;10505:19;;;:12;:19;;;;;;:28;;;;;10564:19;;;;;;:28;;10644:19;;;;:34;;;10461:13;;10564:28;10644:41;;10683:1;10644:41;:38;:41;:::i;:::-;10607:19;;;;:12;:19;;;;;:34;;:78;1887:4;10704:22;;10700:141;;10784:19;;;;:12;:19;;;;;;;;:34;;:41;;10823:1;10784:41;:38;:41;:::i;:::-;10747:19;;;;:12;:19;;;;;;;;:34;:78;10700:141;1887:4;10859:5;:22;10855:141;;10939:19;;;;:12;:19;;;;;:34;;;:41;;10978:1;10939:41;:38;:41;:::i;:::-;10902:19;;;;:12;:19;;;;;:34;;:78;10855:141;10394:613;;;;-1:-1:-1;;11025:18:0;;9659:1393;;;;:::o;15741:1865::-;15854:26;15883:43;15921:4;15884:31;:11;1525:2;15884:31;:15;:31;:::i;15883:43::-;15854:72;-1:-1:-1;15941:18:0;;15937:1438;;15976:13;16036:19;;;:12;:19;;;;;;:28;;;;;16095:19;;;;;;:28;;15992:13;;16181:10;;16177:523;;16225:50;16270:4;16226:38;:11;1582:2;16226:38;:15;:38;:::i;16225:50::-;16212:63;-1:-1:-1;16315:34:0;:18;16212:63;16315:34;:22;:34;:::i;:::-;16431:19;;;;:12;:19;;;;;:45;;;16294:55;;-1:-1:-1;16416:61:0;;:10;;:61;:14;:61;:::i;:::-;16368:19;;;;:12;:19;;;;;:45;;:109;16509:48;16552:4;16510:36;:11;1751:1;16510:36;:15;:36;:::i;16509:48::-;16639:18;;;;:12;:18;;;;;:44;;;16496:61;;-1:-1:-1;16624:60:0;;16496:61;;16624:60;:14;:60;:::i;:::-;16576:18;;;;:12;:18;;;;;:44;;:108;16177:523;16720:10;;16716:316;;16764:50;16809:4;16765:38;:11;1639:2;16765:38;:15;:38;:::i;16764:50::-;16751:63;-1:-1:-1;16854:34:0;:18;16751:63;16854:34;:22;:34;:::i;:::-;16970:19;;;;:12;:19;;;;;:45;;;16833:55;;-1:-1:-1;16955:61:0;;:10;;:61;:14;:61;:::i;:::-;16907:19;;;;:12;:19;;;;;:45;;:109;16716:316;17052:10;;17048:316;;17096:50;17141:4;17097:38;:11;1696:2;17097:38;:15;:38;:::i;17096:50::-;17083:63;-1:-1:-1;17186:34:0;:18;17083:63;17186:34;:22;:34;:::i;:::-;17302:19;;;;:12;:19;;;;;:45;;;17165:55;;-1:-1:-1;17287:61:0;;:10;;:61;:14;:61;:::i;:::-;17239:19;;;;:12;:19;;;;;:45;;:109;17048:316;15937:1438;;;;;17391:22;;17387:212;;17430:6;;-1:-1:-1;;;;;17430:6:0;:42;17446:25;:18;17469:1;17446:25;:22;:25;:::i;:::-;17430:42;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;17487:6:0;;-1:-1:-1;;;;;17487:6:0;:42;17503:25;:18;17526:1;17503:25;:22;:25;:::i;:::-;17487:42;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;17544:7:0;;;-1:-1:-1;;;;;17544:7:0;;:43;;17561:25;;:18;;:25;:22;:25;:::i;:::-;17544:43;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;17387:212:0;15741:1865;;;;:::o;17985:123::-;18043:7;18075:1;18070;:6;;18063:14;;;;-1:-1:-1;18095:5:0;;;17985:123::o

Swarm Source

bzzr://06104b3beb1093e4222cc9c87a54901d691128f7bf8f8dba1edb0af5239bad50
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.