ETH Price: $3,325.65 (+3.18%)

Contract

0x929B3F5569197939c7AB6619E14645C4F1112fc5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve201420512024-06-21 19:01:59214 days ago1718996519IN
0x929B3F55...4F1112fc5
0 ETH0.000430249.12919142
Approve200533452024-06-09 9:22:47226 days ago1717924967IN
0x929B3F55...4F1112fc5
0 ETH0.000225894.78703946
Transfer200533222024-06-09 9:18:11226 days ago1717924691IN
0x929B3F55...4F1112fc5
0 ETH0.00026693.51070137
Approve198123822024-05-06 16:58:47260 days ago1715014727IN
0x929B3F55...4F1112fc5
0 ETH0.000388128.23560986
Approve197556722024-04-28 18:41:47268 days ago1714329707IN
0x929B3F55...4F1112fc5
0 ETH0.000346857.35989723
Approve195816292024-04-04 9:52:23292 days ago1712224343IN
0x929B3F55...4F1112fc5
0 ETH0.0010160221.69686526
Approve191573172024-02-04 20:27:59352 days ago1707078479IN
0x929B3F55...4F1112fc5
0 ETH0.0007969916.91138409
Approve190623182024-01-22 12:36:47365 days ago1705927007IN
0x929B3F55...4F1112fc5
0 ETH0.0007229415.3399672
Approve189110322024-01-01 7:12:59386 days ago1704093179IN
0x929B3F55...4F1112fc5
0 ETH0.000213138.57880148
Approve188671142023-12-26 3:13:11392 days ago1703560391IN
0x929B3F55...4F1112fc5
0 ETH0.0005846112.38902978
Approve188511762023-12-23 21:25:59395 days ago1703366759IN
0x929B3F55...4F1112fc5
0 ETH0.0005086220.42360403
Transfer188382012023-12-22 1:45:23396 days ago1703209523IN
0x929B3F55...4F1112fc5
0 ETH0.0021314729.92041018
Approve188291092023-12-20 19:10:47398 days ago1703099447IN
0x929B3F55...4F1112fc5
0 ETH0.0024121551.51098739
Approve188281462023-12-20 15:54:35398 days ago1703087675IN
0x929B3F55...4F1112fc5
0 ETH0.0027905959.5923847
Approve188281042023-12-20 15:46:11398 days ago1703087171IN
0x929B3F55...4F1112fc5
0 ETH0.0031216866.23848205
Approve188278002023-12-20 14:45:23398 days ago1703083523IN
0x929B3F55...4F1112fc5
0 ETH0.0033866371.86025518
Approve188275762023-12-20 14:00:35398 days ago1703080835IN
0x929B3F55...4F1112fc5
0 ETH0.0031339466.49861174
Approve188274232023-12-20 13:29:35398 days ago1703078975IN
0x929B3F55...4F1112fc5
0 ETH0.0019723866.34766972
Approve188273922023-12-20 13:23:23398 days ago1703078603IN
0x929B3F55...4F1112fc5
0 ETH0.0036891778.28
Transfer188264232023-12-20 10:07:35398 days ago1703066855IN
0x929B3F55...4F1112fc5
0 ETH0.0043439780.25662627
Approve188261452023-12-20 9:11:47398 days ago1703063507IN
0x929B3F55...4F1112fc5
0 ETH0.0031931767.66923446
Transfer188260732023-12-20 8:57:11398 days ago1703062631IN
0x929B3F55...4F1112fc5
0 ETH0.0038358365.10903941
Transfer188260702023-12-20 8:56:35398 days ago1703062595IN
0x929B3F55...4F1112fc5
0 ETH0.003612466.74070888
Approve188260302023-12-20 8:48:23398 days ago1703062103IN
0x929B3F55...4F1112fc5
0 ETH0.0033714171.44649523
Transfer188260222023-12-20 8:46:47398 days ago1703062007IN
0x929B3F55...4F1112fc5
0 ETH0.0043341680.09318846
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
197556752024-04-28 18:42:23268 days ago1714329743
0x929B3F55...4F1112fc5
0.03305747 ETH
197556752024-04-28 18:42:23268 days ago1714329743
0x929B3F55...4F1112fc5
0.00614095 ETH
188744442023-12-27 3:52:11391 days ago1703649131
0x929B3F55...4F1112fc5
0.01241405 ETH
188286812023-12-20 17:44:23398 days ago1703094263
0x929B3F55...4F1112fc5
0.01450246 ETH
188274262023-12-20 13:30:11398 days ago1703079011
0x929B3F55...4F1112fc5
0.04930073 ETH
188274262023-12-20 13:30:11398 days ago1703079011
0x929B3F55...4F1112fc5
0.02234453 ETH
188262162023-12-20 9:25:59398 days ago1703064359
0x929B3F55...4F1112fc5
0.02695619 ETH
188240152023-12-20 2:00:23398 days ago1703037623
0x929B3F55...4F1112fc5
0.04571511 ETH
188240152023-12-20 2:00:23398 days ago1703037623
0x929B3F55...4F1112fc5
0.04571511 ETH
188233472023-12-19 23:45:59399 days ago1703029559
0x929B3F55...4F1112fc5
0.05816536 ETH
188233472023-12-19 23:45:59399 days ago1703029559
0x929B3F55...4F1112fc5
0.05816536 ETH
188189842023-12-19 9:02:47399 days ago1702976567
0x929B3F55...4F1112fc5
0.06224579 ETH
188189842023-12-19 9:02:47399 days ago1702976567
0x929B3F55...4F1112fc5
0.06224579 ETH
188165872023-12-19 0:56:47399 days ago1702947407
0x929B3F55...4F1112fc5
0.1596449 ETH
188165872023-12-19 0:56:47399 days ago1702947407
0x929B3F55...4F1112fc5
0.13784353 ETH
188158572023-12-18 22:30:35400 days ago1702938635
0x929B3F55...4F1112fc5
0.02180137 ETH
188144102023-12-18 17:38:59400 days ago1702921139
0x929B3F55...4F1112fc5
0.10250385 ETH
188144102023-12-18 17:38:59400 days ago1702921139
0x929B3F55...4F1112fc5
0.10250385 ETH
188129672023-12-18 12:46:59400 days ago1702903619
0x929B3F55...4F1112fc5
0.0420525 ETH
188129672023-12-18 12:46:59400 days ago1702903619
0x929B3F55...4F1112fc5
0.0420525 ETH
188122852023-12-18 10:28:59400 days ago1702895339
0x929B3F55...4F1112fc5
0.03049841 ETH
188122852023-12-18 10:28:59400 days ago1702895339
0x929B3F55...4F1112fc5
0.03049841 ETH
188117272023-12-18 8:35:59400 days ago1702888559
0x929B3F55...4F1112fc5
0.08298616 ETH
188117272023-12-18 8:35:59400 days ago1702888559
0x929B3F55...4F1112fc5
0.08298616 ETH
188115452023-12-18 7:59:11400 days ago1702886351
0x929B3F55...4F1112fc5
0.03646295 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SITDAO

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

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

https://t.me/sitdao
https://sitdao.com
https://sitdao.gitbook.io/sitdao/social-engagement-rewards
https://x.com/sitdao_eth

**/


pragma solidity 0.8.20;

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, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 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;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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 SITDAO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=5;
    uint256 private _finalSellTax=5;
    uint256 private _reduceBuyTaxAt=35;
    uint256 private _reduceSellTaxAt=35;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"SIT";
    string private constant _symbol = unicode"SIT";
    uint256 public _maxTxAmount = 1000000 * 10**_decimals;
    uint256 public _maxWalletSize = 1000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 500000 * 10**_decimals;
    uint256 public _maxTaxSwap= 500000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0xe7b8080678119d752426C47e0913697B17860693);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

    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, "ERC20: transfer amount exceeds allowance"));
        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 {
        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 (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 30000000000000000) {
                    sendETHToFee(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 swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }


    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }

    function manualSend() external {
        uint256 ethBalance=address(this).balance;
          sendETHToFee(ethBalance);
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600160065f6101000a81548160ff0219169083151502179055506014600755601460085560056009556005600a556023600b556023600c556005600d555f600e556009600a62000055919062000611565b620f424062000065919062000661565b600f556009600a62000078919062000611565b620f424062000088919062000661565b6010556009600a6200009b919062000611565b6207a120620000ab919062000661565b6011556009600a620000be919062000611565b6207a120620000ce919062000661565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff02191690831515021790555034801562000111575f80fd5b505f620001236200045160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073e7b8080678119d752426c47e0913697b17860693600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000224919062000611565b6305f5e10062000235919062000661565b60015f620002486200045160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200029a6200045860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003c56200045160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000423919062000611565b6305f5e10062000434919062000661565b604051620004439190620006bc565b60405180910390a3620006d7565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050957808604811115620004e157620004e06200047f565b5b6001851615620004f15780820291505b80810290506200050185620004ac565b9450620004c1565b94509492505050565b5f82620005235760019050620005f5565b8162000532575f9050620005f5565b81600181146200054b576002811462000556576200058c565b6001915050620005f5565b60ff8411156200056b576200056a6200047f565b5b8360020a9150848211156200058557620005846200047f565b5b50620005f5565b5060208310610133831016604e8410600b8410161715620005c65782820a905083811115620005c057620005bf6200047f565b5b620005f5565b620005d58484846001620004b8565b92509050818404811115620005ef57620005ee6200047f565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061d82620005fc565b91506200062a8362000605565b9250620006597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000512565b905092915050565b5f6200066d82620005fc565b91506200067a83620005fc565b92508282026200068a81620005fc565b91508282048414831517620006a457620006a36200047f565b5b5092915050565b620006b681620005fc565b82525050565b5f602082019050620006d15f830184620006ab565b92915050565b612f8780620006e55f395ff3fe608060405260043610610122575f3560e01c80637d1db4a51161009f578063bf474bed11610063578063bf474bed146103af578063c876d0b9146103d9578063c9567bf914610403578063dd62ed3e14610419578063f42938901461045557610129565b80637d1db4a5146102cb5780638da5cb5b146102f55780638f9a55c01461031f57806395d89b4114610349578063a9059cbb1461037357610129565b8063313ce567116100e6578063313ce5671461022357806351bc3c851461024d57806370a0823114610263578063715018a61461029f578063751039fc146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161046b565b60405161014e9190612079565b60405180910390f35b348015610162575f80fd5b5061017d6004803603810190610178919061212a565b6104a8565b60405161018a9190612182565b60405180910390f35b34801561019e575f80fd5b506101a76104c5565b6040516101b491906121aa565b60405180910390f35b3480156101c8575f80fd5b506101d16104cb565b6040516101de91906121aa565b60405180910390f35b3480156101f2575f80fd5b5061020d600480360381019061020891906121c3565b6104ee565b60405161021a9190612182565b60405180910390f35b34801561022e575f80fd5b506102376105c2565b604051610244919061222e565b60405180910390f35b348015610258575f80fd5b506102616105ca565b005b34801561026e575f80fd5b5061028960048036038101906102849190612247565b610662565b60405161029691906121aa565b60405180910390f35b3480156102aa575f80fd5b506102b36106a8565b005b3480156102c0575f80fd5b506102c96107f6565b005b3480156102d6575f80fd5b506102df61093e565b6040516102ec91906121aa565b60405180910390f35b348015610300575f80fd5b50610309610944565b6040516103169190612281565b60405180910390f35b34801561032a575f80fd5b5061033361096b565b60405161034091906121aa565b60405180910390f35b348015610354575f80fd5b5061035d610971565b60405161036a9190612079565b60405180910390f35b34801561037e575f80fd5b506103996004803603810190610394919061212a565b6109ae565b6040516103a69190612182565b60405180910390f35b3480156103ba575f80fd5b506103c36109cb565b6040516103d091906121aa565b60405180910390f35b3480156103e4575f80fd5b506103ed6109d1565b6040516103fa9190612182565b60405180910390f35b34801561040e575f80fd5b506104176109e3565b005b348015610424575f80fd5b5061043f600480360381019061043a919061229a565b610f02565b60405161044c91906121aa565b60405180910390f35b348015610460575f80fd5b50610469610f84565b005b60606040518060400160405280600381526020017f5349540000000000000000000000000000000000000000000000000000000000815250905090565b5f6104bb6104b4610f94565b8484610f9b565b6001905092915050565b60125481565b5f6009600a6104da9190612434565b6305f5e1006104e9919061247e565b905090565b5f6104fa84848461115e565b6105b784610506610f94565b6105b285604051806060016040528060288152602001612f2a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610569610f94565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ada9092919063ffffffff16565b610f9b565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661060b610f94565b73ffffffffffffffffffffffffffffffffffffffff161461062a575f80fd5b5f61063430610662565b90505f8111156106485761064781611b3c565b5b5f4790505f81111561065e5761065d81611da7565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106b0610f94565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073390612509565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107fe610f94565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088190612509565b60405180910390fd5b6009600a6108989190612434565b6305f5e1006108a7919061247e565b600f819055506009600a6108bb9190612434565b6305f5e1006108ca919061247e565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109189190612434565b6305f5e100610927919061247e565b60405161093491906121aa565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600381526020017f5349540000000000000000000000000000000000000000000000000000000000815250905090565b5f6109c16109ba610f94565b848461115e565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b6109eb610f94565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6e90612509565b60405180910390fd5b60148054906101000a900460ff1615610ac5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abc90612571565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b613060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b4d9190612434565b6305f5e100610b5c919061247e565b610f9b565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bef91906125a3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9991906125a3565b6040518363ffffffff1660e01b8152600401610cb69291906125ce565b6020604051808303815f875af1158015610cd2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf691906125a3565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d7d30610662565b5f80610d87610944565b426040518863ffffffff1660e01b8152600401610da996959493929190612637565b60606040518083038185885af1158015610dc5573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dea91906126aa565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e8a9291906126fa565b6020604051808303815f875af1158015610ea6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eca919061274b565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f479050610f9181611da7565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611009576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611000906127e6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106e90612874565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161115191906121aa565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c390612902565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361123a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123190612990565b60405180910390fd5b5f811161127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390612a1e565b60405180910390fd5b5f611285610944565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112f357506112c3610944565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561182a576113346064611326600b54600e541161131357600754611317565b6009545b85611e1090919063ffffffff16565b611e8790919063ffffffff16565b905060065f9054906101000a900460ff16156114bc5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113f4575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114bb574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146f90612ad2565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611565575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115b8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561167257600f54821115611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f990612b3a565b60405180910390fd5b6010548261160f85610662565b6116199190612b58565b111561165a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165190612bd5565b60405180910390fd5b600e5f81548092919061166c90612bf3565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116fa57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561173e5761173b606461172d600c54600e541161171a5760085461171e565b600a545b85611e1090919063ffffffff16565b611e8790919063ffffffff16565b90505b5f61174830610662565b9050601460159054906101000a900460ff161580156117b3575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117cb5750601460169054906101000a900460ff165b80156117d8575060115481115b80156117e75750600d54600e54115b1561182857611809611804846117ff84601254611ed0565b611ed0565b611b3c565b5f479050666a94d74f4300008111156118265761182547611da7565b5b505b505b5f811115611929576118828160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ee890919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161192091906121aa565b60405180910390a35b6119798260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f4590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a1c6119d08284611f4590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ee890919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611abf8486611f4590919063ffffffff16565b604051611acc91906121aa565b60405180910390a350505050565b5f838311158290611b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b189190612079565b60405180910390fd5b505f8385611b2f9190612c3a565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b7357611b72612c6d565b5b604051908082528060200260200182016040528015611ba15781602001602082028036833780820191505090505b50905030815f81518110611bb857611bb7612c9a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c8091906125a3565b81600181518110611c9457611c93612c9a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cfa3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f9b565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d5c959493929190612d7e565b5f604051808303815f87803b158015611d73575f80fd5b505af1158015611d85573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e0c573d5f803e3d5ffd5b5050565b5f808303611e20575f9050611e81565b5f8284611e2d919061247e565b9050828482611e3c9190612e03565b14611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7390612ea3565b60405180910390fd5b809150505b92915050565b5f611ec883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f8e565b905092915050565b5f818311611ede5782611ee0565b815b905092915050565b5f808284611ef69190612b58565b905083811015611f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3290612f0b565b60405180910390fd5b8091505092915050565b5f611f8683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ada565b905092915050565b5f8083118290611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb9190612079565b60405180910390fd5b505f8385611fe29190612e03565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561202657808201518184015260208101905061200b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61204b82611fef565b6120558185611ff9565b9350612065818560208601612009565b61206e81612031565b840191505092915050565b5f6020820190508181035f8301526120918184612041565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120c68261209d565b9050919050565b6120d6816120bc565b81146120e0575f80fd5b50565b5f813590506120f1816120cd565b92915050565b5f819050919050565b612109816120f7565b8114612113575f80fd5b50565b5f8135905061212481612100565b92915050565b5f80604083850312156121405761213f612099565b5b5f61214d858286016120e3565b925050602061215e85828601612116565b9150509250929050565b5f8115159050919050565b61217c81612168565b82525050565b5f6020820190506121955f830184612173565b92915050565b6121a4816120f7565b82525050565b5f6020820190506121bd5f83018461219b565b92915050565b5f805f606084860312156121da576121d9612099565b5b5f6121e7868287016120e3565b93505060206121f8868287016120e3565b925050604061220986828701612116565b9150509250925092565b5f60ff82169050919050565b61222881612213565b82525050565b5f6020820190506122415f83018461221f565b92915050565b5f6020828403121561225c5761225b612099565b5b5f612269848285016120e3565b91505092915050565b61227b816120bc565b82525050565b5f6020820190506122945f830184612272565b92915050565b5f80604083850312156122b0576122af612099565b5b5f6122bd858286016120e3565b92505060206122ce858286016120e3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561235a57808604811115612336576123356122d8565b5b60018516156123455780820291505b808102905061235385612305565b945061231a565b94509492505050565b5f82612372576001905061242d565b8161237f575f905061242d565b8160018114612395576002811461239f576123ce565b600191505061242d565b60ff8411156123b1576123b06122d8565b5b8360020a9150848211156123c8576123c76122d8565b5b5061242d565b5060208310610133831016604e8410600b84101617156124035782820a9050838111156123fe576123fd6122d8565b5b61242d565b6124108484846001612311565b92509050818404811115612427576124266122d8565b5b81810290505b9392505050565b5f61243e826120f7565b915061244983612213565b92506124767fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612363565b905092915050565b5f612488826120f7565b9150612493836120f7565b92508282026124a1816120f7565b915082820484148315176124b8576124b76122d8565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124f3602083611ff9565b91506124fe826124bf565b602082019050919050565b5f6020820190508181035f830152612520816124e7565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61255b601783611ff9565b915061256682612527565b602082019050919050565b5f6020820190508181035f8301526125888161254f565b9050919050565b5f8151905061259d816120cd565b92915050565b5f602082840312156125b8576125b7612099565b5b5f6125c58482850161258f565b91505092915050565b5f6040820190506125e15f830185612272565b6125ee6020830184612272565b9392505050565b5f819050919050565b5f819050919050565b5f61262161261c612617846125f5565b6125fe565b6120f7565b9050919050565b61263181612607565b82525050565b5f60c08201905061264a5f830189612272565b612657602083018861219b565b6126646040830187612628565b6126716060830186612628565b61267e6080830185612272565b61268b60a083018461219b565b979650505050505050565b5f815190506126a481612100565b92915050565b5f805f606084860312156126c1576126c0612099565b5b5f6126ce86828701612696565b93505060206126df86828701612696565b92505060406126f086828701612696565b9150509250925092565b5f60408201905061270d5f830185612272565b61271a602083018461219b565b9392505050565b61272a81612168565b8114612734575f80fd5b50565b5f8151905061274581612721565b92915050565b5f602082840312156127605761275f612099565b5b5f61276d84828501612737565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127d0602483611ff9565b91506127db82612776565b604082019050919050565b5f6020820190508181035f8301526127fd816127c4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61285e602283611ff9565b915061286982612804565b604082019050919050565b5f6020820190508181035f83015261288b81612852565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128ec602583611ff9565b91506128f782612892565b604082019050919050565b5f6020820190508181035f830152612919816128e0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61297a602383611ff9565b915061298582612920565b604082019050919050565b5f6020820190508181035f8301526129a78161296e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a08602983611ff9565b9150612a13826129ae565b604082019050919050565b5f6020820190508181035f830152612a35816129fc565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612abc604983611ff9565b9150612ac782612a3c565b606082019050919050565b5f6020820190508181035f830152612ae981612ab0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b24601983611ff9565b9150612b2f82612af0565b602082019050919050565b5f6020820190508181035f830152612b5181612b18565b9050919050565b5f612b62826120f7565b9150612b6d836120f7565b9250828201905080821115612b8557612b846122d8565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612bbf601a83611ff9565b9150612bca82612b8b565b602082019050919050565b5f6020820190508181035f830152612bec81612bb3565b9050919050565b5f612bfd826120f7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c2f57612c2e6122d8565b5b600182019050919050565b5f612c44826120f7565b9150612c4f836120f7565b9250828203905081811115612c6757612c666122d8565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cf9816120bc565b82525050565b5f612d0a8383612cf0565b60208301905092915050565b5f602082019050919050565b5f612d2c82612cc7565b612d368185612cd1565b9350612d4183612ce1565b805f5b83811015612d71578151612d588882612cff565b9750612d6383612d16565b925050600181019050612d44565b5085935050505092915050565b5f60a082019050612d915f83018861219b565b612d9e6020830187612628565b8181036040830152612db08186612d22565b9050612dbf6060830185612272565b612dcc608083018461219b565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e0d826120f7565b9150612e18836120f7565b925082612e2857612e27612dd6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e8d602183611ff9565b9150612e9882612e33565b604082019050919050565b5f6020820190508181035f830152612eba81612e81565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ef5601b83611ff9565b9150612f0082612ec1565b602082019050919050565b5f6020820190508181035f830152612f2281612ee9565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201ac05432ce6c30656921893ede364c17c250868c72c96b3655a40b06f61ebc6764736f6c63430008140033

Deployed Bytecode

0x608060405260043610610122575f3560e01c80637d1db4a51161009f578063bf474bed11610063578063bf474bed146103af578063c876d0b9146103d9578063c9567bf914610403578063dd62ed3e14610419578063f42938901461045557610129565b80637d1db4a5146102cb5780638da5cb5b146102f55780638f9a55c01461031f57806395d89b4114610349578063a9059cbb1461037357610129565b8063313ce567116100e6578063313ce5671461022357806351bc3c851461024d57806370a0823114610263578063715018a61461029f578063751039fc146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161046b565b60405161014e9190612079565b60405180910390f35b348015610162575f80fd5b5061017d6004803603810190610178919061212a565b6104a8565b60405161018a9190612182565b60405180910390f35b34801561019e575f80fd5b506101a76104c5565b6040516101b491906121aa565b60405180910390f35b3480156101c8575f80fd5b506101d16104cb565b6040516101de91906121aa565b60405180910390f35b3480156101f2575f80fd5b5061020d600480360381019061020891906121c3565b6104ee565b60405161021a9190612182565b60405180910390f35b34801561022e575f80fd5b506102376105c2565b604051610244919061222e565b60405180910390f35b348015610258575f80fd5b506102616105ca565b005b34801561026e575f80fd5b5061028960048036038101906102849190612247565b610662565b60405161029691906121aa565b60405180910390f35b3480156102aa575f80fd5b506102b36106a8565b005b3480156102c0575f80fd5b506102c96107f6565b005b3480156102d6575f80fd5b506102df61093e565b6040516102ec91906121aa565b60405180910390f35b348015610300575f80fd5b50610309610944565b6040516103169190612281565b60405180910390f35b34801561032a575f80fd5b5061033361096b565b60405161034091906121aa565b60405180910390f35b348015610354575f80fd5b5061035d610971565b60405161036a9190612079565b60405180910390f35b34801561037e575f80fd5b506103996004803603810190610394919061212a565b6109ae565b6040516103a69190612182565b60405180910390f35b3480156103ba575f80fd5b506103c36109cb565b6040516103d091906121aa565b60405180910390f35b3480156103e4575f80fd5b506103ed6109d1565b6040516103fa9190612182565b60405180910390f35b34801561040e575f80fd5b506104176109e3565b005b348015610424575f80fd5b5061043f600480360381019061043a919061229a565b610f02565b60405161044c91906121aa565b60405180910390f35b348015610460575f80fd5b50610469610f84565b005b60606040518060400160405280600381526020017f5349540000000000000000000000000000000000000000000000000000000000815250905090565b5f6104bb6104b4610f94565b8484610f9b565b6001905092915050565b60125481565b5f6009600a6104da9190612434565b6305f5e1006104e9919061247e565b905090565b5f6104fa84848461115e565b6105b784610506610f94565b6105b285604051806060016040528060288152602001612f2a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610569610f94565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ada9092919063ffffffff16565b610f9b565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661060b610f94565b73ffffffffffffffffffffffffffffffffffffffff161461062a575f80fd5b5f61063430610662565b90505f8111156106485761064781611b3c565b5b5f4790505f81111561065e5761065d81611da7565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106b0610f94565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461073c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073390612509565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107fe610f94565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088190612509565b60405180910390fd5b6009600a6108989190612434565b6305f5e1006108a7919061247e565b600f819055506009600a6108bb9190612434565b6305f5e1006108ca919061247e565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6109189190612434565b6305f5e100610927919061247e565b60405161093491906121aa565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600381526020017f5349540000000000000000000000000000000000000000000000000000000000815250905090565b5f6109c16109ba610f94565b848461115e565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b6109eb610f94565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6e90612509565b60405180910390fd5b60148054906101000a900460ff1615610ac5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abc90612571565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b613060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b4d9190612434565b6305f5e100610b5c919061247e565b610f9b565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bcb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bef91906125a3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c9991906125a3565b6040518363ffffffff1660e01b8152600401610cb69291906125ce565b6020604051808303815f875af1158015610cd2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf691906125a3565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d7d30610662565b5f80610d87610944565b426040518863ffffffff1660e01b8152600401610da996959493929190612637565b60606040518083038185885af1158015610dc5573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dea91906126aa565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e8a9291906126fa565b6020604051808303815f875af1158015610ea6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eca919061274b565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f479050610f9181611da7565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611009576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611000906127e6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106e90612874565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161115191906121aa565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c390612902565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361123a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123190612990565b60405180910390fd5b5f811161127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390612a1e565b60405180910390fd5b5f611285610944565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112f357506112c3610944565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561182a576113346064611326600b54600e541161131357600754611317565b6009545b85611e1090919063ffffffff16565b611e8790919063ffffffff16565b905060065f9054906101000a900460ff16156114bc5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113f4575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114bb574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146f90612ad2565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611565575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115b8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561167257600f54821115611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f990612b3a565b60405180910390fd5b6010548261160f85610662565b6116199190612b58565b111561165a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165190612bd5565b60405180910390fd5b600e5f81548092919061166c90612bf3565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116fa57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561173e5761173b606461172d600c54600e541161171a5760085461171e565b600a545b85611e1090919063ffffffff16565b611e8790919063ffffffff16565b90505b5f61174830610662565b9050601460159054906101000a900460ff161580156117b3575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117cb5750601460169054906101000a900460ff165b80156117d8575060115481115b80156117e75750600d54600e54115b1561182857611809611804846117ff84601254611ed0565b611ed0565b611b3c565b5f479050666a94d74f4300008111156118265761182547611da7565b5b505b505b5f811115611929576118828160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ee890919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161192091906121aa565b60405180910390a35b6119798260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f4590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a1c6119d08284611f4590919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ee890919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611abf8486611f4590919063ffffffff16565b604051611acc91906121aa565b60405180910390a350505050565b5f838311158290611b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b189190612079565b60405180910390fd5b505f8385611b2f9190612c3a565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b7357611b72612c6d565b5b604051908082528060200260200182016040528015611ba15781602001602082028036833780820191505090505b50905030815f81518110611bb857611bb7612c9a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c8091906125a3565b81600181518110611c9457611c93612c9a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cfa3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f9b565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d5c959493929190612d7e565b5f604051808303815f87803b158015611d73575f80fd5b505af1158015611d85573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e0c573d5f803e3d5ffd5b5050565b5f808303611e20575f9050611e81565b5f8284611e2d919061247e565b9050828482611e3c9190612e03565b14611e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7390612ea3565b60405180910390fd5b809150505b92915050565b5f611ec883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f8e565b905092915050565b5f818311611ede5782611ee0565b815b905092915050565b5f808284611ef69190612b58565b905083811015611f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3290612f0b565b60405180910390fd5b8091505092915050565b5f611f8683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ada565b905092915050565b5f8083118290611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb9190612079565b60405180910390fd5b505f8385611fe29190612e03565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561202657808201518184015260208101905061200b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61204b82611fef565b6120558185611ff9565b9350612065818560208601612009565b61206e81612031565b840191505092915050565b5f6020820190508181035f8301526120918184612041565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120c68261209d565b9050919050565b6120d6816120bc565b81146120e0575f80fd5b50565b5f813590506120f1816120cd565b92915050565b5f819050919050565b612109816120f7565b8114612113575f80fd5b50565b5f8135905061212481612100565b92915050565b5f80604083850312156121405761213f612099565b5b5f61214d858286016120e3565b925050602061215e85828601612116565b9150509250929050565b5f8115159050919050565b61217c81612168565b82525050565b5f6020820190506121955f830184612173565b92915050565b6121a4816120f7565b82525050565b5f6020820190506121bd5f83018461219b565b92915050565b5f805f606084860312156121da576121d9612099565b5b5f6121e7868287016120e3565b93505060206121f8868287016120e3565b925050604061220986828701612116565b9150509250925092565b5f60ff82169050919050565b61222881612213565b82525050565b5f6020820190506122415f83018461221f565b92915050565b5f6020828403121561225c5761225b612099565b5b5f612269848285016120e3565b91505092915050565b61227b816120bc565b82525050565b5f6020820190506122945f830184612272565b92915050565b5f80604083850312156122b0576122af612099565b5b5f6122bd858286016120e3565b92505060206122ce858286016120e3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561235a57808604811115612336576123356122d8565b5b60018516156123455780820291505b808102905061235385612305565b945061231a565b94509492505050565b5f82612372576001905061242d565b8161237f575f905061242d565b8160018114612395576002811461239f576123ce565b600191505061242d565b60ff8411156123b1576123b06122d8565b5b8360020a9150848211156123c8576123c76122d8565b5b5061242d565b5060208310610133831016604e8410600b84101617156124035782820a9050838111156123fe576123fd6122d8565b5b61242d565b6124108484846001612311565b92509050818404811115612427576124266122d8565b5b81810290505b9392505050565b5f61243e826120f7565b915061244983612213565b92506124767fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612363565b905092915050565b5f612488826120f7565b9150612493836120f7565b92508282026124a1816120f7565b915082820484148315176124b8576124b76122d8565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124f3602083611ff9565b91506124fe826124bf565b602082019050919050565b5f6020820190508181035f830152612520816124e7565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61255b601783611ff9565b915061256682612527565b602082019050919050565b5f6020820190508181035f8301526125888161254f565b9050919050565b5f8151905061259d816120cd565b92915050565b5f602082840312156125b8576125b7612099565b5b5f6125c58482850161258f565b91505092915050565b5f6040820190506125e15f830185612272565b6125ee6020830184612272565b9392505050565b5f819050919050565b5f819050919050565b5f61262161261c612617846125f5565b6125fe565b6120f7565b9050919050565b61263181612607565b82525050565b5f60c08201905061264a5f830189612272565b612657602083018861219b565b6126646040830187612628565b6126716060830186612628565b61267e6080830185612272565b61268b60a083018461219b565b979650505050505050565b5f815190506126a481612100565b92915050565b5f805f606084860312156126c1576126c0612099565b5b5f6126ce86828701612696565b93505060206126df86828701612696565b92505060406126f086828701612696565b9150509250925092565b5f60408201905061270d5f830185612272565b61271a602083018461219b565b9392505050565b61272a81612168565b8114612734575f80fd5b50565b5f8151905061274581612721565b92915050565b5f602082840312156127605761275f612099565b5b5f61276d84828501612737565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127d0602483611ff9565b91506127db82612776565b604082019050919050565b5f6020820190508181035f8301526127fd816127c4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61285e602283611ff9565b915061286982612804565b604082019050919050565b5f6020820190508181035f83015261288b81612852565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128ec602583611ff9565b91506128f782612892565b604082019050919050565b5f6020820190508181035f830152612919816128e0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61297a602383611ff9565b915061298582612920565b604082019050919050565b5f6020820190508181035f8301526129a78161296e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a08602983611ff9565b9150612a13826129ae565b604082019050919050565b5f6020820190508181035f830152612a35816129fc565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612abc604983611ff9565b9150612ac782612a3c565b606082019050919050565b5f6020820190508181035f830152612ae981612ab0565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612b24601983611ff9565b9150612b2f82612af0565b602082019050919050565b5f6020820190508181035f830152612b5181612b18565b9050919050565b5f612b62826120f7565b9150612b6d836120f7565b9250828201905080821115612b8557612b846122d8565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612bbf601a83611ff9565b9150612bca82612b8b565b602082019050919050565b5f6020820190508181035f830152612bec81612bb3565b9050919050565b5f612bfd826120f7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c2f57612c2e6122d8565b5b600182019050919050565b5f612c44826120f7565b9150612c4f836120f7565b9250828203905081811115612c6757612c666122d8565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cf9816120bc565b82525050565b5f612d0a8383612cf0565b60208301905092915050565b5f602082019050919050565b5f612d2c82612cc7565b612d368185612cd1565b9350612d4183612ce1565b805f5b83811015612d71578151612d588882612cff565b9750612d6383612d16565b925050600181019050612d44565b5085935050505092915050565b5f60a082019050612d915f83018861219b565b612d9e6020830187612628565b8181036040830152612db08186612d22565b9050612dbf6060830185612272565b612dcc608083018461219b565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e0d826120f7565b9150612e18836120f7565b925082612e2857612e27612dd6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e8d602183611ff9565b9150612e9882612e33565b604082019050919050565b5f6020820190508181035f830152612eba81612e81565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ef5601b83611ff9565b9150612f0082612ec1565b602082019050919050565b5f6020820190508181035f830152612f2281612ee9565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201ac05432ce6c30656921893ede364c17c250868c72c96b3655a40b06f61ebc6764736f6c63430008140033

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.