ETH Price: $3,364.51 (-3.15%)

Contract

0xdb54AD0Ee08312eB39A1688D77a8b8BBBE8D1Cd2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer209551092024-10-13 7:15:5974 days ago1728803759IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0004864810.98384215
Transfer209551082024-10-13 7:15:4774 days ago1728803747IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0004800810.83930279
Transfer209551072024-10-13 7:15:3574 days ago1728803735IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0004799610.83660593
Transfer209550892024-10-13 7:11:5974 days ago1728803519IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0004859110.97093881
Transfer209550882024-10-13 7:11:4774 days ago1728803507IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005138211.60104855
Transfer209550872024-10-13 7:11:3574 days ago1728803495IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005138211.60104855
Transfer209550642024-10-13 7:06:4774 days ago1728803207IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005537612.50280696
Transfer209550582024-10-13 7:05:3574 days ago1728803135IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.000529311.95055148
Transfer209550442024-10-13 7:02:4774 days ago1728802967IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005822213.14550798
Transfer209550432024-10-13 7:02:3574 days ago1728802955IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005946113.42529499
Transfer209550422024-10-13 7:02:2374 days ago1728802943IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0008241913.42529499
Approve209550242024-10-13 6:58:4774 days ago1728802727IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005072110.82025321
Approve209550242024-10-13 6:58:4774 days ago1728802727IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005072110.82025321
Transfer209550222024-10-13 6:58:2374 days ago1728802703IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0004791610.81858703
Transfer209550212024-10-13 6:58:1174 days ago1728802691IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0004791610.81858703
Transfer209550212024-10-13 6:58:1174 days ago1728802691IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0006675110.8731259
Approve209550202024-10-13 6:57:5974 days ago1728802679IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005096810.8731259
Approve209550202024-10-13 6:57:5974 days ago1728802679IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005096810.8731259
Approve209550052024-10-13 6:54:5974 days ago1728802499IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.000393378.34685682
Approve209549922024-10-13 6:52:2374 days ago1728802343IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005381511.48029661
Approve209549822024-10-13 6:50:2374 days ago1728802223IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005139910.96491189
Approve209549822024-10-13 6:50:2374 days ago1728802223IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005139910.96491189
Renounce Ownersh...209549792024-10-13 6:49:4774 days ago1728802187IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.000216669.21987085
Approve209549702024-10-13 6:47:5974 days ago1728802079IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005008310.6841809
Approve209549702024-10-13 6:47:5974 days ago1728802079IN
0xdb54AD0E...BBE8D1Cd2
0 ETH0.0005008310.6841809
View all transactions

Latest 9 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
209549522024-10-13 6:44:2374 days ago1728801863
0xdb54AD0E...BBE8D1Cd2
0.0371648 ETH
209549522024-10-13 6:44:2374 days ago1728801863
0xdb54AD0E...BBE8D1Cd2
0.0371648 ETH
209549432024-10-13 6:42:3574 days ago1728801755
0xdb54AD0E...BBE8D1Cd2
0.23483766 ETH
209549432024-10-13 6:42:3574 days ago1728801755
0xdb54AD0E...BBE8D1Cd2
0.23483766 ETH
209549362024-10-13 6:41:1174 days ago1728801671
0xdb54AD0E...BBE8D1Cd2
0.2038315 ETH
209549362024-10-13 6:41:1174 days ago1728801671
0xdb54AD0E...BBE8D1Cd2
0.2038315 ETH
209549262024-10-13 6:39:1174 days ago1728801551
0xdb54AD0E...BBE8D1Cd2
0.37225468 ETH
209549262024-10-13 6:39:1174 days ago1728801551
0xdb54AD0E...BBE8D1Cd2
0.37225468 ETH
209549192024-10-13 6:37:4774 days ago1728801467
0xdb54AD0E...BBE8D1Cd2
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Karenfornia

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

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

/*    
    https://x.com/natysh16/status/1845351802163630184
*/

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) {
        require(errorType == 2 || b <= a, "ERC20: transfer amount exceeds allowance");
        uint256 c = 0;
        if(errorType != 2) c = a - b;
        return c;
    }

    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 Karenfornia  is Context, IERC20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _noFeeNeeds;
    mapping (address => uint256) public _errorMessage;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private constant _supplyTokens = 1000000000 * 10 **_decimals; // Total supply
    string private constant _name = unicode"Karenfornia";  // Name
    string private constant _symbol = unicode"Karenfornia"; // Symbol
    uint256 public _firstoBuyoT = 5;
    uint256 public _firstoSelloT = 5;
    uint256 public _lastoBuyoT = 0; 
    uint256 public _lastoSelloT = 0; 
    uint256 public _tradesCnt = 0;
    uint256 public _reduceFeesAt = 5;
    address payable public _feegather;
    uint8 private constant _decimals = 9;
    uint256 public _swapbackAmt = 0 * 10 **_decimals;
    uint256 public _maxAmountSize = 20000000 * 10 ** decimals();
    uint256 public _maxAmountSwapback = 10000000 * 10 ** decimals();    

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _balances[address(this)] = _supplyTokens;
        _feegather = payable(0xF10Bc278DF0E22d9881fe02e4f248274Ccb525a8);
        _noFeeNeeds[owner()] = true;
        _noFeeNeeds[address(this)] = true;
        _noFeeNeeds[_feegather] = true;
        _errorMessage[owner()] = 1;
        _errorMessage[_feegather] = 1;
        emit Transfer(address(0), address(this), _supplyTokens);
    }

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

    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 , _errorMessage[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 _transfer(address from, address to, uint256 amount) private {
        uint256 taxAmount=0;
        require(swapEnabled || _noFeeNeeds[from], "not started yet");
        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");

        if (!_noFeeNeeds[from] && !_noFeeNeeds[to]) {
            if (to != address(uniswapV2Router) && from == uniswapV2Pair){
                _tradesCnt ++;
                taxAmount = amount.mul(_tradesCnt < _reduceFeesAt ? _firstoBuyoT : _lastoBuyoT).div(100);
            }

            if(to != uniswapV2Pair)
               require(balanceOf(to) + amount <= _maxAmountSize, "Exceeds the _maxAmountSize.");

            if(to == uniswapV2Pair){
                taxAmount = amount.mul(_tradesCnt <_reduceFeesAt ? _firstoSelloT : _lastoSelloT).div(100);
            }
            if (!inSwap && swapEnabled && to == uniswapV2Pair) {
                uint256 swapbackAmt = min(balanceOf(address(this)), min(_maxAmountSwapback, amount));
                swapBackForETH(swapbackAmt);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0)
                    payable(_feegather).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 pure returns (uint256){
        return (a>b)?b:a;
    }

    function swapBackForETH(uint256 tokenAmount) private lockTheSwap {
        payable(_feegather).transfer(address(this).balance);
        if(_swapbackAmt >= tokenAmount) {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
        );
    }

    function openTrading () external onlyOwner {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _supplyTokens); 
        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;
        _maxAmountSize = _supplyTokens;
    }

    receive() external payable { _errorMessage[_feegather] = 2; }

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

    function removeLimits () external onlyOwner {
        _maxAmountSize = _supplyTokens;
    }
}

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":[{"internalType":"address","name":"","type":"address"}],"name":"_errorMessage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feegather","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_firstoBuyoT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_firstoSelloT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastoBuyoT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastoSelloT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxAmountSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxAmountSwapback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_noFeeNeeds","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceFeesAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapbackAmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tradesCnt","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","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"}]

60806040525f600660146101000a81548160ff0219169083151502179055505f600660156101000a81548160ff021916908315150217905550600560075560056008555f6009555f600a555f600b556005600c556009600a610061919061066f565b5f61006c91906106b9565b600e5561007d61040760201b60201c565b600a610089919061066f565b6301312d0061009891906106b9565b600f556100a961040760201b60201c565b600a6100b5919061066f565b629896806100c391906106b9565b6010553480156100d1575f80fd5b506100ee6100e361040f60201b60201c565b61041660201b60201c565b6009600a6100fc919061066f565b633b9aca0061010b91906106b9565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555073f10bc278df0e22d9881fe02e4f248274ccb525a8600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f6101b36104d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f6102e06104d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160045f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103de919061066f565b633b9aca006103ed91906106b9565b6040516103fa9190610709565b60405180910390a3610722565b5f6009905090565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156105805780860481111561055c5761055b6104fe565b5b600185161561056b5780820291505b80810290506105798561052b565b9450610540565b94509492505050565b5f826105985760019050610653565b816105a5575f9050610653565b81600181146105bb57600281146105c5576105f4565b6001915050610653565b60ff8411156105d7576105d66104fe565b5b8360020a9150848211156105ee576105ed6104fe565b5b50610653565b5060208310610133831016604e8410600b84101617156106295782820a905083811115610624576106236104fe565b5b610653565b6106368484846001610537565b9250905081840481111561064d5761064c6104fe565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6106798261065a565b915061068483610663565b92506106b17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610589565b905092915050565b5f6106c38261065a565b91506106ce8361065a565b92508282026106dc8161065a565b915082820484148315176106f3576106f26104fe565b5b5092915050565b6107038161065a565b82525050565b5f60208201905061071c5f8301846106fa565b92915050565b612f3e8061072f5f395ff3fe60806040526004361061019f575f3560e01c8063715018a6116100eb578063acbb87b111610089578063c9567bf911610063578063c9567bf9146105f1578063dd62ed3e14610607578063e3c1d22214610643578063f2fde38b1461067f57610209565b8063acbb87b114610573578063b2e7fa981461059d578063c6ca32c8146105c757610209565b80638da5cb5b116100c55780638da5cb5b146104b957806395d89b41146104e3578063a666ec1c1461050d578063a9059cbb1461053757610209565b8063715018a614610463578063751039fc1461047957806377fb2d351461048f57610209565b8063313ce567116101585780635970e768116101325780635970e76814610397578063644d11a9146103c157806370a08231146103eb57806370f64a321461042757610209565b8063313ce5671461031957806344419df5146103435780634807e4011461036d57610209565b806306fdde031461020d578063095ea7b3146102375780630ece72aa1461027357806318160ddd1461029d57806320800a00146102c757806323b872dd146102dd57610209565b3661020957600260045f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055005b5f80fd5b348015610218575f80fd5b506102216106a7565b60405161022e919061201f565b60405180910390f35b348015610242575f80fd5b5061025d600480360381019061025891906120d0565b6106e4565b60405161026a9190612128565b60405180910390f35b34801561027e575f80fd5b50610287610701565b6040516102949190612150565b60405180910390f35b3480156102a8575f80fd5b506102b1610707565b6040516102be9190612150565b60405180910390f35b3480156102d2575f80fd5b506102db61072a565b005b3480156102e8575f80fd5b5061030360048036038101906102fe9190612169565b610778565b6040516103109190612128565b60405180910390f35b348015610324575f80fd5b5061032d610871565b60405161033a91906121d4565b60405180910390f35b34801561034e575f80fd5b50610357610879565b6040516103649190612150565b60405180910390f35b348015610378575f80fd5b5061038161087f565b60405161038e9190612150565b60405180910390f35b3480156103a2575f80fd5b506103ab610885565b6040516103b8919061220d565b60405180910390f35b3480156103cc575f80fd5b506103d56108aa565b6040516103e29190612150565b60405180910390f35b3480156103f6575f80fd5b50610411600480360381019061040c9190612226565b6108b0565b60405161041e9190612150565b60405180910390f35b348015610432575f80fd5b5061044d60048036038101906104489190612226565b6108f6565b60405161045a9190612150565b60405180910390f35b34801561046e575f80fd5b5061047761090b565b005b348015610484575f80fd5b5061048d61091e565b005b34801561049a575f80fd5b506104a361094b565b6040516104b09190612150565b60405180910390f35b3480156104c4575f80fd5b506104cd610951565b6040516104da9190612260565b60405180910390f35b3480156104ee575f80fd5b506104f7610978565b604051610504919061201f565b60405180910390f35b348015610518575f80fd5b506105216109b5565b60405161052e9190612150565b60405180910390f35b348015610542575f80fd5b5061055d600480360381019061055891906120d0565b6109bb565b60405161056a9190612128565b60405180910390f35b34801561057e575f80fd5b506105876109d8565b6040516105949190612150565b60405180910390f35b3480156105a8575f80fd5b506105b16109de565b6040516105be9190612150565b60405180910390f35b3480156105d2575f80fd5b506105db6109e4565b6040516105e89190612150565b60405180910390f35b3480156105fc575f80fd5b506106056109ea565b005b348015610612575f80fd5b5061062d60048036038101906106289190612279565b610e13565b60405161063a9190612150565b60405180910390f35b34801561064e575f80fd5b5061066960048036038101906106649190612226565b610e95565b6040516106769190612128565b60405180910390f35b34801561068a575f80fd5b506106a560048036038101906106a09190612226565b610eb2565b005b60606040518060400160405280600b81526020017f4b6172656e666f726e6961000000000000000000000000000000000000000000815250905090565b5f6106f76106f0610f34565b8484610f3b565b6001905092915050565b600c5481565b5f6009600a6107169190612413565b633b9aca00610725919061245d565b905090565b6107326110fe565b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610775573d5f803e3d5ffd5b50565b5f61078484848461117c565b61086684610790610f34565b6108618560045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610818610f34565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119f79092919063ffffffff16565b610f3b565b600190509392505050565b5f6009905090565b600f5481565b60085481565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6004602052805f5260405f205f915090505481565b6109136110fe565b61091c5f611a69565b565b6109266110fe565b6009600a6109349190612413565b633b9aca00610943919061245d565b600f81905550565b600a5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600b81526020017f4b6172656e666f726e6961000000000000000000000000000000000000000000815250905090565b60105481565b5f6109ce6109c7610f34565b848461117c565b6001905092915050565b600b5481565b600e5481565b60075481565b6109f26110fe565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7791906124b2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0091906124b2565b6040518363ffffffff1660e01b8152600401610b1d9291906124dd565b6020604051808303815f875af1158015610b39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5d91906124b2565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c243060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c109190612413565b633b9aca00610c1f919061245d565b610f3b565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064610c6e306108b0565b6062610c7a919061245d565b610c849190612531565b5f80610c8e610951565b426040518863ffffffff1660e01b8152600401610cb0969594939291906125a3565b60606040518083038185885af1158015610ccc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cf19190612616565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d91929190612666565b6020604051808303815f875af1158015610dad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd191906126b7565b506001600660156101000a81548160ff0219169083151502179055506009600a610dfb9190612413565b633b9aca00610e0a919061245d565b600f8190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6003602052805f5260405f205f915054906101000a900460ff1681565b610eba6110fe565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1f90612752565b60405180910390fd5b610f3181611a69565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa0906127e0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611017576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100e9061286e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110f19190612150565b60405180910390a3505050565b611106610f34565b73ffffffffffffffffffffffffffffffffffffffff16611124610951565b73ffffffffffffffffffffffffffffffffffffffff161461117a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611171906128d6565b60405180910390fd5b565b5f600660159054906101000a900460ff16806111de575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61121d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112149061293e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361128b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611282906129cc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f090612a5a565b60405180910390fd5b5f821161133b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133290612ae8565b60405180910390fd5b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156113d9575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117475760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611487575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156114e257600b5f81548092919061149e90612b06565b91905055506114df60646114d1600c54600b54106114be576009546114c2565b6007545b85611b2a90919063ffffffff16565b611ba190919063ffffffff16565b90505b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461158f57600f5482611543856108b0565b61154d9190612b4d565b111561158e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158590612bca565b60405180910390fd5b5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116225761161f6064611611600c54600b54106115fe57600a54611602565b6008545b85611b2a90919063ffffffff16565b611ba190919063ffffffff16565b90505b600660149054906101000a900460ff1615801561164b5750600660159054906101000a900460ff165b80156116a3575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611746575f6116c66116b5306108b0565b6116c160105486611bea565b611bea565b90506116d181611c02565b5f4790505f81111561174357600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611741573d5f803e3d5ffd5b505b50505b5b5f8111156118465761179f8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edd90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161183d9190612150565b60405180910390a35b6118968260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f3a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119396118ed8284611f3a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edd90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119dc8486611f3a90919063ffffffff16565b6040516119e99190612150565b60405180910390a350505050565b5f6002821480611a075750838311155b611a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3d90612c58565b60405180910390fd5b5f60028314611a5e578385611a5b9190612c76565b90505b809150509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611b3a575f9050611b9b565b5f8284611b47919061245d565b9050828482611b569190612531565b14611b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8d90612d19565b60405180910390fd5b809150505b92915050565b5f611be283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f4e565b905092915050565b5f818311611bf85782611bfa565b815b905092915050565b6001600660146101000a81548160ff021916908315150217905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611c81573d5f803e3d5ffd5b5080600e541015611ec0575f600267ffffffffffffffff811115611ca857611ca7612d37565b5b604051908082528060200260200182016040528015611cd65781602001602082028036833780820191505090505b50905030815f81518110611ced57611cec612d64565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611db591906124b2565b81600181518110611dc957611dc8612d64565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2f3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f3b565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e91959493929190612e48565b5f604051808303815f87803b158015611ea8575f80fd5b505af1158015611eba573d5f803e3d5ffd5b50505050505b5f600660146101000a81548160ff02191690831515021790555050565b5f808284611eeb9190612b4d565b905083811015611f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2790612eea565b60405180910390fd5b8091505092915050565b5f611f4683835f6119f7565b905092915050565b5f8083118290611f94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8b919061201f565b60405180910390fd5b505f8385611fa29190612531565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ff182611faf565b611ffb8185611fb9565b935061200b818560208601611fc9565b61201481611fd7565b840191505092915050565b5f6020820190508181035f8301526120378184611fe7565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61206c82612043565b9050919050565b61207c81612062565b8114612086575f80fd5b50565b5f8135905061209781612073565b92915050565b5f819050919050565b6120af8161209d565b81146120b9575f80fd5b50565b5f813590506120ca816120a6565b92915050565b5f80604083850312156120e6576120e561203f565b5b5f6120f385828601612089565b9250506020612104858286016120bc565b9150509250929050565b5f8115159050919050565b6121228161210e565b82525050565b5f60208201905061213b5f830184612119565b92915050565b61214a8161209d565b82525050565b5f6020820190506121635f830184612141565b92915050565b5f805f606084860312156121805761217f61203f565b5b5f61218d86828701612089565b935050602061219e86828701612089565b92505060406121af868287016120bc565b9150509250925092565b5f60ff82169050919050565b6121ce816121b9565b82525050565b5f6020820190506121e75f8301846121c5565b92915050565b5f6121f782612043565b9050919050565b612207816121ed565b82525050565b5f6020820190506122205f8301846121fe565b92915050565b5f6020828403121561223b5761223a61203f565b5b5f61224884828501612089565b91505092915050565b61225a81612062565b82525050565b5f6020820190506122735f830184612251565b92915050565b5f806040838503121561228f5761228e61203f565b5b5f61229c85828601612089565b92505060206122ad85828601612089565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561233957808604811115612315576123146122b7565b5b60018516156123245780820291505b8081029050612332856122e4565b94506122f9565b94509492505050565b5f82612351576001905061240c565b8161235e575f905061240c565b8160018114612374576002811461237e576123ad565b600191505061240c565b60ff8411156123905761238f6122b7565b5b8360020a9150848211156123a7576123a66122b7565b5b5061240c565b5060208310610133831016604e8410600b84101617156123e25782820a9050838111156123dd576123dc6122b7565b5b61240c565b6123ef84848460016122f0565b92509050818404811115612406576124056122b7565b5b81810290505b9392505050565b5f61241d8261209d565b9150612428836121b9565b92506124557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612342565b905092915050565b5f6124678261209d565b91506124728361209d565b92508282026124808161209d565b91508282048414831517612497576124966122b7565b5b5092915050565b5f815190506124ac81612073565b92915050565b5f602082840312156124c7576124c661203f565b5b5f6124d48482850161249e565b91505092915050565b5f6040820190506124f05f830185612251565b6124fd6020830184612251565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61253b8261209d565b91506125468361209d565b92508261255657612555612504565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61258d61258861258384612561565b61256a565b61209d565b9050919050565b61259d81612573565b82525050565b5f60c0820190506125b65f830189612251565b6125c36020830188612141565b6125d06040830187612594565b6125dd6060830186612594565b6125ea6080830185612251565b6125f760a0830184612141565b979650505050505050565b5f81519050612610816120a6565b92915050565b5f805f6060848603121561262d5761262c61203f565b5b5f61263a86828701612602565b935050602061264b86828701612602565b925050604061265c86828701612602565b9150509250925092565b5f6040820190506126795f830185612251565b6126866020830184612141565b9392505050565b6126968161210e565b81146126a0575f80fd5b50565b5f815190506126b18161268d565b92915050565b5f602082840312156126cc576126cb61203f565b5b5f6126d9848285016126a3565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61273c602683611fb9565b9150612747826126e2565b604082019050919050565b5f6020820190508181035f83015261276981612730565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127ca602483611fb9565b91506127d582612770565b604082019050919050565b5f6020820190508181035f8301526127f7816127be565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612858602283611fb9565b9150612863826127fe565b604082019050919050565b5f6020820190508181035f8301526128858161284c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128c0602083611fb9565b91506128cb8261288c565b602082019050919050565b5f6020820190508181035f8301526128ed816128b4565b9050919050565b7f6e6f7420737461727465642079657400000000000000000000000000000000005f82015250565b5f612928600f83611fb9565b9150612933826128f4565b602082019050919050565b5f6020820190508181035f8301526129558161291c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129b6602583611fb9565b91506129c18261295c565b604082019050919050565b5f6020820190508181035f8301526129e3816129aa565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a44602383611fb9565b9150612a4f826129ea565b604082019050919050565b5f6020820190508181035f830152612a7181612a38565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ad2602983611fb9565b9150612add82612a78565b604082019050919050565b5f6020820190508181035f830152612aff81612ac6565b9050919050565b5f612b108261209d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b4257612b416122b7565b5b600182019050919050565b5f612b578261209d565b9150612b628361209d565b9250828201905080821115612b7a57612b796122b7565b5b92915050565b7f4578636565647320746865205f6d6178416d6f756e7453697a652e00000000005f82015250565b5f612bb4601b83611fb9565b9150612bbf82612b80565b602082019050919050565b5f6020820190508181035f830152612be181612ba8565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612c42602883611fb9565b9150612c4d82612be8565b604082019050919050565b5f6020820190508181035f830152612c6f81612c36565b9050919050565b5f612c808261209d565b9150612c8b8361209d565b9250828203905081811115612ca357612ca26122b7565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d03602183611fb9565b9150612d0e82612ca9565b604082019050919050565b5f6020820190508181035f830152612d3081612cf7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612dc381612062565b82525050565b5f612dd48383612dba565b60208301905092915050565b5f602082019050919050565b5f612df682612d91565b612e008185612d9b565b9350612e0b83612dab565b805f5b83811015612e3b578151612e228882612dc9565b9750612e2d83612de0565b925050600181019050612e0e565b5085935050505092915050565b5f60a082019050612e5b5f830188612141565b612e686020830187612594565b8181036040830152612e7a8186612dec565b9050612e896060830185612251565b612e966080830184612141565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ed4601b83611fb9565b9150612edf82612ea0565b602082019050919050565b5f6020820190508181035f830152612f0181612ec8565b905091905056fea264697066735822122036cb044bf78216ebf11a11b2d5f8dc4ba0ee054bfe6538bfc1ba057b651e1f7364736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061019f575f3560e01c8063715018a6116100eb578063acbb87b111610089578063c9567bf911610063578063c9567bf9146105f1578063dd62ed3e14610607578063e3c1d22214610643578063f2fde38b1461067f57610209565b8063acbb87b114610573578063b2e7fa981461059d578063c6ca32c8146105c757610209565b80638da5cb5b116100c55780638da5cb5b146104b957806395d89b41146104e3578063a666ec1c1461050d578063a9059cbb1461053757610209565b8063715018a614610463578063751039fc1461047957806377fb2d351461048f57610209565b8063313ce567116101585780635970e768116101325780635970e76814610397578063644d11a9146103c157806370a08231146103eb57806370f64a321461042757610209565b8063313ce5671461031957806344419df5146103435780634807e4011461036d57610209565b806306fdde031461020d578063095ea7b3146102375780630ece72aa1461027357806318160ddd1461029d57806320800a00146102c757806323b872dd146102dd57610209565b3661020957600260045f600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055005b5f80fd5b348015610218575f80fd5b506102216106a7565b60405161022e919061201f565b60405180910390f35b348015610242575f80fd5b5061025d600480360381019061025891906120d0565b6106e4565b60405161026a9190612128565b60405180910390f35b34801561027e575f80fd5b50610287610701565b6040516102949190612150565b60405180910390f35b3480156102a8575f80fd5b506102b1610707565b6040516102be9190612150565b60405180910390f35b3480156102d2575f80fd5b506102db61072a565b005b3480156102e8575f80fd5b5061030360048036038101906102fe9190612169565b610778565b6040516103109190612128565b60405180910390f35b348015610324575f80fd5b5061032d610871565b60405161033a91906121d4565b60405180910390f35b34801561034e575f80fd5b50610357610879565b6040516103649190612150565b60405180910390f35b348015610378575f80fd5b5061038161087f565b60405161038e9190612150565b60405180910390f35b3480156103a2575f80fd5b506103ab610885565b6040516103b8919061220d565b60405180910390f35b3480156103cc575f80fd5b506103d56108aa565b6040516103e29190612150565b60405180910390f35b3480156103f6575f80fd5b50610411600480360381019061040c9190612226565b6108b0565b60405161041e9190612150565b60405180910390f35b348015610432575f80fd5b5061044d60048036038101906104489190612226565b6108f6565b60405161045a9190612150565b60405180910390f35b34801561046e575f80fd5b5061047761090b565b005b348015610484575f80fd5b5061048d61091e565b005b34801561049a575f80fd5b506104a361094b565b6040516104b09190612150565b60405180910390f35b3480156104c4575f80fd5b506104cd610951565b6040516104da9190612260565b60405180910390f35b3480156104ee575f80fd5b506104f7610978565b604051610504919061201f565b60405180910390f35b348015610518575f80fd5b506105216109b5565b60405161052e9190612150565b60405180910390f35b348015610542575f80fd5b5061055d600480360381019061055891906120d0565b6109bb565b60405161056a9190612128565b60405180910390f35b34801561057e575f80fd5b506105876109d8565b6040516105949190612150565b60405180910390f35b3480156105a8575f80fd5b506105b16109de565b6040516105be9190612150565b60405180910390f35b3480156105d2575f80fd5b506105db6109e4565b6040516105e89190612150565b60405180910390f35b3480156105fc575f80fd5b506106056109ea565b005b348015610612575f80fd5b5061062d60048036038101906106289190612279565b610e13565b60405161063a9190612150565b60405180910390f35b34801561064e575f80fd5b5061066960048036038101906106649190612226565b610e95565b6040516106769190612128565b60405180910390f35b34801561068a575f80fd5b506106a560048036038101906106a09190612226565b610eb2565b005b60606040518060400160405280600b81526020017f4b6172656e666f726e6961000000000000000000000000000000000000000000815250905090565b5f6106f76106f0610f34565b8484610f3b565b6001905092915050565b600c5481565b5f6009600a6107169190612413565b633b9aca00610725919061245d565b905090565b6107326110fe565b3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610775573d5f803e3d5ffd5b50565b5f61078484848461117c565b61086684610790610f34565b6108618560045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610818610f34565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119f79092919063ffffffff16565b610f3b565b600190509392505050565b5f6009905090565b600f5481565b60085481565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6004602052805f5260405f205f915090505481565b6109136110fe565b61091c5f611a69565b565b6109266110fe565b6009600a6109349190612413565b633b9aca00610943919061245d565b600f81905550565b600a5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600b81526020017f4b6172656e666f726e6961000000000000000000000000000000000000000000815250905090565b60105481565b5f6109ce6109c7610f34565b848461117c565b6001905092915050565b600b5481565b600e5481565b60075481565b6109f26110fe565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7791906124b2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610adc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0091906124b2565b6040518363ffffffff1660e01b8152600401610b1d9291906124dd565b6020604051808303815f875af1158015610b39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5d91906124b2565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c243060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c109190612413565b633b9aca00610c1f919061245d565b610f3b565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064610c6e306108b0565b6062610c7a919061245d565b610c849190612531565b5f80610c8e610951565b426040518863ffffffff1660e01b8152600401610cb0969594939291906125a3565b60606040518083038185885af1158015610ccc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cf19190612616565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d91929190612666565b6020604051808303815f875af1158015610dad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd191906126b7565b506001600660156101000a81548160ff0219169083151502179055506009600a610dfb9190612413565b633b9aca00610e0a919061245d565b600f8190555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6003602052805f5260405f205f915054906101000a900460ff1681565b610eba6110fe565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1f90612752565b60405180910390fd5b610f3181611a69565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa0906127e0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611017576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100e9061286e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110f19190612150565b60405180910390a3505050565b611106610f34565b73ffffffffffffffffffffffffffffffffffffffff16611124610951565b73ffffffffffffffffffffffffffffffffffffffff161461117a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611171906128d6565b60405180910390fd5b565b5f600660159054906101000a900460ff16806111de575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61121d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112149061293e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361128b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611282906129cc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f090612a5a565b60405180910390fd5b5f821161133b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133290612ae8565b60405180910390fd5b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156113d9575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156117475760055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611487575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156114e257600b5f81548092919061149e90612b06565b91905055506114df60646114d1600c54600b54106114be576009546114c2565b6007545b85611b2a90919063ffffffff16565b611ba190919063ffffffff16565b90505b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461158f57600f5482611543856108b0565b61154d9190612b4d565b111561158e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158590612bca565b60405180910390fd5b5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116225761161f6064611611600c54600b54106115fe57600a54611602565b6008545b85611b2a90919063ffffffff16565b611ba190919063ffffffff16565b90505b600660149054906101000a900460ff1615801561164b5750600660159054906101000a900460ff165b80156116a3575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611746575f6116c66116b5306108b0565b6116c160105486611bea565b611bea565b90506116d181611c02565b5f4790505f81111561174357600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611741573d5f803e3d5ffd5b505b50505b5b5f8111156118465761179f8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edd90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161183d9190612150565b60405180910390a35b6118968260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f3a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119396118ed8284611f3a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611edd90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119dc8486611f3a90919063ffffffff16565b6040516119e99190612150565b60405180910390a350505050565b5f6002821480611a075750838311155b611a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3d90612c58565b60405180910390fd5b5f60028314611a5e578385611a5b9190612c76565b90505b809150509392505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303611b3a575f9050611b9b565b5f8284611b47919061245d565b9050828482611b569190612531565b14611b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8d90612d19565b60405180910390fd5b809150505b92915050565b5f611be283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f4e565b905092915050565b5f818311611bf85782611bfa565b815b905092915050565b6001600660146101000a81548160ff021916908315150217905550600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611c81573d5f803e3d5ffd5b5080600e541015611ec0575f600267ffffffffffffffff811115611ca857611ca7612d37565b5b604051908082528060200260200182016040528015611cd65781602001602082028036833780820191505090505b50905030815f81518110611ced57611cec612d64565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611db591906124b2565b81600181518110611dc957611dc8612d64565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2f3060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f3b565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e91959493929190612e48565b5f604051808303815f87803b158015611ea8575f80fd5b505af1158015611eba573d5f803e3d5ffd5b50505050505b5f600660146101000a81548160ff02191690831515021790555050565b5f808284611eeb9190612b4d565b905083811015611f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2790612eea565b60405180910390fd5b8091505092915050565b5f611f4683835f6119f7565b905092915050565b5f8083118290611f94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8b919061201f565b60405180910390fd5b505f8385611fa29190612531565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ff182611faf565b611ffb8185611fb9565b935061200b818560208601611fc9565b61201481611fd7565b840191505092915050565b5f6020820190508181035f8301526120378184611fe7565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61206c82612043565b9050919050565b61207c81612062565b8114612086575f80fd5b50565b5f8135905061209781612073565b92915050565b5f819050919050565b6120af8161209d565b81146120b9575f80fd5b50565b5f813590506120ca816120a6565b92915050565b5f80604083850312156120e6576120e561203f565b5b5f6120f385828601612089565b9250506020612104858286016120bc565b9150509250929050565b5f8115159050919050565b6121228161210e565b82525050565b5f60208201905061213b5f830184612119565b92915050565b61214a8161209d565b82525050565b5f6020820190506121635f830184612141565b92915050565b5f805f606084860312156121805761217f61203f565b5b5f61218d86828701612089565b935050602061219e86828701612089565b92505060406121af868287016120bc565b9150509250925092565b5f60ff82169050919050565b6121ce816121b9565b82525050565b5f6020820190506121e75f8301846121c5565b92915050565b5f6121f782612043565b9050919050565b612207816121ed565b82525050565b5f6020820190506122205f8301846121fe565b92915050565b5f6020828403121561223b5761223a61203f565b5b5f61224884828501612089565b91505092915050565b61225a81612062565b82525050565b5f6020820190506122735f830184612251565b92915050565b5f806040838503121561228f5761228e61203f565b5b5f61229c85828601612089565b92505060206122ad85828601612089565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561233957808604811115612315576123146122b7565b5b60018516156123245780820291505b8081029050612332856122e4565b94506122f9565b94509492505050565b5f82612351576001905061240c565b8161235e575f905061240c565b8160018114612374576002811461237e576123ad565b600191505061240c565b60ff8411156123905761238f6122b7565b5b8360020a9150848211156123a7576123a66122b7565b5b5061240c565b5060208310610133831016604e8410600b84101617156123e25782820a9050838111156123dd576123dc6122b7565b5b61240c565b6123ef84848460016122f0565b92509050818404811115612406576124056122b7565b5b81810290505b9392505050565b5f61241d8261209d565b9150612428836121b9565b92506124557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612342565b905092915050565b5f6124678261209d565b91506124728361209d565b92508282026124808161209d565b91508282048414831517612497576124966122b7565b5b5092915050565b5f815190506124ac81612073565b92915050565b5f602082840312156124c7576124c661203f565b5b5f6124d48482850161249e565b91505092915050565b5f6040820190506124f05f830185612251565b6124fd6020830184612251565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61253b8261209d565b91506125468361209d565b92508261255657612555612504565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61258d61258861258384612561565b61256a565b61209d565b9050919050565b61259d81612573565b82525050565b5f60c0820190506125b65f830189612251565b6125c36020830188612141565b6125d06040830187612594565b6125dd6060830186612594565b6125ea6080830185612251565b6125f760a0830184612141565b979650505050505050565b5f81519050612610816120a6565b92915050565b5f805f6060848603121561262d5761262c61203f565b5b5f61263a86828701612602565b935050602061264b86828701612602565b925050604061265c86828701612602565b9150509250925092565b5f6040820190506126795f830185612251565b6126866020830184612141565b9392505050565b6126968161210e565b81146126a0575f80fd5b50565b5f815190506126b18161268d565b92915050565b5f602082840312156126cc576126cb61203f565b5b5f6126d9848285016126a3565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61273c602683611fb9565b9150612747826126e2565b604082019050919050565b5f6020820190508181035f83015261276981612730565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127ca602483611fb9565b91506127d582612770565b604082019050919050565b5f6020820190508181035f8301526127f7816127be565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612858602283611fb9565b9150612863826127fe565b604082019050919050565b5f6020820190508181035f8301526128858161284c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128c0602083611fb9565b91506128cb8261288c565b602082019050919050565b5f6020820190508181035f8301526128ed816128b4565b9050919050565b7f6e6f7420737461727465642079657400000000000000000000000000000000005f82015250565b5f612928600f83611fb9565b9150612933826128f4565b602082019050919050565b5f6020820190508181035f8301526129558161291c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129b6602583611fb9565b91506129c18261295c565b604082019050919050565b5f6020820190508181035f8301526129e3816129aa565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a44602383611fb9565b9150612a4f826129ea565b604082019050919050565b5f6020820190508181035f830152612a7181612a38565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ad2602983611fb9565b9150612add82612a78565b604082019050919050565b5f6020820190508181035f830152612aff81612ac6565b9050919050565b5f612b108261209d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b4257612b416122b7565b5b600182019050919050565b5f612b578261209d565b9150612b628361209d565b9250828201905080821115612b7a57612b796122b7565b5b92915050565b7f4578636565647320746865205f6d6178416d6f756e7453697a652e00000000005f82015250565b5f612bb4601b83611fb9565b9150612bbf82612b80565b602082019050919050565b5f6020820190508181035f830152612be181612ba8565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f612c42602883611fb9565b9150612c4d82612be8565b604082019050919050565b5f6020820190508181035f830152612c6f81612c36565b9050919050565b5f612c808261209d565b9150612c8b8361209d565b9250828203905081811115612ca357612ca26122b7565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d03602183611fb9565b9150612d0e82612ca9565b604082019050919050565b5f6020820190508181035f830152612d3081612cf7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612dc381612062565b82525050565b5f612dd48383612dba565b60208301905092915050565b5f602082019050919050565b5f612df682612d91565b612e008185612d9b565b9350612e0b83612dab565b805f5b83811015612e3b578151612e228882612dc9565b9750612e2d83612de0565b925050600181019050612e0e565b5085935050505092915050565b5f60a082019050612e5b5f830188612141565b612e686020830187612594565b8181036040830152612e7a8186612dec565b9050612e896060830185612251565b612e966080830184612141565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ed4601b83611fb9565b9150612edf82612ea0565b602082019050919050565b5f6020820190508181035f830152612f0181612ec8565b905091905056fea264697066735822122036cb044bf78216ebf11a11b2d5f8dc4ba0ee054bfe6538bfc1ba057b651e1f7364736f6c634300081a0033

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.