Contract 0x79bEe24c04172c80042cb5155F2ad26961eA3342

 
Txn Hash
Block
From
To
Value [Txn Fee]
0x1cd600882daee53fa9b55c64e504885252a5b6e6c34f04cd0118a2aad4bd34a483355782021-06-16 3:06:323 hrs 32 mins ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.003361115
0x4797e1c13f99988b4085b86e6413c256d489543ae1ff34c11e4d3b3e0a4fab6d83341482021-06-16 1:53:464 hrs 45 mins ago0xf62c368d93f7df0dbf083583aaa7e30df538aea7 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00052305
0x3b344b59f3fa35eaf0ad4aec7e3d8dd094d4eb76438acd614b84f7a7ab7deb2f83300042021-06-15 22:24:548 hrs 14 mins ago0x8f6d1906b474d55f776d2b083a0eac41f1d11f7d IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.001321155
0x1e6f59efad7217fc282fa34aee606fd3c3f99922ef654c8c68811874b56b8c4e83277632021-06-15 20:31:5110 hrs 7 mins ago0x62ac2314164ef129be983be497cd02bfaacb63c6 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00157043
0x91505828296378d974d60f9ba40d7d96e036b859c3f44d1a38f66a138255014983237072021-06-15 17:07:5613 hrs 31 mins ago0xbbfd576099863a253d58502c7017ae69bf2fa94a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00431974
0x2023b583b0703cf9ff423696335e545f2add28919f511a8d2a0c67a8f821c08783207022021-06-15 14:35:1316 hrs 3 mins ago0xb42066a26271519180fa745cbceae191ad0d312e IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00135973
0x72d16718d948565e8b8924cb2a4bc68ed92fe31710f978eaed0e2944a22f37dd83128942021-06-15 7:55:5022 hrs 43 mins ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.003361115
0x07997d16227e33a132a0331f90b38402552cac63bec39f93a967a01afb86197983121902021-06-15 7:19:1423 hrs 19 mins ago0xbbfd576099863a253d58502c7017ae69bf2fa94a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00423103
0x2abb1703902c07f73ab68417dedb8c6cb2dbe55677875588ddd775600e0082ce83111992021-06-15 6:28:581 day 10 mins ago0x2011c486b6f92646ecb17c7f5ffd9db7b2a0625a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.000877755
0x51574d760c38ff216071c55d70a142f4e1319789e5c3d08c60a335ab5965a42583091562021-06-15 4:46:001 day 1 hr ago0xbbfd576099863a253d58502c7017ae69bf2fa94a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.004142325
0x8a66bbb069520a8efb9177a978cc7e012b616204d776a1f4efab22e304fdd6ae83011612021-06-14 22:01:271 day 8 hrs ago0x62ac2314164ef129be983be497cd02bfaacb63c6 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00135973
0x5688bc8e1a1a17a937f2a4d2dfeb4d1793ba860a7bdd479cd1f588ba8bfa55ef83011132021-06-14 21:59:031 day 8 hrs ago0x62ac2314164ef129be983be497cd02bfaacb63c6 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.000877755
0xae46ec8a24008ef377a04b729023fc6fb3c8cb0e49b76f0fc55cb13f14c7244582983422021-06-14 19:36:551 day 11 hrs ago0x8f6d1906b474d55f776d2b083a0eac41f1d11f7d IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.001246155
0x150bb3e5ce9324e959e74298a66ba72070590dce75fc700fbbcb2cddcbd7b96982982182021-06-14 19:30:431 day 11 hrs ago0xb42066a26271519180fa745cbceae191ad0d312e IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.001055115
0x68d81788d47e9512d272e998c47d5f4d1a84a381653057791aa494172829a07782960412021-06-14 17:41:251 day 12 hrs ago0xbbfd576099863a253d58502c7017ae69bf2fa94a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.004053615
0x4442a168928b526d22ce98e8f42a680d1048752aa47de268b24c56a802a9c2a982956792021-06-14 17:23:181 day 13 hrs ago0x810575c22bc4b96d16a81d06cada9ff368872b15 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00044805
0x2bd29a496416bdc13100b41bede9ba8900924dbd109b06d204439d146c50d7d682913342021-06-14 13:45:281 day 16 hrs ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.003286115
0xb91fcab9505bf4817afa3cbbb8e87c93be033a74d90fae6520a92e1d693d2fc682835702021-06-14 7:12:111 day 23 hrs ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.003361115
0xc075ab5a2c90399dc6b4e8979d183c2623ae2310b1b2945000caeccb1753842182690542021-06-13 18:55:152 days 11 hrs ago0x2011c486b6f92646ecb17c7f5ffd9db7b2a0625a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.000802755
0x0a98cce7527a8d77271f027e7e684e6ff3a3fde3bff8d42ca22b851ace071e2582689482021-06-13 18:49:572 days 11 hrs ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.003361115
0xdd7cf0ed946ef6cf873d4de24a7f0dce11675fa090b0dbec51f074766709ba3b82689382021-06-13 18:49:272 days 11 hrs ago0x62ac2314164ef129be983be497cd02bfaacb63c6 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00139283
0x387e5047bbb1e069074ace5a9b74b2702bbcfb80f589ee5b64303ba92efc130982675582021-06-13 17:38:482 days 13 hrs ago0xbbfd576099863a253d58502c7017ae69bf2fa94a IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00396491
0x159e4815b321349b3a952315625369a73b356cf065caff07cfb45786316a13d282667712021-06-13 16:59:222 days 13 hrs ago0x57ffea7c8c10750bd43b6618915a9abf43b25c5e IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.0012018
0xc09117b567b361da8bdda35002e3942ef3d14374bcb1a47b24cf0b3c3bfabcc982587182021-06-13 10:13:032 days 20 hrs ago0x24b60c36c0a93eddc2b6c05d2a695a9ae5c21d75 IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.003361115
0x9862576d7b9393dbffc5a856f3eed6559ef0b50c282371ba7df643980b0aa43082557512021-06-13 7:42:132 days 22 hrs ago0xb42066a26271519180fa745cbceae191ad0d312e IN  0x79bee24c04172c80042cb5155f2ad26961ea33420 BNB0.00157019
[ 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 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

-----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.