ETH Price: $3,397.27 (+1.47%)

Contract

0xAC65dc06C8444C6545A94Ce961496258Aa860Cb9
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer117184332021-01-24 12:54:361434 days ago1611492876IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0035108667
Transfer116902912021-01-20 5:10:461439 days ago1611119446IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0010758248
Transfer116802592021-01-18 16:14:281440 days ago1610986468IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0039309775.00000145
Transfer116671142021-01-16 15:46:051442 days ago1610811965IN
0xAC65dc06...8Aa860Cb9
0 ETH0.00467512125
Transfer115617132020-12-31 11:37:161459 days ago1609414636IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0011654752.00000145
Transfer114650012020-12-16 15:41:281473 days ago1608133288IN
0xAC65dc06...8Aa860Cb9
0 ETH0.00411411110
Transfer114630592020-12-16 8:34:351474 days ago1608107675IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0014955640
Transfer114626562020-12-16 7:05:401474 days ago1608102340IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0019816153
Transfer114623222020-12-16 5:49:461474 days ago1608097786IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0020196554
Transfer114617032020-12-16 3:31:211474 days ago1608089481IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0026928772
Transfer114616312020-12-16 3:13:101474 days ago1608088390IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0018924950.6
Transfer114616152020-12-16 3:09:401474 days ago1608088180IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0018326449
Transfer114614542020-12-16 2:34:421474 days ago1608086082IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0021692558
Transfer114613932020-12-16 2:22:141474 days ago1608085334IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0021692558.00000145
Transfer114252002020-12-10 12:30:511479 days ago1607603451IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0006895830.8
Transfer114232562020-12-10 5:10:321480 days ago1607577032IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0012383433.11
Transfer113592892020-11-30 9:22:151490 days ago1606728135IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0017578447
Transfer113264482020-11-25 8:22:541495 days ago1606292574IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0018326449
Transfer113188972020-11-24 4:45:141496 days ago1606193114IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0012551256.00000145
Transfer113001892020-11-21 7:41:381499 days ago1605944498IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0006584617.6
Transfer112954652020-11-20 14:14:081499 days ago1605881648IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0029230778.155
Transfer112856822020-11-19 2:25:581501 days ago1605752758IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0009724226
Transfer112824152020-11-18 14:14:301501 days ago1605708870IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0033521264
Transfer112824072020-11-18 14:12:361501 days ago1605708756IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0033528964
Transfer112823832020-11-18 14:06:101501 days ago1605708370IN
0xAC65dc06...8Aa860Cb9
0 ETH0.0031957261
View all transactions

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LHO

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-05-03
*/

pragma solidity ^0.4.25;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, reverts on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (a == 0) {
      return 0;
    }

    uint256 c = a * b;
    require(c / a == b);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b > 0); // Solidity only automatically asserts when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold

    return c;
  }

  /**
  * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    uint256 c = a - b;

    return c;
  }

  /**
  * @dev Adds two numbers, reverts on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a);

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 **/
contract Ownable {
    address public owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender account.
     **/
   constructor() public {
      owner = msg.sender;
    }
    
    /**
     * @dev Throws if called by any account other than the owner.
     **/
    modifier onlyOwner() {
      require(msg.sender == owner);
      _;
    }
    
    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     **/
    function transferOwnership(address newOwner) public onlyOwner {
      require(newOwner != address(0));
      emit OwnershipTransferred(owner, newOwner);
      owner = newOwner;
    }
}

/**
 * @title ERC20Basic interface
 * @dev Basic ERC20 interface
 **/
contract ERC20Basic {
    //
    function totalSupply() public view returns (uint256);
    function balanceOf(address _who) view public returns (uint);
    function transfer(address _to, uint _value) public returns (bool);
    //
    event Transfer(address indexed _from, address indexed _to, uint _value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 **/
contract ERC20 is ERC20Basic {
    //
    function allowance(address _owner, address _spender) public view returns (uint256);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool);
    function approve(address _spender, uint256 _value) public returns (bool);
    //
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 **/
contract BasicToken is ERC20Basic {
    
    using SafeMath for uint256;
    
    mapping(address => uint256) balances;
    
    uint256 _totalSupply=0;
    
    /**
     * @dev total number of tokens in existence
     **/
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }
    
    /**
     * @dev transfer token for a specified address
     * @param _to The address to transfer to.
     * @param _value The amount to be transferred.
     **/
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);
        //
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        //
        emit Transfer(msg.sender, _to, _value);
        //
        return true;
    }
    
    /**
     * @dev Gets the balance of the specified address.
     * @param _owner The address to query the the balance of.
     * @return An uint256 representing the amount owned by the passed address.
     **/
    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }
}

contract StandardToken is ERC20, BasicToken {
    
    enum StackingStatus{
        locked,
        unlocked
    }
    
    StackingStatus public stackingStatus=StackingStatus.unlocked;
    
    mapping (address => mapping (address => uint256)) internal allowed;
    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     **/
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(stackingStatus==StackingStatus.unlocked);
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        //
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        //
        emit Transfer(_from, _to, _value);
        //
        return true;
    }
    
    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     *
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     **/
    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
    
    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     **/
    function allowance(address _owner, address _spender) public view returns (uint256) {
        return allowed[_owner][_spender];
    }
    
    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to increase the allowance by.
     **/
    function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
    
    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to decrease the allowance by.
     **/
    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
    event Burn(address indexed burner, uint256 value);
}

/**
 * @title Configurable
 * @dev Configurable varriables of the contract
 **/
contract Configurable {
    uint256 constant percentDivider = 100000;
    uint256 constant cap = 700000000*10**18; //7
    
    uint256 internal tokensSold = 0;
    uint256 internal remainingTokens = 0;
}

/**
 * @title CrowdsaleToken 
 * @dev Contract to preform crowd sale with token
 **/
contract CrowdsaleToken is StandardToken, Configurable, Ownable {
    
    enum DepositStatus{
        locked,
        unlocked
    }
    
    /**
     * @dev Variables
     **/
     
    DepositStatus public depositStatus=DepositStatus.locked;
    
    /**
     * @dev Events
     **/
    event Logger(string _label, uint256 _note1, uint256 _note2, uint256 _note3, uint256 _note4);
    
    /**
     * @dev Mapping
     **/
    
    /**
     * @dev constructor of CrowdsaleToken
     **/
    constructor() public {
        //
        depositStatus = DepositStatus.locked;
        //
        remainingTokens = cap;
    }
    

/* payments */
    
    /**
     * @dev fallback function to send ether to for Crowd sale
     **/
    function () external payable {
        require(depositStatus == DepositStatus.unlocked);
        require(msg.value > 0);
    }

    
    /**
     * @dev process buy tokens
     **/
    function BuyToken(uint256 _amount) public onlyOwner {
        require(_amount>0 && _amount<=remainingTokens);
        
        tokensSold = tokensSold.add(_amount); // Increment raised amount
        remainingTokens = remainingTokens.sub(_amount);
        balances[msg.sender] = balances[msg.sender].add(_amount);
        //emit Transfer(address(this), msg.sender, _amount);
        _totalSupply = _totalSupply.add(_amount);
    }
    
  function SellToken(uint256 _amount) public onlyOwner {
        require(_amount>0 &&  _amount<=_totalSupply );
        
        tokensSold = tokensSold.sub(_amount); //decrement raised amount
        remainingTokens = remainingTokens.add(_amount);
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        //emit Transfer(address(this), msg.sender, _amount);
        _totalSupply = _totalSupply.sub(_amount);
    }

/* administrative functions */
    /**
     lock/unlock deposit ETH
    **/
    function lockDeposit() public onlyOwner{
        require(depositStatus==DepositStatus.unlocked);
        depositStatus=DepositStatus.locked;
    }
    
    function unlockDeposit() public onlyOwner{
        require(depositStatus==DepositStatus.locked);
        depositStatus=DepositStatus.unlocked;
    }
    
    /**
        lock/unlock stacking
    **/
    function lockStacking() public onlyOwner{
        require(stackingStatus==StackingStatus.unlocked);
        stackingStatus=StackingStatus.locked;
    }
    
    function unlockStacking() public onlyOwner{
        require(stackingStatus==StackingStatus.locked);
        stackingStatus=StackingStatus.unlocked;
    }


    /**
     * @dev finalizeIco closes down the ICO and sets needed varriables
     **/
    function finalizeIco() public onlyOwner {
         // Transfer any remaining tokens
        if(remainingTokens > 0)
            balances[owner] = balances[owner].add(remainingTokens);
        // transfer any remaining ETH balance in the contract to the owner
        owner.transfer(address(this).balance);
    }
    
    /**
     * @dev withdraw 
     **/
    function withdraw(address _address, uint256 _value) public onlyOwner {
        require(_address != address(0));
        require(_value < address(this).balance);
        //
        _address.transfer(_value);
    }
    
    /**
     * @dev issues 
     **/
    function issues(address _address, uint256 _tokens) public onlyOwner {
        require(_tokens <= remainingTokens);
        //
        remainingTokens = remainingTokens.sub(_tokens);
        balances[_address] = balances[_address].add(_tokens);
        emit Transfer(address(this), _address, _tokens);
        _totalSupply = _totalSupply.add(_tokens);
    }

 
    function reduceTotalSupply(uint256 _amount) public onlyOwner {
        require(_amount > 0 && _amount < _totalSupply);
        
        _totalSupply -=_amount;
    }
    
    function plusTotalSupply(uint256 _amount) public onlyOwner {
        require(_amount > 0 && (_amount + _totalSupply)<= cap );
        
        _totalSupply +=_amount;
    }

/* public functions */
    /**
     * @dev get max total supply
     **/
    function getMaxTotalSupply() public pure returns(uint256) {
        return cap;
    }
    
    /**
     * @dev get total tokens sold
     **/
    function getTotalSold() public view returns(uint256) {
        return tokensSold;
    }
    
    /**
     * @dev get total tokens sold
     **/
    function getTotalRemaining() public view returns(uint256) {
        return remainingTokens;
    }

    
    function BurnToken(uint256 _amount) public onlyOwner{
        require(_amount>0);
        require(_amount<= balances[msg.sender]);
        _totalSupply=_totalSupply.sub(_amount);
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        emit Burn(msg.sender, _amount);
        emit Transfer(msg.sender, address(0), _amount);
    }
}

/**
 * @title XYZ 
 * @dev Contract to create the LHO Token
 **/
contract LHO is CrowdsaleToken {
    string public constant name = "LHO Token";
    string public constant symbol = "LHO";
    uint32 public constant decimals = 18;
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"BurnToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"depositStatus","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"issues","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"reduceTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unlockDeposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stackingStatus","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"SellToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMaxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unlockStacking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalizeIco","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTotalRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"plusTotalSupply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"lockDeposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"lockStacking","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"BuyToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_label","type":"string"},{"indexed":false,"name":"_note1","type":"uint256"},{"indexed":false,"name":"_note2","type":"uint256"},{"indexed":false,"name":"_note3","type":"uint256"},{"indexed":false,"name":"_note4","type":"uint256"}],"name":"Logger","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"}]

608060405260006001556001600260006101000a81548160ff0219169083600181111561002857fe5b0217905550600060045560006005556000600660146101000a81548160ff0219169083600181111561005657fe5b021790555033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660146101000a81548160ff021916908360018111156100bb57fe5b02179055506b024306c4097859c43c000000600581905550612600806100e26000396000f300608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306654881146101c457806306fdde03146101f1578063095ea7b3146102815780630f149cce146102e657806318160ddd1461031f5780632389f5b81461034a57806323b872dd14610397578063313ce5671461041c5780633510b66c14610453578063377a368c146104805780633de66ca414610497578063445e5b06146104d05780635db30bb1146104fd578063661884631461052857806370a082311461058d57806376b1f1c3146105e45780638da5cb5b146105fb578063903a3ef61461065257806395d89b41146106695780639d7b8e68146106f9578063a9059cbb14610724578063c75a640a14610789578063cce3cfdf146107b4578063d1b844e6146107e1578063d73dd623146107f8578063dd62ed3e1461085d578063e9691856146108d4578063f2fde38b146108eb578063f3fef3a31461092e578063fcb0368c1461097b575b60018081111561018c57fe5b600660149054906101000a900460ff1660018111156101a757fe5b1415156101b357600080fd5b6000341115156101c257600080fd5b005b3480156101d057600080fd5b506101ef600480360381019080803590602001909291905050506109a8565b005b3480156101fd57600080fd5b50610206610bc5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024657808201518184015260208101905061022b565b50505050905090810190601f1680156102735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028d57600080fd5b506102cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bfe565b604051808215151515815260200191505060405180910390f35b3480156102f257600080fd5b506102fb610cf0565b6040518082600181111561030b57fe5b60ff16815260200191505060405180910390f35b34801561032b57600080fd5b50610334610d03565b6040518082815260200191505060405180910390f35b34801561035657600080fd5b50610395600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0d565b005b3480156103a357600080fd5b50610402600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610eac565b604051808215151515815260200191505060405180910390f35b34801561042857600080fd5b5061043161129a565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b34801561045f57600080fd5b5061047e6004803603810190808035906020019092919050505061129f565b005b34801561048c57600080fd5b5061049561132a565b005b3480156104a357600080fd5b506104ac6113e0565b604051808260018111156104bc57fe5b60ff16815260200191505060405180910390f35b3480156104dc57600080fd5b506104fb600480360381019080803590602001909291905050506113f3565b005b34801561050957600080fd5b50610512611553565b6040518082815260200191505060405180910390f35b34801561053457600080fd5b50610573600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611567565b604051808215151515815260200191505060405180910390f35b34801561059957600080fd5b506105ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117f8565b6040518082815260200191505060405180910390f35b3480156105f057600080fd5b506105f9611840565b005b34801561060757600080fd5b506106106118f6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561065e57600080fd5b5061066761191c565b005b34801561067557600080fd5b5061067e611adf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106be5780820151818401526020810190506106a3565b50505050905090810190601f1680156106eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561070557600080fd5b5061070e611b18565b6040518082815260200191505060405180910390f35b34801561073057600080fd5b5061076f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b22565b604051808215151515815260200191505060405180910390f35b34801561079557600080fd5b5061079e611d41565b6040518082815260200191505060405180910390f35b3480156107c057600080fd5b506107df60048036038101908080359060200190929190505050611d4b565b005b3480156107ed57600080fd5b506107f6611de5565b005b34801561080457600080fd5b50610843600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e9a565b604051808215151515815260200191505060405180910390f35b34801561086957600080fd5b506108be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612096565b6040518082815260200191505060405180910390f35b3480156108e057600080fd5b506108e961211d565b005b3480156108f757600080fd5b5061092c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121d2565b005b34801561093a57600080fd5b50610979600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061232a565b005b34801561098757600080fd5b506109a660048036038101908080359060200190929190505050612432565b005b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a0457600080fd5b600081111515610a1357600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610a6057600080fd5b610a758160015461259290919063ffffffff16565b600181905550610acc816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6040805190810160405280600981526020017f4c484f20546f6b656e000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600660149054906101000a900460ff1681565b6000600154905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6957600080fd5b6005548111151515610d7a57600080fd5b610d8f8160055461259290919063ffffffff16565b600581905550610de6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3610ea2816001546125b390919063ffffffff16565b6001819055505050565b6000600180811115610eba57fe5b600260009054906101000a900460ff166001811115610ed557fe5b141515610ee157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f1d57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610f6a57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610ff557600080fd5b611046826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110d9826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111aa82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112fb57600080fd5b60008111801561130c575060015481105b151561131757600080fd5b8060016000828254039250508190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561138657600080fd5b6000600181111561139357fe5b600660149054906101000a900460ff1660018111156113ae57fe5b1415156113ba57600080fd5b6001600660146101000a81548160ff021916908360018111156113d957fe5b0217905550565b600260009054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144f57600080fd5b60008111801561146157506001548111155b151561146c57600080fd5b6114818160045461259290919063ffffffff16565b60048190555061149c816005546125b390919063ffffffff16565b6005819055506114f3816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061154a8160015461259290919063ffffffff16565b60018190555050565b60006b024306c4097859c43c000000905090565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611678576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061170c565b61168b838261259290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189c57600080fd5b600060018111156118a957fe5b600260009054906101000a900460ff1660018111156118c457fe5b1415156118d057600080fd5b6001600260006101000a81548160ff021916908360018111156118ef57fe5b0217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561197857600080fd5b60006005541115611a5d576119f8600554600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611adc573d6000803e3d6000fd5b50565b6040805190810160405280600381526020017f4c484f000000000000000000000000000000000000000000000000000000000081525081565b6000600454905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b5f57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611bac57600080fd5b611bfd826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c90826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611da757600080fd5b600081118015611dc757506b024306c4097859c43c000000600154820111155b1515611dd257600080fd5b8060016000828254019250508190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e4157600080fd5b600180811115611e4d57fe5b600660149054906101000a900460ff166001811115611e6857fe5b141515611e7457600080fd5b6000600660146101000a81548160ff02191690836001811115611e9357fe5b0217905550565b6000611f2b82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561217957600080fd5b60018081111561218557fe5b600260009054906101000a900460ff1660018111156121a057fe5b1415156121ac57600080fd5b6000600260006101000a81548160ff021916908360018111156121cb57fe5b0217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561222e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561226a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561238657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156123c257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631811015156123e757600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561242d573d6000803e3d6000fd5b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561248e57600080fd5b6000811180156124a057506005548111155b15156124ab57600080fd5b6124c0816004546125b390919063ffffffff16565b6004819055506124db8160055461259290919063ffffffff16565b600581905550612532816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612589816001546125b390919063ffffffff16565b60018190555050565b6000808383111515156125a457600080fd5b82840390508091505092915050565b60008082840190508381101515156125ca57600080fd5b80915050929150505600a165627a7a72305820838405998d1f2bfef5ae697c126d64d197c62f496615e4d369fccaf15904f3290029

Deployed Bytecode

0x608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306654881146101c457806306fdde03146101f1578063095ea7b3146102815780630f149cce146102e657806318160ddd1461031f5780632389f5b81461034a57806323b872dd14610397578063313ce5671461041c5780633510b66c14610453578063377a368c146104805780633de66ca414610497578063445e5b06146104d05780635db30bb1146104fd578063661884631461052857806370a082311461058d57806376b1f1c3146105e45780638da5cb5b146105fb578063903a3ef61461065257806395d89b41146106695780639d7b8e68146106f9578063a9059cbb14610724578063c75a640a14610789578063cce3cfdf146107b4578063d1b844e6146107e1578063d73dd623146107f8578063dd62ed3e1461085d578063e9691856146108d4578063f2fde38b146108eb578063f3fef3a31461092e578063fcb0368c1461097b575b60018081111561018c57fe5b600660149054906101000a900460ff1660018111156101a757fe5b1415156101b357600080fd5b6000341115156101c257600080fd5b005b3480156101d057600080fd5b506101ef600480360381019080803590602001909291905050506109a8565b005b3480156101fd57600080fd5b50610206610bc5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561024657808201518184015260208101905061022b565b50505050905090810190601f1680156102735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028d57600080fd5b506102cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bfe565b604051808215151515815260200191505060405180910390f35b3480156102f257600080fd5b506102fb610cf0565b6040518082600181111561030b57fe5b60ff16815260200191505060405180910390f35b34801561032b57600080fd5b50610334610d03565b6040518082815260200191505060405180910390f35b34801561035657600080fd5b50610395600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d0d565b005b3480156103a357600080fd5b50610402600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610eac565b604051808215151515815260200191505060405180910390f35b34801561042857600080fd5b5061043161129a565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b34801561045f57600080fd5b5061047e6004803603810190808035906020019092919050505061129f565b005b34801561048c57600080fd5b5061049561132a565b005b3480156104a357600080fd5b506104ac6113e0565b604051808260018111156104bc57fe5b60ff16815260200191505060405180910390f35b3480156104dc57600080fd5b506104fb600480360381019080803590602001909291905050506113f3565b005b34801561050957600080fd5b50610512611553565b6040518082815260200191505060405180910390f35b34801561053457600080fd5b50610573600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611567565b604051808215151515815260200191505060405180910390f35b34801561059957600080fd5b506105ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117f8565b6040518082815260200191505060405180910390f35b3480156105f057600080fd5b506105f9611840565b005b34801561060757600080fd5b506106106118f6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561065e57600080fd5b5061066761191c565b005b34801561067557600080fd5b5061067e611adf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106be5780820151818401526020810190506106a3565b50505050905090810190601f1680156106eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561070557600080fd5b5061070e611b18565b6040518082815260200191505060405180910390f35b34801561073057600080fd5b5061076f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b22565b604051808215151515815260200191505060405180910390f35b34801561079557600080fd5b5061079e611d41565b6040518082815260200191505060405180910390f35b3480156107c057600080fd5b506107df60048036038101908080359060200190929190505050611d4b565b005b3480156107ed57600080fd5b506107f6611de5565b005b34801561080457600080fd5b50610843600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e9a565b604051808215151515815260200191505060405180910390f35b34801561086957600080fd5b506108be600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612096565b6040518082815260200191505060405180910390f35b3480156108e057600080fd5b506108e961211d565b005b3480156108f757600080fd5b5061092c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121d2565b005b34801561093a57600080fd5b50610979600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061232a565b005b34801561098757600080fd5b506109a660048036038101908080359060200190929190505050612432565b005b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a0457600080fd5b600081111515610a1357600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610a6057600080fd5b610a758160015461259290919063ffffffff16565b600181905550610acc816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6040805190810160405280600981526020017f4c484f20546f6b656e000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600660149054906101000a900460ff1681565b6000600154905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d6957600080fd5b6005548111151515610d7a57600080fd5b610d8f8160055461259290919063ffffffff16565b600581905550610de6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3610ea2816001546125b390919063ffffffff16565b6001819055505050565b6000600180811115610eba57fe5b600260009054906101000a900460ff166001811115610ed557fe5b141515610ee157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f1d57600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610f6a57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610ff557600080fd5b611046826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110d9826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111aa82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112fb57600080fd5b60008111801561130c575060015481105b151561131757600080fd5b8060016000828254039250508190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561138657600080fd5b6000600181111561139357fe5b600660149054906101000a900460ff1660018111156113ae57fe5b1415156113ba57600080fd5b6001600660146101000a81548160ff021916908360018111156113d957fe5b0217905550565b600260009054906101000a900460ff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144f57600080fd5b60008111801561146157506001548111155b151561146c57600080fd5b6114818160045461259290919063ffffffff16565b60048190555061149c816005546125b390919063ffffffff16565b6005819055506114f3816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061154a8160015461259290919063ffffffff16565b60018190555050565b60006b024306c4097859c43c000000905090565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611678576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061170c565b61168b838261259290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189c57600080fd5b600060018111156118a957fe5b600260009054906101000a900460ff1660018111156118c457fe5b1415156118d057600080fd5b6001600260006101000a81548160ff021916908360018111156118ef57fe5b0217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561197857600080fd5b60006005541115611a5d576119f8600554600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b600080600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611adc573d6000803e3d6000fd5b50565b6040805190810160405280600381526020017f4c484f000000000000000000000000000000000000000000000000000000000081525081565b6000600454905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611b5f57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611bac57600080fd5b611bfd826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461259290919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c90826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611da757600080fd5b600081118015611dc757506b024306c4097859c43c000000600154820111155b1515611dd257600080fd5b8060016000828254019250508190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e4157600080fd5b600180811115611e4d57fe5b600660149054906101000a900460ff166001811115611e6857fe5b141515611e7457600080fd5b6000600660146101000a81548160ff02191690836001811115611e9357fe5b0217905550565b6000611f2b82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561217957600080fd5b60018081111561218557fe5b600260009054906101000a900460ff1660018111156121a057fe5b1415156121ac57600080fd5b6000600260006101000a81548160ff021916908360018111156121cb57fe5b0217905550565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561222e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561226a57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561238657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156123c257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631811015156123e757600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561242d573d6000803e3d6000fd5b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561248e57600080fd5b6000811180156124a057506005548111155b15156124ab57600080fd5b6124c0816004546125b390919063ffffffff16565b6004819055506124db8160055461259290919063ffffffff16565b600581905550612532816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612589816001546125b390919063ffffffff16565b60018190555050565b6000808383111515156125a457600080fd5b82840390508091505092915050565b60008082840190508381101515156125ca57600080fd5b80915050929150505600a165627a7a72305820838405998d1f2bfef5ae697c126d64d197c62f496615e4d369fccaf15904f3290029

Deployed Bytecode Sourcemap

14717:170:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10514:22;10497:39;;;;;;;;:13;;;;;;;;;;;:39;;;;;;;;;10489:48;;;;;;;;10568:1;10556:9;:13;10548:22;;;;;;;;14717:170;14288:353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14288:353:0;;;;;;;;;;;;;;;;;;;;;;;;;;14755:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14755:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14755:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6818:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6818:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9880:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9880:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4002:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4002:91:0;;;;;;;;;;;;;;;;;;;;;;;13051:363;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13051:363:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5575:581;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5575:581:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14847:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14847:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13425:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13425:169:0;;;;;;;;;;;;;;;;;;;;;;;;;;11777:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11777:151:0;;;;;;5139:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5139:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11091:437;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11091:437:0;;;;;;;;;;;;;;;;;;;;;;;;;;13867:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13867:87:0;;;;;;;;;;;;;;;;;;;;;;;8781:450;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8781:450:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4894:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4894:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12154:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12154:156:0;;;;;;1936:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1936:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;12411:317;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12411:317:0;;;;;;14803:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14803:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;14803:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14020:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14020:89:0;;;;;;;;;;;;;;;;;;;;;;;4275:389;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4275:389:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14175:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14175:99:0;;;;;;;;;;;;;;;;;;;;;;;13606:176;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13606:176:0;;;;;;;;;;;;;;;;;;;;;;;;;;11616:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11616:149:0;;;;;;8000:280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8000:280:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7370:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7370:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11988:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11988:154:0;;;;;;2587:186;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2587:186:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12782:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12782:217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10643:438;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10643:438:0;;;;;;;;;;;;;;;;;;;;;;;;;;14288:353;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;14367:1;14359:7;:9;14351:18;;;;;;;;14398:8;:20;14407:10;14398:20;;;;;;;;;;;;;;;;14388:7;:30;;14380:39;;;;;;;;14443:25;14460:7;14443:12;;:16;;:25;;;;:::i;:::-;14430:12;:38;;;;14502:33;14527:7;14502:8;:20;14511:10;14502:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;14479:8;:20;14488:10;14479:20;;;;;;;;;;;;;;;:56;;;;14556:10;14551:25;;;14568:7;14551:25;;;;;;;;;;;;;;;;;;14621:1;14592:41;;14601:10;14592:41;;;14625:7;14592:41;;;;;;;;;;;;;;;;;;14288:353;:::o;14755:41::-;;;;;;;;;;;;;;;;;;;;:::o;6818:206::-;6885:4;6934:6;6902:7;:19;6910:10;6902:19;;;;;;;;;;;;;;;:29;6922:8;6902:29;;;;;;;;;;;;;;;:38;;;;6977:8;6956:38;;6965:10;6956:38;;;6987:6;6956:38;;;;;;;;;;;;;;;;;;7012:4;7005:11;;6818:206;;;;:::o;9880:55::-;;;;;;;;;;;;;:::o;4002:91::-;4046:7;4073:12;;4066:19;;4002:91;:::o;13051:363::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;13149:15;;13138:7;:26;;13130:35;;;;;;;;13206:28;13226:7;13206:15;;:19;;:28;;;;:::i;:::-;13188:15;:46;;;;13266:31;13289:7;13266:8;:18;13275:8;13266:18;;;;;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;13245:8;:18;13254:8;13245:18;;;;;;;;;;;;;;;:52;;;;13337:8;13313:42;;13330:4;13313:42;;;13347:7;13313:42;;;;;;;;;;;;;;;;;;13381:25;13398:7;13381:12;;:16;;:25;;;;:::i;:::-;13366:12;:40;;;;13051:363;;:::o;5575:581::-;5657:4;5698:23;5682:39;;;;;;;;:14;;;;;;;;;;;:39;;;;;;;;;5674:48;;;;;;;;5756:1;5741:17;;:3;:17;;;;5733:26;;;;;;;;5788:8;:15;5797:5;5788:15;;;;;;;;;;;;;;;;5778:6;:25;;5770:34;;;;;;;;5833:7;:14;5841:5;5833:14;;;;;;;;;;;;;;;:26;5848:10;5833:26;;;;;;;;;;;;;;;;5823:6;:36;;5815:45;;;;;;;;5901:27;5921:6;5901:8;:15;5910:5;5901:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5883:8;:15;5892:5;5883:15;;;;;;;;;;;;;;;:45;;;;5955:25;5973:6;5955:8;:13;5964:3;5955:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;5939:8;:13;5948:3;5939:13;;;;;;;;;;;;;;;:41;;;;6020:38;6051:6;6020:7;:14;6028:5;6020:14;;;;;;;;;;;;;;;:26;6035:10;6020:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;5991:7;:14;5999:5;5991:14;;;;;;;;;;;;;;;:26;6006:10;5991:26;;;;;;;;;;;;;;;:67;;;;6102:3;6086:28;;6095:5;6086:28;;;6107:6;6086:28;;;;;;;;;;;;;;;;;;6144:4;6137:11;;5575:581;;;;;:::o;14847:36::-;14881:2;14847:36;:::o;13425:169::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;13515:1;13505:7;:11;:37;;;;;13530:12;;13520:7;:22;13505:37;13497:46;;;;;;;;13579:7;13564:12;;:22;;;;;;;;;;;13425:169;:::o;11777:151::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;11852:20;11837:35;;;;;;;;:13;;;;;;;;;;;:35;;;;;;;;;11829:44;;;;;;;;11898:22;11884:13;;:36;;;;;;;;;;;;;;;;;;;;;;;;11777:151::o;5139:60::-;;;;;;;;;;;;;:::o;11091:437::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;11171:1;11163:7;:9;:35;;;;;11186:12;;11177:7;:21;;11163:35;11155:45;;;;;;;;11234:23;11249:7;11234:10;;:14;;:23;;;;:::i;:::-;11221:10;:36;;;;11312:28;11332:7;11312:15;;:19;;:28;;;;:::i;:::-;11294:15;:46;;;;11374:33;11399:7;11374:8;:20;11383:10;11374:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;11351:8;:20;11360:10;11351:20;;;;;;;;;;;;;;;:56;;;;11495:25;11512:7;11495:12;;:16;;:25;;;;:::i;:::-;11480:12;:40;;;;11091:437;:::o;13867:87::-;13916:7;9477:16;13936:10;;13867:87;:::o;8781:450::-;8864:4;8881:13;8897:7;:19;8905:10;8897:19;;;;;;;;;;;;;;;:29;8917:8;8897:29;;;;;;;;;;;;;;;;8881:45;;8960:8;8941:16;:27;8937:188;;;9017:1;8985:7;:19;8993:10;8985:19;;;;;;;;;;;;;;;:29;9005:8;8985:29;;;;;;;;;;;;;;;:33;;;;8937:188;;;9083:30;9096:16;9083:8;:12;;:30;;;;:::i;:::-;9051:7;:19;9059:10;9051:19;;;;;;;;;;;;;;;:29;9071:8;9051:29;;;;;;;;;;;;;;;:62;;;;8937:188;9161:8;9140:61;;9149:10;9140:61;;;9171:7;:19;9179:10;9171:19;;;;;;;;;;;;;;;:29;9191:8;9171:29;;;;;;;;;;;;;;;;9140:61;;;;;;;;;;;;;;;;;;9219:4;9212:11;;8781:450;;;;;:::o;4894:107::-;4950:7;4977:8;:16;4986:6;4977:16;;;;;;;;;;;;;;;;4970:23;;4894:107;;;:::o;12154:156::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;12231:21;12215:37;;;;;;;;:14;;;;;;;;;;;:37;;;;;;;;;12207:46;;;;;;;;12279:23;12264:14;;:38;;;;;;;;;;;;;;;;;;;;;;;;12154:156::o;1936:20::-;;;;;;;;;;;;;:::o;12411:317::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;12526:1;12508:15;;:19;12505:91;;;12560:36;12580:15;;12560:8;:15;12569:5;;;;;;;;;;;12560:15;;;;;;;;;;;;;;;;:19;;:36;;;;:::i;:::-;12542:8;:15;12551:5;;;;;;;;;;;12542:15;;;;;;;;;;;;;;;:54;;;;12505:91;12683:5;;;;;;;;;;;:14;;:37;12706:4;12698:21;;;12683:37;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12683:37:0;12411:317::o;14803:37::-;;;;;;;;;;;;;;;;;;;;:::o;14020:89::-;14064:7;14091:10;;14084:17;;14020:89;:::o;4275:389::-;4338:4;4378:1;4363:17;;:3;:17;;;;4355:26;;;;;;;;4410:8;:20;4419:10;4410:20;;;;;;;;;;;;;;;;4400:6;:30;;4392:39;;;;;;;;4477:32;4502:6;4477:8;:20;4486:10;4477:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4454:8;:20;4463:10;4454:20;;;;;;;;;;;;;;;:55;;;;4536:25;4554:6;4536:8;:13;4545:3;4536:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4520:8;:13;4529:3;4520:13;;;;;;;;;;;;;;;:41;;;;4610:3;4589:33;;4598:10;4589:33;;;4615:6;4589:33;;;;;;;;;;;;;;;;;;4652:4;4645:11;;4275:389;;;;:::o;14175:99::-;14224:7;14251:15;;14244:22;;14175:99;:::o;13606:176::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;13694:1;13684:7;:11;:45;;;;;9477:16;13710:12;;13700:7;:22;13699:30;;13684:45;13676:55;;;;;;;;13767:7;13752:12;;:22;;;;;;;;;;;13606:176;:::o;11616:149::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;11689:22;11674:37;;;;;;;;:13;;;;;;;;;;;:37;;;;;;;;;11666:46;;;;;;;;11737:20;11723:13;;:34;;;;;;;;;;;;;;;;;;;;;;;;11616:149::o;8000:280::-;8078:4;8127:46;8161:11;8127:7;:19;8135:10;8127:19;;;;;;;;;;;;;;;:29;8147:8;8127:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;8095:7;:19;8103:10;8095:19;;;;;;;;;;;;;;;:29;8115:8;8095:29;;;;;;;;;;;;;;;:78;;;;8210:8;8189:61;;8198:10;8189:61;;;8220:7;:19;8228:10;8220:19;;;;;;;;;;;;;;;:29;8240:8;8220:29;;;;;;;;;;;;;;;;8189:61;;;;;;;;;;;;;;;;;;8268:4;8261:11;;8000:280;;;;:::o;7370:134::-;7444:7;7471;:15;7479:6;7471:15;;;;;;;;;;;;;;;:25;7487:8;7471:25;;;;;;;;;;;;;;;;7464:32;;7370:134;;;;:::o;11988:154::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;12063:23;12047:39;;;;;;;;:14;;;;;;;;;;;:39;;;;;;;;;12039:48;;;;;;;;12113:21;12098:14;;:36;;;;;;;;;;;;;;;;;;;;;;;;11988:154::o;2587:186::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;2686:1;2666:22;;:8;:22;;;;2658:31;;;;;;;;2731:8;2703:37;;2724:5;;;;;;;;;;;2703:37;;;;;;;;;;;;2757:8;2749:5;;:16;;;;;;;;;;;;;;;;;;2587:186;:::o;12782:217::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;12890:1;12870:22;;:8;:22;;;;12862:31;;;;;;;;12929:4;12921:21;;;12912:6;:30;12904:39;;;;;;;;12966:8;:17;;:25;12984:6;12966:25;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12966:25:0;12782:217;;:::o;10643:438::-;2381:5;;;;;;;;;;;2367:19;;:10;:19;;;2359:28;;;;;;;;10722:1;10714:7;:9;:37;;;;;10736:15;;10727:7;:24;;10714:37;10706:46;;;;;;;;10786:23;10801:7;10786:10;;:14;;:23;;;;:::i;:::-;10773:10;:36;;;;10865:28;10885:7;10865:15;;:19;;:28;;;;:::i;:::-;10847:15;:46;;;;10927:33;10952:7;10927:8;:20;10936:10;10927:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;10904:8;:20;10913:10;10904:20;;;;;;;;;;;;;;;:56;;;;11048:25;11065:7;11048:12;;:16;;:25;;;;:::i;:::-;11033:12;:40;;;;10643:438;:::o;1117:136::-;1175:7;1213:9;1204:1;1199;:6;;1191:15;;;;;;;;1229:1;1225;:5;1213:17;;1246:1;1239:8;;1117:136;;;;;:::o;1321:::-;1379:7;1395:9;1411:1;1407;:5;1395:17;;1432:1;1427;:6;;1419:15;;;;;;;;1450:1;1443:8;;1321:136;;;;;:::o

Swarm Source

bzzr://838405998d1f2bfef5ae697c126d64d197c62f496615e4d369fccaf15904f329

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  ]

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.