ETH Price: $1,891.09 (+3.63%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Settle Income203957012024-07-27 5:09:47578 days ago1722056987IN
Ethermagic.net
0 ETH0.00012191
Withdraw Fees129140002021-07-28 10:50:161672 days ago1627469416IN
Ethermagic.net
0 ETH0.0013812735
Withdraw Income129139842021-07-28 10:47:091672 days ago1627469229IN
Ethermagic.net
0 ETH0.0006746727
Settle Income129139752021-07-28 10:45:171672 days ago1627469117IN
Ethermagic.net
0 ETH0.0039137232
Withdraw Income129139712021-07-28 10:44:351672 days ago1627469075IN
Ethermagic.net
0 ETH0.0008745835
Settle Income129139712021-07-28 10:44:351672 days ago1627469075IN
Ethermagic.net
0 ETH0.0039137232
Withdraw Income129139652021-07-28 10:42:501672 days ago1627468970IN
Ethermagic.net
0 ETH0.0007996132
Settle Income129139642021-07-28 10:42:331672 days ago1627468953IN
Ethermagic.net
0 ETH0.0037914231
Withdraw Income129139582021-07-28 10:41:291672 days ago1627468889IN
Ethermagic.net
0 ETH0.0007496430
Settle Income129139552021-07-28 10:40:051672 days ago1627468805IN
Ethermagic.net
0 ETH0.0040427129
Withdraw Income129138982021-07-28 10:29:351672 days ago1627468175IN
Ethermagic.net
0 ETH0.0008745835
Settle Income129138952021-07-28 10:28:301672 days ago1627468110IN
Ethermagic.net
0 ETH0.0042806435
Withdraw Income129138932021-07-28 10:27:441672 days ago1627468064IN
Ethermagic.net
0 ETH0.0008745835
Settle Income129138832021-07-28 10:25:291672 days ago1627467929IN
Ethermagic.net
0 ETH0.0041583334
Withdraw Income129138742021-07-28 10:22:381672 days ago1627467758IN
Ethermagic.net
0 ETH0.0008995636
Settle Income129138662021-07-28 10:21:121672 days ago1627467672IN
Ethermagic.net
0 ETH0.0039137232
Withdraw Income129138252021-07-28 10:12:071672 days ago1627467127IN
Ethermagic.net
0 ETH0.000824633
Settle Income129138122021-07-28 10:08:151672 days ago1627466895IN
Ethermagic.net
0 ETH0.0044609232
Withdraw Income129138052021-07-28 10:07:151672 days ago1627466835IN
Ethermagic.net
0 ETH0.0008495934
Withdraw Income129138032021-07-28 10:06:481672 days ago1627466808IN
Ethermagic.net
0 ETH0.0008495934
Settle Income129138022021-07-28 10:06:211672 days ago1627466781IN
Ethermagic.net
0 ETH0.0041583334
Settle Income129137982021-07-28 10:05:311672 days ago1627466731IN
Ethermagic.net
0 ETH0.0039467234
Withdraw Income129137952021-07-28 10:05:161672 days ago1627466716IN
Ethermagic.net
0 ETH0.000941934
Withdraw Income129137952021-07-28 10:05:161672 days ago1627466716IN
Ethermagic.net
0 ETH0.0007496430
Settle Income129137872021-07-28 10:03:471672 days ago1627466627IN
Ethermagic.net
0 ETH0.0044491734
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-129140002021-07-28 10:50:161672 days ago1627469416
Ethermagic.net
12.32659375 ETH
-129139842021-07-28 10:47:091672 days ago1627469229
Ethermagic.net
0.5 ETH
-129139712021-07-28 10:44:351672 days ago1627469075
Ethermagic.net
0.5 ETH
-129139652021-07-28 10:42:501672 days ago1627468970
Ethermagic.net
0.5 ETH
-129139582021-07-28 10:41:291672 days ago1627468889
Ethermagic.net
0.5 ETH
-129138982021-07-28 10:29:351672 days ago1627468175
Ethermagic.net
0.5 ETH
-129138932021-07-28 10:27:441672 days ago1627468064
Ethermagic.net
0.5 ETH
-129138742021-07-28 10:22:381672 days ago1627467758
Ethermagic.net
0.5 ETH
-129138252021-07-28 10:12:071672 days ago1627467127
Ethermagic.net
0.5 ETH
-129138052021-07-28 10:07:151672 days ago1627466835
Ethermagic.net
0.5 ETH
-129138032021-07-28 10:06:481672 days ago1627466808
Ethermagic.net
0.5 ETH
-129137952021-07-28 10:05:161672 days ago1627466716
Ethermagic.net
0.5 ETH
-129137822021-07-28 10:02:511672 days ago1627466571
Ethermagic.net
0.5 ETH
-129137752021-07-28 10:00:111672 days ago1627466411
Ethermagic.net
0.5 ETH
-129137692021-07-28 9:58:591672 days ago1627466339
Ethermagic.net
0.5 ETH
-129137602021-07-28 9:56:581672 days ago1627466218
Ethermagic.net
0.5 ETH
-129137532021-07-28 9:55:181672 days ago1627466118
Ethermagic.net
0.70504281 ETH
-129137472021-07-28 9:54:131672 days ago1627466053
Ethermagic.net
0.70560312 ETH
-129137362021-07-28 9:50:181672 days ago1627465818
Ethermagic.net
0.5 ETH
-129137332021-07-28 9:49:381672 days ago1627465778
Ethermagic.net
0.5 ETH
-129137162021-07-28 9:45:531672 days ago1627465553
Ethermagic.net
0.71178125 ETH
-129137082021-07-28 9:43:091672 days ago1627465389
Ethermagic.net
0.5 ETH
-129136852021-07-28 9:37:381672 days ago1627465058
Ethermagic.net
0.5 ETH
-114082042020-12-07 21:56:021905 days ago1607378162
Ethermagic.net
0.02 ETH
-112628252020-11-15 14:04:171927 days ago1605449057
Ethermagic.net
0.1275 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtherMagic

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-05-07
*/

/*******
*
*
*
*   ███████╗████████╗██╗░░██╗███████╗██████╗░  ███╗░░░███╗░█████╗░░██████╗░██╗░█████╗░
*   ██╔════╝╚══██╔══╝██║░░██║██╔════╝██╔══██╗  ████╗░████║██╔══██╗██╔════╝░██║██╔══██╗
*   ████╗░░░░░░██║░░░███████║█████╗░░██████╔╝  ██╔████╔██║███████║██║░░██╗░██║██║░░╚═╝
*   ██╔══╝░░░░░██║░░░██╔══██║██╔══╝░░██╔══██╗  ██║╚██╔╝██║██╔══██║██║░░╚██╗██║██║░░██╗
*   ███████╗░░░██║░░░██║░░██║███████╗██║░░██║  ██║░╚═╝░██║██║░░██║╚██████╔╝██║╚█████╔╝
*   ╚══════╝░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝  ╚═╝░░░░░╚═╝╚═╝░░╚═╝░╚═════╝░╚═╝░╚════╝░
*
*   Created with love ♥
*
********/

pragma solidity ^0.4.26;

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     *
     * NOTE: This is a feature of the next version of OpenZeppelin Contracts.
     * @dev Get it via `npm install @openzeppelin/contracts@next`.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot 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-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     * NOTE: This is a feature of the next version of OpenZeppelin Contracts.
     * @dev Get it via `npm install @openzeppelin/contracts@next`.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }
}

library DataStructs {

        struct DailyRound {
            uint256 startTime;
            uint256 endTime;
            address player; //address of the player with highest referrals
            uint256 referralCount; //Number of referrals
            bool ended; //has daily round ended
            uint256 pool; //amount in the pool;
        }

        struct Player {
            uint256 totalInvestment;
            uint256 referralIncome;
            uint256 cycle;
            uint256 dailyIncome;
            uint256 poolIncome;
            uint256 lastSettledTime;
            uint256 incomeLimit;
            uint256 incomeLimitLeft;
            uint256 referralCount;
            address referrer;
        }

        struct PlayerDailyRounds {
            uint256 referrers; // total referrals user has in a particular round
    }
}

contract EtherMagic {
    using SafeMath for *;

    address public owner;
    address public roundStarter;
    uint256 houseFee = 3;
    uint256 poolTime = 24 hours;
    uint256 payoutPeriod = 24 hours;
    uint256 dailyWinPool = 5;
    uint256 incomeTimes = 20;
    uint256 incomeDivide = 10;
    uint256 public roundID;
    uint256 public r1 = 0;
    uint256 public r2 = 0;
        

    mapping (uint => uint) public CYCLE_PRICE;
    mapping (address => bool) public playerExist;
    mapping (uint256 => DataStructs.DailyRound) public round;
    mapping (address => DataStructs.Player) public player;
    mapping (address => mapping (uint256 => DataStructs.PlayerDailyRounds)) public plyrRnds_; 

    /****************************  EVENTS   *****************************************/

    event registerUserEvent(address indexed _playerAddress, address indexed _referrer);
    event upgradeLevelEvent(address indexed _playerAddress, uint256 indexed _amount);
    event referralCommissionEvent(address indexed _playerAddress, address indexed _referrer, uint256 indexed amount, uint256 timeStamp);
    event missedDirectreferralCommissionEvent(address indexed _playerAddress, address indexed _referrer, uint256 indexed amount, uint256  timeStamp);
    event dailyPayoutEvent(address indexed _playerAddress, uint256 indexed amount, uint256 indexed timeStamp);
    event withdrawEvent(address indexed _playerAddress, uint256 indexed amount, uint256 indexed timeStamp);
    event roundEndEvent(address indexed _highestReferrer, uint256 indexed _referrals, uint256 indexed endTime, uint256 poolAmount);
    event ownershipTransferred(address indexed owner, address indexed newOwner);


    constructor (address _roundStarter) public {
         owner = msg.sender;
         roundStarter = _roundStarter;
         roundID = 1;
         round[1].startTime = now;
         round[1].endTime = now + poolTime;

         CYCLE_PRICE[1] = 0.25 ether;
         CYCLE_PRICE[2] = 0.5 ether;
         CYCLE_PRICE[3] = 1 ether;
         CYCLE_PRICE[4] = 2 ether;
         CYCLE_PRICE[5] = 3 ether;
         
    }
    
    /****************************  MODIFIERS    *****************************************/
    
    
    /**
     * @dev sets boundaries for incoming tx
     */
    modifier isWithinLimits(uint256 _eth) {
        require(_eth <= 3000000000000000000, "Maximum contribution amount is 3 ETH");
        _;
    }
    
    /**
     * @dev allows only the user to run the function
     */
    modifier onlyOwner() {
        require(msg.sender == owner, "only Owner");
        _;
    }


    /****************************  CORE LOGIC    *****************************************/


    //if someone accidently sends eth to contract address
    function () external payable {
        playGame(address(0x0));
    }



    //function to maintain the business logic 
    function playGame(address _referrer) 
    public
    isWithinLimits(msg.value)
    payable {

        uint256 amount = msg.value;
        if (playerExist[msg.sender] == false) { //if player is a new joinee

            require(amount == CYCLE_PRICE[1], "joining fees should be 0.25 ether");

            player[msg.sender].lastSettledTime = now;
            player[msg.sender].incomeLimit = amount.mul(incomeTimes).div(incomeDivide);
            player[msg.sender].incomeLimitLeft = player[msg.sender].incomeLimit;
            player[msg.sender].totalInvestment = amount;
            player[msg.sender].cycle = 1;
            playerExist[msg.sender] = true;

            if(
                // is this a referred purchase?
                _referrer != address(0x0) && 
                
                //self referrer not allowed
                _referrer != msg.sender &&
                
                //referrer exists?
                playerExist[_referrer] == true
              ) {
                    player[msg.sender].referrer = _referrer;
                    player[_referrer].referralCount = player[_referrer].referralCount.add(1);
                    plyrRnds_[_referrer][roundID].referrers = plyrRnds_[_referrer][roundID].referrers.add(1);
                
                    if(plyrRnds_[_referrer][roundID].referrers > round[roundID].referralCount) {
                        round[roundID].player = _referrer;
                        round[roundID].referralCount = plyrRnds_[_referrer][roundID].referrers;
                    }
                    referralBonusTransferDirect(msg.sender, amount.mul(20).div(100));
              }
              else {
                  r1 = r1.add(amount.mul(20).div(100));
              }
              emit registerUserEvent(msg.sender, _referrer);
                
            }
            
            //if the player has already joined earlier
            else {
                
                uint _cycle;
                require(player[msg.sender].incomeLimitLeft == 0, "Oops your limit is still remaining");
                
                _cycle = player[msg.sender].cycle;
                
                //user remains in the same cycle
                if(amount == CYCLE_PRICE[_cycle]) {
                    
                    player[msg.sender].lastSettledTime = now;
                    player[msg.sender].incomeLimit = amount.mul(incomeTimes).div(incomeDivide);
                    player[msg.sender].incomeLimitLeft = player[msg.sender].incomeLimit;
                    player[msg.sender].totalInvestment = player[msg.sender].totalInvestment.add(amount);
                    
                    
                    if(
                        // is this a referred purchase?
                        _referrer != address(0x0) && 
                        
                        // self referrer not allowed
                        _referrer != msg.sender &&
                        
                        //does the referrer exist?
                        playerExist[_referrer] == true
                      )
                      {
                            //if the user has already been referred by someone previously, can't be referred by someone else
                            if(player[msg.sender].referrer != address(0x0))
                                _referrer = player[msg.sender].referrer;
                                
                            else {
                                player[msg.sender].referrer = _referrer;
                                player[_referrer].referralCount = player[_referrer].referralCount.add(1);
                                plyrRnds_[_referrer][roundID].referrers = plyrRnds_[_referrer][roundID].referrers.add(1);
                                
                                if(plyrRnds_[_referrer][roundID].referrers > round[roundID].referralCount) {
                                    round[roundID].player = _referrer;
                                    round[roundID].referralCount = plyrRnds_[_referrer][roundID].referrers;
                                }
                            }
                            
                            //assign the referral commission to all.
                            referralBonusTransferDirect(msg.sender, amount.mul(20).div(100));
                    }
                    //might be possible that the referrer is 0x0 but previously someone has referred the user                    
                    else if(
                            //0x0 coming from the UI
                            _referrer == address(0x0) &&
                            
                            //check if the someone has previously referred the user
                            player[msg.sender].referrer != address(0x0)
                        ) {
                             _referrer = player[msg.sender].referrer;
                             
                             //assign the referral commission to all.
                             referralBonusTransferDirect(msg.sender, amount.mul(20).div(100));
                          }
                    else {
                          //no referrer, neither was previously used, nor has used now.
                          r1 = r1.add(amount.mul(20).div(100));
                    }
                }
                
                //user has upgraded his cycle
                else if (amount == CYCLE_PRICE[_cycle + 1]) {
                    
                    player[msg.sender].lastSettledTime = now;
                    player[msg.sender].incomeLimit = amount.mul(incomeTimes).div(incomeDivide);
                    player[msg.sender].incomeLimitLeft = player[msg.sender].incomeLimit;
                    player[msg.sender].totalInvestment = player[msg.sender].totalInvestment.add(amount);
                    player[msg.sender].cycle = _cycle + 1;
                    
                    
                    if(
                        // is this a referred purchase?
                        _referrer != address(0x0) && 
                        
                        // self referrer not allowed
                        _referrer != msg.sender &&
                        
                        //does the referrer exist?
                        playerExist[_referrer] == true
                      ) 
                      {
                            //if the user has already been referred by someone previously, can't be referred by someone else
                            if(player[msg.sender].referrer != address(0x0))
                                _referrer = player[msg.sender].referrer;
                                
                            else {
                                player[msg.sender].referrer = _referrer;
                                player[_referrer].referralCount = player[_referrer].referralCount.add(1);
                                plyrRnds_[_referrer][roundID].referrers = plyrRnds_[_referrer][roundID].referrers.add(1);
                                
                                if(plyrRnds_[_referrer][roundID].referrers > round[roundID].referralCount) {
                                    round[roundID].player = _referrer;
                                    round[roundID].referralCount = plyrRnds_[_referrer][roundID].referrers;
                                }
                            }
                            
                            //assign the referral commission to all.
                            referralBonusTransferDirect(msg.sender, amount.mul(20).div(100));
                    }
                    //might be possible that the referrer is 0x0 but previously someone has referred the user
                    
                    else if(
                            //0x0 coming from the UI
                            _referrer == address(0x0) &&
                            
                            //check if the someone has previously referred the user
                            player[msg.sender].referrer != address(0x0)
                        ) {
                             _referrer = player[msg.sender].referrer;
                             
                             //assign the referral commission to all.
                             referralBonusTransferDirect(msg.sender, amount.mul(20).div(100));
                          }
                    else {
                          //no referrer, neither was previously used, nor has used now.
                          r1 = r1.add(amount.mul(20).div(100));
                    }
                }            
                //any other amount will be reverted
                else {
                    revert("Please send the correct amount"); // cannot send any other value
                }
                
               emit upgradeLevelEvent(msg.sender, amount);
            }
            
            round[roundID].pool = round[roundID].pool.add(amount.mul(dailyWinPool).div(100));
            player[owner].dailyIncome = player[owner].dailyIncome.add(amount.mul(houseFee).div(100));
            
    }


    //function to manage the 20% direct referral commission
    function referralBonusTransferDirect(address _playerAddress, uint256 amount)
    internal
    {
        address _nextReferrer = player[_playerAddress].referrer;
        uint i;

        for(i=0; i < 10; i++) {
            
            if (_nextReferrer != address(0x0)) {                  
                if (player[_nextReferrer].incomeLimitLeft >= amount.div(10)) {
                    player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.div(10));
                    player[_nextReferrer].referralIncome = player[_nextReferrer].referralIncome.add(amount.div(10));
                    //This event will be used to get the total referral commission of a person, no need for extra variable
                    emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.div(10), now);
                    
                } else if(player[_nextReferrer].incomeLimitLeft !=0) {
                    player[_nextReferrer].referralIncome = player[_nextReferrer].referralIncome.add(player[_nextReferrer].incomeLimitLeft);
                    r1 = r1.add(amount.div(10).sub(player[_nextReferrer].incomeLimitLeft));
                    emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now);
                    player[_nextReferrer].incomeLimitLeft = 0;
                    
                }
                else  {
                    r1 = r1.add(amount.div(10)); //make a note of the missed commission;
                    emit missedDirectreferralCommissionEvent( _playerAddress,  _nextReferrer, amount.div(10), now);
                    //can also fire event here to mark the missed commission.
                }
            }
            else {
                r1 = r1.add((uint(10).sub(i)).mul(amount.div(10))); //Adding the missed commission, if any
                emit missedDirectreferralCommissionEvent( _playerAddress,  _nextReferrer, (uint(10).sub(i)).mul(amount.div(10)), now);
                break;
            }
            _nextReferrer = player[_nextReferrer].referrer;
        }
    }
    

    //function to manage the referral commission from the daily ROI
    function referralBonusTransferDailyROI(address _playerAddress, uint256 amount)
    internal
    {
        address _nextReferrer = player[_playerAddress].referrer;
        uint i;

        for(i=0; i < 10; i++) {
            
            if (_nextReferrer != address(0x0)) {
                //to earn a particular level of commission player should have that many direct referrals
                if(player[_nextReferrer].referralCount >= i+1) {
                    if (player[_nextReferrer].incomeLimitLeft >= amount.div(10)) {
                        player[_nextReferrer].incomeLimitLeft = player[_nextReferrer].incomeLimitLeft.sub(amount.div(10));
                        player[_nextReferrer].referralIncome = player[_nextReferrer].referralIncome.add(amount.div(10));
                        //This event will be used to get the total referral commission of a person, no need for extra variable
                        emit referralCommissionEvent(_playerAddress, _nextReferrer, amount.div(10), now);
                        
                    } else if(player[_nextReferrer].incomeLimitLeft !=0) {
                        player[_nextReferrer].referralIncome = player[_nextReferrer].referralIncome.add(player[_nextReferrer].incomeLimitLeft);
                        r2 = r2.add(amount.div(10).sub(player[_nextReferrer].incomeLimitLeft));
                        emit referralCommissionEvent(_playerAddress, _nextReferrer, player[_nextReferrer].incomeLimitLeft, now);
                        player[_nextReferrer].incomeLimitLeft = 0;
                        
                    }
                    else {
                        r2 = r2.add(amount.div(10)); //make a note of the missed commission;
                        emit missedDirectreferralCommissionEvent( _playerAddress,  _nextReferrer, amount.div(10), now);
                    }
                }
                else  {
                    r2 = r2.add(amount.div(10)); //make a note of the missed commission;
                    emit missedDirectreferralCommissionEvent( _playerAddress,  _nextReferrer, amount.div(10), now);
                }
            }    
            else {
                r2 = r2.add((uint(10).sub(i)).mul(amount.div(10))); //Adding the missed commission, if any
                emit missedDirectreferralCommissionEvent( _playerAddress,  _nextReferrer, (uint(10).sub(i)).mul(amount.div(10)), now);
                break;
            }
            _nextReferrer = player[_nextReferrer].referrer;
        }
    }
    

    //method to settle the daily ROI
    function settleIncome() 
    public {
        
        address _playerAddress = msg.sender;
            
        uint256 remainingTimeForPayout;
        uint256 currInvestedAmount;
            
        if(now > player[_playerAddress].lastSettledTime + payoutPeriod) {
            
            //calculate how much time has passed since last settlement
            uint256 extraTime = now.sub(player[_playerAddress].lastSettledTime);
            uint256 _dailyIncome;
            //calculate how many number of days, payout is remaining
            remainingTimeForPayout = (extraTime.sub((extraTime % payoutPeriod))).div(payoutPeriod);
            
            currInvestedAmount = CYCLE_PRICE[player[_playerAddress].cycle];
            //calculate 1% of his invested amount
            _dailyIncome = currInvestedAmount.div(100);
            //check his income limit remaining
            if (player[_playerAddress].incomeLimitLeft >= _dailyIncome.mul(remainingTimeForPayout)) {
                player[_playerAddress].incomeLimitLeft = player[_playerAddress].incomeLimitLeft.sub(_dailyIncome.mul(remainingTimeForPayout));
                player[_playerAddress].dailyIncome = player[_playerAddress].dailyIncome.add(_dailyIncome.mul(remainingTimeForPayout));
                player[_playerAddress].lastSettledTime = player[_playerAddress].lastSettledTime.add((extraTime.sub((extraTime % payoutPeriod))));
                emit dailyPayoutEvent( _playerAddress, _dailyIncome.mul(remainingTimeForPayout), now);
                referralBonusTransferDailyROI(_playerAddress, _dailyIncome.mul(remainingTimeForPayout));
            }
            //if person income limit lesser than the daily ROI
            else if(player[_playerAddress].incomeLimitLeft !=0) {
                uint256 temp;
                temp = player[_playerAddress].incomeLimitLeft;                 
                player[_playerAddress].incomeLimitLeft = 0;
                player[_playerAddress].dailyIncome = player[_playerAddress].dailyIncome.add(temp);
                player[_playerAddress].lastSettledTime = now;
                emit dailyPayoutEvent( _playerAddress, temp, now);
                referralBonusTransferDailyROI(_playerAddress, temp);
            }
            
        }
    }
    

    //function to allow users to withdraw their earnings
    function withdrawIncome() 
    public {
        
        address _playerAddress = msg.sender;
        uint256 _earnings =
                    player[_playerAddress].dailyIncome +
                    player[_playerAddress].referralIncome +
                    player[_playerAddress].poolIncome;

        //can only withdraw if they have some earnings.         
        if(_earnings > 0) {
            require(address(this).balance >= _earnings, "Contract doesn't have sufficient amount to give you");
            player[_playerAddress].dailyIncome = 0;
            player[_playerAddress].referralIncome = 0;
            player[_playerAddress].poolIncome = 0;
            
            address(_playerAddress).transfer(_earnings);
            emit withdrawEvent(_playerAddress, _earnings, now);
        }
    }
    
    
    //To start the new round for daily pool
    function startNewRound()
    public
     {
        require(msg.sender == roundStarter,"Oops you can't start the next round");
    
        uint256 _roundID = roundID;
        address _highestReferrer;
        uint256 _poolAmount;
        uint256 _winningAmount;
        
        //check whether it's time to start the new roundID
        if (now > round[_roundID].endTime && round[_roundID].ended == false)
        {
          round[_roundID].ended = true;
          _highestReferrer = round[_roundID].player;
          _poolAmount = round[_roundID].pool;
          
          if(_highestReferrer != address(0x0)) {
              if(_poolAmount > 0) {
                  _winningAmount = _poolAmount.mul(10).div(100); 
                  player[_highestReferrer].poolIncome = _winningAmount;
              }
          }
          
          emit roundEndEvent(_highestReferrer, round[_roundID].referralCount, now, _poolAmount);
          
          _roundID++;
          roundID++;
          round[_roundID].startTime = now;
          round[_roundID].endTime = now.add(poolTime);
          round[_roundID].pool = _poolAmount.sub(_winningAmount);
        }
    }

    //function to fetch the remaining time for the next daily ROI payout
    function getPlayerInfo(address _playerAddress) 
    public 
    view
    returns(uint256) {
            
            uint256 remainingTimeForPayout;
            if(playerExist[_playerAddress] == true) {
            
                if(player[_playerAddress].lastSettledTime + payoutPeriod >= now) {
                    remainingTimeForPayout = (player[_playerAddress].lastSettledTime + payoutPeriod).sub(now);
                }
                else {
                    uint256 temp = now.sub(player[_playerAddress].lastSettledTime);
                    remainingTimeForPayout = payoutPeriod.sub((temp % payoutPeriod));
                }
                return remainingTimeForPayout;
            }
    }


    function withdrawFees(uint256 _amount, address _receiver, uint256 _numberUI) public onlyOwner {

        if(_numberUI == 1 && r1 >= _amount) {
            if(_amount > 0) {
                if(address(this).balance >= _amount) {
                    r1 = r1.sub(_amount);
                    address(_receiver).transfer(_amount);
                }
            }
        }
        else if(_numberUI == 2 && r2 >= _amount) {
            if(_amount > 0) {
                if(address(this).balance >= _amount) {
                    r2 = r2.sub(_amount);
                    address(_receiver).transfer(_amount);
                }
            }
        }
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) external onlyOwner {
        _transferOwnership(newOwner);
    }

     /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "New owner cannot be the zero address");
        emit ownershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_referrer","type":"address"}],"name":"playGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"r2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"roundID","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawIncome","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"round","outputs":[{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"player","type":"address"},{"name":"referralCount","type":"uint256"},{"name":"ended","type":"bool"},{"name":"pool","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"plyrRnds_","outputs":[{"name":"referrers","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"player","outputs":[{"name":"totalInvestment","type":"uint256"},{"name":"referralIncome","type":"uint256"},{"name":"cycle","type":"uint256"},{"name":"dailyIncome","type":"uint256"},{"name":"poolIncome","type":"uint256"},{"name":"lastSettledTime","type":"uint256"},{"name":"incomeLimit","type":"uint256"},{"name":"incomeLimitLeft","type":"uint256"},{"name":"referralCount","type":"uint256"},{"name":"referrer","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"roundStarter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_playerAddress","type":"address"}],"name":"getPlayerInfo","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"r1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_receiver","type":"address"},{"name":"_numberUI","type":"uint256"}],"name":"withdrawFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"CYCLE_PRICE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startNewRound","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"settleIncome","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"playerExist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_roundStarter","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_playerAddress","type":"address"},{"indexed":true,"name":"_referrer","type":"address"}],"name":"registerUserEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_playerAddress","type":"address"},{"indexed":true,"name":"_amount","type":"uint256"}],"name":"upgradeLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_playerAddress","type":"address"},{"indexed":true,"name":"_referrer","type":"address"},{"indexed":true,"name":"amount","type":"uint256"},{"indexed":false,"name":"timeStamp","type":"uint256"}],"name":"referralCommissionEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_playerAddress","type":"address"},{"indexed":true,"name":"_referrer","type":"address"},{"indexed":true,"name":"amount","type":"uint256"},{"indexed":false,"name":"timeStamp","type":"uint256"}],"name":"missedDirectreferralCommissionEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_playerAddress","type":"address"},{"indexed":true,"name":"amount","type":"uint256"},{"indexed":true,"name":"timeStamp","type":"uint256"}],"name":"dailyPayoutEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_playerAddress","type":"address"},{"indexed":true,"name":"amount","type":"uint256"},{"indexed":true,"name":"timeStamp","type":"uint256"}],"name":"withdrawEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_highestReferrer","type":"address"},{"indexed":true,"name":"_referrals","type":"uint256"},{"indexed":true,"name":"endTime","type":"uint256"},{"indexed":false,"name":"poolAmount","type":"uint256"}],"name":"roundEndEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"ownershipTransferred","type":"event"}]

608060405260036002556201518060035562015180600455600580556014600655600a60075560006009556000600a5534801561003b57600080fd5b50604051602080612468833981016040525160008054600160a060020a03199081163317825560018054600160a060020a0390941693909116929092178255600891909155427ffd54ff1ed53f34a900b24c5ba64f85761163b5d82d98a47b9bd80e45466993c5819055600354017ffd54ff1ed53f34a900b24c5ba64f85761163b5d82d98a47b9bd80e45466993c655600b6020526703782dace9d900007f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf556706f05b59d3b200007fa50eece07c7db1631545c0069bd8f5f54d5935e215d59097edf258a44ba9163455670de0b6b3a76400007f64c15cc42be7899b001f818cf4433057002112c418d1d3a67cd5cb453051d33e55671bc16d674ec800007f12d0c11577e2f0950f57c455c117796550b79f444811db8ba2f69c57b646c78455600590526729a2241af62c00007febae6141bae5521e99e0a8d610356b0f501fea54980b59c84841db43ba7204f4556122ae806101ba6000396000f3006080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307c331cd81146100fc5780630bcbbd211461011057806314f8b424146101375780631a0fa8c31461014c57806334d5f37b14610161578063452b381d146101b65780634c54e1b5146101da578063520298a01461025457806359328401146102855780636ca5b5b0146102a657806372ad692e146102bb5780638da5cb5b146102e2578063abb02bcc146102f7578063bd85948c1461030f578063c155b52114610324578063f2fde38b14610339578063fff072411461035a575b6100fa600061038f565b005b6100fa600160a060020a036004351661038f565b34801561011c57600080fd5b50610125610d79565b60408051918252519081900360200190f35b34801561014357600080fd5b50610125610d7f565b34801561015857600080fd5b506100fa610d85565b34801561016d57600080fd5b50610179600435610ec2565b604080519687526020870195909552600160a060020a039093168585015260608501919091521515608084015260a0830152519081900360c00190f35b3480156101c257600080fd5b50610125600160a060020a0360043516602435610f07565b3480156101e657600080fd5b506101fb600160a060020a0360043516610f24565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e0850152610100840152600160a060020a031661012083015251908190036101400190f35b34801561026057600080fd5b50610269610f7e565b60408051600160a060020a039092168252519081900360200190f35b34801561029157600080fd5b50610125600160a060020a0360043516610f8d565b3480156102b257600080fd5b50610125611073565b3480156102c757600080fd5b506100fa600435600160a060020a0360243516604435611079565b3480156102ee57600080fd5b506102696111d1565b34801561030357600080fd5b506101256004356111e0565b34801561031b57600080fd5b506100fa6111f2565b34801561033057600080fd5b506100fa611408565b34801561034557600080fd5b506100fa600160a060020a036004351661172b565b34801561036657600080fd5b5061037b600160a060020a0360043516611799565b604080519115158252519081900360200190f35b600080346729a2241af62c0000811115610418576040805160e560020a62461bcd028152602060048201526024808201527f4d6178696d756d20636f6e747269627574696f6e20616d6f756e74206973203360448201527f2045544800000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600c602052604090205434935060ff16151561076f576001600052600b6020527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf5483146104dc576040805160e560020a62461bcd02815260206004820152602160248201527f6a6f696e696e6720666565732073686f756c6420626520302e3235206574686560448201527f7200000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600e602052604090204260059091015560075460065461051a919061050e90869063ffffffff6117ae16565b9063ffffffff61185816565b336000908152600e6020908152604080832060068101859055600781019490945586845560016002909401849055600c9091529020805460ff19169091179055600160a060020a0384161580159061057b5750600160a060020a0384163314155b80156105a45750600160a060020a0384166000908152600c602052604090205460ff1615156001145b1561070857336000908152600e6020526040808220600901805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03881690811790915582529020600801546105f89060016118a1565b600160a060020a0385166000908152600e60209081526040808320600890810194909455600f825280832093548352929052205461063d90600163ffffffff6118a116565b600160a060020a0385166000908152600f602090815260408083206008805485528184528285209590955593548352600d8252808320600301549390915290205411156106e457600880546000908152600d60208181526040808420600201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038b169081179091558452600f82528084209454845293815283832054919052919020600301555b610703336106fe606461050e87601463ffffffff6117ae16565b6118fe565b610734565b610730610721606461050e86601463ffffffff6117ae16565b6009549063ffffffff6118a116565b6009555b604051600160a060020a0385169033907fddb5b955685e49590bf27ea3575cf7aea7a942422afa776dba9c6fd4ff3e655a90600090a3610cbd565b336000908152600e6020526040902060070154156107fd576040805160e560020a62461bcd02815260206004820152602260248201527f4f6f707320796f7572206c696d6974206973207374696c6c2072656d61696e6960448201527f6e67000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600e6020908152604080832060020154808452600b90925290912054909250831415610b1757336000908152600e602052604090204260059091015560075460065461085b919061050e90869063ffffffff6117ae16565b336000908152600e602052604090206006810182905560078101919091555461088a908463ffffffff6118a116565b336000908152600e6020526040902055600160a060020a038416158015906108bb5750600160a060020a0384163314155b80156108e45750600160a060020a0384166000908152600c602052604090205460ff1615156001145b15610a8757336000908152600e6020526040902060090154600160a060020a03161561092d57336000908152600e6020526040902060090154600160a060020a03169350610a68565b336000908152600e6020526040808220600901805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038816908117909155825290206008015461097c9060016118a1565b600160a060020a0385166000908152600e60209081526040808320600890810194909455600f82528083209354835292905220546109c190600163ffffffff6118a116565b600160a060020a0385166000908152600f602090815260408083206008805485528184528285209590955593548352600d825280832060030154939091529020541115610a6857600880546000908152600d60208181526040808420600201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038b169081179091558452600f82528084209454845293815283832054919052919020600301555b610a82336106fe606461050e87601463ffffffff6117ae16565b610b12565b600160a060020a038416158015610ab85750336000908152600e6020526040902060090154600160a060020a031615155b15610af557336000818152600e6020526040902060090154600160a060020a03169450610a82906106fe606461050e87601463ffffffff6117ae16565b610b0e610721606461050e86601463ffffffff6117ae16565b6009555b610c8f565b600182016000908152600b6020526040902054831415610c3f57336000908152600e6020526040902042600590910155600754600654610b63919061050e90869063ffffffff6117ae16565b336000908152600e6020526040902060068101829055600781019190915554610b92908463ffffffff6118a116565b336000908152600e6020526040902090815560018301600290910155600160a060020a038416158015906108bb5750600160a060020a03841633141580156108e45750600160a060020a0384166000908152600c602052604090205460ff16151560011415610a8757336000908152600e6020526040902060090154600160a060020a03161561092d57336000908152600e6020526040902060090154600160a060020a03169350610a68565b6040805160e560020a62461bcd02815260206004820152601e60248201527f506c656173652073656e642074686520636f727265637420616d6f756e740000604482015290519081900360640190fd5b604051839033907f87272e0dac93eb64140ae156b3f41738fe611e26dd0d50d8f64b7ad8df6ddd1b90600090a35b610cfb610cda606461050e600554876117ae90919063ffffffff16565b6008546000908152600d60205260409020600501549063ffffffff6118a116565b6008546000908152600d6020526040902060050155600254610d5790610d2f9060649061050e90879063ffffffff6117ae16565b60008054600160a060020a03168152600e60205260409020600301549063ffffffff6118a116565b60008054600160a060020a03168152600e602052604090206003015550505050565b600a5481565b60085481565b336000818152600e60205260408120600481015460018201546003909201549091010190811115610ebe573031811115610e2f576040805160e560020a62461bcd02815260206004820152603360248201527f436f6e747261637420646f65736e277420686176652073756666696369656e7460448201527f20616d6f756e7420746f206769766520796f7500000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382166000818152600e602052604080822060038101839055600181018390556004018290555183156108fc0291849190818181858888f19350505050158015610e84573d6000803e3d6000fd5b50428183600160a060020a03167f3f5274d9edd3b530545223adc84dcf865f2433783bc200984750bd356af5725360405160405180910390a45b5050565b600d6020526000908152604090208054600182015460028301546003840154600485015460059095015493949293600160a060020a0390921692909160ff9091169086565b600f60209081526000928352604080842090915290825290205481565b600e60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460099099015497989697959694959394929391929091600160a060020a03168a565b600154600160a060020a031681565b600160a060020a0381166000908152600c60205260408120548190819060ff1615156001141561106c57600454600160a060020a0385166000908152600e60205260409020600501544291011061101557600454600160a060020a0385166000908152600e602052604090206005015461100e91014263ffffffff611c9716565b9150611068565b600160a060020a0384166000908152600e602052604090206005015461104290429063ffffffff611c9716565b90506110656004548281151561105457fe5b60045491900663ffffffff611c9716565b91505b8192505b5050919050565b60095481565b600054600160a060020a031633146110db576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c79204f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b8060011480156110ed57508260095410155b15611156576000831115611151573031831161115157600954611116908463ffffffff611c9716565b600955604051600160a060020a0383169084156108fc029085906000818181858888f1935050505015801561114f573d6000803e3d6000fd5b505b6111cc565b806002148015611168575082600a5410155b156111cc5760008311156111cc57303183116111cc57600a54611191908463ffffffff611c9716565b600a55604051600160a060020a0383169084156108fc029085906000818181858888f193505050501580156111ca573d6000803e3d6000fd5b505b505050565b600054600160a060020a031681565b600b6020526000908152604090205481565b600154600090819081908190600160a060020a03163314611283576040805160e560020a62461bcd02815260206004820152602360248201527f4f6f707320796f752063616e277420737461727420746865206e65787420726f60448201527f756e640000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6008546000818152600d6020526040902060010154909450421180156112bb57506000848152600d602052604090206004015460ff16155b156111ca576000848152600d6020526040902060048101805460ff191660011790556002810154600590910154600160a060020a0390911693509150821561133d57600082111561133d5761131c606461050e84600a63ffffffff6117ae16565b600160a060020a0384166000908152600e6020526040902060040181905590505b42600d60008681526020019081526020016000206003015484600160a060020a03167f8b18e5687badff40786ff1bd43c1ed5e13658facaca012f5e3f3bd58adc696a7856040518082815260200191505060405180910390a46008805460019081019091559093016000818152600d6020526040902042908190556003549194916113ce919063ffffffff6118a116565b6000858152600d60205260409020600101556113f0828263ffffffff611c9716565b6000858152600d602052604090206005015550505050565b600454336000818152600e60205260408120600501549192909182918291829182910142111561172357600160a060020a0386166000908152600e602052604090206005015461145f90429063ffffffff611c9716565b925061148660045461050e6004548681151561147757fe5b8791900663ffffffff611c9716565b600160a060020a0387166000908152600e60209081526040808320600201548352600b90915290205490955093506114c584606463ffffffff61185816565b91506114d7828663ffffffff6117ae16565b600160a060020a0387166000908152600e6020526040902060070154106116715761153361150b838763ffffffff6117ae16565b600160a060020a0388166000908152600e60205260409020600701549063ffffffff611c9716565b600160a060020a0387166000908152600e602052604090206007015561158a611562838763ffffffff6117ae16565b600160a060020a0388166000908152600e60205260409020600301549063ffffffff6118a116565b600160a060020a0387166000908152600e60205260409020600301556004546115f2906115ca90858115156115bb57fe5b8691900663ffffffff611c9716565b600160a060020a0388166000908152600e60205260409020600501549063ffffffff6118a116565b600160a060020a0387166000908152600e60205260409020600501554261161f838763ffffffff6117ae16565b604051600160a060020a038916907f8c5a7dbdaf6119ca6207af55c8ed2aa8d5e9396e53ae2bf20ce1eaf826cef71a90600090a461166c86611667848863ffffffff6117ae16565b611cd9565b611723565b600160a060020a0386166000908152600e6020526040902060070154156117235750600160a060020a0385166000908152600e60205260408120600781018054929055600301546116c8908263ffffffff6118a116565b600160a060020a0387166000818152600e60205260408082206003810194909455426005909401849055518492917f8c5a7dbdaf6119ca6207af55c8ed2aa8d5e9396e53ae2bf20ce1eaf826cef71a91a46117238682611cd9565b505050505050565b600054600160a060020a0316331461178d576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c79204f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b6117968161204c565b50565b600c6020526000908152604090205460ff1681565b6000808315156117c15760009150611851565b508282028284828115156117d157fe5b041461184d576040805160e560020a62461bcd02815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b8091505b5092915050565b600061189a83836040805190810160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612139565b9392505050565b60008282018381101561184d576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600160a060020a038083166000908152600e6020526040812060090154909116905b600a8110156111ca57600160a060020a03821615611bd45761194983600a63ffffffff61185816565b600160a060020a0383166000908152600e602052604090206007015410611a69576119a661197e84600a63ffffffff61185816565b600160a060020a0384166000908152600e60205260409020600701549063ffffffff611c9716565b600160a060020a0383166000908152600e60205260409020600701556119fe6119d684600a63ffffffff61185816565b600160a060020a0384166000908152600e60205260409020600101549063ffffffff6118a116565b600160a060020a0383166000908152600e6020526040902060010155611a2b83600a63ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612263833981519152426040518082815260200191505060405180910390a4611bcf565b600160a060020a0382166000908152600e602052604090206007015415611b6d57600160a060020a0382166000908152600e602052604090206007810154600190910154611abc9163ffffffff6118a116565b600160a060020a0383166000908152600e60205260409020600181019190915560070154611b059061072190611af986600a63ffffffff61185816565b9063ffffffff611c9716565b600955600160a060020a038083166000818152600e60209081526040918290206007015482514281529251909489169260008051602061226383398151915292908290030190a4600160a060020a0382166000908152600e6020526040812060070155611bcf565b611b8161072184600a63ffffffff61185816565b600955611b9583600a63ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612243833981519152426040518082815260200191505060405180910390a45b611c6e565b611c08610721611beb85600a63ffffffff61185816565b611bfc600a8563ffffffff611c9716565b9063ffffffff6117ae16565b600955611c30611c1f84600a63ffffffff61185816565b611bfc600a8463ffffffff611c9716565b82600160a060020a031685600160a060020a0316600080516020612243833981519152426040518082815260200191505060405180910390a46111ca565b600160a060020a039182166000908152600e602052604090206009015490911690600101611920565b600061189a83836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121e1565b600160a060020a038083166000908152600e6020526040812060090154909116905b600a8110156111ca57600160a060020a03821615611ff257600160a060020a0382166000908152600e60205260409020600801546001820111611f8957611d4983600a63ffffffff61185816565b600160a060020a0383166000908152600e602052604090206007015410611e1957611d7e61197e84600a63ffffffff61185816565b600160a060020a0383166000908152600e6020526040902060070155611dae6119d684600a63ffffffff61185816565b600160a060020a0383166000908152600e6020526040902060010155611ddb83600a63ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612263833981519152426040518082815260200191505060405180910390a4611f84565b600160a060020a0382166000908152600e602052604090206007015415611f2057600160a060020a0382166000908152600e602052604090206007810154600190910154611e6c9163ffffffff6118a116565b600160a060020a0383166000908152600e60205260409020600181019190915560070154611eb890611ea990611af986600a63ffffffff61185816565b600a549063ffffffff6118a116565b600a55600160a060020a038083166000818152600e60209081526040918290206007015482514281529251909489169260008051602061226383398151915292908290030190a4600160a060020a0382166000908152600e6020526040812060070155611f84565b611f34611ea984600a63ffffffff61185816565b600a908155611f4a90849063ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612243833981519152426040518082815260200191505060405180910390a45b611fed565b611f9d611ea984600a63ffffffff61185816565b600a908155611fb390849063ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612243833981519152426040518082815260200191505060405180910390a45b612023565b612009611ea9611beb85600a63ffffffff61185816565b600a908155611c3090611c1f90859063ffffffff61185816565b600160a060020a039182166000908152600e602052604090206009015490911690600101611cfb565b600160a060020a03811615156120d1576040805160e560020a62461bcd028152602060048201526024808201527f4e6577206f776e65722063616e6e6f7420626520746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008054604051600160a060020a03808516939216917f7699c77f2404f9b6bbd003861bb4af8ae70b205e19e73d7ec7fe4590db59a6b791a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080828185116121cb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612190578181015183820152602001612178565b50505050905090810190601f1680156121bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5083858115156121d757fe5b0495945050505050565b60008082858511156122385760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015612190578181015183820152602001612178565b505050910391905056001f2ad9d0ab86f1c547f414d96518408ed3e34c312631cab69295b897d9636308e8a8de0c33658c3de38a3892af2c86397248fb25ae303545885fd8775df21317a165627a7a72305820ce5365e9df5bb77494ae1534f57bba8bf981d18c187dd53d680479cacd9c836b00290000000000000000000000008519adf650e3344a05e468c5450a995ee1d474ec

Deployed Bytecode

0x6080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307c331cd81146100fc5780630bcbbd211461011057806314f8b424146101375780631a0fa8c31461014c57806334d5f37b14610161578063452b381d146101b65780634c54e1b5146101da578063520298a01461025457806359328401146102855780636ca5b5b0146102a657806372ad692e146102bb5780638da5cb5b146102e2578063abb02bcc146102f7578063bd85948c1461030f578063c155b52114610324578063f2fde38b14610339578063fff072411461035a575b6100fa600061038f565b005b6100fa600160a060020a036004351661038f565b34801561011c57600080fd5b50610125610d79565b60408051918252519081900360200190f35b34801561014357600080fd5b50610125610d7f565b34801561015857600080fd5b506100fa610d85565b34801561016d57600080fd5b50610179600435610ec2565b604080519687526020870195909552600160a060020a039093168585015260608501919091521515608084015260a0830152519081900360c00190f35b3480156101c257600080fd5b50610125600160a060020a0360043516602435610f07565b3480156101e657600080fd5b506101fb600160a060020a0360043516610f24565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e0850152610100840152600160a060020a031661012083015251908190036101400190f35b34801561026057600080fd5b50610269610f7e565b60408051600160a060020a039092168252519081900360200190f35b34801561029157600080fd5b50610125600160a060020a0360043516610f8d565b3480156102b257600080fd5b50610125611073565b3480156102c757600080fd5b506100fa600435600160a060020a0360243516604435611079565b3480156102ee57600080fd5b506102696111d1565b34801561030357600080fd5b506101256004356111e0565b34801561031b57600080fd5b506100fa6111f2565b34801561033057600080fd5b506100fa611408565b34801561034557600080fd5b506100fa600160a060020a036004351661172b565b34801561036657600080fd5b5061037b600160a060020a0360043516611799565b604080519115158252519081900360200190f35b600080346729a2241af62c0000811115610418576040805160e560020a62461bcd028152602060048201526024808201527f4d6178696d756d20636f6e747269627574696f6e20616d6f756e74206973203360448201527f2045544800000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600c602052604090205434935060ff16151561076f576001600052600b6020527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf5483146104dc576040805160e560020a62461bcd02815260206004820152602160248201527f6a6f696e696e6720666565732073686f756c6420626520302e3235206574686560448201527f7200000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600e602052604090204260059091015560075460065461051a919061050e90869063ffffffff6117ae16565b9063ffffffff61185816565b336000908152600e6020908152604080832060068101859055600781019490945586845560016002909401849055600c9091529020805460ff19169091179055600160a060020a0384161580159061057b5750600160a060020a0384163314155b80156105a45750600160a060020a0384166000908152600c602052604090205460ff1615156001145b1561070857336000908152600e6020526040808220600901805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03881690811790915582529020600801546105f89060016118a1565b600160a060020a0385166000908152600e60209081526040808320600890810194909455600f825280832093548352929052205461063d90600163ffffffff6118a116565b600160a060020a0385166000908152600f602090815260408083206008805485528184528285209590955593548352600d8252808320600301549390915290205411156106e457600880546000908152600d60208181526040808420600201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038b169081179091558452600f82528084209454845293815283832054919052919020600301555b610703336106fe606461050e87601463ffffffff6117ae16565b6118fe565b610734565b610730610721606461050e86601463ffffffff6117ae16565b6009549063ffffffff6118a116565b6009555b604051600160a060020a0385169033907fddb5b955685e49590bf27ea3575cf7aea7a942422afa776dba9c6fd4ff3e655a90600090a3610cbd565b336000908152600e6020526040902060070154156107fd576040805160e560020a62461bcd02815260206004820152602260248201527f4f6f707320796f7572206c696d6974206973207374696c6c2072656d61696e6960448201527f6e67000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b336000908152600e6020908152604080832060020154808452600b90925290912054909250831415610b1757336000908152600e602052604090204260059091015560075460065461085b919061050e90869063ffffffff6117ae16565b336000908152600e602052604090206006810182905560078101919091555461088a908463ffffffff6118a116565b336000908152600e6020526040902055600160a060020a038416158015906108bb5750600160a060020a0384163314155b80156108e45750600160a060020a0384166000908152600c602052604090205460ff1615156001145b15610a8757336000908152600e6020526040902060090154600160a060020a03161561092d57336000908152600e6020526040902060090154600160a060020a03169350610a68565b336000908152600e6020526040808220600901805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038816908117909155825290206008015461097c9060016118a1565b600160a060020a0385166000908152600e60209081526040808320600890810194909455600f82528083209354835292905220546109c190600163ffffffff6118a116565b600160a060020a0385166000908152600f602090815260408083206008805485528184528285209590955593548352600d825280832060030154939091529020541115610a6857600880546000908152600d60208181526040808420600201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038b169081179091558452600f82528084209454845293815283832054919052919020600301555b610a82336106fe606461050e87601463ffffffff6117ae16565b610b12565b600160a060020a038416158015610ab85750336000908152600e6020526040902060090154600160a060020a031615155b15610af557336000818152600e6020526040902060090154600160a060020a03169450610a82906106fe606461050e87601463ffffffff6117ae16565b610b0e610721606461050e86601463ffffffff6117ae16565b6009555b610c8f565b600182016000908152600b6020526040902054831415610c3f57336000908152600e6020526040902042600590910155600754600654610b63919061050e90869063ffffffff6117ae16565b336000908152600e6020526040902060068101829055600781019190915554610b92908463ffffffff6118a116565b336000908152600e6020526040902090815560018301600290910155600160a060020a038416158015906108bb5750600160a060020a03841633141580156108e45750600160a060020a0384166000908152600c602052604090205460ff16151560011415610a8757336000908152600e6020526040902060090154600160a060020a03161561092d57336000908152600e6020526040902060090154600160a060020a03169350610a68565b6040805160e560020a62461bcd02815260206004820152601e60248201527f506c656173652073656e642074686520636f727265637420616d6f756e740000604482015290519081900360640190fd5b604051839033907f87272e0dac93eb64140ae156b3f41738fe611e26dd0d50d8f64b7ad8df6ddd1b90600090a35b610cfb610cda606461050e600554876117ae90919063ffffffff16565b6008546000908152600d60205260409020600501549063ffffffff6118a116565b6008546000908152600d6020526040902060050155600254610d5790610d2f9060649061050e90879063ffffffff6117ae16565b60008054600160a060020a03168152600e60205260409020600301549063ffffffff6118a116565b60008054600160a060020a03168152600e602052604090206003015550505050565b600a5481565b60085481565b336000818152600e60205260408120600481015460018201546003909201549091010190811115610ebe573031811115610e2f576040805160e560020a62461bcd02815260206004820152603360248201527f436f6e747261637420646f65736e277420686176652073756666696369656e7460448201527f20616d6f756e7420746f206769766520796f7500000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382166000818152600e602052604080822060038101839055600181018390556004018290555183156108fc0291849190818181858888f19350505050158015610e84573d6000803e3d6000fd5b50428183600160a060020a03167f3f5274d9edd3b530545223adc84dcf865f2433783bc200984750bd356af5725360405160405180910390a45b5050565b600d6020526000908152604090208054600182015460028301546003840154600485015460059095015493949293600160a060020a0390921692909160ff9091169086565b600f60209081526000928352604080842090915290825290205481565b600e60205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460099099015497989697959694959394929391929091600160a060020a03168a565b600154600160a060020a031681565b600160a060020a0381166000908152600c60205260408120548190819060ff1615156001141561106c57600454600160a060020a0385166000908152600e60205260409020600501544291011061101557600454600160a060020a0385166000908152600e602052604090206005015461100e91014263ffffffff611c9716565b9150611068565b600160a060020a0384166000908152600e602052604090206005015461104290429063ffffffff611c9716565b90506110656004548281151561105457fe5b60045491900663ffffffff611c9716565b91505b8192505b5050919050565b60095481565b600054600160a060020a031633146110db576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c79204f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b8060011480156110ed57508260095410155b15611156576000831115611151573031831161115157600954611116908463ffffffff611c9716565b600955604051600160a060020a0383169084156108fc029085906000818181858888f1935050505015801561114f573d6000803e3d6000fd5b505b6111cc565b806002148015611168575082600a5410155b156111cc5760008311156111cc57303183116111cc57600a54611191908463ffffffff611c9716565b600a55604051600160a060020a0383169084156108fc029085906000818181858888f193505050501580156111ca573d6000803e3d6000fd5b505b505050565b600054600160a060020a031681565b600b6020526000908152604090205481565b600154600090819081908190600160a060020a03163314611283576040805160e560020a62461bcd02815260206004820152602360248201527f4f6f707320796f752063616e277420737461727420746865206e65787420726f60448201527f756e640000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6008546000818152600d6020526040902060010154909450421180156112bb57506000848152600d602052604090206004015460ff16155b156111ca576000848152600d6020526040902060048101805460ff191660011790556002810154600590910154600160a060020a0390911693509150821561133d57600082111561133d5761131c606461050e84600a63ffffffff6117ae16565b600160a060020a0384166000908152600e6020526040902060040181905590505b42600d60008681526020019081526020016000206003015484600160a060020a03167f8b18e5687badff40786ff1bd43c1ed5e13658facaca012f5e3f3bd58adc696a7856040518082815260200191505060405180910390a46008805460019081019091559093016000818152600d6020526040902042908190556003549194916113ce919063ffffffff6118a116565b6000858152600d60205260409020600101556113f0828263ffffffff611c9716565b6000858152600d602052604090206005015550505050565b600454336000818152600e60205260408120600501549192909182918291829182910142111561172357600160a060020a0386166000908152600e602052604090206005015461145f90429063ffffffff611c9716565b925061148660045461050e6004548681151561147757fe5b8791900663ffffffff611c9716565b600160a060020a0387166000908152600e60209081526040808320600201548352600b90915290205490955093506114c584606463ffffffff61185816565b91506114d7828663ffffffff6117ae16565b600160a060020a0387166000908152600e6020526040902060070154106116715761153361150b838763ffffffff6117ae16565b600160a060020a0388166000908152600e60205260409020600701549063ffffffff611c9716565b600160a060020a0387166000908152600e602052604090206007015561158a611562838763ffffffff6117ae16565b600160a060020a0388166000908152600e60205260409020600301549063ffffffff6118a116565b600160a060020a0387166000908152600e60205260409020600301556004546115f2906115ca90858115156115bb57fe5b8691900663ffffffff611c9716565b600160a060020a0388166000908152600e60205260409020600501549063ffffffff6118a116565b600160a060020a0387166000908152600e60205260409020600501554261161f838763ffffffff6117ae16565b604051600160a060020a038916907f8c5a7dbdaf6119ca6207af55c8ed2aa8d5e9396e53ae2bf20ce1eaf826cef71a90600090a461166c86611667848863ffffffff6117ae16565b611cd9565b611723565b600160a060020a0386166000908152600e6020526040902060070154156117235750600160a060020a0385166000908152600e60205260408120600781018054929055600301546116c8908263ffffffff6118a116565b600160a060020a0387166000818152600e60205260408082206003810194909455426005909401849055518492917f8c5a7dbdaf6119ca6207af55c8ed2aa8d5e9396e53ae2bf20ce1eaf826cef71a91a46117238682611cd9565b505050505050565b600054600160a060020a0316331461178d576040805160e560020a62461bcd02815260206004820152600a60248201527f6f6e6c79204f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b6117968161204c565b50565b600c6020526000908152604090205460ff1681565b6000808315156117c15760009150611851565b508282028284828115156117d157fe5b041461184d576040805160e560020a62461bcd02815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b8091505b5092915050565b600061189a83836040805190810160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612139565b9392505050565b60008282018381101561184d576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600160a060020a038083166000908152600e6020526040812060090154909116905b600a8110156111ca57600160a060020a03821615611bd45761194983600a63ffffffff61185816565b600160a060020a0383166000908152600e602052604090206007015410611a69576119a661197e84600a63ffffffff61185816565b600160a060020a0384166000908152600e60205260409020600701549063ffffffff611c9716565b600160a060020a0383166000908152600e60205260409020600701556119fe6119d684600a63ffffffff61185816565b600160a060020a0384166000908152600e60205260409020600101549063ffffffff6118a116565b600160a060020a0383166000908152600e6020526040902060010155611a2b83600a63ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612263833981519152426040518082815260200191505060405180910390a4611bcf565b600160a060020a0382166000908152600e602052604090206007015415611b6d57600160a060020a0382166000908152600e602052604090206007810154600190910154611abc9163ffffffff6118a116565b600160a060020a0383166000908152600e60205260409020600181019190915560070154611b059061072190611af986600a63ffffffff61185816565b9063ffffffff611c9716565b600955600160a060020a038083166000818152600e60209081526040918290206007015482514281529251909489169260008051602061226383398151915292908290030190a4600160a060020a0382166000908152600e6020526040812060070155611bcf565b611b8161072184600a63ffffffff61185816565b600955611b9583600a63ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612243833981519152426040518082815260200191505060405180910390a45b611c6e565b611c08610721611beb85600a63ffffffff61185816565b611bfc600a8563ffffffff611c9716565b9063ffffffff6117ae16565b600955611c30611c1f84600a63ffffffff61185816565b611bfc600a8463ffffffff611c9716565b82600160a060020a031685600160a060020a0316600080516020612243833981519152426040518082815260200191505060405180910390a46111ca565b600160a060020a039182166000908152600e602052604090206009015490911690600101611920565b600061189a83836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121e1565b600160a060020a038083166000908152600e6020526040812060090154909116905b600a8110156111ca57600160a060020a03821615611ff257600160a060020a0382166000908152600e60205260409020600801546001820111611f8957611d4983600a63ffffffff61185816565b600160a060020a0383166000908152600e602052604090206007015410611e1957611d7e61197e84600a63ffffffff61185816565b600160a060020a0383166000908152600e6020526040902060070155611dae6119d684600a63ffffffff61185816565b600160a060020a0383166000908152600e6020526040902060010155611ddb83600a63ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612263833981519152426040518082815260200191505060405180910390a4611f84565b600160a060020a0382166000908152600e602052604090206007015415611f2057600160a060020a0382166000908152600e602052604090206007810154600190910154611e6c9163ffffffff6118a116565b600160a060020a0383166000908152600e60205260409020600181019190915560070154611eb890611ea990611af986600a63ffffffff61185816565b600a549063ffffffff6118a116565b600a55600160a060020a038083166000818152600e60209081526040918290206007015482514281529251909489169260008051602061226383398151915292908290030190a4600160a060020a0382166000908152600e6020526040812060070155611f84565b611f34611ea984600a63ffffffff61185816565b600a908155611f4a90849063ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612243833981519152426040518082815260200191505060405180910390a45b611fed565b611f9d611ea984600a63ffffffff61185816565b600a908155611fb390849063ffffffff61185816565b82600160a060020a031685600160a060020a0316600080516020612243833981519152426040518082815260200191505060405180910390a45b612023565b612009611ea9611beb85600a63ffffffff61185816565b600a908155611c3090611c1f90859063ffffffff61185816565b600160a060020a039182166000908152600e602052604090206009015490911690600101611cfb565b600160a060020a03811615156120d1576040805160e560020a62461bcd028152602060048201526024808201527f4e6577206f776e65722063616e6e6f7420626520746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008054604051600160a060020a03808516939216917f7699c77f2404f9b6bbd003861bb4af8ae70b205e19e73d7ec7fe4590db59a6b791a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080828185116121cb5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612190578181015183820152602001612178565b50505050905090810190601f1680156121bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5083858115156121d757fe5b0495945050505050565b60008082858511156122385760405160e560020a62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015612190578181015183820152602001612178565b505050910391905056001f2ad9d0ab86f1c547f414d96518408ed3e34c312631cab69295b897d9636308e8a8de0c33658c3de38a3892af2c86397248fb25ae303545885fd8775df21317a165627a7a72305820ce5365e9df5bb77494ae1534f57bba8bf981d18c187dd53d680479cacd9c836b0029

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

0000000000000000000000008519adf650e3344a05e468c5450a995ee1d474ec

-----Decoded View---------------
Arg [0] : _roundStarter (address): 0x8519aDF650E3344A05E468C5450a995EE1D474ec

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008519adf650e3344a05e468c5450a995ee1d474ec


Deployed Bytecode Sourcemap

6279:23685:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9132:22;9149:3;9132:8;:22::i;:::-;6279:23685;9222:9321;;-1:-1:-1;;;;;9222:9321:0;;;;;6646:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6646:21:0;;;;;;;;;;;;;;;;;;;;6589:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6589:22:0;;;;25798:826;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25798:826:0;;;;6785:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6785:56:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6785:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6908:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6908:88:0;-1:-1:-1;;;;;6908:88:0;;;;;;;6848:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6848:53:0;-1:-1:-1;;;;;6848:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6848:53:0;;;;;;;;;;;;;;6362:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6362:27:0;;;;;;;;-1:-1:-1;;;;;6362:27:0;;;;;;;;;;;;;;27960:722;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;27960:722:0;-1:-1:-1;;;;;27960:722:0;;;;;6618:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6618:21:0;;;;28692:671;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;28692:671:0;;;-1:-1:-1;;;;;28692:671:0;;;;;;;6335:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6335:20:0;;;;6686:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6686:41:0;;;;;26687:1191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26687:1191:0;;;;23423:2303;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23423:2303:0;;;;29518:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;29518:111:0;-1:-1:-1;;;;;29518:111:0;;;;;6734:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6734:44:0;-1:-1:-1;;;;;6734:44:0;;;;;;;;;;;;;;;;;;;;;;;9222:9321;9329:14;;9292:9;8668:19;8660:27;;;8652:76;;;;;-1:-1:-1;;;;;8652:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9382:10;9370:23;;;;:11;:23;;;;;;9346:9;;-1:-1:-1;9370:23:0;;:32;;9366:8944;;9479:1;9467:14;;:11;:14;;;;9457:24;;9449:70;;;;;-1:-1:-1;;;;;9449:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9543:10;9536:18;;;;:6;:18;;;;;9573:3;9536:34;;;;:40;9652:12;;9635:11;;9624:41;;9652:12;9624:23;;:6;;:23;:10;:23;:::i;:::-;:27;:41;:27;:41;:::i;:::-;9598:10;9591:18;;;;:6;:18;;;;;;;;:30;;;:74;;;9680:34;;;:67;;;;9762:43;;;9847:1;9820:24;;;;:28;;;9863:11;:23;;;;;:30;;-1:-1:-1;;9863:30:0;;;;;;-1:-1:-1;;;;;9980:25:0;;;;;;:133;;-1:-1:-1;;;;;;10090:23:0;;10103:10;10090:23;;9980:133;:238;;;;-1:-1:-1;;;;;;10188:22:0;;;;;;:11;:22;;;;;;;;:30;;:22;:30;9980:238;9910:1091;;;10266:10;10259:18;;;;:6;:18;;;;;;:27;;:39;;-1:-1:-1;;10259:39:0;-1:-1:-1;;;;;10259:39:0;;;;;;;;10355:17;;;;:31;;;:38;;-1:-1:-1;10355:35:0;:38::i;:::-;-1:-1:-1;;;;;10321:17:0;;;;;;:6;:17;;;;;;;;:31;;;;:72;;;;10458:9;:20;;;;;10479:7;;10458:29;;;;;;:39;:46;;10502:1;10458:46;:43;:46;:::i;:::-;-1:-1:-1;;;;;10416:20:0;;;;;;:9;:20;;;;;;;;10437:7;;;10416:29;;;;;;;;:88;;;;10596:7;;10590:14;;:5;:14;;;;;:28;;;10548:29;;;;;;:39;:70;10545:256;;;10653:7;;;10647:14;;;;:5;:14;;;;;;;;:21;;:33;;-1:-1:-1;;10647:33:0;-1:-1:-1;;;;;10647:33:0;;;;;;;;10738:20;;:9;:20;;;;;10759:7;;10738:29;;;;;;;;:39;10707:14;;;;;;:28;;:70;10545:256;10823:64;10851:10;10863:23;10882:3;10863:14;:6;10874:2;10863:14;:10;:14;:::i;:23::-;10823:27;:64::i;:::-;9910:1091;;;10952:31;10959:23;10978:3;10959:14;:6;10970:2;10959:14;:10;:14;:::i;:23::-;10952:2;;;:31;:6;:31;:::i;:::-;10947:2;:36;9910:1091;11022:40;;-1:-1:-1;;;;;11022:40:0;;;11040:10;;11022:40;;;;;9366:8944;;;11267:10;11260:18;;;;:6;:18;;;;;:34;;;:39;11252:86;;;;;-1:-1:-1;;;;;11252:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11391:10;11384:18;;;;:6;:18;;;;;;;;:24;;;11508:19;;;:11;:19;;;;;;;11384:24;;-1:-1:-1;11498:29:0;;11495:6722;;;11581:10;11574:18;;;;:6;:18;;;;;11611:3;11574:34;;;;:40;11698:12;;11681:11;;11670:41;;11698:12;11670:23;;:6;;:23;:10;:23;:::i;:41::-;11644:10;11637:18;;;;:6;:18;;;;;:30;;;:74;;;11734:34;;;:67;;;;11861:34;:46;;11900:6;11861:46;:38;:46;:::i;:::-;11831:10;11824:18;;;;:6;:18;;;;;:83;-1:-1:-1;;;;;12060:25:0;;;;;;:158;;-1:-1:-1;;;;;;12195:23:0;;12208:10;12195:23;;12060:158;:295;;;;-1:-1:-1;;;;;;12325:22:0;;;;;;:11;:22;;;;;;;;:30;;:22;:30;12060:295;11974:2684;;;12571:10;12603:3;12564:18;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;12564:27:0;:43;12561:886;;12661:10;12654:18;;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;12654:27:0;;-1:-1:-1;12561:886:0;;;12793:10;12786:18;;;;:6;:18;;;;;;:27;;:39;;-1:-1:-1;;12786:39:0;-1:-1:-1;;;;;12786:39:0;;;;;;;;12894:17;;;;:31;;;:38;;-1:-1:-1;12894:35:0;:38::i;:::-;-1:-1:-1;;;;;12860:17:0;;;;;;:6;:17;;;;;;;;:31;;;;:72;;;;13009:9;:20;;;;;13030:7;;13009:29;;;;;;:39;:46;;13053:1;13009:46;:43;:46;:::i;:::-;-1:-1:-1;;;;;12967:20:0;;;;;;:9;:20;;;;;;;;12988:7;;;12967:29;;;;;;;;:88;;;;13175:7;;13169:14;;:5;:14;;;;;:28;;;13127:29;;;;;;:39;:70;13124:292;;;13244:7;;;13238:14;;;;:5;:14;;;;;;;;:21;;:33;;-1:-1:-1;;13238:33:0;-1:-1:-1;;;;;13238:33:0;;;;;;;;13341:20;;:9;:20;;;;;13362:7;;13341:29;;;;;;;;:39;13310:14;;;;;;:28;;:70;13124:292;13577:64;13605:10;13617:23;13636:3;13617:14;:6;13628:2;13617:14;:10;:14;:::i;13577:64::-;11974:2684;;;-1:-1:-1;;;;;13910:25:0;;;:216;;;;-1:-1:-1;14090:10:0;14122:3;14083:18;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;14083:27:0;:43;;13910:216;13823:835;;;14205:10;14198:18;;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;14198:27:0;;-1:-1:-1;14359:64:0;;14399:23;14418:3;14399:14;:6;14410:2;14399:14;:10;:14;:::i;13823:835::-;14603:31;14610:23;14629:3;14610:14;:6;14621:2;14610:14;:10;:14;:::i;14603:31::-;14598:2;:36;13823:835;11495:6722;;;14800:1;14791:10;;14779:23;;;;:11;:23;;;;;;14769:33;;14765:3452;;;14856:10;14849:18;;;;:6;:18;;;;;14886:3;14849:34;;;;:40;14973:12;;14956:11;;14945:41;;14973:12;14945:23;;:6;;:23;:10;:23;:::i;:41::-;14919:10;14912:18;;;;:6;:18;;;;;:30;;;:74;;;15009:34;;;:67;;;;15136:34;:46;;15175:6;15136:46;:38;:46;:::i;:::-;15106:10;15099:18;;;;:6;:18;;;;;:83;;;15241:1;15232:10;;15205:24;;;;:37;-1:-1:-1;;;;;15395:25:0;;;;;;:158;;-1:-1:-1;;;;;;15530:23:0;;15543:10;15530:23;;15395:295;;;;-1:-1:-1;;;;;;15660:22:0;;;;;;:11;:22;;;;;;;;:30;;:22;:30;15309:2687;;;15907:10;15939:3;15900:18;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;15900:27:0;:43;15897:886;;15997:10;15990:18;;;;:6;:18;;;;;:27;;;-1:-1:-1;;;;;15990:27:0;;-1:-1:-1;15897:886:0;;14765:3452;18126:40;;;-1:-1:-1;;;;;18126:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14765:3452;18257:37;;18287:6;;18275:10;;18257:37;;;;;9366:8944;18360:58;18384:33;18413:3;18384:24;18395:12;;18384:6;:10;;:24;;;;:::i;:33::-;18366:7;;18360:14;;;;:5;:14;;;;;:19;;;;:58;:23;:58;:::i;:::-;18344:7;;18338:14;;;;:5;:14;;;;;:19;;:80;18502:8;;18461:60;;18491:29;;18516:3;;18491:20;;:6;;:20;:10;:20;:::i;:29::-;18461:13;18468:5;;-1:-1:-1;;;;;18468:5:0;18461:13;;:6;:13;;;;;:25;;;;:60;:29;:60;:::i;:::-;18433:13;18440:5;;-1:-1:-1;;;;;18440:5:0;18433:13;;:6;:13;;;;;:25;;:88;-1:-1:-1;;;;9222:9321:0:o;6646:21::-;;;;:::o;6589:22::-;;;;:::o;25798:826::-;25883:10;25858:22;26064;;;:6;:22;;;;;:33;;;;26003:37;;;;25945:34;;;;;:95;;;:152;;26179:13;;26176:441;;;26225:4;26217:21;:34;-1:-1:-1;26217:34:0;26209:98;;;;;-1:-1:-1;;;;;26209:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26322:22:0;;26359:1;26322:22;;;:6;:22;;;;;;:34;;;:38;;;26375:37;;;:41;;;26431:33;;:37;;;26497:43;;;;;;26530:9;;26497:43;;26359:1;26497:43;26530:9;26322:22;26497:43;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26497:43:0;26601:3;26590:9;26574:14;-1:-1:-1;;;;;26560:45:0;;;;;;;;;;;26176:441;25798:826;;:::o;6785:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6785:56:0;;;;;;;;;;;;:::o;6908:88::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6848:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6848:53:0;;:::o;6362:27::-;;;-1:-1:-1;;;;;6362:27:0;;:::o;27960:722::-;-1:-1:-1;;;;;28130:27:0;;28044:7;28130:27;;;:11;:27;;;;;;28044:7;;;;28130:27;;:35;;:27;:35;28127:548;;;28244:12;;-1:-1:-1;;;;;28203:22:0;;;;;;:6;:22;;;;;:38;;;28260:3;28203:53;;:60;28200:412;;28355:12;;-1:-1:-1;;;;;28314:22:0;;;;;;:6;:22;;;;;:38;;;28313:64;;28314:53;28373:3;28313:64;:59;:64;:::i;:::-;28288:89;;28200:412;;;-1:-1:-1;;;;;28466:22:0;;;;;;:6;:22;;;;;:38;;;28458:47;;:3;;:47;:7;:47;:::i;:::-;28443:62;;28553:39;28578:12;;28571:4;:19;;;;;;;28553:12;;;28571:19;;28553:39;:16;:39;:::i;:::-;28528:64;;28200:412;28637:22;28630:29;;28127:548;27960:722;;;;;:::o;6618:21::-;;;;:::o;28692:671::-;8886:5;;-1:-1:-1;;;;;8886:5:0;8872:10;:19;8864:42;;;;;-1:-1:-1;;;;;8864:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;28802:9;28815:1;28802:14;:31;;;;;28826:7;28820:2;;:13;;28802:31;28799:557;;;28863:1;28853:7;:11;28850:209;;;28896:4;28888:21;:32;-1:-1:-1;28885:159:0;;28950:2;;:15;;28957:7;28950:15;:6;:15;:::i;:::-;28945:2;:20;28988:36;;-1:-1:-1;;;;;28988:27:0;;;:36;;;;;29016:7;;28988:36;;;;29016:7;28988:27;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;28988:36:0;28885:159;28799:557;;;29088:9;29101:1;29088:14;:31;;;;;29112:7;29106:2;;:13;;29088:31;29085:271;;;29149:1;29139:7;:11;29136:209;;;29182:4;29174:21;:32;-1:-1:-1;29171:159:0;;29236:2;;:15;;29243:7;29236:15;:6;:15;:::i;:::-;29231:2;:20;29274:36;;-1:-1:-1;;;;;29274:27:0;;;:36;;;;;29302:7;;29274:36;;;;29302:7;29274:27;:36;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29274:36:0;29171:159;28692:671;;;:::o;6335:20::-;;;-1:-1:-1;;;;;6335:20:0;;:::o;6686:41::-;;;;;;;;;;;;;:::o;26687:1191::-;26763:12;;26831:16;;;;;;;;-1:-1:-1;;;;;26763:12:0;26749:10;:26;26741:73;;;;;-1:-1:-1;;;;;26741:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26850:7;;27046:15;;;;:5;:15;;;;;:23;;;26850:7;;-1:-1:-1;27040:3:0;:29;:63;;;;-1:-1:-1;27073:15:0;;;;:5;:15;;;;;:21;;;;;:30;27040:63;27036:835;;;27127:15;;;;:5;:15;;;;;:21;;;:28;;-1:-1:-1;;27127:28:0;27151:4;27127:28;;;27187:22;;;;27236:20;;;;;-1:-1:-1;;;;;27187:22:0;;;;-1:-1:-1;27236:20:0;-1:-1:-1;27284:32:0;;27281:245;;27352:1;27338:11;:15;27335:178;;;27393:28;27417:3;27393:19;:11;27409:2;27393:19;:15;:19;:::i;:28::-;-1:-1:-1;;;;;27443:24:0;;;;;;:6;:24;;;;;:35;;:52;;;27376:45;-1:-1:-1;27335:178:0;27618:3;27587:5;:15;27593:8;27587:15;;;;;;;;;;;:29;;;27569:16;-1:-1:-1;;;;;27555:80:0;;27623:11;27555:80;;;;;;;;;;;;;;;;;;27683:7;:9;;27660:10;27683:9;;;;;;27660:10;;;27683:7;27705:15;;;:5;:15;;;;;27733:3;27705:31;;;;27783:8;;27660:10;;-1:-1:-1;27775:17:0;;27733:3;27775:17;:7;:17;:::i;:::-;27749:15;;;;:5;:15;;;;;:23;;:43;27828:31;:11;27844:14;27828:31;:15;:31;:::i;:::-;27805:15;;;;:5;:15;;;;;:20;;:54;26687:1191;;;;:::o;23423:2303::-;23683:12;;23506:10;23481:22;23642;;;:6;:22;;;;;:38;;;23506:10;;23481:22;;;;;;;;;;23642:53;23636:3;:59;23633:2086;;;-1:-1:-1;;;;;23826:22:0;;;;;;:6;:22;;;;;:38;;;23818:47;;:3;;:47;:7;:47;:::i;:::-;23798:67;;24010:61;24058:12;;24011:41;24038:12;;24026:9;:24;;;;;;;24011:9;;24026:24;;24011:41;:13;:41;:::i;24010:61::-;-1:-1:-1;;;;;24133:22:0;;24121:41;24133:22;;;:6;:22;;;;;;;;:28;;;24121:41;;:11;:41;;;;;;23985:86;;-1:-1:-1;24121:41:0;-1:-1:-1;24243:27:0;24121:41;24266:3;24243:27;:22;:27;:::i;:::-;24228:42;-1:-1:-1;24379:40:0;24228:42;24396:22;24379:40;:16;:40;:::i;:::-;-1:-1:-1;;;;;24337:22:0;;;;;;:6;:22;;;;;:38;;;:82;24333:1361;;24481:84;24524:40;:12;24541:22;24524:40;:16;:40;:::i;:::-;-1:-1:-1;;;;;24481:22:0;;;;;;:6;:22;;;;;:38;;;;:84;:42;:84;:::i;:::-;-1:-1:-1;;;;;24440:22:0;;;;;;:6;:22;;;;;:38;;:125;24621:80;24660:40;:12;24677:22;24660:40;:16;:40;:::i;:::-;-1:-1:-1;;;;;24621:22:0;;;;;;:6;:22;;;;;:34;;;;:80;:38;:80;:::i;:::-;-1:-1:-1;;;;;24584:22:0;;;;;;:6;:22;;;;;:34;;:117;24832:12;;24761:87;;24805:41;;24820:9;:24;;;;;;;24805:9;;24820:24;;24805:41;:13;:41;:::i;:::-;-1:-1:-1;;;;;24761:22:0;;;;;;:6;:22;;;;;:38;;;;:87;:42;:87;:::i;:::-;-1:-1:-1;;;;;24720:22:0;;;;;;:6;:22;;;;;:38;;:128;24948:3;24906:40;:12;24923:22;24906:40;:16;:40;:::i;:::-;24872:80;;-1:-1:-1;;;;;24872:80:0;;;;;;;;24971:87;25001:14;25017:40;:12;25034:22;25017:40;:16;:40;:::i;:::-;24971:29;:87::i;:::-;24333:1361;;;-1:-1:-1;;;;;25160:22:0;;;;;;:6;:22;;;;;:38;;;:42;25157:537;;-1:-1:-1;;;;;;25261:22:0;;;;;;:6;:22;;;;;:38;;;;;25335:42;;;25433:34;;;:44;;25261:38;25433:44;:38;:44;:::i;:::-;-1:-1:-1;;;;;25396:22:0;;;;;;:6;:22;;;;;;:34;;;:81;;;;25537:3;25496:38;;;;:44;;;25564;25598:4;;25396:22;25564:44;;;25627:51;25657:14;25673:4;25627:29;:51::i;:::-;23423:2303;;;;;;:::o;29518:111::-;8886:5;;-1:-1:-1;;;;;8886:5:0;8872:10;:19;8864:42;;;;;-1:-1:-1;;;;;8864:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;29593:28;29612:8;29593:18;:28::i;:::-;29518:111;:::o;6734:44::-;;;;;;;;;;;;;;;:::o;3345:471::-;3403:7;;3648:6;;3644:47;;;3678:1;3671:8;;;;3644:47;-1:-1:-1;3715:5:0;;;3719:1;3715;:5;3739;;;;;;;;:10;3731:56;;;;;-1:-1:-1;;;;;3731:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3807:1;3800:8;;3345:471;;;;;;:::o;4284:132::-;4342:7;4369:39;4373:1;4376;4369:39;;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4362:46;4284:132;-1:-1:-1;;;4284:132:0:o;1860:181::-;1918:7;1950:5;;;1974:6;;;;1966:46;;;;;-1:-1:-1;;;;;1966:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;18614:2128;-1:-1:-1;;;;;18745:22:0;;;18721:21;18745:22;;;:6;:22;;;;;:31;;;;;;;18806:1929;18819:2;18815:1;:6;18806:1929;;;-1:-1:-1;;;;;18861:29:0;;;18857:1806;;18974:14;:6;18985:2;18974:14;:10;:14;:::i;:::-;-1:-1:-1;;;;;18933:21:0;;;;;;:6;:21;;;;;:37;;;:55;18929:1416;;19053:57;19095:14;:6;19106:2;19095:14;:10;:14;:::i;:::-;-1:-1:-1;;;;;19053:21:0;;;;;;:6;:21;;;;;:37;;;;:57;:41;:57;:::i;:::-;-1:-1:-1;;;;;19013:21:0;;;;;;:6;:21;;;;;:37;;:97;19172:56;19213:14;:6;19224:2;19213:14;:10;:14;:::i;:::-;-1:-1:-1;;;;;19172:21:0;;;;;;:6;:21;;;;;:36;;;;:56;:40;:56;:::i;:::-;-1:-1:-1;;;;;19133:21:0;;;;;;:6;:21;;;;;:36;;:95;19435:14;:6;19446:2;19435:14;:10;:14;:::i;:::-;19420:13;-1:-1:-1;;;;;19380:75:0;19404:14;-1:-1:-1;;;;;19380:75:0;-1:-1:-1;;;;;;;;;;;19451:3:0;19380:75;;;;;;;;;;;;;;;;;;18929:1416;;;-1:-1:-1;;;;;19506:21:0;;;;;;:6;:21;;;;;:37;;;:41;19503:842;;-1:-1:-1;;;;;19652:21:0;;;;;;:6;:21;;;;;:37;;;;19611:36;;;;;:79;;;:40;:79;:::i;:::-;-1:-1:-1;;;;;19572:21:0;;;;;;:6;:21;;;;;:36;;;:118;;;;19744:37;;;19718:65;;19725:57;;:14;:6;19736:2;19725:14;:10;:14;:::i;:::-;:18;:57;:18;:57;:::i;19718:65::-;19713:2;:70;-1:-1:-1;;;;;19866:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;19811:98;;19905:3;19811:98;;;;19866:37;;19811:98;;;-1:-1:-1;;;;;;;;;;;19811:98:0;;;;;;;;-1:-1:-1;;;;;19932:21:0;;19972:1;19932:21;;;:6;:21;;;;;:37;;:41;19503:842;;;20067:22;20074:14;:6;20085:2;20074:14;:10;:14;:::i;20067:22::-;20062:2;:27;20226:14;:6;20237:2;20226:14;:10;:14;:::i;:::-;20211:13;-1:-1:-1;;;;;20157:89:0;20194:14;-1:-1:-1;;;;;20157:89:0;-1:-1:-1;;;;;;;;;;;20242:3:0;20157:89;;;;;;;;;;;;;;;;;;19503:842;18857:1806;;;20403:45;20410:37;20432:14;:6;20443:2;20432:14;:10;:14;:::i;:::-;20411:15;20416:2;20424:1;20411:15;:12;:15;:::i;:::-;20410:21;:37;:21;:37;:::i;20403:45::-;20398:2;:50;20580:37;20602:14;:6;20613:2;20602:14;:10;:14;:::i;:::-;20581:15;20586:2;20594:1;20581:15;:12;:15;:::i;20580:37::-;20565:13;-1:-1:-1;;;;;20511:112:0;20548:14;-1:-1:-1;;;;;20511:112:0;-1:-1:-1;;;;;;;;;;;20619:3:0;20511:112;;;;;;;;;;;;;;;;;;20642:5;;18857:1806;-1:-1:-1;;;;;20693:21:0;;;;;;;:6;:21;;;;;:30;;;;;;;;18823:3;18806:1929;;2316:136;2374:7;2401:43;2405:1;2408;2401:43;;;;;;;;;;;;;;;;;;:3;:43::i;20825:2546::-;-1:-1:-1;;;;;20958:22:0;;;20934:21;20958:22;;;:6;:22;;;;;:31;;;;;;;21019:2345;21032:2;21028:1;:6;21019:2345;;;-1:-1:-1;;;;;21074:29:0;;;21070:2222;;-1:-1:-1;;;;;21233:21:0;;;;;;:6;:21;;;;;:35;;;21274:1;21272:3;;-1:-1:-1;21230:1740:0;;21345:14;:6;21356:2;21345:14;:10;:14;:::i;:::-;-1:-1:-1;;;;;21304:21:0;;;;;;:6;:21;;;;;:37;;;:55;21300:1400;;21428:57;21470:14;:6;21481:2;21470:14;:10;:14;:::i;21428:57::-;-1:-1:-1;;;;;21388:21:0;;;;;;:6;:21;;;;;:37;;:97;21551:56;21592:14;:6;21603:2;21592:14;:10;:14;:::i;21551:56::-;-1:-1:-1;;;;;21512:21:0;;;;;;:6;:21;;;;;:36;;:95;21822:14;:6;21833:2;21822:14;:10;:14;:::i;:::-;21807:13;-1:-1:-1;;;;;21767:75:0;21791:14;-1:-1:-1;;;;;21767:75:0;-1:-1:-1;;;;;;;;;;;21838:3:0;21767:75;;;;;;;;;;;;;;;;;;21300:1400;;;-1:-1:-1;;;;;21901:21:0;;;;;;:6;:21;;;;;:37;;;:41;21898:802;;-1:-1:-1;;;;;22051:21:0;;;;;;:6;:21;;;;;:37;;;;22010:36;;;;;:79;;;:40;:79;:::i;:::-;-1:-1:-1;;;;;21971:21:0;;;;;;:6;:21;;;;;:36;;;:118;;;;22147:37;;;22121:65;;22128:57;;:14;:6;22139:2;22128:14;:10;:14;:::i;:57::-;22121:2;;;:65;:6;:65;:::i;:::-;22116:2;:70;-1:-1:-1;;;;;22273:21:0;;;;;;;:6;:21;;;;;;;;;:37;;;22218:98;;22312:3;22218:98;;;;22273:37;;22218:98;;;-1:-1:-1;;;;;;;;;;;22218:98:0;;;;;;;;-1:-1:-1;;;;;22343:21:0;;22383:1;22343:21;;;:6;:21;;;;;:37;;:41;21898:802;;;22493:22;22500:14;:6;22511:2;22500:14;:10;:14;:::i;22493:22::-;22488:2;:27;;;22656:14;;:6;;:14;:10;:14;:::i;:::-;22641:13;-1:-1:-1;;;;;22587:89:0;22624:14;-1:-1:-1;;;;;22587:89:0;-1:-1:-1;;;;;;;;;;;22672:3:0;22587:89;;;;;;;;;;;;;;;;;;21898:802;21230:1740;;;22771:22;22778:14;:6;22789:2;22778:14;:10;:14;:::i;22771:22::-;22766:2;:27;;;22930:14;;:6;;:14;:10;:14;:::i;:::-;22915:13;-1:-1:-1;;;;;22861:89:0;22898:14;-1:-1:-1;;;;;22861:89:0;-1:-1:-1;;;;;;;;;;;22946:3:0;22861:89;;;;;;;;;;;;;;;;;;21230:1740;21070:2222;;;23032:45;23039:37;23061:14;:6;23072:2;23061:14;:10;:14;:::i;23032:45::-;23027:2;:50;;;23209:37;;23231:14;;:6;;:14;:10;:14;:::i;21070:2222::-;-1:-1:-1;;;;;23322:21:0;;;;;;;:6;:21;;;;;:30;;;;;;;;21036:3;21019:2345;;29736:225;-1:-1:-1;;;;;29810:22:0;;;;29802:71;;;;;-1:-1:-1;;;;;29802:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29910:5;;;29889:37;;-1:-1:-1;;;;;29889:37:0;;;;29910:5;;;29889:37;;;29937:5;:16;;-1:-1:-1;;29937:16:0;-1:-1:-1;;;;;29937:16:0;;;;;;;;;;29736:225::o;5051:345::-;5137:7;;5239:12;5232:5;;;5224:28;;;;-1:-1:-1;;;;;5224:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5224:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5279:1;5275;:5;;;;;;;;;5051:345;-1:-1:-1;;;;;5051:345:0:o;2902:192::-;2988:7;;3024:12;3016:6;;;;3008:29;;;;-1:-1:-1;;;;;3008:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3008:29:0;-1:-1:-1;;;3060:5:0;;;2902:192;-1:-1:-1;2902:192:0:o

Swarm Source

bzzr://ce5365e9df5bb77494ae1534f57bba8bf981d18c187dd53d680479cacd9c836b

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

OVERVIEW

Ethermagic is a gambling app to allow users to bet and earn money.

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.