ETH Price: $2,036.98 (-1.91%)

Contract

0x4564bA3df16C1079DF56981b5B0cBB56191158C0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy Mine Gold105955862020-08-04 20:59:531694 days ago1596574793IN
0x4564bA3d...6191158C0
0.3 ETH0.0107018232
Buy Mine Silver105769632020-08-01 23:52:221697 days ago1596325942IN
0x4564bA3d...6191158C0
0.2 ETH0.0097081232
Enter Mine105503672020-07-28 21:12:101701 days ago1595970730IN
0x4564bA3d...6191158C0
0.1 ETH0.0079768840
Enter Mine105431662020-07-27 18:36:521702 days ago1595875012IN
0x4564bA3d...6191158C0
0.1 ETH0.0147386787
Buy Mine Silver104290942020-07-10 2:34:441720 days ago1594348484IN
0x4564bA3d...6191158C0
0.2 ETH0.0063361932
Enter Mine104289782020-07-10 2:09:031720 days ago1594346943IN
0x4564bA3d...6191158C0
0.1 ETH0.0055838128
Enter Mine104267822020-07-09 18:07:541720 days ago1594318074IN
0x4564bA3d...6191158C0
0.1 ETH0.0011547449.0048
Enter Mine104091052020-07-07 0:25:281723 days ago1594081528IN
0x4564bA3d...6191158C0
0.1 ETH0.0045740727
Buy Mine Rubi104021732020-07-05 22:43:271724 days ago1593989007IN
0x4564bA3d...6191158C0
0.4 ETH0.0111801535
Buy Mine Gold104021592020-07-05 22:40:581724 days ago1593988858IN
0x4564bA3d...6191158C0
0.3 ETH0.0069670335
Buy Mine Silver103873692020-07-03 15:48:481726 days ago1593791328IN
0x4564bA3d...6191158C0
0.2 ETH0.0116682635
Buy Mine Rubi103859412020-07-03 10:29:131727 days ago1593772153IN
0x4564bA3d...6191158C0
0.4 ETH0.0053743527
Buy Mine Rubi103849012020-07-03 6:35:481727 days ago1593758148IN
0x4564bA3d...6191158C0
0.4 ETH0.002727
Enter Mine103842782020-07-03 4:14:341727 days ago1593749674IN
0x4564bA3d...6191158C0
0.1 ETH0.0008243235.00000269
Enter Mine103842782020-07-03 4:14:341727 days ago1593749674IN
0x4564bA3d...6191158C0
0.1 ETH0.0043872822
Enter Mine103841132020-07-03 3:40:281727 days ago1593747628IN
0x4564bA3d...6191158C0
0.1 ETH0.0007069230.00000145
Enter Mine103838212020-07-03 2:32:321727 days ago1593743552IN
0x4564bA3d...6191158C0
0.1 ETH0.0006833529
Enter Mine103838052020-07-03 2:28:311727 days ago1593743311IN
0x4564bA3d...6191158C0
0.1 ETH0.0006437127.31778392
Enter Mine103837842020-07-03 2:22:571727 days ago1593742977IN
0x4564bA3d...6191158C0
0.1 ETH0.0005891725.00336
Enter Mine103837642020-07-03 2:19:081727 days ago1593742748IN
0x4564bA3d...6191158C0
0.1 ETH0.0005891725.00336
Enter Mine103836192020-07-03 1:47:331727 days ago1593740853IN
0x4564bA3d...6191158C0
0.1 ETH0.0006597928.00000145
Buy Mine Rubi103828352020-07-02 23:03:171727 days ago1593730997IN
0x4564bA3d...6191158C0
0.4 ETH0.0013527
Buy Mine Gold103808472020-07-02 15:36:281727 days ago1593704188IN
0x4564bA3d...6191158C0
0.3 ETH0.0086246627
Buy Mine Gold103806722020-07-02 14:59:311727 days ago1593701971IN
0x4564bA3d...6191158C0
0.3 ETH0.002727
Buy Mine Gold103806552020-07-02 14:57:071727 days ago1593701827IN
0x4564bA3d...6191158C0
0.3 ETH0.002727
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-105955862020-08-04 20:59:531694 days ago1596574793
0x4564bA3d...6191158C0
0.15 ETH
-105955862020-08-04 20:59:531694 days ago1596574793
0x4564bA3d...6191158C0
0.15 ETH
-105769632020-08-01 23:52:221697 days ago1596325942
0x4564bA3d...6191158C0
0.1 ETH
-105769632020-08-01 23:52:221697 days ago1596325942
0x4564bA3d...6191158C0
0.1 ETH
-105503672020-07-28 21:12:101701 days ago1595970730
0x4564bA3d...6191158C0
0.047 ETH
-105503672020-07-28 21:12:101701 days ago1595970730
0x4564bA3d...6191158C0
0.047 ETH
-105503672020-07-28 21:12:101701 days ago1595970730
0x4564bA3d...6191158C0
0.006 ETH
-105431662020-07-27 18:36:521702 days ago1595875012
0x4564bA3d...6191158C0
0.047 ETH
-105431662020-07-27 18:36:521702 days ago1595875012
0x4564bA3d...6191158C0
0.047 ETH
-105431662020-07-27 18:36:521702 days ago1595875012
0x4564bA3d...6191158C0
0.006 ETH
-104290942020-07-10 2:34:441720 days ago1594348484
0x4564bA3d...6191158C0
0.1 ETH
-104290942020-07-10 2:34:441720 days ago1594348484
0x4564bA3d...6191158C0
0.1 ETH
-104289782020-07-10 2:09:031720 days ago1594346943
0x4564bA3d...6191158C0
0.047 ETH
-104289782020-07-10 2:09:031720 days ago1594346943
0x4564bA3d...6191158C0
0.047 ETH
-104289782020-07-10 2:09:031720 days ago1594346943
0x4564bA3d...6191158C0
0.006 ETH
-104091052020-07-07 0:25:281723 days ago1594081528
0x4564bA3d...6191158C0
0.047 ETH
-104091052020-07-07 0:25:281723 days ago1594081528
0x4564bA3d...6191158C0
0.047 ETH
-104091052020-07-07 0:25:281723 days ago1594081528
0x4564bA3d...6191158C0
0.006 ETH
-104021732020-07-05 22:43:271724 days ago1593989007
0x4564bA3d...6191158C0
0.2 ETH
-104021732020-07-05 22:43:271724 days ago1593989007
0x4564bA3d...6191158C0
0.2 ETH
-104021592020-07-05 22:40:581724 days ago1593988858
0x4564bA3d...6191158C0
0.15 ETH
-104021592020-07-05 22:40:581724 days ago1593988858
0x4564bA3d...6191158C0
0.15 ETH
-103873692020-07-03 15:48:481726 days ago1593791328
0x4564bA3d...6191158C0
0.1 ETH
-103873692020-07-03 15:48:481726 days ago1593791328
0x4564bA3d...6191158C0
0.1 ETH
-103859412020-07-03 10:29:131727 days ago1593772153
0x4564bA3d...6191158C0
0.2 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DiamondMine

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
Yes with 200 runs

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

/*
* ==========================================================
“Even if you feel lost and weak, remember that each day can be the beginning of something wonderful. Do not give up."
I am diamondmine;
 _______   __                                                    __  __       __  __                     
/       \ /  |                                                  /  |/  \     /  |/  |                    
$$$$$$$  |$$/   ______   _____  ____    ______   _______    ____$$ |$$  \   /$$ |$$/  _______    ______  
$$ |  $$ |/  | /      \ /     \/    \  /      \ /       \  /    $$ |$$$  \ /$$$ |/  |/       \  /      \ 
$$ |  $$ |$$ | $$$$$$  |$$$$$$ $$$$  |/$$$$$$  |$$$$$$$  |/$$$$$$$ |$$$$  /$$$$ |$$ |$$$$$$$  |/$$$$$$  |
$$ |  $$ |$$ | /    $$ |$$ | $$ | $$ |$$ |  $$ |$$ |  $$ |$$ |  $$ |$$ $$ $$/$$ |$$ |$$ |  $$ |$$    $$ |
$$ |__$$ |$$ |/$$$$$$$ |$$ | $$ | $$ |$$ \__$$ |$$ |  $$ |$$ \__$$ |$$ |$$$/ $$ |$$ |$$ |  $$ |$$$$$$$$/ 
$$    $$/ $$ |$$    $$ |$$ | $$ | $$ |$$    $$/ $$ |  $$ |$$    $$ |$$ | $/  $$ |$$ |$$ |  $$ |$$       |
$$$$$$$/  $$/  $$$$$$$/ $$/  $$/  $$/  $$$$$$/  $$/   $$/  $$$$$$$/ $$/      $$/ $$/ $$/   $$/  $$$$$$$/ 

This contract is made and designed for you and we all have to work to keep it active, keeping the mines full and removing as much stone as possible.
Our stones are: Silver, Gold, Ruby, Sapphire, Emerald, Diamond.

Our official networks
----- Website -----
https://diamondmine.live,
https://diamondmine.money,
https://diamondmine.run
Telegram Channel: https://t.me/diamondmineofficial
Hashtag: #DiamondMine
WhatsApp link : https://chat.whatsapp.com/FnzZDJEL75B95EoPBKXWxA
* ==========================================================
*/
pragma solidity >=0.5.12 <0.7.0;

contract DiamondMine {

    struct User {
        uint id;
        uint referrerCount;
        uint referrerId;
        uint earnedFromMine;
        uint earnedFromRef;
        uint earnedFromGlobal;
        address[] referrals;
    }
    
    struct UsersMine {
        uint id;
        uint referrerId;
        uint reinvestCount;
    }
    
    struct MineSlots {
        uint id;
        address userAddress;
        uint referrerId;
        uint8 eventsCount;
    }
        
    modifier validReferrerId(uint _referrerId) {
        require((_referrerId > 0) && (_referrerId < newUserId), "Invalid referrer ID");
        _;
    }
    
    event RegisterUserEvent(uint _userid, address indexed _user, address indexed _referrerAddress, uint8 indexed _automine, uint _amount, uint _time);
    event ReinvestEvent(uint _userid, address indexed _user, address indexed _referrerAddress, uint8 indexed _automine, uint _amount, uint _time);
    event DistributeUplineEvent(uint amount, address indexed _sponsorAddress, address indexed _fromAddress, uint _level, uint8 _fromMine, uint _time);
    event ReferralPaymentEvent(uint amount, address indexed _from, address indexed _to, uint8 indexed _fromMine, uint _time);

    mapping(address => User) public users;
    mapping(address => UsersMine) public users_2;
    mapping(uint => MineSlots) public mine_slots_2;
    mapping(address => UsersMine) public users_3;
    mapping(uint => MineSlots) public mine_slots_3;
    mapping(address => UsersMine) public users_4;
    mapping(uint => MineSlots) public mine_slots_4;
    mapping(address => UsersMine) public users_5;
    mapping(uint => MineSlots) public mine_slots_5;
    mapping(address => UsersMine) public users_6;
    mapping(uint => MineSlots) public mine_slots_6;
    mapping(address => UsersMine) public users_7;
    mapping(uint => MineSlots) public mine_slots_7;

    mapping(uint => address) public idToAddress;
    mapping (uint8 => uint8) public uplineAmount;
    
    uint public newUserId = 1;
    uint public newUserId_ap2 = 1;
    uint public newUserId_ap3 = 1;
    uint public newUserId_ap4 = 1;
    uint public newUserId_ap5 = 1;
    uint public newUserId_ap6 = 1;
    uint public newUserId_ap7 = 1;

    uint public newSlotId_ap2 = 1;
    uint public activeSlot_ap2 = 1;
    uint public newSlotId_ap3 = 1;
    uint public activeSlot_ap3 = 1;
    uint public newSlotId_ap4 = 1;
    uint public activeSlot_ap4 = 1;
    uint public newSlotId_ap5 = 1;
    uint public activeSlot_ap5 = 1;
    uint public newSlotId_ap6 = 1;
    uint public activeSlot_ap6 = 1;
    uint public newSlotId_ap7 = 1;
    uint public activeSlot_ap7 = 1;
    
    address public owner;
    
    constructor() public {
        
        uplineAmount[1] = 50;
        uplineAmount[2] = 25;
        uplineAmount[3] = 15;
        uplineAmount[4] = 10;
        uplineAmount[5] = 6;
        uplineAmount[6] = 47;
        uplineAmount[7] = 100;
        
        owner =  msg.sender;
        
        User memory user = User({
            id: newUserId,
            referrerCount: uint(0),
            referrerId: uint(0),
            earnedFromMine: uint(0),
            earnedFromRef: uint(0),
            earnedFromGlobal: uint(0),
            referrals: new address[](0)
        });
        
        users[ msg.sender] = user;
        idToAddress[newUserId] =  msg.sender;
        newUserId++;
        
        //////
        
        UsersMine memory user2 = UsersMine({
            id: newSlotId_ap2,
            referrerId: uint(0),
            reinvestCount: uint(0)
        });
        
        users_2[ msg.sender] = user2;
        
        MineSlots memory _newSlot2 = MineSlots({
            id: newSlotId_ap2,
            userAddress:  msg.sender,
            referrerId: uint(0),
            eventsCount: uint8(0)
        });
        
        mine_slots_2[newSlotId_ap2] = _newSlot2;
        newUserId_ap2++;
        newSlotId_ap2++;
        
        ///////
        
        UsersMine memory user3 = UsersMine({
            id: newSlotId_ap3,
            referrerId: uint(0),
            reinvestCount: uint(0)
        });
        
        users_3[ msg.sender] = user3;
        
        MineSlots memory _newSlot3 = MineSlots({
            id: newSlotId_ap3,
            userAddress:  msg.sender,
            referrerId: uint(0),
            eventsCount: uint8(0)
        });
        
        mine_slots_3[newSlotId_ap3] = _newSlot3;
        newUserId_ap3++;
        newSlotId_ap3++;
        
        ///////
        
        UsersMine memory user4 = UsersMine({
            id: newSlotId_ap4,
            referrerId: uint(0),
            reinvestCount: uint(0)
        });
        
        users_4[ msg.sender] = user4;
        
        MineSlots memory _newSlot4 = MineSlots({
            id: newSlotId_ap4,
            userAddress:  msg.sender,
            referrerId: uint(0),
            eventsCount: uint8(0)
        });
        
        mine_slots_4[newSlotId_ap4] = _newSlot4;
        newUserId_ap4++;
        newSlotId_ap4++;
        
        ///////
        
        UsersMine memory user5 = UsersMine({
            id: newSlotId_ap5,
            referrerId: uint(0),
            reinvestCount: uint(0)
        });
        
        users_5[ msg.sender] = user5;
        
        MineSlots memory _newSlot5 = MineSlots({
            id: newSlotId_ap5,
            userAddress:  msg.sender,
            referrerId: uint(0),
            eventsCount: uint8(0)
        });
        
        mine_slots_5[newSlotId_ap5] = _newSlot5;
        newUserId_ap5++;
        newSlotId_ap5++;
        
        ///////
        
        UsersMine memory user6 = UsersMine({
            id: newSlotId_ap6,
            referrerId: uint(0),
            reinvestCount: uint(0)
        });
        
        users_6[ msg.sender] = user6;
        
        MineSlots memory _newSlot6 = MineSlots({
            id: newSlotId_ap6,
            userAddress:  msg.sender,
            referrerId: uint(0),
            eventsCount: uint8(0)
        });
        
        mine_slots_6[newSlotId_ap6] = _newSlot6;
        newUserId_ap6++;
        newSlotId_ap6++;
        
        ///////
        
        UsersMine memory user7 = UsersMine({
            id: newSlotId_ap7,
            referrerId: uint(0),
            reinvestCount: uint(0)
        });
        
        users_7[msg.sender] = user7;
        
        MineSlots memory _newSlot7 = MineSlots({
            id: newSlotId_ap7,
            userAddress:  msg.sender,
            referrerId: uint(0),
            eventsCount: uint8(0)
        });
        
        mine_slots_7[newSlotId_ap7] = _newSlot7;
        newUserId_ap7++;
        newSlotId_ap7++;
    }
    
    function enterMine(uint _referrerId) 
      public 
      payable 
      validReferrerId(_referrerId) 
    {
        require(msg.value == 0.1 ether, "Participation fee is 0.1 ETH");
        require(!isUserExists(msg.sender, 1), "User already registered");

        address _userAddress = msg.sender;
        address _referrerAddress = idToAddress[_referrerId];
        
        uint32 size;
        assembly {
            size := extcodesize(_userAddress)
        }
        require(size == 0, "cannot be a contract");
        
        users[_userAddress] = User({
            id: newUserId,
            referrerCount: uint(0),
            referrerId: _referrerId,
            earnedFromMine: uint(0),
            earnedFromRef: uint(0),
            earnedFromGlobal: uint(0),
            referrals: new address[](0)
        });
        idToAddress[newUserId] = _userAddress;

        emit RegisterUserEvent(newUserId, msg.sender, _referrerAddress, 1, msg.value, now);
        
        newUserId++;
        
        users[_referrerAddress].referrals.push(_userAddress);
        users[_referrerAddress].referrerCount++;

        uint256 amountToDistribute = msg.value;
        address sponsorAddress = idToAddress[_referrerId];

        payRegister(0x2e674473Dd4CB1Fc1B98189DE0fEA078cd99ba53, 5);
        payRegister(0x89E7902830dd3ad68fe44F29D44260f26c412023, 6);
        payRegister(0x65563f4Cb686Ddfaeb201dcD1C17a458Dd51F651, 6);
        
    }
      function payRegister(address _sponsorAddress, uint8 _percentage)
        private
        returns (uint256 distributeAmount)
    {
        distributeAmount = (msg.value / 100) * uplineAmount[_percentage];
        if (address(uint160(_sponsorAddress)).send(distributeAmount)) {
            emit DistributeUplineEvent(
                distributeAmount,
                _sponsorAddress,
                msg.sender,
                _percentage,
                _percentage,
                now
            );
        }
        return distributeAmount;
    }
    
    function buyMineSilver() 
      public 
      payable 
    {
        require(msg.value == 0.2 ether, "Participation fee in Automine is 0.2 ETH");
        require(isUserExists(msg.sender, 1), "User not present in AP1");
        require(isUserQualified(msg.sender), "User not qualified in AP1");
        require(!isUserExists(msg.sender, 2), "User already registered in AP2");

        uint eventCount = mine_slots_2[activeSlot_ap2].eventsCount;
        uint newEventCount = eventCount + 1;

        if (newEventCount == 3) {
            require(reinvestSlot(
                mine_slots_2[activeSlot_ap2].userAddress, 
                mine_slots_2[activeSlot_ap2].id, 
                idToAddress[users[mine_slots_2[activeSlot_ap2].userAddress].referrerId], 
                2
            ));
            mine_slots_2[activeSlot_ap2].eventsCount++;
        }
        
        uint _referrerId = users[msg.sender].referrerId;

        UsersMine memory user2 = UsersMine({
            id: newSlotId_ap2,
            referrerId: _referrerId,
            reinvestCount: uint(0)
        });
        users_2[msg.sender] = user2;
        
        MineSlots memory _newSlot = MineSlots({
            id: newSlotId_ap2,
            userAddress: msg.sender,
            referrerId: _referrerId,
            eventsCount: uint8(0)
        });
        
        mine_slots_2[newSlotId_ap2] = _newSlot;
        newUserId_ap2++;
        emit RegisterUserEvent(newSlotId_ap2, msg.sender, idToAddress[_referrerId], 2, msg.value, now);
        
        if (_referrerId > 0) {
            payUpline(idToAddress[_referrerId], 1, 2);
            users[idToAddress[_referrerId]].earnedFromRef += msg.value/2;
        }
        else{
            payUpline(idToAddress[1], 1, 2);
            users[idToAddress[1]].earnedFromRef += msg.value/2;
        }

        newSlotId_ap2++;

        if (eventCount < 2) {
            
            if(eventCount == 0) {
                payUpline(mine_slots_2[activeSlot_ap2].userAddress, 1, 2);
                users[mine_slots_2[activeSlot_ap2].userAddress].earnedFromGlobal += msg.value/2;
            }
            if(eventCount == 1) {
                if (mine_slots_2[activeSlot_ap2].referrerId > 0) {
                    payUpline(idToAddress[mine_slots_2[activeSlot_ap2].referrerId], 1, 2);
                    users[idToAddress[mine_slots_2[activeSlot_ap2].referrerId]].earnedFromRef += msg.value/2;
                }
                else {
                    payUpline(idToAddress[1], 1, 2);
                    users[idToAddress[1]].earnedFromRef += msg.value/2;
                }
            }

            mine_slots_2[activeSlot_ap2].eventsCount++;
            
        }
        
    }

    function buyMineGold() 
      public 
      payable 
    {
        require(msg.value == 0.3 ether, "Participation fee in Automine is 0.3 ETH");
        require(isUserExists(msg.sender, 1), "User not present in AP1");
        require(isUserQualified(msg.sender), "User not qualified in AP1");
        require(!isUserExists(msg.sender, 3), "User already registered in AP3");
        require(isUserQualifiedbuyMineGold(msg.sender), "User not qualified in for payment mine MineGold");

        uint eventCount = mine_slots_3[activeSlot_ap3].eventsCount;
        uint newEventCount = eventCount + 1;

        if (newEventCount == 3) {
            require(reinvestSlot(
                mine_slots_3[activeSlot_ap3].userAddress, 
                mine_slots_3[activeSlot_ap3].id, 
                idToAddress[users[mine_slots_3[activeSlot_ap3].userAddress].referrerId], 
                3
            ));
            mine_slots_3[activeSlot_ap3].eventsCount++;
        }
        
        uint _referrerId = users[msg.sender].referrerId;

        UsersMine memory user3 = UsersMine({
            id: newSlotId_ap3,
            referrerId: _referrerId,
            reinvestCount: uint(0)
        });
        users_3[msg.sender] = user3;
        
        MineSlots memory _newSlot = MineSlots({
            id: newSlotId_ap3,
            userAddress: msg.sender,
            referrerId: _referrerId,
            eventsCount: uint8(0)
        });
        
        mine_slots_3[newSlotId_ap3] = _newSlot;
        newUserId_ap3++;
        emit RegisterUserEvent(newSlotId_ap3, msg.sender, idToAddress[_referrerId], 3, msg.value, now);
        
        if (_referrerId > 0) {
            payUpline(idToAddress[_referrerId], 1, 3);
            users[idToAddress[_referrerId]].earnedFromRef += msg.value/2;
        }
        else{
            payUpline(idToAddress[1], 1, 3);
            users[idToAddress[1]].earnedFromRef += msg.value/2;
        }

        newSlotId_ap3++;

        if (eventCount < 2) {
            
            if(eventCount == 0) {
                payUpline(mine_slots_3[activeSlot_ap3].userAddress, 1, 3);
                users[mine_slots_3[activeSlot_ap3].userAddress].earnedFromGlobal += msg.value/2;
            }
            if(eventCount == 1) {
                if (mine_slots_3[activeSlot_ap3].referrerId > 0) {
                    payUpline(idToAddress[mine_slots_3[activeSlot_ap3].referrerId], 1, 3);
                    users[idToAddress[mine_slots_3[activeSlot_ap3].referrerId]].earnedFromRef += msg.value/2;
                }
                else {
                    payUpline(idToAddress[1], 1, 3);
                    users[idToAddress[1]].earnedFromRef += msg.value/2;
                }
            }

            mine_slots_3[activeSlot_ap3].eventsCount++;
            
        }
        
    }

    function buyMineRubi() 
      public 
      payable 
    {
        require(msg.value == 0.4 ether, "Participation fee in Automine is 0.4 ETH");
        require(isUserExists(msg.sender, 1), "User not present in AP1");
        require(isUserQualified(msg.sender), "User not qualified in AP1");
        require(!isUserExists(msg.sender, 4), "User already registered in AP4");
        require(isUserQualifiedbuyMineRubi(msg.sender), "User not qualified in for payment mine MineRubi");

        uint eventCount = mine_slots_4[activeSlot_ap4].eventsCount;
        uint newEventCount = eventCount + 1;

        if (newEventCount == 3) {
            require(reinvestSlot(
                mine_slots_4[activeSlot_ap4].userAddress, 
                mine_slots_4[activeSlot_ap4].id, 
                idToAddress[users[mine_slots_4[activeSlot_ap4].userAddress].referrerId], 
                4
            ));
            mine_slots_4[activeSlot_ap4].eventsCount++;
        }
        
        uint _referrerId = users[msg.sender].referrerId;

        UsersMine memory user4 = UsersMine({
            id: newSlotId_ap4,
            referrerId: _referrerId,
            reinvestCount: uint(0)
        });
        users_4[msg.sender] = user4;
        
        MineSlots memory _newSlot = MineSlots({
            id: newSlotId_ap4,
            userAddress: msg.sender,
            referrerId: _referrerId,
            eventsCount: uint8(0)
        });
        
        mine_slots_4[newSlotId_ap4] = _newSlot;
        newUserId_ap4++;
        emit RegisterUserEvent(newSlotId_ap4, msg.sender, idToAddress[_referrerId], 4, msg.value, now);
        
        if (_referrerId > 0) {
            payUpline(idToAddress[_referrerId], 1, 4);
            users[idToAddress[_referrerId]].earnedFromRef += msg.value/2;
        }
        else{
            payUpline(idToAddress[1], 1, 4);
            users[idToAddress[1]].earnedFromRef += msg.value/2;
        }

        newSlotId_ap4++;

        if (eventCount < 2) {
            
            if(eventCount == 0) {
                payUpline(mine_slots_4[activeSlot_ap4].userAddress, 1, 4);
                users[mine_slots_4[activeSlot_ap4].userAddress].earnedFromGlobal += msg.value/2;
            }
            if(eventCount == 1) {
                if (mine_slots_4[activeSlot_ap4].referrerId > 0) {
                    payUpline(idToAddress[mine_slots_4[activeSlot_ap4].referrerId], 1, 4);
                    users[idToAddress[mine_slots_4[activeSlot_ap4].referrerId]].earnedFromRef += msg.value/2;
                }
                else {
                    payUpline(idToAddress[1], 1, 4);
                    users[idToAddress[1]].earnedFromRef += msg.value/2;
                }
            }

            mine_slots_4[activeSlot_ap4].eventsCount++;
            
        }
        
    }

    function buyMineSapphire() 
      public 
      payable 
    {
        require(msg.value == 0.5 ether, "Participation fee in Automine is 0.5 ETH");
        require(isUserExists(msg.sender, 1), "User not present in AP1");
        require(isUserQualified(msg.sender), "User not qualified in AP1");
        require(!isUserExists(msg.sender, 5), "User already registered in AP5");
         require(isUserQualifiedbuyMineSapphire(msg.sender), "User not qualified in for payment mine MineSapphire");

        uint eventCount = mine_slots_5[activeSlot_ap5].eventsCount;
        uint newEventCount = eventCount + 1;

        if (newEventCount == 3) {
            require(reinvestSlot(
                mine_slots_5[activeSlot_ap5].userAddress, 
                mine_slots_5[activeSlot_ap5].id, 
                idToAddress[users[mine_slots_5[activeSlot_ap5].userAddress].referrerId], 
                5
            ));
            mine_slots_5[activeSlot_ap5].eventsCount++;
        }
        
        uint _referrerId = users[msg.sender].referrerId;

        UsersMine memory user5 = UsersMine({
            id: newSlotId_ap5,
            referrerId: _referrerId,
            reinvestCount: uint(0)
        });
        users_5[msg.sender] = user5;
        
        MineSlots memory _newSlot = MineSlots({
            id: newSlotId_ap5,
            userAddress: msg.sender,
            referrerId: _referrerId,
            eventsCount: uint8(0)
        });
        
        mine_slots_5[newSlotId_ap5] = _newSlot;
        newUserId_ap5++;
        emit RegisterUserEvent(newSlotId_ap5, msg.sender, idToAddress[_referrerId], 5, msg.value, now);
        
        if (_referrerId > 0) {
            payUpline(idToAddress[_referrerId], 1, 5);
            users[idToAddress[_referrerId]].earnedFromRef += msg.value/2;
        }
        else{
            payUpline(idToAddress[1], 1, 5);
            users[idToAddress[1]].earnedFromRef += msg.value/2;
        }

        newSlotId_ap5++;

        if (eventCount < 2) {
            
            if(eventCount == 0) {
                payUpline(mine_slots_5[activeSlot_ap5].userAddress, 1, 5);
                users[mine_slots_5[activeSlot_ap5].userAddress].earnedFromGlobal += msg.value/2;
            }
            if(eventCount == 1) {
                if (mine_slots_5[activeSlot_ap5].referrerId > 0) {
                    payUpline(idToAddress[mine_slots_5[activeSlot_ap5].referrerId], 1, 5);
                    users[idToAddress[mine_slots_5[activeSlot_ap5].referrerId]].earnedFromRef += msg.value/2;
                }
                else {
                    payUpline(idToAddress[1], 1, 5);
                    users[idToAddress[1]].earnedFromRef += msg.value/2;
                }
            }

            mine_slots_5[activeSlot_ap5].eventsCount++;
            
        }
        
    }

    function buyMineEmerald() 
      public 
      payable 
    {
        require(msg.value == 0.7 ether, "Participation fee in Automine is 0.7 ETH");
        require(isUserExists(msg.sender, 1), "User not present in AP1");
        require(isUserQualified(msg.sender), "User not qualified in AP1");
        require(!isUserExists(msg.sender, 6), "User already registered in AP6");
        require(isUserQualifiedbuyMineEmerald(msg.sender), "User not qualified in for payment mine MineEmerald");

        uint eventCount = mine_slots_6[activeSlot_ap6].eventsCount;
        uint newEventCount = eventCount + 1;

        if (newEventCount == 3) {
            require(reinvestSlot(
                mine_slots_6[activeSlot_ap6].userAddress, 
                mine_slots_6[activeSlot_ap6].id, 
                idToAddress[users[mine_slots_6[activeSlot_ap6].userAddress].referrerId], 
                6
            ));
            mine_slots_6[activeSlot_ap6].eventsCount++;
        }
        
        uint _referrerId = users[msg.sender].referrerId;

        UsersMine memory user6 = UsersMine({
            id: newSlotId_ap6,
            referrerId: _referrerId,
            reinvestCount: uint(0)
        });
        users_6[msg.sender] = user6;
        
        MineSlots memory _newSlot = MineSlots({
            id: newSlotId_ap6,
            userAddress: msg.sender,
            referrerId: _referrerId,
            eventsCount: uint8(0)
        });
        
        mine_slots_6[newSlotId_ap6] = _newSlot;
        newUserId_ap6++;
        emit RegisterUserEvent(newSlotId_ap6, msg.sender, idToAddress[_referrerId], 6, msg.value, now);
        
        if (_referrerId > 0) {
            payUpline(idToAddress[_referrerId], 1, 6);
            users[idToAddress[_referrerId]].earnedFromRef += msg.value/2;
        }
        else{
            payUpline(idToAddress[1], 1, 6);
            users[idToAddress[1]].earnedFromRef += msg.value/2;
        }

        newSlotId_ap6++;

        if (eventCount < 2) {
            
            if(eventCount == 0) {
                payUpline(mine_slots_6[activeSlot_ap6].userAddress, 1, 6);
                users[mine_slots_6[activeSlot_ap6].userAddress].earnedFromGlobal += msg.value/2;
            }
            if(eventCount == 1) {
                if (mine_slots_6[activeSlot_ap6].referrerId > 0) {
                    payUpline(idToAddress[mine_slots_6[activeSlot_ap6].referrerId], 1, 6);
                    users[idToAddress[mine_slots_6[activeSlot_ap6].referrerId]].earnedFromRef += msg.value/2;
                }
                else {
                    payUpline(idToAddress[1], 1, 6);
                    users[idToAddress[1]].earnedFromRef += msg.value/2;
                }
            }

            mine_slots_6[activeSlot_ap6].eventsCount++;
            
        }
        
    }

    function buyMineDiamond() 
      public 
      payable 
    {
        require(msg.value == 1 ether, "Participation fee in Automine is 1 ETH");
        require(isUserExists(msg.sender, 1), "User not present in AP1");
        require(isUserQualified(msg.sender), "User not qualified in AP1");
        require(!isUserExists(msg.sender, 7), "User already registered in AP7");
        require(isUserQualifiedbuyMineDiamond(msg.sender), "User not qualified in for payment mine MineDiamond");

        uint eventCount = mine_slots_7[activeSlot_ap7].eventsCount;
        uint newEventCount = eventCount + 1;

        if (newEventCount == 3) {
            require(reinvestSlot(
                mine_slots_7[activeSlot_ap7].userAddress, 
                mine_slots_7[activeSlot_ap7].id, 
                idToAddress[users[mine_slots_7[activeSlot_ap7].userAddress].referrerId], 
                7
            ));
            mine_slots_7[activeSlot_ap7].eventsCount++;
        }
        
        uint _referrerId = users[msg.sender].referrerId;

        UsersMine memory user7 = UsersMine({
            id: newSlotId_ap7,
            referrerId: _referrerId,
            reinvestCount: uint(0)
        });
        users_7[msg.sender] = user7;
        
        MineSlots memory _newSlot = MineSlots({
            id: newSlotId_ap7,
            userAddress: msg.sender,
            referrerId: _referrerId,
            eventsCount: uint8(0)
        });
        
        mine_slots_7[newSlotId_ap7] = _newSlot;
        newUserId_ap7++;
        emit RegisterUserEvent(newSlotId_ap7, msg.sender, idToAddress[_referrerId], 7, msg.value, now);

        if (_referrerId > 0) {
            payUpline(idToAddress[_referrerId], 1, 7);
            users[idToAddress[_referrerId]].earnedFromRef += msg.value/2;
        }
        else{
            payUpline(idToAddress[1], 1, 7);
            users[idToAddress[1]].earnedFromRef += msg.value/2;
        }
        
        newSlotId_ap7++;

        if (eventCount < 2) {
            
            if(eventCount == 0) {
                payUpline(mine_slots_7[activeSlot_ap7].userAddress, 1, 7);
                users[mine_slots_7[activeSlot_ap7].userAddress].earnedFromGlobal += msg.value/2;
            }
            if(eventCount == 1) {
                if (mine_slots_7[activeSlot_ap7].referrerId > 0) {
                    payUpline(idToAddress[mine_slots_7[activeSlot_ap7].referrerId], 1, 7);
                    users[idToAddress[mine_slots_7[activeSlot_ap7].referrerId]].earnedFromRef += msg.value/2;
                }
                else {
                    payUpline(idToAddress[1], 1, 7);
                    users[idToAddress[1]].earnedFromRef += msg.value/2;
                }
            }

            mine_slots_7[activeSlot_ap7].eventsCount++;
            
        }
        
    }
    function isUserQualifiedbuyMineGold(address _userAddress)
        public
        view
        returns (bool)
    {
        return (users_2[_userAddress].id > 0);
    }

    function isUserQualifiedbuyMineRubi(address _userAddress)
        public
        view
        returns (bool)
    {
        return (users_3[_userAddress].id > 0);
    }

    function isUserQualifiedbuyMineSapphire(address _userAddress)
        public
        view
        returns (bool)
    {
        return (users_4[_userAddress].id > 0);
    }

    function isUserQualifiedbuyMineEmerald(address _userAddress)
        public
        view
        returns (bool)
    {
        return (users_5[_userAddress].id > 0);
    }

    function isUserQualifiedbuyMineDiamond(address _userAddress)
        public
        view
        returns (bool)
    {
        return (users_6[_userAddress].id > 0);
    }

    function reinvestSlot(address _userAddress, uint _userId, address _sponsorAddress, uint8 _fromMine) private returns (bool _isReinvested) {

        uint _referrerId = users[_userAddress].referrerId;

        MineSlots memory _reinvestslot = MineSlots({
            id: _userId,
            userAddress: _userAddress,
            referrerId: _referrerId,
            eventsCount: uint8(0)
        });
        
        if (_fromMine == 2) {
            users_2[mine_slots_2[activeSlot_ap2].userAddress].reinvestCount++;        
            mine_slots_2[newSlotId_ap2] = _reinvestslot;
            emit ReinvestEvent(newSlotId_ap2, _userAddress, _sponsorAddress, 2, msg.value, now);
            newSlotId_ap2++;
        }
        if (_fromMine == 3) {
            users_3[mine_slots_3[activeSlot_ap3].userAddress].reinvestCount++;        
            mine_slots_3[newSlotId_ap3] = _reinvestslot;
            emit ReinvestEvent(newSlotId_ap3, _userAddress, _sponsorAddress, 3, msg.value, now);
            newSlotId_ap3++;
        }
        if (_fromMine == 4) {
            users_4[mine_slots_4[activeSlot_ap4].userAddress].reinvestCount++;        
            mine_slots_4[newSlotId_ap4] = _reinvestslot;
            emit ReinvestEvent(newSlotId_ap4, _userAddress, _sponsorAddress, 4, msg.value, now);
            newSlotId_ap4++;
        }
        if (_fromMine == 5) {
            users_5[mine_slots_5[activeSlot_ap5].userAddress].reinvestCount++;        
            mine_slots_5[newSlotId_ap5] = _reinvestslot;
            emit ReinvestEvent(newSlotId_ap5, _userAddress, _sponsorAddress, 5, msg.value, now);
            newSlotId_ap5++;
        }
        if (_fromMine == 6) {
            users_6[mine_slots_6[activeSlot_ap6].userAddress].reinvestCount++;        
            mine_slots_6[newSlotId_ap6] = _reinvestslot;
            emit ReinvestEvent(newSlotId_ap6, _userAddress, _sponsorAddress, 6, msg.value, now);
            newSlotId_ap6++;
        }
        if (_fromMine == 7) {
            users_7[mine_slots_7[activeSlot_ap7].userAddress].reinvestCount++;        
            mine_slots_7[newSlotId_ap7] = _reinvestslot;
            emit ReinvestEvent(newSlotId_ap7, _userAddress, _sponsorAddress, 7, msg.value, now);
            newSlotId_ap7++;
        }
        
        if (_fromMine == 2) {
            mine_slots_2[activeSlot_ap2].eventsCount = 3;
            uint _nextActiveSlot = activeSlot_ap2+1;

            payUpline(mine_slots_2[_nextActiveSlot].userAddress, 1, 2);
            users[mine_slots_2[_nextActiveSlot].userAddress].earnedFromGlobal += msg.value/2;
            activeSlot_ap2++;
        }
        if (_fromMine == 3) {
            mine_slots_3[activeSlot_ap3].eventsCount = 3;
            uint _nextActiveSlot = activeSlot_ap3+1;

            payUpline(mine_slots_3[_nextActiveSlot].userAddress, 1, 3);
            users[mine_slots_3[_nextActiveSlot].userAddress].earnedFromGlobal += msg.value/2;
            activeSlot_ap3++;
        }
        if (_fromMine == 4) {
            mine_slots_4[activeSlot_ap4].eventsCount = 3;
            uint _nextActiveSlot = activeSlot_ap4+1;

            payUpline(mine_slots_4[_nextActiveSlot].userAddress, 1, 4);
            users[mine_slots_4[_nextActiveSlot].userAddress].earnedFromGlobal += msg.value/2;
            activeSlot_ap4++;
        }
        if (_fromMine == 5) {
            mine_slots_5[activeSlot_ap5].eventsCount = 3;
            uint _nextActiveSlot = activeSlot_ap5+1;

            payUpline(mine_slots_5[_nextActiveSlot].userAddress, 1, 5);
            users[mine_slots_5[_nextActiveSlot].userAddress].earnedFromGlobal += msg.value/2;
            activeSlot_ap5++;
        }
        if (_fromMine == 6) {
            mine_slots_6[activeSlot_ap6].eventsCount = 3;
            uint _nextActiveSlot = activeSlot_ap6+1;

            payUpline(mine_slots_6[_nextActiveSlot].userAddress, 1, 6);
            users[mine_slots_6[_nextActiveSlot].userAddress].earnedFromGlobal += msg.value/2;
            activeSlot_ap6++;
        }
        if (_fromMine == 7) {
            mine_slots_7[activeSlot_ap7].eventsCount = 3;
            uint _nextActiveSlot = activeSlot_ap7+1;

            payUpline(mine_slots_7[_nextActiveSlot].userAddress, 1, 7);
            users[mine_slots_7[_nextActiveSlot].userAddress].earnedFromGlobal += msg.value/2;
            activeSlot_ap7++;
        }

        _isReinvested = true;

        return _isReinvested;

    }
    
    function payUpline(address _sponsorAddress, uint8 _refLevel, uint8 _fromMine) private returns (uint distributeAmount) {        
        require( _refLevel <= 4);
        distributeAmount = msg.value / 100 * uplineAmount[_refLevel];
        if (address(uint160(_sponsorAddress)).send(distributeAmount)) {
            if (_fromMine > 1) {
                emit ReferralPaymentEvent(distributeAmount, msg.sender, _sponsorAddress, _fromMine, now);
            } else
                emit DistributeUplineEvent(distributeAmount, _sponsorAddress, msg.sender, _refLevel, _fromMine, now);
        }        
        return distributeAmount;
    }
    
    function payFirstLine(address _sponsorAddress, uint payAmount, uint8 _fromMine) private returns (uint distributeAmount) {        
        distributeAmount = payAmount;
        if (address(uint160(_sponsorAddress)).send(distributeAmount)) {
            if (_fromMine > 1) {
                emit ReferralPaymentEvent(distributeAmount, msg.sender, _sponsorAddress, _fromMine, now);
            } else emit DistributeUplineEvent(distributeAmount, _sponsorAddress, msg.sender, 1, _fromMine, now);
        }        
        return distributeAmount;        
    }
    
    function isUserQualified(address _userAddress) public view returns (bool) {
        return (users[_userAddress].referrerCount > 0);
    }
    
    function isUserExists(address _userAddress, uint8 _automine) public view returns (bool) {
        require((_automine > 0) && (_automine <= 7));
        if (_automine == 1) return (users[_userAddress].id != 0);
        if (_automine == 2) return (users_2[_userAddress].id != 0);
        if (_automine == 3) return (users_3[_userAddress].id != 0);
        if (_automine == 4) return (users_4[_userAddress].id != 0);
        if (_automine == 5) return (users_5[_userAddress].id != 0);
        if (_automine == 6) return (users_6[_userAddress].id != 0);
        if (_automine == 7) return (users_7[_userAddress].id != 0);
    }
    
    function getUserReferrals(address _userAddress)
        public
        view
        returns (address[] memory)
      {
        return users[_userAddress].referrals;
      }
    
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"_sponsorAddress","type":"address"},{"indexed":true,"internalType":"address","name":"_fromAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"_level","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"_fromMine","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"DistributeUplineEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":true,"internalType":"uint8","name":"_fromMine","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"ReferralPaymentEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_userid","type":"uint256"},{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"address","name":"_referrerAddress","type":"address"},{"indexed":true,"internalType":"uint8","name":"_automine","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"RegisterUserEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_userid","type":"uint256"},{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"address","name":"_referrerAddress","type":"address"},{"indexed":true,"internalType":"uint8","name":"_automine","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"ReinvestEvent","type":"event"},{"inputs":[],"name":"activeSlot_ap2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activeSlot_ap3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activeSlot_ap4","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activeSlot_ap5","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activeSlot_ap6","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activeSlot_ap7","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMineDiamond","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyMineEmerald","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyMineGold","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyMineRubi","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyMineSapphire","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyMineSilver","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_referrerId","type":"uint256"}],"name":"enterMine","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"getUserReferrals","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"idToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"},{"internalType":"uint8","name":"_automine","type":"uint8"}],"name":"isUserExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"isUserQualified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"isUserQualifiedbuyMineDiamond","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"isUserQualifiedbuyMineEmerald","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"isUserQualifiedbuyMineGold","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"isUserQualifiedbuyMineRubi","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_userAddress","type":"address"}],"name":"isUserQualifiedbuyMineSapphire","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mine_slots_2","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint8","name":"eventsCount","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mine_slots_3","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint8","name":"eventsCount","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mine_slots_4","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint8","name":"eventsCount","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mine_slots_5","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint8","name":"eventsCount","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mine_slots_6","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint8","name":"eventsCount","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mine_slots_7","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint8","name":"eventsCount","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newSlotId_ap2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newSlotId_ap3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newSlotId_ap4","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newSlotId_ap5","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newSlotId_ap6","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newSlotId_ap7","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newUserId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newUserId_ap2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newUserId_ap3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newUserId_ap4","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newUserId_ap5","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newUserId_ap6","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newUserId_ap7","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"uplineAmount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerCount","type":"uint256"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint256","name":"earnedFromMine","type":"uint256"},{"internalType":"uint256","name":"earnedFromRef","type":"uint256"},{"internalType":"uint256","name":"earnedFromGlobal","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users_2","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint256","name":"reinvestCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users_3","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint256","name":"reinvestCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users_4","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint256","name":"reinvestCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users_5","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint256","name":"reinvestCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users_6","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint256","name":"reinvestCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users_7","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerId","type":"uint256"},{"internalType":"uint256","name":"reinvestCount","type":"uint256"}],"stateMutability":"view","type":"function"}]

60806040526001600f5560016010556001601155600160125560016013556001601455600160155560016016556001601755600160185560016019556001601a556001601b556001601c556001601d556001601e556001601f55600160205560016021553480156200007057600080fd5b50600e6020527fa7c5ba7114a813b50159add3a36832908dc83db71d0b9a24c2ad0f83be958207805460ff199081166032179091557f9adb202b1492743bc00c81d33cdc6423fa8c79109027eb6a845391e8fc1f04818054821660191790557fe0283e559c29e31ee7f56467acc9dd307779c843a883aeeb3bf5c6128c90814480548216600f1790557fa1d6913cd9e08c872be3e7525cca82e4fc0fc298a783f19022be725b19be685a80548216600a1790557fb9bec7e2561f624fe753ff070f1599b306cbf59fafd4e8d5a8184a1ea1841bce8054821660061790557f92b4482321f41ce3aa65f798bda23d0d12a60fc5f212868a548ddb00aa49de7280548216602f17905560076000527f376529bb8a2d41b4a589a133407fc64f3212472dbd74744348be1098bf7ba08d80549091166064179055602280546001600160a01b03191633179055620001c36200082b565b6040518060e00160405280600f548152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160401b03811180156200021157600080fd5b506040519080825280602002602001820160405280156200023c578160200160208202803683370190505b509052336000908152602081815260409182902083518155818401516001820155918301516002830155606083015160038301556080830151600483015560a0830151600583015560c083015180519394508493620002a2926006850192019062000868565b5050600f80546000908152600d6020526040902080546001600160a01b031916331790558054600101905550620002d8620008d2565b50604080516060810182526016548152600060208083018281528385018381523384526001928390529490922083518155915190820155915160029092019190915562000324620008f3565b506040805160808101825260168054808352336020808501918252600085870181815260608701828152948252600292839052969020855181559151600180840180546001600160a01b0319166001600160a01b039093169290921790915595519082015590516003909101805460ff191660ff90921691909117905560108054840190558054909201909155620003bb620008d2565b506040805160608101825260185481526000602080830182815283850183815233845260039092529390912082518155925160018401555160029092019190915562000406620008f3565b506040805160808101825260188054808352336020808501918252600085870181815260608701828152948252600490925295909520845181559051600180830180546001600160a01b0319166001600160a01b03909316929092179091559451600282015590516003909101805460ff191660ff909216919091179055601180548401905580549092019091556200049e620008d2565b5060408051606081018252601a54815260006020808301828152838501838152338452600590925293909120825181559251600184015551600290920191909155620004e9620008f3565b5060408051608081018252601a8054808352336020808501918252600085870181815260608701828152948252600690925295909520845181559051600180830180546001600160a01b0319166001600160a01b03909316929092179091559451600282015590516003909101805460ff191660ff9092169190911790556012805484019055805490920190915562000581620008d2565b5060408051606081018252601c54815260006020808301828152838501838152338452600790925293909120825181559251600184015551600290920191909155620005cc620008f3565b5060408051608081018252601c8054808352336020808501918252600085870181815260608701828152948252600890925295909520845181559051600180830180546001600160a01b0319166001600160a01b03909316929092179091559451600282015590516003909101805460ff191660ff9092169190911790556013805484019055805490920190915562000664620008d2565b5060408051606081018252601e54815260006020808301828152838501838152338452600990925293909120825181559251600184015551600290920191909155620006af620008f3565b5060408051608081018252601e8054808352336020808501918252600085870181815260608701828152948252600a90925295909520845181559051600180830180546001600160a01b0319166001600160a01b03909316929092179091559451600282015590516003909101805460ff191660ff9092169190911790556014805484019055805490920190915562000747620008d2565b50604080516060810182526020805482526000818301818152838501828152338352600b90935293902082518155925160018401555160029092019190915562000790620008f3565b5050604080516080810182526020805480835233828401908152600084860181815260608601828152938252600c85529590209351845551600180850180546001600160a01b0319166001600160a01b039093169290921790915593516002840155516003909201805460ff191660ff9093169290921790915560158054830190558054909101905550620009519950505050505050505050565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081525090565b828054828255906000526020600020908101928215620008c0579160200282015b82811115620008c057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000889565b50620008ce92915062000927565b5090565b60405180606001604052806000815260200160008152602001600081525090565b60405180608001604052806000815260200160006001600160a01b0316815260200160008152602001600060ff1681525090565b6200094e91905b80821115620008ce5780546001600160a01b03191681556001016200092e565b90565b61441b80620009616000396000f3fe6080604052600436106102c85760003560e01c8063902b075311610175578063c151d29b116100dc578063e5c7d5b511610095578063eafb447e1161006f578063eafb447e146109da578063f013dccf146109ef578063f7454c6014610a19578063fefecd1314610a2e576102c8565b8063e5c7d5b51461097d578063e6eb1afd14610992578063ea9ee0eb146109c5576102c8565b8063c151d29b146108a5578063c814429f146108ba578063cbf097cc146108cf578063d2a9d64114610902578063da73645b14610935578063e52e8c6114610968576102c8565b8063a3576bb81161012e578063a3576bb814610797578063a87430ba146107ca578063b075a69414610830578063b6b61bb314610838578063b9787f261461084d578063be20f62e14610890576102c8565b8063902b0753146106c857806393a9899e146106f2578063988bf95b1461070757806398afaf52146107435780639fe776b414610758578063a1c5b9ae14610782576102c8565b806351a6f7c41161023457806362102f3b116101ed578063782d39db116101c7578063782d39db14610623578063870e9d1814610656578063881712d7146106805780638da5cb5b146106b3576102c8565b806362102f3b146105b15780637475011b146105db5780637786475f1461060e576102c8565b806351a6f7c414610466578063575cea6b14610499578063578e769e1461051c578063585c1178146105245780635a04216e1461057f5780635f7ec6db1461059c576102c8565b80632c14155f116102865780632c14155f146103c65780632c2ab7f6146103db578063311d41df1461042c5780633f3dc5f114610441578063412f53a2146104565780634bddcebe1461045e576102c8565b806288f429146102cd5780630716f804146102d7578063089df3ac1461031e5780631299745a146103515780632092a1ed146103595780632a2d0c4714610380575b600080fd5b6102d5610a43565b005b3480156102e357600080fd5b5061030a600480360360208110156102fa57600080fd5b50356001600160a01b0316610fd6565b604080519115158252519081900360200190f35b34801561032a57600080fd5b5061030a6004803603602081101561034157600080fd5b50356001600160a01b0316610ff3565b6102d5611010565b34801561036557600080fd5b5061036e6115d9565b60408051918252519081900360200190f35b34801561038c57600080fd5b506103aa600480360360208110156103a357600080fd5b50356115df565b604080516001600160a01b039092168252519081900360200190f35b3480156103d257600080fd5b5061036e6115fa565b3480156103e757600080fd5b5061040e600480360360208110156103fe57600080fd5b50356001600160a01b0316611600565b60408051938452602084019290925282820152519081900360600190f35b34801561043857600080fd5b5061036e611621565b34801561044d57600080fd5b5061036e611627565b6102d561162d565b6102d5611bf6565b34801561047257600080fd5b5061030a6004803603602081101561048957600080fd5b50356001600160a01b03166121bc565b3480156104a557600080fd5b506104cc600480360360208110156104bc57600080fd5b50356001600160a01b03166121dc565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105085781810151838201526020016104f0565b505050509050019250505060405180910390f35b6102d5612253565b34801561053057600080fd5b5061054e6004803603602081101561054757600080fd5b5035612818565b604080519485526001600160a01b0390931660208501528383019190915260ff166060830152519081900360800190f35b6102d56004803603602081101561059557600080fd5b503561284c565b3480156105a857600080fd5b5061036e612be6565b3480156105bd57600080fd5b5061054e600480360360208110156105d457600080fd5b5035612bec565b3480156105e757600080fd5b5061030a600480360360208110156105fe57600080fd5b50356001600160a01b0316612c20565b34801561061a57600080fd5b5061036e612c3d565b34801561062f57600080fd5b5061040e6004803603602081101561064657600080fd5b50356001600160a01b0316612c43565b34801561066257600080fd5b5061054e6004803603602081101561067957600080fd5b5035612c64565b34801561068c57600080fd5b5061030a600480360360208110156106a357600080fd5b50356001600160a01b0316612c98565b3480156106bf57600080fd5b506103aa612cb5565b3480156106d457600080fd5b5061054e600480360360208110156106eb57600080fd5b5035612cc4565b3480156106fe57600080fd5b5061036e612cf8565b34801561071357600080fd5b5061030a6004803603604081101561072a57600080fd5b5080356001600160a01b0316906020013560ff16612cfe565b34801561074f57600080fd5b5061036e612e5c565b34801561076457600080fd5b5061054e6004803603602081101561077b57600080fd5b5035612e62565b34801561078e57600080fd5b5061036e612e96565b3480156107a357600080fd5b5061040e600480360360208110156107ba57600080fd5b50356001600160a01b0316612e9c565b3480156107d657600080fd5b506107fd600480360360208110156107ed57600080fd5b50356001600160a01b0316612ebd565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b6102d5612ef2565b34801561084457600080fd5b5061036e6134bb565b34801561085957600080fd5b5061087a6004803603602081101561087057600080fd5b503560ff166134c1565b6040805160ff9092168252519081900360200190f35b34801561089c57600080fd5b5061036e6134d6565b3480156108b157600080fd5b5061036e6134dc565b3480156108c657600080fd5b5061036e6134e2565b3480156108db57600080fd5b5061040e600480360360208110156108f257600080fd5b50356001600160a01b03166134e8565b34801561090e57600080fd5b5061040e6004803603602081101561092557600080fd5b50356001600160a01b0316613508565b34801561094157600080fd5b5061040e6004803603602081101561095857600080fd5b50356001600160a01b0316613529565b34801561097457600080fd5b5061036e61354a565b34801561098957600080fd5b5061036e613550565b34801561099e57600080fd5b5061030a600480360360208110156109b557600080fd5b50356001600160a01b0316613556565b3480156109d157600080fd5b5061036e613573565b3480156109e657600080fd5b5061036e613579565b3480156109fb57600080fd5b5061054e60048036036020811015610a1257600080fd5b503561357f565b348015610a2557600080fd5b5061036e6135b4565b348015610a3a57600080fd5b5061036e6135ba565b346702c68af0bb14000014610a895760405162461bcd60e51b81526004018080602001828103825260288152602001806142a66028913960400191505060405180910390fd5b610a94336001612cfe565b610ad3576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b610adc336121bc565b610b1b576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b610b26336002612cfe565b15610b78576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150320000604482015290519081900360640190fd5b601754600090815260026020526040902060039081015460ff16906001820190811415610c1e576017546000908152600260208181526040808420600181015490546001600160a01b039182168087528685528387208601548752600d9094529190942054610bec949293919216906135c0565b610bf557600080fd5b6017546000908152600260205260409020600301805460ff8082166001011660ff199091161790555b33600090815260208190526040902060020154610c39614081565b5060408051606081018252601654815260208082018481526000838501818152338252600193849052949020835181559051918101919091559151600290920191909155610c856140a2565b5060408051608081018252601680548083523360208085018281528587018981526000606080890182815296825260028086528a83208a5181559451600180870180546001600160a01b0319166001600160a01b0393841617905594518683015597516003909501805460ff191660ff90961695909517909455601080549093019092558a8152600d84528890205495548851908152349381019390935242838901529651959690959490931693919260008051602061418383398151915292918290030190a48215610dac576000838152600d6020526040902054610d77906001600160a01b031660016002613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055610e14565b60016000819052600d6020526000805160206142ce83398151915254610ddf916001600160a01b03909116906002613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6016805460010190556002851015610fcf5784610e97576017546000908152600260208190526040909120600190810154610e5b926001600160a01b039091169190613ecb565b506002346017546000908152600260209081526040808320600101546001600160a01b0316835290829052902060050180549290910490910190555b8460011415610fa6576017546000908152600260208190526040909120015415610f3e5760175460009081526002602081815260408084208301548452600d90915290912054610ef5916001600160a01b0390911690600190613ecb565b506002346017546000908152600260208181526040808420909201548352600d8152818320546001600160a01b0316835282905290206004018054929091049091019055610fa6565b60016000819052600d6020526000805160206142ce83398151915254610f71916001600160a01b03909116906002613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6017546000908152600260205260409020600301805460ff8082166001011660ff199091161790555b5050505050565b6001600160a01b0316600090815260076020526040902054151590565b6001600160a01b0316600090815260096020526040902054151590565b3467058d15e176280000146110565760405162461bcd60e51b81526004018080602001828103825260288152602001806141cb6028913960400191505060405180910390fd5b611061336001612cfe565b6110a0576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b6110a9336121bc565b6110e8576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b6110f3336004612cfe565b15611145576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150340000604482015290519081900360640190fd5b61114e33612c98565b6111895760405162461bcd60e51b815260040180806020018281038252602f815260200180614340602f913960400191505060405180910390fd5b601b54600090815260066020526040902060039081015460ff1690600182019081141561122d57601b546000908152600660209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d90945291909320546111fb931660046135c0565b61120457600080fd5b601b546000908152600660205260409020600301805460ff8082166001011660ff199091161790555b33600090815260208190526040902060020154611248614081565b5060408051606081018252601a548152602080820184815260008385018181523382526005909352939093208251815592516001840155516002909201919091556112916140a2565b5060408051608081018252601a80548083523360208085018281528587018981526000606080890182815296825260068552898220895181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015596516003909401805460ff191660ff9095169490941790935560128054909201909155898152600d8352879020549454875190815234928101929092524282880152955194956004959490931693919260008051602061418383398151915292918290030190a482156113b9576000838152600d6020526040902054611384906001600160a01b031660016004613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055611421565b60016000819052600d6020526000805160206142ce833981519152546113ec916001600160a01b03909116906004613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601a805460010190556002851015610fcf578461149d57601b546000908152600660205260409020600190810154611466916001600160a01b03909116906004613ecb565b50601b546000908152600660209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b84600114156115aa57601b546000908152600660205260409020600201541561154257601b546000908152600660209081526040808320600201548352600d9091529020546114f8906001600160a01b031660016004613ecb565b50600234601b546000908152600660209081526040808320600201548352600d8252808320546001600160a01b0316835290829052902060040180549290910490910190556115aa565b60016000819052600d6020526000805160206142ce83398151915254611575916001600160a01b03909116906004613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601b546000908152600660205260409020600301805460ff8082166001011660ff199091161790555050505050565b601c5481565b600d602052600090815260409020546001600160a01b031681565b60215481565b600b6020526000908152604090208054600182015460029092015490919083565b60115481565b601d5481565b346709b6e64a8ec60000146116735760405162461bcd60e51b815260040180806020018281038252602881526020018061424c6028913960400191505060405180910390fd5b61167e336001612cfe565b6116bd576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b6116c6336121bc565b611705576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b611710336006612cfe565b15611762576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150360000604482015290519081900360640190fd5b61176b33610fd6565b6117a65760405162461bcd60e51b81526004018080602001828103825260328152602001806142746032913960400191505060405180910390fd5b601f546000908152600a6020526040902060039081015460ff1690600182019081141561184a57601f546000908152600a60209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d9094529190932054611818931660066135c0565b61182157600080fd5b601f546000908152600a60205260409020600301805460ff8082166001011660ff199091161790555b33600090815260208190526040902060020154611865614081565b5060408051606081018252601e548152602080820184815260008385018181523382526009909352939093208251815592516001840155516002909201919091556118ae6140a2565b5060408051608081018252601e805480835233602080850182815285870189815260006060808901828152968252600a8552898220895181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015596516003909401805460ff191660ff9095169490941790935560148054909201909155898152600d8352879020549454875190815234928101929092524282880152955194956006959490931693919260008051602061418383398151915292918290030190a482156119d6576000838152600d60205260409020546119a1906001600160a01b031660016006613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055611a3e565b60016000819052600d6020526000805160206142ce83398151915254611a09916001600160a01b03909116906006613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601e805460010190556002851015610fcf5784611aba57601f546000908152600a60205260409020600190810154611a83916001600160a01b03909116906006613ecb565b50601f546000908152600a60209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b8460011415611bc757601f546000908152600a602052604090206002015415611b5f57601f546000908152600a60209081526040808320600201548352600d909152902054611b15906001600160a01b031660016006613ecb565b50600234601f546000908152600a60209081526040808320600201548352600d8252808320546001600160a01b031683529082905290206004018054929091049091019055611bc7565b60016000819052600d6020526000805160206142ce83398151915254611b92916001600160a01b03909116906006613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601f546000908152600a60205260409020600301805460ff8082166001011660ff199091161790555050505050565b34670429d069189e000014611c3c5760405162461bcd60e51b81526004018080602001828103825260288152602001806143be6028913960400191505060405180910390fd5b611c47336001612cfe565b611c86576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b611c8f336121bc565b611cce576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b611cd9336003612cfe565b15611d2b576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150330000604482015290519081900360640190fd5b611d3433613556565b611d6f5760405162461bcd60e51b815260040180806020018281038252602f81526020018061436f602f913960400191505060405180910390fd5b601954600090815260046020526040902060039081015460ff16906001820190811415611e13576019546000908152600460209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d9094529190932054611de1931660036135c0565b611dea57600080fd5b6019546000908152600460205260409020600301805460ff8082166001011660ff199091161790555b33600090815260208190526040902060020154611e2e614081565b5060408051606081018252601854815260208082018481526000838501818152338252600390935293909320825181559251600184015551600290920191909155611e776140a2565b5060408051608081018252601880548083523360208085018281528587018981526000606080890182815296825260048552898220895181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015596516003948501805460ff191660ff909216919091179055601180549093019092558a8152600d84528890205495548851908152349381019390935242838901529651959690959490931693919260008051602061418383398151915292918290030190a48215611f9d576000838152600d6020526040902054611f68906001600160a01b031660016003613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055612005565b60016000819052600d6020526000805160206142ce83398151915254611fd0916001600160a01b03909116906003613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6018805460010190556002851015610fcf578461208157601954600090815260046020526040902060019081015461204a916001600160a01b03909116906003613ecb565b506019546000908152600460209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b846001141561218d5760195460009081526004602052604090206002015415612125576019546000908152600460209081526040808320600201548352600d9091529020546120dc906001600160a01b031660016003613ecb565b506002346019546000908152600460208181526040808420600201548452600d8252808420546001600160a01b031684529083905290912001805492909104909101905561218d565b60016000819052600d6020526000805160206142ce83398151915254612158916001600160a01b03909116906003613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6019546000908152600460205260409020600301805460ff8082166001011660ff199091161790555050505050565b6001600160a01b0316600090815260208190526040902060010154151590565b6001600160a01b0381166000908152602081815260409182902060060180548351818402810184019094528084526060939283018282801561224757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612229575b50505050509050919050565b34670de0b6b3a7640000146122995760405162461bcd60e51b81526004018080602001828103825260268152602001806142266026913960400191505060405180910390fd5b6122a4336001612cfe565b6122e3576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b6122ec336121bc565b61232b576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b612336336007612cfe565b15612388576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150370000604482015290519081900360640190fd5b61239133610ff3565b6123cc5760405162461bcd60e51b815260040180806020018281038252603281526020018061430e6032913960400191505060405180910390fd5b6021546000908152600c6020526040902060039081015460ff16906001820190811415612470576021546000908152600c60209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d909452919093205461243e931660076135c0565b61244757600080fd5b6021546000908152600c60205260409020600301805460ff8082166001011660ff199091161790555b3360009081526020819052604090206002015461248b614081565b50604080516060810182526020805482528082018481526000838501818152338252600b909352939093208251815592516001840155516002909201919091556124d36140a2565b5060408051608081018252602080548083523382840181815284860188815260006060808801828152958252600c8752888220885181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015595516003909401805460ff191660ff9095169490941790935560158054909201909155888152600d85528690205484548751908152349581019590955242858801529551949560079593169391926000805160206141838339815191529281900390910190a482156125f8576000838152600d60205260409020546125c3906001600160a01b031660016007613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055612660565b60016000819052600d6020526000805160206142ce8339815191525461262b916001600160a01b03909116906007613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6020805460010190556002851015610fcf57846126dc576021546000908152600c602052604090206001908101546126a5916001600160a01b03909116906007613ecb565b506021546000908152600c60209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b84600114156127e9576021546000908152600c602052604090206002015415612781576021546000908152600c60209081526040808320600201548352600d909152902054612737906001600160a01b031660016007613ecb565b506002346021546000908152600c60209081526040808320600201548352600d8252808320546001600160a01b0316835290829052902060040180549290910490910190556127e9565b60016000819052600d6020526000805160206142ce833981519152546127b4916001600160a01b03909116906007613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6021546000908152600c60205260409020600301805460ff8082166001011660ff199091161790555050505050565b600a60205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b8060008111801561285e5750600f5481105b6128a5576040805162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081c9959995c9c995c881251606a1b604482015290519081900360640190fd5b3467016345785d8a000014612901576040805162461bcd60e51b815260206004820152601c60248201527f50617274696369706174696f6e2066656520697320302e312045544800000000604482015290519081900360640190fd5b61290c336001612cfe565b1561295e576040805162461bcd60e51b815260206004820152601760248201527f5573657220616c72656164792072656769737465726564000000000000000000604482015290519081900360640190fd5b6000828152600d602052604090205433906001600160a01b0316813b63ffffffff8116156129ca576040805162461bcd60e51b815260206004820152601460248201527318d85b9b9bdd08189948184818dbdb9d1c9858dd60621b604482015290519081900360640190fd5b6040518060e00160405280600f54815260200160008152602001868152602001600081526020016000815260200160008152602001600067ffffffffffffffff81118015612a1757600080fd5b50604051908082528060200260200182016040528015612a41578160200160208202803683370190505b5090526001600160a01b0384166000908152602081815260409182902083518155838201516001820155918301516002830155606083015160038301556080830151600483015560a0830151600583015560c08301518051612aa992600685019201906140d6565b5050600f80546000908152600d602090815260409182902080546001600160a01b03808a166001600160a01b0319909216919091179091559254825190815234918101919091524281830152905160019350918516913391600080516020614183833981519152919081900360600190a4600f805460019081019091556001600160a01b0383811660009081526020818152604080832060068101805480880182559085528385200180546001600160a01b0319168a871617905585018054909501909455888252600d90529190912054349116612b9c732e674473dd4cb1fc1b98189de0fea078cd99ba536005613fe2565b50612bbc7389e7902830dd3ad68fe44f29d44260f26c4120236006613fe2565b50612bdc7365563f4cb686ddfaeb201dcd1c17a458dd51f6516006613fe2565b5050505050505050565b60125481565b600c60205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b6001600160a01b0316600090815260056020526040902054151590565b601a5481565b60096020526000908152604090208054600182015460029092015490919083565b600860205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b6001600160a01b0316600090815260036020526040902054151590565b6022546001600160a01b031681565b600460205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b601f5481565b6000808260ff16118015612d16575060078260ff1611155b612d1f57600080fd5b8160ff1660011415612d4c57506001600160a01b0382166000908152602081905260409020541515612e56565b8160ff1660021415612d7957506001600160a01b0382166000908152600160205260409020541515612e56565b8160ff1660031415612da657506001600160a01b0382166000908152600360205260409020541515612e56565b8160ff1660041415612dd357506001600160a01b0382166000908152600560205260409020541515612e56565b8160ff1660051415612e0057506001600160a01b0382166000908152600760205260409020541515612e56565b8160ff1660061415612e2d57506001600160a01b0382166000908152600960205260409020541515612e56565b8160ff1660071415612e5657506001600160a01b0382166000908152600b602052604090205415155b92915050565b601e5481565b600660205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b60155481565b60036020526000908152604090208054600182015460029092015490919083565b600060208190529081526040902080546001820154600283015460038401546004850154600590950154939492939192909186565b346706f05b59d3b2000014612f385760405162461bcd60e51b81526004018080602001828103825260288152602001806141a36028913960400191505060405180910390fd5b612f43336001612cfe565b612f82576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b612f8b336121bc565b612fca576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b612fd5336005612cfe565b15613027576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150350000604482015290519081900360640190fd5b61303033612c20565b61306b5760405162461bcd60e51b81526004018080602001828103825260338152602001806141f36033913960400191505060405180910390fd5b601d54600090815260086020526040902060039081015460ff1690600182019081141561310f57601d546000908152600860209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d90945291909320546130dd931660056135c0565b6130e657600080fd5b601d546000908152600860205260409020600301805460ff8082166001011660ff199091161790555b3360009081526020819052604090206002015461312a614081565b5060408051606081018252601c548152602080820184815260008385018181523382526007909352939093208251815592516001840155516002909201919091556131736140a2565b5060408051608081018252601c80548083523360208085018281528587018981526000606080890182815296825260088552898220895181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015596516003909401805460ff191660ff9095169490941790935560138054909201909155898152600d8352879020549454875190815234928101929092524282880152955194956005959490931693919260008051602061418383398151915292918290030190a4821561329b576000838152600d6020526040902054613266906001600160a01b031660016005613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055613303565b60016000819052600d6020526000805160206142ce833981519152546132ce916001600160a01b03909116906005613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601c805460010190556002851015610fcf578461337f57601d546000908152600860205260409020600190810154613348916001600160a01b03909116906005613ecb565b50601d546000908152600860209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b846001141561348c57601d546000908152600860205260409020600201541561342457601d546000908152600860209081526040808320600201548352600d9091529020546133da906001600160a01b031660016005613ecb565b50600234601d546000908152600860209081526040808320600201548352600d8252808320546001600160a01b03168352908290529020600401805492909104909101905561348c565b60016000819052600d6020526000805160206142ce83398151915254613457916001600160a01b03909116906005613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601d546000908152600860205260409020600301805460ff8082166001011660ff199091161790555050505050565b60205481565b600e6020526000908152604090205460ff1681565b60165481565b60105481565b601b5481565b600160208190526000918252604090912080549181015460029091015483565b60076020526000908152604090208054600182015460029092015490919083565b60056020526000908152604090208054600182015460029092015490919083565b600f5481565b60195481565b6001600160a01b0316600090815260016020526040902054151590565b60145481565b60135481565b6002602081905260009182526040909120805460018201549282015460039092015490926001600160a01b0316919060ff1684565b60185481565b60175481565b6001600160a01b0384166000908152602081905260408120600201546135e46140a2565b50604080516080810182528681526001600160a01b038816602082015290810182905260006060820152600260ff851614156136e35760175460009081526002602081815260408084206001908101546001600160a01b039081168652818452828620850180548301905560168054875285855295839020875181558785015192810180546001600160a01b0319169383169390931790925586830151828601556060808801516003909301805460ff191660ff9094169390931790925594548251908152349381019390935242838301529051929389811693908c169260008051602061416383398151915292908290030190a46016805460010190555b8360ff16600314156137bb5760195460009081526004602081815260408084206001908101546001600160a01b0390811686526003808552838720600290810180548501905560188054895296865296849020885181558886015193810180546001600160a01b031916948416949094179093558784015196830196909655606080880151928701805460ff191660ff9094169390931790925593548251908152349381019390935242838301529051898416938c169260008051602061416383398151915292908290030190a46018805460010190555b8360ff166004141561389957601b5460009081526006602081815260408084206001908101546001600160a01b039081168652600584528286206002908101805484019055601a8054885295855295839020875181558785015192810180546001600160a01b0319169383169390931790925586830151958201959095556060808701516003909201805460ff191660ff9093169290921790915592548151908152349281019290925242828201525160049389811693908c1692600080516020614163833981519152929081900390910190a4601a805460010190555b8360ff166005141561397757601d5460009081526008602081815260408084206001908101546001600160a01b039081168652600784528286206002908101805484019055601c8054885295855295839020875181558785015192810180546001600160a01b0319169383169390931790925586830151958201959095556060808701516003909201805460ff191660ff9093169290921790915592548151908152349281019290925242828201525160059389811693908c1692600080516020614163833981519152929081900390910190a4601c805460010190555b8360ff1660061415613a5557601f546000908152600a602081815260408084206001908101546001600160a01b039081168652600984528286206002908101805484019055601e8054885295855295839020875181558785015192810180546001600160a01b0319169383169390931790925586830151958201959095556060808701516003909201805460ff191660ff9093169290921790915592548151908152349281019290925242828201525160069389811693908c1692600080516020614163833981519152929081900390910190a4601e805460010190555b8360ff1660071415613b31576021546000908152600c602081815260408084206001908101546001600160a01b039081168652600b845282862060029081018054840190558454875294845294829020865181558684015191810180546001600160a01b0319169287169290921790915585820151938101939093556060808601516003909401805460ff191660ff9095169490941790935581548151908152349281019290925242828201525160079389811693908c1692600080516020614163833981519152929081900390910190a46020805460010190555b8360ff1660021415613bcb576017805460009081526002602081905260408083206003908101805460ff191690911790559254600190810180845293909220820154613b88926001600160a01b0390911691613ecb565b5060009081526002602081815260408084206001908101546001600160a01b03168552918490529092206005018054349290920490910190556017805490910190555b8360ff1660031415613c6257601980546000908152600460205260408082206003908101805460ff19168217905592546001908101808452919092208201549092613c22926001600160a01b039092169190613ecb565b5060009081526004602090815260408083206001908101546001600160a01b03168452918390529091206005018054600234040190556019805490910190555b8360ff1660041415613cf957601b80546000908152600660205260408082206003908101805460ff191690911790559154600190810180835292909120810154613cb9916001600160a01b03909116906004613ecb565b5060009081526006602090815260408083206001908101546001600160a01b0316845291839052909120600501805460023404019055601b805490910190555b8360ff1660051415613d9057601d80546000908152600860205260408082206003908101805460ff191690911790559154600190810180835292909120810154613d50916001600160a01b03909116906005613ecb565b5060009081526008602090815260408083206001908101546001600160a01b0316845291839052909120600501805460023404019055601d805490910190555b8360ff1660061415613e2757601f80546000908152600a60205260408082206003908101805460ff191690911790559154600190810180835292909120810154613de7916001600160a01b03909116906006613ecb565b506000908152600a602090815260408083206001908101546001600160a01b0316845291839052909120600501805460023404019055601f805490910190555b8360ff1660071415613ebe57602180546000908152600c60205260408082206003908101805460ff191690911790559154600190810180835292909120810154613e7e916001600160a01b03909116906007613ecb565b506000908152600c602090815260408083206001908101546001600160a01b03168452918390529091206005018054600234040190556021805490910190555b5060019695505050505050565b600060048360ff161115613ede57600080fd5b60ff8084166000908152600e60205260409020541660643404029050836001600160a01b03166108fc829081150290604051600060405180830381858888f1935050505015613fdb5760018260ff161115613f845760408051828152426020820152815160ff8516926001600160a01b0388169233927f44c86dc94abf212796d735b8c92738e6104308c35d8929a07c0bfb59bc4d84ba929181900390910190a4613fdb565b6040805182815260ff8086166020830152841681830152426060820152905133916001600160a01b038716917f9aa6bdacd8c2ad1246917876ae1748c4d5e3551362e49f86f318f9c1eca6f68d9181900360800190a35b9392505050565b60ff8181166000908152600e602052604080822054905192166064340402916001600160a01b038516916108fc841502918491818181858888f1935050505015612e56576040805182815260ff84166020820181905281830152426060820152905133916001600160a01b038616917f9aa6bdacd8c2ad1246917876ae1748c4d5e3551362e49f86f318f9c1eca6f68d9181900360800190a392915050565b60405180606001604052806000815260200160008152602001600081525090565b60405180608001604052806000815260200160006001600160a01b0316815260200160008152602001600060ff1681525090565b82805482825590600052602060002090810192821561412b579160200282015b8281111561412b57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906140f6565b5061413792915061413b565b5090565b61415f91905b808211156141375780546001600160a01b0319168155600101614141565b9056fed42ee5f14d96d24b0dc133d28162e3a658de4b4c4396cede52c7dfb58d8b090711c62052c88d8a11740d612431d54f0a4bef66b3c8f2b20ab192570e01acd02d50617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e352045544850617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e342045544855736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e65536170706869726550617274696369706174696f6e2066656520696e204175746f6d696e6520697320312045544850617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e372045544855736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e65456d6572616c6450617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e3220455448fd54ff1ed53f34a900b24c5ba64f85761163b5d82d98a47b9bd80e45466993c555736572206e6f742070726573656e7420696e2041503100000000000000000055736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e654469616d6f6e6455736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e655275626955736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e65476f6c6455736572206e6f74207175616c696669656420696e204150310000000000000050617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e3320455448a2646970667358221220519712ac7a35fb26d2d6c399cbdef4ef730c8281e2b1c13125d7459198dcd7a064736f6c63430006060033

Deployed Bytecode

0x6080604052600436106102c85760003560e01c8063902b075311610175578063c151d29b116100dc578063e5c7d5b511610095578063eafb447e1161006f578063eafb447e146109da578063f013dccf146109ef578063f7454c6014610a19578063fefecd1314610a2e576102c8565b8063e5c7d5b51461097d578063e6eb1afd14610992578063ea9ee0eb146109c5576102c8565b8063c151d29b146108a5578063c814429f146108ba578063cbf097cc146108cf578063d2a9d64114610902578063da73645b14610935578063e52e8c6114610968576102c8565b8063a3576bb81161012e578063a3576bb814610797578063a87430ba146107ca578063b075a69414610830578063b6b61bb314610838578063b9787f261461084d578063be20f62e14610890576102c8565b8063902b0753146106c857806393a9899e146106f2578063988bf95b1461070757806398afaf52146107435780639fe776b414610758578063a1c5b9ae14610782576102c8565b806351a6f7c41161023457806362102f3b116101ed578063782d39db116101c7578063782d39db14610623578063870e9d1814610656578063881712d7146106805780638da5cb5b146106b3576102c8565b806362102f3b146105b15780637475011b146105db5780637786475f1461060e576102c8565b806351a6f7c414610466578063575cea6b14610499578063578e769e1461051c578063585c1178146105245780635a04216e1461057f5780635f7ec6db1461059c576102c8565b80632c14155f116102865780632c14155f146103c65780632c2ab7f6146103db578063311d41df1461042c5780633f3dc5f114610441578063412f53a2146104565780634bddcebe1461045e576102c8565b806288f429146102cd5780630716f804146102d7578063089df3ac1461031e5780631299745a146103515780632092a1ed146103595780632a2d0c4714610380575b600080fd5b6102d5610a43565b005b3480156102e357600080fd5b5061030a600480360360208110156102fa57600080fd5b50356001600160a01b0316610fd6565b604080519115158252519081900360200190f35b34801561032a57600080fd5b5061030a6004803603602081101561034157600080fd5b50356001600160a01b0316610ff3565b6102d5611010565b34801561036557600080fd5b5061036e6115d9565b60408051918252519081900360200190f35b34801561038c57600080fd5b506103aa600480360360208110156103a357600080fd5b50356115df565b604080516001600160a01b039092168252519081900360200190f35b3480156103d257600080fd5b5061036e6115fa565b3480156103e757600080fd5b5061040e600480360360208110156103fe57600080fd5b50356001600160a01b0316611600565b60408051938452602084019290925282820152519081900360600190f35b34801561043857600080fd5b5061036e611621565b34801561044d57600080fd5b5061036e611627565b6102d561162d565b6102d5611bf6565b34801561047257600080fd5b5061030a6004803603602081101561048957600080fd5b50356001600160a01b03166121bc565b3480156104a557600080fd5b506104cc600480360360208110156104bc57600080fd5b50356001600160a01b03166121dc565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105085781810151838201526020016104f0565b505050509050019250505060405180910390f35b6102d5612253565b34801561053057600080fd5b5061054e6004803603602081101561054757600080fd5b5035612818565b604080519485526001600160a01b0390931660208501528383019190915260ff166060830152519081900360800190f35b6102d56004803603602081101561059557600080fd5b503561284c565b3480156105a857600080fd5b5061036e612be6565b3480156105bd57600080fd5b5061054e600480360360208110156105d457600080fd5b5035612bec565b3480156105e757600080fd5b5061030a600480360360208110156105fe57600080fd5b50356001600160a01b0316612c20565b34801561061a57600080fd5b5061036e612c3d565b34801561062f57600080fd5b5061040e6004803603602081101561064657600080fd5b50356001600160a01b0316612c43565b34801561066257600080fd5b5061054e6004803603602081101561067957600080fd5b5035612c64565b34801561068c57600080fd5b5061030a600480360360208110156106a357600080fd5b50356001600160a01b0316612c98565b3480156106bf57600080fd5b506103aa612cb5565b3480156106d457600080fd5b5061054e600480360360208110156106eb57600080fd5b5035612cc4565b3480156106fe57600080fd5b5061036e612cf8565b34801561071357600080fd5b5061030a6004803603604081101561072a57600080fd5b5080356001600160a01b0316906020013560ff16612cfe565b34801561074f57600080fd5b5061036e612e5c565b34801561076457600080fd5b5061054e6004803603602081101561077b57600080fd5b5035612e62565b34801561078e57600080fd5b5061036e612e96565b3480156107a357600080fd5b5061040e600480360360208110156107ba57600080fd5b50356001600160a01b0316612e9c565b3480156107d657600080fd5b506107fd600480360360208110156107ed57600080fd5b50356001600160a01b0316612ebd565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b6102d5612ef2565b34801561084457600080fd5b5061036e6134bb565b34801561085957600080fd5b5061087a6004803603602081101561087057600080fd5b503560ff166134c1565b6040805160ff9092168252519081900360200190f35b34801561089c57600080fd5b5061036e6134d6565b3480156108b157600080fd5b5061036e6134dc565b3480156108c657600080fd5b5061036e6134e2565b3480156108db57600080fd5b5061040e600480360360208110156108f257600080fd5b50356001600160a01b03166134e8565b34801561090e57600080fd5b5061040e6004803603602081101561092557600080fd5b50356001600160a01b0316613508565b34801561094157600080fd5b5061040e6004803603602081101561095857600080fd5b50356001600160a01b0316613529565b34801561097457600080fd5b5061036e61354a565b34801561098957600080fd5b5061036e613550565b34801561099e57600080fd5b5061030a600480360360208110156109b557600080fd5b50356001600160a01b0316613556565b3480156109d157600080fd5b5061036e613573565b3480156109e657600080fd5b5061036e613579565b3480156109fb57600080fd5b5061054e60048036036020811015610a1257600080fd5b503561357f565b348015610a2557600080fd5b5061036e6135b4565b348015610a3a57600080fd5b5061036e6135ba565b346702c68af0bb14000014610a895760405162461bcd60e51b81526004018080602001828103825260288152602001806142a66028913960400191505060405180910390fd5b610a94336001612cfe565b610ad3576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b610adc336121bc565b610b1b576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b610b26336002612cfe565b15610b78576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150320000604482015290519081900360640190fd5b601754600090815260026020526040902060039081015460ff16906001820190811415610c1e576017546000908152600260208181526040808420600181015490546001600160a01b039182168087528685528387208601548752600d9094529190942054610bec949293919216906135c0565b610bf557600080fd5b6017546000908152600260205260409020600301805460ff8082166001011660ff199091161790555b33600090815260208190526040902060020154610c39614081565b5060408051606081018252601654815260208082018481526000838501818152338252600193849052949020835181559051918101919091559151600290920191909155610c856140a2565b5060408051608081018252601680548083523360208085018281528587018981526000606080890182815296825260028086528a83208a5181559451600180870180546001600160a01b0319166001600160a01b0393841617905594518683015597516003909501805460ff191660ff90961695909517909455601080549093019092558a8152600d84528890205495548851908152349381019390935242838901529651959690959490931693919260008051602061418383398151915292918290030190a48215610dac576000838152600d6020526040902054610d77906001600160a01b031660016002613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055610e14565b60016000819052600d6020526000805160206142ce83398151915254610ddf916001600160a01b03909116906002613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6016805460010190556002851015610fcf5784610e97576017546000908152600260208190526040909120600190810154610e5b926001600160a01b039091169190613ecb565b506002346017546000908152600260209081526040808320600101546001600160a01b0316835290829052902060050180549290910490910190555b8460011415610fa6576017546000908152600260208190526040909120015415610f3e5760175460009081526002602081815260408084208301548452600d90915290912054610ef5916001600160a01b0390911690600190613ecb565b506002346017546000908152600260208181526040808420909201548352600d8152818320546001600160a01b0316835282905290206004018054929091049091019055610fa6565b60016000819052600d6020526000805160206142ce83398151915254610f71916001600160a01b03909116906002613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6017546000908152600260205260409020600301805460ff8082166001011660ff199091161790555b5050505050565b6001600160a01b0316600090815260076020526040902054151590565b6001600160a01b0316600090815260096020526040902054151590565b3467058d15e176280000146110565760405162461bcd60e51b81526004018080602001828103825260288152602001806141cb6028913960400191505060405180910390fd5b611061336001612cfe565b6110a0576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b6110a9336121bc565b6110e8576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b6110f3336004612cfe565b15611145576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150340000604482015290519081900360640190fd5b61114e33612c98565b6111895760405162461bcd60e51b815260040180806020018281038252602f815260200180614340602f913960400191505060405180910390fd5b601b54600090815260066020526040902060039081015460ff1690600182019081141561122d57601b546000908152600660209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d90945291909320546111fb931660046135c0565b61120457600080fd5b601b546000908152600660205260409020600301805460ff8082166001011660ff199091161790555b33600090815260208190526040902060020154611248614081565b5060408051606081018252601a548152602080820184815260008385018181523382526005909352939093208251815592516001840155516002909201919091556112916140a2565b5060408051608081018252601a80548083523360208085018281528587018981526000606080890182815296825260068552898220895181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015596516003909401805460ff191660ff9095169490941790935560128054909201909155898152600d8352879020549454875190815234928101929092524282880152955194956004959490931693919260008051602061418383398151915292918290030190a482156113b9576000838152600d6020526040902054611384906001600160a01b031660016004613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055611421565b60016000819052600d6020526000805160206142ce833981519152546113ec916001600160a01b03909116906004613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601a805460010190556002851015610fcf578461149d57601b546000908152600660205260409020600190810154611466916001600160a01b03909116906004613ecb565b50601b546000908152600660209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b84600114156115aa57601b546000908152600660205260409020600201541561154257601b546000908152600660209081526040808320600201548352600d9091529020546114f8906001600160a01b031660016004613ecb565b50600234601b546000908152600660209081526040808320600201548352600d8252808320546001600160a01b0316835290829052902060040180549290910490910190556115aa565b60016000819052600d6020526000805160206142ce83398151915254611575916001600160a01b03909116906004613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601b546000908152600660205260409020600301805460ff8082166001011660ff199091161790555050505050565b601c5481565b600d602052600090815260409020546001600160a01b031681565b60215481565b600b6020526000908152604090208054600182015460029092015490919083565b60115481565b601d5481565b346709b6e64a8ec60000146116735760405162461bcd60e51b815260040180806020018281038252602881526020018061424c6028913960400191505060405180910390fd5b61167e336001612cfe565b6116bd576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b6116c6336121bc565b611705576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b611710336006612cfe565b15611762576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150360000604482015290519081900360640190fd5b61176b33610fd6565b6117a65760405162461bcd60e51b81526004018080602001828103825260328152602001806142746032913960400191505060405180910390fd5b601f546000908152600a6020526040902060039081015460ff1690600182019081141561184a57601f546000908152600a60209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d9094529190932054611818931660066135c0565b61182157600080fd5b601f546000908152600a60205260409020600301805460ff8082166001011660ff199091161790555b33600090815260208190526040902060020154611865614081565b5060408051606081018252601e548152602080820184815260008385018181523382526009909352939093208251815592516001840155516002909201919091556118ae6140a2565b5060408051608081018252601e805480835233602080850182815285870189815260006060808901828152968252600a8552898220895181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015596516003909401805460ff191660ff9095169490941790935560148054909201909155898152600d8352879020549454875190815234928101929092524282880152955194956006959490931693919260008051602061418383398151915292918290030190a482156119d6576000838152600d60205260409020546119a1906001600160a01b031660016006613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055611a3e565b60016000819052600d6020526000805160206142ce83398151915254611a09916001600160a01b03909116906006613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601e805460010190556002851015610fcf5784611aba57601f546000908152600a60205260409020600190810154611a83916001600160a01b03909116906006613ecb565b50601f546000908152600a60209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b8460011415611bc757601f546000908152600a602052604090206002015415611b5f57601f546000908152600a60209081526040808320600201548352600d909152902054611b15906001600160a01b031660016006613ecb565b50600234601f546000908152600a60209081526040808320600201548352600d8252808320546001600160a01b031683529082905290206004018054929091049091019055611bc7565b60016000819052600d6020526000805160206142ce83398151915254611b92916001600160a01b03909116906006613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601f546000908152600a60205260409020600301805460ff8082166001011660ff199091161790555050505050565b34670429d069189e000014611c3c5760405162461bcd60e51b81526004018080602001828103825260288152602001806143be6028913960400191505060405180910390fd5b611c47336001612cfe565b611c86576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b611c8f336121bc565b611cce576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b611cd9336003612cfe565b15611d2b576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150330000604482015290519081900360640190fd5b611d3433613556565b611d6f5760405162461bcd60e51b815260040180806020018281038252602f81526020018061436f602f913960400191505060405180910390fd5b601954600090815260046020526040902060039081015460ff16906001820190811415611e13576019546000908152600460209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d9094529190932054611de1931660036135c0565b611dea57600080fd5b6019546000908152600460205260409020600301805460ff8082166001011660ff199091161790555b33600090815260208190526040902060020154611e2e614081565b5060408051606081018252601854815260208082018481526000838501818152338252600390935293909320825181559251600184015551600290920191909155611e776140a2565b5060408051608081018252601880548083523360208085018281528587018981526000606080890182815296825260048552898220895181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015596516003948501805460ff191660ff909216919091179055601180549093019092558a8152600d84528890205495548851908152349381019390935242838901529651959690959490931693919260008051602061418383398151915292918290030190a48215611f9d576000838152600d6020526040902054611f68906001600160a01b031660016003613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055612005565b60016000819052600d6020526000805160206142ce83398151915254611fd0916001600160a01b03909116906003613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6018805460010190556002851015610fcf578461208157601954600090815260046020526040902060019081015461204a916001600160a01b03909116906003613ecb565b506019546000908152600460209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b846001141561218d5760195460009081526004602052604090206002015415612125576019546000908152600460209081526040808320600201548352600d9091529020546120dc906001600160a01b031660016003613ecb565b506002346019546000908152600460208181526040808420600201548452600d8252808420546001600160a01b031684529083905290912001805492909104909101905561218d565b60016000819052600d6020526000805160206142ce83398151915254612158916001600160a01b03909116906003613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6019546000908152600460205260409020600301805460ff8082166001011660ff199091161790555050505050565b6001600160a01b0316600090815260208190526040902060010154151590565b6001600160a01b0381166000908152602081815260409182902060060180548351818402810184019094528084526060939283018282801561224757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612229575b50505050509050919050565b34670de0b6b3a7640000146122995760405162461bcd60e51b81526004018080602001828103825260268152602001806142266026913960400191505060405180910390fd5b6122a4336001612cfe565b6122e3576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b6122ec336121bc565b61232b576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b612336336007612cfe565b15612388576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150370000604482015290519081900360640190fd5b61239133610ff3565b6123cc5760405162461bcd60e51b815260040180806020018281038252603281526020018061430e6032913960400191505060405180910390fd5b6021546000908152600c6020526040902060039081015460ff16906001820190811415612470576021546000908152600c60209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d909452919093205461243e931660076135c0565b61244757600080fd5b6021546000908152600c60205260409020600301805460ff8082166001011660ff199091161790555b3360009081526020819052604090206002015461248b614081565b50604080516060810182526020805482528082018481526000838501818152338252600b909352939093208251815592516001840155516002909201919091556124d36140a2565b5060408051608081018252602080548083523382840181815284860188815260006060808801828152958252600c8752888220885181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015595516003909401805460ff191660ff9095169490941790935560158054909201909155888152600d85528690205484548751908152349581019590955242858801529551949560079593169391926000805160206141838339815191529281900390910190a482156125f8576000838152600d60205260409020546125c3906001600160a01b031660016007613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055612660565b60016000819052600d6020526000805160206142ce8339815191525461262b916001600160a01b03909116906007613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6020805460010190556002851015610fcf57846126dc576021546000908152600c602052604090206001908101546126a5916001600160a01b03909116906007613ecb565b506021546000908152600c60209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b84600114156127e9576021546000908152600c602052604090206002015415612781576021546000908152600c60209081526040808320600201548352600d909152902054612737906001600160a01b031660016007613ecb565b506002346021546000908152600c60209081526040808320600201548352600d8252808320546001600160a01b0316835290829052902060040180549290910490910190556127e9565b60016000819052600d6020526000805160206142ce833981519152546127b4916001600160a01b03909116906007613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b6021546000908152600c60205260409020600301805460ff8082166001011660ff199091161790555050505050565b600a60205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b8060008111801561285e5750600f5481105b6128a5576040805162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081c9959995c9c995c881251606a1b604482015290519081900360640190fd5b3467016345785d8a000014612901576040805162461bcd60e51b815260206004820152601c60248201527f50617274696369706174696f6e2066656520697320302e312045544800000000604482015290519081900360640190fd5b61290c336001612cfe565b1561295e576040805162461bcd60e51b815260206004820152601760248201527f5573657220616c72656164792072656769737465726564000000000000000000604482015290519081900360640190fd5b6000828152600d602052604090205433906001600160a01b0316813b63ffffffff8116156129ca576040805162461bcd60e51b815260206004820152601460248201527318d85b9b9bdd08189948184818dbdb9d1c9858dd60621b604482015290519081900360640190fd5b6040518060e00160405280600f54815260200160008152602001868152602001600081526020016000815260200160008152602001600067ffffffffffffffff81118015612a1757600080fd5b50604051908082528060200260200182016040528015612a41578160200160208202803683370190505b5090526001600160a01b0384166000908152602081815260409182902083518155838201516001820155918301516002830155606083015160038301556080830151600483015560a0830151600583015560c08301518051612aa992600685019201906140d6565b5050600f80546000908152600d602090815260409182902080546001600160a01b03808a166001600160a01b0319909216919091179091559254825190815234918101919091524281830152905160019350918516913391600080516020614183833981519152919081900360600190a4600f805460019081019091556001600160a01b0383811660009081526020818152604080832060068101805480880182559085528385200180546001600160a01b0319168a871617905585018054909501909455888252600d90529190912054349116612b9c732e674473dd4cb1fc1b98189de0fea078cd99ba536005613fe2565b50612bbc7389e7902830dd3ad68fe44f29d44260f26c4120236006613fe2565b50612bdc7365563f4cb686ddfaeb201dcd1c17a458dd51f6516006613fe2565b5050505050505050565b60125481565b600c60205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b6001600160a01b0316600090815260056020526040902054151590565b601a5481565b60096020526000908152604090208054600182015460029092015490919083565b600860205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b6001600160a01b0316600090815260036020526040902054151590565b6022546001600160a01b031681565b600460205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b601f5481565b6000808260ff16118015612d16575060078260ff1611155b612d1f57600080fd5b8160ff1660011415612d4c57506001600160a01b0382166000908152602081905260409020541515612e56565b8160ff1660021415612d7957506001600160a01b0382166000908152600160205260409020541515612e56565b8160ff1660031415612da657506001600160a01b0382166000908152600360205260409020541515612e56565b8160ff1660041415612dd357506001600160a01b0382166000908152600560205260409020541515612e56565b8160ff1660051415612e0057506001600160a01b0382166000908152600760205260409020541515612e56565b8160ff1660061415612e2d57506001600160a01b0382166000908152600960205260409020541515612e56565b8160ff1660071415612e5657506001600160a01b0382166000908152600b602052604090205415155b92915050565b601e5481565b600660205260009081526040902080546001820154600283015460039093015491926001600160a01b039091169160ff1684565b60155481565b60036020526000908152604090208054600182015460029092015490919083565b600060208190529081526040902080546001820154600283015460038401546004850154600590950154939492939192909186565b346706f05b59d3b2000014612f385760405162461bcd60e51b81526004018080602001828103825260288152602001806141a36028913960400191505060405180910390fd5b612f43336001612cfe565b612f82576040805162461bcd60e51b815260206004820152601760248201526000805160206142ee833981519152604482015290519081900360640190fd5b612f8b336121bc565b612fca576040805162461bcd60e51b8152602060048201526019602482015260008051602061439e833981519152604482015290519081900360640190fd5b612fd5336005612cfe565b15613027576040805162461bcd60e51b815260206004820152601e60248201527f5573657220616c7265616479207265676973746572656420696e204150350000604482015290519081900360640190fd5b61303033612c20565b61306b5760405162461bcd60e51b81526004018080602001828103825260338152602001806141f36033913960400191505060405180910390fd5b601d54600090815260086020526040902060039081015460ff1690600182019081141561310f57601d546000908152600860209081526040808320600181015490546001600160a01b03918216808652858552838620600201548652600d90945291909320546130dd931660056135c0565b6130e657600080fd5b601d546000908152600860205260409020600301805460ff8082166001011660ff199091161790555b3360009081526020819052604090206002015461312a614081565b5060408051606081018252601c548152602080820184815260008385018181523382526007909352939093208251815592516001840155516002909201919091556131736140a2565b5060408051608081018252601c80548083523360208085018281528587018981526000606080890182815296825260088552898220895181559351600180860180546001600160a01b0319166001600160a01b039384161790559351600286015596516003909401805460ff191660ff9095169490941790935560138054909201909155898152600d8352879020549454875190815234928101929092524282880152955194956005959490931693919260008051602061418383398151915292918290030190a4821561329b576000838152600d6020526040902054613266906001600160a01b031660016005613ecb565b506000838152600d60209081526040808320546001600160a01b03168352908290529020600401805460023404019055613303565b60016000819052600d6020526000805160206142ce833981519152546132ce916001600160a01b03909116906005613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601c805460010190556002851015610fcf578461337f57601d546000908152600860205260409020600190810154613348916001600160a01b03909116906005613ecb565b50601d546000908152600860209081526040808320600101546001600160a01b031683529082905290206005018054600234040190555b846001141561348c57601d546000908152600860205260409020600201541561342457601d546000908152600860209081526040808320600201548352600d9091529020546133da906001600160a01b031660016005613ecb565b50600234601d546000908152600860209081526040808320600201548352600d8252808320546001600160a01b03168352908290529020600401805492909104909101905561348c565b60016000819052600d6020526000805160206142ce83398151915254613457916001600160a01b03909116906005613ecb565b506000805160206142ce833981519152546001600160a01b031660009081526020819052604090206004018054600234040190555b601d546000908152600860205260409020600301805460ff8082166001011660ff199091161790555050505050565b60205481565b600e6020526000908152604090205460ff1681565b60165481565b60105481565b601b5481565b600160208190526000918252604090912080549181015460029091015483565b60076020526000908152604090208054600182015460029092015490919083565b60056020526000908152604090208054600182015460029092015490919083565b600f5481565b60195481565b6001600160a01b0316600090815260016020526040902054151590565b60145481565b60135481565b6002602081905260009182526040909120805460018201549282015460039092015490926001600160a01b0316919060ff1684565b60185481565b60175481565b6001600160a01b0384166000908152602081905260408120600201546135e46140a2565b50604080516080810182528681526001600160a01b038816602082015290810182905260006060820152600260ff851614156136e35760175460009081526002602081815260408084206001908101546001600160a01b039081168652818452828620850180548301905560168054875285855295839020875181558785015192810180546001600160a01b0319169383169390931790925586830151828601556060808801516003909301805460ff191660ff9094169390931790925594548251908152349381019390935242838301529051929389811693908c169260008051602061416383398151915292908290030190a46016805460010190555b8360ff16600314156137bb5760195460009081526004602081815260408084206001908101546001600160a01b0390811686526003808552838720600290810180548501905560188054895296865296849020885181558886015193810180546001600160a01b031916948416949094179093558784015196830196909655606080880151928701805460ff191660ff9094169390931790925593548251908152349381019390935242838301529051898416938c169260008051602061416383398151915292908290030190a46018805460010190555b8360ff166004141561389957601b5460009081526006602081815260408084206001908101546001600160a01b039081168652600584528286206002908101805484019055601a8054885295855295839020875181558785015192810180546001600160a01b0319169383169390931790925586830151958201959095556060808701516003909201805460ff191660ff9093169290921790915592548151908152349281019290925242828201525160049389811693908c1692600080516020614163833981519152929081900390910190a4601a805460010190555b8360ff166005141561397757601d5460009081526008602081815260408084206001908101546001600160a01b039081168652600784528286206002908101805484019055601c8054885295855295839020875181558785015192810180546001600160a01b0319169383169390931790925586830151958201959095556060808701516003909201805460ff191660ff9093169290921790915592548151908152349281019290925242828201525160059389811693908c1692600080516020614163833981519152929081900390910190a4601c805460010190555b8360ff1660061415613a5557601f546000908152600a602081815260408084206001908101546001600160a01b039081168652600984528286206002908101805484019055601e8054885295855295839020875181558785015192810180546001600160a01b0319169383169390931790925586830151958201959095556060808701516003909201805460ff191660ff9093169290921790915592548151908152349281019290925242828201525160069389811693908c1692600080516020614163833981519152929081900390910190a4601e805460010190555b8360ff1660071415613b31576021546000908152600c602081815260408084206001908101546001600160a01b039081168652600b845282862060029081018054840190558454875294845294829020865181558684015191810180546001600160a01b0319169287169290921790915585820151938101939093556060808601516003909401805460ff191660ff9095169490941790935581548151908152349281019290925242828201525160079389811693908c1692600080516020614163833981519152929081900390910190a46020805460010190555b8360ff1660021415613bcb576017805460009081526002602081905260408083206003908101805460ff191690911790559254600190810180845293909220820154613b88926001600160a01b0390911691613ecb565b5060009081526002602081815260408084206001908101546001600160a01b03168552918490529092206005018054349290920490910190556017805490910190555b8360ff1660031415613c6257601980546000908152600460205260408082206003908101805460ff19168217905592546001908101808452919092208201549092613c22926001600160a01b039092169190613ecb565b5060009081526004602090815260408083206001908101546001600160a01b03168452918390529091206005018054600234040190556019805490910190555b8360ff1660041415613cf957601b80546000908152600660205260408082206003908101805460ff191690911790559154600190810180835292909120810154613cb9916001600160a01b03909116906004613ecb565b5060009081526006602090815260408083206001908101546001600160a01b0316845291839052909120600501805460023404019055601b805490910190555b8360ff1660051415613d9057601d80546000908152600860205260408082206003908101805460ff191690911790559154600190810180835292909120810154613d50916001600160a01b03909116906005613ecb565b5060009081526008602090815260408083206001908101546001600160a01b0316845291839052909120600501805460023404019055601d805490910190555b8360ff1660061415613e2757601f80546000908152600a60205260408082206003908101805460ff191690911790559154600190810180835292909120810154613de7916001600160a01b03909116906006613ecb565b506000908152600a602090815260408083206001908101546001600160a01b0316845291839052909120600501805460023404019055601f805490910190555b8360ff1660071415613ebe57602180546000908152600c60205260408082206003908101805460ff191690911790559154600190810180835292909120810154613e7e916001600160a01b03909116906007613ecb565b506000908152600c602090815260408083206001908101546001600160a01b03168452918390529091206005018054600234040190556021805490910190555b5060019695505050505050565b600060048360ff161115613ede57600080fd5b60ff8084166000908152600e60205260409020541660643404029050836001600160a01b03166108fc829081150290604051600060405180830381858888f1935050505015613fdb5760018260ff161115613f845760408051828152426020820152815160ff8516926001600160a01b0388169233927f44c86dc94abf212796d735b8c92738e6104308c35d8929a07c0bfb59bc4d84ba929181900390910190a4613fdb565b6040805182815260ff8086166020830152841681830152426060820152905133916001600160a01b038716917f9aa6bdacd8c2ad1246917876ae1748c4d5e3551362e49f86f318f9c1eca6f68d9181900360800190a35b9392505050565b60ff8181166000908152600e602052604080822054905192166064340402916001600160a01b038516916108fc841502918491818181858888f1935050505015612e56576040805182815260ff84166020820181905281830152426060820152905133916001600160a01b038616917f9aa6bdacd8c2ad1246917876ae1748c4d5e3551362e49f86f318f9c1eca6f68d9181900360800190a392915050565b60405180606001604052806000815260200160008152602001600081525090565b60405180608001604052806000815260200160006001600160a01b0316815260200160008152602001600060ff1681525090565b82805482825590600052602060002090810192821561412b579160200282015b8281111561412b57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906140f6565b5061413792915061413b565b5090565b61415f91905b808211156141375780546001600160a01b0319168155600101614141565b9056fed42ee5f14d96d24b0dc133d28162e3a658de4b4c4396cede52c7dfb58d8b090711c62052c88d8a11740d612431d54f0a4bef66b3c8f2b20ab192570e01acd02d50617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e352045544850617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e342045544855736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e65536170706869726550617274696369706174696f6e2066656520696e204175746f6d696e6520697320312045544850617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e372045544855736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e65456d6572616c6450617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e3220455448fd54ff1ed53f34a900b24c5ba64f85761163b5d82d98a47b9bd80e45466993c555736572206e6f742070726573656e7420696e2041503100000000000000000055736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e654469616d6f6e6455736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e655275626955736572206e6f74207175616c696669656420696e20666f72207061796d656e74206d696e65204d696e65476f6c6455736572206e6f74207175616c696669656420696e204150310000000000000050617274696369706174696f6e2066656520696e204175746f6d696e6520697320302e3320455448a2646970667358221220519712ac7a35fb26d2d6c399cbdef4ef730c8281e2b1c13125d7459198dcd7a064736f6c63430006060033

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