ETH Price: $3,335.58 (-1.17%)

Contract

0x80e9540c204c05Be63cfE44b43302780175b60FF
 
Transaction Hash
Method
Block
From
To
Reg User204528442024-08-04 4:37:47145 days ago1722746267IN
OpenAlexa.io
0.03 ETH0.000031931
Transfer204350172024-08-01 16:53:47148 days ago1722531227IN
OpenAlexa.io
0.00457619 ETH0.0004220
Transfer204350052024-08-01 16:51:23148 days ago1722531083IN
OpenAlexa.io
0.00541619 ETH0.0004220
Reg User172925752023-05-19 9:13:47588 days ago1684487627IN
OpenAlexa.io
0.03 ETH0.0014653453
Buy Level149684782022-06-15 16:31:21926 days ago1655310681IN
OpenAlexa.io
0.1 ETH0.009886672.87516509
Buy Level149684572022-06-15 16:26:11926 days ago1655310371IN
OpenAlexa.io
0.1 ETH0.0091626167.53851492
Buy Level149684382022-06-15 16:20:40926 days ago1655310040IN
OpenAlexa.io
0.1 ETH0.0059787244.07367255
Reg User149583822022-06-13 22:20:15928 days ago1655158815IN
OpenAlexa.io
0.1 ETH0.0155543440.27704067
Reg User149582412022-06-13 21:42:46928 days ago1655156566IN
OpenAlexa.io
0.1 ETH0.016423742.52817682
Reg User149535422022-06-13 2:21:30929 days ago1655086890IN
OpenAlexa.io
0.1 ETH0.0404076190.02075527
Reg User149406492022-06-10 21:38:21931 days ago1654897101IN
OpenAlexa.io
0.1 ETH0.0199162751.57518227
Reg User149277902022-06-08 16:51:05933 days ago1654707065IN
OpenAlexa.io
0.1 ETH0.0316838782.04858081
Reg User149224752022-06-07 19:04:40934 days ago1654628680IN
OpenAlexa.io
0.1 ETH0.0331837299.0937624
Reg User149207152022-06-07 12:06:24934 days ago1654603584IN
OpenAlexa.io
0.1 ETH0.0098477125.50085292
Reg User149180622022-06-07 1:23:06935 days ago1654564986IN
OpenAlexa.io
0.1 ETH0.0159018642.95654372
Reg User149180302022-06-07 1:16:23935 days ago1654564583IN
OpenAlexa.io
0.1 ETH0.0164800949.21134978
Reg User149170952022-06-06 21:18:16935 days ago1654550296IN
OpenAlexa.io
0.1 ETH0.0140684136.42929398
Buy Level149130302022-06-06 4:38:36935 days ago1654490316IN
OpenAlexa.io
0.15 ETH0.0057932327.60182548
Buy Level149129962022-06-06 4:31:44935 days ago1654489904IN
OpenAlexa.io
0.15 ETH0.0084182324.25639534
Buy Level149129602022-06-06 4:24:26935 days ago1654489466IN
OpenAlexa.io
0.1 ETH0.0075013131.86975196
Reg User149123682022-06-06 1:54:47936 days ago1654480487IN
OpenAlexa.io
0.1 ETH0.0142491936.8974369
Reg User149062682022-06-05 1:08:05937 days ago1654391285IN
OpenAlexa.io
0.1 ETH0.0251004255.9176489
Buy Level149061132022-06-05 0:31:34937 days ago1654389094IN
OpenAlexa.io
0.1 ETH0.0064961547.88801279
Buy Level148930722022-06-02 20:40:27939 days ago1654202427IN
OpenAlexa.io
0.1 ETH0.0103422156.8659616
Buy Level148929712022-06-02 20:19:33939 days ago1654201173IN
OpenAlexa.io
0.1 ETH0.01845802101.49690632
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
149684782022-06-15 16:31:21926 days ago1655310681
OpenAlexa.io
0.016 ETH
149684782022-06-15 16:31:21926 days ago1655310681
OpenAlexa.io
0.084 ETH
149684572022-06-15 16:26:11926 days ago1655310371
OpenAlexa.io
0.016 ETH
149684572022-06-15 16:26:11926 days ago1655310371
OpenAlexa.io
0.084 ETH
149684382022-06-15 16:20:40926 days ago1655310040
OpenAlexa.io
0.016 ETH
149684382022-06-15 16:20:40926 days ago1655310040
OpenAlexa.io
0.084 ETH
149583822022-06-13 22:20:15928 days ago1655158815
OpenAlexa.io
0.016 ETH
149583822022-06-13 22:20:15928 days ago1655158815
OpenAlexa.io
0.084 ETH
149582412022-06-13 21:42:46928 days ago1655156566
OpenAlexa.io
0.016 ETH
149582412022-06-13 21:42:46928 days ago1655156566
OpenAlexa.io
0.084 ETH
149535422022-06-13 2:21:30929 days ago1655086890
OpenAlexa.io
0.016 ETH
149535422022-06-13 2:21:30929 days ago1655086890
OpenAlexa.io
0.084 ETH
149406492022-06-10 21:38:21931 days ago1654897101
OpenAlexa.io
0.016 ETH
149406492022-06-10 21:38:21931 days ago1654897101
OpenAlexa.io
0.084 ETH
149277902022-06-08 16:51:05933 days ago1654707065
OpenAlexa.io
0.016 ETH
149277902022-06-08 16:51:05933 days ago1654707065
OpenAlexa.io
0.084 ETH
149224752022-06-07 19:04:40934 days ago1654628680
OpenAlexa.io
0.016 ETH
149224752022-06-07 19:04:40934 days ago1654628680
OpenAlexa.io
0.084 ETH
149207152022-06-07 12:06:24934 days ago1654603584
OpenAlexa.io
0.016 ETH
149207152022-06-07 12:06:24934 days ago1654603584
OpenAlexa.io
0.084 ETH
149180622022-06-07 1:23:06935 days ago1654564986
OpenAlexa.io
0.016 ETH
149180622022-06-07 1:23:06935 days ago1654564986
OpenAlexa.io
0.084 ETH
149180302022-06-07 1:16:23935 days ago1654564583
OpenAlexa.io
0.016 ETH
149180302022-06-07 1:16:23935 days ago1654564583
OpenAlexa.io
0.084 ETH
149170952022-06-06 21:18:16935 days ago1654550296
OpenAlexa.io
0.016 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OpenAlexalO

Compiler Version
v0.5.14+commit.1f1aaa4

Optimization Enabled:
Yes with 200 runs

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

/**
 *
 * Updated OpenAlexa v1.2 (Fixed)
 * URL: https://openalexa.io 
 *
*/

pragma solidity 0.5.14;


library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}


contract ERC20 {
    function mint(address reciever, uint256 value, bytes32[3] memory _mrs, uint8 _v) public returns(bool);
    function transfer(address to, uint256 value) public returns(bool);
}


contract OpenAlexalO {
    using SafeMath for uint256;

    struct UserStruct {
        bool isExist;
        uint id;
        uint referrerID;
        uint currentLevel;
        uint totalEarningEth;
        address[] referral;
        mapping(uint => uint) levelExpired;
    }
    
    ERC20 Token;
    OpenAlexalO public oldAlexa;
    address public ownerAddress;
    uint public adminFee = 16 ether;
    uint public currentId = 0;
    uint public oldAlexaId = 1;
    uint public PERIOD_LENGTH = 60 days;
    uint referrer1Limit = 2;
    bool public lockStatus;
    
    mapping (uint => uint) public LEVEL_PRICE;
    mapping (address => UserStruct) public users;
    mapping (uint => address) public userList;
    mapping (address => mapping (uint => uint)) public EarnedEth;
    mapping (address => uint) public loopCheck;
    mapping (address => uint) public createdDate;
    
    event regLevelEvent(address indexed UserAddress, address indexed ReferrerAddress, uint Time);
    event buyLevelEvent(address indexed UserAddress, uint Levelno, uint Time);
    event getMoneyForLevelEvent(address indexed UserAddress, uint UserId, address indexed ReferrerAddress, uint ReferrerId, uint Levelno, uint LevelPrice, uint Time);
    event lostMoneyForLevelEvent(address indexed UserAddress, uint UserId, address indexed ReferrerAddress, uint ReferrerId, uint Levelno, uint LevelPrice, uint Time);    
    
    constructor() public {
        ownerAddress = msg.sender;
        Token = ERC20(0x1788430620960F9a70e3DC14202a3A35ddE1A316);
        oldAlexa = OpenAlexalO(0xaB3FB81f8660788997CFD379f7A87e9527F1301b);

        LEVEL_PRICE[1] = 0.03 ether;
        LEVEL_PRICE[2] = 0.05 ether;
        LEVEL_PRICE[3] = 0.1 ether;
        LEVEL_PRICE[4] = 0.5 ether;
        LEVEL_PRICE[5] = 1 ether;
        LEVEL_PRICE[6] = 3 ether;
        LEVEL_PRICE[7] = 7 ether;
        LEVEL_PRICE[8] = 12 ether;
        LEVEL_PRICE[9] = 15 ether;
        LEVEL_PRICE[10] = 25 ether;
        LEVEL_PRICE[11] = 30 ether;
        LEVEL_PRICE[12] = 39 ether;
    } 

    /**
     * @dev User registration
     */ 
    function regUser(uint _referrerID, bytes32[3] calldata _mrs, uint8 _v) external payable {
        require(lockStatus == false, "Contract Locked");
        require(users[msg.sender].isExist == false, "User exist");
        require(_referrerID > 0 && _referrerID <= currentId, "Incorrect referrer Id");
        require(msg.value == LEVEL_PRICE[1], "Incorrect Value");
        
        if (users[userList[_referrerID]].referral.length >= referrer1Limit) 
            _referrerID = users[findFreeReferrer(userList[_referrerID])].id;

        UserStruct memory userStruct;
        currentId++;
        
        userStruct = UserStruct({
            isExist: true,
            id: currentId,
            referrerID: _referrerID,
            currentLevel: 1,
            totalEarningEth:0,
            referral: new address[](0)
        });

        users[msg.sender] = userStruct;
        userList[currentId] = msg.sender;
        users[msg.sender].levelExpired[1] = now.add(PERIOD_LENGTH);
        users[userList[_referrerID]].referral.push(msg.sender);
        loopCheck[msg.sender] = 0;
        createdDate[msg.sender] = now;

        payForLevel(0, 1, msg.sender, ((LEVEL_PRICE[1].mul(adminFee)).div(10**20)), _mrs, _v, msg.value);

        emit regLevelEvent(msg.sender, userList[_referrerID], now);
    }
    
    /**
     * @dev To buy the next level by User
     */ 
    function buyLevel(uint256 _level, bytes32[3] calldata _mrs, uint8 _v) external payable {
        require(lockStatus == false, "Contract Locked");
        require(users[msg.sender].isExist, "User not exist"); 
        require(_level > 0 && _level <= 12, "Incorrect level");

        if (_level == 1) {
            require(msg.value == LEVEL_PRICE[1], "Incorrect Value");
            users[msg.sender].levelExpired[1] = users[msg.sender].levelExpired[1].add(PERIOD_LENGTH);
            users[msg.sender].currentLevel = 1;
        } else {
            require(msg.value == LEVEL_PRICE[_level], "Incorrect Value");
            users[msg.sender].currentLevel = _level;
            for (uint i = _level - 1; i > 0; i--) 
                require(users[msg.sender].levelExpired[i] >= now, "Buy the previous level");
            
            if (users[msg.sender].levelExpired[_level] == 0)
                users[msg.sender].levelExpired[_level] = now + PERIOD_LENGTH;
            else 
                users[msg.sender].levelExpired[_level] += PERIOD_LENGTH;
        }
        loopCheck[msg.sender] = 0;
       
        payForLevel(0, _level, msg.sender, ((LEVEL_PRICE[_level].mul(adminFee)).div(10**20)), _mrs, _v, msg.value);

        emit buyLevelEvent(msg.sender, _level, now);
    }
    
    /**
     * @dev Internal function for payment
     */ 
    function payForLevel(uint _flag, uint _level, address _userAddress, uint _adminPrice, bytes32[3] memory _mrs, uint8 _v, uint256 _amt) internal {
        address[6] memory referer;
        
        if (_flag == 0) {
            if (_level == 1 || _level == 7) {
                referer[0] = userList[users[_userAddress].referrerID];
            } else if (_level == 2 || _level == 8) {
                referer[1] = userList[users[_userAddress].referrerID];
                referer[0] = userList[users[referer[1]].referrerID];
            } else if (_level == 3 || _level == 9) {
                referer[1] = userList[users[_userAddress].referrerID];
                referer[2] = userList[users[referer[1]].referrerID];
                referer[0] = userList[users[referer[2]].referrerID];
            } else if (_level == 4 || _level == 10) {
                referer[1] = userList[users[_userAddress].referrerID];
                referer[2] = userList[users[referer[1]].referrerID];
                referer[3] = userList[users[referer[2]].referrerID];
                referer[0] = userList[users[referer[3]].referrerID];
            } else if (_level == 5 || _level == 11) {
                referer[1] = userList[users[_userAddress].referrerID];
                referer[2] = userList[users[referer[1]].referrerID];
                referer[3] = userList[users[referer[2]].referrerID];
                referer[4] = userList[users[referer[3]].referrerID];
                referer[0] = userList[users[referer[4]].referrerID];
            } else if (_level == 6 || _level == 12) {
                referer[1] = userList[users[_userAddress].referrerID];
                referer[2] = userList[users[referer[1]].referrerID];
                referer[3] = userList[users[referer[2]].referrerID];
                referer[4] = userList[users[referer[3]].referrerID];
                referer[5] = userList[users[referer[4]].referrerID];
                referer[0] = userList[users[referer[5]].referrerID];
            }
        } else if (_flag == 1) {
            referer[0] = userList[users[_userAddress].referrerID];
        }
        if (!users[referer[0]].isExist) referer[0] = userList[1];
        
        if (loopCheck[msg.sender] >= 12) {
            referer[0] = userList[1];
        }
        if (users[referer[0]].levelExpired[_level] >= now) {
          
            uint256 tobeminted = ((_amt).mul(10**18)).div(0.01 ether);
            // transactions 
            require((address(uint160(referer[0])).send(LEVEL_PRICE[_level].sub(_adminPrice))) && 
                    (address(uint160(ownerAddress)).send(_adminPrice)) &&   
                    Token.mint(msg.sender, tobeminted, _mrs, _v), "Transaction Failure");
           
            users[referer[0]].totalEarningEth = users[referer[0]].totalEarningEth.add(LEVEL_PRICE[_level]);
            EarnedEth[referer[0]][_level] = EarnedEth[referer[0]][_level].add(LEVEL_PRICE[_level]);
          
            emit getMoneyForLevelEvent(msg.sender, users[msg.sender].id, referer[0], users[referer[0]].id, _level, LEVEL_PRICE[_level], now);
        } else {
            if (loopCheck[msg.sender] < 12) {
                loopCheck[msg.sender] = loopCheck[msg.sender].add(1);

            emit lostMoneyForLevelEvent(msg.sender, users[msg.sender].id, referer[0], users[referer[0]].id, _level, LEVEL_PRICE[_level],now);
                
            payForLevel(1, _level, referer[0], _adminPrice, _mrs, _v, _amt);
            }
        }
    }

    /**
     * @dev Update old contract data
     */ 
    function oldAlexaSync(uint limit) public {
        require(address(oldAlexa) != address(0), "Initialize closed");
        require(msg.sender == ownerAddress, "Access denied");
        
        for (uint i = 0; i <= limit; i++) {
            UserStruct  memory olduser;
            address oldusers = oldAlexa.userList(oldAlexaId);
            (olduser.isExist, 
            olduser.id, 
            olduser.referrerID, 
            olduser.currentLevel,  
            olduser.totalEarningEth) = oldAlexa.users(oldusers);
            address ref = oldAlexa.userList(olduser.referrerID);

            if (olduser.isExist) {
                if (!users[oldusers].isExist) {
                    users[oldusers].isExist = true;
                    users[oldusers].id = oldAlexaId;
                    users[oldusers].referrerID = olduser.referrerID;
                    users[oldusers].currentLevel = olduser.currentLevel;
                    users[oldusers].totalEarningEth = olduser.totalEarningEth;
                    userList[oldAlexaId] = oldusers;
                    users[ref].referral.push(oldusers);
                    createdDate[oldusers] = now;
                    
                    emit regLevelEvent(oldusers, ref, now);
                    
                    for (uint j = 1; j <= 12; j++) {
                        users[oldusers].levelExpired[j] = oldAlexa.viewUserLevelExpired(oldusers, j);
                        EarnedEth[oldusers][j] = oldAlexa.EarnedEth(oldusers, j);
                    } 
                }
                oldAlexaId++;
            } else {
                currentId = oldAlexaId.sub(1);
                break;
                
            }
        }
    }
    
    /**
     * @dev Update old contract data
     */ 
    function setOldAlexaID(uint _id) public returns(bool) {
        require(ownerAddress == msg.sender, "Access Denied");
        
        oldAlexaId = _id;
        return true;
    }

    /**
     * @dev Close old contract interaction
     */ 
    function oldAlexaSyncClosed() external {
        require(address(oldAlexa) != address(0), "Initialize already closed");
        require(msg.sender == ownerAddress, "Access denied");

        oldAlexa = OpenAlexalO(0);
    }
    
    /**
     * @dev Contract balance withdraw
     */ 
    function failSafe(address payable _toUser, uint _amount) public returns (bool) {
        require(msg.sender == ownerAddress, "only Owner Wallet");
        require(_toUser != address(0), "Invalid Address");
        require(address(this).balance >= _amount, "Insufficient balance");

        (_toUser).transfer(_amount);
        return true;
    }
            
    /**
     * @dev Update admin fee percentage
     */ 
    function updateFeePercentage(uint256 _adminFee) public returns (bool) {
        require(msg.sender == ownerAddress, "only OwnerWallet");

        adminFee = _adminFee;
        return true;  
    }
    
    /**
     * @dev Update level price
     */ 
    function updatePrice(uint _level, uint _price) public returns (bool) {
        require(msg.sender == ownerAddress, "only OwnerWallet");

        LEVEL_PRICE[_level] = _price;
        return true;
    }

    /**
     * @dev Update contract status
     */ 
    function contractLock(bool _lockStatus) public returns (bool) {
        require(msg.sender == ownerAddress, "Invalid User");

        lockStatus = _lockStatus;
        return true;
    }
    
    /**
    * @dev Update token contract
    */ 
    function updateToken(address _newToken) public returns (bool) {
        require(msg.sender == ownerAddress, "Invalid User");
        require(_newToken != address(0), "Invalid Token Address");
        
        Token = ERC20(_newToken);
        return true;
    }
        
    /**
     * @dev View free Referrer Address
     */ 
    function findFreeReferrer(address _userAddress) public view returns (address) {
        if (users[_userAddress].referral.length < referrer1Limit) 
            return _userAddress;

        address[] memory referrals = new address[](254);
        referrals[0] = users[_userAddress].referral[0];
        referrals[1] = users[_userAddress].referral[1];

        address freeReferrer;
        bool noFreeReferrer = true;

        for (uint i = 0; i < 254; i++) { 
            if (users[referrals[i]].referral.length == referrer1Limit) {
                if (i < 126) {
                    referrals[(i+1)*2] = users[referrals[i]].referral[0];
                    referrals[(i+1)*2+1] = users[referrals[i]].referral[1];
                }
            } else {
                noFreeReferrer = false;
                freeReferrer = referrals[i];
                break;
            }
        }
        require(!noFreeReferrer, "No Free Referrer");
        return freeReferrer;
    }
    
    /**
     * @dev Total earned ETH
     */
    function getTotalEarnedEther() public view returns (uint) {
        uint totalEth;
        for (uint i = 1; i <= currentId; i++) {
            totalEth = totalEth.add(users[userList[i]].totalEarningEth);
        }
        return totalEth;
    }
        
   /**
     * @dev View referrals
     */ 
    function viewUserReferral(address _userAddress) external view returns (address[] memory) {
        return users[_userAddress].referral;
    }
    
    /**
     * @dev View level expired time
     */ 
    function viewUserLevelExpired(address _userAddress,uint _level) external view returns (uint) {
        return users[_userAddress].levelExpired[_level];
    }

    // fallback
    function () external payable {
        revert("Invalid Transaction");
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"UserAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"Levelno","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"Time","type":"uint256"}],"name":"buyLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"UserAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"UserId","type":"uint256"},{"indexed":true,"internalType":"address","name":"ReferrerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"ReferrerId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"Levelno","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"LevelPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"Time","type":"uint256"}],"name":"getMoneyForLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"UserAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"UserId","type":"uint256"},{"indexed":true,"internalType":"address","name":"ReferrerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"ReferrerId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"Levelno","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"LevelPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"Time","type":"uint256"}],"name":"lostMoneyForLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"UserAddress","type":"address"},{"indexed":true,"internalType":"address","name":"ReferrerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"Time","type":"uint256"}],"name":"regLevelEvent","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"EarnedEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"LEVEL_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PERIOD_LENGTH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"adminFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_level","type":"uint256"},{"internalType":"bytes32[3]","name":"_mrs","type":"bytes32[3]"},{"internalType":"uint8","name":"_v","type":"uint8"}],"name":"buyLevel","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_lockStatus","type":"bool"}],"name":"contractLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"createdDate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_toUser","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"failSafe","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"findFreeReferrer","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalEarnedEther","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lockStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"loopCheck","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oldAlexa","outputs":[{"internalType":"contract OpenAlexalO","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"oldAlexaId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"oldAlexaSync","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"oldAlexaSyncClosed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_referrerID","type":"uint256"},{"internalType":"bytes32[3]","name":"_mrs","type":"bytes32[3]"},{"internalType":"uint8","name":"_v","type":"uint8"}],"name":"regUser","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"setOldAlexaID","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_adminFee","type":"uint256"}],"name":"updateFeePercentage","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_level","type":"uint256"},{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"updatePrice","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newToken","type":"address"}],"name":"updateToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerID","type":"uint256"},{"internalType":"uint256","name":"currentLevel","type":"uint256"},{"internalType":"uint256","name":"totalEarningEth","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_userAddress","type":"address"},{"internalType":"uint256","name":"_level","type":"uint256"}],"name":"viewUserLevelExpired","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"viewUserReferral","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405267de0b6b3a7640000060035560006004556001600555624f1a00600655600260075534801561003257600080fd5b50600280546001600160a01b03199081163317909155600080548216731788430620960f9a70e3dc14202a3a35dde1a3161781556001805490921673ab3fb81f8660788997cfd379f7a87e9527f1301b179091556009602052666a94d74f4300007f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a365566b1a2bc2ec500007f6cde3cea4b3a3fb2488b2808bae7556f4a405e50f65e1794383bc026131b13c35567016345785d8a00007fc575c31fea594a6eb97c8e9d3f9caee4c16218c6ef37e923234c0fe9014a61e7556706f05b59d3b200007f8dc18c4ccfd75f5c815b63770fa542fd953e8fef7e0e44bbdd4913470ce7e9cb55670de0b6b3a76400007f74b05292d1d4b2b48b65261b07099d24244bcb069f138d9a6bfdcf776becac4c556729a2241af62c00007fbb6daa0c283751197dfdc76590680f9005e97d6f23870deb1164ab60b28b9f5f55676124fee993bc00007fae6299332bcd708cd60e3a8defa55de28078a50a4cf2b3de3a546253240ff9e15567a688906bd8b000007fc7694af312c4f286114180fd0ba6a52461fcee8a381636770b19a343af92538a5567d02ab486cedc00007f87e8a52529e8ece4ef759037313542a6429ff494a9fab9027fb79db90124eba65568015af1d78b58c400007f502e20e4e219e0c509d693958f17384c185f07a810a5d31c46c2be981e979c25556801a055690d9db800007f0d9cf2cd531699eed8dd34e40ff2884a14a698c4898184fba85194e6f6772d2455600c905268021d3bd55e803c00007fc7b54da85b38015141aec405fe9a03fa9e057971f48e8d0d8fc78485848a231055612816806102a36000396000f3fe60806040526004361061019c5760003560e01c80638e9fa0bc116100ec578063b4d45b7e1161008a578063d921d92711610064578063d921d92714610631578063e00dd1611461065b578063e10e354b14610670578063e7a891b9146106a95761019c565b8063b4d45b7e146105b9578063d2840073146105e3578063d4ffca751461061c5761019c565b8063a0be06f9116100c6578063a0be06f914610503578063a478656b14610518578063a87430ba14610544578063ab5b8b7e146105a45761019c565b80638e9fa0bc146104af5780638f84aa09146104c45780639f4216e8146104d95761019c565b80634a4baa8f116101595780636cad3fb0116101335780636cad3fb0146103f857806379378e30146104225780637ad3def21461044c57806382367b2d1461047f5761019c565b80634a4baa8f1461031157806352fd9f13146103945780635fb68f89146103cd5761019c565b8063132c8c9b146101df5780631e97ec941461022e5780631ec932ff1461025557806336c38fd7146102885780633e89340f146102bb578063410ac0e8146102e4575b6040805162461bcd60e51b815260206004820152601360248201527224b73b30b634b2102a3930b739b0b1ba34b7b760691b604482015290519081900360640190fd5b3480156101eb57600080fd5b506102126004803603602081101561020257600080fd5b50356001600160a01b03166106be565b604080516001600160a01b039092168252519081900360200190f35b34801561023a57600080fd5b506102436109e3565b60408051918252519081900360200190f35b34801561026157600080fd5b506102436004803603602081101561027857600080fd5b50356001600160a01b0316610a3c565b34801561029457600080fd5b50610243600480360360208110156102ab57600080fd5b50356001600160a01b0316610a4e565b3480156102c757600080fd5b506102d0610a60565b604080519115158252519081900360200190f35b61030f600480360360a08110156102fa57600080fd5b5080359060208101906080013560ff16610a69565b005b34801561031d57600080fd5b506103446004803603602081101561033457600080fd5b50356001600160a01b0316610e81565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610380578181015183820152602001610368565b505050509050019250505060405180910390f35b3480156103a057600080fd5b506102d0600480360360408110156103b757600080fd5b506001600160a01b038135169060200135610efa565b61030f600480360360a08110156103e357600080fd5b5080359060208101906080013560ff1661102b565b34801561040457600080fd5b506102d06004803603602081101561041b57600080fd5b5035611418565b34801561042e57600080fd5b506102436004803603602081101561044557600080fd5b5035611476565b34801561045857600080fd5b506102d06004803603602081101561046f57600080fd5b50356001600160a01b0316611488565b34801561048b57600080fd5b506102d0600480360360408110156104a257600080fd5b5080359060200135611551565b3480156104bb57600080fd5b506102436115bc565b3480156104d057600080fd5b506102126115c2565b3480156104e557600080fd5b50610212600480360360208110156104fc57600080fd5b50356115d1565b34801561050f57600080fd5b506102436115ec565b34801561052457600080fd5b506102d06004803603602081101561053b57600080fd5b503515156115f2565b34801561055057600080fd5b506105776004803603602081101561056757600080fd5b50356001600160a01b031661165a565b60408051951515865260208601949094528484019290925260608401526080830152519081900360a00190f35b3480156105b057600080fd5b5061030f61168d565b3480156105c557600080fd5b5061030f600480360360208110156105dc57600080fd5b503561174b565b3480156105ef57600080fd5b506102436004803603604081101561060657600080fd5b506001600160a01b038135169060200135611c34565b34801561062857600080fd5b50610212611c60565b34801561063d57600080fd5b506102d06004803603602081101561065457600080fd5b5035611c6f565b34801561066757600080fd5b50610243611cca565b34801561067c57600080fd5b506102436004803603604081101561069357600080fd5b506001600160a01b038135169060200135611cd0565b3480156106b557600080fd5b50610243611ced565b6007546001600160a01b0382166000908152600a6020526040812060050154909111156106ec5750806109de565b6040805160fe808252611fe0820190925260609160208201611fc0803883395050506001600160a01b0384166000908152600a6020526040812060050180549293509161073557fe5b600091825260208220015482516001600160a01b0390911691839161075657fe5b6001600160a01b039283166020918202929092018101919091529084166000908152600a909152604090206005018054600190811061079157fe5b9060005260206000200160009054906101000a90046001600160a01b0316816001815181106107bc57fe5b6001600160a01b039092166020928302919091019091015260006001815b60fe81101561099257600754600a60008684815181106107f657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060050180549050141561096b57607e81101561096657600a600085838151811061084457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060050160008154811061087b57fe5b9060005260206000200160009054906101000a90046001600160a01b03168482600101600202815181106108ab57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600a60008583815181106108db57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060050160018154811061091257fe5b9060005260206000200160009054906101000a90046001600160a01b031684826001016002026001018151811061094557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b61098a565b6000915083818151811061097b57fe5b60200260200101519250610992565b6001016107da565b5080156109d9576040805162461bcd60e51b815260206004820152601060248201526f273790233932b2902932b332b93932b960811b604482015290519081900360640190fd5b509150505b919050565b60008060015b6004548111610a35576000818152600b60209081526040808320546001600160a01b03168352600a909152902060040154610a2b90839063ffffffff611cf316565b91506001016109e9565b5090505b90565b600e6020526000908152604090205481565b600d6020526000908152604090205481565b60085460ff1681565b60085460ff1615610ab3576040805162461bcd60e51b815260206004820152600f60248201526e10dbdb9d1c9858dd08131bd8dad959608a1b604482015290519081900360640190fd5b336000908152600a602052604090205460ff1615610b05576040805162461bcd60e51b815260206004820152600a602482015269155cd95c88195e1a5cdd60b21b604482015290519081900360640190fd5b600083118015610b1757506004548311155b610b60576040805162461bcd60e51b8152602060048201526015602482015274125b98dbdc9c9958dd081c9959995c9c995c881259605a1b604482015290519081900360640190fd5b600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36543414610bd1576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b6007546000848152600b60209081526040808320546001600160a01b03168352600a90915290206005015410610c4d576000838152600b6020526040812054600a9190610c26906001600160a01b03166106be565b6001600160a01b03166001600160a01b031681526020019081526020016000206001015492505b610c556126e1565b506004805460019081018083556040805160c0810182528381526020808201938452818301898152606083018681526000608085018181528651828152808601885260a08701908152338352600a8652969091208551815460ff1916901515178155965197870197909755905160028601555160038501559351948301949094555180518493610cec926005850192910190612719565b50506004546000908152600b6020526040902080546001600160a01b0319163317905550600654610d2490429063ffffffff611cf316565b336000818152600a6020818152604080842060018086526006909101835281852096909655898452600b8252808420546001600160a01b03168452918152818320600501805480870182559084528184200180546001600160a01b03191685179055838352600d8152818320839055600e815290822042905560035484835260099091527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3654610e2a94929391610dfc9168056bc75e2d6310000091610df0919063ffffffff611d5416565b9063ffffffff611dad16565b6040805160608181019092529089906003908390839080828437600092019190915250899150349050611e17565b6000848152600b602090815260409182902054825142815292516001600160a01b039091169233927f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f192918290030190a350505050565b6001600160a01b0381166000908152600a6020908152604091829020600501805483518184028101840190945280845260609392830182828015610eee57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ed0575b50505050509050919050565b6002546000906001600160a01b03163314610f50576040805162461bcd60e51b81526020600482015260116024820152701bdb9b1e4813dddb995c8815d85b1b195d607a1b604482015290519081900360640190fd5b6001600160a01b038316610f9d576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b604482015290519081900360640190fd5b81471015610fe9576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6040516001600160a01b0384169083156108fc029084906000818181858888f1935050505015801561101f573d6000803e3d6000fd5b50600190505b92915050565b60085460ff1615611075576040805162461bcd60e51b815260206004820152600f60248201526e10dbdb9d1c9858dd08131bd8dad959608a1b604482015290519081900360640190fd5b336000908152600a602052604090205460ff166110ca576040805162461bcd60e51b815260206004820152600e60248201526d155cd95c881b9bdd08195e1a5cdd60921b604482015290519081900360640190fd5b6000831180156110db5750600c8311155b61111e576040805162461bcd60e51b815260206004820152600f60248201526e125b98dbdc9c9958dd081b195d995b608a1b604482015290519081900360640190fd5b826001141561120057600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36543414611198576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b60068054336000908152600a6020908152604080832060018452909401905291909120546111cb9163ffffffff611cf316565b336000818152600a60208181526040808420600180865260068201845291852096909655939092529052600390910155611363565b6000838152600960205260409020543414611254576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b336000908152600a6020526040902060030183905560001983015b80156112e957336000908152600a602090815260408083208484526006019091529020544211156112e0576040805162461bcd60e51b8152602060048201526016602482015275109d5e481d1a19481c1c995d9a5bdd5cc81b195d995b60521b604482015290519081900360640190fd5b6000190161126f565b50336000908152600a602090815260408083208684526006019091529020546113395760068054336000908152600a60209081526040808320888452909401905291909120429091019055611363565b60068054336000908152600a60209081526040808320888452909401905291909120805490910190555b336000818152600d6020908152604080832083905560035487845260099092528220546113da93879290916113ac9168056bc75e2d6310000091610df09163ffffffff611d5416565b6040805160608181019092529088906003908390839080828437600092019190915250889150349050611e17565b60408051848152426020820152815133927f9ea70f0eb33d898c3336ecf2c0e3cf1c0195c13ad3fbcb34447777dbfd5ff2d0928290030190a2505050565b6002546000906001600160a01b0316331461146d576040805162461bcd60e51b815260206004820152601060248201526f1bdb9b1e4813dddb995c95d85b1b195d60821b604482015290519081900360640190fd5b50600355600190565b60096020526000908152604090205481565b6002546000906001600160a01b031633146114d9576040805162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2102ab9b2b960a11b604482015290519081900360640190fd5b6001600160a01b03821661152c576040805162461bcd60e51b8152602060048201526015602482015274496e76616c696420546f6b656e204164647265737360581b604482015290519081900360640190fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b6002546000906001600160a01b031633146115a6576040805162461bcd60e51b815260206004820152601060248201526f1bdb9b1e4813dddb995c95d85b1b195d60821b604482015290519081900360640190fd5b5060009182526009602052604090912055600190565b60055481565b6002546001600160a01b031681565b600b602052600090815260409020546001600160a01b031681565b60035481565b6002546000906001600160a01b03163314611643576040805162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2102ab9b2b960a11b604482015290519081900360640190fd5b506008805460ff1916911515919091179055600190565b600a602052600090815260409020805460018201546002830154600384015460049094015460ff90931693919290919085565b6001546001600160a01b03166116ea576040805162461bcd60e51b815260206004820152601960248201527f496e697469616c697a6520616c726561647920636c6f73656400000000000000604482015290519081900360640190fd5b6002546001600160a01b03163314611739576040805162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcc819195b9a5959609a1b604482015290519081900360640190fd5b600180546001600160a01b0319169055565b6001546001600160a01b031661179c576040805162461bcd60e51b8152602060048201526011602482015270125b9a5d1a585b1a5e994818db1bdcd959607a1b604482015290519081900360640190fd5b6002546001600160a01b031633146117eb576040805162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcc819195b9a5959609a1b604482015290519081900360640190fd5b60005b818111611c30576117fd6126e1565b600154600554604080516313e842dd60e31b81526004810192909252516000926001600160a01b031691639f4216e8916024808301926020929190829003018186803b15801561184c57600080fd5b505afa158015611860573d6000803e3d6000fd5b505050506040513d602081101561187657600080fd5b50516001546040805163543a185d60e11b81526001600160a01b038085166004830152915193945091169163a87430ba9160248082019260a092909190829003018186803b1580156118c757600080fd5b505afa1580156118db573d6000803e3d6000fd5b505050506040513d60a08110156118f157600080fd5b508051602080830151604080850151606080870151608097880151978a019790975288019590955286810185905286830191909152911515855260015482516313e842dd60e31b8152600481019490945291516000936001600160a01b0390931692639f4216e8926024808301939192829003018186803b15801561197557600080fd5b505afa158015611989573d6000803e3d6000fd5b505050506040513d602081101561199f57600080fd5b5051835190915015611c05576001600160a01b0382166000908152600a602052604090205460ff16611bf7576001600160a01b038083166000818152600a60208181526040808420805460ff19166001908117825560058054838301558b840151600284015560608c0151600384015560808c015160049093019290925581548652600b845282862080546001600160a01b031990811689179091559789168087529484528286209091018054918201815585528285200180549096168517909555838352600e81529184902042908190558451908152935190937f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f192908290030190a360015b600c8111611bf5576001546040805163d284007360e01b81526001600160a01b038681166004830152602482018590529151919092169163d2840073916044808301926020929190829003018186803b158015611b0257600080fd5b505afa158015611b16573d6000803e3d6000fd5b505050506040513d6020811015611b2c57600080fd5b50516001600160a01b038085166000818152600a6020908152604080832087845260060182529182902094909455600154815163e10e354b60e01b8152600481019390935260248301869052905192169263e10e354b92604480840193829003018186803b158015611b9d57600080fd5b505afa158015611bb1573d6000803e3d6000fd5b505050506040513d6020811015611bc757600080fd5b50516001600160a01b0384166000908152600c60209081526040808320858452909152902055600101611aa6565b505b600580546001019055611c25565b600554611c1990600163ffffffff61268416565b60045550611c30915050565b5050506001016117ee565b5050565b6001600160a01b03919091166000908152600a6020908152604080832093835260069093019052205490565b6001546001600160a01b031681565b6002546000906001600160a01b03163314611cc1576040805162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcc811195b9a5959609a1b604482015290519081900360640190fd5b50600555600190565b60045481565b600c60209081526000928352604080842090915290825290205481565b60065481565b600082820183811015611d4d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082611d6357506000611025565b82820282848281611d7057fe5b0414611d4d5760405162461bcd60e51b81526004018080602001828103825260218152602001806127c16021913960400191505060405180910390fd5b6000808211611e03576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611e0e57fe5b04949350505050565b611e1f61277e565b8761219d578660011480611e335750866007145b15611e81576001600160a01b038087166000908152600a60209081526040808320600201548352600b9091528120549091169082905b6001600160a01b039092166020929092020152612198565b8660021480611e905750866008145b15611f24576001600160a01b038681166000908152600a60208181526040808420600201548452600b8083529084205490941690850152818460015b60200201516001600160a01b03166001600160a01b0316815260200190815260200160002060020154815260200190815260200160002060009054906101000a90046001600160a01b031681600060068110611e6957fe5b8660031480611f335750866009145b15611f93576001600160a01b038681166000908152600a602081815260408084206002908101548552600b808452828620548716888501819052865284845282862082015486529283905281852054909516908601529282908590611ecc565b8660041480611fa2575086600a145b1561201e576001600160a01b038681166000908152600a602081815260408084206002908101548552600b80845282862054871688850181905286528484528286208201548652808452828620548716888401819052865284845282862090910154855291829052832054909316606085015281846003611ecc565b866005148061202d575086600b145b156120c6576001600160a01b038681166000908152600a602081815260408084206002908101548552600b808452828620548716888501819052865284845282862082015486528084528286205487168884018190528652848452828620820154865280845282862054871660608901819052865284845282862090910154855291829052832054909316608085015281846004611ecc565b86600614806120d5575086600c145b15612198576001600160a01b038681166000908152600a602081815260408084206002908101548552600b80845282862054871688850181905286528484528286208201548652808452828620548716888401819052865284845282862082015486528084528286205487166060890181905286528484528286208201548652808452828620548716608089018190528652848452828620820154865280845282862054871660a089018190528652938352818520015484529190529020541681525b6121d4565b87600114156121d4576001600160a01b038681166000908152600a60209081526040808320600201548352600b9091529020541681525b80516001600160a01b03166000908152600a602052604090205460ff1661222d576001600052600b6020527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf546001600160a01b031681525b336000908152600d6020526040902054600c1161227c576001600052600b6020527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf546001600160a01b031681525b80516001600160a01b03166000908152600a602090815260408083208a845260060190915290205442116125975760006122cf662386f26fc10000610df085670de0b6b3a764000063ffffffff611d5416565b825160008a8152600960205260409020549192506001600160a01b0316906108fc90612301908963ffffffff61268416565b6040518115909202916000818181858888f19350505050801561234957506002546040516001600160a01b039091169087156108fc029088906000818181858888f193505050505b80156124125750600080546040516330b996bb60e21b81523360048201818152602483018690526001600160a01b039093169363c2e65aec93919286928b928b926044019084906060908190849084905b838110156123b257818101518382015260200161239a565b505050509050018260ff1660ff168152602001945050505050602060405180830381600087803b1580156123e557600080fd5b505af11580156123f9573d6000803e3d6000fd5b505050506040513d602081101561240f57600080fd5b50515b612459576040805162461bcd60e51b81526020600482015260136024820152725472616e73616374696f6e204661696c75726560681b604482015290519081900360640190fd5b60008881526009602090815260408083205485516001600160a01b03168452600a909252909120600401546124939163ffffffff611cf316565b82516001600160a01b039081166000908152600a60209081526040808320600401949094558b8252600981528382205486519093168252600c81528382208c8352905291909120546124ea9163ffffffff611cf316565b82516001600160a01b039081166000908152600c602090815260408083208d8452825280832094909455855133808452600a8352858420600190810154895187168652878620909101548f86526009855294879020548751918252938101949094528386018e90526060840192909252426080840152935193909216927fcbdd750391a1e2f2af2073139d4b9cd7c6ff2ad06bfbb8f67084ebe4e157bcbd9181900360a00190a35061267a565b336000908152600d6020526040902054600c111561267a57336000908152600d60205260409020546125d090600163ffffffff611cf316565b336000818152600d60209081526040808320949094558451600a825284832060019081015487516001600160a01b039081168652878620909201548e86526009855294879020548751918252938101949094528386018d9052606084019290925242608084015293519316927f9f6beab2fd063736ecf6eb99e9e09cb267a7d96d15c910db489f9b460122a18e9181900360a00190a3805161267a90600190899088888888611e17565b5050505050505050565b6000828211156126db576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6040518060c0016040528060001515815260200160008152602001600081526020016000815260200160008152602001606081525090565b82805482825590600052602060002090810192821561276e579160200282015b8281111561276e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612739565b5061277a92915061279c565b5090565b6040518060c001604052806006906020820280388339509192915050565b610a3991905b8082111561277a5780546001600160a01b03191681556001016127a256fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820d21bc9db433ed61f1ef40b4561cc3e35dbb36bba5c498cd0a0f13d8af04996e264736f6c634300050e0032

Deployed Bytecode

0x60806040526004361061019c5760003560e01c80638e9fa0bc116100ec578063b4d45b7e1161008a578063d921d92711610064578063d921d92714610631578063e00dd1611461065b578063e10e354b14610670578063e7a891b9146106a95761019c565b8063b4d45b7e146105b9578063d2840073146105e3578063d4ffca751461061c5761019c565b8063a0be06f9116100c6578063a0be06f914610503578063a478656b14610518578063a87430ba14610544578063ab5b8b7e146105a45761019c565b80638e9fa0bc146104af5780638f84aa09146104c45780639f4216e8146104d95761019c565b80634a4baa8f116101595780636cad3fb0116101335780636cad3fb0146103f857806379378e30146104225780637ad3def21461044c57806382367b2d1461047f5761019c565b80634a4baa8f1461031157806352fd9f13146103945780635fb68f89146103cd5761019c565b8063132c8c9b146101df5780631e97ec941461022e5780631ec932ff1461025557806336c38fd7146102885780633e89340f146102bb578063410ac0e8146102e4575b6040805162461bcd60e51b815260206004820152601360248201527224b73b30b634b2102a3930b739b0b1ba34b7b760691b604482015290519081900360640190fd5b3480156101eb57600080fd5b506102126004803603602081101561020257600080fd5b50356001600160a01b03166106be565b604080516001600160a01b039092168252519081900360200190f35b34801561023a57600080fd5b506102436109e3565b60408051918252519081900360200190f35b34801561026157600080fd5b506102436004803603602081101561027857600080fd5b50356001600160a01b0316610a3c565b34801561029457600080fd5b50610243600480360360208110156102ab57600080fd5b50356001600160a01b0316610a4e565b3480156102c757600080fd5b506102d0610a60565b604080519115158252519081900360200190f35b61030f600480360360a08110156102fa57600080fd5b5080359060208101906080013560ff16610a69565b005b34801561031d57600080fd5b506103446004803603602081101561033457600080fd5b50356001600160a01b0316610e81565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610380578181015183820152602001610368565b505050509050019250505060405180910390f35b3480156103a057600080fd5b506102d0600480360360408110156103b757600080fd5b506001600160a01b038135169060200135610efa565b61030f600480360360a08110156103e357600080fd5b5080359060208101906080013560ff1661102b565b34801561040457600080fd5b506102d06004803603602081101561041b57600080fd5b5035611418565b34801561042e57600080fd5b506102436004803603602081101561044557600080fd5b5035611476565b34801561045857600080fd5b506102d06004803603602081101561046f57600080fd5b50356001600160a01b0316611488565b34801561048b57600080fd5b506102d0600480360360408110156104a257600080fd5b5080359060200135611551565b3480156104bb57600080fd5b506102436115bc565b3480156104d057600080fd5b506102126115c2565b3480156104e557600080fd5b50610212600480360360208110156104fc57600080fd5b50356115d1565b34801561050f57600080fd5b506102436115ec565b34801561052457600080fd5b506102d06004803603602081101561053b57600080fd5b503515156115f2565b34801561055057600080fd5b506105776004803603602081101561056757600080fd5b50356001600160a01b031661165a565b60408051951515865260208601949094528484019290925260608401526080830152519081900360a00190f35b3480156105b057600080fd5b5061030f61168d565b3480156105c557600080fd5b5061030f600480360360208110156105dc57600080fd5b503561174b565b3480156105ef57600080fd5b506102436004803603604081101561060657600080fd5b506001600160a01b038135169060200135611c34565b34801561062857600080fd5b50610212611c60565b34801561063d57600080fd5b506102d06004803603602081101561065457600080fd5b5035611c6f565b34801561066757600080fd5b50610243611cca565b34801561067c57600080fd5b506102436004803603604081101561069357600080fd5b506001600160a01b038135169060200135611cd0565b3480156106b557600080fd5b50610243611ced565b6007546001600160a01b0382166000908152600a6020526040812060050154909111156106ec5750806109de565b6040805160fe808252611fe0820190925260609160208201611fc0803883395050506001600160a01b0384166000908152600a6020526040812060050180549293509161073557fe5b600091825260208220015482516001600160a01b0390911691839161075657fe5b6001600160a01b039283166020918202929092018101919091529084166000908152600a909152604090206005018054600190811061079157fe5b9060005260206000200160009054906101000a90046001600160a01b0316816001815181106107bc57fe5b6001600160a01b039092166020928302919091019091015260006001815b60fe81101561099257600754600a60008684815181106107f657fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060050180549050141561096b57607e81101561096657600a600085838151811061084457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060050160008154811061087b57fe5b9060005260206000200160009054906101000a90046001600160a01b03168482600101600202815181106108ab57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600a60008583815181106108db57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060050160018154811061091257fe5b9060005260206000200160009054906101000a90046001600160a01b031684826001016002026001018151811061094557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b61098a565b6000915083818151811061097b57fe5b60200260200101519250610992565b6001016107da565b5080156109d9576040805162461bcd60e51b815260206004820152601060248201526f273790233932b2902932b332b93932b960811b604482015290519081900360640190fd5b509150505b919050565b60008060015b6004548111610a35576000818152600b60209081526040808320546001600160a01b03168352600a909152902060040154610a2b90839063ffffffff611cf316565b91506001016109e9565b5090505b90565b600e6020526000908152604090205481565b600d6020526000908152604090205481565b60085460ff1681565b60085460ff1615610ab3576040805162461bcd60e51b815260206004820152600f60248201526e10dbdb9d1c9858dd08131bd8dad959608a1b604482015290519081900360640190fd5b336000908152600a602052604090205460ff1615610b05576040805162461bcd60e51b815260206004820152600a602482015269155cd95c88195e1a5cdd60b21b604482015290519081900360640190fd5b600083118015610b1757506004548311155b610b60576040805162461bcd60e51b8152602060048201526015602482015274125b98dbdc9c9958dd081c9959995c9c995c881259605a1b604482015290519081900360640190fd5b600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36543414610bd1576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b6007546000848152600b60209081526040808320546001600160a01b03168352600a90915290206005015410610c4d576000838152600b6020526040812054600a9190610c26906001600160a01b03166106be565b6001600160a01b03166001600160a01b031681526020019081526020016000206001015492505b610c556126e1565b506004805460019081018083556040805160c0810182528381526020808201938452818301898152606083018681526000608085018181528651828152808601885260a08701908152338352600a8652969091208551815460ff1916901515178155965197870197909755905160028601555160038501559351948301949094555180518493610cec926005850192910190612719565b50506004546000908152600b6020526040902080546001600160a01b0319163317905550600654610d2490429063ffffffff611cf316565b336000818152600a6020818152604080842060018086526006909101835281852096909655898452600b8252808420546001600160a01b03168452918152818320600501805480870182559084528184200180546001600160a01b03191685179055838352600d8152818320839055600e815290822042905560035484835260099091527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a3654610e2a94929391610dfc9168056bc75e2d6310000091610df0919063ffffffff611d5416565b9063ffffffff611dad16565b6040805160608181019092529089906003908390839080828437600092019190915250899150349050611e17565b6000848152600b602090815260409182902054825142815292516001600160a01b039091169233927f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f192918290030190a350505050565b6001600160a01b0381166000908152600a6020908152604091829020600501805483518184028101840190945280845260609392830182828015610eee57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ed0575b50505050509050919050565b6002546000906001600160a01b03163314610f50576040805162461bcd60e51b81526020600482015260116024820152701bdb9b1e4813dddb995c8815d85b1b195d607a1b604482015290519081900360640190fd5b6001600160a01b038316610f9d576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b604482015290519081900360640190fd5b81471015610fe9576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6040516001600160a01b0384169083156108fc029084906000818181858888f1935050505015801561101f573d6000803e3d6000fd5b50600190505b92915050565b60085460ff1615611075576040805162461bcd60e51b815260206004820152600f60248201526e10dbdb9d1c9858dd08131bd8dad959608a1b604482015290519081900360640190fd5b336000908152600a602052604090205460ff166110ca576040805162461bcd60e51b815260206004820152600e60248201526d155cd95c881b9bdd08195e1a5cdd60921b604482015290519081900360640190fd5b6000831180156110db5750600c8311155b61111e576040805162461bcd60e51b815260206004820152600f60248201526e125b98dbdc9c9958dd081b195d995b608a1b604482015290519081900360640190fd5b826001141561120057600160005260096020527f92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36543414611198576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b60068054336000908152600a6020908152604080832060018452909401905291909120546111cb9163ffffffff611cf316565b336000818152600a60208181526040808420600180865260068201845291852096909655939092529052600390910155611363565b6000838152600960205260409020543414611254576040805162461bcd60e51b815260206004820152600f60248201526e496e636f72726563742056616c756560881b604482015290519081900360640190fd5b336000908152600a6020526040902060030183905560001983015b80156112e957336000908152600a602090815260408083208484526006019091529020544211156112e0576040805162461bcd60e51b8152602060048201526016602482015275109d5e481d1a19481c1c995d9a5bdd5cc81b195d995b60521b604482015290519081900360640190fd5b6000190161126f565b50336000908152600a602090815260408083208684526006019091529020546113395760068054336000908152600a60209081526040808320888452909401905291909120429091019055611363565b60068054336000908152600a60209081526040808320888452909401905291909120805490910190555b336000818152600d6020908152604080832083905560035487845260099092528220546113da93879290916113ac9168056bc75e2d6310000091610df09163ffffffff611d5416565b6040805160608181019092529088906003908390839080828437600092019190915250889150349050611e17565b60408051848152426020820152815133927f9ea70f0eb33d898c3336ecf2c0e3cf1c0195c13ad3fbcb34447777dbfd5ff2d0928290030190a2505050565b6002546000906001600160a01b0316331461146d576040805162461bcd60e51b815260206004820152601060248201526f1bdb9b1e4813dddb995c95d85b1b195d60821b604482015290519081900360640190fd5b50600355600190565b60096020526000908152604090205481565b6002546000906001600160a01b031633146114d9576040805162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2102ab9b2b960a11b604482015290519081900360640190fd5b6001600160a01b03821661152c576040805162461bcd60e51b8152602060048201526015602482015274496e76616c696420546f6b656e204164647265737360581b604482015290519081900360640190fd5b50600080546001600160a01b0383166001600160a01b03199091161790556001919050565b6002546000906001600160a01b031633146115a6576040805162461bcd60e51b815260206004820152601060248201526f1bdb9b1e4813dddb995c95d85b1b195d60821b604482015290519081900360640190fd5b5060009182526009602052604090912055600190565b60055481565b6002546001600160a01b031681565b600b602052600090815260409020546001600160a01b031681565b60035481565b6002546000906001600160a01b03163314611643576040805162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2102ab9b2b960a11b604482015290519081900360640190fd5b506008805460ff1916911515919091179055600190565b600a602052600090815260409020805460018201546002830154600384015460049094015460ff90931693919290919085565b6001546001600160a01b03166116ea576040805162461bcd60e51b815260206004820152601960248201527f496e697469616c697a6520616c726561647920636c6f73656400000000000000604482015290519081900360640190fd5b6002546001600160a01b03163314611739576040805162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcc819195b9a5959609a1b604482015290519081900360640190fd5b600180546001600160a01b0319169055565b6001546001600160a01b031661179c576040805162461bcd60e51b8152602060048201526011602482015270125b9a5d1a585b1a5e994818db1bdcd959607a1b604482015290519081900360640190fd5b6002546001600160a01b031633146117eb576040805162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcc819195b9a5959609a1b604482015290519081900360640190fd5b60005b818111611c30576117fd6126e1565b600154600554604080516313e842dd60e31b81526004810192909252516000926001600160a01b031691639f4216e8916024808301926020929190829003018186803b15801561184c57600080fd5b505afa158015611860573d6000803e3d6000fd5b505050506040513d602081101561187657600080fd5b50516001546040805163543a185d60e11b81526001600160a01b038085166004830152915193945091169163a87430ba9160248082019260a092909190829003018186803b1580156118c757600080fd5b505afa1580156118db573d6000803e3d6000fd5b505050506040513d60a08110156118f157600080fd5b508051602080830151604080850151606080870151608097880151978a019790975288019590955286810185905286830191909152911515855260015482516313e842dd60e31b8152600481019490945291516000936001600160a01b0390931692639f4216e8926024808301939192829003018186803b15801561197557600080fd5b505afa158015611989573d6000803e3d6000fd5b505050506040513d602081101561199f57600080fd5b5051835190915015611c05576001600160a01b0382166000908152600a602052604090205460ff16611bf7576001600160a01b038083166000818152600a60208181526040808420805460ff19166001908117825560058054838301558b840151600284015560608c0151600384015560808c015160049093019290925581548652600b845282862080546001600160a01b031990811689179091559789168087529484528286209091018054918201815585528285200180549096168517909555838352600e81529184902042908190558451908152935190937f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f192908290030190a360015b600c8111611bf5576001546040805163d284007360e01b81526001600160a01b038681166004830152602482018590529151919092169163d2840073916044808301926020929190829003018186803b158015611b0257600080fd5b505afa158015611b16573d6000803e3d6000fd5b505050506040513d6020811015611b2c57600080fd5b50516001600160a01b038085166000818152600a6020908152604080832087845260060182529182902094909455600154815163e10e354b60e01b8152600481019390935260248301869052905192169263e10e354b92604480840193829003018186803b158015611b9d57600080fd5b505afa158015611bb1573d6000803e3d6000fd5b505050506040513d6020811015611bc757600080fd5b50516001600160a01b0384166000908152600c60209081526040808320858452909152902055600101611aa6565b505b600580546001019055611c25565b600554611c1990600163ffffffff61268416565b60045550611c30915050565b5050506001016117ee565b5050565b6001600160a01b03919091166000908152600a6020908152604080832093835260069093019052205490565b6001546001600160a01b031681565b6002546000906001600160a01b03163314611cc1576040805162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcc811195b9a5959609a1b604482015290519081900360640190fd5b50600555600190565b60045481565b600c60209081526000928352604080842090915290825290205481565b60065481565b600082820183811015611d4d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082611d6357506000611025565b82820282848281611d7057fe5b0414611d4d5760405162461bcd60e51b81526004018080602001828103825260218152602001806127c16021913960400191505060405180910390fd5b6000808211611e03576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611e0e57fe5b04949350505050565b611e1f61277e565b8761219d578660011480611e335750866007145b15611e81576001600160a01b038087166000908152600a60209081526040808320600201548352600b9091528120549091169082905b6001600160a01b039092166020929092020152612198565b8660021480611e905750866008145b15611f24576001600160a01b038681166000908152600a60208181526040808420600201548452600b8083529084205490941690850152818460015b60200201516001600160a01b03166001600160a01b0316815260200190815260200160002060020154815260200190815260200160002060009054906101000a90046001600160a01b031681600060068110611e6957fe5b8660031480611f335750866009145b15611f93576001600160a01b038681166000908152600a602081815260408084206002908101548552600b808452828620548716888501819052865284845282862082015486529283905281852054909516908601529282908590611ecc565b8660041480611fa2575086600a145b1561201e576001600160a01b038681166000908152600a602081815260408084206002908101548552600b80845282862054871688850181905286528484528286208201548652808452828620548716888401819052865284845282862090910154855291829052832054909316606085015281846003611ecc565b866005148061202d575086600b145b156120c6576001600160a01b038681166000908152600a602081815260408084206002908101548552600b808452828620548716888501819052865284845282862082015486528084528286205487168884018190528652848452828620820154865280845282862054871660608901819052865284845282862090910154855291829052832054909316608085015281846004611ecc565b86600614806120d5575086600c145b15612198576001600160a01b038681166000908152600a602081815260408084206002908101548552600b80845282862054871688850181905286528484528286208201548652808452828620548716888401819052865284845282862082015486528084528286205487166060890181905286528484528286208201548652808452828620548716608089018190528652848452828620820154865280845282862054871660a089018190528652938352818520015484529190529020541681525b6121d4565b87600114156121d4576001600160a01b038681166000908152600a60209081526040808320600201548352600b9091529020541681525b80516001600160a01b03166000908152600a602052604090205460ff1661222d576001600052600b6020527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf546001600160a01b031681525b336000908152600d6020526040902054600c1161227c576001600052600b6020527f72c6bfb7988af3a1efa6568f02a999bc52252641c659d85961ca3d372b57d5cf546001600160a01b031681525b80516001600160a01b03166000908152600a602090815260408083208a845260060190915290205442116125975760006122cf662386f26fc10000610df085670de0b6b3a764000063ffffffff611d5416565b825160008a8152600960205260409020549192506001600160a01b0316906108fc90612301908963ffffffff61268416565b6040518115909202916000818181858888f19350505050801561234957506002546040516001600160a01b039091169087156108fc029088906000818181858888f193505050505b80156124125750600080546040516330b996bb60e21b81523360048201818152602483018690526001600160a01b039093169363c2e65aec93919286928b928b926044019084906060908190849084905b838110156123b257818101518382015260200161239a565b505050509050018260ff1660ff168152602001945050505050602060405180830381600087803b1580156123e557600080fd5b505af11580156123f9573d6000803e3d6000fd5b505050506040513d602081101561240f57600080fd5b50515b612459576040805162461bcd60e51b81526020600482015260136024820152725472616e73616374696f6e204661696c75726560681b604482015290519081900360640190fd5b60008881526009602090815260408083205485516001600160a01b03168452600a909252909120600401546124939163ffffffff611cf316565b82516001600160a01b039081166000908152600a60209081526040808320600401949094558b8252600981528382205486519093168252600c81528382208c8352905291909120546124ea9163ffffffff611cf316565b82516001600160a01b039081166000908152600c602090815260408083208d8452825280832094909455855133808452600a8352858420600190810154895187168652878620909101548f86526009855294879020548751918252938101949094528386018e90526060840192909252426080840152935193909216927fcbdd750391a1e2f2af2073139d4b9cd7c6ff2ad06bfbb8f67084ebe4e157bcbd9181900360a00190a35061267a565b336000908152600d6020526040902054600c111561267a57336000908152600d60205260409020546125d090600163ffffffff611cf316565b336000818152600d60209081526040808320949094558451600a825284832060019081015487516001600160a01b039081168652878620909201548e86526009855294879020548751918252938101949094528386018d9052606084019290925242608084015293519316927f9f6beab2fd063736ecf6eb99e9e09cb267a7d96d15c910db489f9b460122a18e9181900360a00190a3805161267a90600190899088888888611e17565b5050505050505050565b6000828211156126db576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6040518060c0016040528060001515815260200160008152602001600081526020016000815260200160008152602001606081525090565b82805482825590600052602060002090810192821561276e579160200282015b8281111561276e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612739565b5061277a92915061279c565b5090565b6040518060c001604052806006906020820280388339509192915050565b610a3991905b8082111561277a5780546001600160a01b03191681556001016127a256fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820d21bc9db433ed61f1ef40b4561cc3e35dbb36bba5c498cd0a0f13d8af04996e264736f6c634300050e0032

Deployed Bytecode Sourcemap

1162:14323:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15445:29;;;-1:-1:-1;;;15445:29:0;;;;;;;;;;;;-1:-1:-1;;;15445:29:0;;;;;;;;;;;;;;13640:998;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13640:998:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13640:998:0;-1:-1:-1;;;;;13640:998:0;;:::i;:::-;;;;-1:-1:-1;;;;;13640:998:0;;;;;;;;;;;;;;14698:250;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14698:250:0;;;:::i;:::-;;;;;;;;;;;;;;;;2022:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2022:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2022:44:0;-1:-1:-1;;;;;2022:44:0;;:::i;1973:42::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1973:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1973:42:0;-1:-1:-1;;;;;1973:42:0;;:::i;1724:22::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1724:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;3314:1335;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3314:1335:0;;;;;;;;;;;;;:::i;:::-;;15010:143;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15010:143:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15010:143:0;-1:-1:-1;;;;;15010:143:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15010:143:0;;;;;;;;;;;;;;;;;12078:352;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12078:352:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12078:352:0;;;;;;;;:::i;4723:1304::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;4723:1304:0;;;;;;;;;;;;;:::i;12510:201::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12510:201:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12510:201:0;;:::i;1759:41::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1759:41:0;;:::i;13298:267::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13298:267:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13298:267:0;-1:-1:-1;;;;;13298:267:0;;:::i;12774:206::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12774:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12774:206:0;;;;;;;:::i;1619:26::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:26:0;;;:::i;1515:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1515:27:0;;;:::i;1858:41::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1858:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1858:41:0;;:::i;1549:31::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1549:31:0;;;:::i;13043:191::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13043:191:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13043:191:0;;;;:::i;1807:44::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1807:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1807:44:0;-1:-1:-1;;;;;1807:44:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11780:228;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11780:228:0;;;:::i;9716:1740::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9716:1740:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9716:1740:0;;:::i;15221:159::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15221:159:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;15221:159:0;;;;;;;;:::i;1481:27::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1481:27:0;;;:::i;11525:184::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11525:184:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11525:184:0;;:::i;1587:25::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1587:25:0;;;:::i;1906:60::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1906:60:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1906:60:0;;;;;;;;:::i;1652:35::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1652:35:0;;;:::i;13640:998::-;13771:14;;-1:-1:-1;;;;;13733:19:0;;13709:7;13733:19;;;:5;:19;;;;;:28;;:35;13709:7;;-1:-1:-1;13729:91:0;;;-1:-1:-1;13808:12:0;13801:19;;13729:91;13862:18;;;13876:3;13862:18;;;;;;;;;13833:26;;13862:18;;;17:15:-1;;105:10;13862:18:0;88:34:-1;-1:-1;;;;;;;;13906:19:0;;;;;;:5;:19;;;;;:28;;:31;;13833:47;;-1:-1:-1;13906:28:0;:31;;;;;;;;;;;;;13891:12;;-1:-1:-1;;;;;13906:31:0;;;;13891:9;;:12;;;;-1:-1:-1;;;;;13891:46:0;;;:12;;;;;;;;;;:46;;;;13963:19;;;;;;;:5;:19;;;;;;:28;;:31;;13992:1;;13963:31;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13963:31:0;13948:9;13958:1;13948:12;;;;;;;;-1:-1:-1;;;;;13948:46:0;;;:12;;;;;;;;;;;:46;14007:20;14060:4;14007:20;14077:469;14098:3;14094:1;:7;14077:469;;;14167:14;;14128:5;:19;14134:9;14144:1;14134:12;;;;;;;;;;;;;;-1:-1:-1;;;;;14128:19:0;-1:-1:-1;;;;;14128:19:0;;;;;;;;;;;;:28;;:35;;;;:53;14124:411;;;14210:3;14206:1;:7;14202:185;;;14259:5;:19;14265:9;14275:1;14265:12;;;;;;;;;;;;;;-1:-1:-1;;;;;14259:19:0;-1:-1:-1;;;;;14259:19:0;;;;;;;;;;;;:28;;14288:1;14259:31;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14259:31:0;14238:9;14249:1;14251;14249:3;14254:1;14248:7;14238:18;;;;;;;;;;;;;:52;-1:-1:-1;;;;;14238:52:0;;;-1:-1:-1;;;;;14238:52:0;;;;;14336:5;:19;14342:9;14352:1;14342:12;;;;;;;;;;;;;;-1:-1:-1;;;;;14336:19:0;-1:-1:-1;;;;;14336:19:0;;;;;;;;;;;;:28;;14365:1;14336:31;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14336:31:0;14313:9;14324:1;14326;14324:3;14329:1;14323:7;14331:1;14323:9;14313:20;;;;;;;;;;;;;:54;-1:-1:-1;;;;;14313:54:0;;;-1:-1:-1;;;;;14313:54:0;;;;;14202:185;14124:411;;;14444:5;14427:22;;14483:9;14493:1;14483:12;;;;;;;;;;;;;;14468:27;;14514:5;;14124:411;14103:3;;14077:469;;;;14565:14;14564:15;14556:44;;;;;-1:-1:-1;;;14556:44:0;;;;;;;;;;;;-1:-1:-1;;;14556:44:0;;;;;;;;;;;;;;;-1:-1:-1;14618:12:0;-1:-1:-1;;13640:998:0;;;;:::o;14698:250::-;14750:4;;14805:1;14791:124;14813:9;;14808:1;:14;14791:124;;14868:18;14874:11;;;:8;:11;;;;;;;;;-1:-1:-1;;;;;14874:11:0;14868:18;;:5;:18;;;;;:34;;;14855:48;;:8;;:48;:12;:48;:::i;:::-;14844:59;-1:-1:-1;14824:3:0;;14791:124;;;-1:-1:-1;14932:8:0;-1:-1:-1;14698:250:0;;:::o;2022:44::-;;;;;;;;;;;;;:::o;1973:42::-;;;;;;;;;;;;;:::o;1724:22::-;;;;;;:::o;3314:1335::-;3421:10;;;;:19;3413:47;;;;;-1:-1:-1;;;3413:47:0;;;;;;;;;;;;-1:-1:-1;;;3413:47:0;;;;;;;;;;;;;;;3485:10;3479:17;;;;:5;:17;;;;;:25;;;:34;3471:57;;;;;-1:-1:-1;;;3471:57:0;;;;;;;;;;;;-1:-1:-1;;;3471:57:0;;;;;;;;;;;;;;;3561:1;3547:11;:15;:43;;;;;3581:9;;3566:11;:24;;3547:43;3539:77;;;;;-1:-1:-1;;;3539:77:0;;;;;;;;;;;;-1:-1:-1;;;3539:77:0;;;;;;;;;;;;;;;3660:1;3648:14;;:11;:14;;;;3635:9;:27;3627:55;;;;;-1:-1:-1;;;3627:55:0;;;;;;;;;;;;-1:-1:-1;;;3627:55:0;;;;;;;;;;;;;;;3755:14;;3707:28;3713:21;;;:8;:21;;;;;;;;;-1:-1:-1;;;;;3713:21:0;3707:28;;:5;:28;;;;;:37;;:44;:62;3703:145;;3799:46;3822:21;;;:8;:21;;;;;;3799:5;;:46;3805:39;;-1:-1:-1;;;;;3822:21:0;3805:16;:39::i;:::-;-1:-1:-1;;;;;3799:46:0;-1:-1:-1;;;;;3799:46:0;;;;;;;;;;;;:49;;;3785:63;;3703:145;3861:28;;:::i;:::-;-1:-1:-1;3900:9:0;:11;;;;;;;;;3945:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3945:220:0;;;;;;4137:16;;;;;;;;;;3945:220;;;;;;4184:10;4178:17;;:5;:17;;;;;;:30;;;;-1:-1:-1;;4178:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3945:220;;4178:30;;;;;;;;;;:::i;:::-;-1:-1:-1;;4228:9:0;;4219:19;;;;:8;:19;;;;;:32;;-1:-1:-1;;;;;;4219:32:0;4241:10;4219:32;;;-1:-1:-1;4306:13:0;;4298:22;;:3;;:22;:7;:22;:::i;:::-;4268:10;4262:17;;;;:5;:17;;;;;;;;4293:1;4262:33;;;:30;;;;:33;;;;;:58;;;;4337:21;;;:8;:21;;;;;;-1:-1:-1;;;;;4337:21:0;4331:28;;;;;;;;:37;;27:10:-1;;23:18;;;45:23;;4331:54:0;;;;;;;;;-1:-1:-1;;;;;;4331:54:0;;;;;4396:21;;;:9;:21;;;;;:25;;;4432:11;:23;;;;;4458:3;4432:29;;4525:8;;4506:14;;;:11;:14;;;;;4474:96;;4262:17;;4268:10;4505:42;;4540:6;;4506:28;;:14;:28;:18;:28;:::i;:::-;4505:34;:42;:34;:42;:::i;:::-;4474:96;;;;;;;;;;;4550:4;;4474:96;;;;4550:4;;4474:96;4550:4;4474:96;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;4556:2:0;;-1:-1:-1;4560:9:0;;-1:-1:-1;4474:11:0;:96::i;:::-;4614:21;;;;:8;:21;;;;;;;;;;4588:53;;4637:3;4588:53;;;;-1:-1:-1;;;;;4614:21:0;;;;4602:10;;4588:53;;;;;;;;;3314:1335;;;;:::o;15010:143::-;-1:-1:-1;;;;;15117:19:0;;;;;;:5;:19;;;;;;;;;:28;;15110:35;;;;;;;;;;;;;;;;;15081:16;;15110:35;;;15117:28;15110:35;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15110:35:0;;;;;;;;;;;;;;;;;;;;;;;15010:143;;;:::o;12078:352::-;12190:12;;12151:4;;-1:-1:-1;;;;;12190:12:0;12176:10;:26;12168:56;;;;;-1:-1:-1;;;12168:56:0;;;;;;;;;;;;-1:-1:-1;;;12168:56:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12243:21:0;;12235:49;;;;;-1:-1:-1;;;12235:49:0;;;;;;;;;;;;-1:-1:-1;;;12235:49:0;;;;;;;;;;;;;;;12328:7;12303:21;:32;;12295:65;;;;;-1:-1:-1;;;12295:65:0;;;;;;;;;;;;-1:-1:-1;;;12295:65:0;;;;;;;;;;;;;;;12373:27;;-1:-1:-1;;;;;12373:18:0;;;:27;;;;;12392:7;;12373:27;;;;12392:7;12373:18;:27;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12373:27:0;12418:4;12411:11;;12078:352;;;;;:::o;4723:1304::-;4829:10;;;;:19;4821:47;;;;;-1:-1:-1;;;4821:47:0;;;;;;;;;;;;-1:-1:-1;;;4821:47:0;;;;;;;;;;;;;;;4893:10;4887:17;;;;:5;:17;;;;;:25;;;4879:52;;;;;-1:-1:-1;;;4879:52:0;;;;;;;;;;;;-1:-1:-1;;;4879:52:0;;;;;;;;;;;;;;;4960:1;4951:6;:10;:26;;;;;4975:2;4965:6;:12;;4951:26;4943:54;;;;;-1:-1:-1;;;4943:54:0;;;;;;;;;;;;-1:-1:-1;;;4943:54:0;;;;;;;;;;;;;;;5014:6;5024:1;5014:11;5010:792;;;5075:1;5063:14;;:11;:14;;;;5050:9;:27;5042:55;;;;;-1:-1:-1;;;5042:55:0;;;;;;;;;;;;-1:-1:-1;;;5042:55:0;;;;;;;;;;;;;;;5186:13;;;5154:10;5148:17;;;;:5;:17;;;;;;;;5179:1;5148:33;;:30;;;:33;;;;;;;:52;;;:37;:52;:::i;:::-;5118:10;5112:17;;;;:5;:17;;;;;;;;5143:1;5112:33;;;:30;;;:33;;;;;:88;;;;5215:17;;;;;;:30;;;;:34;5010:792;;;5303:19;;;;:11;:19;;;;;;5290:9;:32;5282:60;;;;;-1:-1:-1;;;5282:60:0;;;;;;;;;;;;-1:-1:-1;;;5282:60:0;;;;;;;;;;;;;;;5363:10;5357:17;;;;:5;:17;;;;;:30;;:39;;;-1:-1:-1;;5425:10:0;;5411:131;5437:5;;5411:131;;5481:10;5475:17;;;;:5;:17;;;;;;;;:33;;;:30;;:33;;;;;;5512:3;-1:-1:-1;5475:40:0;5467:75;;;;;-1:-1:-1;;;5467:75:0;;;;;;;;;;;;-1:-1:-1;;;5467:75:0;;;;;;;;;;;;;;;-1:-1:-1;;5444:3:0;5411:131;;;-1:-1:-1;5581:10:0;5575:17;;;;:5;:17;;;;;;;;:38;;;:30;;:38;;;;;;5571:219;;5684:13;;;5643:10;5637:17;;;;:5;:17;;;;;;;;:38;;;:30;;;:38;;;;;;5678:3;:19;;;5637:60;;5571:219;;;5777:13;;;5741:10;5735:17;;;;:5;:17;;;;;;;;:38;;;:30;;;:38;;;;;;:55;;;;;;;5571:219;5822:10;5836:1;5812:21;;;:9;:21;;;;;;;;:25;;;5918:8;;5894:19;;;:11;:19;;;;;;5857:106;;5872:6;;5822:10;;5893:47;;5933:6;;5894:33;;;:23;:33;:::i;5893:47::-;5857:106;;;;;;;;;;;5943:4;;5857:106;;;;5943:4;;5857:106;5943:4;5857:106;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;5949:2:0;;-1:-1:-1;5953:9:0;;-1:-1:-1;5857:11:0;:106::i;:::-;5981:38;;;;;;6015:3;5981:38;;;;;;5995:10;;5981:38;;;;;;;;4723:1304;;;:::o;12510:201::-;12613:12;;12574:4;;-1:-1:-1;;;;;12613:12:0;12599:10;:26;12591:55;;;;;-1:-1:-1;;;12591:55:0;;;;;;;;;;;;-1:-1:-1;;;12591:55:0;;;;;;;;;;;;;;;-1:-1:-1;12659:8:0;:20;12697:4;;12510:201::o;1759:41::-;;;;;;;;;;;;;:::o;13298:267::-;13393:12;;13354:4;;-1:-1:-1;;;;;13393:12:0;13379:10;:26;13371:51;;;;;-1:-1:-1;;;13371:51:0;;;;;;;;;;;;-1:-1:-1;;;13371:51:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13441:23:0;;13433:57;;;;;-1:-1:-1;;;13433:57:0;;;;;;;;;;;;-1:-1:-1;;;13433:57:0;;;;;;;;;;;;;;;-1:-1:-1;13511:5:0;:24;;-1:-1:-1;;;;;13511:24:0;;-1:-1:-1;;;;;;13511:24:0;;;;;;;13298:267;;;:::o;12774:206::-;12876:12;;12837:4;;-1:-1:-1;;;;;12876:12:0;12862:10;:26;12854:55;;;;;-1:-1:-1;;;12854:55:0;;;;;;;;;;;;-1:-1:-1;;;12854:55:0;;;;;;;;;;;;;;;-1:-1:-1;12922:19:0;;;;:11;:19;;;;;;:28;12968:4;;12774:206::o;1619:26::-;;;;:::o;1515:27::-;;;-1:-1:-1;;;;;1515:27:0;;:::o;1858:41::-;;;;;;;;;;;;-1:-1:-1;;;;;1858:41:0;;:::o;1549:31::-;;;;:::o;13043:191::-;13138:12;;13099:4;;-1:-1:-1;;;;;13138:12:0;13124:10;:26;13116:51;;;;;-1:-1:-1;;;13116:51:0;;;;;;;;;;;;-1:-1:-1;;;13116:51:0;;;;;;;;;;;;;;;-1:-1:-1;13180:10:0;:24;;-1:-1:-1;;13180:24:0;;;;;;;;;;-1:-1:-1;;13043:191:0:o;1807:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11780:228::-;11846:8;;-1:-1:-1;;;;;11846:8:0;11830:69;;;;;-1:-1:-1;;;11830:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11932:12;;-1:-1:-1;;;;;11932:12:0;11918:10;:26;11910:52;;;;;-1:-1:-1;;;11910:52:0;;;;;;;;;;;;-1:-1:-1;;;11910:52:0;;;;;;;;;;;;;;;11975:8;:25;;-1:-1:-1;;;;;;11975:25:0;;;11780:228::o;9716:1740::-;9784:8;;-1:-1:-1;;;;;9784:8:0;9768:61;;;;;-1:-1:-1;;;9768:61:0;;;;;;;;;;;;-1:-1:-1;;;9768:61:0;;;;;;;;;;;;;;;9862:12;;-1:-1:-1;;;;;9862:12:0;9848:10;:26;9840:52;;;;;-1:-1:-1;;;9840:52:0;;;;;;;;;;;;-1:-1:-1;;;9840:52:0;;;;;;;;;;;;;;;9918:6;9913:1536;9935:5;9930:1;:10;9913:1536;;9962:26;;:::i;:::-;10022:8;;10040:10;;10022:29;;;-1:-1:-1;;;10022:29:0;;;;;;;;;;10003:16;;-1:-1:-1;;;;;10022:8:0;;:17;;:29;;;;;;;;;;;;;;:8;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;10022:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10022:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10022:29:0;10222:8;;:24;;;-1:-1:-1;;;10222:24:0;;-1:-1:-1;;;;;10222:24:0;;;;;;;;;10022:29;;-1:-1:-1;10222:8:0;;;:14;;:24;;;;;;;;;;;;;;;:8;:24;;;5:2:-1;;;;30:1;27;20:12;5:2;10222:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10222:24:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;10222:24:0;;;;;;;;;;;;;;;;;;;;;;10195:23;;;10066:180;;;;10158:20;;10066:180;;;;10124:18;;;10066:180;;;10098:10;;;10066:180;;;;;;;;;10275:8;;:37;;-1:-1:-1;;;10275:37:0;;;;;;;;;;;10067:15;;-1:-1:-1;;;;;10275:8:0;;;;:17;;:37;;;;;10222:24;;10275:37;;;;;:8;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;10275:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10275:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10275:37:0;10333:15;;10275:37;;-1:-1:-1;10329:1109:0;;;-1:-1:-1;;;;;10374:15:0;;;;;;:5;:15;;;;;:23;;;10369:911;;-1:-1:-1;;;;;10422:15:0;;;;;;;:5;:15;;;;;;;;:30;;-1:-1:-1;;10422:30:0;10448:4;10422:30;;;;;10496:10;;;10475:18;;;:31;10558:18;;;;10529:26;;;:47;10630:20;;;;10599:28;;;:51;10707:23;;;;10673:31;;;;:57;;;;10762:10;;10753:20;;:8;:20;;;;;:31;;-1:-1:-1;;;;;;10753:31:0;;;;;;;;10807:10;;;;;;;;;;;;:19;;;27:10:-1;;23:18;;;45:23;;10807:34:0;;;;;;;;;;;;;;;;10864:21;;;:11;:21;;;;;;10888:3;10864:27;;;;10941:33;;;;;;;10807:10;;10941:33;;;;;;;;;11033:1;11019:241;11041:2;11036:1;:7;11019:241;;11111:8;;:42;;;-1:-1:-1;;;11111:42:0;;-1:-1:-1;;;;;11111:42:0;;;;;;;;;;;;;;;:8;;;;;:29;;:42;;;;;;;;;;;;;;:8;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;11111:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11111:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11111:42:0;-1:-1:-1;;;;;11077:15:0;;;;;;;:5;11111:42;11077:15;;;;;;;:31;;;:28;;:31;;;;;;:76;;;;11205:8;;:31;;-1:-1:-1;;;11205:31:0;;;;;;;;;;;;;;;;;:8;;;:18;;:31;;;;;;;;;;:8;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;11205:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11205:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11205:31:0;-1:-1:-1;;;;;11180:19:0;;;;;;:9;11205:31;11180:19;;;;;;;:22;;;;;;;;:56;11045:3;;11019:241;;;;10369:911;11298:10;:12;;;;;;10329:1109;;;11363:10;;:17;;11378:1;11363:17;:14;:17;:::i;:::-;11351:9;:29;-1:-1:-1;11399:5:0;;-1:-1:-1;;11399:5:0;10329:1109;-1:-1:-1;;;9942:3:0;;9913:1536;;;;9716:1740;:::o;15221:159::-;-1:-1:-1;;;;;15332:19:0;;;;15308:4;15332:19;;;:5;:19;;;;;;;;:40;;;:32;;;;:40;;;;;15221:159::o;1481:27::-;;;-1:-1:-1;;;;;1481:27:0;;:::o;11525:184::-;11598:12;;11573:4;;-1:-1:-1;;;;;11598:12:0;11614:10;11598:26;11590:52;;;;;-1:-1:-1;;;11590:52:0;;;;;;;;;;;;-1:-1:-1;;;11590:52:0;;;;;;;;;;;;;;;-1:-1:-1;11663:10:0;:16;11697:4;;11525:184::o;1587:25::-;;;;:::o;1906:60::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;1652:35::-;;;;:::o;140:179::-;198:7;230:5;;;254:6;;;;246:46;;;;;-1:-1:-1;;;246:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;310:1;140:179;-1:-1:-1;;;140:179:0:o;517:246::-;575:7;599:6;595:47;;-1:-1:-1;629:1:0;622:8;;595:47;664:5;;;668:1;664;:5;:1;688:5;;;;;:10;680:56;;;;-1:-1:-1;;;680:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;771:177;829:7;861:1;857;:5;849:44;;;;;-1:-1:-1;;;849:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;904:9;920:1;916;:5;;;;;;;771:177;-1:-1:-1;;;;771:177:0:o;6101:3550::-;6255:25;;:::i;:::-;6305:10;6301:1947;;6336:6;6346:1;6336:11;:26;;;;6351:6;6361:1;6351:11;6336:26;6332:1803;;;-1:-1:-1;;;;;6405:19:0;;;6396:40;6405:19;;;:5;:19;;;;;;;;:30;;;6396:40;;:8;:40;;;;;;;;;;6383:7;;:10;-1:-1:-1;;;;;6383:53:0;;;:10;;;;;;:53;6332:1803;;;6462:6;6472:1;6462:11;:26;;;;6477:6;6487:1;6477:11;6462:26;6458:1677;;;-1:-1:-1;;;;;6531:19:0;;;6522:40;6531:19;;;:5;:19;;;;;;;;:30;;;6522:40;;:8;:40;;;;;;;;;;6509:10;;;:53;6522:40;6509:7;6522:40;6609:10;;;;;-1:-1:-1;;;;;6603:17:0;-1:-1:-1;;;;;6603:17:0;;;;;;;;;;;;:28;;;6594:38;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6594:38:0;6581:7;6589:1;6581:10;;;;;;6458:1677;6658:6;6668:1;6658:11;:26;;;;6673:6;6683:1;6673:11;6658:26;6654:1481;;;-1:-1:-1;;;;;6727:19:0;;;6718:40;6727:19;;;:5;:19;;;;;;;;:30;;;;;6718:40;;:8;:40;;;;;;;;;6705:10;;;:53;;;6799:17;;;;;;;;:28;;;6790:38;;;;;;;;;;;;;6777:10;;;:51;6718:8;:40;;6705:10;;6875;;6654:1481;6924:6;6934:1;6924:11;:27;;;;6939:6;6949:2;6939:12;6924:27;6920:1215;;;-1:-1:-1;;;;;6994:19:0;;;6985:40;6994:19;;;:5;:19;;;;;;;;:30;;;;;6985:40;;:8;:40;;;;;;;;;6972:10;;;:53;;;7066:17;;;;;;;;:28;;;7057:38;;;;;;;;;;;7044:10;;;:51;;;7136:17;;;;;;;;:28;;;;7127:38;;;;;;;;;;;;7114:10;;;:51;6985:40;6972:10;7122:1;7212:10;;6920:1215;7261:6;7271:1;7261:11;:27;;;;7276:6;7286:2;7276:12;7261:27;7257:878;;;-1:-1:-1;;;;;7331:19:0;;;7322:40;7331:19;;;:5;:19;;;;;;;;:30;;;;;7322:40;;:8;:40;;;;;;;;;7309:10;;;:53;;;7403:17;;;;;;;;:28;;;7394:38;;;;;;;;;;;7381:10;;;:51;;;7473:17;;;;;;;;:28;;;7464:38;;;;;;;;;;;7451:10;;;:51;;;7543:17;;;;;;;;:28;;;;7534:38;;;;;;;;;;;;7521:10;;;:51;7322:40;7309:10;7529:1;7619:10;;7257:878;7668:6;7678:1;7668:11;:27;;;;7683:6;7693:2;7683:12;7668:27;7664:471;;;-1:-1:-1;;;;;7738:19:0;;;7729:40;7738:19;;;:5;:19;;;;;;;;:30;;;;;7729:40;;:8;:40;;;;;;;;;7716:10;;;:53;;;7810:17;;;;;;;;:28;;;7801:38;;;;;;;;;;;7788:10;;;:51;;;7880:17;;;;;;;;:28;;;7871:38;;;;;;;;;;;7858:10;;;:51;;;7950:17;;;;;;;;:28;;;7941:38;;;;;;;;;;;7928:10;;;:51;;;8020:17;;;;;;;;:28;;;8011:38;;;;;;;;;;;7998:10;;;:51;;;8090:17;;;;;;;;:28;;8081:38;;;;;;;;;8068:51;;7664:471;6301:1947;;;8156:5;8165:1;8156:10;8152:96;;;-1:-1:-1;;;;;8205:19:0;;;8196:40;8205:19;;;:5;:19;;;;;;;;:30;;;8196:40;;:8;:40;;;;;;;8183:53;;8152:96;8269:10;;-1:-1:-1;;;;;8263:17:0;;;;;:5;8269:10;8263:17;;;;:25;;;8258:56;;8312:1;8303:11;;:8;:11;;;;-1:-1:-1;;;;;8303:11:0;8290:24;;8258:56;8349:10;8339:21;;;;:9;:21;;;;;;8364:2;-1:-1:-1;8335:84:0;;8405:1;8396:11;;:8;:11;;;;-1:-1:-1;;;;;8396:11:0;8383:24;;8335:84;8439:10;;-1:-1:-1;;;;;8433:17:0;;;;;:5;8439:10;8433:17;;;;;;;:38;;;:30;;:38;;;;;;8475:3;-1:-1:-1;8429:1215:0;;8507:18;8528:36;8553:10;8529:18;8530:4;8540:6;8529:18;:10;:18;:::i;8528:36::-;8634:10;;8642:1;8652:19;;;:11;8634:10;8652:19;;;;;8507:57;;-1:-1:-1;;;;;;8618:33:0;;:71;;8652:36;;8676:11;8652:36;:23;:36;:::i;:::-;8618:71;;;;;;;;;;;;;;;;;;;;;8617:149;;;;-1:-1:-1;8733:12:0;;8717:48;;-1:-1:-1;;;;;8733:12:0;;;;8717:48;;;;;8753:11;;8733:12;8717:48;8733:12;8717:48;8753:11;8733:12;8717:48;;;;;;;8617:149;:221;;;;-1:-1:-1;8794:5:0;;;:44;;-1:-1:-1;;;8794:44:0;;8805:10;8794:44;;;;;;;;;;;;-1:-1:-1;;;;;8794:5:0;;;;:10;;8805;;8817;;8829:4;;8835:2;;8794:44;;;8829:4;;8794:44;;;;;;8829:4;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8794:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8794:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8794:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8794:44:0;8617:221;8609:253;;;;;-1:-1:-1;;;8609:253:0;;;;;;;;;;;;-1:-1:-1;;;8609:253:0;;;;;;;;;;;;;;;8964:19;;;;:11;:19;;;;;;;;;8932:10;;-1:-1:-1;;;;;8926:17:0;;;:5;:17;;;;;;:33;;;:58;;;:37;:58;:::i;:::-;8896:10;;-1:-1:-1;;;;;8890:17:0;;;;;;;:5;8896:10;8890:17;;;;;;;:33;;:94;;;;9065:19;;;:11;:19;;;;;;9041:10;;9031:21;;;;;:9;:21;;;;;:29;;;;;;;;;;:54;;;:33;:54;:::i;:::-;9009:10;;-1:-1:-1;;;;;8999:21:0;;;;;;;:9;9009:10;8999:21;;;;;;;:29;;;;;;;;:86;;;;9173:10;;9139;9151:17;;;:5;:17;;;;;:20;;;;;9191:10;;9185:17;;;;;;;:20;;;;9215:19;;;:11;:19;;;;;;;9117:123;;;;;;;;;;;;;;;;;;;;;;;;;9236:3;9117:123;;;;;;;;;;;;;;;;;;;;8429:1215;;;;9287:10;9277:21;;;;:9;:21;;;;;;9301:2;-1:-1:-1;9273:360:0;;;9358:10;9348:21;;;;:9;:21;;;;;;:28;;9374:1;9348:28;:25;:28;:::i;:::-;9334:10;9324:21;;;;:9;:21;;;;;;;;:52;;;;9455:10;;9433:5;:17;;;;;:20;;;;;9473:10;;-1:-1:-1;;;;;9467:17:0;;;;;;;;:20;;;;9497:19;;;:11;:19;;;;;;;9398:123;;;;;;;;;;;;;;;;;;;;;;;;;9517:3;9398:123;;;;;;;;;;;;;;;;;;9577:10;;9554:63;;9566:1;;9569:6;;9589:11;9602:4;9608:2;9612:4;9554:11;:63::i;:::-;6101:3550;;;;;;;;:::o;327:182::-;385:7;418:1;413;:6;;405:49;;;;;-1:-1:-1;;;405:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;477:5:0;;;327:182::o;1162:14323::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1162:14323:0;-1:-1:-1;;;;;1162:14323:0;;;;;;;;;;;-1:-1:-1;1162:14323:0;;;;;;;-1:-1:-1;1162:14323:0;;;-1:-1:-1;1162:14323:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;-1:-1;1162:14323:0;;;-1:-1:-1;;1162:14323:0:o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;1162:14323:0;;;;;;

Swarm Source

bzzr://d21bc9db433ed61f1ef40b4561cc3e35dbb36bba5c498cd0a0f13d8af04996e2

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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