ETH Price: $3,929.92 (+3.89%)

Contract

0xd5B66F13620A18dBDF114df4a648da2809e915e5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer164414392023-01-19 14:26:35686 days ago1674138395IN
0xd5B66F13...809e915e5
0 ETH0.0007949515.30201752
Transfer163475652023-01-06 11:52:35699 days ago1673005955IN
0xd5B66F13...809e915e5
0 ETH0.0008742215.41103255
Transfer160244192022-11-22 8:40:23744 days ago1669106423IN
0xd5B66F13...809e915e5
0 ETH0.0006355212.23318761
Transfer159038042022-11-05 12:25:47761 days ago1667651147IN
0xd5B66F13...809e915e5
0 ETH0.0007686913.54503592
Transfer142990832022-03-01 5:02:321010 days ago1646110952IN
0xd5B66F13...809e915e5
0 ETH0.0029839557.45117963
Transfer140136292022-01-16 1:45:171054 days ago1642297517IN
0xd5B66F13...809e915e5
0 ETH0.00428372123
Transfer139888842022-01-12 5:34:501058 days ago1641965690IN
0xd5B66F13...809e915e5
0 ETH0.00645388143.07621777
Transfer139888792022-01-12 5:33:131058 days ago1641965593IN
0xd5B66F13...809e915e5
0 ETH0.00576072136.80834765
Transfer139888752022-01-12 5:32:191058 days ago1641965539IN
0xd5B66F13...809e915e5
0 ETH0.00357791142.50099386
Transfer139888592022-01-12 5:28:481058 days ago1641965328IN
0xd5B66F13...809e915e5
0 ETH0.00330274131.54146273
Transfer139841362022-01-11 12:13:291059 days ago1641903209IN
0xd5B66F13...809e915e5
0 ETH0.0036942106
Transfer139169472022-01-01 2:52:121069 days ago1641005532IN
0xd5B66F13...809e915e5
0 ETH0.0025620173.5132818
Transfer139169182022-01-01 2:46:041069 days ago1641005164IN
0xd5B66F13...809e915e5
0 ETH0.0042689875.25497059
Transfer138816172021-12-26 15:27:051074 days ago1640532425IN
0xd5B66F13...809e915e5
0 ETH0.0023498867.44983342
Transfer138815392021-12-26 15:06:391074 days ago1640531199IN
0xd5B66F13...809e915e5
0 ETH0.0020380258.49845404
Transfer138814932021-12-26 14:54:511075 days ago1640530491IN
0xd5B66F13...809e915e5
0 ETH0.0012389935.56331732
Transfer138161532021-12-16 12:18:431085 days ago1639657123IN
0xd5B66F13...809e915e5
0 ETH0.0026801151.60125352
Transfer137853652021-12-11 18:04:131089 days ago1639245853IN
0xd5B66F13...809e915e5
0 ETH0.0035315967.99499848
Transfer136712282021-11-23 13:52:171108 days ago1637675537IN
0xd5B66F13...809e915e5
0 ETH0.0071154136.99534403
Transfer136386432021-11-18 9:56:211113 days ago1637229381IN
0xd5B66F13...809e915e5
0 ETH0.0047168290.81470127
Transfer136328102021-11-17 12:02:411114 days ago1637150561IN
0xd5B66F13...809e915e5
0 ETH0.00581851112
Transfer136281772021-11-16 18:29:051114 days ago1637087345IN
0xd5B66F13...809e915e5
0 ETH0.00367505105.48676866
Transfer136280022021-11-16 17:47:131114 days ago1637084833IN
0xd5B66F13...809e915e5
0 ETH0.0030891788.63956822
Transfer136279972021-11-16 17:46:471114 days ago1637084807IN
0xd5B66F13...809e915e5
0 ETH0.0034851100
Transfer136279932021-11-16 17:46:181114 days ago1637084778IN
0xd5B66F13...809e915e5
0 ETH0.0033714296.73816022
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:
MoneyTreeOnProgram

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-02-07
*/

pragma solidity ^0.4.24;

// ----------------------------------------------------------------------------
// @Name SafeMath
// @Desc Math operations with safety checks that throw on error
// https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol
// ----------------------------------------------------------------------------
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}
// ----------------------------------------------------------------------------
// @title ERC20Basic
// @dev Simpler version of ERC20 interface
// See https://github.com/ethereum/EIPs/issues/179
// ----------------------------------------------------------------------------
contract ERC20Basic {
    function totalSupply() public view returns (uint256);
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 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_;

    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    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;
    }

    function balanceOf(address _owner) public view returns (uint256) {
        return balances[_owner];
    }
}
// ----------------------------------------------------------------------------
// @title Ownable
// ----------------------------------------------------------------------------
contract Ownable {
    address public owner;
    address public operator;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event OperatorTransferred(address indexed previousOperator, address indexed newOperator);

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

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

    function transferOwnership(address _newOwner) external onlyOwner {
        require(_newOwner != address(0));
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
  
    function transferOperator(address _newOperator) external onlyOwner {
        require(_newOperator != address(0));
        emit OperatorTransferred(operator, _newOperator);
        operator = _newOperator;
    }
}
// ----------------------------------------------------------------------------
// @title BlackList
// @dev Base contract which allows children to implement an emergency stop mechanism.
// ----------------------------------------------------------------------------
contract BlackList is Ownable {
    event Lock(address indexed LockedAddress);
    event Unlock(address indexed UnLockedAddress);

    mapping( address => bool ) public blackList;

    modifier CheckBlackList { require(blackList[msg.sender] != true); _; }

    function SetLockAddress(address _lockAddress) external onlyOwnerOrOperator returns (bool) {
        require(_lockAddress != address(0));
        require(_lockAddress != owner);
        require(blackList[_lockAddress] != true);
        
        blackList[_lockAddress] = true;
        
        emit Lock(_lockAddress);

        return true;
    }

    function UnLockAddress(address _unlockAddress) external onlyOwner returns (bool) {
        require(blackList[_unlockAddress] != false);
        
        blackList[_unlockAddress] = false;
        
        emit Unlock(_unlockAddress);

        return true;
    }
}
// ----------------------------------------------------------------------------
// @title Pausable
// @dev Base contract which allows children to implement an emergency stop mechanism.
// ----------------------------------------------------------------------------
contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = false;

    modifier whenNotPaused() { require(!paused); _; }
    modifier whenPaused() { require(paused); _; }

    function pause() onlyOwnerOrOperator whenNotPaused public {
        paused = true;
        emit Pause();
    }

    function unpause() onlyOwner whenPaused public {
        paused = false;
        emit Unpause();
    }
}
// ----------------------------------------------------------------------------
// @title Standard ERC20 token
// @dev Implementation of the basic standard token.
// https://github.com/ethereum/EIPs/issues/20
// ----------------------------------------------------------------------------
contract StandardToken is ERC20, BasicToken {
    mapping (address => mapping (address => uint256)) internal allowed;

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        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);
        emit Approval(_from, msg.sender, allowed[_from][msg.sender]);
    
        return true;
    }

    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
    
        emit Approval(msg.sender, _spender, _value);
    
        return true;
    }

    function allowance(address _owner, address _spender) public view returns (uint256) {
        return allowed[_owner][_spender];
    }

    function increaseApproval(address _spender, uint256 _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;
    }

    function decreaseApproval(address _spender, uint256 _subtractedValue) public returns (bool) {
        uint256 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;
    }
}
// ----------------------------------------------------------------------------
// @title MultiTransfer Token
// @dev Only Admin
// ----------------------------------------------------------------------------
contract MultiTransferToken is StandardToken, Ownable {
    function MultiTransfer(address[] _to, uint256[] _amount) onlyOwner public returns (bool) {
        require(_to.length == _amount.length);

        uint256 ui;
        uint256 amountSum = 0;
    
        for (ui = 0; ui < _to.length; ui++) {
            require(_to[ui] != address(0));

            amountSum = amountSum.add(_amount[ui]);
        }

        require(amountSum <= balances[msg.sender]);

        for (ui = 0; ui < _to.length; ui++) {
            balances[msg.sender] = balances[msg.sender].sub(_amount[ui]);
            balances[_to[ui]] = balances[_to[ui]].add(_amount[ui]);
        
            emit Transfer(msg.sender, _to[ui], _amount[ui]);
        }
    
        return true;
    }
}
// ----------------------------------------------------------------------------
// @title Burnable Token
// @dev Token that can be irreversibly burned (destroyed).
// ----------------------------------------------------------------------------
contract BurnableToken is StandardToken, Ownable {
    event BurnAdminAmount(address indexed burner, uint256 value);

    function burnAdminAmount(uint256 _value) onlyOwner public {
        require(_value <= balances[msg.sender]);

        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
    
        emit BurnAdminAmount(msg.sender, _value);
        emit Transfer(msg.sender, address(0), _value);
    }
}
// ----------------------------------------------------------------------------
// @title Mintable token
// @dev Simple ERC20 Token example, with mintable token creation
// Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
// ----------------------------------------------------------------------------
contract MintableToken is StandardToken, Ownable {
    event Mint(address indexed to, uint256 amount);
    event MintFinished();
    event MintReStart();

    bool public mintingFinished = false;

    modifier canMint() { require(!mintingFinished); _; }
    modifier cantMint() { require(mintingFinished); _; }

    function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);
    
        emit Mint(_to, _amount);
        emit Transfer(address(0), _to, _amount);
    
        return true;
    }

    function finishMinting() onlyOwner canMint public returns (bool) {
        mintingFinished = true;
        emit MintFinished();
        return true;
    }

    function reStartMinting() onlyOwner cantMint public returns (bool) {
        mintingFinished = false;
        emit MintReStart();
        return true;
    }
}
// ----------------------------------------------------------------------------
// @title Pausable token
// @dev StandardToken modified with pausable transfers.
// ----------------------------------------------------------------------------
contract PausableToken is StandardToken, Pausable, BlackList {
    function transfer(address _to, uint256 _value) public whenNotPaused CheckBlackList returns (bool) {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused CheckBlackList returns (bool) {
        require(blackList[_from] != true);
        require(blackList[_to] != true);

        return super.transferFrom(_from, _to, _value);
    }

    function approve(address _spender, uint256 _value) public whenNotPaused CheckBlackList returns (bool) {
        return super.approve(_spender, _value);
    }

    function increaseApproval(address _spender, uint _addedValue) public whenNotPaused CheckBlackList returns (bool success) {
        return super.increaseApproval(_spender, _addedValue);
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused CheckBlackList returns (bool success) {
        return super.decreaseApproval(_spender, _subtractedValue);
    }
}
// ----------------------------------------------------------------------------
// @Project MoneyTreeOnProgram (MTOP)
// ----------------------------------------------------------------------------
contract MoneyTreeOnProgram is PausableToken, MintableToken, BurnableToken, MultiTransferToken {
    string public name = "Money Tree On Program";
    string public symbol = "MTOP";
    uint256 public decimals = 18;
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_amount","type":"uint256[]"}],"name":"MultiTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"_newOperator","type":"address"}],"name":"transferOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blackList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"operator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","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":"_value","type":"uint256"}],"name":"burnAdminAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reStartMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_unlockAddress","type":"address"}],"name":"UnLockAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_lockAddress","type":"address"}],"name":"SetLockAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","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":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"BurnAdminAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[],"name":"MintReStart","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"LockedAddress","type":"address"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"UnLockedAddress","type":"address"}],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","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":"previousOperator","type":"address"},{"indexed":true,"name":"newOperator","type":"address"}],"name":"OperatorTransferred","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"}]

60806040526000600460146101000a81548160ff0219169083151502179055506000600660006101000a81548160ff0219169083151502179055506040805190810160405280601581526020017f4d6f6e65792054726565204f6e2050726f6772616d0000000000000000000000815250600790805190602001906200008792919062000163565b506040805190810160405280600481526020017f4d544f500000000000000000000000000000000000000000000000000000000081525060089080519060200190620000d592919062000163565b50601260095533600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000212565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001a657805160ff1916838001178555620001d7565b82800160010185558215620001d7579182015b82811115620001d6578251825591602001919060010190620001b9565b5b509050620001e69190620001ea565b5090565b6200020f91905b808211156200020b576000816000905550600101620001f1565b5090565b90565b612e7780620002226000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461016457806306fdde03146101935780630896937e14610223578063095ea7b3146102e457806318160ddd1461034957806323b872dd1461037457806329605e77146103f9578063313ce5671461043c5780633f4ba83a1461046757806340c10f191461047e5780634838d165146104e3578063570ca7351461053e5780635c975abb1461059557806366188463146105c457806370a082311461062957806376227f3b146106805780637d64bcb4146106ad5780638456cb59146106dc5780638da5cb5b146106f357806395d89b411461074a57806399bd100b146107da578063a9059cbb14610809578063c201df971461086e578063c286f3d9146108c9578063d73dd62314610924578063dd62ed3e14610989578063f2fde38b14610a00575b600080fd5b34801561017057600080fd5b50610179610a43565b604051808215151515815260200191505060405180910390f35b34801561019f57600080fd5b506101a8610a56565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e85780820151818401526020810190506101cd565b50505050905090810190601f1680156102155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022f57600080fd5b506102ca6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610af4565b604051808215151515815260200191505060405180910390f35b3480156102f057600080fd5b5061032f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e8c565b604051808215151515815260200191505060405180910390f35b34801561035557600080fd5b5061035e610f1c565b6040518082815260200191505060405180910390f35b34801561038057600080fd5b506103df600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f26565b604051808215151515815260200191505060405180910390f35b34801561040557600080fd5b5061043a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611078565b005b34801561044857600080fd5b506104516111d0565b6040518082815260200191505060405180910390f35b34801561047357600080fd5b5061047c6111d6565b005b34801561048a57600080fd5b506104c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611296565b604051808215151515815260200191505060405180910390f35b3480156104ef57600080fd5b50610524600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061147c565b604051808215151515815260200191505060405180910390f35b34801561054a57600080fd5b5061055361149c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105a157600080fd5b506105aa6114c2565b604051808215151515815260200191505060405180910390f35b3480156105d057600080fd5b5061060f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114d5565b604051808215151515815260200191505060405180910390f35b34801561063557600080fd5b5061066a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611565565b6040518082815260200191505060405180910390f35b34801561068c57600080fd5b506106ab600480360381019080803590602001909291905050506115ad565b005b3480156106b957600080fd5b506106c26117bb565b604051808215151515815260200191505060405180910390f35b3480156106e857600080fd5b506106f1611883565b005b3480156106ff57600080fd5b5061070861199c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075657600080fd5b5061075f6119c2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561079f578082015181840152602081019050610784565b50505050905090810190601f1680156107cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107e657600080fd5b506107ef611a60565b604051808215151515815260200191505060405180910390f35b34801561081557600080fd5b50610854600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b27565b604051808215151515815260200191505060405180910390f35b34801561087a57600080fd5b506108af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bb7565b604051808215151515815260200191505060405180910390f35b3480156108d557600080fd5b5061090a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d19565b604051808215151515815260200191505060405180910390f35b34801561093057600080fd5b5061096f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f6c565b604051808215151515815260200191505060405180910390f35b34801561099557600080fd5b506109ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ffc565b6040518082815260200191505060405180910390f35b348015610a0c57600080fd5b50610a41600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612083565b005b600660009054906101000a900460ff1681565b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aec5780601f10610ac157610100808354040283529160200191610aec565b820191906000526020600020905b815481529060010190602001808311610acf57829003601f168201915b505050505081565b6000806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b5557600080fd5b83518551141515610b6557600080fd5b60009050600091505b8451821015610c0357600073ffffffffffffffffffffffffffffffffffffffff168583815181101515610b9d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515610bca57600080fd5b610bf48483815181101515610bdb57fe5b90602001906020020151826121db90919063ffffffff16565b90508180600101925050610b6e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5057600080fd5b600091505b8451821015610e8057610cc68483815181101515610c6f57fe5b906020019060200201516000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d878483815181101515610d1957fe5b906020019060200201516000808886815181101515610d3457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b6000808785815181101515610d9857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508482815181101515610dee57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8685815181101515610e5457fe5b906020019060200201516040518082815260200191505060405180910390a38180600101925050610c55565b60019250505092915050565b6000600460149054906101000a900460ff16151515610eaa57600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515610f0a57600080fd5b610f148383612212565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff16151515610f4457600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515610fa457600080fd5b60011515600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561100457600080fd5b60011515600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561106457600080fd5b61106f848484612304565b90509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561111057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed60405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60095481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561123257600080fd5b600460149054906101000a900460ff16151561124d57600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112f457600080fd5b600660009054906101000a900460ff1615151561131057600080fd5b611325826001546121db90919063ffffffff16565b60018190555061137c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff161515156114f357600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561155357600080fd5b61155d838361279f565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561160957600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561165657600080fd5b6116a7816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116fe816001546121f990919063ffffffff16565b6001819055503373ffffffffffffffffffffffffffffffffffffffff167fa0f3dea10c8bf26d7f1b6b0cf33166195f48616c562c681b49eaaa2423894d00826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561181957600080fd5b600660009054906101000a900460ff1615151561183557600080fd5b6001600660006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061192c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561193757600080fd5b600460149054906101000a900460ff1615151561195357600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a585780601f10611a2d57610100808354040283529160200191611a58565b820191906000526020600020905b815481529060010190602001808311611a3b57829003601f168201915b505050505081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611abe57600080fd5b600660009054906101000a900460ff161515611ad957600080fd5b6000600660006101000a81548160ff0219169083151502179055507fcab03d48bf61725dddb32879972711d9865dbd338d6a96291188efa36c602ceb60405160405180910390a16001905090565b6000600460149054906101000a900460ff16151515611b4557600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611ba557600080fd5b611baf8383612a30565b905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c1557600080fd5b60001515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611c7557600080fd5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f0be774851955c26a1d6a32b13b020663a069006b4a3b643ff0b809d31826057260405160405180910390a260019050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611dc45750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611dcf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611e0b57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611e6857600080fd5b60011515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611ec857600080fd5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fc1b5f12cea7c200ad495a43bf2d4c7ba1a753343c06c339093937849de84d91360405160405180910390a260019050919050565b6000600460149054906101000a900460ff16151515611f8a57600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611fea57600080fd5b611ff48383612c4f565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120df57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561211b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082840190508381101515156121ef57fe5b8091505092915050565b600082821115151561220757fe5b818303905092915050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561234157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561238e57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561241957600080fd5b61246a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124fd826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125ce82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156128b0576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612944565b6128c383826121f990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612a6d57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612aba57600080fd5b612b0b826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b9e826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000612ce082600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a360019050929150505600a165627a7a7230582017dbb07aa6f63045decde34520572955d939d8f98ef3fd9750315670057dde790029

Deployed Bytecode

0x60806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461016457806306fdde03146101935780630896937e14610223578063095ea7b3146102e457806318160ddd1461034957806323b872dd1461037457806329605e77146103f9578063313ce5671461043c5780633f4ba83a1461046757806340c10f191461047e5780634838d165146104e3578063570ca7351461053e5780635c975abb1461059557806366188463146105c457806370a082311461062957806376227f3b146106805780637d64bcb4146106ad5780638456cb59146106dc5780638da5cb5b146106f357806395d89b411461074a57806399bd100b146107da578063a9059cbb14610809578063c201df971461086e578063c286f3d9146108c9578063d73dd62314610924578063dd62ed3e14610989578063f2fde38b14610a00575b600080fd5b34801561017057600080fd5b50610179610a43565b604051808215151515815260200191505060405180910390f35b34801561019f57600080fd5b506101a8610a56565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e85780820151818401526020810190506101cd565b50505050905090810190601f1680156102155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022f57600080fd5b506102ca6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610af4565b604051808215151515815260200191505060405180910390f35b3480156102f057600080fd5b5061032f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e8c565b604051808215151515815260200191505060405180910390f35b34801561035557600080fd5b5061035e610f1c565b6040518082815260200191505060405180910390f35b34801561038057600080fd5b506103df600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f26565b604051808215151515815260200191505060405180910390f35b34801561040557600080fd5b5061043a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611078565b005b34801561044857600080fd5b506104516111d0565b6040518082815260200191505060405180910390f35b34801561047357600080fd5b5061047c6111d6565b005b34801561048a57600080fd5b506104c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611296565b604051808215151515815260200191505060405180910390f35b3480156104ef57600080fd5b50610524600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061147c565b604051808215151515815260200191505060405180910390f35b34801561054a57600080fd5b5061055361149c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105a157600080fd5b506105aa6114c2565b604051808215151515815260200191505060405180910390f35b3480156105d057600080fd5b5061060f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114d5565b604051808215151515815260200191505060405180910390f35b34801561063557600080fd5b5061066a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611565565b6040518082815260200191505060405180910390f35b34801561068c57600080fd5b506106ab600480360381019080803590602001909291905050506115ad565b005b3480156106b957600080fd5b506106c26117bb565b604051808215151515815260200191505060405180910390f35b3480156106e857600080fd5b506106f1611883565b005b3480156106ff57600080fd5b5061070861199c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075657600080fd5b5061075f6119c2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561079f578082015181840152602081019050610784565b50505050905090810190601f1680156107cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107e657600080fd5b506107ef611a60565b604051808215151515815260200191505060405180910390f35b34801561081557600080fd5b50610854600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b27565b604051808215151515815260200191505060405180910390f35b34801561087a57600080fd5b506108af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bb7565b604051808215151515815260200191505060405180910390f35b3480156108d557600080fd5b5061090a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d19565b604051808215151515815260200191505060405180910390f35b34801561093057600080fd5b5061096f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f6c565b604051808215151515815260200191505060405180910390f35b34801561099557600080fd5b506109ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ffc565b6040518082815260200191505060405180910390f35b348015610a0c57600080fd5b50610a41600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612083565b005b600660009054906101000a900460ff1681565b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aec5780601f10610ac157610100808354040283529160200191610aec565b820191906000526020600020905b815481529060010190602001808311610acf57829003601f168201915b505050505081565b6000806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b5557600080fd5b83518551141515610b6557600080fd5b60009050600091505b8451821015610c0357600073ffffffffffffffffffffffffffffffffffffffff168583815181101515610b9d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515610bca57600080fd5b610bf48483815181101515610bdb57fe5b90602001906020020151826121db90919063ffffffff16565b90508180600101925050610b6e565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111151515610c5057600080fd5b600091505b8451821015610e8057610cc68483815181101515610c6f57fe5b906020019060200201516000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d878483815181101515610d1957fe5b906020019060200201516000808886815181101515610d3457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b6000808785815181101515610d9857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508482815181101515610dee57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8685815181101515610e5457fe5b906020019060200201516040518082815260200191505060405180910390a38180600101925050610c55565b60019250505092915050565b6000600460149054906101000a900460ff16151515610eaa57600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515610f0a57600080fd5b610f148383612212565b905092915050565b6000600154905090565b6000600460149054906101000a900460ff16151515610f4457600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515610fa457600080fd5b60011515600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561100457600080fd5b60011515600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561106457600080fd5b61106f848484612304565b90509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110d457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561111057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed60405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60095481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561123257600080fd5b600460149054906101000a900460ff16151561124d57600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112f457600080fd5b600660009054906101000a900460ff1615151561131057600080fd5b611325826001546121db90919063ffffffff16565b60018190555061137c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff161515156114f357600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561155357600080fd5b61155d838361279f565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561160957600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561165657600080fd5b6116a7816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116fe816001546121f990919063ffffffff16565b6001819055503373ffffffffffffffffffffffffffffffffffffffff167fa0f3dea10c8bf26d7f1b6b0cf33166195f48616c562c681b49eaaa2423894d00826040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561181957600080fd5b600660009054906101000a900460ff1615151561183557600080fd5b6001600660006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061192c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561193757600080fd5b600460149054906101000a900460ff1615151561195357600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a585780601f10611a2d57610100808354040283529160200191611a58565b820191906000526020600020905b815481529060010190602001808311611a3b57829003601f168201915b505050505081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611abe57600080fd5b600660009054906101000a900460ff161515611ad957600080fd5b6000600660006101000a81548160ff0219169083151502179055507fcab03d48bf61725dddb32879972711d9865dbd338d6a96291188efa36c602ceb60405160405180910390a16001905090565b6000600460149054906101000a900460ff16151515611b4557600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611ba557600080fd5b611baf8383612a30565b905092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c1557600080fd5b60001515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611c7557600080fd5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f0be774851955c26a1d6a32b13b020663a069006b4a3b643ff0b809d31826057260405160405180910390a260019050919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611dc45750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611dcf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611e0b57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611e6857600080fd5b60011515600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611ec857600080fd5b6001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fc1b5f12cea7c200ad495a43bf2d4c7ba1a753343c06c339093937849de84d91360405160405180910390a260019050919050565b6000600460149054906101000a900460ff16151515611f8a57600080fd5b60011515600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151515611fea57600080fd5b611ff48383612c4f565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156120df57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561211b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008082840190508381101515156121ef57fe5b8091505092915050565b600082821115151561220757fe5b818303905092915050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561234157600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561238e57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561241957600080fd5b61246a826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124fd826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125ce82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a33373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156128b0576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612944565b6128c383826121f990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612a6d57600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612aba57600080fd5b612b0b826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b9e826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000612ce082600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121db90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a360019050929150505600a165627a7a7230582017dbb07aa6f63045decde34520572955d939d8f98ef3fd9750315670057dde790029

Deployed Bytecode Sourcemap

12963:221:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10624:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10624:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13065:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13065:44: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;13065:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8638:723;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8638:723:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12188:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12188:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2597:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2597:91:0;;;;;;;;;;;;;;;;;;;;;;;11911:269;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11911:269:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4101:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4101:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;13152:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13152:28:0;;;;;;;;;;;;;;;;;;;;;;;6109:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6109:105:0;;;;;;10786:314;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10786:314:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4729:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4729:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3409:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3409:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5845:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5845:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;12555:202;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12555:202:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3065:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3065:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9739:347;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9739:347:0;;;;;;;;;;;;;;;;;;;;;;;;;;11108:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11108:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5988:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5988:113:0;;;;;;3382:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3382:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13116:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13116:29: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;13116:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11274:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11274:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11752:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11752:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5222:269;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5222:269:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4859:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4859:355:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12355:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12355:192:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7444:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7444:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3893:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3893:198:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10624:35;;;;;;;;;;;;;:::o;13065:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8638:723::-;8721:4;8788:10;8809:17;3774:5;;;;;;;;;;;3760:19;;:10;:19;;;3752:28;;;;;;;;8760:7;:14;8746:3;:10;:28;8738:37;;;;;;;;8829:1;8809:21;;8857:1;8852:6;;8847:148;8865:3;:10;8860:2;:15;8847:148;;;8925:1;8906:21;;:3;8910:2;8906:7;;;;;;;;;;;;;;;;;;:21;;;;8898:30;;;;;;;;8957:26;8971:7;8979:2;8971:11;;;;;;;;;;;;;;;;;;8957:9;:13;;:26;;;;:::i;:::-;8945:38;;8877:4;;;;;;;8847:148;;;9028:8;:20;9037:10;9028:20;;;;;;;;;;;;;;;;9015:9;:33;;9007:42;;;;;;;;9072:1;9067:6;;9062:264;9080:3;:10;9075:2;:15;9062:264;;;9136:37;9161:7;9169:2;9161:11;;;;;;;;;;;;;;;;;;9136:8;:20;9145:10;9136:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;9113:8;:20;9122:10;9113:20;;;;;;;;;;;;;;;:60;;;;9208:34;9230:7;9238:2;9230:11;;;;;;;;;;;;;;;;;;9208:8;:17;9217:3;9221:2;9217:7;;;;;;;;;;;;;;;;;;9208:17;;;;;;;;;;;;;;;;:21;;:34;;;;:::i;:::-;9188:8;:17;9197:3;9201:2;9197:7;;;;;;;;;;;;;;;;;;9188:17;;;;;;;;;;;;;;;:54;;;;9293:3;9297:2;9293:7;;;;;;;;;;;;;;;;;;9272:42;;9281:10;9272:42;;;9302:7;9310:2;9302:11;;;;;;;;;;;;;;;;;;9272:42;;;;;;;;;;;;;;;;;;9092:4;;;;;;;9062:264;;;9349:4;9342:11;;8638:723;;;;;;:::o;12188:159::-;12284:4;5916:6;;;;;;;;;;;5915:7;5907:16;;;;;;;;4840:4;4815:29;;:9;:21;4825:10;4815:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;4807:38;;;;;;;;12308:31;12322:8;12332:6;12308:13;:31::i;:::-;12301:38;;12188:159;;;;:::o;2597:91::-;2641:7;2668:12;;2661:19;;2597:91;:::o;11911:269::-;12022:4;5916:6;;;;;;;;;;;5915:7;5907:16;;;;;;;;4840:4;4815:29;;:9;:21;4825:10;4815:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;4807:38;;;;;;;;12067:4;12047:24;;:9;:16;12057:5;12047:16;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;;12039:33;;;;;;;;12109:4;12091:22;;:9;:14;12101:3;12091:14;;;;;;;;;;;;;;;;;;;;;;;;;:22;;;;12083:31;;;;;;;;12134:38;12153:5;12160:3;12165:6;12134:18;:38::i;:::-;12127:45;;11911:269;;;;;:::o;4101:214::-;3774:5;;;;;;;;;;;3760:19;;:10;:19;;;3752:28;;;;;;;;4211:1;4187:26;;:12;:26;;;;4179:35;;;;;;;;4260:12;4230:43;;4250:8;;;;;;;;;;;4230:43;;;;;;;;;;;;4295:12;4284:8;;:23;;;;;;;;;;;;;;;;;;4101:214;:::o;13152:28::-;;;;:::o;6109:105::-;3774:5;;;;;;;;;;;3760:19;;:10;:19;;;3752:28;;;;;;;;5967:6;;;;;;;;;;;5959:15;;;;;;;;6176:5;6167:6;;:14;;;;;;;;;;;;;;;;;;6197:9;;;;;;;;;;6109:105::o;10786:314::-;10864:4;3774:5;;;;;;;;;;;3760:19;;:10;:19;;;3752:28;;;;;;;;10698:15;;;;;;;;;;;10697:16;10689:25;;;;;;;;10896;10913:7;10896:12;;:16;;:25;;;;:::i;:::-;10881:12;:40;;;;10948:26;10966:7;10948:8;:13;10957:3;10948:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;10932:8;:13;10941:3;10932:13;;;;;;;;;;;;;;;:42;;;;11001:3;10996:18;;;11006:7;10996:18;;;;;;;;;;;;;;;;;;11051:3;11030:34;;11047:1;11030:34;;;11056:7;11030:34;;;;;;;;;;;;;;;;;;11088:4;11081:11;;10786:314;;;;:::o;4729:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;3409:23::-;;;;;;;;;;;;;:::o;5845:26::-;;;;;;;;;;;;;:::o;12555:202::-;12667:12;5916:6;;;;;;;;;;;5915:7;5907:16;;;;;;;;4840:4;4815:29;;:9;:21;4825:10;4815:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;4807:38;;;;;;;;12699:50;12722:8;12732:16;12699:22;:50::i;:::-;12692:57;;12555:202;;;;:::o;3065:107::-;3121:7;3148:8;:16;3157:6;3148:16;;;;;;;;;;;;;;;;3141:23;;3065:107;;;:::o;9739:347::-;3774:5;;;;;;;;;;;3760:19;;:10;:19;;;3752:28;;;;;;;;9826:8;:20;9835:10;9826:20;;;;;;;;;;;;;;;;9816:6;:30;;9808:39;;;;;;;;9883:32;9908:6;9883:8;:20;9892:10;9883:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9860:8;:20;9869:10;9860:20;;;;;;;;;;;;;;;:55;;;;9941:24;9958:6;9941:12;;:16;;:24;;;;:::i;:::-;9926:12;:39;;;;10003:10;9987:35;;;10015:6;9987:35;;;;;;;;;;;;;;;;;;10067:1;10038:40;;10047:10;10038:40;;;10071:6;10038:40;;;;;;;;;;;;;;;;;;9739:347;:::o;11108:158::-;11167:4;3774:5;;;;;;;;;;;3760:19;;:10;:19;;;3752:28;;;;;;;;10698:15;;;;;;;;;;;10697:16;10689:25;;;;;;;;11202:4;11184:15;;:22;;;;;;;;;;;;;;;;;;11222:14;;;;;;;;;;11254:4;11247:11;;11108:158;:::o;5988:113::-;3847:5;;;;;;;;;;;3833:19;;:10;:19;;;:45;;;;3870:8;;;;;;;;;;;3856:22;;:10;:22;;;3833:45;3825:54;;;;;;;;5916:6;;;;;;;;;;;5915:7;5907:16;;;;;;;;6066:4;6057:6;;:13;;;;;;;;;;;;;;;;;;6086:7;;;;;;;;;;5988:113::o;3382:20::-;;;;;;;;;;;;;:::o;13116:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11274:160::-;11335:4;3774:5;;;;;;;;;;;3760:19;;:10;:19;;;3752:28;;;;;;;;10756:15;;;;;;;;;;;10748:24;;;;;;;;11370:5;11352:15;;:23;;;;;;;;;;;;;;;;;;11391:13;;;;;;;;;;11422:4;11415:11;;11274:160;:::o;11752:151::-;11844:4;5916:6;;;;;;;;;;;5915:7;5907:16;;;;;;;;4840:4;4815:29;;:9;:21;4825:10;4815:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;4807:38;;;;;;;;11868:27;11883:3;11888:6;11868:14;:27::i;:::-;11861:34;;11752:151;;;;:::o;5222:269::-;5297:4;3774:5;;;;;;;;;;;3760:19;;:10;:19;;;3752:28;;;;;;;;5351:5;5322:34;;:9;:25;5332:14;5322:25;;;;;;;;;;;;;;;;;;;;;;;;;:34;;;;5314:43;;;;;;;;5406:5;5378:9;:25;5388:14;5378:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;5444:14;5437:22;;;;;;;;;;;;5479:4;5472:11;;5222:269;;;:::o;4859:355::-;4943:4;3847:5;;;;;;;;;;;3833:19;;:10;:19;;;:45;;;;3870:8;;;;;;;;;;;3856:22;;:10;:22;;;3833:45;3825:54;;;;;;;;4992:1;4968:26;;:12;:26;;;;4960:35;;;;;;;;5030:5;;;;;;;;;;;5014:21;;:12;:21;;;;5006:30;;;;;;;;5082:4;5055:31;;:9;:23;5065:12;5055:23;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;;5047:40;;;;;;;;5134:4;5108:9;:23;5118:12;5108:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;5169:12;5164:18;;;;;;;;;;;;5202:4;5195:11;;4859:355;;;:::o;12355:192::-;12462:12;5916:6;;;;;;;;;;;5915:7;5907:16;;;;;;;;4840:4;4815:29;;:9;:21;4825:10;4815:21;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;;4807:38;;;;;;;;12494:45;12517:8;12527:11;12494:22;:45::i;:::-;12487:52;;12355:192;;;;:::o;7444:134::-;7518:7;7545;:15;7553:6;7545:15;;;;;;;;;;;;;;;:25;7561:8;7545:25;;;;;;;;;;;;;;;;7538:32;;7444:134;;;;:::o;3893:198::-;3774:5;;;;;;;;;;;3760:19;;:10;:19;;;3752:28;;;;;;;;3998:1;3977:23;;:9;:23;;;;3969:32;;;;;;;;4045:9;4017:38;;4038:5;;;;;;;;;;;4017:38;;;;;;;;;;;;4074:9;4066:5;;:17;;;;;;;;;;;;;;;;;;3893:198;:::o;845:147::-;903:7;923:9;939:1;935;:5;923:17;;963:1;958;:6;;951:14;;;;;;983:1;976:8;;845:147;;;;;:::o;714:123::-;772:7;804:1;799;:6;;792:14;;;;;;828:1;824;:5;817:12;;714:123;;;;:::o;7218:218::-;7285:4;7334:6;7302:7;:19;7310:10;7302:19;;;;;;;;;;;;;;;:29;7322:8;7302:29;;;;;;;;;;;;;;;:38;;;;7383:8;7362:38;;7371:10;7362:38;;;7393:6;7362:38;;;;;;;;;;;;;;;;;;7424:4;7417:11;;7218:218;;;;:::o;6639:571::-;6721:4;6761:1;6746:17;;:3;:17;;;;6738:26;;;;;;;;6793:8;:15;6802:5;6793:15;;;;;;;;;;;;;;;;6783:6;:25;;6775:34;;;;;;;;6838:7;:14;6846:5;6838:14;;;;;;;;;;;;;;;:26;6853:10;6838:26;;;;;;;;;;;;;;;;6828:6;:36;;6820:45;;;;;;;;6896:27;6916:6;6896:8;:15;6905:5;6896:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;6878:8;:15;6887:5;6878:15;;;;;;;;;;;;;;;:45;;;;6950:25;6968:6;6950:8;:13;6959:3;6950:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6934:8;:13;6943:3;6934:13;;;;;;;;;;;;;;;:41;;;;7015:38;7046:6;7015:7;:14;7023:5;7015:14;;;;;;;;;;;;;;;:26;7030:10;7015:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;6986:7;:14;6994:5;6986:14;;;;;;;;;;;;;;;:26;7001:10;6986:26;;;;;;;;;;;;;;;:67;;;;7091:3;7075:28;;7084:5;7075:28;;;7096:6;7075:28;;;;;;;;;;;;;;;;;;7135:10;7119:55;;7128:5;7119:55;;;7147:7;:14;7155:5;7147:14;;;;;;;;;;;;;;;:26;7162:10;7147:26;;;;;;;;;;;;;;;;7119:55;;;;;;;;;;;;;;;;;;7198:4;7191:11;;6639:571;;;;;:::o;7891:468::-;7977:4;7994:16;8013:7;:19;8021:10;8013:19;;;;;;;;;;;;;;;:29;8033:8;8013:29;;;;;;;;;;;;;;;;7994:48;;8082:8;8063:16;:27;8059:188;;;8139:1;8107:7;:19;8115:10;8107:19;;;;;;;;;;;;;;;:29;8127:8;8107:29;;;;;;;;;;;;;;;:33;;;;8059:188;;;8205:30;8218:16;8205:8;:12;;:30;;;;:::i;:::-;8173:7;:19;8181:10;8173:19;;;;;;;;;;;;;;;:29;8193:8;8173:29;;;;;;;;;;;;;;;:62;;;;8059:188;8289:8;8268:61;;8277:10;8268:61;;;8299:7;:19;8307:10;8299:19;;;;;;;;;;;;;;;:29;8319:8;8299:29;;;;;;;;;;;;;;;;8268:61;;;;;;;;;;;;;;;;;;8347:4;8340:11;;7891:468;;;;;:::o;2696:361::-;2759:4;2799:1;2784:17;;:3;:17;;;;2776:26;;;;;;;;2831:8;:20;2840:10;2831:20;;;;;;;;;;;;;;;;2821:6;:30;;2813:39;;;;;;;;2888:32;2913:6;2888:8;:20;2897:10;2888:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;2865:8;:20;2874:10;2865:20;;;;;;;;;;;;;;;:55;;;;2947:25;2965:6;2947:8;:13;2956:3;2947:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;2931:8;:13;2940:3;2931:13;;;;;;;;;;;;;;;:41;;;;3015:3;2994:33;;3003:10;2994:33;;;3020:6;2994:33;;;;;;;;;;;;;;;;;;3045:4;3038:11;;2696:361;;;;:::o;7586:297::-;7667:4;7717:46;7751:11;7717:7;:19;7725:10;7717:19;;;;;;;;;;;;;;;:29;7737:8;7717:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;7684:7;:19;7692:10;7684:19;;;;;;;;;;;;;;;:29;7704:8;7684:29;;;;;;;;;;;;;;;:80;;;;7807:8;7786:61;;7795:10;7786:61;;;7817:7;:19;7825:10;7817:19;;;;;;;;;;;;;;;:29;7837:8;7817:29;;;;;;;;;;;;;;;;7786:61;;;;;;;;;;;;;;;;;;7871:4;7864:11;;7586:297;;;;:::o

Swarm Source

bzzr://17dbb07aa6f63045decde34520572955d939d8f98ef3fd9750315670057dde79

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.