ETH Price: $3,483.79 (+3.11%)

Contract

0x786A20fA02e4672d550BccF0BfFf118CAAE519e6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Unstake169097592023-03-26 6:16:23844 days ago1679811383IN
0x786A20fA...CAAE519e6
0 ETH0.0008382514.02189844
Unstake169097352023-03-26 6:11:35844 days ago1679811095IN
0x786A20fA...CAAE519e6
0 ETH0.0011289112.7069652
Unstake161140242022-12-04 21:07:59956 days ago1670188079IN
0x786A20fA...CAAE519e6
0 ETH0.000736511.13718463
Withdraw Earning...161140162022-12-04 21:06:23956 days ago1670187983IN
0x786A20fA...CAAE519e6
0 ETH0.0006514611.16035035
Unstake161139962022-12-04 21:02:23956 days ago1670187743IN
0x786A20fA...CAAE519e6
0 ETH0.0008498911.84846212
Unstake154339012022-08-29 11:44:501053 days ago1661773490IN
0x786A20fA...CAAE519e6
0 ETH0.0008913610.02640507
Unstake154139162022-08-26 6:54:261056 days ago1661496866IN
0x786A20fA...CAAE519e6
0 ETH0.0013685615.39406136
Unstake153837822022-08-21 11:39:371061 days ago1661081977IN
0x786A20fA...CAAE519e6
0 ETH0.000524135.8956044
Unstake153775412022-08-20 12:04:541062 days ago1660997094IN
0x786A20fA...CAAE519e6
0 ETH0.000443494.98786905
Unstake153631642022-08-18 5:19:071064 days ago1660799947IN
0x786A20fA...CAAE519e6
0 ETH0.000439764.94666122
Stake153490192022-08-15 23:53:551067 days ago1660607635IN
0x786A20fA...CAAE519e6
0 ETH0.0009892613.71391216
Unstake153479072022-08-15 19:45:401067 days ago1660592740IN
0x786A20fA...CAAE519e6
0 ETH0.0013608120.55551477
Withdraw Earning...153479042022-08-15 19:45:191067 days ago1660592719IN
0x786A20fA...CAAE519e6
0 ETH0.0013085120.71312482
Withdraw Earning...153459772022-08-15 12:21:351067 days ago1660566095IN
0x786A20fA...CAAE519e6
0 ETH0.0003654711.01433716
Withdraw Earning...153459632022-08-15 12:19:341067 days ago1660565974IN
0x786A20fA...CAAE519e6
0 ETH0.0031244949.45929194
Unstake153393792022-08-14 11:04:581068 days ago1660475098IN
0x786A20fA...CAAE519e6
0 ETH0.000567056.37841554
Unstake153331232022-08-13 11:23:381069 days ago1660389818IN
0x786A20fA...CAAE519e6
0 ETH0.000586958.86612711
Withdraw Earning...153330142022-08-13 11:01:291069 days ago1660388489IN
0x786A20fA...CAAE519e6
0 ETH0.000435397.11751046
Unstake153327562022-08-13 10:01:481069 days ago1660384908IN
0x786A20fA...CAAE519e6
0 ETH0.0010327311.61652173
Unstake153327032022-08-13 9:49:531069 days ago1660384193IN
0x786A20fA...CAAE519e6
0 ETH0.0010062111.31676691
Withdraw Earning...153293102022-08-12 21:09:111070 days ago1660338551IN
0x786A20fA...CAAE519e6
0 ETH0.000484517
Withdraw Earning...153291502022-08-12 20:31:291070 days ago1660336289IN
0x786A20fA...CAAE519e6
0 ETH0.0005879813.63377165
Withdraw Earning...153291322022-08-12 20:26:161070 days ago1660335976IN
0x786A20fA...CAAE519e6
0 ETH0.0005913713.71237918
Withdraw Earning...153148112022-08-10 14:12:141072 days ago1660140734IN
0x786A20fA...CAAE519e6
0 ETH0.00207732.87807247
Unstake153130502022-08-10 7:29:311072 days ago1660116571IN
0x786A20fA...CAAE519e6
0 ETH0.000762218.5736282
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
LeadStake

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-03-26
*/

//"SPDX-License-Identifier: UNLICENSED"

pragma solidity ^0.6.0;

interface IERC20 {
    function transfer(address to, uint tokens) external returns (bool success);
    function transferFrom(address from, address to, uint tokens) external returns (bool success);
    function balanceOf(address tokenOwner) external view returns (uint balance);
    function approve(address spender, uint tokens) external returns (bool success);
    function allowance(address tokenOwner, address spender) external view returns (uint remaining);
    function totalSupply() external view returns (uint);
    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

library SafeMath {
    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }

    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }

    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }

    function div(uint a, uint b) internal pure returns (uint c) {
        require(b > 0);
        c = a / b;
    }
    
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
    
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Owned {
    address public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        owner = _newOwner;
        emit OwnershipTransferred(owner, _newOwner);
    }
}

contract LeadStake is Owned {
    
    //initializing safe computations
    using SafeMath for uint;

    //LEAD contract address
    address public lead;
    //total amount of staked lead
    uint public totalStaked;
    //tax rate for staking in percentage
    uint public stakingTaxRate;                     //10 = 1%
    //tax amount for registration
    uint public registrationTax;
    //daily return of investment in percentage
    uint public dailyROI;                         //100 = 1%
    //tax rate for unstaking in percentage 
    uint public unstakingTaxRate;                   //10 = 1%
    //minimum stakeable LEAD 
    uint public minimumStakeValue;
    //pause mechanism
    bool public active = true;
    
    //mapping of stakeholder's addresses to data
    mapping(address => uint) public stakes;
    mapping(address => uint) public referralRewards;
    mapping(address => uint) public referralCount;
    mapping(address => uint) public stakeRewards;
    mapping(address => uint) private lastClock;
    mapping(address => bool) public registered;
    
    //Events
    event OnWithdrawal(address sender, uint amount);
    event OnStake(address sender, uint amount, uint tax);
    event OnUnstake(address sender, uint amount, uint tax);
    event OnRegisterAndStake(address stakeholder, uint amount, uint totalTax , address _referrer);
    
    /**
     * @dev Sets the initial values
     */
    constructor(
        address _token,
        uint _stakingTaxRate, 
        uint _unstakingTaxRate,
        uint _dailyROI,
        uint _registrationTax,
        uint _minimumStakeValue) public {
            
        //set initial state variables
        lead = _token;
        stakingTaxRate = _stakingTaxRate;
        unstakingTaxRate = _unstakingTaxRate;
        dailyROI = _dailyROI;
        registrationTax = _registrationTax;
        minimumStakeValue = _minimumStakeValue;
    }
    
    //exclusive access for registered address
    modifier onlyRegistered() {
        require(registered[msg.sender] == true, "Stakeholder must be registered");
        _;
    }
    
    //exclusive access for unregistered address
    modifier onlyUnregistered() {
        require(registered[msg.sender] == false, "Stakeholder is already registered");
        _;
    }
        
    //make sure contract is active
    modifier whenActive() {
        require(active == true, "Smart contract is curently inactive");
        _;
    }
    
    /**
     * registers and creates stakes for new stakeholders
     * deducts the registration tax and staking tax
     * calculates refferal bonus from the registration tax and sends it to the _referrer if there is one
     * transfers LEAD from sender's address into the smart contract
     * Emits an {OnRegisterAndStake} event..
     */
    function registerAndStake(uint _amount, address _referrer) external onlyUnregistered() whenActive() {
        //makes sure user is not the referrer
        require(msg.sender != _referrer, "Cannot refer self");
        //makes sure referrer is registered already
        require(registered[_referrer] || address(0x0) == _referrer, "Referrer must be registered");
        //makes sure user has enough amount
        require(IERC20(lead).balanceOf(msg.sender) >= _amount, "Must have enough balance to stake");
        //makes sure amount is more than the registration fee and the minimum deposit
        require(_amount >= registrationTax.add(minimumStakeValue), "Must send at least enough LEAD to pay registration fee.");
        //makes sure smart contract transfers LEAD from user
        require(IERC20(lead).transferFrom(msg.sender, address(this), _amount), "Stake failed due to failed amount transfer.");
        //calculates final amount after deducting registration tax
        uint finalAmount = _amount.sub(registrationTax);
        //calculates staking tax on final calculated amount
        uint stakingTax = (stakingTaxRate.mul(finalAmount)).div(1000);
        //conditional statement if user registers with referrer 
        if(_referrer != address(0x0)) {
            //increase referral count of referrer
            referralCount[_referrer]++;
            //add referral bonus to referrer
            referralRewards[_referrer] = (referralRewards[_referrer]).add(stakingTax);
        } 
        //register user
        registered[msg.sender] = true;
        //mark the transaction date
        lastClock[msg.sender] = now;
        //update the total staked LEAD amount in the pool
        totalStaked = totalStaked.add(finalAmount).sub(stakingTax);
        //update the user's stakes deducting the staking tax
        stakes[msg.sender] = (stakes[msg.sender]).add(finalAmount).sub(stakingTax);
        //emit event
        emit OnRegisterAndStake(msg.sender, _amount, registrationTax.add(stakingTax), _referrer);
    }
    
    //calculates stakeholders latest unclaimed earnings 
    function calculateEarnings(address _stakeholder) public view returns(uint) {
        //records the number of days between the last payout time and now
        uint activeDays = (now.sub(lastClock[_stakeholder])).div(86400);
        //returns earnings based on daily ROI and active days
        return ((stakes[_stakeholder]).mul(dailyROI).mul(activeDays)).div(10000);
    }
    
    /**
     * creates stakes for already registered stakeholders
     * deducts the staking tax from _amount inputted
     * registers the remainder in the stakes of the sender
     * records the previous earnings before updated stakes 
     * Emits an {OnStake} event
     */
    function stake(uint _amount) external onlyRegistered() whenActive() {
        //makes sure stakeholder does not stake below the minimum
        require(_amount >= minimumStakeValue, "Amount is below minimum stake value.");
        //makes sure stakeholder has enough balance
        require(IERC20(lead).balanceOf(msg.sender) >= _amount, "Must have enough balance to stake");
        //makes sure smart contract transfers LEAD from user
        require(IERC20(lead).transferFrom(msg.sender, address(this), _amount), "Stake failed due to failed amount transfer.");
        //calculates staking tax on amount
        uint stakingTax = (stakingTaxRate.mul(_amount)).div(1000);
        //calculates amount after tax
        uint afterTax = _amount.sub(stakingTax);
        //update the total staked LEAD amount in the pool
        totalStaked = totalStaked.add(afterTax);
        //adds earnings current earnings to stakeRewards
        stakeRewards[msg.sender] = (stakeRewards[msg.sender]).add(calculateEarnings(msg.sender));
        //calculates unpaid period
        uint remainder = (now.sub(lastClock[msg.sender])).mod(86400);
        //mark transaction date with remainder
        lastClock[msg.sender] = now.sub(remainder);
        //updates stakeholder's stakes
        stakes[msg.sender] = (stakes[msg.sender]).add(afterTax);
        //emit event
        emit OnStake(msg.sender, afterTax, stakingTax);
    }
    
    
    /**
     * removes '_amount' stakes for already registered stakeholders
     * deducts the unstaking tax from '_amount'
     * transfers the sum of the remainder, stake rewards, referral rewards, and current eanrings to the sender 
     * deregisters stakeholder if all the stakes are removed
     * Emits an {OnStake} event
     */
    function unstake(uint _amount) external onlyRegistered() {
        //makes sure _amount is not more than stake balance
        require(_amount <= stakes[msg.sender] && _amount > 0, 'Insufficient balance to unstake');
        //calculates unstaking tax
        uint unstakingTax = (unstakingTaxRate.mul(_amount)).div(1000);
        //calculates amount after tax
        uint afterTax = _amount.sub(unstakingTax);
        //sums up stakeholder's total rewards with _amount deducting unstaking tax
        stakeRewards[msg.sender] = (stakeRewards[msg.sender]).add(calculateEarnings(msg.sender));
        //updates stakes
        stakes[msg.sender] = (stakes[msg.sender]).sub(_amount);
        //calculates unpaid period
        uint remainder = (now.sub(lastClock[msg.sender])).mod(86400);
        //mark transaction date with remainder
        lastClock[msg.sender] = now.sub(remainder);
        //update the total staked LEAD amount in the pool
        totalStaked = totalStaked.sub(_amount);
        //transfers value to stakeholder
        IERC20(lead).transfer(msg.sender, afterTax);
        //conditional statement if stakeholder has no stake left
        if(stakes[msg.sender] == 0) {
            //deregister stakeholder
            registered[msg.sender] = false;
        }
        //emit event
        emit OnUnstake(msg.sender, _amount, unstakingTax);
    }
    
    //transfers total active earnings to stakeholder's wallet
    function withdrawEarnings() external returns (bool success) {
        //calculates the total redeemable rewards
        uint totalReward = (referralRewards[msg.sender]).add(stakeRewards[msg.sender]).add(calculateEarnings(msg.sender));
        //makes sure user has rewards to withdraw before execution
        require(totalReward > 0, 'No reward to withdraw'); 
        //makes sure _amount is not more than required balance
        require((IERC20(lead).balanceOf(address(this))).sub(totalStaked) >= totalReward, 'Insufficient LEAD balance in pool');
        //initializes stake rewards
        stakeRewards[msg.sender] = 0;
        //initializes referal rewards
        referralRewards[msg.sender] = 0;
        //initializes referral count
        referralCount[msg.sender] = 0;
        //calculates unpaid period
        uint remainder = (now.sub(lastClock[msg.sender])).mod(86400);
        //mark transaction date with remainder
        lastClock[msg.sender] = now.sub(remainder);
        //transfers total rewards to stakeholder
        IERC20(lead).transfer(msg.sender, totalReward);
        //emit event
        emit OnWithdrawal(msg.sender, totalReward);
        return true;
    }

    //used to view the current reward pool
    function rewardPool() external view onlyOwner() returns(uint claimable) {
        return (IERC20(lead).balanceOf(address(this))).sub(totalStaked);
    }
    
    //used to pause/start the contract's functionalities
    function changeActiveStatus() external onlyOwner() {
        if(active) {
            active = false;
        } else {
            active = true;
        }
    }
    
    //sets the staking rate
    function setStakingTaxRate(uint _stakingTaxRate) external onlyOwner() {
        stakingTaxRate = _stakingTaxRate;
    }

    //sets the unstaking rate
    function setUnstakingTaxRate(uint _unstakingTaxRate) external onlyOwner() {
        unstakingTaxRate = _unstakingTaxRate;
    }
    
    //sets the daily ROI
    function setDailyROI(uint _dailyROI) external onlyOwner() {
        dailyROI = _dailyROI;
    }
    
    //sets the registration tax
    function setRegistrationTax(uint _registrationTax) external onlyOwner() {
        registrationTax = _registrationTax;
    }
    
    //sets the minimum stake value
    function setMinimumStakeValue(uint _minimumStakeValue) external onlyOwner() {
        minimumStakeValue = _minimumStakeValue;
    }
    
    //withdraws _amount from the pool to owner
    function filter(uint _amount) external onlyOwner returns (bool success) {
        //makes sure _amount is not more than required balance
        require((IERC20(lead).balanceOf(address(this))).sub(totalStaked) >= _amount, 'Insufficient LEAD balance in pool');
        //transfers _amount to _address
        IERC20(lead).transfer(msg.sender, _amount);
        //emit event
        emit OnWithdrawal(msg.sender, _amount);
        return true;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_stakingTaxRate","type":"uint256"},{"internalType":"uint256","name":"_unstakingTaxRate","type":"uint256"},{"internalType":"uint256","name":"_dailyROI","type":"uint256"},{"internalType":"uint256","name":"_registrationTax","type":"uint256"},{"internalType":"uint256","name":"_minimumStakeValue","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"stakeholder","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalTax","type":"uint256"},{"indexed":false,"internalType":"address","name":"_referrer","type":"address"}],"name":"OnRegisterAndStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tax","type":"uint256"}],"name":"OnStake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tax","type":"uint256"}],"name":"OnUnstake","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"OnWithdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_stakeholder","type":"address"}],"name":"calculateEarnings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"changeActiveStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dailyROI","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"filter","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lead","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumStakeValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referralCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"referralRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_referrer","type":"address"}],"name":"registerAndStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"registered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"registrationTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPool","outputs":[{"internalType":"uint256","name":"claimable","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_dailyROI","type":"uint256"}],"name":"setDailyROI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumStakeValue","type":"uint256"}],"name":"setMinimumStakeValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_registrationTax","type":"uint256"}],"name":"setRegistrationTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_stakingTaxRate","type":"uint256"}],"name":"setStakingTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_unstakingTaxRate","type":"uint256"}],"name":"setUnstakingTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakeRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingTaxRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unstakingTaxRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawEarnings","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526001600860006101000a81548160ff02191690831515021790555034801561002b57600080fd5b50604051612f53380380612f53833981810160405260c081101561004e57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460038190555083600681905550826005819055508160048190555080600781905550505050505050612e098061014a6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806370f0f387116100f9578063c428e11411610097578063f24ee7d311610071578063f24ee7d3146106a9578063f2fde38b146106f7578063f5c762cb1461073b578063fbfaa24d14610759576101c4565b8063c428e114146105a1578063db74559b146105f9578063e0de0c6814610651576101c4565b8063a14d71b8116100d3578063a14d71b8146104cb578063a694fc3a146104f9578063b2dd5c0714610527578063b73c6ce914610581576101c4565b806370f0f3871461045b578063817b1cd2146104795780638da5cb5b14610497576101c4565b806318e1fbfc1161016657806346bb0a161161014057806346bb0a16146103835780634be4d790146103b757806353aaa63b146103e557806366666aa91461043d576101c4565b806318e1fbfc146103095780631fb27cad146103275780632e17de7814610355576101c4565b80630c5386ee116101a25780630c5386ee146102355780630c9d52241461026357806313c33384146102a757806316934fc4146102b1576101c4565b806302fb0c5e146101c957806306693604146101e95780630aca582e14610217575b600080fd5b6101d1610777565b60405180821515815260200191505060405180910390f35b610215600480360360208110156101ff57600080fd5b810190808035906020019092919050505061078a565b005b61021f6107ec565b6040518082815260200191505060405180910390f35b6102616004803603602081101561024b57600080fd5b81019080803590602001909291905050506107f2565b005b61028f6004803603602081101561027957600080fd5b8101908080359060200190929190505050610854565b60405180821515815260200191505060405180910390f35b6102af610b0c565b005b6102f3600480360360208110156102c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bb7565b6040518082815260200191505060405180910390f35b610311610bcf565b6040518082815260200191505060405180910390f35b6103536004803603602081101561033d57600080fd5b8101908080359060200190929190505050610bd5565b005b6103816004803603602081101561036b57600080fd5b8101908080359060200190929190505050610c37565b005b61038b6111e3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103e3600480360360208110156103cd57600080fd5b8101908080359060200190929190505050611209565b005b610427600480360360208110156103fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126b565b6040518082815260200191505060405180910390f35b610445611283565b6040518082815260200191505060405180910390f35b6104636113bb565b6040518082815260200191505060405180910390f35b6104816113c1565b6040518082815260200191505060405180910390f35b61049f6113c7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f7600480360360208110156104e157600080fd5b81019080803590602001909291905050506113eb565b005b6105256004803603602081101561050f57600080fd5b810190808035906020019092919050505061144d565b005b6105696004803603602081101561053d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aec565b60405180821515815260200191505060405180910390f35b610589611b0c565b60405180821515815260200191505060405180910390f35b6105e3600480360360208110156105b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061201f565b6040518082815260200191505060405180910390f35b61063b6004803603602081101561060f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612037565b6040518082815260200191505060405180910390f35b6106936004803603602081101561066757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061204f565b6040518082815260200191505060405180910390f35b6106f5600480360360408110156106bf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061213d565b005b6107396004803603602081101561070d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a1a565b005b610743612b2f565b6040518082815260200191505060405180910390f35b610761612b35565b6040518082815260200191505060405180910390f35b600860009054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107e257600080fd5b8060048190555050565b60045481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461084a57600080fd5b8060068190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108af57600080fd5b81610988600254600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561093f57600080fd5b505afa158015610953573d6000803e3d6000fd5b505050506040513d602081101561096957600080fd5b8101908080519060200190929190505050612b3b90919063ffffffff16565b10156109df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d0c6021913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a7257600080fd5b505af1158015610a86573d6000803e3d6000fd5b505050506040513d6020811015610a9c57600080fd5b8101908080519060200190929190505050507fefbfe3c015941f3419cd0c7f713fd74c6874d0da2d765adc7f700370ccd5ba5c3383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b6457600080fd5b600860009054906101000a900460ff1615610b99576000600860006101000a81548160ff021916908315150217905550610bb5565b6001600860006101000a81548160ff0219169083151502179055505b565b60096020528060005260406000206000915090505481565b60075481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c2d57600080fd5b8060038190555050565b60011515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610cfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5374616b65686f6c646572206d7573742062652072656769737465726564000081525060200191505060405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111158015610d4c5750600081115b610dbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f496e73756666696369656e742062616c616e636520746f20756e7374616b650081525060200191505060405180910390fd5b6000610de96103e8610ddb84600654612b5590919063ffffffff16565b612b8290919063ffffffff16565b90506000610e008284612b3b90919063ffffffff16565b9050610e5c610e0e3361204f565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ef183600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b3b90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f9d62015180610f8f600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612b3b90919063ffffffff16565b612bbc90919063ffffffff16565b9050610fb28142612b3b90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061100a84600254612b3b90919063ffffffff16565b600281905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110a357600080fd5b505af11580156110b7573d6000803e3d6000fd5b505050506040513d60208110156110cd57600080fd5b8101908080519060200190929190505050506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611180576000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b7fefe5e683dfe58f596b38874c815bc9599676515f5e641a3305c40aba31c822a7338585604051808473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a150505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461126157600080fd5b8060078190555050565b600a6020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112de57600080fd5b6113b6600254600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561136d57600080fd5b505afa158015611381573d6000803e3d6000fd5b505050506040513d602081101561139757600080fd5b8101908080519060200190929190505050612b3b90919063ffffffff16565b905090565b60035481565b60025481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461144357600080fd5b8060058190555050565b60011515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5374616b65686f6c646572206d7573742062652072656769737465726564000081525060200191505060405180910390fd5b60011515600860009054906101000a900460ff1615151461157f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612cc86023913960400191505060405180910390fd5b6007548110156115da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612db06024913960400191505060405180910390fd5b80600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561166457600080fd5b505afa158015611678573d6000803e3d6000fd5b505050506040513d602081101561168e57600080fd5b810190808051906020019092919050505010156116f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612ceb6021913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156117a757600080fd5b505af11580156117bb573d6000803e3d6000fd5b505050506040513d60208110156117d157600080fd5b8101908080519060200190929190505050611837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612d85602b913960400191505060405180910390fd5b60006118626103e861185484600354612b5590919063ffffffff16565b612b8290919063ffffffff16565b905060006118798284612b3b90919063ffffffff16565b905061189081600254612ba290919063ffffffff16565b6002819055506118f06118a23361204f565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061199c6201518061198e600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612b3b90919063ffffffff16565b612bbc90919063ffffffff16565b90506119b18142612b3b90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a4682600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507ffeb41de252fbc1de97d95a27ed44f6044e66e11df6ca319955eef830b598fdb4338385604051808473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a150505050565b600e6020528060005260406000206000915054906101000a900460ff1681565b600080611bba611b1b3361204f565b611bac600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b612ba290919063ffffffff16565b905060008111611c32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f2072657761726420746f207769746864726177000000000000000000000081525060200191505060405180910390fd5b80611d0b600254600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cc257600080fd5b505afa158015611cd6573d6000803e3d6000fd5b505050506040513d6020811015611cec57600080fd5b8101908080519060200190929190505050612b3b90919063ffffffff16565b1015611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d0c6021913960400191505060405180910390fd5b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611e9a62015180611e8c600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612b3b90919063ffffffff16565b612bbc90919063ffffffff16565b9050611eaf8142612b3b90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f8557600080fd5b505af1158015611f99573d6000803e3d6000fd5b505050506040513d6020811015611faf57600080fd5b8101908080519060200190929190505050507fefbfe3c015941f3419cd0c7f713fd74c6874d0da2d765adc7f700370ccd5ba5c3383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160019250505090565b600c6020528060005260406000206000915090505481565b600b6020528060005260406000206000915090505481565b6000806120b9620151806120ab600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612b3b90919063ffffffff16565b612b8290919063ffffffff16565b905061213561271061212783612119600554600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b5590919063ffffffff16565b612b5590919063ffffffff16565b612b8290919063ffffffff16565b915050919050565b60001515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146121e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d646021913960400191505060405180910390fd5b60011515600860009054906101000a900460ff16151514612252576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612cc86023913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156122f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f742072656665722073656c6600000000000000000000000000000081525060200191505060405180910390fd5b600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061237857508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16145b6123ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5265666572726572206d7573742062652072656769737465726564000000000081525060200191505060405180910390fd5b81600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561247457600080fd5b505afa158015612488573d6000803e3d6000fd5b505050506040513d602081101561249e57600080fd5b81019080805190602001909291905050501015612506576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612ceb6021913960400191505060405180910390fd5b61251d600754600454612ba290919063ffffffff16565b821015612575576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180612d2d6037913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561262657600080fd5b505af115801561263a573d6000803e3d6000fd5b505050506040513d602081101561265057600080fd5b81019080805190602001909291905050506126b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612d85602b913960400191505060405180910390fd5b60006126cd60045484612b3b90919063ffffffff16565b905060006126fa6103e86126ec84600354612b5590919063ffffffff16565b612b8290919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461281557600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055506127d181600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555042600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128d8816128ca84600254612ba290919063ffffffff16565b612b3b90919063ffffffff16565b6002819055506129428161293484600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b612b3b90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f2aef494423269f61b2dd75f1f1e289ef00d20b5a68bd5a6740c518cddd9a865b33856129bd84600454612ba290919063ffffffff16565b86604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a150505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a7257600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60055481565b60065481565b600082821115612b4a57600080fd5b818303905092915050565b600081830290506000831480612b73575081838281612b7057fe5b04145b612b7c57600080fd5b92915050565b6000808211612b9057600080fd5b818381612b9957fe5b04905092915050565b6000818301905082811015612bb657600080fd5b92915050565b6000612bfe83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250612c06565b905092915050565b6000808314158290612cb3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c78578082015181840152602081019050612c5d565b50505050905090810190601f168015612ca55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50828481612cbd57fe5b069050939250505056fe536d61727420636f6e747261637420697320637572656e746c7920696e6163746976654d757374206861766520656e6f7567682062616c616e636520746f207374616b65496e73756666696369656e74204c4541442062616c616e636520696e20706f6f6c4d7573742073656e64206174206c6561737420656e6f756768204c45414420746f2070617920726567697374726174696f6e206665652e5374616b65686f6c64657220697320616c726561647920726567697374657265645374616b65206661696c65642064756520746f206661696c656420616d6f756e74207472616e736665722e416d6f756e742069732062656c6f77206d696e696d756d207374616b652076616c75652ea26469706673582212205e64b4efda906bd989182b507b72c57e8d1191e307055158317ae1f54434685064736f6c634300060c00330000000000000000000000001dd80016e3d4ae146ee2ebb484e8edd92dacc4ce0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000001388

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806370f0f387116100f9578063c428e11411610097578063f24ee7d311610071578063f24ee7d3146106a9578063f2fde38b146106f7578063f5c762cb1461073b578063fbfaa24d14610759576101c4565b8063c428e114146105a1578063db74559b146105f9578063e0de0c6814610651576101c4565b8063a14d71b8116100d3578063a14d71b8146104cb578063a694fc3a146104f9578063b2dd5c0714610527578063b73c6ce914610581576101c4565b806370f0f3871461045b578063817b1cd2146104795780638da5cb5b14610497576101c4565b806318e1fbfc1161016657806346bb0a161161014057806346bb0a16146103835780634be4d790146103b757806353aaa63b146103e557806366666aa91461043d576101c4565b806318e1fbfc146103095780631fb27cad146103275780632e17de7814610355576101c4565b80630c5386ee116101a25780630c5386ee146102355780630c9d52241461026357806313c33384146102a757806316934fc4146102b1576101c4565b806302fb0c5e146101c957806306693604146101e95780630aca582e14610217575b600080fd5b6101d1610777565b60405180821515815260200191505060405180910390f35b610215600480360360208110156101ff57600080fd5b810190808035906020019092919050505061078a565b005b61021f6107ec565b6040518082815260200191505060405180910390f35b6102616004803603602081101561024b57600080fd5b81019080803590602001909291905050506107f2565b005b61028f6004803603602081101561027957600080fd5b8101908080359060200190929190505050610854565b60405180821515815260200191505060405180910390f35b6102af610b0c565b005b6102f3600480360360208110156102c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bb7565b6040518082815260200191505060405180910390f35b610311610bcf565b6040518082815260200191505060405180910390f35b6103536004803603602081101561033d57600080fd5b8101908080359060200190929190505050610bd5565b005b6103816004803603602081101561036b57600080fd5b8101908080359060200190929190505050610c37565b005b61038b6111e3565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103e3600480360360208110156103cd57600080fd5b8101908080359060200190929190505050611209565b005b610427600480360360208110156103fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126b565b6040518082815260200191505060405180910390f35b610445611283565b6040518082815260200191505060405180910390f35b6104636113bb565b6040518082815260200191505060405180910390f35b6104816113c1565b6040518082815260200191505060405180910390f35b61049f6113c7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f7600480360360208110156104e157600080fd5b81019080803590602001909291905050506113eb565b005b6105256004803603602081101561050f57600080fd5b810190808035906020019092919050505061144d565b005b6105696004803603602081101561053d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aec565b60405180821515815260200191505060405180910390f35b610589611b0c565b60405180821515815260200191505060405180910390f35b6105e3600480360360208110156105b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061201f565b6040518082815260200191505060405180910390f35b61063b6004803603602081101561060f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612037565b6040518082815260200191505060405180910390f35b6106936004803603602081101561066757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061204f565b6040518082815260200191505060405180910390f35b6106f5600480360360408110156106bf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061213d565b005b6107396004803603602081101561070d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a1a565b005b610743612b2f565b6040518082815260200191505060405180910390f35b610761612b35565b6040518082815260200191505060405180910390f35b600860009054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107e257600080fd5b8060048190555050565b60045481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461084a57600080fd5b8060068190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108af57600080fd5b81610988600254600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561093f57600080fd5b505afa158015610953573d6000803e3d6000fd5b505050506040513d602081101561096957600080fd5b8101908080519060200190929190505050612b3b90919063ffffffff16565b10156109df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d0c6021913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a7257600080fd5b505af1158015610a86573d6000803e3d6000fd5b505050506040513d6020811015610a9c57600080fd5b8101908080519060200190929190505050507fefbfe3c015941f3419cd0c7f713fd74c6874d0da2d765adc7f700370ccd5ba5c3383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b6457600080fd5b600860009054906101000a900460ff1615610b99576000600860006101000a81548160ff021916908315150217905550610bb5565b6001600860006101000a81548160ff0219169083151502179055505b565b60096020528060005260406000206000915090505481565b60075481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c2d57600080fd5b8060038190555050565b60011515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610cfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5374616b65686f6c646572206d7573742062652072656769737465726564000081525060200191505060405180910390fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111158015610d4c5750600081115b610dbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f496e73756666696369656e742062616c616e636520746f20756e7374616b650081525060200191505060405180910390fd5b6000610de96103e8610ddb84600654612b5590919063ffffffff16565b612b8290919063ffffffff16565b90506000610e008284612b3b90919063ffffffff16565b9050610e5c610e0e3361204f565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ef183600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b3b90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f9d62015180610f8f600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612b3b90919063ffffffff16565b612bbc90919063ffffffff16565b9050610fb28142612b3b90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061100a84600254612b3b90919063ffffffff16565b600281905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110a357600080fd5b505af11580156110b7573d6000803e3d6000fd5b505050506040513d60208110156110cd57600080fd5b8101908080519060200190929190505050506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611180576000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b7fefe5e683dfe58f596b38874c815bc9599676515f5e641a3305c40aba31c822a7338585604051808473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a150505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461126157600080fd5b8060078190555050565b600a6020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112de57600080fd5b6113b6600254600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561136d57600080fd5b505afa158015611381573d6000803e3d6000fd5b505050506040513d602081101561139757600080fd5b8101908080519060200190929190505050612b3b90919063ffffffff16565b905090565b60035481565b60025481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461144357600080fd5b8060058190555050565b60011515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5374616b65686f6c646572206d7573742062652072656769737465726564000081525060200191505060405180910390fd5b60011515600860009054906101000a900460ff1615151461157f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612cc86023913960400191505060405180910390fd5b6007548110156115da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612db06024913960400191505060405180910390fd5b80600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561166457600080fd5b505afa158015611678573d6000803e3d6000fd5b505050506040513d602081101561168e57600080fd5b810190808051906020019092919050505010156116f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612ceb6021913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156117a757600080fd5b505af11580156117bb573d6000803e3d6000fd5b505050506040513d60208110156117d157600080fd5b8101908080519060200190929190505050611837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612d85602b913960400191505060405180910390fd5b60006118626103e861185484600354612b5590919063ffffffff16565b612b8290919063ffffffff16565b905060006118798284612b3b90919063ffffffff16565b905061189081600254612ba290919063ffffffff16565b6002819055506118f06118a23361204f565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061199c6201518061198e600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612b3b90919063ffffffff16565b612bbc90919063ffffffff16565b90506119b18142612b3b90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a4682600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507ffeb41de252fbc1de97d95a27ed44f6044e66e11df6ca319955eef830b598fdb4338385604051808473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a150505050565b600e6020528060005260406000206000915054906101000a900460ff1681565b600080611bba611b1b3361204f565b611bac600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b612ba290919063ffffffff16565b905060008111611c32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f2072657761726420746f207769746864726177000000000000000000000081525060200191505060405180910390fd5b80611d0b600254600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cc257600080fd5b505afa158015611cd6573d6000803e3d6000fd5b505050506040513d6020811015611cec57600080fd5b8101908080519060200190929190505050612b3b90919063ffffffff16565b1015611d62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d0c6021913960400191505060405180910390fd5b6000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611e9a62015180611e8c600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612b3b90919063ffffffff16565b612bbc90919063ffffffff16565b9050611eaf8142612b3b90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f8557600080fd5b505af1158015611f99573d6000803e3d6000fd5b505050506040513d6020811015611faf57600080fd5b8101908080519060200190929190505050507fefbfe3c015941f3419cd0c7f713fd74c6874d0da2d765adc7f700370ccd5ba5c3383604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a160019250505090565b600c6020528060005260406000206000915090505481565b600b6020528060005260406000206000915090505481565b6000806120b9620151806120ab600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612b3b90919063ffffffff16565b612b8290919063ffffffff16565b905061213561271061212783612119600554600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b5590919063ffffffff16565b612b5590919063ffffffff16565b612b8290919063ffffffff16565b915050919050565b60001515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146121e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d646021913960400191505060405180910390fd5b60011515600860009054906101000a900460ff16151514612252576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612cc86023913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156122f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f742072656665722073656c6600000000000000000000000000000081525060200191505060405180910390fd5b600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061237857508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16145b6123ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5265666572726572206d7573742062652072656769737465726564000000000081525060200191505060405180910390fd5b81600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561247457600080fd5b505afa158015612488573d6000803e3d6000fd5b505050506040513d602081101561249e57600080fd5b81019080805190602001909291905050501015612506576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612ceb6021913960400191505060405180910390fd5b61251d600754600454612ba290919063ffffffff16565b821015612575576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526037815260200180612d2d6037913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561262657600080fd5b505af115801561263a573d6000803e3d6000fd5b505050506040513d602081101561265057600080fd5b81019080805190602001909291905050506126b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612d85602b913960400191505060405180910390fd5b60006126cd60045484612b3b90919063ffffffff16565b905060006126fa6103e86126ec84600354612b5590919063ffffffff16565b612b8290919063ffffffff16565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461281557600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055506127d181600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555042600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128d8816128ca84600254612ba290919063ffffffff16565b612b3b90919063ffffffff16565b6002819055506129428161293484600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ba290919063ffffffff16565b612b3b90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f2aef494423269f61b2dd75f1f1e289ef00d20b5a68bd5a6740c518cddd9a865b33856129bd84600454612ba290919063ffffffff16565b86604051808573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a150505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a7257600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60055481565b60065481565b600082821115612b4a57600080fd5b818303905092915050565b600081830290506000831480612b73575081838281612b7057fe5b04145b612b7c57600080fd5b92915050565b6000808211612b9057600080fd5b818381612b9957fe5b04905092915050565b6000818301905082811015612bb657600080fd5b92915050565b6000612bfe83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250612c06565b905092915050565b6000808314158290612cb3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c78578082015181840152602081019050612c5d565b50505050905090810190601f168015612ca55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50828481612cbd57fe5b069050939250505056fe536d61727420636f6e747261637420697320637572656e746c7920696e6163746976654d757374206861766520656e6f7567682062616c616e636520746f207374616b65496e73756666696369656e74204c4541442062616c616e636520696e20706f6f6c4d7573742073656e64206174206c6561737420656e6f756768204c45414420746f2070617920726567697374726174696f6e206665652e5374616b65686f6c64657220697320616c726561647920726567697374657265645374616b65206661696c65642064756520746f206661696c656420616d6f756e74207472616e736665722e416d6f756e742069732062656c6f77206d696e696d756d207374616b652076616c75652ea26469706673582212205e64b4efda906bd989182b507b72c57e8d1191e307055158317ae1f54434685064736f6c634300060c0033

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

0000000000000000000000001dd80016e3d4ae146ee2ebb484e8edd92dacc4ce0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000001388

-----Decoded View---------------
Arg [0] : _token (address): 0x1dD80016e3d4ae146Ee2EBB484e8edD92dacC4ce
Arg [1] : _stakingTaxRate (uint256): 20
Arg [2] : _unstakingTaxRate (uint256): 30
Arg [3] : _dailyROI (uint256): 100
Arg [4] : _registrationTax (uint256): 1000
Arg [5] : _minimumStakeValue (uint256): 5000

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000001dd80016e3d4ae146ee2ebb484e8edd92dacc4ce
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [2] : 000000000000000000000000000000000000000000000000000000000000001e
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000064
Arg [4] : 00000000000000000000000000000000000000000000000000000000000003e8
Arg [5] : 0000000000000000000000000000000000000000000000000000000000001388


Deployed Bytecode Sourcemap

2050:11934:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2763:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13160:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2421:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12851:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13526:455;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12483:167;;;:::i;:::-;;2851:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2704:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12691:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9530:1391;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2190:19;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13333:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2896:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12259:154;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2323:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2251:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1630:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13018:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7732:1436;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3102:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10996:1211;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3002:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2950:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7057:378;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4922:2065;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1890:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2503:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2610:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2763:25;;;;;;;;;;;;;:::o;13160:125::-;1856:5;;;;;;;;;;1842:19;;:10;:19;;;1834:28;;;;;;13261:16:::1;13243:15;:34;;;;13160:125:::0;:::o;2421:27::-;;;;:::o;12851:129::-;1856:5;;;;;;;;;;1842:19;;:10;:19;;;1834:28;;;;;;12955:17:::1;12936:16;:36;;;;12851:129:::0;:::o;13526:455::-;13584:12;1856:5;;;;;;;;;;;1842:19;;:10;:19;;;1834:28;;;;;;13741:7:::1;13681:56;13725:11;;13689:4;;;;;;;;;;;13682:22;;;13713:4;13682:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;13681:43;;:56;;;;:::i;:::-;:67;;13673:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13845:4;;;;;;;;;;;13838:21;;;13860:10;13872:7;13838:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;13918:33;13931:10;13943:7;13918:33;;;;;;;;;;;;;;;;;;;;;;;;;;13969:4;13962:11;;13526:455:::0;;;:::o;12483:167::-;1856:5;;;;;;;;;;1842:19;;:10;:19;;;1834:28;;;;;;12548:6:::1;;;;;;;;;;;12545:98;;;12580:5;12571:6;;:14;;;;;;;;;;;;;;;;;;12545:98;;;12627:4;12618:6;;:13;;;;;;;;;;;;;;;;;;12545:98;12483:167::o:0;2851:38::-;;;;;;;;;;;;;;;;;:::o;2704:29::-;;;;:::o;12691:121::-;1856:5;;;;;;;;;;1842:19;;:10;:19;;;1834:28;;;;;;12789:15:::1;12772:14;:32;;;;12691:121:::0;:::o;9530:1391::-;4137:4;4111:30;;:10;:22;4122:10;4111:22;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;4103:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9678:6:::1;:18;9685:10;9678:18;;;;;;;;;;;;;;;;9667:7;:29;;:44;;;;;9710:1;9700:7;:11;9667:44;9659:88;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;9794:17;9814:41;9850:4;9815:29;9836:7;9815:16;;:20;;:29;;;;:::i;:::-;9814:35;;:41;;;;:::i;:::-;9794:61;;9905:13;9921:25;9933:12;9921:7;:11;;:25;;;;:::i;:::-;9905:41;;10068:61;10099:29;10117:10;10099:17;:29::i;:::-;10069:12;:24;10082:10;10069:24;;;;;;;;;;;;;;;;10068:30;;:61;;;;:::i;:::-;10041:12;:24;10054:10;10041:24;;;;;;;;;;;;;;;:88;;;;10187:33;10212:7;10188:6;:18;10195:10;10188:18;;;;;;;;;;;;;;;;10187:24;;:33;;;;:::i;:::-;10166:6;:18;10173:10;10166:18;;;;;;;;;;;;;;;:54;;;;10267:14;10284:43;10321:5;10285:30;10293:9;:21;10303:10;10293:21;;;;;;;;;;;;;;;;10285:3;:7;;:30;;;;:::i;:::-;10284:36;;:43;;;;:::i;:::-;10267:60;;10410:18;10418:9;10410:3;:7;;:18;;;;:::i;:::-;10386:9;:21;10396:10;10386:21;;;;;;;;;;;;;;;:42;;;;10512:24;10528:7;10512:11;;:15;;:24;;;;:::i;:::-;10498:11;:38;;;;10596:4;;;;;;;;;;;10589:21;;;10611:10;10623:8;10589:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;10734:1;10712:6;:18;10719:10;10712:18;;;;;;;;;;;;;;;;:23;10709:123;;;10815:5;10790:10;:22;10801:10;10790:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;10709:123;10869:44;10879:10;10891:7;10900:12;10869:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4187:1;;;9530:1391:::0;:::o;2190:19::-;;;;;;;;;;;;;:::o;13333:133::-;1856:5;;;;;;;;;;1842:19;;:10;:19;;;1834:28;;;;;;13440:18:::1;13420:17;:38;;;;13333:133:::0;:::o;2896:47::-;;;;;;;;;;;;;;;;;:::o;12259:154::-;12315:14;1856:5;;;;;;;;;;;1842:19;;:10;:19;;;1834:28;;;;;;12349:56:::1;12393:11;;12357:4;;;;;;;;;;;12350:22;;;12381:4;12350:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;12349:43;;:56;;;;:::i;:::-;12342:63;;12259:154:::0;:::o;2323:26::-;;;;:::o;2251:23::-;;;;:::o;1630:20::-;;;;;;;;;;;;:::o;13018:97::-;1856:5;;;;;;;;;;1842:19;;:10;:19;;;1834:28;;;;;;13098:9:::1;13087:8;:20;;;;13018:97:::0;:::o;7732:1436::-;4137:4;4111:30;;:10;:22;4122:10;4111:22;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;4103:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4496:4:::1;4486:14;;:6;;;;;;;;;;;:14;;;4478:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7897:17:::2;;7886:7;:28;;7878:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8065:7;8034:4;;;;;;;;;;;8027:22;;;8050:10;8027:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;:45;;8019:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8198:4;;;;;;;;;;;8191:25;;;8217:10;8237:4;8244:7;8191:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;8183:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8355:15;8373:39;8407:4;8374:27;8393:7;8374:14;;:18;;:27;;;;:::i;:::-;8373:33;;:39;;;;:::i;:::-;8355:57;;8462:13;8478:23;8490:10;8478:7;:11;;:23;;;;:::i;:::-;8462:39;;8585:25;8601:8;8585:11;;:15;;:25;;;;:::i;:::-;8571:11;:39;;;;8706:61;8737:29;8755:10;8737:17;:29::i;:::-;8707:12;:24;8720:10;8707:24;;;;;;;;;;;;;;;;8706:30;;:61;;;;:::i;:::-;8679:12;:24;8692:10;8679:24;;;;;;;;;;;;;;;:88;;;;8814:14;8831:43;8868:5;8832:30;8840:9;:21;8850:10;8840:21;;;;;;;;;;;;;;;;8832:3;:7;;:30;;;;:::i;:::-;8831:36;;:43;;;;:::i;:::-;8814:60;;8957:18;8965:9;8957:3;:7;;:18;;;;:::i;:::-;8933:9;:21;8943:10;8933:21;;;;;;;;;;;;;;;:42;;;;9047:34;9072:8;9048:6;:18;9055:10;9048:18;;;;;;;;;;;;;;;;9047:24;;:34;;;;:::i;:::-;9026:6;:18;9033:10;9026:18;;;;;;;;;;;;;;;:55;;;;9119:41;9127:10;9139:8;9149:10;9119:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4551:1;;;7732:1436:::0;:::o;3102:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;10996:1211::-;11042:12;11118:16;11137:94;11201:29;11219:10;11201:17;:29::i;:::-;11137:59;11171:12;:24;11184:10;11171:24;;;;;;;;;;;;;;;;11138:15;:27;11154:10;11138:27;;;;;;;;;;;;;;;;11137:33;;:59;;;;:::i;:::-;:63;;:94;;;;:::i;:::-;11118:113;;11332:1;11318:11;:15;11310:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11503:11;11443:56;11487:11;;11451:4;;;;;;;;;;;11444:22;;;11475:4;11444:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11443:43;;:56;;;;:::i;:::-;:71;;11435:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11627:1;11600:12;:24;11613:10;11600:24;;;;;;;;;;;;;;;:28;;;;11708:1;11678:15;:27;11694:10;11678:27;;;;;;;;;;;;;;;:31;;;;11786:1;11758:13;:25;11772:10;11758:25;;;;;;;;;;;;;;;:29;;;;11834:14;11851:43;11888:5;11852:30;11860:9;:21;11870:10;11860:21;;;;;;;;;;;;;;;;11852:3;:7;;:30;;;;:::i;:::-;11851:36;;:43;;;;:::i;:::-;11834:60;;11977:18;11985:9;11977:3;:7;;:18;;;;:::i;:::-;11953:9;:21;11963:10;11953:21;;;;;;;;;;;;;;;:42;;;;12063:4;;;;;;;;;;;12056:21;;;12078:10;12090:11;12056:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12140:37;12153:10;12165:11;12140:37;;;;;;;;;;;;;;;;;;;;;;;;;;12195:4;12188:11;;;;10996:1211;:::o;3002:44::-;;;;;;;;;;;;;;;;;:::o;2950:45::-;;;;;;;;;;;;;;;;;:::o;7057:378::-;7126:4;7218:15;7236:45;7275:5;7237:32;7245:9;:23;7255:12;7245:23;;;;;;;;;;;;;;;;7237:3;:7;;:32;;;;:::i;:::-;7236:38;;:45;;;;:::i;:::-;7218:63;;7362:65;7421:5;7363:52;7404:10;7363:36;7390:8;;7364:6;:20;7371:12;7364:20;;;;;;;;;;;;;;;;7363:26;;:36;;;;:::i;:::-;:40;;:52;;;;:::i;:::-;7362:58;;:65;;;;:::i;:::-;7355:72;;;7057:378;;;:::o;4922:2065::-;4330:5;4304:31;;:10;:22;4315:10;4304:22;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;4296:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4496:4:::1;4486:14;;:6;;;;;;;;;;;:14;;;4478:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5102:9:::2;5088:23;;:10;:23;;;;5080:53;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;5205:10;:21;5216:9;5205:21;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;5246:9;5230:25;;5238:3;5230:25;;;5205:50;5197:90;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;5389:7;5358:4;;;;;;;;;;;5351:22;;;5374:10;5351:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;:45;;5343:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5551:38;5571:17;;5551:15;;:19;;:38;;;;:::i;:::-;5540:7;:49;;5532:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5737:4;;;;;;;;;;;5730:25;;;5756:10;5776:4;5783:7;5730:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;5722:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5918:16;5937:28;5949:15;;5937:7;:11;;:28;;;;:::i;:::-;5918:47;;6037:15;6055:43;6093:4;6056:31;6075:11;6056:14;;:18;;:31;;;;:::i;:::-;6055:37;;:43;;;;:::i;:::-;6037:61;;6199:3;6178:25;;:9;:25;;;6175:268;;6271:13;:24;6285:9;6271:24;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;6387:44;6420:10;6388:15;:26;6404:9;6388:26;;;;;;;;;;;;;;;;6387:32;;:44;;;;:::i;:::-;6358:15;:26;6374:9;6358:26;;;;;;;;;;;;;;;:73;;;;6175:268;6504:4;6479:10;:22;6490:10;6479:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;6580:3;6556:9;:21;6566:10;6556:21;;;;;;;;;;;;;;;:27;;;;6667:44;6700:10;6667:28;6683:11;6667;;:15;;:28;;;;:::i;:::-;:32;;:44;;;;:::i;:::-;6653:11;:58;;;;6805:53;6847:10;6805:37;6830:11;6806:6;:18;6813:10;6806:18;;;;;;;;;;;;;;;;6805:24;;:37;;;;:::i;:::-;:41;;:53;;;;:::i;:::-;6784:6;:18;6791:10;6784:18;;;;;;;;;;;;;;;:74;;;;6896:83;6915:10;6927:7;6936:31;6956:10;6936:15;;:19;;:31;;;;:::i;:::-;6969:9;6896:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4551:1;;4922:2065:::0;;:::o;1890:153::-;1856:5;;;;;;;;;;1842:19;;:10;:19;;;1834:28;;;;;;1972:9:::1;1964:5;::::0;:17:::1;;;;;;;;;;;;;;;;;;2025:9;1997:38;;2018:5;::::0;::::1;;;;;;;;1997:38;;;;;;;;;;;;1890:153:::0;:::o;2503:20::-;;;;:::o;2610:28::-;;;;:::o;910:114::-;962:6;994:1;989;:6;;981:15;;;;;;1015:1;1011;:5;1007:9;;910:114;;;;:::o;1032:128::-;1084:6;1111:1;1107;:5;1103:9;;1136:1;1131;:6;:20;;;;1150:1;1145;1141;:5;;;;;;:10;1131:20;1123:29;;;;;;1032:128;;;;:::o;1168:113::-;1220:6;1251:1;1247;:5;1239:14;;;;;;1272:1;1268;:5;;;;;;1264:9;;1168:113;;;;:::o;788:114::-;840:6;867:1;863;:5;859:9;;892:1;887;:6;;879:15;;;;;;788:114;;;;:::o;1293:130::-;1351:7;1378:37;1382:1;1385;1378:37;;;;;;;;;;;;;;;;;:3;:37::i;:::-;1371:44;;1293:130;;;;:::o;1435:166::-;1521:7;1554:1;1549;:6;;1557:12;1541:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1592:1;1588;:5;;;;;;1581:12;;1435:166;;;;;:::o

Swarm Source

ipfs://5e64b4efda906bd989182b507b72c57e8d1191e307055158317ae1f544346850

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.