ETH Price: $2,283.99 (-3.13%)

Contract

0x3fb111feD284aEA5E3Db069Fa12045d61f78668A
 

Overview

ETH Balance

0.014904721074996197 ETH

Eth Value

$34.04 (@ $2,283.99/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw Lock Bo...178071302023-07-30 16:47:35404 days ago1690735655IN
0x3fb111fe...61f78668A
0 ETH0.0011997525.99749564
Invest178071062023-07-30 16:42:35404 days ago1690735355IN
0x3fb111fe...61f78668A
0.025 ETH0.0020609326.98013961
Invest178071032023-07-30 16:41:59404 days ago1690735319IN
0x3fb111fe...61f78668A
0 ETH0.0006094728
Transfer178070892023-07-30 16:39:11404 days ago1690735151IN
0x3fb111fe...61f78668A
0.025 ETH0.001161328
Invest170506192023-04-15 6:22:35511 days ago1681539755IN
0x3fb111fe...61f78668A
1.25 ETH0.003433824.02605416
Invest121199562021-03-27 8:01:581260 days ago1616832118IN
0x3fb111fe...61f78668A
0.025 ETH0.0104245787.5
Invest107032952020-08-21 11:29:091477 days ago1598009349IN
0x3fb111fe...61f78668A
0.025 ETH0.014042100
Withdraw Lock Bo...107024252020-08-21 8:13:421478 days ago1597997622IN
0x3fb111fe...61f78668A
0 ETH0.00450573152
Invest107023982020-08-21 8:07:461478 days ago1597997266IN
0x3fb111fe...61f78668A
0.025 ETH0.01475722152
Withdraw Dev Com...101789222020-06-01 8:32:301559 days ago1591000350IN
0x3fb111fe...61f78668A
0 ETH0.0005398525.00000247
Invest101788972020-06-01 8:28:011559 days ago1591000081IN
0x3fb111fe...61f78668A
0.5 ETH0.0018106624.3
Invest101788582020-06-01 8:18:311559 days ago1590999511IN
0x3fb111fe...61f78668A
5.5 ETH0.0029126130
Invest101788282020-06-01 8:11:281559 days ago1590999088IN
0x3fb111fe...61f78668A
5.5 ETH0.0025958729
Invest101788282020-06-01 8:11:281559 days ago1590999088IN
0x3fb111fe...61f78668A
5.5 ETH0.0015843817.7
Invest101785322020-06-01 7:07:451559 days ago1590995265IN
0x3fb111fe...61f78668A
1.5 ETH0.0031170522.2
Withdraw Profit98793592020-04-15 21:12:341605 days ago1586985154IN
0x3fb111fe...61f78668A
0 ETH0.000050822
Withdraw Profit98793572020-04-15 21:12:181605 days ago1586985138IN
0x3fb111fe...61f78668A
0 ETH0.000050822
Withdraw Lock Bo...89260522019-11-13 11:03:591759 days ago1573643039IN
0x3fb111fe...61f78668A
0 ETH0.000154735
Withdraw Lock Bo...87798162019-10-20 20:47:521783 days ago1571604472IN
0x3fb111fe...61f78668A
0 ETH0.000030941
Reinvest Profit86527082019-09-30 22:20:531803 days ago1569882053IN
0x3fb111fe...61f78668A
0 ETH0.000052482
Withdraw Lock Bo...85903102019-09-21 3:56:041813 days ago1569038164IN
0x3fb111fe...61f78668A
0 ETH0.0005135923.00000051
Withdraw Lock Bo...85903082019-09-21 3:55:421813 days ago1569038142IN
0x3fb111fe...61f78668A
0 ETH0.0007117823.00000051
Reinvest Profit85900962019-09-21 3:08:051813 days ago1569035285IN
0x3fb111fe...61f78668A
0 ETH0.000078733
Withdraw Lock Bo...85783242019-09-19 6:57:191815 days ago1568876239IN
0x3fb111fe...61f78668A
0 ETH0.0009531630.8
Reinvest Profit84170032019-08-25 3:50:051840 days ago1566705005IN
0x3fb111fe...61f78668A
0 ETH0.000052482
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
178071302023-07-30 16:47:35404 days ago1690735655
0x3fb111fe...61f78668A
1.071 ETH
178071062023-07-30 16:42:35404 days ago1690735355
0x3fb111fe...61f78668A
1.07268 ETH
107024252020-08-21 8:13:421478 days ago1597997622
0x3fb111fe...61f78668A
6.321 ETH
107023982020-08-21 8:07:461478 days ago1597997266
0x3fb111fe...61f78668A
4.89636 ETH
101789222020-06-01 8:32:301559 days ago1591000350
0x3fb111fe...61f78668A
18.17282882 ETH
101788582020-06-01 8:18:311559 days ago1590999511
0x3fb111fe...61f78668A
0.000504 ETH
101788282020-06-01 8:11:281559 days ago1590999088
0x3fb111fe...61f78668A
0.000504 ETH
101788282020-06-01 8:11:281559 days ago1590999088
0x3fb111fe...61f78668A
0.000504 ETH
89260522019-11-13 11:03:591759 days ago1573643039
0x3fb111fe...61f78668A
0.36900768 ETH
87798162019-10-20 20:47:521783 days ago1571604472
0x3fb111fe...61f78668A
2.15792341 ETH
85903082019-09-21 3:55:421813 days ago1569038142
0x3fb111fe...61f78668A
1.092 ETH
85783242019-09-19 6:57:191815 days ago1568876239
0x3fb111fe...61f78668A
1.29991218 ETH
84046402019-08-23 5:21:581842 days ago1566537718
0x3fb111fe...61f78668A
1.092 ETH
83727022019-08-18 6:13:171847 days ago1566108797
0x3fb111fe...61f78668A
1.12785018 ETH
83595312019-08-16 5:09:471849 days ago1565932187
0x3fb111fe...61f78668A
0.0378 ETH
83571752019-08-15 20:17:091849 days ago1565900229
0x3fb111fe...61f78668A
2.52 ETH
83305242019-08-11 17:10:411853 days ago1565543441
0x3fb111fe...61f78668A
1.29460175 ETH
83165512019-08-09 13:07:191855 days ago1565356039
0x3fb111fe...61f78668A
0.22744086 ETH
82784612019-08-03 15:20:121861 days ago1564845612
0x3fb111fe...61f78668A
2.18742079 ETH
82620842019-08-01 2:06:011864 days ago1564625161
0x3fb111fe...61f78668A
7.94547292 ETH
82288362019-07-26 22:26:011869 days ago1564179961
0x3fb111fe...61f78668A
1.258026 ETH
82034302019-07-22 23:27:131873 days ago1563838033
0x3fb111fe...61f78668A
0.0252 ETH
81959062019-07-21 19:31:331874 days ago1563737493
0x3fb111fe...61f78668A
2.65681119 ETH
81911272019-07-21 1:44:431875 days ago1563673483
0x3fb111fe...61f78668A
1.0374 ETH
81831352019-07-19 20:01:171876 days ago1563566477
0x3fb111fe...61f78668A
0.02751778 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Onigiri

Compiler Version
v0.5.1+commit.c8a2cb62

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-05-06
*/

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

pragma solidity ^0.5.0;

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
    * @dev Multiplies two unsigned integers, reverts on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
    * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
    * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
    * @dev Adds two unsigned integers, reverts on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
    * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
    * reverts when dividing by zero.
    */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

// File: contracts/Onigiri.sol

pragma solidity ^0.5.0;


contract Onigiri {
    using SafeMath for uint256;

    struct InvestorInfo {
        uint256 invested;
        uint256 lockbox;
        uint256 withdrawn;
        uint256 lastInvestmentTime;
    }
    
    mapping (address => InvestorInfo) public investors;
    mapping (address => uint256) public affiliateCommission;
    mapping (address => uint256) public devCommission;

    uint256 public investorsCount;
    uint256 public lockboxTotal;
    uint256 public withdrawnProfitTotal;
    uint256 public affiliateCommissionWithdrawnTotal;
    
    uint256 public donatedTotal;
    uint256 public gamesIncomeTotal;
    
    address private constant dev_0_master = 0x6a5D9648381b90AF0e6881c26739efA4379c19B2;
    address private constant dev_1_master = 0xDBd32Ef31Fcd7fc1EF028A7471a7A9BFC39ab609;
    address private dev_0_escrow = 0xF57924672D6dBF0336c618fDa50E284E02715000;
    address private dev_1_escrow = 0xE4Cf94e5D30FB4406A2B139CD0e872a1C8012dEf;

    uint256 public constant minInvest = 0.025 ether;

    event Invested(address investor, uint256 amount);
    event Renvested(address investor, uint256 amount);
    event WithdrawnAffiliateCommission(address affiliate, uint256 amount);
    event WithdrawnProfit(address investor, uint256 amount);
    event WithdrawnLockbox(address investor, uint256 amount);

    /**
     * PUBLIC
     */

     /**
     * @dev Donation for Onigiry ecosystem.
     * TESTED
     */
    function() external payable {
        //  2% - to developers
        uint256 devFee = msg.value.div(100);
        devCommission[dev_0_escrow] = devCommission[dev_0_escrow].add(devFee);
        devCommission[dev_1_escrow] = devCommission[dev_1_escrow].add(devFee);
        
        donatedTotal = donatedTotal.add(msg.value);
    }

    /**
     * @dev Accepts income from games for Onigiry ecosystem.
     * TESTED
     */
    function fromGame() external payable {
        //  4% - to developers
        uint256 devFee = msg.value.div(100).mul(2);
        devCommission[dev_0_escrow] = devCommission[dev_0_escrow].add(devFee);
        devCommission[dev_1_escrow] = devCommission[dev_1_escrow].add(devFee);
        
        gamesIncomeTotal = gamesIncomeTotal.add(msg.value);
    }

    /**
     * @dev Returns invested amount for investor.
     * @param _address Investor address.
     * @return invested amount.
     * TESTED
     */
    function getInvested(address _address) public view returns(uint256) {
        return investors[_address].invested;
    }

    /**
     * @dev Returns lockbox amount for investor.
     * @param _address Investor address.
     * @return lockbox amount.
     * TESTED
     */
    function getLockBox(address _address) public view returns(uint256) {
        return investors[_address].lockbox;
    }

    /**
     * @dev Returns withdrawn amount for investor.
     * @param _address Investor address.
     * @return withdrawn amount.
     * TESTED
     */
    function getWithdrawn(address _address) public view returns(uint256) {
        return investors[_address].withdrawn;
    }

    /**
     * @dev Returns last investment time amount for investor.
     * @param _address Investor address.
     * @return last investment time.
     * TESTED
     */
    function getLastInvestmentTime(address _address) public view returns(uint256) {
        return investors[_address].lastInvestmentTime;
    }

    /**
     * @dev Gets balance for current contract.
     * @return balance for current contract.
     * TESTED
     */
    function getBalance() public view returns(uint256){
        return address(this).balance;
    }

    /**
     * @dev Calculates sum for lockboxes and dev fees.
     * @return Amount of guaranteed balance by constract.
     * TESTED
     */
    function guaranteedBalance() public view returns(uint256) {
        return lockboxTotal.add(devCommission[dev_0_escrow]).add(devCommission[dev_1_escrow]);
    }

    /**
     * @dev User invests funds.
     * @param _affiliate affiliate address.
     * TESTED
     */
    function invest(address _affiliate) public payable {
        require(msg.value >= minInvest, "min 0.025 eth");

        uint256 profit = calculateProfit(msg.sender);
        if(profit > 0){
            msg.sender.transfer(profit);
        }

        //  1% - to affiliateCommission
        if(_affiliate != msg.sender && _affiliate != address(0)) {
            uint256 commission = msg.value.div(100);
            affiliateCommission[_affiliate] = affiliateCommission[_affiliate].add(commission);
        }

        if(getLastInvestmentTime(msg.sender) == 0) {
            investorsCount = investorsCount.add(1);
        }

        uint256 lockboxAmount = msg.value.div(100).mul(84);
        investors[msg.sender].lockbox = investors[msg.sender].lockbox.add(lockboxAmount);
        investors[msg.sender].invested = investors[msg.sender].invested.add(msg.value);
        investors[msg.sender].lastInvestmentTime = now;
        delete investors[msg.sender].withdrawn;
        
        lockboxTotal = lockboxTotal.add(lockboxAmount);
        
        //  4% - to developers
        uint256 devFee = msg.value.div(100).mul(2);
        devCommission[dev_0_escrow] = devCommission[dev_0_escrow].add(devFee);
        devCommission[dev_1_escrow] = devCommission[dev_1_escrow].add(devFee);

        emit Invested(msg.sender, msg.value);
    }

    /**
     * @dev Updates escrow address for developer.
     * @param _address Address of escrow to be used.
     * TESTED
     */
    function updateDevEscrow(address _address) public {
        require(msg.sender == dev_0_master || msg.sender == dev_1_master, "not dev");
        (msg.sender == dev_0_master) ? dev_0_escrow = _address : dev_1_escrow = _address;
    }

    /**
     * @dev Allows developer to withdraw commission.
     * TESTED
     */
    function withdrawDevCommission() public {
        uint256 commission = devCommission[msg.sender];
        require(commission > 0, "no dev commission");
        require(address(this).balance.sub(commission) >= lockboxTotal, "not enough funds");

        delete devCommission[msg.sender];
        msg.sender.transfer(commission);
    }
    
    /**
     * @dev Withdraws affiliate commission for current address.
     * TESTED
     */
    function withdrawAffiliateCommission() public {
        uint256 commission = affiliateCommission[msg.sender];
        require(commission > 0, "no commission");
        require(address(this).balance.sub(commission) >= guaranteedBalance(), "not enough funds");

        delete affiliateCommission[msg.sender];
        affiliateCommissionWithdrawnTotal = affiliateCommissionWithdrawnTotal.add(commission);

        msg.sender.transfer(commission);

        emit WithdrawnAffiliateCommission(msg.sender, commission);
    }

    /**
     * @dev Allows investor to withdraw profit.
     * TESTED
     */
    function withdrawProfit() public {
        uint256 profit = calculateProfit(msg.sender);
        require(profit > 0, "no profit");
        require(address(this).balance.sub(profit) >= guaranteedBalance(), "not enough funds");

        investors[msg.sender].lastInvestmentTime = now;
        investors[msg.sender].withdrawn = investors[msg.sender].withdrawn.add(profit);

        withdrawnProfitTotal = withdrawnProfitTotal.add(profit);
        
        //  2% - to developers
        uint256 devFee = profit.div(100);
        devCommission[dev_0_escrow] = devCommission[dev_0_escrow].add(devFee);
        devCommission[dev_1_escrow] = devCommission[dev_1_escrow].add(devFee);
        
        //  3% - stay in contract
        msg.sender.transfer(profit.div(100).mul(95));

        emit WithdrawnProfit(msg.sender, profit);
    }

    /**
     * @dev Allows investor to withdraw lockbox funds, close deposit and clear all data.
     * @notice Pending profit stays in contract.
     * TESTED
     */
    function withdrawLockBoxAndClose() public {
        uint256 lockboxAmount = getLockBox(msg.sender);
        require(lockboxAmount > 0, "no investments");

        delete investors[msg.sender];
        investorsCount = investorsCount.sub(1);
        lockboxTotal = lockboxTotal.sub(lockboxAmount);

        msg.sender.transfer(lockboxAmount);

        emit WithdrawnLockbox(msg.sender, lockboxAmount);
    }
    
    /**
     * @dev Reinvests pending profit.
     * TESTED
     */
    function reinvestProfit() public {
        uint256 profit = calculateProfit(msg.sender);
        require(profit > 0, "no profit");
        require(address(this).balance.sub(profit) >= guaranteedBalance(), "not enough funds");
        
        uint256 lockboxFromProfit = profit.div(100).mul(84);
        investors[msg.sender].lockbox = investors[msg.sender].lockbox.add(lockboxFromProfit);
        investors[msg.sender].lastInvestmentTime = now;
        investors[msg.sender].invested = investors[msg.sender].invested.add(profit);

        lockboxTotal = lockboxTotal.add(lockboxFromProfit);

        emit Renvested(msg.sender, profit);
    }

    /**
     * @dev Calculates pending profit for provided customer.
     * @param _investor Address of investor.
     * @return pending profit.
     * TESTED
     */
    function calculateProfit(address _investor) public view returns(uint256){
        uint256 hourDifference = now.sub(investors[_investor].lastInvestmentTime).div(3600);
        uint256 rate = percentRateInternal(investors[_investor].lockbox);
        uint256 calculatedPercent = hourDifference.mul(rate);
        return investors[_investor].lockbox.div(100000).mul(calculatedPercent);
    }

    /**
     * @dev Calculates rate for lockbox balance for msg.sender.
     * @param _balance Balance to calculate percentage.
     * @return rate for lockbox balance.
     * TESTED
     */
    function percentRateInternal(uint256 _balance) public pure returns(uint256) {
        /**
            ~ .99 -    - 0.6%
            1 ~ 50     - 0.96% 
            51 ~ 100   - 1.2% 
            100 ~ 250  - 1.44% 
            250 ~      - 1.8% 
         */
        uint256 step_1 = .99 ether;
        uint256 step_2 = 50 ether;
        uint256 step_3 = 100 ether;
        uint256 step_4 = 250 ether;

        uint256 dailyPercent_0 = 25;   //  0.6%
        uint256 dailyPercent_1 = 40;   //  0.96%
        uint256 dailyPercent_2 = 50;   //  1.2%
        uint256 dailyPercent_3 = 60;   //  1.44%
        uint256 dailyPercent_4 = 75;   //  1.8%

        if (_balance >= step_4) {
            return dailyPercent_4;
        } else if (_balance >= step_3 && _balance < step_4) {
            return dailyPercent_3;
        } else if (_balance >= step_2 && _balance < step_3) {
            return dailyPercent_2;
        } else if (_balance >= step_1 && _balance < step_2) {
            return dailyPercent_1;
        }

        return dailyPercent_0;
    }

    /**
     * @dev Calculates rate for lockbox balance for msg.sender. User for public
     * @param _balance Balance to calculate percentage.
     * @return rate for lockbox balance.
     * TESTED
     */
    function percentRatePublic(uint256 _balance) public pure returns(uint256) {
        /**
            ~ .99 -    - 0.6%
            1 ~ 50     - 0.96% 
            51 ~ 100   - 1.2% 
            100 ~ 250  - 1.44% 
            250 ~      - 1.8% 
         */
        uint256 step_1 = .99 ether;
        uint256 step_2 = 50 ether;
        uint256 step_3 = 100 ether;
        uint256 step_4 = 250 ether;

        uint256 dailyPercent_0 = 60;   //  0.6%
        uint256 dailyPercent_1 = 96;   //  0.96%
        uint256 dailyPercent_2 = 120;   //  1.2%
        uint256 dailyPercent_3 = 144;   //  1.44%
        uint256 dailyPercent_4 = 180;   //  1.8%

        if (_balance >= step_4) {
            return dailyPercent_4;
        } else if (_balance >= step_3 && _balance < step_4) {
            return dailyPercent_3;
        } else if (_balance >= step_2 && _balance < step_3) {
            return dailyPercent_2;
        } else if (_balance >= step_1 && _balance < step_2) {
            return dailyPercent_1;
        }

        return dailyPercent_0;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_affiliate","type":"address"}],"name":"invest","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"updateDevEscrow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockboxTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getInvested","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"investorsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"guaranteedBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_balance","type":"uint256"}],"name":"percentRateInternal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getLockBox","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minInvest","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawDevCommission","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getLastInvestmentTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"investors","outputs":[{"name":"invested","type":"uint256"},{"name":"lockbox","type":"uint256"},{"name":"withdrawn","type":"uint256"},{"name":"lastInvestmentTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawnProfitTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawProfit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"devCommission","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"fromGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"getWithdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_investor","type":"address"}],"name":"calculateProfit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawAffiliateCommission","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawLockBoxAndClose","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"donatedTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"affiliateCommission","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"affiliateCommissionWithdrawnTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gamesIncomeTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_balance","type":"uint256"}],"name":"percentRatePublic","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[],"name":"reinvestProfit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Invested","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Renvested","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"affiliate","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"WithdrawnAffiliateCommission","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"WithdrawnProfit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investor","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"WithdrawnLockbox","type":"event"}]

608060405273f57924672d6dbf0336c618fda50e284e02715000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e4cf94e5d30fb4406a2b139cd0e872a1c8012def600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100ba57600080fd5b5061291b806100ca6000396000f3fe608060405260043610610159576000357c01000000000000000000000000000000000000000000000000000000009004806303f9c7931461034157806312065fe01461038557806315682cc9146103b0578063197748e0146104015780632ae2b6431461042c5780632b71105114610491578063550dd212146104bc578063567541a9146104e75780635e70dec51461053657806363fd9e381461059b578063699333aa146105c65780636c116a2e146105dd5780636f7bc9be146106425780637cc7310f146106bc578063959499b6146106e757806398f3f8e6146106fe578063a360fea714610763578063ae66d9481461076d578063b1c17506146107d2578063b77fc54914610837578063c1a635171461084e578063c831ae0314610865578063c858257214610890578063cc38c8ee146108f5578063d6b9bf2614610920578063e1f4e68d1461094b578063e3b611351461099a575b600061016f6064346109b190919063ffffffff16565b90506101e58160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102be8160026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610338346007546109db90919063ffffffff16565b60078190555050005b6103836004803603602081101561035757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109fc565b005b34801561039157600080fd5b5061039a611075565b6040518082815260200191505060405180910390f35b3480156103bc57600080fd5b506103ff600480360360208110156103d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611094565b005b34801561040d57600080fd5b50610416611266565b6040518082815260200191505060405180910390f35b34801561043857600080fd5b5061047b6004803603602081101561044f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126c565b6040518082815260200191505060405180910390f35b34801561049d57600080fd5b506104a66112b7565b6040518082815260200191505060405180910390f35b3480156104c857600080fd5b506104d16112bd565b6040518082815260200191505060405180910390f35b3480156104f357600080fd5b506105206004803603602081101561050a57600080fd5b81019080803590602001909291905050506113ad565b6040518082815260200191505060405180910390f35b34801561054257600080fd5b506105856004803603602081101561055957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061149e565b6040518082815260200191505060405180910390f35b3480156105a757600080fd5b506105b06114e9565b6040518082815260200191505060405180910390f35b3480156105d257600080fd5b506105db6114f4565b005b3480156105e957600080fd5b5061062c6004803603602081101561060057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116e0565b6040518082815260200191505060405180910390f35b34801561064e57600080fd5b506106916004803603602081101561066557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061172b565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156106c857600080fd5b506106d161175b565b6040518082815260200191505060405180910390f35b3480156106f357600080fd5b506106fc611761565b005b34801561070a57600080fd5b5061074d6004803603602081101561072157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c2e565b6040518082815260200191505060405180910390f35b61076b611c46565b005b34801561077957600080fd5b506107bc6004803603602081101561079057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e41565b6040518082815260200191505060405180910390f35b3480156107de57600080fd5b50610821600480360360208110156107f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e8c565b6040518082815260200191505060405180910390f35b34801561084357600080fd5b5061084c611fd1565b005b34801561085a57600080fd5b50610863612248565b005b34801561087157600080fd5b5061087a61241a565b6040518082815260200191505060405180910390f35b34801561089c57600080fd5b506108df600480360360208110156108b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612420565b6040518082815260200191505060405180910390f35b34801561090157600080fd5b5061090a612438565b6040518082815260200191505060405180910390f35b34801561092c57600080fd5b5061093561243e565b6040518082815260200191505060405180910390f35b34801561095757600080fd5b506109846004803603602081101561096e57600080fd5b8101908080359060200190929190505050612444565b6040518082815260200191505060405180910390f35b3480156109a657600080fd5b506109af612535565b005b600080821115156109c157600080fd5b600082848115156109ce57fe5b0490508091505092915050565b60008082840190508381101515156109f257600080fd5b8091505092915050565b6658d15e176280003410151515610a7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f6d696e20302e303235206574680000000000000000000000000000000000000081525060200191505060405180910390fd5b6000610a8633611e8c565b90506000811115610ad9573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ad7573d6000803e3d6000fd5b505b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610b425750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610bf6576000610b5d6064346109b190919063ffffffff16565b9050610bb181600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b6000610c01336116e0565b1415610c2457610c1d60016003546109db90919063ffffffff16565b6003819055505b6000610c4d6054610c3f6064346109b190919063ffffffff16565b61288f90919063ffffffff16565b9050610ca3816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610d3c346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009055610e21816004546109db90919063ffffffff16565b6004819055506000610e506002610e426064346109b190919063ffffffff16565b61288f90919063ffffffff16565b9050610ec68160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f9f8160026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fc3f75dfc78f6efac88ad5abb5e606276b903647d97b2a62a1ef89840a658bbc33334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b736a5d9648381b90af0e6881c26739efa4379c19b273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611121575073dbd32ef31fcd7fc1ef028a7471a7a9bfc39ab60973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611195576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f6e6f74206465760000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b736a5d9648381b90af0e6881c26739efa4379c19b273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112215780600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055611262565b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555b5050565b60045481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60035481565b60006113a860026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139a60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546004546109db90919063ffffffff16565b6109db90919063ffffffff16565b905090565b600080670dbd2fc137a30000905060006802b5e3af16b18800009050600068056bc75e2d6310000090506000680d8d726b7177a8000090506000601990506000602890506000603290506000603c90506000604b9050858b10151561141d57809950505050505050505050611499565b868b1015801561142c5750858b105b1561144257819950505050505050505050611499565b878b101580156114515750868b105b1561146757829950505050505050505050611499565b888b101580156114765750878b105b1561148c57839950505050505050505050611499565b8499505050505050505050505b919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b6658d15e1762800081565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115156115b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f2064657620636f6d6d697373696f6e00000000000000000000000000000081525060200191505060405180910390fd5b6004546115dd823073ffffffffffffffffffffffffffffffffffffffff16316128cd90919063ffffffff16565b10151515611653576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420656e6f7567682066756e64730000000000000000000000000000000081525060200191505060405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090553373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116dc573d6000803e3d6000fd5b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301549050919050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030154905084565b60055481565b600061176c33611e8c565b90506000811115156117e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f2070726f666974000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6117ee6112bd565b611818823073ffffffffffffffffffffffffffffffffffffffff16316128cd90919063ffffffff16565b1015151561188e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420656e6f7567682066756e64730000000000000000000000000000000081525060200191505060405180910390fd5b426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550611928816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550611982816005546109db90919063ffffffff16565b600581905550600061199e6064836109b190919063ffffffff16565b9050611a148160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aed8160026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc611b93605f611b856064876109b190919063ffffffff16565b61288f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611bbe573d6000803e3d6000fd5b507f9acd446c7c5d67289e9ab24bf8d274c3e60b36709aad13c9ccefec55a25c00bb3383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60026020528060005260406000206000915090505481565b6000611c6f6002611c616064346109b190919063ffffffff16565b61288f90919063ffffffff16565b9050611ce58160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dbe8160026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e38346008546109db90919063ffffffff16565b60088190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b600080611ef7610e10611ee96000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154426128cd90919063ffffffff16565b6109b190919063ffffffff16565b90506000611f456000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546113ad565b90506000611f5c828461288f90919063ffffffff16565b9050611fc781611fb9620186a06000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546109b190919063ffffffff16565b61288f90919063ffffffff16565b9350505050919050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111151561208d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f6e6f20636f6d6d697373696f6e0000000000000000000000000000000000000081525060200191505060405180910390fd5b6120956112bd565b6120bf823073ffffffffffffffffffffffffffffffffffffffff16316128cd90919063ffffffff16565b10151515612135576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420656e6f7567682066756e64730000000000000000000000000000000081525060200191505060405180910390fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000905561218d816006546109db90919063ffffffff16565b6006819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121d9573d6000803e3d6000fd5b507ff00b94e6d3eae70f13396fc1316a95fffe65e4e4268f517278311cd9618e75e33382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b60006122533361149e565b90506000811115156122cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f20696e766573746d656e747300000000000000000000000000000000000081525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160009055505061234460016003546128cd90919063ffffffff16565b60038190555061235f816004546128cd90919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123ab573d6000803e3d6000fd5b507f2a14c6c4baf70f0f57eb7d8bed4856b2a7f80a238a2dce681b404e0cae9dce7b3382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b60075481565b60016020528060005260406000206000915090505481565b60065481565b60085481565b600080670dbd2fc137a30000905060006802b5e3af16b18800009050600068056bc75e2d6310000090506000680d8d726b7177a8000090506000603c9050600060609050600060789050600060909050600060b49050858b1015156124b457809950505050505050505050612530565b868b101580156124c35750858b105b156124d957819950505050505050505050612530565b878b101580156124e85750868b105b156124fe57829950505050505050505050612530565b888b1015801561250d5750878b105b1561252357839950505050505050505050612530565b8499505050505050505050505b919050565b600061254033611e8c565b90506000811115156125ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f2070726f666974000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6125c26112bd565b6125ec823073ffffffffffffffffffffffffffffffffffffffff16316128cd90919063ffffffff16565b10151515612662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420656e6f7567682066756e64730000000000000000000000000000000081525060200191505060405180910390fd5b600061268b605461267d6064856109b190919063ffffffff16565b61288f90919063ffffffff16565b90506126e1816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506127c0826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061281a816004546109db90919063ffffffff16565b6004819055507f31b79d553a711214890a10f851808f023529bb2f0ce14b7954818f3746c8f1743383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6000808314156128a257600090506128c7565b600082840290508284828115156128b557fe5b041415156128c257600080fd5b809150505b92915050565b60008282111515156128de57600080fd5b60008284039050809150509291505056fea165627a7a72305820fce0e4a0d2e1cc0d7524e649161a68f02e28500df8011c38ff63e501e6374e850029

Deployed Bytecode

0x608060405260043610610159576000357c01000000000000000000000000000000000000000000000000000000009004806303f9c7931461034157806312065fe01461038557806315682cc9146103b0578063197748e0146104015780632ae2b6431461042c5780632b71105114610491578063550dd212146104bc578063567541a9146104e75780635e70dec51461053657806363fd9e381461059b578063699333aa146105c65780636c116a2e146105dd5780636f7bc9be146106425780637cc7310f146106bc578063959499b6146106e757806398f3f8e6146106fe578063a360fea714610763578063ae66d9481461076d578063b1c17506146107d2578063b77fc54914610837578063c1a635171461084e578063c831ae0314610865578063c858257214610890578063cc38c8ee146108f5578063d6b9bf2614610920578063e1f4e68d1461094b578063e3b611351461099a575b600061016f6064346109b190919063ffffffff16565b90506101e58160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506102be8160026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610338346007546109db90919063ffffffff16565b60078190555050005b6103836004803603602081101561035757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109fc565b005b34801561039157600080fd5b5061039a611075565b6040518082815260200191505060405180910390f35b3480156103bc57600080fd5b506103ff600480360360208110156103d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611094565b005b34801561040d57600080fd5b50610416611266565b6040518082815260200191505060405180910390f35b34801561043857600080fd5b5061047b6004803603602081101561044f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126c565b6040518082815260200191505060405180910390f35b34801561049d57600080fd5b506104a66112b7565b6040518082815260200191505060405180910390f35b3480156104c857600080fd5b506104d16112bd565b6040518082815260200191505060405180910390f35b3480156104f357600080fd5b506105206004803603602081101561050a57600080fd5b81019080803590602001909291905050506113ad565b6040518082815260200191505060405180910390f35b34801561054257600080fd5b506105856004803603602081101561055957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061149e565b6040518082815260200191505060405180910390f35b3480156105a757600080fd5b506105b06114e9565b6040518082815260200191505060405180910390f35b3480156105d257600080fd5b506105db6114f4565b005b3480156105e957600080fd5b5061062c6004803603602081101561060057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116e0565b6040518082815260200191505060405180910390f35b34801561064e57600080fd5b506106916004803603602081101561066557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061172b565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156106c857600080fd5b506106d161175b565b6040518082815260200191505060405180910390f35b3480156106f357600080fd5b506106fc611761565b005b34801561070a57600080fd5b5061074d6004803603602081101561072157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c2e565b6040518082815260200191505060405180910390f35b61076b611c46565b005b34801561077957600080fd5b506107bc6004803603602081101561079057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e41565b6040518082815260200191505060405180910390f35b3480156107de57600080fd5b50610821600480360360208110156107f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e8c565b6040518082815260200191505060405180910390f35b34801561084357600080fd5b5061084c611fd1565b005b34801561085a57600080fd5b50610863612248565b005b34801561087157600080fd5b5061087a61241a565b6040518082815260200191505060405180910390f35b34801561089c57600080fd5b506108df600480360360208110156108b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612420565b6040518082815260200191505060405180910390f35b34801561090157600080fd5b5061090a612438565b6040518082815260200191505060405180910390f35b34801561092c57600080fd5b5061093561243e565b6040518082815260200191505060405180910390f35b34801561095757600080fd5b506109846004803603602081101561096e57600080fd5b8101908080359060200190929190505050612444565b6040518082815260200191505060405180910390f35b3480156109a657600080fd5b506109af612535565b005b600080821115156109c157600080fd5b600082848115156109ce57fe5b0490508091505092915050565b60008082840190508381101515156109f257600080fd5b8091505092915050565b6658d15e176280003410151515610a7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f6d696e20302e303235206574680000000000000000000000000000000000000081525060200191505060405180910390fd5b6000610a8633611e8c565b90506000811115610ad9573373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ad7573d6000803e3d6000fd5b505b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610b425750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15610bf6576000610b5d6064346109b190919063ffffffff16565b9050610bb181600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b6000610c01336116e0565b1415610c2457610c1d60016003546109db90919063ffffffff16565b6003819055505b6000610c4d6054610c3f6064346109b190919063ffffffff16565b61288f90919063ffffffff16565b9050610ca3816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550610d3c346000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009055610e21816004546109db90919063ffffffff16565b6004819055506000610e506002610e426064346109b190919063ffffffff16565b61288f90919063ffffffff16565b9050610ec68160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f9f8160026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fc3f75dfc78f6efac88ad5abb5e606276b903647d97b2a62a1ef89840a658bbc33334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b736a5d9648381b90af0e6881c26739efa4379c19b273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611121575073dbd32ef31fcd7fc1ef028a7471a7a9bfc39ab60973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611195576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f6e6f74206465760000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b736a5d9648381b90af0e6881c26739efa4379c19b273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112215780600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055611262565b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555b5050565b60045481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60035481565b60006113a860026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139a60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546004546109db90919063ffffffff16565b6109db90919063ffffffff16565b905090565b600080670dbd2fc137a30000905060006802b5e3af16b18800009050600068056bc75e2d6310000090506000680d8d726b7177a8000090506000601990506000602890506000603290506000603c90506000604b9050858b10151561141d57809950505050505050505050611499565b868b1015801561142c5750858b105b1561144257819950505050505050505050611499565b878b101580156114515750868b105b1561146757829950505050505050505050611499565b888b101580156114765750878b105b1561148c57839950505050505050505050611499565b8499505050505050505050505b919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b6658d15e1762800081565b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115156115b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6e6f2064657620636f6d6d697373696f6e00000000000000000000000000000081525060200191505060405180910390fd5b6004546115dd823073ffffffffffffffffffffffffffffffffffffffff16316128cd90919063ffffffff16565b10151515611653576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420656e6f7567682066756e64730000000000000000000000000000000081525060200191505060405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090553373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156116dc573d6000803e3d6000fd5b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301549050919050565b60006020528060005260406000206000915090508060000154908060010154908060020154908060030154905084565b60055481565b600061176c33611e8c565b90506000811115156117e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f2070726f666974000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6117ee6112bd565b611818823073ffffffffffffffffffffffffffffffffffffffff16316128cd90919063ffffffff16565b1015151561188e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420656e6f7567682066756e64730000000000000000000000000000000081525060200191505060405180910390fd5b426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550611928816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181905550611982816005546109db90919063ffffffff16565b600581905550600061199e6064836109b190919063ffffffff16565b9050611a148160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aed8160026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc611b93605f611b856064876109b190919063ffffffff16565b61288f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611bbe573d6000803e3d6000fd5b507f9acd446c7c5d67289e9ab24bf8d274c3e60b36709aad13c9ccefec55a25c00bb3383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60026020528060005260406000206000915090505481565b6000611c6f6002611c616064346109b190919063ffffffff16565b61288f90919063ffffffff16565b9050611ce58160026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dbe8160026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109db90919063ffffffff16565b60026000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e38346008546109db90919063ffffffff16565b60088190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050919050565b600080611ef7610e10611ee96000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030154426128cd90919063ffffffff16565b6109b190919063ffffffff16565b90506000611f456000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546113ad565b90506000611f5c828461288f90919063ffffffff16565b9050611fc781611fb9620186a06000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546109b190919063ffffffff16565b61288f90919063ffffffff16565b9350505050919050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111151561208d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f6e6f20636f6d6d697373696f6e0000000000000000000000000000000000000081525060200191505060405180910390fd5b6120956112bd565b6120bf823073ffffffffffffffffffffffffffffffffffffffff16316128cd90919063ffffffff16565b10151515612135576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420656e6f7567682066756e64730000000000000000000000000000000081525060200191505060405180910390fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000905561218d816006546109db90919063ffffffff16565b6006819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121d9573d6000803e3d6000fd5b507ff00b94e6d3eae70f13396fc1316a95fffe65e4e4268f517278311cd9618e75e33382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b60006122533361149e565b90506000811115156122cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e6f20696e766573746d656e747300000000000000000000000000000000000081525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160009055505061234460016003546128cd90919063ffffffff16565b60038190555061235f816004546128cd90919063ffffffff16565b6004819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123ab573d6000803e3d6000fd5b507f2a14c6c4baf70f0f57eb7d8bed4856b2a7f80a238a2dce681b404e0cae9dce7b3382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b60075481565b60016020528060005260406000206000915090505481565b60065481565b60085481565b600080670dbd2fc137a30000905060006802b5e3af16b18800009050600068056bc75e2d6310000090506000680d8d726b7177a8000090506000603c9050600060609050600060789050600060909050600060b49050858b1015156124b457809950505050505050505050612530565b868b101580156124c35750858b105b156124d957819950505050505050505050612530565b878b101580156124e85750868b105b156124fe57829950505050505050505050612530565b888b1015801561250d5750878b105b1561252357839950505050505050505050612530565b8499505050505050505050505b919050565b600061254033611e8c565b90506000811115156125ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260098152602001807f6e6f2070726f666974000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6125c26112bd565b6125ec823073ffffffffffffffffffffffffffffffffffffffff16316128cd90919063ffffffff16565b10151515612662576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f6e6f7420656e6f7567682066756e64730000000000000000000000000000000081525060200191505060405180910390fd5b600061268b605461267d6064856109b190919063ffffffff16565b61288f90919063ffffffff16565b90506126e1816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550426000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301819055506127c0826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546109db90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061281a816004546109db90919063ffffffff16565b6004819055507f31b79d553a711214890a10f851808f023529bb2f0ce14b7954818f3746c8f1743383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6000808314156128a257600090506128c7565b600082840290508284828115156128b557fe5b041415156128c257600080fd5b809150505b92915050565b60008282111515156128de57600080fd5b60008284039050809150509291505056fea165627a7a72305820fce0e4a0d2e1cc0d7524e649161a68f02e28500df8011c38ff63e501e6374e850029

Deployed Bytecode Sourcemap

2044:12396:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3584:14;3601:18;3615:3;3601:9;:13;;:18;;;;:::i;:::-;3584:35;;3660:39;3692:6;3660:13;:27;3674:12;;;;;;;;;;;3660:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;3630:13;:27;3644:12;;;;;;;;;;;3630:27;;;;;;;;;;;;;;;:69;;;;3740:39;3772:6;3740:13;:27;3754:12;;;;;;;;;;;3740:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;3710:13;:27;3724:12;;;;;;;;;;;3710:27;;;;;;;;;;;;;;;:69;;;;3815:27;3832:9;3815:12;;:16;;:27;;;;:::i;:::-;3800:12;:42;;;;3513:337;2044:12396;6176:1365;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6176:1365:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5642:97;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5642:97:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7687:236;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7687:236:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7687:236:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2474:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2474:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4481:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4481:122:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4481:122:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2438:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2438:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5895:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5895:162:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12051:1082;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12051:1082:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12051:1082:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4768:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4768:120:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4768:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3029:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3029:47:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8018:340;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8018:340:0;;;:::i;:::-;;5365:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5365:142:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5365:142:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2261:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2261:50:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2261:50:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2508:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2508:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9087:848;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9087:848:0;;;:::i;:::-;;2380:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:49:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2380:49:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3953:361;;;:::i;:::-;;5057:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5057:124:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5057:124:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11453:393;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11453:393:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11453:393:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8468:529;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8468:529:0;;;:::i;:::-;;10116:417;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10116:417:0;;;:::i;:::-;;2611:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2611:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2318:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2318:55:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2318:55:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2550:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2550:48:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2645:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2645:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13354:1083;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13354:1083:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13354:1083:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10617:655;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10617:655:0;;;:::i;:::-;;867:303;925:7;1024:1;1020;:5;1012:14;;;;;;;;1037:9;1053:1;1049;:5;;;;;;;;1037:17;;1161:1;1154:8;;;867:303;;;;:::o;1542:150::-;1600:7;1620:9;1636:1;1632;:5;1620:17;;1661:1;1656;:6;;1648:15;;;;;;;;1683:1;1676:8;;;1542:150;;;;:::o;6176:1365::-;3065:11;6246:9;:22;;6238:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6299:14;6316:27;6332:10;6316:15;:27::i;:::-;6299:44;;6366:1;6357:6;:10;6354:68;;;6383:10;:19;;:27;6403:6;6383:27;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6383:27:0;6354:68;6492:10;6478:24;;:10;:24;;;;:52;;;;;6528:1;6506:24;;:10;:24;;;;6478:52;6475:219;;;6547:18;6568;6582:3;6568:9;:13;;:18;;;;:::i;:::-;6547:39;;6635:47;6671:10;6635:19;:31;6655:10;6635:31;;;;;;;;;;;;;;;;:35;;:47;;;;:::i;:::-;6601:19;:31;6621:10;6601:31;;;;;;;;;;;;;;;:81;;;;6475:219;;6746:1;6709:33;6731:10;6709:21;:33::i;:::-;:38;6706:108;;;6781:21;6800:1;6781:14;;:18;;:21;;;;:::i;:::-;6764:14;:38;;;;6706:108;6826:21;6850:26;6873:2;6850:18;6864:3;6850:9;:13;;:18;;;;:::i;:::-;:22;;:26;;;;:::i;:::-;6826:50;;6919:48;6953:13;6919:9;:21;6929:10;6919:21;;;;;;;;;;;;;;;:29;;;:33;;:48;;;;:::i;:::-;6887:9;:21;6897:10;6887:21;;;;;;;;;;;;;;;:29;;:80;;;;7011:45;7046:9;7011;:21;7021:10;7011:21;;;;;;;;;;;;;;;:30;;;:34;;:45;;;;:::i;:::-;6978:9;:21;6988:10;6978:21;;;;;;;;;;;;;;;:30;;:78;;;;7110:3;7067:9;:21;7077:10;7067:21;;;;;;;;;;;;;;;:40;;:46;;;;7131:9;:21;7141:10;7131:21;;;;;;;;;;;;;;;:31;;7124:38;;;7198:31;7215:13;7198:12;;:16;;:31;;;;:::i;:::-;7183:12;:46;;;;7282:14;7299:25;7322:1;7299:18;7313:3;7299:9;:13;;:18;;;;:::i;:::-;:22;;:25;;;;:::i;:::-;7282:42;;7365:39;7397:6;7365:13;:27;7379:12;;;;;;;;;;;7365:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;7335:13;:27;7349:12;;;;;;;;;;;7335:27;;;;;;;;;;;;;;;:69;;;;7445:39;7477:6;7445:13;:27;7459:12;;;;;;;;;;;7445:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;7415:13;:27;7429:12;;;;;;;;;;;7415:27;;;;;;;;;;;;;;;:69;;;;7502:31;7511:10;7523:9;7502:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;6176:1365;;;;:::o;5642:97::-;5684:7;5718:4;5710:21;;;5703:28;;5642:97;:::o;7687:236::-;2729:42;7756:26;;:10;:26;;;:56;;;;2818:42;7786:26;;:10;:26;;;7756:56;7748:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2729:42;7836:26;;:10;:26;;;7835:80;;7907:8;7892:12;;:23;;;;;;;;;;;;;;;;;7835:80;;;7881:8;7866:12;;:23;;;;;;;;;;;;;;;;;7835:80;;7687:236;:::o;2474:27::-;;;;:::o;4481:122::-;4540:7;4567:9;:19;4577:8;4567:19;;;;;;;;;;;;;;;:28;;;4560:35;;4481:122;;;:::o;2438:29::-;;;;:::o;5895:162::-;5944:7;5971:78;6021:13;:27;6035:12;;;;;;;;;;;6021:27;;;;;;;;;;;;;;;;5971:45;5988:13;:27;6002:12;;;;;;;;;;;5988:27;;;;;;;;;;;;;;;;5971:12;;:16;;:45;;;;:::i;:::-;:49;;:78;;;;:::i;:::-;5964:85;;5895:162;:::o;12051:1082::-;12118:7;12325:14;12342:9;12325:26;;12362:14;12379:8;12362:25;;12398:14;12415:9;12398:26;;12435:14;12452:9;12435:26;;12474:22;12499:2;12474:27;;12523:22;12548:2;12523:27;;12573:22;12598:2;12573:27;;12622:22;12647:2;12622:27;;12672:22;12697:2;12672:27;;12739:6;12727:8;:18;;12723:369;;;12769:14;12762:21;;;;;;;;;;;;;12723:369;12817:6;12805:8;:18;;:39;;;;;12838:6;12827:8;:17;12805:39;12801:291;;;12868:14;12861:21;;;;;;;;;;;;;12801:291;12916:6;12904:8;:18;;:39;;;;;12937:6;12926:8;:17;12904:39;12900:192;;;12967:14;12960:21;;;;;;;;;;;;;12900:192;13015:6;13003:8;:18;;:39;;;;;13036:6;13025:8;:17;13003:39;12999:93;;;13066:14;13059:21;;;;;;;;;;;;;12999:93;13111:14;13104:21;;;;;;;;;;;12051:1082;;;;:::o;4768:120::-;4826:7;4853:9;:19;4863:8;4853:19;;;;;;;;;;;;;;;:27;;;4846:34;;4768:120;;;:::o;3029:47::-;3065:11;3029:47;:::o;8018:340::-;8069:18;8090:13;:25;8104:10;8090:25;;;;;;;;;;;;;;;;8069:46;;8147:1;8134:10;:14;8126:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8230:12;;8189:37;8215:10;8197:4;8189:21;;;:25;;:37;;;;:::i;:::-;:53;;8181:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8283:13;:25;8297:10;8283:25;;;;;;;;;;;;;;;8276:32;;;8319:10;:19;;:31;8339:10;8319:31;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8319:31:0;8018:340;:::o;5365:142::-;5434:7;5461:9;:19;5471:8;5461:19;;;;;;;;;;;;;;;:38;;;5454:45;;5365:142;;;:::o;2261:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2508:35::-;;;;:::o;9087:848::-;9131:14;9148:27;9164:10;9148:15;:27::i;:::-;9131:44;;9203:1;9194:6;:10;9186:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9274:19;:17;:19::i;:::-;9237:33;9263:6;9245:4;9237:21;;;:25;;:33;;;;:::i;:::-;:56;;9229:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9370:3;9327:9;:21;9337:10;9327:21;;;;;;;;;;;;;;;:40;;:46;;;;9418:43;9454:6;9418:9;:21;9428:10;9418:21;;;;;;;;;;;;;;;:31;;;:35;;:43;;;;:::i;:::-;9384:9;:21;9394:10;9384:21;;;;;;;;;;;;;;;:31;;:77;;;;9497:32;9522:6;9497:20;;:24;;:32;;;;:::i;:::-;9474:20;:55;;;;9582:14;9599:15;9610:3;9599:6;:10;;:15;;;;:::i;:::-;9582:32;;9655:39;9687:6;9655:13;:27;9669:12;;;;;;;;;;;9655:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;9625:13;:27;9639:12;;;;;;;;;;;9625:27;;;;;;;;;;;;;;;:69;;;;9735:39;9767:6;9735:13;:27;9749:12;;;;;;;;;;;9735:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;9705:13;:27;9719:12;;;;;;;;;;;9705:27;;;;;;;;;;;;;;;:69;;;;9830:10;:19;;:44;9850:23;9870:2;9850:15;9861:3;9850:6;:10;;:15;;;;:::i;:::-;:19;;:23;;;;:::i;:::-;9830:44;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9830:44:0;9892:35;9908:10;9920:6;9892:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;9087:848;;:::o;2380:49::-;;;;;;;;;;;;;;;;;:::o;3953:361::-;4033:14;4050:25;4073:1;4050:18;4064:3;4050:9;:13;;:18;;;;:::i;:::-;:22;;:25;;;;:::i;:::-;4033:42;;4116:39;4148:6;4116:13;:27;4130:12;;;;;;;;;;;4116:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;4086:13;:27;4100:12;;;;;;;;;;;4086:27;;;;;;;;;;;;;;;:69;;;;4196:39;4228:6;4196:13;:27;4210:12;;;;;;;;;;;4196:27;;;;;;;;;;;;;;;;:31;;:39;;;;:::i;:::-;4166:13;:27;4180:12;;;;;;;;;;;4166:27;;;;;;;;;;;;;;;:69;;;;4275:31;4296:9;4275:16;;:20;;:31;;;;:::i;:::-;4256:16;:50;;;;3953:361;:::o;5057:124::-;5117:7;5144:9;:19;5154:8;5144:19;;;;;;;;;;;;;;;:29;;;5137:36;;5057:124;;;:::o;11453:393::-;11517:7;11536:22;11561:58;11614:4;11561:48;11569:9;:20;11579:9;11569:20;;;;;;;;;;;;;;;:39;;;11561:3;:7;;:48;;;;:::i;:::-;:52;;:58;;;;:::i;:::-;11536:83;;11630:12;11645:49;11665:9;:20;11675:9;11665:20;;;;;;;;;;;;;;;:28;;;11645:19;:49::i;:::-;11630:64;;11705:25;11733:24;11752:4;11733:14;:18;;:24;;;;:::i;:::-;11705:52;;11775:63;11820:17;11775:40;11808:6;11775:9;:20;11785:9;11775:20;;;;;;;;;;;;;;;:28;;;:32;;:40;;;;:::i;:::-;:44;;:63;;;;:::i;:::-;11768:70;;;;;11453:393;;;:::o;8468:529::-;8525:18;8546:19;:31;8566:10;8546:31;;;;;;;;;;;;;;;;8525:52;;8609:1;8596:10;:14;8588:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8688:19;:17;:19::i;:::-;8647:37;8673:10;8655:4;8647:21;;;:25;;:37;;;;:::i;:::-;:60;;8639:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8748:19;:31;8768:10;8748:31;;;;;;;;;;;;;;;8741:38;;;8826:49;8864:10;8826:33;;:37;;:49;;;;:::i;:::-;8790:33;:85;;;;8888:10;:19;;:31;8908:10;8888:31;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8888:31:0;8937:52;8966:10;8978;8937:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;8468:529;:::o;10116:417::-;10169:21;10193:22;10204:10;10193;:22::i;:::-;10169:46;;10250:1;10234:13;:17;10226:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10290:9;:21;10300:10;10290:21;;;;;;;;;;;;;;;;10283:28;;;;;;;;;;;;;;;;;;;;;;;;;;10339:21;10358:1;10339:14;;:18;;:21;;;;:::i;:::-;10322:14;:38;;;;10386:31;10403:13;10386:12;;:16;;:31;;;;:::i;:::-;10371:12;:46;;;;10430:10;:19;;:34;10450:13;10430:34;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10430:34:0;10482:43;10499:10;10511:13;10482:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;10116:417;:::o;2611:27::-;;;;:::o;2318:55::-;;;;;;;;;;;;;;;;;:::o;2550:48::-;;;;:::o;2645:31::-;;;;:::o;13354:1083::-;13419:7;13626:14;13643:9;13626:26;;13663:14;13680:8;13663:25;;13699:14;13716:9;13699:26;;13736:14;13753:9;13736:26;;13775:22;13800:2;13775:27;;13824:22;13849:2;13824:27;;13874:22;13899:3;13874:28;;13924:22;13949:3;13924:28;;13975:22;14000:3;13975:28;;14043:6;14031:8;:18;;14027:369;;;14073:14;14066:21;;;;;;;;;;;;;14027:369;14121:6;14109:8;:18;;:39;;;;;14142:6;14131:8;:17;14109:39;14105:291;;;14172:14;14165:21;;;;;;;;;;;;;14105:291;14220:6;14208:8;:18;;:39;;;;;14241:6;14230:8;:17;14208:39;14204:192;;;14271:14;14264:21;;;;;;;;;;;;;14204:192;14319:6;14307:8;:18;;:39;;;;;14340:6;14329:8;:17;14307:39;14303:93;;;14370:14;14363:21;;;;;;;;;;;;;14303:93;14415:14;14408:21;;;;;;;;;;;13354:1083;;;;:::o;10617:655::-;10661:14;10678:27;10694:10;10678:15;:27::i;:::-;10661:44;;10733:1;10724:6;:10;10716:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10804:19;:17;:19::i;:::-;10767:33;10793:6;10775:4;10767:21;;;:25;;:33;;;;:::i;:::-;:56;;10759:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10865:25;10893:23;10913:2;10893:15;10904:3;10893:6;:10;;:15;;;;:::i;:::-;:19;;:23;;;;:::i;:::-;10865:51;;10959:52;10993:17;10959:9;:21;10969:10;10959:21;;;;;;;;;;;;;;;:29;;;:33;;:52;;;;:::i;:::-;10927:9;:21;10937:10;10927:21;;;;;;;;;;;;;;;:29;;:84;;;;11065:3;11022:9;:21;11032:10;11022:21;;;;;;;;;;;;;;;:40;;:46;;;;11112:42;11147:6;11112:9;:21;11122:10;11112:21;;;;;;;;;;;;;;;:30;;;:34;;:42;;;;:::i;:::-;11079:9;:21;11089:10;11079:21;;;;;;;;;;;;;;;:30;;:75;;;;11182:35;11199:17;11182:12;;:16;;:35;;;;:::i;:::-;11167:12;:50;;;;11235:29;11245:10;11257:6;11235:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;10617:655;;:::o;301:433::-;359:7;608:1;603;:6;599:47;;;633:1;626:8;;;;599:47;658:9;674:1;670;:5;658:17;;703:1;698;694;:5;;;;;;;;:10;686:19;;;;;;;;725:1;718:8;;;301:433;;;;;:::o;1306:150::-;1364:7;1397:1;1392;:6;;1384:15;;;;;;;;1410:9;1426:1;1422;:5;1410:17;;1447:1;1440:8;;;1306:150;;;;:::o

Swarm Source

bzzr://fce0e4a0d2e1cc0d7524e649161a68f02e28500df8011c38ff63e501e6374e85

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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