ETH Price: $1,573.99 (-0.76%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Reg User104238632020-07-09 7:07:441747 days ago1594278464IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0090143145
Reg User103467242020-06-27 8:11:571759 days ago1593245517IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0064592430
Reg User103387542020-06-26 2:42:581760 days ago1593139378IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0064475328
Reg User103330512020-06-25 5:31:541761 days ago1593063114IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0094426241
Reg User103328532020-06-25 4:46:261761 days ago1593060386IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0082142241
Reg User103328532020-06-25 4:46:261761 days ago1593060386IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0094410241
Reg User103069032020-06-21 4:10:111765 days ago1592712611IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0044369217.05
Reg User103065852020-06-21 3:06:061765 days ago1592708766IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0006761130
Reg User103065852020-06-21 3:06:061765 days ago1592708766IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0006535729.00000145
Reg User103038972020-06-20 17:11:381766 days ago1592673098IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0047091619.2
Reg User103034082020-06-20 15:22:111766 days ago1592666531IN
0x0DAE83DF...7A65886c7
0.1 ETH0.006955330.2
Reg User103031982020-06-20 14:36:501766 days ago1592663810IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0058100629
Buy Pool102971262020-06-19 16:04:041767 days ago1592582644IN
0x0DAE83DF...7A65886c7
0.25 ETH0.0064113744
Reg User102968522020-06-19 15:02:231767 days ago1592578943IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0088139944
Reg User102962762020-06-19 12:47:411767 days ago1592570861IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0076131838
Reg User102895462020-06-18 11:55:541768 days ago1592481354IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0066104933
Reg User102871192020-06-18 2:52:541768 days ago1592448774IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0069092430
Reg User102869332020-06-18 2:08:301768 days ago1592446110IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0048083224
Reg User102836272020-06-17 13:44:111769 days ago1592401451IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0094752644.00000123
Reg User102831102020-06-17 11:56:141769 days ago1592394974IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0068115640
Reg User102830562020-06-17 11:44:511769 days ago1592394291IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0063006937.00000123
Reg User102825512020-06-17 9:56:101769 days ago1592387770IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0057898234
Reg User102825082020-06-17 9:46:281769 days ago1592387188IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0057448531
Reg User102822822020-06-17 8:58:041769 days ago1592384284IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0060104130.00000112
Reg User102820412020-06-17 8:04:121769 days ago1592381052IN
0x0DAE83DF...7A65886c7
0.1 ETH0.0081831838
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-104238632020-07-09 7:07:441747 days ago1594278464
0x0DAE83DF...7A65886c7
0.05 ETH
-104238632020-07-09 7:07:441747 days ago1594278464
0x0DAE83DF...7A65886c7
0.004 ETH
-104238632020-07-09 7:07:441747 days ago1594278464
0x0DAE83DF...7A65886c7
0.006 ETH
-104238632020-07-09 7:07:441747 days ago1594278464
0x0DAE83DF...7A65886c7
0.04 ETH
-103467242020-06-27 8:11:571759 days ago1593245517
0x0DAE83DF...7A65886c7
0.04556 ETH
-103467242020-06-27 8:11:571759 days ago1593245517
0x0DAE83DF...7A65886c7
0.00222 ETH
-103467242020-06-27 8:11:571759 days ago1593245517
0x0DAE83DF...7A65886c7
0.00222 ETH
-103467242020-06-27 8:11:571759 days ago1593245517
0x0DAE83DF...7A65886c7
0.004 ETH
-103467242020-06-27 8:11:571759 days ago1593245517
0x0DAE83DF...7A65886c7
0.006 ETH
-103467242020-06-27 8:11:571759 days ago1593245517
0x0DAE83DF...7A65886c7
0.04 ETH
-103387542020-06-26 2:42:581760 days ago1593139378
0x0DAE83DF...7A65886c7
0.04334 ETH
-103387542020-06-26 2:42:581760 days ago1593139378
0x0DAE83DF...7A65886c7
0.00222 ETH
-103387542020-06-26 2:42:581760 days ago1593139378
0x0DAE83DF...7A65886c7
0.00222 ETH
-103387542020-06-26 2:42:581760 days ago1593139378
0x0DAE83DF...7A65886c7
0.00222 ETH
-103387542020-06-26 2:42:581760 days ago1593139378
0x0DAE83DF...7A65886c7
0.004 ETH
-103387542020-06-26 2:42:581760 days ago1593139378
0x0DAE83DF...7A65886c7
0.006 ETH
-103387542020-06-26 2:42:581760 days ago1593139378
0x0DAE83DF...7A65886c7
0.04 ETH
-103330512020-06-25 5:31:541761 days ago1593063114
0x0DAE83DF...7A65886c7
0.04556 ETH
-103330512020-06-25 5:31:541761 days ago1593063114
0x0DAE83DF...7A65886c7
0.00222 ETH
-103330512020-06-25 5:31:541761 days ago1593063114
0x0DAE83DF...7A65886c7
0.00222 ETH
-103330512020-06-25 5:31:541761 days ago1593063114
0x0DAE83DF...7A65886c7
0.004 ETH
-103330512020-06-25 5:31:541761 days ago1593063114
0x0DAE83DF...7A65886c7
0.006 ETH
-103330512020-06-25 5:31:541761 days ago1593063114
0x0DAE83DF...7A65886c7
0.04 ETH
-103328532020-06-25 4:46:261761 days ago1593060386
0x0DAE83DF...7A65886c7
0.04778 ETH
-103328532020-06-25 4:46:261761 days ago1593060386
0x0DAE83DF...7A65886c7
0.00222 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Elitewings

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
No with 200 runs

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

/*
      ___                                                 ___           ___                       ___           ___           ___     
     /  /\                      ___           ___        /  /\         /__/\        ___          /__/\         /  /\         /  /\    
    /  /:/_                    /  /\         /  /\      /  /:/_       _\_ \:\      /  /\         \  \:\       /  /:/_       /  /:/_   
   /  /:/ /\    ___     ___   /  /:/        /  /:/     /  /:/ /\     /__/\ \:\    /  /:/          \  \:\     /  /:/ /\     /  /:/ /\  
  /  /:/ /:/_  /__/\   /  /\ /__/::\       /  /:/     /  /:/ /:/_   _\_ \:\ \:\  /__/::\      _____\__\:\   /  /:/_/::\   /  /:/ /::\ 
 /__/:/ /:/ /\ \  \:\ /  /:/ \__\/\:\__   /  /::\    /__/:/ /:/ /\ /__/\ \:\ \:\ \__\/\:\__  /__/::::::::\ /__/:/__\/\:\ /__/:/ /:/\:\
 \  \:\/:/ /:/  \  \:\  /:/     \  \:\/\ /__/:/\:\   \  \:\/:/ /:/ \  \:\ \:\/:/    \  \:\/\ \  \:\~~\~~\/ \  \:\ /~~/:/ \  \:\/:/~/:/
  \  \::/ /:/    \  \:\/:/       \__\::/ \__\/  \:\   \  \::/ /:/   \  \:\ \::/      \__\::/  \  \:\  ~~~   \  \:\  /:/   \  \::/ /:/ 
   \  \:\/:/      \  \::/        /__/:/       \  \:\   \  \:\/:/     \  \:\/:/       /__/:/    \  \:\        \  \:\/:/     \__\/ /:/  
    \  \::/        \__\/         \__\/         \__\/    \  \::/       \  \::/        \__\/      \  \:\        \  \::/        /__/:/   
     \__\/                                               \__\/         \__\/                     \__\/         \__\/         \__\/    


Hello 
I am Elitewings,
Global One line AutoPool Smart contract.

*/

pragma solidity 0.5.11;

contract Elitewings {
    address public ownerWallet;
    struct Variables {
        uint currUserID          ;
        uint pool1currUserID     ;
        uint pool2currUserID     ;
        uint pool3currUserID     ;
        uint pool4currUserID     ;
        uint pool5currUserID     ;
        uint pool6currUserID     ;
        uint pool7currUserID     ;
        uint pool8currUserID     ;
        uint pool9currUserID     ;
        uint pool10currUserID    ;
        uint pool11currUserID    ;
        uint pool12currUserID    ;
    }
    struct Variables2 {
        uint pool1activeUserID   ;
        uint pool2activeUserID   ;
        uint pool3activeUserID   ;
        uint pool4activeUserID   ;
        uint pool5activeUserID   ;
        uint pool6activeUserID   ;
        uint pool7activeUserID   ;
        uint pool8activeUserID   ;
        uint pool9activeUserID   ;
        uint pool10activeUserID  ;
        uint pool11activeUserID  ;
        uint pool12activeUserID  ;
    }
    Variables public vars;
    Variables2 public vars2;

    struct UserStruct {
        bool isExist;
        uint id;
        uint referrerID;
        uint referredUsers;
        mapping(uint => uint) levelExpired;
    }
    
    struct PoolUserStruct {
        bool isExist;
        uint id;
        uint payment_received; 
    }
    
    mapping (address => UserStruct) public users;
    mapping (uint => address) public userList;
    
    mapping (address => PoolUserStruct) public pool1users;
    mapping (uint => address) public pool1userList;
    
    mapping (address => PoolUserStruct) public pool2users;
    mapping (uint => address) public pool2userList;
    
    mapping (address => PoolUserStruct) public pool3users;
    mapping (uint => address) public pool3userList;
    
    mapping (address => PoolUserStruct) public pool4users;
    mapping (uint => address) public pool4userList;
    
    mapping (address => PoolUserStruct) public pool5users;
    mapping (uint => address) public pool5userList;
    
    mapping (address => PoolUserStruct) public pool6users;
    mapping (uint => address) public pool6userList;
    
    mapping (address => PoolUserStruct) public pool7users;
    mapping (uint => address) public pool7userList;
    
    mapping (address => PoolUserStruct) public pool8users;
    mapping (uint => address) public pool8userList;
    
    mapping (address => PoolUserStruct) public pool9users;
    mapping (uint => address) public pool9userList;
    
    mapping (address => PoolUserStruct) public pool10users;
    mapping (uint => address) public pool10userList;
    
    mapping (address => PoolUserStruct) public pool11users;
    mapping (uint => address) public pool11userList;
    
    mapping (address => PoolUserStruct) public pool12users;
    mapping (uint => address) public pool12userList;
     
    mapping(uint => uint) public LEVEL_PRICE;
    
    uint public unlimited_level_price   = 0;
    
    uint REGESTRATION_FESS      =   0.10    ether;
    
    uint pool1_price            =   0.25    ether;
    uint pool2_price            =   0.50    ether;
    uint pool3_price            =   0.75    ether;
    uint pool4_price            =   1.25    ether;
    uint pool5_price            =   2.00    ether;
    uint pool6_price            =   3.50    ether;
    uint pool7_price            =   6.00    ether;
    uint pool8_price            =   10.00   ether;
    uint pool9_price            =   15.00   ether;
    uint pool10_price           =   20.00   ether;
    uint pool11_price           =   30.00   ether;
    uint pool12_price           =   50.00   ether;
   
    event regLevelEvent(address indexed _user, address indexed _referrer, uint _time);
    event getMoneyForLevelEvent(address indexed _user, address indexed _referral, uint _level, uint _time);
    event regPoolEntry(address indexed _user,uint _level,   uint _time);
    event getPoolPayment(address indexed _user,address indexed _receiver, uint _level, uint _time);
   
    UserStruct[] public requests;
    uint public totalEarned = 0;
     
    constructor() public {
        ownerWallet = msg.sender;

        LEVEL_PRICE[1] = 0.040 ether;   
        LEVEL_PRICE[2] = 0.006 ether;   
        LEVEL_PRICE[3] = 0.004 ether;   
        LEVEL_PRICE[4] = 0.00222 ether;   
        unlimited_level_price=0.00222 ether;   

        UserStruct memory userStruct;
        vars.currUserID++;

        userStruct = UserStruct({
            isExist: true,
            id: vars.currUserID,
            referrerID: 0,
            referredUsers:0
           
        });
        
        users[ownerWallet] = userStruct;
        userList[vars.currUserID] = ownerWallet;
       
       
        PoolUserStruct memory pooluserStruct;
        
        vars.pool1currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool1currUserID,
            payment_received:0
        });
        vars2.pool1activeUserID=vars.pool1currUserID;
        pool1users[msg.sender] = pooluserStruct;
        pool1userList[vars.pool1currUserID]=msg.sender;

        vars.pool2currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool2currUserID,
            payment_received:0
        });
        vars2.pool2activeUserID=vars.pool2currUserID;
        pool2users[msg.sender] = pooluserStruct;
        pool2userList[vars.pool2currUserID]=msg.sender;
       
        vars.pool3currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool3currUserID,
            payment_received:0
        });
        vars2.pool3activeUserID=vars.pool3currUserID;
        pool3users[msg.sender] = pooluserStruct;
        pool3userList[vars.pool3currUserID]=msg.sender;
       
        vars.pool4currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool4currUserID,
            payment_received:0
        });
        vars2.pool4activeUserID=vars.pool4currUserID;
        pool4users[msg.sender] = pooluserStruct;
        pool4userList[vars.pool4currUserID]=msg.sender;

        vars.pool5currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool5currUserID,
            payment_received:0
        });
        vars2.pool5activeUserID=vars.pool5currUserID;
        pool5users[msg.sender] = pooluserStruct;
        pool5userList[vars.pool5currUserID]=msg.sender;

        vars.pool6currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool6currUserID,
            payment_received:0
        });
        vars2.pool6activeUserID=vars.pool6currUserID;
        pool6users[msg.sender] = pooluserStruct;
        pool6userList[vars.pool6currUserID]=msg.sender;
       
        vars.pool7currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool7currUserID,
            payment_received:0
        });
        vars2.pool7activeUserID=vars.pool7currUserID;
        pool7users[msg.sender] = pooluserStruct;
        pool7userList[vars.pool7currUserID]=msg.sender;
       
        vars.pool8currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool8currUserID,
            payment_received:0
        });
        vars2.pool8activeUserID=vars.pool8currUserID;
        pool8users[msg.sender] = pooluserStruct;
        pool8userList[vars.pool8currUserID]=msg.sender;
       
        vars.pool9currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool9currUserID,
            payment_received:0
        });
        vars2.pool9activeUserID=vars.pool9currUserID;
        pool9users[msg.sender] = pooluserStruct;
        pool9userList[vars.pool9currUserID]=msg.sender;
       
        vars.pool10currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool10currUserID,
            payment_received:0
        });
        vars2.pool10activeUserID=vars.pool10currUserID;
        pool10users[msg.sender] = pooluserStruct;
        pool10userList[vars.pool10currUserID]=msg.sender;
        
        vars.pool11currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool11currUserID,
            payment_received:0
        });
        vars2.pool11activeUserID=vars.pool11currUserID;
        pool11users[msg.sender] = pooluserStruct;
        pool11userList[vars.pool11currUserID]=msg.sender;
        
        vars.pool12currUserID++;
        pooluserStruct = PoolUserStruct({
            isExist:true,
            id:vars.pool12currUserID,
            payment_received:0
        });
        vars2.pool12activeUserID=vars.pool12currUserID;
        pool12users[msg.sender] = pooluserStruct;
        pool12userList[vars.pool12currUserID]=msg.sender;
       
       
    }
     
    function regUser(uint _referrerID) public payable {
       
        require(!users[msg.sender].isExist, "User Exists");
        require(_referrerID > 0 && _referrerID <= vars.currUserID, 'Incorrect referral ID');
        require(msg.value == REGESTRATION_FESS, 'Incorrect Value');
       
        UserStruct memory userStruct;
        vars.currUserID++;

        userStruct = UserStruct({
            isExist: true,
            id: vars.currUserID,
            referrerID: _referrerID,
            referredUsers:0
        });
   
        users[msg.sender] = userStruct;
        userList[vars.currUserID]=msg.sender;
       
        users[userList[users[msg.sender].referrerID]].referredUsers=users[userList[users[msg.sender].referrerID]].referredUsers+1;
        
        payReferral(1,msg.sender);
        emit regLevelEvent(msg.sender, userList[_referrerID], now);
    
    }

    function payReferral(uint _level, address _user) internal {
        address referer;
       
        referer = userList[users[_user].referrerID];
        bool sent = false;
       
        uint level_price_local=0;
        if(_level>4){
            level_price_local=unlimited_level_price;
        }
        else{
            level_price_local=LEVEL_PRICE[_level];
        }
        sent = address(uint160(referer)).send(level_price_local);

        if (sent) {
            totalEarned += level_price_local;
            emit getMoneyForLevelEvent(referer, msg.sender, _level, now);
            if(_level <= 20 && users[referer].referrerID >= 1){
                payReferral(_level+1,referer);
            }
            else
            {
                sendBalance();
            }
           
        }
       
        if(!sent) {
            payReferral(_level, referer);
        }
     }
    
    function buyPool(uint poolNumber) public payable{
        require(users[msg.sender].isExist, "User Not Registered");
        
        bool isinpool = isInPool(poolNumber,msg.sender);
        require(!isinpool, "Already in AutoPool");
        
        require(poolNumber>=1,"Pool number <0");
        require(poolNumber<=12,"Pool number >12");
        
        bool isPriceValid = checkPrice(poolNumber,msg.value);
        require(isPriceValid,"Price of Pool is Wrong");
        
        PoolUserStruct memory userStruct;
        address poolCurrentuser=getPoolCurrentUser(poolNumber);
        increasePoolCurrentUserID(poolNumber);
        
        userStruct = PoolUserStruct({
            isExist:true,
            id:getPoolCurrentUserID(poolNumber),
            payment_received:0
        });
        assignPoolUser(poolNumber,msg.sender,userStruct.id,userStruct);
        uint pool_price = getPoolPrice(poolNumber);
        
        bool sent = false;
        //direct fee for referer (10%)
        uint fee = (pool_price * 10) / 100;
        address referer;
        referer = userList[users[msg.sender].referrerID];
        
        uint poolshare = pool_price - fee;
        
        if (address(uint160(referer)).send(fee))
            sent = address(uint160(poolCurrentuser)).send(poolshare);
        
        if (sent) {
            totalEarned += poolshare;
            increasePoolPaymentReceive(poolNumber,poolCurrentuser);
            if(getPoolPaymentReceive(poolNumber,poolCurrentuser)>=getPoolPaymentNumber(poolNumber))
            {
                increasePoolActiveUserID(poolNumber);
            }
            emit getPoolPayment(msg.sender,poolCurrentuser, poolNumber, now);
            emit regPoolEntry(msg.sender, poolNumber, now);
        }
        
    }
    function getPoolPaymentNumber(uint _poolNumber) internal pure returns (uint){
        if (_poolNumber <=6)
            return 2;
        else if ((_poolNumber > 6) && (_poolNumber <=10))
            return 3;
        else if (_poolNumber ==11)
            return 4;
        else if (_poolNumber ==12)
            return 5; 
        
        return 0;
    }
    
    function isInPool(uint _poolNumber,address _PoolMember) internal view returns (bool){
        if (_poolNumber == 1)
            return pool1users[_PoolMember].isExist;
        else if (_poolNumber == 2)
            return pool2users[_PoolMember].isExist;
        else if (_poolNumber == 3)
            return pool3users[_PoolMember].isExist;
        else if (_poolNumber == 4)
            return pool4users[_PoolMember].isExist;
        else if (_poolNumber == 5)
            return pool5users[_PoolMember].isExist;
        else if (_poolNumber == 6)
            return pool6users[_PoolMember].isExist;
        else if (_poolNumber == 7)
            return pool7users[_PoolMember].isExist;
        else if (_poolNumber == 8)
            return pool8users[_PoolMember].isExist;
        else if (_poolNumber == 9)
            return pool9users[_PoolMember].isExist;
        else if (_poolNumber == 10)
            return pool10users[_PoolMember].isExist;
        else if (_poolNumber == 11)
            return pool11users[_PoolMember].isExist;
        else if (_poolNumber == 12)
            return pool12users[_PoolMember].isExist;
        
        return true;
    }
    
    function checkPrice(uint _poolNumber,uint256 Amount) internal view returns (bool){
        bool ret = false;
        
        if ((_poolNumber == 1)&&(Amount ==pool1_price))
            ret = true;
        else if ((_poolNumber == 2)&&(Amount ==pool2_price))
            ret = true;
        else if ((_poolNumber == 3)&&(Amount ==pool3_price))
            ret = true;
        else if ((_poolNumber == 4)&&(Amount ==pool4_price))
            ret = true;
        else if ((_poolNumber == 5)&&(Amount ==pool5_price))
            ret = true;
        else if ((_poolNumber == 6)&&(Amount ==pool6_price))
            ret = true;
        else if ((_poolNumber == 7)&&(Amount ==pool7_price))
            ret = true;
        else if ((_poolNumber == 8)&&(Amount ==pool8_price))
            ret = true;
        else if ((_poolNumber == 9)&&(Amount ==pool9_price))
            ret = true;
        else if ((_poolNumber == 10)&&(Amount ==pool10_price))
            ret = true;
        else if ((_poolNumber == 11)&&(Amount ==pool11_price))
            ret = true;
        else if ((_poolNumber == 12)&&(Amount ==pool12_price))
            ret = true;
            
        return ret;
    }
    
    function getPoolCurrentUser(uint _poolNumber) internal view returns (address){
        if (_poolNumber == 1)
            return pool1userList[vars2.pool1activeUserID];
        else if (_poolNumber == 2)
            return pool2userList[vars2.pool2activeUserID];
        else if (_poolNumber == 3)
            return pool3userList[vars2.pool3activeUserID];
        else if (_poolNumber == 4)
            return pool4userList[vars2.pool4activeUserID];
        else if (_poolNumber == 5)
            return pool5userList[vars2.pool5activeUserID];
        else if (_poolNumber == 6)
            return pool6userList[vars2.pool6activeUserID];
        else if (_poolNumber == 7)
            return pool7userList[vars2.pool7activeUserID];
        else if (_poolNumber == 8)
            return pool8userList[vars2.pool8activeUserID];
        else if (_poolNumber == 9)
            return pool9userList[vars2.pool9activeUserID];
        else if (_poolNumber == 10)
            return pool10userList[vars2.pool10activeUserID];
        else if (_poolNumber == 11)
            return pool11userList[vars2.pool11activeUserID];
        else if (_poolNumber == 12)
            return pool12userList[vars2.pool12activeUserID];
        
        return address(0);
    }
    
    function increasePoolCurrentUserID(uint _poolNumber) internal {
       if (_poolNumber == 1)
            vars.pool1currUserID++;
        else if (_poolNumber == 2)
            vars.pool2currUserID++;
        else if (_poolNumber == 3)
            vars.pool3currUserID++;
        else if (_poolNumber == 4)
            vars.pool4currUserID++;
        else if (_poolNumber == 5)
            vars.pool5currUserID++;
        else if (_poolNumber == 6)
            vars.pool6currUserID++;
        else if (_poolNumber == 7)
            vars.pool7currUserID++;
        else if (_poolNumber == 8)
            vars.pool8currUserID++;
        else if (_poolNumber == 9)
            vars.pool9currUserID++;
        else if (_poolNumber == 10)
            vars.pool10currUserID++;
        else if (_poolNumber == 11)
            vars.pool11currUserID++;
        else if (_poolNumber == 12)
            vars.pool12currUserID++;
    }
    
    function getPoolCurrentUserID(uint _poolNumber) internal view returns (uint){
        if (_poolNumber == 1)
            return vars.pool1currUserID;
        else if (_poolNumber == 2)
            return vars.pool2currUserID;
        else if (_poolNumber == 3)
            return vars.pool3currUserID;
        else if (_poolNumber == 4)
            return vars.pool4currUserID;
        else if (_poolNumber == 5)
            return vars.pool5currUserID;
        else if (_poolNumber == 6)
            return vars.pool6currUserID;
        else if (_poolNumber == 7)
            return vars.pool7currUserID;
        else if (_poolNumber == 8)
            return vars.pool8currUserID;
        else if (_poolNumber == 9)
            return vars.pool9currUserID;
        else if (_poolNumber == 10)
            return vars.pool10currUserID;
        else if (_poolNumber == 11)
            return vars.pool11currUserID;
        else if (_poolNumber == 12)
            return vars.pool12currUserID;
        
        return 0;
    }
    
    function assignPoolUser(uint _poolNumber,address newPoolMember,uint poolCurrentUserID,PoolUserStruct memory userStruct) internal {
        if (_poolNumber == 1){
            pool1users[newPoolMember] = userStruct;
            pool1userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 2){
            pool2users[newPoolMember] = userStruct;
            pool2userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 3){
            pool3users[newPoolMember] = userStruct;
            pool3userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 4){
            pool4users[newPoolMember] = userStruct;
            pool4userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 5){
            pool5users[newPoolMember] = userStruct;
            pool5userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 6){
            pool6users[newPoolMember] = userStruct;
            pool6userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 7){
            pool7users[newPoolMember] = userStruct;
            pool7userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 8){
            pool8users[newPoolMember] = userStruct;
            pool8userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 9){
            pool9users[newPoolMember] = userStruct;
            pool9userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 10){
            pool10users[newPoolMember] = userStruct;
            pool10userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 11){
            pool11users[newPoolMember] = userStruct;
            pool11userList[poolCurrentUserID]=newPoolMember;
        }
        else if (_poolNumber == 12){
            pool12users[newPoolMember] = userStruct;
            pool12userList[poolCurrentUserID]=newPoolMember;
        }
    }
    
    function getPoolPrice(uint _poolNumber) internal view returns (uint){
        if (_poolNumber == 1)
            return pool1_price;
        else if (_poolNumber == 2)
            return pool2_price;
        else if (_poolNumber == 3)
            return pool3_price;
        else if (_poolNumber == 4)
            return pool4_price;
        else if (_poolNumber == 5)
            return pool5_price;
        else if (_poolNumber == 6)
            return pool6_price;
        else if (_poolNumber == 7)
            return pool7_price;
        else if (_poolNumber == 8)
            return pool8_price;
        else if (_poolNumber == 9)
            return pool9_price;
        else if (_poolNumber == 10)
            return pool10_price;
        else if (_poolNumber == 11)
            return pool11_price;
        else if (_poolNumber == 12)
            return pool12_price;
        
        return 0;
    }
    
    function increasePoolPaymentReceive(uint _poolNumber, address CurrentUser) internal {
        if (_poolNumber == 1)
            pool1users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 2)
            pool2users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 3)
            pool3users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 4)
            pool4users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 5)
            pool5users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 6)
            pool6users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 7)
            pool7users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 8)
            pool8users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 9)
            pool9users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 10)
            pool10users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 11)
            pool11users[CurrentUser].payment_received+=1;
        else if (_poolNumber == 12)
            pool12users[CurrentUser].payment_received+=1;
    }
    
    function getPoolPaymentReceive(uint _poolNumber, address CurrentUser) internal view returns(uint){
        if (_poolNumber == 1)
            return pool1users[CurrentUser].payment_received;
        else if (_poolNumber == 2)
            return pool2users[CurrentUser].payment_received;
        else if (_poolNumber == 3)
            return pool3users[CurrentUser].payment_received;
        else if (_poolNumber == 4)
            return pool4users[CurrentUser].payment_received;
        else if (_poolNumber == 5)
            return pool5users[CurrentUser].payment_received;
        else if (_poolNumber == 6)
            return pool6users[CurrentUser].payment_received;
        else if (_poolNumber == 7)
            return pool7users[CurrentUser].payment_received;
        else if (_poolNumber == 8)
            return pool8users[CurrentUser].payment_received;
        else if (_poolNumber == 9)
            return pool9users[CurrentUser].payment_received;
        else if (_poolNumber == 10)
            return pool10users[CurrentUser].payment_received;
        else if (_poolNumber == 11)
            return pool11users[CurrentUser].payment_received;
        else if (_poolNumber == 12)
            return pool12users[CurrentUser].payment_received;
    }
    
    function increasePoolActiveUserID(uint _poolNumber) internal {
        if (_poolNumber == 1)
            vars2.pool1activeUserID+=1;
        else if (_poolNumber == 2)
            vars2.pool2activeUserID+=1;
        else if (_poolNumber == 3)
            vars2.pool3activeUserID+=1;
        else if (_poolNumber == 4)
            vars2.pool4activeUserID+=1;
        else if (_poolNumber == 5)
            vars2.pool5activeUserID+=1;
        else if (_poolNumber == 6)
            vars2.pool6activeUserID+=1;
        else if (_poolNumber == 7)
            vars2.pool7activeUserID+=1;
        else if (_poolNumber == 8)
            vars2.pool8activeUserID+=1;
        else if (_poolNumber == 9)
            vars2.pool9activeUserID+=1;
        else if (_poolNumber == 10)
            vars2.pool10activeUserID+=1;
        else if (_poolNumber == 11)
            vars2.pool11activeUserID+=1;
        else if (_poolNumber == 12)
            vars2.pool12activeUserID+=1;
    }
    
    function getEthBalance() public view returns(uint) {
    return address(this).balance;
    }
    
    function sendBalance() private
    {
         if (!address(uint160(ownerWallet)).send(getEthBalance()))
         {
             
         }
    }
   
   
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool12userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool5users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool3userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool1userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vars","outputs":[{"internalType":"uint256","name":"currUserID","type":"uint256"},{"internalType":"uint256","name":"pool1currUserID","type":"uint256"},{"internalType":"uint256","name":"pool2currUserID","type":"uint256"},{"internalType":"uint256","name":"pool3currUserID","type":"uint256"},{"internalType":"uint256","name":"pool4currUserID","type":"uint256"},{"internalType":"uint256","name":"pool5currUserID","type":"uint256"},{"internalType":"uint256","name":"pool6currUserID","type":"uint256"},{"internalType":"uint256","name":"pool7currUserID","type":"uint256"},{"internalType":"uint256","name":"pool8currUserID","type":"uint256"},{"internalType":"uint256","name":"pool9currUserID","type":"uint256"},{"internalType":"uint256","name":"pool10currUserID","type":"uint256"},{"internalType":"uint256","name":"pool11currUserID","type":"uint256"},{"internalType":"uint256","name":"pool12currUserID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool8userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool1users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool11users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool4userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool9userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool9users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool6users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getEthBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool3users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"LEVEL_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"unlimited_level_price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool2userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool4users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool6userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"requests","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerID","type":"uint256"},{"internalType":"uint256","name":"referredUsers","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool2users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool7users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_referrerID","type":"uint256"}],"name":"regUser","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"poolNumber","type":"uint256"}],"name":"buyPool","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"ownerWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool8users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"referrerID","type":"uint256"},{"internalType":"uint256","name":"referredUsers","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool11userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vars2","outputs":[{"internalType":"uint256","name":"pool1activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool2activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool3activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool4activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool5activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool6activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool7activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool8activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool9activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool10activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool11activeUserID","type":"uint256"},{"internalType":"uint256","name":"pool12activeUserID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool5userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool12users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool7userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"pool10userList","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pool10users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"payment_received","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"address","name":"_referrer","type":"address"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"regLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"address","name":"_referral","type":"address"},{"indexed":false,"internalType":"uint256","name":"_level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"getMoneyForLevelEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":false,"internalType":"uint256","name":"_level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"regPoolEntry","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"},{"indexed":true,"internalType":"address","name":"_receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"_level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_time","type":"uint256"}],"name":"getPoolPayment","type":"event"}]

6080604052600060355567016345785d8a00006036556703782dace9d900006037556706f05b59d3b20000603855670a688906bd8b0000603955671158e460913d0000603a55671bc16d674ec80000603b556730927f74c9de0000603c556753444835ec580000603d55678ac7230489e80000603e5567d02ab486cedc0000603f556801158e460913d000006040556801a055690d9db800006041556802b5e3af16b18800006042556000604455348015620000ba57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550668e1bc9bf040000603460006001815260200190815260200160002081905550661550f7dca70000603460006002815260200190815260200160002081905550660e35fa931a00006034600060038152602001908152602001600020819055506607e3140766c0006034600060048152602001908152602001600020819055506607e3140766c000603581905550620001936200101d565b60016000016000815480929190600101919050555060405180608001604052806001151581526020016001600001548152602001600081526020016000815250905080601a60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155606082015181600301559050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601b6000600160000154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002f962001047565b6001800160008154809291906001019190505550604051806060016040528060011515815260200160018001548152602001600081525090506001800154600e6000018190555080601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505033601d60006001800154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600201600081548092919060010191905055506040518060600160405280600115158152602001600160020154815260200160008152509050600160020154600e6001018190555080601e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505033601f6000600160020154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600301600081548092919060010191905055506040518060600160405280600115158152602001600160030154815260200160008152509050600160030154600e6002018190555080602060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201559050503360216000600160030154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600401600081548092919060010191905055506040518060600160405280600115158152602001600160040154815260200160008152509050600160040154600e6003018190555080602260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201559050503360236000600160040154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600501600081548092919060010191905055506040518060600160405280600115158152602001600160050154815260200160008152509050600160050154600e6004018190555080602460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201559050503360256000600160050154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600601600081548092919060010191905055506040518060600160405280600115158152602001600160060154815260200160008152509050600160060154600e6005018190555080602660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201559050503360276000600160060154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600701600081548092919060010191905055506040518060600160405280600115158152602001600160070154815260200160008152509050600160070154600e6006018190555080602860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201559050503360296000600160070154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600801600081548092919060010191905055506040518060600160405280600115158152602001600160080154815260200160008152509050600160080154600e6007018190555080602a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505033602b6000600160080154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600901600081548092919060010191905055506040518060600160405280600115158152602001600160090154815260200160008152509050600160090154600e6008018190555080602c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505033602d6000600160090154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a016000815480929190600101919050555060405180606001604052806001151581526020016001600a01548152602001600081525090506001600a0154600e6009018190555080602e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505033602f60006001600a0154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b016000815480929190600101919050555060405180606001604052806001151581526020016001600b01548152602001600081525090506001600b0154600e600a018190555080603060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505033603160006001600b0154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c016000815480929190600101919050555060405180606001604052806001151581526020016001600c01548152602001600081525090506001600c0154600e600b018190555080603260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505033603360006001600c0154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506200106a565b60405180608001604052806000151581526020016000815260200160008152602001600081525090565b604051806060016040528060001515815260200160008152602001600081525090565b6146da806200107a6000396000f3fe60806040526004361061020f5760003560e01c806380085ec4116101185780639f9a2b0e116100a0578063c6d79e9d1161006f578063c6d79e9d14610ee8578063c9c67d8d14610f63578063db7242bd14610fda578063dd5d3e3014611055578063e687ecac146110d05761020f565b80639f9a2b0e14610d00578063a87430ba14610d77578063b0b3c73d14610df5578063c58f19a114610e705761020f565b8063851f31c6116100e7578063851f31c614610b5b5780638853b53e14610bd25780638e3dfa5f14610c005780639335dcb714610c2e5780639f4216e814610c855761020f565b806380085ec41461098a578063805b495414610a0157806381d12c5814610a7c57806384abfa3714610ae45761020f565b806350264b551161019b57806370ed0ada1161016a57806370ed0ada146107f357806378dffea71461081e57806379378e30146108955780637aa6e6dc146108e45780637ff135cd1461090f5761020f565b806350264b551461065f57806360fbf122146106da5780636dfa8d99146107515780636e2fb91d1461077c5761020f565b80630e5376d6116101e25780630e5376d6146103fc578063282e06761461047b57806338f2f446146104f657806341878bff1461056d578063435ea130146105e45761020f565b806302af03121461021457806309ea330a1461028f57806309fd01ba146103065780630c851e3c14610381575b600080fd5b34801561022057600080fd5b5061024d6004803603602081101561023757600080fd5b8101908080359060200190929190505050611147565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029b57600080fd5b506102de600480360360208110156102b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117a565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b34801561031257600080fd5b5061033f6004803603602081101561032957600080fd5b81019080803590602001909291905050506111b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038d57600080fd5b506103ba600480360360208110156103a457600080fd5b81019080803590602001909291905050506111e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040857600080fd5b50610411611217565b604051808e81526020018d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019d505050505050505050505050505060405180910390f35b34801561048757600080fd5b506104b46004803603602081101561049e57600080fd5b810190808035906020019092919050505061126b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561050257600080fd5b506105456004803603602081101561051957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129e565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b34801561057957600080fd5b506105bc6004803603602081101561059057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d5565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b3480156105f057600080fd5b5061061d6004803603602081101561060757600080fd5b810190808035906020019092919050505061130c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066b57600080fd5b506106986004803603602081101561068257600080fd5b810190808035906020019092919050505061133f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e657600080fd5b50610729600480360360208110156106fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611372565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b34801561075d57600080fd5b506107666113a9565b6040518082815260200191505060405180910390f35b34801561078857600080fd5b506107cb6004803603602081101561079f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113af565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b3480156107ff57600080fd5b506108086113e6565b6040518082815260200191505060405180910390f35b34801561082a57600080fd5b5061086d6004803603602081101561084157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611405565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b3480156108a157600080fd5b506108ce600480360360208110156108b857600080fd5b810190808035906020019092919050505061143b565b6040518082815260200191505060405180910390f35b3480156108f057600080fd5b506108f9611453565b6040518082815260200191505060405180910390f35b34801561091b57600080fd5b506109486004803603602081101561093257600080fd5b8101908080359060200190929190505050611459565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561099657600080fd5b506109d9600480360360208110156109ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061148c565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b348015610a0d57600080fd5b50610a3a60048036036020811015610a2457600080fd5b81019080803590602001909291905050506114c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a8857600080fd5b50610ab560048036036020811015610a9f57600080fd5b81019080803590602001909291905050506114f6565b604051808515151515815260200184815260200183815260200182815260200194505050505060405180910390f35b348015610af057600080fd5b50610b3360048036036020811015610b0757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611540565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b348015610b6757600080fd5b50610baa60048036036020811015610b7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611577565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b610bfe60048036036020811015610be857600080fd5b81019080803590602001909291905050506115ae565b005b610c2c60048036036020811015610c1657600080fd5b8101908080359060200190929190505050611aad565b005b348015610c3a57600080fd5b50610c43611fe0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c9157600080fd5b50610cbe60048036036020811015610ca857600080fd5b8101908080359060200190929190505050612005565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d0c57600080fd5b50610d4f60048036036020811015610d2357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612038565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b348015610d8357600080fd5b50610dc660048036036020811015610d9a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206f565b604051808515151515815260200184815260200183815260200182815260200194505050505060405180910390f35b348015610e0157600080fd5b50610e2e60048036036020811015610e1857600080fd5b81019080803590602001909291905050506120ac565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e7c57600080fd5b50610e856120df565b604051808d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019c5050505050505050505050505060405180910390f35b348015610ef457600080fd5b50610f2160048036036020811015610f0b57600080fd5b810190808035906020019092919050505061212d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f6f57600080fd5b50610fb260048036036020811015610f8657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612160565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b348015610fe657600080fd5b5061101360048036036020811015610ffd57600080fd5b8101908080359060200190929190505050612197565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561106157600080fd5b5061108e6004803603602081101561107857600080fd5b81019080803590602001909291905050506121ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156110dc57600080fd5b5061111f600480360360208110156110f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121fd565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b60336020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60246020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60216020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600180600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a01549080600b01549080600c015490508d565b602b6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60306020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60236020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602c6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60445481565b60266020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b602080528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60346020528060005260406000206000915090505481565b60355481565b601f6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60226020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60276020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6043818154811061150357fe5b90600052602060002090600502016000915090508060000160009054906101000a900460ff16908060010154908060020154908060030154905084565b601e6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60286020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615611671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f557365722045786973747300000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008111801561168657506001600001548111155b6116f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f496e636f727265637420726566657272616c204944000000000000000000000081525060200191505060405180910390fd5b603654341461176f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f72726563742056616c7565000000000000000000000000000000000081525060200191505060405180910390fd5b611777614658565b600160000160008154809291906001019190505550604051806080016040528060011515815260200160016000015481526020018381526020016000815250905080601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201556060820151816003015590505033601b6000600160000154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601a6000601b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015401601a6000601b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550611a11600133612234565b601b600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f1426040518082815260200191505060405180910390a35050565b601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16611b6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f55736572204e6f7420526567697374657265640000000000000000000000000081525060200191505060405180910390fd5b6000611b7b8233612428565b90508015611bf1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f416c726561647920696e204175746f506f6f6c0000000000000000000000000081525060200191505060405180910390fd5b6001821015611c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f506f6f6c206e756d626572203c3000000000000000000000000000000000000081525060200191505060405180910390fd5b600c821115611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f506f6f6c206e756d626572203e3132000000000000000000000000000000000081525060200191505060405180910390fd5b6000611ceb83346128b5565b905080611d60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5072696365206f6620506f6f6c2069732057726f6e670000000000000000000081525060200191505060405180910390fd5b611d68614682565b6000611d7385612a41565b9050611d7e85612db9565b6040518060600160405280600115158152602001611d9b87612f66565b815260200160008152509150611db78533846020015185613079565b6000611dc286613a9a565b9050600080905060006064600a840281611dd857fe5b0490506000601b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600082850390508173ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015611ece578573ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505093505b8315611fd45780604460008282540192505081905550611eee8a87613b8a565b611ef78a614009565b611f018b88614069565b10611f1057611f0f8a614456565b5b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8481618b66a5bdb9dafcf5399da7af45bcb127ca77a372a11bcc23dc52ce20338c42604051808381526020018281526020019250505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167fcb07244260cf1d494c557a355f7b7dd3663a109c736b84fdef66b8d839cfa2168b42604051808381526020018281526020019250505060405180910390a25b50505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602a6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b601a6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154908060030154905084565b60316020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e80600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a01549080600b015490508c565b60256020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60326020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60296020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602f6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602e6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b6000601b6000601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000809050600080905060048511156122cb5760355490506122e2565b603460008681526020019081526020016000205490505b8273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050509150811561241157806044600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fce7dc747411ac40191c5335943fcc79d8c2d8c01ca5ae83d9fed160409fa61208742604051808381526020018281526020019250505060405180910390a3601485111580156123f057506001601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015410155b15612407576124026001860184612234565b612410565b61240f6145f8565b5b5b81612421576124208584612234565b5b5050505050565b6000600183141561248a57601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b60028314156124ea57601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600383141561254a57602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b60048314156125aa57602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600583141561260a57602460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600683141561266a57602660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b60078314156126ca57602860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600883141561272a57602a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600983141561278a57602c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600a8314156127ea57602e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600b83141561284a57603060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600c8314156128aa57603260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600190505b92915050565b600080600090506001841480156128cd575060375483145b156128db5760019050612a37565b6002841480156128ec575060385483145b156128fa5760019050612a36565b60038414801561290b575060395483145b156129195760019050612a35565b60048414801561292a5750603a5483145b156129385760019050612a34565b6005841480156129495750603b5483145b156129575760019050612a33565b6006841480156129685750603c5483145b156129765760019050612a32565b6007841480156129875750603d5483145b156129955760019050612a31565b6008841480156129a65750603e5483145b156129b45760019050612a30565b6009841480156129c55750603f5483145b156129d35760019050612a2f565b600a841480156129e4575060405483145b156129f25760019050612a2e565b600b84148015612a03575060415483145b15612a115760019050612a2d565b600c84148015612a22575060425483145b15612a2c57600190505b5b5b5b5b5b5b5b5b5b5b5b8091505092915050565b60006001821415612a8c57601d6000600e60000154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6002821415612ad557601f6000600e60010154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6003821415612b1e5760216000600e60020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6004821415612b675760236000600e60030154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6005821415612bb05760256000600e60040154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6006821415612bf95760276000600e60050154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6007821415612c425760296000600e60060154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6008821415612c8b57602b6000600e60070154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6009821415612cd457602d6000600e60080154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b600a821415612d1d57602f6000600e60090154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b600b821415612d665760316000600e600a0154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b600c821415612daf5760336000600e600b0154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b600090505b919050565b6001811415612ddb576001800160008154809291906001019190505550612f63565b6002811415612dfe57600160020160008154809291906001019190505550612f62565b6003811415612e2157600160030160008154809291906001019190505550612f61565b6004811415612e4457600160040160008154809291906001019190505550612f60565b6005811415612e6757600160050160008154809291906001019190505550612f5f565b6006811415612e8a57600160060160008154809291906001019190505550612f5e565b6007811415612ead57600160070160008154809291906001019190505550612f5d565b6008811415612ed057600160080160008154809291906001019190505550612f5c565b6009811415612ef357600160090160008154809291906001019190505550612f5b565b600a811415612f16576001600a0160008154809291906001019190505550612f5a565b600b811415612f39576001600b0160008154809291906001019190505550612f59565b600c811415612f58576001600c01600081548092919060010191905055505b5b5b5b5b5b5b5b5b5b5b5b50565b60006001821415612f7d5760018001549050613074565b6002821415612f93576001600201549050613074565b6003821415612fa9576001600301549050613074565b6004821415612fbf576001600401549050613074565b6005821415612fd5576001600501549050613074565b6006821415612feb576001600601549050613074565b6007821415613001576001600701549050613074565b6008821415613017576001600801549050613074565b600982141561302d576001600901549050613074565b600a821415613043576001600a01549050613074565b600b821415613059576001600b01549050613074565b600c82141561306f576001600c01549050613074565b600090505b919050565b60018414156131505780601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082601d600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a94565b60028414156132275780601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082601f600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a93565b60038414156132fe5780602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826021600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a92565b60048414156133d55780602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826023600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a91565b60058414156134ac5780602460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826025600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a90565b60068414156135835780602660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826027600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8f565b600784141561365a5780602860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826029600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e565b60088414156137315780602a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082602b600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8d565b60098414156138085780602c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082602d600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8c565b600a8414156138df5780602e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082602f600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8b565b600b8414156139b65780603060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826031600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8a565b600c841415613a895780603260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826033600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b5b5b5b5b5b5b5b5b5b50505050565b60006001821415613aaf576037549050613b85565b6002821415613ac2576038549050613b85565b6003821415613ad5576039549050613b85565b6004821415613ae857603a549050613b85565b6005821415613afb57603b549050613b85565b6006821415613b0e57603c549050613b85565b6007821415613b2157603d549050613b85565b6008821415613b3457603e549050613b85565b6009821415613b4757603f549050613b85565b600a821415613b5a576040549050613b85565b600b821415613b6d576041549050613b85565b600c821415613b80576042549050613b85565b600090505b919050565b6001821415613be9576001601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614005565b6002821415613c48576001601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614004565b6003821415613ca7576001602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614003565b6004821415613d06576001602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614002565b6005821415613d65576001602460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614001565b6006821415613dc4576001602660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614000565b6007821415613e23576001602860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613fff565b6008821415613e82576001602a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613ffe565b6009821415613ee1576001602c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613ffd565b600a821415613f40576001602e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613ffc565b600b821415613f9f576001603060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613ffb565b600c821415613ffa576001603260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825401925050819055505b5b5b5b5b5b5b5b5b5b5b5b5050565b60006006821161401c5760029050614064565b60068211801561402d5750600a8211155b1561403b5760039050614064565b600b82141561404d5760049050614064565b600c82141561405f5760059050614064565b600090505b919050565b600060018314156140be57601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600283141561411157601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600383141561416457602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b60048314156141b757602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600583141561420a57602460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600683141561425d57602660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b60078314156142b057602860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600883141561430357602a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600983141561435657602c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600a8314156143a957602e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600b8314156143fc57603060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600c83141561444f57603260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b5b92915050565b6001811415614478576001600e600001600082825401925050819055506145f5565b600281141561449a576001600e600101600082825401925050819055506145f4565b60038114156144bc576001600e600201600082825401925050819055506145f3565b60048114156144de576001600e600301600082825401925050819055506145f2565b6005811415614500576001600e600401600082825401925050819055506145f1565b6006811415614522576001600e600501600082825401925050819055506145f0565b6007811415614544576001600e600601600082825401925050819055506145ef565b6008811415614566576001600e600701600082825401925050819055506145ee565b6009811415614588576001600e600801600082825401925050819055506145ed565b600a8114156145aa576001600e600901600082825401925050819055506145ec565b600b8114156145cc576001600e600a01600082825401925050819055506145eb565b600c8114156145ea576001600e600b01600082825401925050819055505b5b5b5b5b5b5b5b5b5b5b5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61463b6113e6565b9081150290604051600060405180830381858888f1935050505050565b60405180608001604052806000151581526020016000815260200160008152602001600081525090565b60405180606001604052806000151581526020016000815260200160008152509056fea265627a7a723158205e75131bc6ae72b1379316e11e5d7f01f7ede05ce5afc28a90ce077be0cb4a5d64736f6c634300050b0032

Deployed Bytecode

0x60806040526004361061020f5760003560e01c806380085ec4116101185780639f9a2b0e116100a0578063c6d79e9d1161006f578063c6d79e9d14610ee8578063c9c67d8d14610f63578063db7242bd14610fda578063dd5d3e3014611055578063e687ecac146110d05761020f565b80639f9a2b0e14610d00578063a87430ba14610d77578063b0b3c73d14610df5578063c58f19a114610e705761020f565b8063851f31c6116100e7578063851f31c614610b5b5780638853b53e14610bd25780638e3dfa5f14610c005780639335dcb714610c2e5780639f4216e814610c855761020f565b806380085ec41461098a578063805b495414610a0157806381d12c5814610a7c57806384abfa3714610ae45761020f565b806350264b551161019b57806370ed0ada1161016a57806370ed0ada146107f357806378dffea71461081e57806379378e30146108955780637aa6e6dc146108e45780637ff135cd1461090f5761020f565b806350264b551461065f57806360fbf122146106da5780636dfa8d99146107515780636e2fb91d1461077c5761020f565b80630e5376d6116101e25780630e5376d6146103fc578063282e06761461047b57806338f2f446146104f657806341878bff1461056d578063435ea130146105e45761020f565b806302af03121461021457806309ea330a1461028f57806309fd01ba146103065780630c851e3c14610381575b600080fd5b34801561022057600080fd5b5061024d6004803603602081101561023757600080fd5b8101908080359060200190929190505050611147565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029b57600080fd5b506102de600480360360208110156102b257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117a565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b34801561031257600080fd5b5061033f6004803603602081101561032957600080fd5b81019080803590602001909291905050506111b1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561038d57600080fd5b506103ba600480360360208110156103a457600080fd5b81019080803590602001909291905050506111e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040857600080fd5b50610411611217565b604051808e81526020018d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019d505050505050505050505050505060405180910390f35b34801561048757600080fd5b506104b46004803603602081101561049e57600080fd5b810190808035906020019092919050505061126b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561050257600080fd5b506105456004803603602081101561051957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129e565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b34801561057957600080fd5b506105bc6004803603602081101561059057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d5565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b3480156105f057600080fd5b5061061d6004803603602081101561060757600080fd5b810190808035906020019092919050505061130c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066b57600080fd5b506106986004803603602081101561068257600080fd5b810190808035906020019092919050505061133f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e657600080fd5b50610729600480360360208110156106fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611372565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b34801561075d57600080fd5b506107666113a9565b6040518082815260200191505060405180910390f35b34801561078857600080fd5b506107cb6004803603602081101561079f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113af565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b3480156107ff57600080fd5b506108086113e6565b6040518082815260200191505060405180910390f35b34801561082a57600080fd5b5061086d6004803603602081101561084157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611405565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b3480156108a157600080fd5b506108ce600480360360208110156108b857600080fd5b810190808035906020019092919050505061143b565b6040518082815260200191505060405180910390f35b3480156108f057600080fd5b506108f9611453565b6040518082815260200191505060405180910390f35b34801561091b57600080fd5b506109486004803603602081101561093257600080fd5b8101908080359060200190929190505050611459565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561099657600080fd5b506109d9600480360360208110156109ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061148c565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b348015610a0d57600080fd5b50610a3a60048036036020811015610a2457600080fd5b81019080803590602001909291905050506114c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a8857600080fd5b50610ab560048036036020811015610a9f57600080fd5b81019080803590602001909291905050506114f6565b604051808515151515815260200184815260200183815260200182815260200194505050505060405180910390f35b348015610af057600080fd5b50610b3360048036036020811015610b0757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611540565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b348015610b6757600080fd5b50610baa60048036036020811015610b7e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611577565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b610bfe60048036036020811015610be857600080fd5b81019080803590602001909291905050506115ae565b005b610c2c60048036036020811015610c1657600080fd5b8101908080359060200190929190505050611aad565b005b348015610c3a57600080fd5b50610c43611fe0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c9157600080fd5b50610cbe60048036036020811015610ca857600080fd5b8101908080359060200190929190505050612005565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610d0c57600080fd5b50610d4f60048036036020811015610d2357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612038565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b348015610d8357600080fd5b50610dc660048036036020811015610d9a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061206f565b604051808515151515815260200184815260200183815260200182815260200194505050505060405180910390f35b348015610e0157600080fd5b50610e2e60048036036020811015610e1857600080fd5b81019080803590602001909291905050506120ac565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e7c57600080fd5b50610e856120df565b604051808d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019c5050505050505050505050505060405180910390f35b348015610ef457600080fd5b50610f2160048036036020811015610f0b57600080fd5b810190808035906020019092919050505061212d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f6f57600080fd5b50610fb260048036036020811015610f8657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612160565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b348015610fe657600080fd5b5061101360048036036020811015610ffd57600080fd5b8101908080359060200190929190505050612197565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561106157600080fd5b5061108e6004803603602081101561107857600080fd5b81019080803590602001909291905050506121ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156110dc57600080fd5b5061111f600480360360208110156110f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121fd565b6040518084151515158152602001838152602001828152602001935050505060405180910390f35b60336020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60246020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60216020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600180600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a01549080600b01549080600c015490508d565b602b6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60306020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60236020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602c6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60445481565b60266020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b602080528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60346020528060005260406000206000915090505481565b60355481565b601f6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60226020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60276020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6043818154811061150357fe5b90600052602060002090600502016000915090508060000160009054906101000a900460ff16908060010154908060020154908060030154905084565b601e6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60286020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615611671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f557365722045786973747300000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008111801561168657506001600001548111155b6116f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f496e636f727265637420726566657272616c204944000000000000000000000081525060200191505060405180910390fd5b603654341461176f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f496e636f72726563742056616c7565000000000000000000000000000000000081525060200191505060405180910390fd5b611777614658565b600160000160008154809291906001019190505550604051806080016040528060011515815260200160016000015481526020018381526020016000815250905080601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010155604082015181600201556060820151816003015590505033601b6000600160000154815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601a6000601b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015401601a6000601b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181905550611a11600133612234565b601b600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f788c06d2405ae89dd3f0528d38be7691289474d72176408bc2c2406dc5e342f1426040518082815260200191505060405180910390a35050565b601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16611b6f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f55736572204e6f7420526567697374657265640000000000000000000000000081525060200191505060405180910390fd5b6000611b7b8233612428565b90508015611bf1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f416c726561647920696e204175746f506f6f6c0000000000000000000000000081525060200191505060405180910390fd5b6001821015611c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f506f6f6c206e756d626572203c3000000000000000000000000000000000000081525060200191505060405180910390fd5b600c821115611cdf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f506f6f6c206e756d626572203e3132000000000000000000000000000000000081525060200191505060405180910390fd5b6000611ceb83346128b5565b905080611d60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5072696365206f6620506f6f6c2069732057726f6e670000000000000000000081525060200191505060405180910390fd5b611d68614682565b6000611d7385612a41565b9050611d7e85612db9565b6040518060600160405280600115158152602001611d9b87612f66565b815260200160008152509150611db78533846020015185613079565b6000611dc286613a9a565b9050600080905060006064600a840281611dd857fe5b0490506000601b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600082850390508173ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015611ece578573ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505093505b8315611fd45780604460008282540192505081905550611eee8a87613b8a565b611ef78a614009565b611f018b88614069565b10611f1057611f0f8a614456565b5b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8481618b66a5bdb9dafcf5399da7af45bcb127ca77a372a11bcc23dc52ce20338c42604051808381526020018281526020019250505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff167fcb07244260cf1d494c557a355f7b7dd3663a109c736b84fdef66b8d839cfa2168b42604051808381526020018281526020019250505060405180910390a25b50505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602a6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b601a6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154908060030154905084565b60316020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e80600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a01549080600b015490508c565b60256020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60326020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b60296020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602f6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602e6020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b6000601b6000601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000809050600080905060048511156122cb5760355490506122e2565b603460008681526020019081526020016000205490505b8273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050509150811561241157806044600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fce7dc747411ac40191c5335943fcc79d8c2d8c01ca5ae83d9fed160409fa61208742604051808381526020018281526020019250505060405180910390a3601485111580156123f057506001601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015410155b15612407576124026001860184612234565b612410565b61240f6145f8565b5b5b81612421576124208584612234565b5b5050505050565b6000600183141561248a57601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b60028314156124ea57601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600383141561254a57602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b60048314156125aa57602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600583141561260a57602460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600683141561266a57602660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b60078314156126ca57602860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600883141561272a57602a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600983141561278a57602c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600a8314156127ea57602e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600b83141561284a57603060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600c8314156128aa57603260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1690506128af565b600190505b92915050565b600080600090506001841480156128cd575060375483145b156128db5760019050612a37565b6002841480156128ec575060385483145b156128fa5760019050612a36565b60038414801561290b575060395483145b156129195760019050612a35565b60048414801561292a5750603a5483145b156129385760019050612a34565b6005841480156129495750603b5483145b156129575760019050612a33565b6006841480156129685750603c5483145b156129765760019050612a32565b6007841480156129875750603d5483145b156129955760019050612a31565b6008841480156129a65750603e5483145b156129b45760019050612a30565b6009841480156129c55750603f5483145b156129d35760019050612a2f565b600a841480156129e4575060405483145b156129f25760019050612a2e565b600b84148015612a03575060415483145b15612a115760019050612a2d565b600c84148015612a22575060425483145b15612a2c57600190505b5b5b5b5b5b5b5b5b5b5b5b8091505092915050565b60006001821415612a8c57601d6000600e60000154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6002821415612ad557601f6000600e60010154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6003821415612b1e5760216000600e60020154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6004821415612b675760236000600e60030154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6005821415612bb05760256000600e60040154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6006821415612bf95760276000600e60050154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6007821415612c425760296000600e60060154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6008821415612c8b57602b6000600e60070154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b6009821415612cd457602d6000600e60080154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b600a821415612d1d57602f6000600e60090154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b600b821415612d665760316000600e600a0154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b600c821415612daf5760336000600e600b0154815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612db4565b600090505b919050565b6001811415612ddb576001800160008154809291906001019190505550612f63565b6002811415612dfe57600160020160008154809291906001019190505550612f62565b6003811415612e2157600160030160008154809291906001019190505550612f61565b6004811415612e4457600160040160008154809291906001019190505550612f60565b6005811415612e6757600160050160008154809291906001019190505550612f5f565b6006811415612e8a57600160060160008154809291906001019190505550612f5e565b6007811415612ead57600160070160008154809291906001019190505550612f5d565b6008811415612ed057600160080160008154809291906001019190505550612f5c565b6009811415612ef357600160090160008154809291906001019190505550612f5b565b600a811415612f16576001600a0160008154809291906001019190505550612f5a565b600b811415612f39576001600b0160008154809291906001019190505550612f59565b600c811415612f58576001600c01600081548092919060010191905055505b5b5b5b5b5b5b5b5b5b5b5b50565b60006001821415612f7d5760018001549050613074565b6002821415612f93576001600201549050613074565b6003821415612fa9576001600301549050613074565b6004821415612fbf576001600401549050613074565b6005821415612fd5576001600501549050613074565b6006821415612feb576001600601549050613074565b6007821415613001576001600701549050613074565b6008821415613017576001600801549050613074565b600982141561302d576001600901549050613074565b600a821415613043576001600a01549050613074565b600b821415613059576001600b01549050613074565b600c82141561306f576001600c01549050613074565b600090505b919050565b60018414156131505780601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082601d600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a94565b60028414156132275780601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082601f600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a93565b60038414156132fe5780602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826021600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a92565b60048414156133d55780602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826023600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a91565b60058414156134ac5780602460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826025600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a90565b60068414156135835780602660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826027600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8f565b600784141561365a5780602860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826029600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8e565b60088414156137315780602a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082602b600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8d565b60098414156138085780602c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082602d600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8c565b600a8414156138df5780602e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002015590505082602f600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8b565b600b8414156139b65780603060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826031600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613a8a565b600c841415613a895780603260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff0219169083151502179055506020820151816001015560408201518160020155905050826033600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b5b5b5b5b5b5b5b5b5b50505050565b60006001821415613aaf576037549050613b85565b6002821415613ac2576038549050613b85565b6003821415613ad5576039549050613b85565b6004821415613ae857603a549050613b85565b6005821415613afb57603b549050613b85565b6006821415613b0e57603c549050613b85565b6007821415613b2157603d549050613b85565b6008821415613b3457603e549050613b85565b6009821415613b4757603f549050613b85565b600a821415613b5a576040549050613b85565b600b821415613b6d576041549050613b85565b600c821415613b80576042549050613b85565b600090505b919050565b6001821415613be9576001601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614005565b6002821415613c48576001601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614004565b6003821415613ca7576001602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614003565b6004821415613d06576001602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614002565b6005821415613d65576001602460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614001565b6006821415613dc4576001602660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550614000565b6007821415613e23576001602860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613fff565b6008821415613e82576001602a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613ffe565b6009821415613ee1576001602c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613ffd565b600a821415613f40576001602e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613ffc565b600b821415613f9f576001603060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008282540192505081905550613ffb565b600c821415613ffa576001603260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825401925050819055505b5b5b5b5b5b5b5b5b5b5b5b5050565b60006006821161401c5760029050614064565b60068211801561402d5750600a8211155b1561403b5760039050614064565b600b82141561404d5760049050614064565b600c82141561405f5760059050614064565b600090505b919050565b600060018314156140be57601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600283141561411157601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600383141561416457602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b60048314156141b757602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600583141561420a57602460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600683141561425d57602660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b60078314156142b057602860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600883141561430357602a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600983141561435657602c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600a8314156143a957602e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600b8314156143fc57603060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b600c83141561444f57603260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201549050614450565b5b92915050565b6001811415614478576001600e600001600082825401925050819055506145f5565b600281141561449a576001600e600101600082825401925050819055506145f4565b60038114156144bc576001600e600201600082825401925050819055506145f3565b60048114156144de576001600e600301600082825401925050819055506145f2565b6005811415614500576001600e600401600082825401925050819055506145f1565b6006811415614522576001600e600501600082825401925050819055506145f0565b6007811415614544576001600e600601600082825401925050819055506145ef565b6008811415614566576001600e600701600082825401925050819055506145ee565b6009811415614588576001600e600801600082825401925050819055506145ed565b600a8114156145aa576001600e600901600082825401925050819055506145ec565b600b8114156145cc576001600e600a01600082825401925050819055506145eb565b600c8114156145ea576001600e600b01600082825401925050819055505b5b5b5b5b5b5b5b5b5b5b5b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61463b6113e6565b9081150290604051600060405180830381858888f1935050505050565b60405180608001604052806000151581526020016000815260200160008152602001600081525090565b60405180606001604052806000151581526020016000815260200160008152509056fea265627a7a723158205e75131bc6ae72b1379316e11e5d7f01f7ede05ce5afc28a90ce077be0cb4a5d64736f6c634300050b0032

Deployed Bytecode Sourcemap

1607:25820:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4464:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4464:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4464:47:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3566:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3566:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3566:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3388:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3388:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3388:46:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3150:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3150:46:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2630:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2630:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3983:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3983:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3983:46:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3090:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3090:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3090:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4282:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4282:54:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4282:54:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3507:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3507:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3507:46:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4102:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4102:46:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4042:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4042:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4042:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5729:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5729:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3685:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3685:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3685:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27157:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27157:94:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3328:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3328:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3328:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4525:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4525:40:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4525:40:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4578:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4578:39:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3269:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3269:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3269:46:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3447:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3447:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3447:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3745:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3745:46:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5694:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5694:28:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5694:28:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3209:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3209:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3209:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3804;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3804:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3804:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10791:901;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10791:901:0;;;;;;;;;;;;;;;;;:::i;:::-;;12634:1828;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12634:1828:0;;;;;;;;;;;;;;;;;:::i;:::-;;1634:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1634:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3036:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3036:41:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3036:41:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3923:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3923:53:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3923:53:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2985:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2985:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2985:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4343:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4343:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4343:47:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2658:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2658:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3626:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3626:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3626:46:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4403:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4403:54:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4403:54:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3864:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3864:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3864:46:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4222:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4222:47:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4222:47:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4161:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4161:54:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4161:54:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4464:47;;;;;;;;;;;;;;;;;;;;;;:::o;3566:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3388:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;3150:::-;;;;;;;;;;;;;;;;;;;;;;:::o;2630:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3983:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;3090:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4282:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3507:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;4102:::-;;;;;;;;;;;;;;;;;;;;;;:::o;4042:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5729:27::-;;;;:::o;3685:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;27157:94::-;27202:4;27230;27222:21;;;27215:28;;27157:94;:::o;3328:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4525:40::-;;;;;;;;;;;;;;;;;:::o;4578:39::-;;;;:::o;3269:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;3447:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3745:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;5694:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3209:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3804:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10791:901::-;10870:5;:17;10876:10;10870:17;;;;;;;;;;;;;;;:25;;;;;;;;;;;;10869:26;10861:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10944:1;10930:11;:15;:49;;;;;10964:4;:15;;;10949:11;:30;;10930:49;10922:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11037:17;;11024:9;:30;11016:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11094:28;;:::i;:::-;11133:4;:15;;;:17;;;;;;;;;;;;;11176:153;;;;;;;;11211:4;11176:153;;;;;;11234:4;:15;;;11176:153;;;;11276:11;11176:153;;;;11316:1;11176:153;;;11163:166;;11365:10;11345:5;:17;11351:10;11345:17;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11412:10;11386:8;:25;11395:4;:15;;;11386:25;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;11562:1;11502:5;:45;11508:8;:38;11517:5;:17;11523:10;11517:17;;;;;;;;;;;;;;;:28;;;11508:38;;;;;;;;;;;;;;;;;;;;;11502:45;;;;;;;;;;;;;;;:59;;;:61;11442:5;:45;11448:8;:38;11457:5;:17;11463:10;11457:17;;;;;;;;;;;;;;;:28;;;11448:38;;;;;;;;;;;;;;;;;;;;;11442:45;;;;;;;;;;;;;;;:59;;:121;;;;11584:25;11596:1;11598:10;11584:11;:25::i;:::-;11651:8;:21;11660:11;11651:21;;;;;;;;;;;;;;;;;;;;;11625:53;;11639:10;11625:53;;;11674:3;11625:53;;;;;;;;;;;;;;;;;;10791:901;;:::o;12634:1828::-;12701:5;:17;12707:10;12701:17;;;;;;;;;;;;;;;:25;;;;;;;;;;;;12693:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12771:13;12787:31;12796:10;12807;12787:8;:31::i;:::-;12771:47;;12838:8;12837:9;12829:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12911:1;12899:10;:13;;12891:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12961:2;12949:10;:14;;12941:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13003:17;13023:32;13034:10;13045:9;13023:10;:32::i;:::-;13003:52;;13074:12;13066:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13133:32;;:::i;:::-;13176:23;13200:30;13219:10;13200:18;:30::i;:::-;13176:54;;13241:37;13267:10;13241:25;:37::i;:::-;13312:137;;;;;;;;13350:4;13312:137;;;;;;13372:32;13393:10;13372:20;:32::i;:::-;13312:137;;;;13436:1;13312:137;;;13299:150;;13460:62;13475:10;13486;13497;:13;;;13511:10;13460:14;:62::i;:::-;13533:15;13551:24;13564:10;13551:12;:24::i;:::-;13533:42;;13596:9;13608:5;13596:17;;13664:8;13695:3;13689:2;13676:10;:15;13675:23;;;;;;13664:34;;13709:15;13745:8;:38;13754:5;:17;13760:10;13754:17;;;;;;;;;;;;;;;:28;;;13745:38;;;;;;;;;;;;;;;;;;;;;13735:48;;13804:14;13834:3;13821:10;:16;13804:33;;13878:7;13862:30;;:35;13893:3;13862:35;;;;;;;;;;;;;;;;;;;;;;;13858:110;;;13935:15;13919:38;;:49;13958:9;13919:49;;;;;;;;;;;;;;;;;;;;;;;13912:56;;13858:110;13993:4;13989:456;;;14029:9;14014:11;;:24;;;;;;;;;;;14053:54;14080:10;14091:15;14053:26;:54::i;:::-;14176:32;14197:10;14176:20;:32::i;:::-;14125:49;14147:10;14158:15;14125:21;:49::i;:::-;:83;14122:172;;14242:36;14267:10;14242:24;:36::i;:::-;14122:172;14339:15;14313:59;;14328:10;14313:59;;;14356:10;14368:3;14313:59;;;;;;;;;;;;;;;;;;;;;;;;14405:10;14392:41;;;14417:10;14429:3;14392:41;;;;;;;;;;;;;;;;;;;;;;;;13989:456;12634:1828;;;;;;;;;;:::o;1634:26::-;;;;;;;;;;;;;:::o;3036:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;3923:53::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2985:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4343:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;2658:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3626:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;4403:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3864:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;4222:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4161:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11700:922::-;11769:15;11814:8;:33;11823:5;:12;11829:5;11823:12;;;;;;;;;;;;;;;:23;;;11814:33;;;;;;;;;;;;;;;;;;;;;11804:43;;11858:9;11870:5;11858:17;;11895:22;11918:1;11895:24;;11940:1;11933:6;:8;11930:156;;;11975:21;;11957:39;;11930:156;;;12055:11;:19;12067:6;12055:19;;;;;;;;;;;;12037:37;;11930:156;12119:7;12103:30;;:49;12134:17;12103:49;;;;;;;;;;;;;;;;;;;;;;;12096:56;;12169:4;12165:365;;;12205:17;12190:11;;:32;;;;;;;;;;;12273:10;12242:55;;12264:7;12242:55;;;12285:6;12293:3;12242:55;;;;;;;;;;;;;;;;;;;;;;;;12325:2;12315:6;:12;;:46;;;;;12360:1;12331:5;:14;12337:7;12331:14;;;;;;;;;;;;;;;:25;;;:30;;12315:46;12312:194;;;12381:29;12400:1;12393:6;:8;12402:7;12381:11;:29::i;:::-;12312:194;;;12477:13;:11;:13::i;:::-;12312:194;12165:365;12553:4;12549:65;;12574:28;12586:6;12594:7;12574:11;:28::i;:::-;12549:65;11700:922;;;;;:::o;14847:1193::-;14926:4;14961:1;14946:11;:16;14942:1058;;;14984:10;:23;14995:11;14984:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;14977:38;;;;14942:1058;15050:1;15035:11;:16;15031:969;;;15073:10;:23;15084:11;15073:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;15066:38;;;;15031:969;15139:1;15124:11;:16;15120:880;;;15162:10;:23;15173:11;15162:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;15155:38;;;;15120:880;15228:1;15213:11;:16;15209:791;;;15251:10;:23;15262:11;15251:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;15244:38;;;;15209:791;15317:1;15302:11;:16;15298:702;;;15340:10;:23;15351:11;15340:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;15333:38;;;;15298:702;15406:1;15391:11;:16;15387:613;;;15429:10;:23;15440:11;15429:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;15422:38;;;;15387:613;15495:1;15480:11;:16;15476:524;;;15518:10;:23;15529:11;15518:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;15511:38;;;;15476:524;15584:1;15569:11;:16;15565:435;;;15607:10;:23;15618:11;15607:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;15600:38;;;;15565:435;15673:1;15658:11;:16;15654:346;;;15696:10;:23;15707:11;15696:23;;;;;;;;;;;;;;;:31;;;;;;;;;;;;15689:38;;;;15654:346;15762:2;15747:11;:17;15743:257;;;15786:11;:24;15798:11;15786:24;;;;;;;;;;;;;;;:32;;;;;;;;;;;;15779:39;;;;15743:257;15853:2;15838:11;:17;15834:166;;;15877:11;:24;15889:11;15877:24;;;;;;;;;;;;;;;:32;;;;;;;;;;;;15870:39;;;;15834:166;15944:2;15929:11;:17;15925:75;;;15968:11;:24;15980:11;15968:24;;;;;;;;;;;;;;;:32;;;;;;;;;;;;15961:39;;;;15925:75;16028:4;16021:11;;14847:1193;;;;;:::o;16052:1206::-;16128:4;16144:8;16155:5;16144:16;;16201:1;16186:11;:16;16185:42;;;;;16215:11;;16206:6;:20;16185:42;16181:1034;;;16248:4;16242:10;;16181:1034;;;16288:1;16273:11;:16;16272:42;;;;;16302:11;;16293:6;:20;16272:42;16268:947;;;16335:4;16329:10;;16268:947;;;16375:1;16360:11;:16;16359:42;;;;;16389:11;;16380:6;:20;16359:42;16355:860;;;16422:4;16416:10;;16355:860;;;16462:1;16447:11;:16;16446:42;;;;;16476:11;;16467:6;:20;16446:42;16442:773;;;16509:4;16503:10;;16442:773;;;16549:1;16534:11;:16;16533:42;;;;;16563:11;;16554:6;:20;16533:42;16529:686;;;16596:4;16590:10;;16529:686;;;16636:1;16621:11;:16;16620:42;;;;;16650:11;;16641:6;:20;16620:42;16616:599;;;16683:4;16677:10;;16616:599;;;16723:1;16708:11;:16;16707:42;;;;;16737:11;;16728:6;:20;16707:42;16703:512;;;16770:4;16764:10;;16703:512;;;16810:1;16795:11;:16;16794:42;;;;;16824:11;;16815:6;:20;16794:42;16790:425;;;16857:4;16851:10;;16790:425;;;16897:1;16882:11;:16;16881:42;;;;;16911:11;;16902:6;:20;16881:42;16877:338;;;16944:4;16938:10;;16877:338;;;16984:2;16969:11;:17;16968:44;;;;;16999:12;;16990:6;:21;16968:44;16964:251;;;17033:4;17027:10;;16964:251;;;17073:2;17058:11;:17;17057:44;;;;;17088:12;;17079:6;:21;17057:44;17053:162;;;17122:4;17116:10;;17053:162;;;17162:2;17147:11;:17;17146:44;;;;;17177:12;;17168:6;:21;17146:44;17142:73;;;17211:4;17205:10;;17142:73;17053:162;16964:251;16877:338;16790:425;16703:512;16616:599;16529:686;16442:773;16355:860;16268:947;16181:1034;17247:3;17240:10;;;16052:1206;;;;:::o;17270:1279::-;17339:7;17377:1;17362:11;:16;17358:1145;;;17400:13;:38;17414:5;:23;;;17400:38;;;;;;;;;;;;;;;;;;;;;17393:45;;;;17358:1145;17473:1;17458:11;:16;17454:1049;;;17496:13;:38;17510:5;:23;;;17496:38;;;;;;;;;;;;;;;;;;;;;17489:45;;;;17454:1049;17569:1;17554:11;:16;17550:953;;;17592:13;:38;17606:5;:23;;;17592:38;;;;;;;;;;;;;;;;;;;;;17585:45;;;;17550:953;17665:1;17650:11;:16;17646:857;;;17688:13;:38;17702:5;:23;;;17688:38;;;;;;;;;;;;;;;;;;;;;17681:45;;;;17646:857;17761:1;17746:11;:16;17742:761;;;17784:13;:38;17798:5;:23;;;17784:38;;;;;;;;;;;;;;;;;;;;;17777:45;;;;17742:761;17857:1;17842:11;:16;17838:665;;;17880:13;:38;17894:5;:23;;;17880:38;;;;;;;;;;;;;;;;;;;;;17873:45;;;;17838:665;17953:1;17938:11;:16;17934:569;;;17976:13;:38;17990:5;:23;;;17976:38;;;;;;;;;;;;;;;;;;;;;17969:45;;;;17934:569;18049:1;18034:11;:16;18030:473;;;18072:13;:38;18086:5;:23;;;18072:38;;;;;;;;;;;;;;;;;;;;;18065:45;;;;18030:473;18145:1;18130:11;:16;18126:377;;;18168:13;:38;18182:5;:23;;;18168:38;;;;;;;;;;;;;;;;;;;;;18161:45;;;;18126:377;18241:2;18226:11;:17;18222:281;;;18265:14;:40;18280:5;:24;;;18265:40;;;;;;;;;;;;;;;;;;;;;18258:47;;;;18222:281;18340:2;18325:11;:17;18321:182;;;18364:14;:40;18379:5;:24;;;18364:40;;;;;;;;;;;;;;;;;;;;;18357:47;;;;18321:182;18439:2;18424:11;:17;18420:83;;;18463:14;:40;18478:5;:24;;;18463:40;;;;;;;;;;;;;;;;;;;;;18456:47;;;;18420:83;18539:1;18524:17;;17270:1279;;;;:::o;18561:946::-;18652:1;18637:11;:16;18633:866;;;18668:4;:20;;;:22;;;;;;;;;;;;;18633:866;;;18725:1;18710:11;:16;18706:793;;;18741:4;:20;;;:22;;;;;;;;;;;;;18706:793;;;18798:1;18783:11;:16;18779:720;;;18814:4;:20;;;:22;;;;;;;;;;;;;18779:720;;;18871:1;18856:11;:16;18852:647;;;18887:4;:20;;;:22;;;;;;;;;;;;;18852:647;;;18944:1;18929:11;:16;18925:574;;;18960:4;:20;;;:22;;;;;;;;;;;;;18925:574;;;19017:1;19002:11;:16;18998:501;;;19033:4;:20;;;:22;;;;;;;;;;;;;18998:501;;;19090:1;19075:11;:16;19071:428;;;19106:4;:20;;;:22;;;;;;;;;;;;;19071:428;;;19163:1;19148:11;:16;19144:355;;;19179:4;:20;;;:22;;;;;;;;;;;;;19144:355;;;19236:1;19221:11;:16;19217:282;;;19252:4;:20;;;:22;;;;;;;;;;;;;19217:282;;;19309:2;19294:11;:17;19290:209;;;19326:4;:21;;;:23;;;;;;;;;;;;;19290:209;;;19384:2;19369:11;:17;19365:134;;;19401:4;:21;;;:23;;;;;;;;;;;;;19365:134;;;19459:2;19444:11;:17;19440:59;;;19476:4;:21;;;:23;;;;;;;;;;;;;19440:59;19365:134;19290:209;19217:282;19144:355;19071:428;18998:501;18925:574;18852:647;18779:720;18706:793;18633:866;18561:946;:::o;19519:1050::-;19590:4;19625:1;19610:11;:16;19606:926;;;19648:4;:20;;;19641:27;;;;19606:926;19703:1;19688:11;:16;19684:848;;;19726:4;:20;;;19719:27;;;;19684:848;19781:1;19766:11;:16;19762:770;;;19804:4;:20;;;19797:27;;;;19762:770;19859:1;19844:11;:16;19840:692;;;19882:4;:20;;;19875:27;;;;19840:692;19937:1;19922:11;:16;19918:614;;;19960:4;:20;;;19953:27;;;;19918:614;20015:1;20000:11;:16;19996:536;;;20038:4;:20;;;20031:27;;;;19996:536;20093:1;20078:11;:16;20074:458;;;20116:4;:20;;;20109:27;;;;20074:458;20171:1;20156:11;:16;20152:380;;;20194:4;:20;;;20187:27;;;;20152:380;20249:1;20234:11;:16;20230:302;;;20272:4;:20;;;20265:27;;;;20230:302;20327:2;20312:11;:17;20308:224;;;20351:4;:21;;;20344:28;;;;20308:224;20407:2;20392:11;:17;20388:144;;;20431:4;:21;;;20424:28;;;;20388:144;20487:2;20472:11;:17;20468:64;;;20511:4;:21;;;20504:28;;;;20468:64;20560:1;20553:8;;19519:1050;;;;:::o;20581:2085::-;20740:1;20725:11;:16;20721:1938;;;20785:10;20757;:25;20768:13;20757:25;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20843:13;20810;:32;20824:17;20810:32;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20721:1938;;;20902:1;20887:11;:16;20883:1776;;;20947:10;20919;:25;20930:13;20919:25;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21005:13;20972;:32;20986:17;20972:32;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;20883:1776;;;21064:1;21049:11;:16;21045:1614;;;21109:10;21081;:25;21092:13;21081:25;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21167:13;21134;:32;21148:17;21134:32;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;21045:1614;;;21226:1;21211:11;:16;21207:1452;;;21271:10;21243;:25;21254:13;21243:25;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21329:13;21296;:32;21310:17;21296:32;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;21207:1452;;;21388:1;21373:11;:16;21369:1290;;;21433:10;21405;:25;21416:13;21405:25;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21491:13;21458;:32;21472:17;21458:32;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;21369:1290;;;21550:1;21535:11;:16;21531:1128;;;21595:10;21567;:25;21578:13;21567:25;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21653:13;21620;:32;21634:17;21620:32;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;21531:1128;;;21712:1;21697:11;:16;21693:966;;;21757:10;21729;:25;21740:13;21729:25;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21815:13;21782;:32;21796:17;21782:32;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;21693:966;;;21874:1;21859:11;:16;21855:804;;;21919:10;21891;:25;21902:13;21891:25;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21977:13;21944;:32;21958:17;21944:32;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;21855:804;;;22036:1;22021:11;:16;22017:642;;;22081:10;22053;:25;22064:13;22053:25;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22139:13;22106;:32;22120:17;22106:32;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;22017:642;;;22198:2;22183:11;:17;22179:480;;;22245:10;22216:11;:26;22228:13;22216:26;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22304:13;22270:14;:33;22285:17;22270:33;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;22179:480;;;22363:2;22348:11;:17;22344:315;;;22410:10;22381:11;:26;22393:13;22381:26;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22469:13;22435:14;:33;22450:17;22435:33;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;22344:315;;;22528:2;22513:11;:17;22509:150;;;22575:10;22546:11;:26;22558:13;22546:26;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22634:13;22600:14;:33;22615:17;22600:33;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;22509:150;22344:315;22179:480;22017:642;21855:804;21693:966;21531:1128;21369:1290;21207:1452;21045:1614;20883:1776;20721:1938;20581:2085;;;;:::o;22678:934::-;22741:4;22776:1;22761:11;:16;22757:818;;;22799:11;;22792:18;;;;22757:818;22845:1;22830:11;:16;22826:749;;;22868:11;;22861:18;;;;22826:749;22914:1;22899:11;:16;22895:680;;;22937:11;;22930:18;;;;22895:680;22983:1;22968:11;:16;22964:611;;;23006:11;;22999:18;;;;22964:611;23052:1;23037:11;:16;23033:542;;;23075:11;;23068:18;;;;23033:542;23121:1;23106:11;:16;23102:473;;;23144:11;;23137:18;;;;23102:473;23190:1;23175:11;:16;23171:404;;;23213:11;;23206:18;;;;23171:404;23259:1;23244:11;:16;23240:335;;;23282:11;;23275:18;;;;23240:335;23328:1;23313:11;:16;23309:266;;;23351:11;;23344:18;;;;23309:266;23397:2;23382:11;:17;23378:197;;;23421:12;;23414:19;;;;23378:197;23468:2;23453:11;:17;23449:126;;;23492:12;;23485:19;;;;23449:126;23539:2;23524:11;:17;23520:55;;;23563:12;;23556:19;;;;23520:55;23603:1;23596:8;;22678:934;;;;:::o;23624:1221::-;23738:1;23723:11;:16;23719:1118;;;23796:1;23754:10;:23;23765:11;23754:23;;;;;;;;;;;;;;;:40;;;:43;;;;;;;;;;;23719:1118;;;23832:1;23817:11;:16;23813:1024;;;23890:1;23848:10;:23;23859:11;23848:23;;;;;;;;;;;;;;;:40;;;:43;;;;;;;;;;;23813:1024;;;23926:1;23911:11;:16;23907:930;;;23984:1;23942:10;:23;23953:11;23942:23;;;;;;;;;;;;;;;:40;;;:43;;;;;;;;;;;23907:930;;;24020:1;24005:11;:16;24001:836;;;24078:1;24036:10;:23;24047:11;24036:23;;;;;;;;;;;;;;;:40;;;:43;;;;;;;;;;;24001:836;;;24114:1;24099:11;:16;24095:742;;;24172:1;24130:10;:23;24141:11;24130:23;;;;;;;;;;;;;;;:40;;;:43;;;;;;;;;;;24095:742;;;24208:1;24193:11;:16;24189:648;;;24266:1;24224:10;:23;24235:11;24224:23;;;;;;;;;;;;;;;:40;;;:43;;;;;;;;;;;24189:648;;;24302:1;24287:11;:16;24283:554;;;24360:1;24318:10;:23;24329:11;24318:23;;;;;;;;;;;;;;;:40;;;:43;;;;;;;;;;;24283:554;;;24396:1;24381:11;:16;24377:460;;;24454:1;24412:10;:23;24423:11;24412:23;;;;;;;;;;;;;;;:40;;;:43;;;;;;;;;;;24377:460;;;24490:1;24475:11;:16;24471:366;;;24548:1;24506:10;:23;24517:11;24506:23;;;;;;;;;;;;;;;:40;;;:43;;;;;;;;;;;24471:366;;;24584:2;24569:11;:17;24565:272;;;24644:1;24601:11;:24;24613:11;24601:24;;;;;;;;;;;;;;;:41;;;:44;;;;;;;;;;;24565:272;;;24680:2;24665:11;:17;24661:176;;;24740:1;24697:11;:24;24709:11;24697:24;;;;;;;;;;;;;;;:41;;;:44;;;;;;;;;;;24661:176;;;24776:2;24761:11;:17;24757:80;;;24836:1;24793:11;:24;24805:11;24793:24;;;;;;;;;;;;;;;:41;;;:44;;;;;;;;;;;24757:80;24661:176;24565:272;24471:366;24377:460;24283:554;24189:648;24095:742;24001:836;23907:930;23813:1024;23719:1118;23624:1221;;:::o;14468:367::-;14539:4;14573:1;14559:11;:15;14555:242;;14596:1;14589:8;;;;14555:242;14632:1;14618:11;:15;14617:39;;;;;14653:2;14639:11;:16;;14617:39;14613:184;;;14678:1;14671:8;;;;14613:184;14713:2;14699:11;:16;14695:102;;;14737:1;14730:8;;;;14695:102;14772:2;14758:11;:16;14754:43;;;14796:1;14789:8;;;;14754:43;14826:1;14819:8;;14468:367;;;;:::o;24857:1282::-;24949:4;24984:1;24969:11;:16;24965:1166;;;25007:10;:23;25018:11;25007:23;;;;;;;;;;;;;;;:40;;;25000:47;;;;24965:1166;25082:1;25067:11;:16;25063:1068;;;25105:10;:23;25116:11;25105:23;;;;;;;;;;;;;;;:40;;;25098:47;;;;25063:1068;25180:1;25165:11;:16;25161:970;;;25203:10;:23;25214:11;25203:23;;;;;;;;;;;;;;;:40;;;25196:47;;;;25161:970;25278:1;25263:11;:16;25259:872;;;25301:10;:23;25312:11;25301:23;;;;;;;;;;;;;;;:40;;;25294:47;;;;25259:872;25376:1;25361:11;:16;25357:774;;;25399:10;:23;25410:11;25399:23;;;;;;;;;;;;;;;:40;;;25392:47;;;;25357:774;25474:1;25459:11;:16;25455:676;;;25497:10;:23;25508:11;25497:23;;;;;;;;;;;;;;;:40;;;25490:47;;;;25455:676;25572:1;25557:11;:16;25553:578;;;25595:10;:23;25606:11;25595:23;;;;;;;;;;;;;;;:40;;;25588:47;;;;25553:578;25670:1;25655:11;:16;25651:480;;;25693:10;:23;25704:11;25693:23;;;;;;;;;;;;;;;:40;;;25686:47;;;;25651:480;25768:1;25753:11;:16;25749:382;;;25791:10;:23;25802:11;25791:23;;;;;;;;;;;;;;;:40;;;25784:47;;;;25749:382;25866:2;25851:11;:17;25847:284;;;25890:11;:24;25902:11;25890:24;;;;;;;;;;;;;;;:41;;;25883:48;;;;25847:284;25966:2;25951:11;:17;25947:184;;;25990:11;:24;26002:11;25990:24;;;;;;;;;;;;;;;:41;;;25983:48;;;;25947:184;26066:2;26051:11;:17;26047:84;;;26090:11;:24;26102:11;26090:24;;;;;;;;;;;;;;;:41;;;26083:48;;;;26047:84;24857:1282;;;;;:::o;26151:994::-;26242:1;26227:11;:16;26223:914;;;26283:1;26258:5;:23;;;:26;;;;;;;;;;;26223:914;;;26319:1;26304:11;:16;26300:837;;;26360:1;26335:5;:23;;;:26;;;;;;;;;;;26300:837;;;26396:1;26381:11;:16;26377:760;;;26437:1;26412:5;:23;;;:26;;;;;;;;;;;26377:760;;;26473:1;26458:11;:16;26454:683;;;26514:1;26489:5;:23;;;:26;;;;;;;;;;;26454:683;;;26550:1;26535:11;:16;26531:606;;;26591:1;26566:5;:23;;;:26;;;;;;;;;;;26531:606;;;26627:1;26612:11;:16;26608:529;;;26668:1;26643:5;:23;;;:26;;;;;;;;;;;26608:529;;;26704:1;26689:11;:16;26685:452;;;26745:1;26720:5;:23;;;:26;;;;;;;;;;;26685:452;;;26781:1;26766:11;:16;26762:375;;;26822:1;26797:5;:23;;;:26;;;;;;;;;;;26762:375;;;26858:1;26843:11;:16;26839:298;;;26899:1;26874:5;:23;;;:26;;;;;;;;;;;26839:298;;;26935:2;26920:11;:17;26916:221;;;26978:1;26952:5;:24;;;:27;;;;;;;;;;;26916:221;;;27014:2;26999:11;:17;26995:142;;;27057:1;27031:5;:24;;;:27;;;;;;;;;;;26995:142;;;27093:2;27078:11;:17;27074:63;;;27136:1;27110:5;:24;;;:27;;;;;;;;;;;27074:63;26995:142;26916:221;26839:298;26762:375;26685:452;26608:529;26531:606;26454:683;26377:760;26300:837;26223:914;26151:994;:::o;27263:151::-;27332:11;;;;;;;;;;;27316:34;;:51;27351:15;:13;:15::i;:::-;27316:51;;;;;;;;;;;;;;;;;;;;;;;27311:96;27263:151::o;1607:25820::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://5e75131bc6ae72b1379316e11e5d7f01f7ede05ce5afc28a90ce077be0cb4a5d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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