Contract 0x79bee24c04172c80042cb5155f2ad26961ea3342 1

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x67b20ec0f5be1e9fe43473475ed24d64fa614350bc59ce80ff024c799baf3736Withdraw106825842021-09-06 15:49:0090 days 15 hrs ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00364569
0x31c4c10b43228b866c3589426f74abf02a9443e0518257a7e78a182b1e7feb46Withdraw101546482021-08-19 3:32:41109 days 4 hrs ago0x407ad0f23f5ded868c5d10569bd73b06261f5556 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00036409
0xb467e9ded612bcc5f88099904d84b009aa11af7eb8b4800d413d85a9284fbf27Withdraw101256692021-08-18 3:21:55110 days 4 hrs ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00364569
0x83b9e4d4c588110f83ed64294bcbf3223d16006fb19fe892e4b9765981b08cb8Withdraw100392562021-08-15 3:10:45113 days 4 hrs ago0x57ffea7c8c10750bd43b6618915a9abf43b25c5e IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.000984835
0x7e3281047d2a0d64b5f8cc1157985cd1454ad2772d7a56f327338cfe64d66732Withdraw99848082021-08-13 5:12:41115 days 2 hrs ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00364569
0x36832b80fc5ecd2de17c787763e227afb063d8f675bd052e3ccddeeb47ca1983Withdraw99785982021-08-12 23:56:57115 days 7 hrs ago0x2a144c341355f765113590b7e5e3643b0f959462 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.000452765
0x44c6894d5b92a20bbc6326dbc22e992d096e9b9afb9f412a4627b6759e163b40Withdraw99785932021-08-12 23:56:42115 days 7 hrs ago0x2a144c341355f765113590b7e5e3643b0f959462 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.000452765
0x6c1eb6b866dda2dff7713d1bb082a925de1a3f21216a79e9be70426d845a5445Withdraw99743212021-08-12 20:20:36115 days 11 hrs ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00364569
0x8ebc80cfa2024bf2d350adaeef80b2c40ec09d5b5fae7423db72afaaa650788aWithdraw99598902021-08-12 8:05:29115 days 23 hrs ago0x61b7dda7206d2a2947b43c72d33109edf132fe27 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.000807475
0x2f74aadec782c8a32847106d4980308634f81b70a27e46403f346be16cb59792Withdraw99573922021-08-12 5:58:42116 days 1 hr ago0x2011c486b6f92646ecb17c7f5ffd9db7b2a0625a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.000718795
0xc9ea8e334f78349a0f97ff02e53a6c03e79be4a7de0a80f20551713672977f6dWithdraw99570252021-08-12 5:40:05116 days 2 hrs ago0xb42066a26271519180fa745cbceae191ad0d312e IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.001689625
0xade8bb7adbb78d60ab8b4fbb0d3345411588bff83d4f1e5419cdb0a5121625a4Withdraw99551352021-08-12 4:01:22116 days 3 hrs ago0xf62c368d93f7df0dbf083583aaa7e30df538aea7 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00044805
0x4805a6a9950fc9e776ae429632d0b5ed101843eae1a87bdfe7571cbdb84840a3Withdraw99551342021-08-12 4:01:19116 days 3 hrs ago0xf62c368d93f7df0dbf083583aaa7e30df538aea7 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00052305
0x9ecee26e877d612ec9e344987ac7e1089c68a3faf3e086479d84f4785f094a2bWithdraw99550172021-08-12 3:55:28116 days 3 hrs ago0x1c60281a2a5ab21452cfaaf854c2f82fc9b348cb IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00044805
0xa82aee5e7c6eec1c18316e419aedc7b27378cced26dae9c15e5eaad2470d5d50Withdraw99548662021-08-12 3:47:54116 days 3 hrs ago0x013552fdea4136be01f41b113e981bf65eff8a3d IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.001068795
0x922d9378886f94fffd36d9a94e219ab9767d620da466826a34f8ee80e8e39b00Withdraw99535022021-08-12 2:39:26116 days 5 hrs ago0xbbfd576099863a253d58502c7017ae69bf2fa94a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.007988805
0xfcb11ebe338caf2d28497d7b0d53a60fd5839447f98e4bffba084640ab7df019Withdraw99502772021-08-11 23:55:35116 days 7 hrs ago0xf62c368d93f7df0dbf083583aaa7e30df538aea7 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00044805
0x325426764ea3717f0b584595b07408704df75f9cdc99cf77581a41bb677eac03Withdraw99490712021-08-11 22:55:06116 days 8 hrs ago0x81c02a933e878c77c7832e4f5b03cb0edf19591b IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00044805
0x65552f988c121dbc70575014dbab07428d0da0c935a7213890b3fdd580c2d5c0Withdraw99474242021-08-11 21:31:06116 days 10 hrs ago0x8f6d1906b474d55f776d2b083a0eac41f1d11f7d IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.001246155
0x9f2ffc0754755c4b21112d27813a3ce9c2c46c7e8035454faf2afdb57a2d67beWithdraw99459462021-08-11 20:07:09116 days 11 hrs ago0xf62c368d93f7df0dbf083583aaa7e30df538aea7 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00044805
0xa2ca0cc4a3639b39e097afb21227510d00b88b5fc7d9ad57ec8daa8915cab3c1Withdraw99452802021-08-11 19:26:29116 days 12 hrs ago0x2b5cbca5c2b4406d25ce5a0958006624e5d04589 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00044805
0xfbc796a75f945294623380626202e789a2b68e88e5e3ce5ca76486682748bfe4Withdraw99442872021-08-11 18:26:00116 days 13 hrs ago0xbbfd576099863a253d58502c7017ae69bf2fa94a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.007988805
0xdd690c7b4b724cdad8d48bf0fb61efc34eb28f9891baee9efce407570a4d5550Withdraw99437712021-08-11 17:52:00116 days 13 hrs ago0x2011c486b6f92646ecb17c7f5ffd9db7b2a0625a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.000802755
0x01f0546b6b07c0e95c26a2d63394e0984b40d376b69e7095f7d00c2fdb1e39beWithdraw99434772021-08-11 17:34:04116 days 14 hrs ago0x62ac2314164ef129be983be497cd02bfaacb63c6 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.001498525
0xc84c3e7d50e1a9f39f00fbfd26193d4eb9409833d3dbedbf9d91f6e6935c747bWithdraw99416192021-08-11 15:55:37116 days 15 hrs ago0xf62c368d93f7df0dbf083583aaa7e30df538aea7 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00044805
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CakeMe

Compiler Version
v0.8.3+commit.8d00100c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-05-26
*/

// SPDX-License-Identifier: MIT 
 
 /*   CakeMe.app - Create a long lasting and passive income, through the use of the most popular Token on the binance smart chain.
 *                 Invest your CAKE and earn 547.5% APY 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 CakeMe.app
 *   - Enter the amount of CAKE you would like to invest into "The Oven" (1 CAKE minimum) using the "Bake CAKE" button
 *   - Earn a minimum of 1.5% daily return on your investment, for a minimum of 547% total return.
 *   - Claim your CAKE rewards at anytime, using the "Cake Me" button (There are no restrictions on the minimum amount of CAKE you can claim)
 *   - You can also Compound your CAKE at anytime, using the "Bake Me" button. This will increase your daily and total return.
 *
 *   | INVESTMENT CONDITIONS |
 *
 *   - Basic interest rate: +0.002% every 24 hours - only for new investments or compounds
 *   - Days reduction plan: Plans length reduces -0.25 days every day.
 *   - There is a minimum requirement of 1 CAKE in order to make an investment
 *   - There are no restrictions on the maximum amount of CAKE you can invest
 *   - Total income: This starts at 1.5% daily and 547% total (excluding the Basic interest rate)
 *   - Earnings are calculated every moment, claim or compound every 24 hours.
 *
 *   | AFFILIATE PROGRAM |
 *
 *   - 3-level referral commission: 2.5% - 1.5% - 0.5%
 *
 *   | INVESTMENT FUNDS DISTRIBUTION |
 *
 *   - 82% Platform main balance, participants payouts
 *   - 8% Affiliate program bonuses
 *   - 5% Support work, technical functioning, administration fee - this applies to all investments.
 *   - 5% Advertising and promotion expenses - this applies to all investments.
 *
 *   | COMPOUND FUNDS DISTRIBUTION |
 *
 *   - 95% Platform main balance, participants payouts
 *   - 5%% Support work, technical functioning, administration fee - this applies to all compounds.
 *
 *   | CONTACT |
 *
 *   - Visit our telegram to contact us: https://t.me/CakeMeApp
 */
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;
    }
}
pragma solidity 0.8.3;
contract CakeMe is Ownable{
	using SafeMath for uint256;
	using SafeBEP20 for IBEP20;
    
    IBEP20 public token;
    uint256 constant public INVEST_MIN_AMOUNT = 1 ether; // 1 CAKE
    uint256[] internal REFERRAL_PERCENTS = [25e2, 15e2, 5e2];
    uint256 constant public PROJECT_FEE = 20e2;
    uint256 constant public FUND_FEE = 30e2;
    uint256 constant public MARKETING_FEE = 50e2;
    uint256 constant public COMPOUND_FEE = 50e2; // 5% Fee for compounding
    uint256 constant public PERCENT_STEP = 2;
    uint256 constant public PERCENTS_DIVIDER = 1000e2;
    uint256 constant public DECREASE_DAY_STEP = 0.25 days; //0.25 days
    uint256 constant internal REF_STEP = 50; // 50 Refs level 
    uint256 constant internal TIME_STEP = 1 days; //1 days
    
	uint256 public totalStaked;
	uint256 public totalRefBonus;
	uint256 public totalWithdrawn;
	
	uint256 public startUNIX;
	address payable public marketingAddress;
	address payable public compoundAddress;
    address payable public projectAddress;
    address payable public fundAddress;

    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(uint256 => mapping(address => uint256)) internal auds;
    mapping(uint256 => address) internal at;
    mapping(uint256 => address) internal alt;
	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);
	event AuctionPayout(address indexed user, uint256 amt);

	constructor(address payable marketingAddr,address payable compoundAddr,address payable fundAddr,uint256 startDate, IBEP20 tokenAddr) {
        require(!isContract(marketingAddr), "!marketingAddr");
		require(startDate > 0);
		token = tokenAddr;
		marketingAddress = marketingAddr;
		compoundAddress = compoundAddr;
		fundAddress = fundAddr;
        projectAddress = payable(msg.sender);
		startUNIX = startDate;

        plans.push(Plan(365, 15e2));
	}
    
    function FeePayout(uint256 amt) internal{
    uint256 mktFee = amt.mul(MARKETING_FEE).div(PERCENTS_DIVIDER);
    uint256 fundFee = amt.mul(FUND_FEE).div(PERCENTS_DIVIDER);
    uint256 prjFee = amt.mul(PROJECT_FEE).div(PERCENTS_DIVIDER);
    token.safeTransfer(marketingAddress, mktFee);
    token.safeTransfer(fundAddress, fundFee);
    token.safeTransfer(projectAddress, prjFee);
    emit FeePayed(msg.sender, mktFee.add(prjFee));
    }
  
    function CompoundFeePayout(uint256 amt) internal{
    uint256 cmpFee = amt.mul(COMPOUND_FEE).div(PERCENTS_DIVIDER);
    token.safeTransfer(compoundAddress, cmpFee);
    emit FeePayed(msg.sender, cmpFee);
    }

	function invest(address referrer, uint8 plan , uint256 depAmount) public {
	    require(block.timestamp >= startUNIX ,"Not Launch");
		require(depAmount >= INVEST_MIN_AMOUNT);
        require(plan < 1, "Invalid plan");
        
        token.safeTransferFrom(msg.sender, address(this), depAmount);

		FeePayout(depAmount);

		User storage user = users[msg.sender];
		if (user.referrer == address(0)) {
			if (users[referrer].deposits.length > 0 && referrer != msg.sender) {
				user.referrer = referrer;
			}else{
			    user.referrer = projectAddress;
			}
			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);
					if (users[upline].referrer == address(0)){
			        users[upline].referrer = projectAddress;
			        }
					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 = depAmount.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 = block.timestamp;
			emit Newbie(msg.sender);
		}
		
        (uint256 percent, uint256 profit, , uint256 finish) = getResult(plan, depAmount);
        user.deposits.push(Deposit(plan, percent, depAmount, profit, block.timestamp, finish));
		totalStaked = totalStaked.add(depAmount);
		emit NewDeposit(msg.sender, plan, percent, depAmount, profit, block.timestamp, finish);
	}
	
	function withdraw() public {
        User storage user = users[msg.sender];
        uint256 totalAmount = getUserDividends(msg.sender);
        uint256 referralBonus = getUserReferralBonus(msg.sender);
        if (referralBonus > 0) {
            user.bonus = 0;
            totalAmount = totalAmount.add(referralBonus);
        }
        require(totalAmount > 0, "User has no dividends");
        uint256 contractBalance = token.balanceOf(address(this));
        if (contractBalance < totalAmount) {
            totalAmount = contractBalance;
        }
        user.checkpoint = block.timestamp;

        user.wprofits = (user.wprofits).add(totalAmount);
        token.safeTransfer(payable(msg.sender), totalAmount);
        
        totalWithdrawn = (totalWithdrawn.add(totalAmount));
        emit Withdrawn(msg.sender, totalAmount);
    }
    
    function compound(uint8 plan) public {
        User storage user = users[msg.sender];

        uint256 totalAmount = getUserDividends(msg.sender);
        uint256 referralBonus = getUserReferralBonus(msg.sender);
        if (referralBonus > 0) {
            user.bonus = 0;
            totalAmount = totalAmount.add(referralBonus);
        }
        require(totalAmount > 0, "User has no dividends");
        uint256 contractBalance = token.balanceOf(address(this));
        if (contractBalance < totalAmount) {
            totalAmount = contractBalance;
        }
        user.checkpoint = block.timestamp;

        CompoundFeePayout(totalAmount);

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

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

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

	function getPercent(uint8 plan) public view returns (uint256) {
	    uint256 userRefRate = getUserRefRate(msg.sender);
		if (block.timestamp > startUNIX) {
			return plans[plan].percent.add(PERCENT_STEP.mul(block.timestamp.sub(startUNIX)).div(TIME_STEP)).add(userRefRate);
		} else {
			return plans[plan].percent;
		}
    }
	
	function getResult(uint8 plan, uint256 deposit) public view returns ( uint256 percent, uint256 profit, uint256 current, uint256 finish){
        percent = getPercent(plan);
        if (plan < 1) {
            profit = deposit.mul(percent).div(PERCENTS_DIVIDER).mul(plans[plan].time);
        }
        current = block.timestamp;
        finish = current.add(getDecreaseDays(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) {
                if (user.deposits[i].plan < 1) {
                    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 < block.timestamp ? user.deposits[i].finish : block.timestamp;
                    if (from < to) {
                        uint256 planTime = plans[user.deposits[i].plan].time.mul(TIME_STEP);
                        uint256 redress = planTime.div(getDecreaseDays(plans[user.deposits[i].plan].time));
                        totalAmount = totalAmount.add(share.mul(to.sub(from)).mul(redress).div(TIME_STEP));
                    }
                }
            }
        }
        return totalAmount;
    }
	
	function getDecreaseDays(uint256 planTime) public view returns (uint256) {
	    uint256 None = planTime.mul(TIME_STEP);
        if (block.timestamp > startUNIX){
        uint256 limitDays = TIME_STEP.mul(4);
        uint256 pastDays = block.timestamp.sub(startUNIX).div(TIME_STEP);
        uint256 decreaseDays = pastDays.mul(DECREASE_DAY_STEP);
        if (decreaseDays > limitDays){
        decreaseDays = limitDays;
        }
        uint256 minimumDays = planTime.mul(TIME_STEP).sub(decreaseDays);
        return minimumDays;  
      }
      else{
          return None;
      }
    }
    
    function getUserRefRate(address userAddress) public view returns (uint256) {
        User storage user = users[userAddress];
        uint256 refsbonus = user.levels[0];
        uint256 RMultiplier = (refsbonus.div(REF_STEP)).mul(100);
            return RMultiplier;
    }
    

	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 setDeveloperAccount(address payable _newDeveloperAccount) public onlyOwner {
        require(_newDeveloperAccount != address(0));
        projectAddress = _newDeveloperAccount;
    }
    
    function setMarketingAccount(address payable _newMarketingAccount) public onlyOwner {
        require(_newMarketingAccount != address(0));
        marketingAddress = _newMarketingAccount;
    }
    
    function setFundAccount(address payable _newFundAccount) public onlyOwner {
        require(_newFundAccount != address(0));
        fundAddress = _newFundAccount;
    }


	function isContract(address addr) internal view returns (bool) {
        uint size;
        assembly { size := extcodesize(addr) }
        return size > 0;
    }
}
interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeBEP20 {
    using SafeMath for uint256;
    using Address for address;
    function safeTransfer(IBEP20 token, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }
    function safeTransferFrom(IBEP20 token, address from, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }
    function callOptionalReturn(IBEP20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeBEP20: call to non-contract");
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeBEP20: low-level call failed");
        if (returndata.length > 0) { // Return data is optional
            require(abi.decode(returndata, (bool)), "SafeBEP20: BEP20 operation did not succeed");
        }
    }
}

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":[{"internalType":"address payable","name":"marketingAddr","type":"address"},{"internalType":"address payable","name":"compoundAddr","type":"address"},{"internalType":"address payable","name":"fundAddr","type":"address"},{"internalType":"uint256","name":"startDate","type":"uint256"},{"internalType":"contract IBEP20","name":"tokenAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amt","type":"uint256"}],"name":"AuctionPayout","type":"event"},{"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":"DECREASE_DAY_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FUND_FEE","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":"PERCENT_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROJECT_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"compound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"compoundAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"planTime","type":"uint256"}],"name":"getDecreaseDays","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":"getUserRefRate","outputs":[{"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"},{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"depAmount","type":"uint256"}],"name":"invest","outputs":[],"stateMutability":"nonpayable","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":[],"name":"projectAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newDeveloperAccount","type":"address"}],"name":"setDeveloperAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newFundAccount","type":"address"}],"name":"setFundAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newMarketingAccount","type":"address"}],"name":"setMarketingAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startUNIX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IBEP20","name":"","type":"address"}],"stateMutability":"view","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"}]

608060405260405180606001604052806109c461ffff1681526020016105dc61ffff1681526020016101f461ffff16815250600290600362000043929190620002dd565b503480156200005157600080fd5b5060405162004c9c38038062004c9c833981810160405281019062000077919062000399565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000c885620002ca60201b60201c565b156200010b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001029062000442565b60405180910390fd5b600082116200011957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600681905550600b604051806040016040528061016d81526020016105dc815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050505050505062000552565b600080823b905060008111915050919050565b82805482825590600052602060002090810192821562000322579160200282015b8281111562000321578251829061ffff16905591602001919060010190620002fe565b5b50905062000331919062000335565b5090565b5b808211156200035057600081600090555060010162000336565b5090565b600081519050620003658162000504565b92915050565b6000815190506200037c816200051e565b92915050565b600081519050620003938162000538565b92915050565b600080600080600060a08688031215620003b257600080fd5b6000620003c28882890162000354565b9550506020620003d58882890162000354565b9450506040620003e88882890162000354565b9350506060620003fb8882890162000382565b92505060806200040e888289016200036b565b9150509295509295909350565b60006200042a600e8362000464565b91506200043782620004db565b602082019050919050565b600060208201905081810360008301526200045d816200041b565b9050919050565b600082825260208201905092915050565b60006200048282620004b1565b9050919050565b60006200049682620004b1565b9050919050565b6000620004aa8262000475565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f216d61726b6574696e6741646472000000000000000000000000000000000000600082015250565b6200050f8162000489565b81146200051b57600080fd5b50565b62000529816200049d565b81146200053557600080fd5b50565b6200054381620004d1565b81146200054f57600080fd5b50565b61473a80620005626000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80637e3abeea11610151578063ccf5d75f116100c3578063e84cdabc11610087578063e84cdabc146107c3578063e85abe09146107df578063f2fde38b1461080f578063f3e7569f1461082b578063fb4cb32b14610847578063fc0c546a1461087757610269565b8063ccf5d75f14610709578063d7a3a12214610727578063d7ffca9114610757578063e262113e14610787578063e82bef29146107a557610269565b8063a8aeb6c211610115578063a8aeb6c214610619578063aecaa63414610649578063af3e21221461067a578063bfc0071414610698578063c0806b03146106b6578063c2341238146106eb57610269565b80637e3abeea1461055f578063817b1cd21461058f5780638da5cb5b146105ad578063a51b9533146105cb578063a5ece941146105fb57610269565b806348c37203116101ea5780635936cf61116101ae5780635936cf611461048657806369b11dd5146104b95780636b1bfd33146104d75780636bb18556146104f35780636f9fb98a146105235780637c79614a1461054157610269565b806348c37203146103e057806348d44bd1146104105780634b3197131461042e57806350b2a8811461044c57806357fc86b41461046857610269565b8063153ab9df11610231578063153ab9df146103285780633310a17f1461035857806336144c9a146103885780633ccfd60b146103b85780633cf96af1146103c257610269565b806301c234a81461026e57806303a93c0c1461028c578063040a772e146102be578063043c9693146102ee57806304aff6791461030a575b600080fd5b610276610895565b60405161028391906140c0565b60405180910390f35b6102a660048036038101906102a19190613ade565b61089c565b6040516102b593929190614104565b60405180910390f35b6102d860048036038101906102d39190613ade565b610a25565b6040516102e591906140c0565b60405180910390f35b61030860048036038101906103039190613c36565b61109f565b005b6103126113b4565b60405161031f91906140c0565b60405180910390f35b610342600480360381019061033d9190613ade565b6113ba565b60405161034f91906140c0565b60405180910390f35b610372600480360381019061036d9190613ade565b6113e6565b60405161037f91906140c0565b60405180910390f35b6103a2600480360381019061039d9190613ade565b6114a3565b6040516103af9190613eaf565b60405180910390f35b6103c061150f565b005b6103ca611777565b6040516103d79190613eca565b60405180910390f35b6103fa60048036038101906103f59190613ade565b61179d565b60405161040791906140c0565b60405180910390f35b6104186117e9565b60405161042591906140c0565b60405180910390f35b6104366117ef565b60405161044391906140c0565b60405180910390f35b61046660048036038101906104619190613b07565b6117f5565b005b6104706118cb565b60405161047d91906140c0565b60405180910390f35b6104a0600480360381019061049b9190613c5f565b6118d0565b6040516104b0949392919061413b565b60405180910390f35b6104c16119ef565b6040516104ce91906140c0565b60405180910390f35b6104f160048036038101906104ec9190613b07565b6119f5565b005b61050d60048036038101906105089190613ade565b611acb565b60405161051a91906140c0565b60405180910390f35b61052b611b6b565b60405161053891906140c0565b60405180910390f35b610549611c1d565b60405161055691906140c0565b60405180910390f35b61057960048036038101906105749190613ade565b611c23565b60405161058691906140c0565b60405180910390f35b610597611d31565b6040516105a491906140c0565b60405180910390f35b6105b5611d37565b6040516105c29190613eaf565b60405180910390f35b6105e560048036038101906105e09190613c36565b611d5b565b6040516105f291906140c0565b60405180910390f35b610603611e82565b6040516106109190613eca565b60405180910390f35b610633600480360381019061062e9190613ade565b611ea8565b60405161064091906140c0565b60405180910390f35b610663600480360381019061065e9190613c36565b611ef7565b6040516106719291906140db565b60405180910390f35b610682611fa1565b60405161068f91906140c0565b60405180910390f35b6106a0611fa7565b6040516106ad9190613eca565b60405180910390f35b6106d060048036038101906106cb9190613b30565b611fcd565b6040516106e296959493929190614180565b60405180910390f35b6106f36123a9565b60405161070091906140c0565b60405180910390f35b6107116123af565b60405161071e91906140c0565b60405180910390f35b610741600480360381019061073c9190613be4565b6123b5565b60405161074e91906140c0565b60405180910390f35b610771600480360381019061076c9190613ade565b61248b565b60405161077e91906140c0565b60405180910390f35b61078f6124d7565b60405161079c91906140c0565b60405180910390f35b6107ad6124e3565b6040516107ba9190613eca565b60405180910390f35b6107dd60048036038101906107d89190613b6c565b612509565b005b6107f960048036038101906107f49190613ade565b612ff0565b60405161080691906140c0565b60405180910390f35b61082960048036038101906108249190613ade565b61303c565b005b61084560048036038101906108409190613b07565b61318b565b005b610861600480360381019061085c9190613ade565b613261565b60405161086e91906140c0565b60405180910390f35b61087f6132ad565b60405161088c9190613f45565b60405180910390f35b620186a081565b6000806000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160006003811061091c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600160038110610999577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600260038110610a16577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b01549250925092509193909250565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e001604052908160008201805480602002602001604051908101604052809291908181526020016000905b82821015610b1857838290600052602060002090600602016040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152505081526020019060010190610a97565b505050508152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201600380602002604051908101604052809291908260038015610bbc576020028201915b815481526020019060010190808311610ba8575b5050505050815260200160068201548152602001600782015481526020016008820154815250509050600080600090505b8260000151518110156110945782600001518181518110610c37577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a001518360200151101561108157600183600001518281518110610c8d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516000015160ff161015611080576000610d5c620186a0610d4e86600001518581518110610ceb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516020015187600001518681518110610d34577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151604001516132d390919063ffffffff16565b61334e90919063ffffffff16565b90506000846020015185600001518481518110610da2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516080015111610dbd578460200151610e07565b84600001518381518110610dfa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151608001515b905060004286600001518581518110610e49577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a0015110610e605742610eaa565b85600001518481518110610e9d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a001515b90508082101561107c576000610f6262015180600b89600001518881518110610efc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516000015160ff1681548110610f42577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600001546132d390919063ffffffff16565b90506000611017611008600b8a600001518981518110610fab577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516000015160ff1681548110610ff1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600001546123b5565b8361334e90919063ffffffff16565b90506110776110686201518061105a8461104c61103d8a8a6133ac90919063ffffffff16565b8b6132d390919063ffffffff16565b6132d390919063ffffffff16565b61334e90919063ffffffff16565b8861340b90919063ffffffff16565b965050505b5050505b5b808061108c906143db565b915050610bed565b508092505050919050565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006110ed33610a25565b905060006110fa33612ff0565b905060008111156111255760008360060181905550611122818361340b90919063ffffffff16565b91505b60008211611168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115f90613f60565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111c59190613eaf565b60206040518083038186803b1580156111dd57600080fd5b505afa1580156111f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112159190613c0d565b905082811015611223578092505b42846001018190555061123583613469565b600080600061124488876118d0565b93505092509250866000016040518060c001604052808a60ff16815260200185815260200188815260200184815260200142815260200183815250908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050155505061131486886008015461340b90919063ffffffff16565b87600801819055506113318660035461340b90919063ffffffff16565b60038190555061134c8660055461340b90919063ffffffff16565b6005819055503373ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d8985898642876040516113a296959493929190614180565b60405180910390a25050505050505050565b610bb881565b60006113df6113c883610a25565b6113d184612ff0565b61340b90919063ffffffff16565b9050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600301600060038110611469577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015490506000611496606461148860328561334e90919063ffffffff16565b6132d390919063ffffffff16565b9050809350505050919050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600061155d33610a25565b9050600061156a33612ff0565b905060008111156115955760008360060181905550611592818361340b90919063ffffffff16565b91505b600082116115d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cf90613f60565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116359190613eaf565b60206040518083038186803b15801561164d57600080fd5b505afa158015611661573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116859190613c0d565b905082811015611693578092505b4284600101819055506116b383856008015461340b90919063ffffffff16565b84600801819055506117083384600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166135589092919063ffffffff16565b61171d8360055461340b90919063ffffffff16565b6005819055503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d58460405161176991906140c0565b60405180910390a250505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701549050919050565b6107d081565b60055481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461184d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561188757600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600281565b6000806000806118df86611d5b565b935060018660ff16101561197857611975600b8760ff168154811061192d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160000154611967620186a0611959888a6132d390919063ffffffff16565b61334e90919063ffffffff16565b6132d390919063ffffffff16565b92505b4291506119e46119d5600b8860ff16815481106119be577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600001546123b5565b8361340b90919063ffffffff16565b905092959194509250565b60045481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a4d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a8757600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611b64600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701546133ac90919063ffffffff16565b9050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611bc89190613eaf565b60206040518083038186803b158015611be057600080fd5b505afa158015611bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c189190613c0d565b905090565b61138881565b600080600090505b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050811015611d2b57611d16600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018281548110611cf5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060060201600201548361340b90919063ffffffff16565b91508080611d23906143db565b915050611c2b565b50919050565b60035481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080611d67336113e6565b9050600654421115611e2a57611e2281611e14611db762015180611da9611d99600654426133ac90919063ffffffff16565b60026132d390919063ffffffff16565b61334e90919063ffffffff16565b600b8760ff1681548110611df4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202016001015461340b90919063ffffffff16565b61340b90919063ffffffff16565b915050611e7d565b600b8360ff1681548110611e67577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101549150505b919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b600080600b8360ff1681548110611f37577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600001549150600b8360ff1681548110611f88577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101549050915091565b61138881565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000806000600f60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e001604052908160008201805480602002602001604051908101604052809291908181526020016000905b828210156120c857838290600052602060002090600602016040518060c00160405290816000820160009054906101000a900460ff1660ff1660ff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152505081526020019060010190612047565b505050508152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820160038060200260405190810160405280929190826003801561216c576020028201915b815481526020019060010190808311612158575b505050505081526020016006820154815260200160078201548152602001600882015481525050905080600001515188106121dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d390613fc0565b60405180910390fd5b80600001518881518110612219577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160000151965080600001518881518110612264577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151602001519550806000015188815181106122af577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151604001519450806000015188815181106122fa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160600151935080600001518881518110612345577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160800151925080600001518881518110612390577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160a001519150509295509295509295565b60065481565b61546081565b6000806123ce62015180846132d390919063ffffffff16565b90506006544211156124815760006123f36004620151806132d390919063ffffffff16565b9050600061242162015180612413600654426133ac90919063ffffffff16565b61334e90919063ffffffff16565b9050600061243a615460836132d390919063ffffffff16565b905082811115612448578290505b600061247282612464620151808a6132d390919063ffffffff16565b6133ac90919063ffffffff16565b90508095505050505050612486565b809150505b919050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b670de0b6b3a764000081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065442101561254e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612545906140a0565b60405180910390fd5b670de0b6b3a764000081101561256357600080fd5b60018260ff16106125a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a090614060565b60405180910390fd5b6125f8333083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166135de909392919063ffffffff16565b61260181613667565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612b08576000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054905011801561271e57503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561276b57838160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506127d1565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b6003811015612b0557600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612aed576128c96001600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030183600381106128b9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b015461340b90919063ffffffff16565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003018260038110612943577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0181905550600073ffffffffffffffffffffffffffffffffffffffff16600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612a8357600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150612af2565b612b05565b8080612afd906143db565b9150506127fd565b50505b600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612e5b5760008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b6003811015612e5857600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612e40576000612c37620186a0612c2960028581548110612c0f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154886132d390919063ffffffff16565b61334e90919063ffffffff16565b9050612c8e81600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006015461340b90919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060181905550612d2981600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007015461340b90919063ffffffff16565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070181905550813373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fd41f7e766eebcc7ff42b11ac8691bdf864db4afc0c55e71d629d54edce460d9884604051612dcd91906140c0565b60405180910390a4600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925050612e45565b612e58565b8080612e50906143db565b915050612b8c565b50505b600081600001805490501415612eac574281600101819055507f9fd565cd14c3c391679eb0cad12a14dcf7534e9d3462bcb9b67a098a9bbbc24a33604051612ea39190613eaf565b60405180910390a15b6000806000612ebb86866118d0565b93505092509250836000016040518060c001604052808860ff16815260200185815260200187815260200184815260200142815260200183815250908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a082015181600501555050612f898560035461340b90919063ffffffff16565b6003819055503373ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d878588864287604051612fdf96959493929190614180565b60405180910390a250505050505050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461309457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156130ce57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2e3feca4334579203cd183fe1ced9524940047e5586fe13e8cc5dd1babaf6e8260405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146131e357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561321d57600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600801549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808314156132e65760009050613348565b600082846132f4919061428f565b9050828482613303919061425e565b14613343576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161333a90614020565b60405180910390fd5b809150505b92915050565b6000808211613392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161338990614000565b60405180910390fd5b600082846133a0919061425e565b90508091505092915050565b6000828211156133f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133e890613fe0565b60405180910390fd5b600082846133ff91906142e9565b90508091505092915050565b600080828461341a9190614208565b90508381101561345f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161345690613fa0565b60405180910390fd5b8091505092915050565b6000613495620186a0613487611388856132d390919063ffffffff16565b61334e90919063ffffffff16565b9050613506600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166135589092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f2899dc8c12def1caa9accb64257cf2fd9f960f21bb27a560a757eae3c2ec43c18260405161354c91906140c0565b60405180910390a25050565b6135d98363a9059cbb60e01b8484604051602401613577929190613f1c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506138a4565b505050565b613661846323b872dd60e01b8585856040516024016135ff93929190613ee5565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506138a4565b50505050565b6000613693620186a0613685611388856132d390919063ffffffff16565b61334e90919063ffffffff16565b905060006136c1620186a06136b3610bb8866132d390919063ffffffff16565b61334e90919063ffffffff16565b905060006136ef620186a06136e16107d0876132d390919063ffffffff16565b61334e90919063ffffffff16565b9050613760600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166135589092919063ffffffff16565b6137cf600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166135589092919063ffffffff16565b61383e600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166135589092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f2899dc8c12def1caa9accb64257cf2fd9f960f21bb27a560a757eae3c2ec43c1613889838661340b90919063ffffffff16565b60405161389691906140c0565b60405180910390a250505050565b6138c38273ffffffffffffffffffffffffffffffffffffffff16613a15565b613902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138f990614080565b60405180910390fd5b6000808373ffffffffffffffffffffffffffffffffffffffff168360405161392a9190613e98565b6000604051808303816000865af19150503d8060008114613967576040519150601f19603f3d011682016040523d82523d6000602084013e61396c565b606091505b5091509150816139b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139a890614040565b60405180910390fd5b600081511115613a0f57808060200190518101906139cf9190613bbb565b613a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a0590613f80565b60405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b8214158015613a575750808214155b92505050919050565b600081359050613a6f81614691565b92915050565b600081359050613a84816146a8565b92915050565b600081519050613a99816146bf565b92915050565b600081359050613aae816146d6565b92915050565b600081519050613ac3816146d6565b92915050565b600081359050613ad8816146ed565b92915050565b600060208284031215613af057600080fd5b6000613afe84828501613a60565b91505092915050565b600060208284031215613b1957600080fd5b6000613b2784828501613a75565b91505092915050565b60008060408385031215613b4357600080fd5b6000613b5185828601613a60565b9250506020613b6285828601613a9f565b9150509250929050565b600080600060608486031215613b8157600080fd5b6000613b8f86828701613a60565b9350506020613ba086828701613ac9565b9250506040613bb186828701613a9f565b9150509250925092565b600060208284031215613bcd57600080fd5b6000613bdb84828501613a8a565b91505092915050565b600060208284031215613bf657600080fd5b6000613c0484828501613a9f565b91505092915050565b600060208284031215613c1f57600080fd5b6000613c2d84828501613ab4565b91505092915050565b600060208284031215613c4857600080fd5b6000613c5684828501613ac9565b91505092915050565b60008060408385031215613c7257600080fd5b6000613c8085828601613ac9565b9250506020613c9185828601613a9f565b9150509250929050565b613ca48161432f565b82525050565b613cb38161431d565b82525050565b6000613cc4826141e1565b613cce81856141ec565b9350613cde8185602086016143a8565b80840191505092915050565b613cf381614384565b82525050565b6000613d066015836141f7565b9150613d1182614482565b602082019050919050565b6000613d29602a836141f7565b9150613d34826144ab565b604082019050919050565b6000613d4c601b836141f7565b9150613d57826144fa565b602082019050919050565b6000613d6f600d836141f7565b9150613d7a82614523565b602082019050919050565b6000613d92601e836141f7565b9150613d9d8261454c565b602082019050919050565b6000613db5601a836141f7565b9150613dc082614575565b602082019050919050565b6000613dd86021836141f7565b9150613de38261459e565b604082019050919050565b6000613dfb6020836141f7565b9150613e06826145ed565b602082019050919050565b6000613e1e600c836141f7565b9150613e2982614616565b602082019050919050565b6000613e41601f836141f7565b9150613e4c8261463f565b602082019050919050565b6000613e64600a836141f7565b9150613e6f82614668565b602082019050919050565b613e838161436d565b82525050565b613e9281614377565b82525050565b6000613ea48284613cb9565b915081905092915050565b6000602082019050613ec46000830184613caa565b92915050565b6000602082019050613edf6000830184613c9b565b92915050565b6000606082019050613efa6000830186613caa565b613f076020830185613caa565b613f146040830184613e7a565b949350505050565b6000604082019050613f316000830185613caa565b613f3e6020830184613e7a565b9392505050565b6000602082019050613f5a6000830184613cea565b92915050565b60006020820190508181036000830152613f7981613cf9565b9050919050565b60006020820190508181036000830152613f9981613d1c565b9050919050565b60006020820190508181036000830152613fb981613d3f565b9050919050565b60006020820190508181036000830152613fd981613d62565b9050919050565b60006020820190508181036000830152613ff981613d85565b9050919050565b6000602082019050818103600083015261401981613da8565b9050919050565b6000602082019050818103600083015261403981613dcb565b9050919050565b6000602082019050818103600083015261405981613dee565b9050919050565b6000602082019050818103600083015261407981613e11565b9050919050565b6000602082019050818103600083015261409981613e34565b9050919050565b600060208201905081810360008301526140b981613e57565b9050919050565b60006020820190506140d56000830184613e7a565b92915050565b60006040820190506140f06000830185613e7a565b6140fd6020830184613e7a565b9392505050565b60006060820190506141196000830186613e7a565b6141266020830185613e7a565b6141336040830184613e7a565b949350505050565b60006080820190506141506000830187613e7a565b61415d6020830186613e7a565b61416a6040830185613e7a565b6141776060830184613e7a565b95945050505050565b600060c0820190506141956000830189613e89565b6141a26020830188613e7a565b6141af6040830187613e7a565b6141bc6060830186613e7a565b6141c96080830185613e7a565b6141d660a0830184613e7a565b979650505050505050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006142138261436d565b915061421e8361436d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561425357614252614424565b5b828201905092915050565b60006142698261436d565b91506142748361436d565b92508261428457614283614453565b5b828204905092915050565b600061429a8261436d565b91506142a58361436d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156142de576142dd614424565b5b828202905092915050565b60006142f48261436d565b91506142ff8361436d565b92508282101561431257614311614424565b5b828203905092915050565b60006143288261434d565b9050919050565b600061433a8261434d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061438f82614396565b9050919050565b60006143a18261434d565b9050919050565b60005b838110156143c65780820151818401526020810190506143ab565b838111156143d5576000848401525b50505050565b60006143e68261436d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561441957614418614424565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f5573657220686173206e6f206469766964656e64730000000000000000000000600082015250565b7f5361666542455032303a204245503230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f496e76616c696420696e64657800000000000000000000000000000000000000600082015250565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f5361666542455032303a206c6f772d6c6576656c2063616c6c206661696c6564600082015250565b7f496e76616c696420706c616e0000000000000000000000000000000000000000600082015250565b7f5361666542455032303a2063616c6c20746f206e6f6e2d636f6e747261637400600082015250565b7f4e6f74204c61756e636800000000000000000000000000000000000000000000600082015250565b61469a8161431d565b81146146a557600080fd5b50565b6146b18161432f565b81146146bc57600080fd5b50565b6146c881614341565b81146146d357600080fd5b50565b6146df8161436d565b81146146ea57600080fd5b50565b6146f681614377565b811461470157600080fd5b5056fea2646970667358221220c1da5190c37b651f79d97c14c606bfff617e41fb3867f5028e6cb8e00b3753d864736f6c63430008030033000000000000000000000000510fdd57d28970c101c8d0bd4dc543f8ff0e127d000000000000000000000000510fdd57d28970c101c8d0bd4dc543f8ff0e127d0000000000000000000000000bb53a2b28b720d0594200d39cb085d10b705e4b0000000000000000000000000000000000000000000000000000000060aea8c00000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82

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

000000000000000000000000510fdd57d28970c101c8d0bd4dc543f8ff0e127d000000000000000000000000510fdd57d28970c101c8d0bd4dc543f8ff0e127d0000000000000000000000000bb53a2b28b720d0594200d39cb085d10b705e4b0000000000000000000000000000000000000000000000000000000060aea8c00000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82

-----Decoded View---------------
Arg [0] : marketingAddr (address): 0x510fdd57d28970c101c8d0bd4dc543f8ff0e127d
Arg [1] : compoundAddr (address): 0x510fdd57d28970c101c8d0bd4dc543f8ff0e127d
Arg [2] : fundAddr (address): 0x0bb53a2b28b720d0594200d39cb085d10b705e4b
Arg [3] : startDate (uint256): 1622059200
Arg [4] : tokenAddr (address): 0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000510fdd57d28970c101c8d0bd4dc543f8ff0e127d
Arg [1] : 000000000000000000000000510fdd57d28970c101c8d0bd4dc543f8ff0e127d
Arg [2] : 0000000000000000000000000bb53a2b28b720d0594200d39cb085d10b705e4b
Arg [3] : 0000000000000000000000000000000000000000000000000000000060aea8c0
Arg [4] : 0000000000000000000000000e09fabb73bd3ade0a17ecc321fd13a19e81ce82


Deployed ByteCode Sourcemap

2770:13176:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3295:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13282:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;10980:1141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8812:1137;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3075:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13919:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12742:277;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13158:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7939:861;;;:::i;:::-;;3764:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13618:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3026:42;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3612:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15392:196;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3248:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10568:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;3580:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15600:171;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13754:160;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9963:107;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3172:43;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14224:231;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3550:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2281:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10231:331;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3676:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14085:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10075:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3121:44;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3719:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14592:579;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;3648:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3351:53;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12127:603;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13030:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2895:51;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3808:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6080:1853;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13492:121;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2543:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15186:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14461:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2869:19;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3295:49;3338:6;3295:49;:::o;13282:205::-;13353:7;13362;13371;13393:5;:18;13399:11;13393:18;;;;;;;;;;;;;;;:25;;13419:1;13393:28;;;;;;;;;;;;;;;;;13423:5;:18;13429:11;13423:18;;;;;;;;;;;;;;;:25;;13449:1;13423:28;;;;;;;;;;;;;;;;;13453:5;:18;13459:11;13453:18;;;;;;;;;;;;;;;:25;;13479:1;13453:28;;;;;;;;;;;;;;;;;13385:97;;;;;;13282:205;;;;;:::o;10980:1141::-;11048:7;11067:16;11086:5;:18;11092:11;11086:18;;;;;;;;;;;;;;;11067:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11117:19;11152:9;11164:1;11152:13;;11147:938;11171:4;:13;;;:20;11167:1;:24;11147:938;;;11235:4;:13;;;11249:1;11235:16;;;;;;;;;;;;;;;;;;;;;;:23;;;11217:4;:15;;;:41;11213:861;;;11307:1;11283:4;:13;;;11297:1;11283:16;;;;;;;;;;;;;;;;;;;;;;:21;;;:25;;;11279:780;;;11333:13;11349:75;3338:6;11349:53;11377:4;:13;;;11391:1;11377:16;;;;;;;;;;;;;;;;;;;;;;:24;;;11349:4;:13;;;11363:1;11349:16;;;;;;;;;;;;;;;;;;;;;;:23;;;:27;;:53;;;;:::i;:::-;:57;;:75;;;;:::i;:::-;11333:91;;11447:12;11487:4;:15;;;11462:4;:13;;;11476:1;11462:16;;;;;;;;;;;;;;;;;;;;;;:22;;;:40;:83;;11530:4;:15;;;11462:83;;;11505:4;:13;;;11519:1;11505:16;;;;;;;;;;;;;;;;;;;;;;:22;;;11462:83;11447:98;;11568:10;11607:15;11581:4;:13;;;11595:1;11581:16;;;;;;;;;;;;;;;;;;;;;;:23;;;:41;:85;;11651:15;11581:85;;;11625:4;:13;;;11639:1;11625:16;;;;;;;;;;;;;;;;;;;;;;:23;;;11581:85;11568:98;;11700:2;11693:4;:9;11689:351;;;11731:16;11750:48;3525:6;11750:5;11756:4;:13;;;11770:1;11756:16;;;;;;;;;;;;;;;;;;;;;;:21;;;11750:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;:37;;:48;;;;:::i;:::-;11731:67;;11825:15;11843:64;11856:50;11872:5;11878:4;:13;;;11892:1;11878:16;;;;;;;;;;;;;;;;;;;;;;:21;;;11872:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;11856:15;:50::i;:::-;11843:8;:12;;:64;;;;:::i;:::-;11825:82;;11948:68;11964:51;3525:6;11964:36;11992:7;11964:23;11974:12;11981:4;11974:2;:6;;:12;;;;:::i;:::-;11964:5;:9;;:23;;;;:::i;:::-;:27;;:36;;;;:::i;:::-;:40;;:51;;;;:::i;:::-;11948:11;:15;;:68;;;;:::i;:::-;11934:82;;11689:351;;;11279:780;;;;11213:861;11193:3;;;;;:::i;:::-;;;;11147:938;;;;12102:11;12095:18;;;;10980:1141;;;:::o;8812:1137::-;8860:17;8880:5;:17;8886:10;8880:17;;;;;;;;;;;;;;;8860:37;;8910:19;8932:28;8949:10;8932:16;:28::i;:::-;8910:50;;8971:21;8995:32;9016:10;8995:20;:32::i;:::-;8971:56;;9058:1;9042:13;:17;9038:123;;;9089:1;9076:4;:10;;:14;;;;9119:30;9135:13;9119:11;:15;;:30;;;;:::i;:::-;9105:44;;9038:123;9193:1;9179:11;:15;9171:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9231:23;9257:5;;;;;;;;;;;:15;;;9281:4;9257:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9231:56;;9320:11;9302:15;:29;9298:91;;;9362:15;9348:29;;9298:91;9417:15;9399:4;:15;;:33;;;;9445:30;9463:11;9445:17;:30::i;:::-;9489:15;9506:14;9524;9542:28;9552:4;9558:11;9542:9;:28::i;:::-;9488:82;;;;;;;9581:4;:13;;9600:68;;;;;;;;9608:4;9600:68;;;;;;9614:7;9600:68;;;;9623:11;9600:68;;;;9636:6;9600:68;;;;9644:15;9600:68;;;;9661:6;9600:68;;;9581:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9696:32;9716:11;9697:4;:13;;;9696:19;;:32;;;;:::i;:::-;9680:4;:13;;:48;;;;9753:28;9769:11;9753;;:15;;:28;;;;:::i;:::-;9739:11;:42;;;;9810:31;9829:11;9810:14;;:18;;:31;;;;:::i;:::-;9792:14;:50;;;;9869:10;9858:83;;;9881:4;9887:7;9896:11;9909:6;9917:15;9934:6;9858:83;;;;;;;;;;;:::i;:::-;;;;;;;;8812:1137;;;;;;;;:::o;3075:39::-;3110:4;3075:39;:::o;13919:161::-;13986:7;14007:68;14045:29;14062:11;14045:16;:29::i;:::-;14007:33;14028:11;14007:20;:33::i;:::-;:37;;:68;;;;:::i;:::-;14000:75;;13919:161;;;:::o;12742:277::-;12808:7;12828:17;12848:5;:18;12854:11;12848:18;;;;;;;;;;;;;;;12828:38;;12877:17;12897:4;:11;;12909:1;12897:14;;;;;;;;;;;;;;;;;12877:34;;12922:19;12944:34;12974:3;12945:23;3460:2;12945:9;:13;;:23;;;;:::i;:::-;12944:29;;:34;;;;:::i;:::-;12922:56;;13000:11;12993:18;;;;;12742:277;;;:::o;13158:119::-;13224:7;13245:5;:18;13251:11;13245:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;13238:34;;13158:119;;;:::o;7939:861::-;7977:17;7997:5;:17;8003:10;7997:17;;;;;;;;;;;;;;;7977:37;;8025:19;8047:28;8064:10;8047:16;:28::i;:::-;8025:50;;8086:21;8110:32;8131:10;8110:20;:32::i;:::-;8086:56;;8173:1;8157:13;:17;8153:123;;;8204:1;8191:4;:10;;:14;;;;8234:30;8250:13;8234:11;:15;;:30;;;;:::i;:::-;8220:44;;8153:123;8308:1;8294:11;:15;8286:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8346:23;8372:5;;;;;;;;;;;:15;;;8396:4;8372:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8346:56;;8435:11;8417:15;:29;8413:91;;;8477:15;8463:29;;8413:91;8532:15;8514:4;:15;;:33;;;;8576:32;8596:11;8577:4;:13;;;8576:19;;:32;;;;:::i;:::-;8560:4;:13;;:48;;;;8619:52;8646:10;8659:11;8619:5;;;;;;;;;;;:18;;;;:52;;;;;:::i;:::-;8710:31;8729:11;8710:14;;:18;;:31;;;;:::i;:::-;8692:14;:50;;;;8768:10;8758:34;;;8780:11;8758:34;;;;;;:::i;:::-;;;;;;;;7939:861;;;;:::o;3764:37::-;;;;;;;;;;;;;:::o;13618:131::-;13694:7;13715:5;:18;13721:11;13715:18;;;;;;;;;;;;;;;:29;;;13708:36;;13618:131;;;:::o;3026:42::-;3064:4;3026:42;:::o;3612:29::-;;;;:::o;15392:196::-;2511:5;;;;;;;;;;2497:19;;:10;:19;;;2489:28;;;;;;15527:1:::1;15495:34;;:20;:34;;;;15487:43;;;::::0;::::1;;15560:20;15541:16;;:39;;;;;;;;;;;;;;;;;;15392:196:::0;:::o;3248:40::-;3287:1;3248:40;:::o;10568:406::-;10638:15;10655:14;10671:15;10688:14;10724:16;10735:4;10724:10;:16::i;:::-;10714:26;;10762:1;10755:4;:8;;;10751:114;;;10789:64;10836:5;10842:4;10836:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;10789:42;3338:6;10789:20;10801:7;10789;:11;;:20;;;;:::i;:::-;:24;;:42;;;;:::i;:::-;:46;;:64;;;;:::i;:::-;10780:73;;10751:114;10885:15;10875:25;;10920:46;10932:33;10948:5;10954:4;10948:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;10932:15;:33::i;:::-;10920:7;:11;;:46;;;;:::i;:::-;10911:55;;10568:406;;;;;;;:::o;3580:28::-;;;;:::o;15600:171::-;2511:5;;;;;;;;;;2497:19;;:10;:19;;;2489:28;;;;;;15720:1:::1;15693:29;;:15;:29;;;;15685:38;;;::::0;::::1;;15748:15;15734:11;;:29;;;;;;;;;;;;;;;;;;15600:171:::0;:::o;13754:160::-;13829:7;13850:59;13884:5;:18;13890:11;13884:18;;;;;;;;;;;;;;;:24;;;13850:5;:18;13856:11;13850:18;;;;;;;;;;;;;;;:29;;;:33;;:59;;;;:::i;:::-;13843:66;;13754:160;;;:::o;9963:107::-;10014:7;10035:5;;;;;;;;;;;:15;;;10059:4;10035:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10028:37;;9963:107;:::o;3172:43::-;3211:4;3172:43;:::o;14224:231::-;14295:14;14321:9;14333:1;14321:13;;14316:135;14340:5;:18;14346:11;14340:18;;;;;;;;;;;;;;;:27;;:34;;;;14336:1;:38;14316:135;;;14396:49;14407:5;:18;14413:11;14407:18;;;;;;;;;;;;;;;:27;;14435:1;14407:30;;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;14396:6;:10;;:49;;;;:::i;:::-;14387:58;;14376:3;;;;;:::i;:::-;;;;14316:135;;;;14224:231;;;:::o;3550:26::-;;;;:::o;2281:20::-;;;;;;;;;;;;:::o;10231:331::-;10284:7;10301:19;10323:26;10338:10;10323:14;:26::i;:::-;10301:48;;10376:9;;10358:15;:27;10354:201;;;10400:105;10493:11;10400:88;10424:63;3525:6;10424:48;10441:30;10461:9;;10441:15;:19;;:30;;;;:::i;:::-;3287:1;10424:16;;:48;;;;:::i;:::-;:52;;:63;;;;:::i;:::-;10400:5;10406:4;10400:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;:23;;:88;;;;:::i;:::-;:92;;:105;;;;:::i;:::-;10393:112;;;;;10354:201;10530:5;10536:4;10530:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;10523:26;;;10231:331;;;;:::o;3676:39::-;;;;;;;;;;;;;:::o;14085:134::-;14159:7;14180:5;:18;14186:11;14180:18;;;;;;;;;;;;;;;:27;;:34;;;;14173:41;;14085:134;;;:::o;10075:151::-;10128:12;10142:15;10171:5;10177:4;10171:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:16;;;10164:23;;10202:5;10208:4;10202:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;10192:29;;10075:151;;;:::o;3121:44::-;3161:4;3121:44;:::o;3719:38::-;;;;;;;;;;;;;:::o;14592:579::-;14677:10;14689:15;14706:14;14722;14738:13;14753:14;14779:16;14798:5;:18;14804:11;14798:18;;;;;;;;;;;;;;;14779:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14843:4;:13;;;:20;14835:5;:28;14827:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;14901:4;:13;;;14915:5;14901:20;;;;;;;;;;;;;;;;;;;;;;:25;;;14894:32;;14947:4;:13;;;14961:5;14947:20;;;;;;;;;;;;;;;;;;;;;;:28;;;14937:38;;14995:4;:13;;;15009:5;14995:20;;;;;;;;;;;;;;;;;;;;;;:27;;;14986:36;;15042:4;:13;;;15056:5;15042:20;;;;;;;;;;;;;;;;;;;;;;:27;;;15033:36;;15088:4;:13;;;15102:5;15088:20;;;;;;;;;;;;;;;;;;;;;;:26;;;15080:34;;15134:4;:13;;;15148:5;15134:20;;;;;;;;;;;;;;;;;;;;;;:27;;;15125:36;;14592:579;;;;;;;;;:::o;3648:24::-;;;;:::o;3351:53::-;3395:9;3351:53;:::o;12127:603::-;12191:7;12208:12;12223:23;3525:6;12223:8;:12;;:23;;;;:::i;:::-;12208:38;;12279:9;;12261:15;:27;12257:466;;;12300:17;12320:16;12334:1;3525:6;12320:13;;:16;;;;:::i;:::-;12300:36;;12347:16;12366:45;3525:6;12366:30;12386:9;;12366:15;:19;;:30;;;;:::i;:::-;:34;;:45;;;;:::i;:::-;12347:64;;12422:20;12445:31;3395:9;12445:8;:12;;:31;;;;:::i;:::-;12422:54;;12506:9;12491:12;:24;12487:76;;;12542:9;12527:24;;12487:76;12573:19;12595:41;12623:12;12595:23;3525:6;12595:8;:12;;:23;;;;:::i;:::-;:27;;:41;;;;:::i;:::-;12573:63;;12654:11;12647:18;;;;;;;;;12257:466;12709:4;12702:11;;;12127:603;;;;:::o;13030:123::-;13098:7;13119:5;:18;13125:11;13119:18;;;;;;;;;;;;;;;:29;;;13112:36;;13030:123;;;:::o;2895:51::-;2939:7;2895:51;:::o;3808:34::-;;;;;;;;;;;;;:::o;6080:1853::-;6188:9;;6169:15;:28;;6161:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;2939:7;6225:9;:30;;6217:39;;;;;;6282:1;6275:4;:8;;;6267:33;;;;;;;;;;;;:::i;:::-;;;;;;;;;6321:60;6344:10;6364:4;6371:9;6321:5;;;;;;;;;;;:22;;;;:60;;;;;;:::i;:::-;6388:20;6398:9;6388;:20::i;:::-;6415:17;6435:5;:17;6441:10;6435:17;;;;;;;;;;;;;;;6415:37;;6486:1;6461:27;;:4;:13;;;;;;;;;;;;:27;;;6457:551;;;6534:1;6500:5;:15;6506:8;6500:15;;;;;;;;;;;;;;;:24;;:31;;;;:35;:61;;;;;6551:10;6539:22;;:8;:22;;;;6500:61;6496:156;;;6586:8;6570:4;:13;;;:24;;;;;;;;;;;;;;;;;;6496:156;;;6631:14;;;;;;;;;;;6615:4;:13;;;:30;;;;;;;;;;;;;;;;;;6496:156;6657:14;6674:4;:13;;;;;;;;;;;;6657:30;;6698:9;6693:310;6717:1;6713;:5;6693:310;;;6754:1;6736:20;;:6;:20;;;6732:264;;6792:30;6820:1;6792:5;:13;6798:6;6792:13;;;;;;;;;;;;;;;:20;;6813:1;6792:23;;;;;;;;;;;;;;;;;:27;;:30;;;;:::i;:::-;6766:5;:13;6772:6;6766:13;;;;;;;;;;;;;;;:20;;6787:1;6766:23;;;;;;;;;;;;;;;;:56;;;;6868:1;6834:36;;:5;:13;6840:6;6834:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:36;;;6830:109;;;6910:14;;;;;;;;;;;6885:5;:13;6891:6;6885:13;;;;;;;;;;;;;;;:22;;;:39;;;;;;;;;;;;;;;;;;6830:109;6955:5;:13;6961:6;6955:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;6946:31;;6732:264;;;6991:5;;6732:264;6720:3;;;;;:::i;:::-;;;;6693:310;;;;6457:551;;7043:1;7018:27;;:4;:13;;;;;;;;;;;;:27;;;7014:476;;7053:14;7070:4;:13;;;;;;;;;;;;7053:30;;7094:9;7089:396;7113:1;7109;:5;7089:396;;;7150:1;7132:20;;:6;:20;;;7128:350;;7162:14;7179:57;3338:6;7179:35;7193:17;7211:1;7193:20;;;;;;;;;;;;;;;;;;;;;;;;7179:9;:13;;:35;;;;:::i;:::-;:39;;:57;;;;:::i;:::-;7162:74;;7266:31;7290:6;7266:5;:13;7272:6;7266:13;;;;;;;;;;;;;;;:19;;;:23;;:31;;;;:::i;:::-;7244:5;:13;7250:6;7244:13;;;;;;;;;;;;;;;:19;;:53;;;;7332:36;7361:6;7332:5;:13;7338:6;7332:13;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;7305:5;:13;7311:6;7305:13;;;;;;;;;;;;;;;:24;;:63;;;;7410:1;7398:10;7381:39;;7390:6;7381:39;;;7413:6;7381:39;;;;;;:::i;:::-;;;;;;;;7437:5;:13;7443:6;7437:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;7428:31;;7128:350;;;;7473:5;;7128:350;7116:3;;;;;:::i;:::-;;;;7089:396;;;;7014:476;;7524:1;7500:4;:13;;:20;;;;:25;7496:105;;;7551:15;7533:4;:15;;:33;;;;7577:18;7584:10;7577:18;;;;;;:::i;:::-;;;;;;;;7496:105;7616:15;7633:14;7651;7669:26;7679:4;7685:9;7669;:26::i;:::-;7615:80;;;;;;;7706:4;:13;;7725:66;;;;;;;;7733:4;7725:66;;;;;;7739:7;7725:66;;;;7748:9;7725:66;;;;7759:6;7725:66;;;;7767:15;7725:66;;;;7784:6;7725:66;;;7706:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7811:26;7827:9;7811:11;;:15;;:26;;;;:::i;:::-;7797:11;:40;;;;7858:10;7847:81;;;7870:4;7876:7;7885:9;7896:6;7904:15;7921:6;7847:81;;;;;;;;;;;:::i;:::-;;;;;;;;6080:1853;;;;;;;:::o;13492:121::-;13563:7;13584:5;:18;13590:11;13584:18;;;;;;;;;;;;;;;:24;;;13577:31;;13492:121;;;:::o;2543:198::-;2511:5;;;;;;;;;;2497:19;;:10;:19;;;2489:28;;;;;;2646:1:::1;2625:23;;:9;:23;;;;2617:32;;;::::0;::::1;;2695:9;2665:40;;2688:5;::::0;::::1;;;;;;;;2665:40;;;;;;;;;;;;2724:9;2716:5;::::0;:17:::1;;;;;;;;;;;;;;;;;;2543:198:::0;:::o;15186:194::-;2511:5;;;;;;;;;;2497:19;;:10;:19;;;2489:28;;;;;;15321:1:::1;15289:34;;:20;:34;;;;15281:43;;;::::0;::::1;;15352:20;15335:14;;:37;;;;;;;;;;;;;;;;;;15186:194:::0;:::o;14461:125::-;14533:7;14554:5;:18;14560:11;14554:18;;;;;;;;;;;;;;;:27;;;14547:34;;14461:125;;;:::o;2869:19::-;;;;;;;;;;;;;:::o;18334:246::-;18392:7;18421:1;18416;:6;18412:47;;;18446:1;18439:8;;;;18412:47;18469:9;18485:1;18481;:5;;;;:::i;:::-;18469:17;;18514:1;18509;18505;:5;;;;:::i;:::-;:10;18497:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18571:1;18564:8;;;18334:246;;;;;:::o;18586:177::-;18644:7;18676:1;18672;:5;18664:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;18719:9;18735:1;18731;:5;;;;:::i;:::-;18719:17;;18754:1;18747:8;;;18586:177;;;;:::o;18146:182::-;18204:7;18237:1;18232;:6;;18224:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;18284:9;18300:1;18296;:5;;;;:::i;:::-;18284:17;;18319:1;18312:8;;;18146:182;;;;:::o;17961:179::-;18019:7;18039:9;18055:1;18051;:5;;;;:::i;:::-;18039:17;;18080:1;18075;:6;;18067:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;18131:1;18124:8;;;17961:179;;;;:::o;5862:213::-;5917:14;5934:43;3338:6;5934:21;3211:4;5934:3;:7;;:21;;;;:::i;:::-;:25;;:43;;;;:::i;:::-;5917:60;;5984:43;6003:15;;;;;;;;;;;6020:6;5984:5;;;;;;;;;;;:18;;;;:43;;;;;:::i;:::-;6048:10;6039:28;;;6060:6;6039:28;;;;;;:::i;:::-;;;;;;;;5862:213;;:::o;16717:176::-;16800:85;16819:5;16849:23;;;16874:2;16878:5;16826:58;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16800:18;:85::i;:::-;16717:176;;;:::o;16899:204::-;17000:95;17019:5;17049:27;;;17078:4;17084:2;17088:5;17026:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17000:18;:95::i;:::-;16899:204;;;;:::o;5407:445::-;5454:14;5471:44;3338:6;5471:22;3161:4;5471:3;:7;;:22;;;;:::i;:::-;:26;;:44;;;;:::i;:::-;5454:61;;5522:15;5540:39;3338:6;5540:17;3110:4;5540:3;:7;;:17;;;;:::i;:::-;:21;;:39;;;;:::i;:::-;5522:57;;5586:14;5603:42;3338:6;5603:20;3064:4;5603:3;:7;;:20;;;;:::i;:::-;:24;;:42;;;;:::i;:::-;5586:59;;5652:44;5671:16;;;;;;;;;;;5689:6;5652:5;;;;;;;;;;;:18;;;;:44;;;;;:::i;:::-;5703:40;5722:11;;;;;;;;;;;5735:7;5703:5;;;;;;;;;;;:18;;;;:40;;;;;:::i;:::-;5750:42;5769:14;;;;;;;;;;;5785:6;5750:5;;;;;;;;;;;:18;;;;:42;;;;;:::i;:::-;5813:10;5804:40;;;5825:18;5836:6;5825;:10;;:18;;;;:::i;:::-;5804:40;;;;;;:::i;:::-;;;;;;;;5407:445;;;;:::o;17109:476::-;17197:27;17205:5;17197:25;;;:27::i;:::-;17189:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17272:12;17286:23;17321:5;17313:19;;17333:4;17313:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17271:67;;;;17357:7;17349:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;17436:1;17416:10;:17;:21;17412:166;;;17500:10;17489:30;;;;;;;;;;;;:::i;:::-;17481:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;17412:166;17109:476;;;;:::o;17615:317::-;17675:4;17692:16;17719:19;17741:66;17719:88;;;;17853:7;17841:20;17829:32;;17893:3;17881:15;;:8;:15;;:42;;;;;17912:11;17900:8;:23;;17881:42;17873:51;;;;17615:317;;;:::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:137::-;;398:6;392:13;383:22;;414:30;438:5;414:30;:::i;:::-;373:77;;;;:::o;456:139::-;;540:6;527:20;518:29;;556:33;583:5;556:33;:::i;:::-;508:87;;;;:::o;601:143::-;;689:6;683:13;674:22;;705:33;732:5;705:33;:::i;:::-;664:80;;;;:::o;750:135::-;;832:6;819:20;810:29;;848:31;873:5;848:31;:::i;:::-;800:85;;;;:::o;891:262::-;;999:2;987:9;978:7;974:23;970:32;967:2;;;1015:1;1012;1005:12;967:2;1058:1;1083:53;1128:7;1119:6;1108:9;1104:22;1083:53;:::i;:::-;1073:63;;1029:117;957:196;;;;:::o;1159:278::-;;1275:2;1263:9;1254:7;1250:23;1246:32;1243:2;;;1291:1;1288;1281:12;1243:2;1334:1;1359:61;1412:7;1403:6;1392:9;1388:22;1359:61;:::i;:::-;1349:71;;1305:125;1233:204;;;;:::o;1443:407::-;;;1568:2;1556:9;1547:7;1543:23;1539:32;1536:2;;;1584:1;1581;1574:12;1536:2;1627:1;1652:53;1697:7;1688:6;1677:9;1673:22;1652:53;:::i;:::-;1642:63;;1598:117;1754:2;1780:53;1825:7;1816:6;1805:9;1801:22;1780:53;:::i;:::-;1770:63;;1725:118;1526:324;;;;;:::o;1856:548::-;;;;1996:2;1984:9;1975:7;1971:23;1967:32;1964:2;;;2012:1;2009;2002:12;1964:2;2055:1;2080:53;2125:7;2116:6;2105:9;2101:22;2080:53;:::i;:::-;2070:63;;2026:117;2182:2;2208:51;2251:7;2242:6;2231:9;2227:22;2208:51;:::i;:::-;2198:61;;2153:116;2308:2;2334:53;2379:7;2370:6;2359:9;2355:22;2334:53;:::i;:::-;2324:63;;2279:118;1954:450;;;;;:::o;2410:278::-;;2526:2;2514:9;2505:7;2501:23;2497:32;2494:2;;;2542:1;2539;2532:12;2494:2;2585:1;2610:61;2663:7;2654:6;2643:9;2639:22;2610:61;:::i;:::-;2600:71;;2556:125;2484:204;;;;:::o;2694:262::-;;2802:2;2790:9;2781:7;2777:23;2773:32;2770:2;;;2818:1;2815;2808:12;2770:2;2861:1;2886:53;2931:7;2922:6;2911:9;2907:22;2886:53;:::i;:::-;2876:63;;2832:117;2760:196;;;;:::o;2962:284::-;;3081:2;3069:9;3060:7;3056:23;3052:32;3049:2;;;3097:1;3094;3087:12;3049:2;3140:1;3165:64;3221:7;3212:6;3201:9;3197:22;3165:64;:::i;:::-;3155:74;;3111:128;3039:207;;;;:::o;3252:258::-;;3358:2;3346:9;3337:7;3333:23;3329:32;3326:2;;;3374:1;3371;3364:12;3326:2;3417:1;3442:51;3485:7;3476:6;3465:9;3461:22;3442:51;:::i;:::-;3432:61;;3388:115;3316:194;;;;:::o;3516:403::-;;;3639:2;3627:9;3618:7;3614:23;3610:32;3607:2;;;3655:1;3652;3645:12;3607:2;3698:1;3723:51;3766:7;3757:6;3746:9;3742:22;3723:51;:::i;:::-;3713:61;;3669:115;3823:2;3849:53;3894:7;3885:6;3874:9;3870:22;3849:53;:::i;:::-;3839:63;;3794:118;3597:322;;;;;:::o;3925:142::-;4028:32;4054:5;4028:32;:::i;:::-;4023:3;4016:45;4006:61;;:::o;4073:118::-;4160:24;4178:5;4160:24;:::i;:::-;4155:3;4148:37;4138:53;;:::o;4197:373::-;;4329:38;4361:5;4329:38;:::i;:::-;4383:88;4464:6;4459:3;4383:88;:::i;:::-;4376:95;;4480:52;4525:6;4520:3;4513:4;4506:5;4502:16;4480:52;:::i;:::-;4557:6;4552:3;4548:16;4541:23;;4305:265;;;;;:::o;4576:161::-;4678:52;4724:5;4678:52;:::i;:::-;4673:3;4666:65;4656:81;;:::o;4743:366::-;;4906:67;4970:2;4965:3;4906:67;:::i;:::-;4899:74;;4982:93;5071:3;4982:93;:::i;:::-;5100:2;5095:3;5091:12;5084:19;;4889:220;;;:::o;5115:366::-;;5278:67;5342:2;5337:3;5278:67;:::i;:::-;5271:74;;5354:93;5443:3;5354:93;:::i;:::-;5472:2;5467:3;5463:12;5456:19;;5261:220;;;:::o;5487:366::-;;5650:67;5714:2;5709:3;5650:67;:::i;:::-;5643:74;;5726:93;5815:3;5726:93;:::i;:::-;5844:2;5839:3;5835:12;5828:19;;5633:220;;;:::o;5859:366::-;;6022:67;6086:2;6081:3;6022:67;:::i;:::-;6015:74;;6098:93;6187:3;6098:93;:::i;:::-;6216:2;6211:3;6207:12;6200:19;;6005:220;;;:::o;6231:366::-;;6394:67;6458:2;6453:3;6394:67;:::i;:::-;6387:74;;6470:93;6559:3;6470:93;:::i;:::-;6588:2;6583:3;6579:12;6572:19;;6377:220;;;:::o;6603:366::-;;6766:67;6830:2;6825:3;6766:67;:::i;:::-;6759:74;;6842:93;6931:3;6842:93;:::i;:::-;6960:2;6955:3;6951:12;6944:19;;6749:220;;;:::o;6975:366::-;;7138:67;7202:2;7197:3;7138:67;:::i;:::-;7131:74;;7214:93;7303:3;7214:93;:::i;:::-;7332:2;7327:3;7323:12;7316:19;;7121:220;;;:::o;7347:366::-;;7510:67;7574:2;7569:3;7510:67;:::i;:::-;7503:74;;7586:93;7675:3;7586:93;:::i;:::-;7704:2;7699:3;7695:12;7688:19;;7493:220;;;:::o;7719:366::-;;7882:67;7946:2;7941:3;7882:67;:::i;:::-;7875:74;;7958:93;8047:3;7958:93;:::i;:::-;8076:2;8071:3;8067:12;8060:19;;7865:220;;;:::o;8091:366::-;;8254:67;8318:2;8313:3;8254:67;:::i;:::-;8247:74;;8330:93;8419:3;8330:93;:::i;:::-;8448:2;8443:3;8439:12;8432:19;;8237:220;;;:::o;8463:366::-;;8626:67;8690:2;8685:3;8626:67;:::i;:::-;8619:74;;8702:93;8791:3;8702:93;:::i;:::-;8820:2;8815:3;8811:12;8804:19;;8609:220;;;:::o;8835:118::-;8922:24;8940:5;8922:24;:::i;:::-;8917:3;8910:37;8900:53;;:::o;8959:112::-;9042:22;9058:5;9042:22;:::i;:::-;9037:3;9030:35;9020:51;;:::o;9077:271::-;;9229:93;9318:3;9309:6;9229:93;:::i;:::-;9222:100;;9339:3;9332:10;;9211:137;;;;:::o;9354:222::-;;9485:2;9474:9;9470:18;9462:26;;9498:71;9566:1;9555:9;9551:17;9542:6;9498:71;:::i;:::-;9452:124;;;;:::o;9582:254::-;;9729:2;9718:9;9714:18;9706:26;;9742:87;9826:1;9815:9;9811:17;9802:6;9742:87;:::i;:::-;9696:140;;;;:::o;9842:442::-;;10029:2;10018:9;10014:18;10006:26;;10042:71;10110:1;10099:9;10095:17;10086:6;10042:71;:::i;:::-;10123:72;10191:2;10180:9;10176:18;10167:6;10123:72;:::i;:::-;10205;10273:2;10262:9;10258:18;10249:6;10205:72;:::i;:::-;9996:288;;;;;;:::o;10290:332::-;;10449:2;10438:9;10434:18;10426:26;;10462:71;10530:1;10519:9;10515:17;10506:6;10462:71;:::i;:::-;10543:72;10611:2;10600:9;10596:18;10587:6;10543:72;:::i;:::-;10416:206;;;;;:::o;10628:252::-;;10774:2;10763:9;10759:18;10751:26;;10787:86;10870:1;10859:9;10855:17;10846:6;10787:86;:::i;:::-;10741:139;;;;:::o;10886:419::-;;11090:2;11079:9;11075:18;11067:26;;11139:9;11133:4;11129:20;11125:1;11114:9;11110:17;11103:47;11167:131;11293:4;11167:131;:::i;:::-;11159:139;;11057:248;;;:::o;11311:419::-;;11515:2;11504:9;11500:18;11492:26;;11564:9;11558:4;11554:20;11550:1;11539:9;11535:17;11528:47;11592:131;11718:4;11592:131;:::i;:::-;11584:139;;11482:248;;;:::o;11736:419::-;;11940:2;11929:9;11925:18;11917:26;;11989:9;11983:4;11979:20;11975:1;11964:9;11960:17;11953:47;12017:131;12143:4;12017:131;:::i;:::-;12009:139;;11907:248;;;:::o;12161:419::-;;12365:2;12354:9;12350:18;12342:26;;12414:9;12408:4;12404:20;12400:1;12389:9;12385:17;12378:47;12442:131;12568:4;12442:131;:::i;:::-;12434:139;;12332:248;;;:::o;12586:419::-;;12790:2;12779:9;12775:18;12767:26;;12839:9;12833:4;12829:20;12825:1;12814:9;12810:17;12803:47;12867:131;12993:4;12867:131;:::i;:::-;12859:139;;12757:248;;;:::o;13011:419::-;;13215:2;13204:9;13200:18;13192:26;;13264:9;13258:4;13254:20;13250:1;13239:9;13235:17;13228:47;13292:131;13418:4;13292:131;:::i;:::-;13284:139;;13182:248;;;:::o;13436:419::-;;13640:2;13629:9;13625:18;13617:26;;13689:9;13683:4;13679:20;13675:1;13664:9;13660:17;13653:47;13717:131;13843:4;13717:131;:::i;:::-;13709:139;;13607:248;;;:::o;13861:419::-;;14065:2;14054:9;14050:18;14042:26;;14114:9;14108:4;14104:20;14100:1;14089:9;14085:17;14078:47;14142:131;14268:4;14142:131;:::i;:::-;14134:139;;14032:248;;;:::o;14286:419::-;;14490:2;14479:9;14475:18;14467:26;;14539:9;14533:4;14529:20;14525:1;14514:9;14510:17;14503:47;14567:131;14693:4;14567:131;:::i;:::-;14559:139;;14457:248;;;:::o;14711:419::-;;14915:2;14904:9;14900:18;14892:26;;14964:9;14958:4;14954:20;14950:1;14939:9;14935:17;14928:47;14992:131;15118:4;14992:131;:::i;:::-;14984:139;;14882:248;;;:::o;15136:419::-;;15340:2;15329:9;15325:18;15317:26;;15389:9;15383:4;15379:20;15375:1;15364:9;15360:17;15353:47;15417:131;15543:4;15417:131;:::i;:::-;15409:139;;15307:248;;;:::o;15561:222::-;;15692:2;15681:9;15677:18;15669:26;;15705:71;15773:1;15762:9;15758:17;15749:6;15705:71;:::i;:::-;15659:124;;;;:::o;15789:332::-;;15948:2;15937:9;15933:18;15925:26;;15961:71;16029:1;16018:9;16014:17;16005:6;15961:71;:::i;:::-;16042:72;16110:2;16099:9;16095:18;16086:6;16042:72;:::i;:::-;15915:206;;;;;:::o;16127:442::-;;16314:2;16303:9;16299:18;16291:26;;16327:71;16395:1;16384:9;16380:17;16371:6;16327:71;:::i;:::-;16408:72;16476:2;16465:9;16461:18;16452:6;16408:72;:::i;:::-;16490;16558:2;16547:9;16543:18;16534:6;16490:72;:::i;:::-;16281:288;;;;;;:::o;16575:553::-;;16790:3;16779:9;16775:19;16767:27;;16804:71;16872:1;16861:9;16857:17;16848:6;16804:71;:::i;:::-;16885:72;16953:2;16942:9;16938:18;16929:6;16885:72;:::i;:::-;16967;17035:2;17024:9;17020:18;17011:6;16967:72;:::i;:::-;17049;17117:2;17106:9;17102:18;17093:6;17049:72;:::i;:::-;16757:371;;;;;;;:::o;17134:767::-;;17401:3;17390:9;17386:19;17378:27;;17415:67;17479:1;17468:9;17464:17;17455:6;17415:67;:::i;:::-;17492:72;17560:2;17549:9;17545:18;17536:6;17492:72;:::i;:::-;17574;17642:2;17631:9;17627:18;17618:6;17574:72;:::i;:::-;17656;17724:2;17713:9;17709:18;17700:6;17656:72;:::i;:::-;17738:73;17806:3;17795:9;17791:19;17782:6;17738:73;:::i;:::-;17821;17889:3;17878:9;17874:19;17865:6;17821:73;:::i;:::-;17368:533;;;;;;;;;:::o;17907:98::-;;17992:5;17986:12;17976:22;;17965:40;;;:::o;18011:147::-;;18149:3;18134:18;;18124:34;;;;:::o;18164:169::-;;18282:6;18277:3;18270:19;18322:4;18317:3;18313:14;18298:29;;18260:73;;;;:::o;18339:305::-;;18398:20;18416:1;18398:20;:::i;:::-;18393:25;;18432:20;18450:1;18432:20;:::i;:::-;18427:25;;18586:1;18518:66;18514:74;18511:1;18508:81;18505:2;;;18592:18;;:::i;:::-;18505:2;18636:1;18633;18629:9;18622:16;;18383:261;;;;:::o;18650:185::-;;18707:20;18725:1;18707:20;:::i;:::-;18702:25;;18741:20;18759:1;18741:20;:::i;:::-;18736:25;;18780:1;18770:2;;18785:18;;:::i;:::-;18770:2;18827:1;18824;18820:9;18815:14;;18692:143;;;;:::o;18841:348::-;;18904:20;18922:1;18904:20;:::i;:::-;18899:25;;18938:20;18956:1;18938:20;:::i;:::-;18933:25;;19126:1;19058:66;19054:74;19051:1;19048:81;19043:1;19036:9;19029:17;19025:105;19022:2;;;19133:18;;:::i;:::-;19022:2;19181:1;19178;19174:9;19163:20;;18889:300;;;;:::o;19195:191::-;;19255:20;19273:1;19255:20;:::i;:::-;19250:25;;19289:20;19307:1;19289:20;:::i;:::-;19284:25;;19328:1;19325;19322:8;19319:2;;;19333:18;;:::i;:::-;19319:2;19378:1;19375;19371:9;19363:17;;19240:146;;;;:::o;19392:96::-;;19458:24;19476:5;19458:24;:::i;:::-;19447:35;;19437:51;;;:::o;19494:104::-;;19568:24;19586:5;19568:24;:::i;:::-;19557:35;;19547:51;;;:::o;19604:90::-;;19681:5;19674:13;19667:21;19656:32;;19646:48;;;:::o;19700:126::-;;19777:42;19770:5;19766:54;19755:65;;19745:81;;;:::o;19832:77::-;;19898:5;19887:16;;19877:32;;;:::o;19915:86::-;;19990:4;19983:5;19979:16;19968:27;;19958:43;;;:::o;20007:156::-;;20105:52;20151:5;20105:52;:::i;:::-;20092:65;;20082:81;;;:::o;20169:128::-;;20267:24;20285:5;20267:24;:::i;:::-;20254:37;;20244:53;;;:::o;20303:307::-;20371:1;20381:113;20395:6;20392:1;20389:13;20381:113;;;20480:1;20475:3;20471:11;20465:18;20461:1;20456:3;20452:11;20445:39;20417:2;20414:1;20410:10;20405:15;;20381:113;;;20512:6;20509:1;20506:13;20503:2;;;20592:1;20583:6;20578:3;20574:16;20567:27;20503:2;20352:258;;;;:::o;20616:233::-;;20678:24;20696:5;20678:24;:::i;:::-;20669:33;;20724:66;20717:5;20714:77;20711:2;;;20794:18;;:::i;:::-;20711:2;20841:1;20834:5;20830:13;20823:20;;20659:190;;;:::o;20855:180::-;20903:77;20900:1;20893:88;21000:4;20997:1;20990:15;21024:4;21021:1;21014:15;21041:180;21089:77;21086:1;21079:88;21186:4;21183:1;21176:15;21210:4;21207:1;21200:15;21227:171;21367:23;21363:1;21355:6;21351:14;21344:47;21333:65;:::o;21404:229::-;21544:34;21540:1;21532:6;21528:14;21521:58;21613:12;21608:2;21600:6;21596:15;21589:37;21510:123;:::o;21639:177::-;21779:29;21775:1;21767:6;21763:14;21756:53;21745:71;:::o;21822:163::-;21962:15;21958:1;21950:6;21946:14;21939:39;21928:57;:::o;21991:180::-;22131:32;22127:1;22119:6;22115:14;22108:56;22097:74;:::o;22177:176::-;22317:28;22313:1;22305:6;22301:14;22294:52;22283:70;:::o;22359:220::-;22499:34;22495:1;22487:6;22483:14;22476:58;22568:3;22563:2;22555:6;22551:15;22544:28;22465:114;:::o;22585:182::-;22725:34;22721:1;22713:6;22709:14;22702:58;22691:76;:::o;22773:162::-;22913:14;22909:1;22901:6;22897:14;22890:38;22879:56;:::o;22941:181::-;23081:33;23077:1;23069:6;23065:14;23058:57;23047:75;:::o;23128:160::-;23268:12;23264:1;23256:6;23252:14;23245:36;23234:54;:::o;23294:122::-;23367:24;23385:5;23367:24;:::i;:::-;23360:5;23357:35;23347:2;;23406:1;23403;23396:12;23347:2;23337:79;:::o;23422:138::-;23503:32;23529:5;23503:32;:::i;:::-;23496:5;23493:43;23483:2;;23550:1;23547;23540:12;23483:2;23473:87;:::o;23566:116::-;23636:21;23651:5;23636:21;:::i;:::-;23629:5;23626:32;23616:2;;23672:1;23669;23662:12;23616:2;23606:76;:::o;23688:122::-;23761:24;23779:5;23761:24;:::i;:::-;23754:5;23751:35;23741:2;;23800:1;23797;23790:12;23741:2;23731:79;:::o;23816:118::-;23887:22;23903:5;23887:22;:::i;:::-;23880:5;23877:33;23867:2;;23924:1;23921;23914:12;23867:2;23857:77;:::o

Swarm Source

ipfs://c1da5190c37b651f79d97c14c606bfff617e41fb3867f5028e6cb8e00b3753d8
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.