ETH Price: $3,262.11 (+2.75%)
Gas: 4 Gwei

Contract

0x481CFFaF7CF361BC18786fD05A505F8dc129B1dd
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve203892812024-07-26 7:38:231 hr ago1721979503IN
0x481CFFaF...dc129B1dd
0 ETH0.000118672.51681837
Approve203883562024-07-26 4:33:114 hrs ago1721968391IN
0x481CFFaF...dc129B1dd
0 ETH0.000119312.5272506
Approve203820582024-07-25 7:25:4726 hrs ago1721892347IN
0x481CFFaF...dc129B1dd
0 ETH0.000199464.22490187
Approve203807402024-07-25 3:01:2330 hrs ago1721876483IN
0x481CFFaF...dc129B1dd
0 ETH0.000247565.28270072
Approve203755122024-07-24 9:29:3547 hrs ago1721813375IN
0x481CFFaF...dc129B1dd
0 ETH0.000088033.53171767
Approve203755082024-07-24 9:28:4747 hrs ago1721813327IN
0x481CFFaF...dc129B1dd
0 ETH0.000162123.43411961
Approve203745312024-07-24 6:12:232 days ago1721801543IN
0x481CFFaF...dc129B1dd
0 ETH0.000144173.05388183
Approve203743822024-07-24 5:42:232 days ago1721799743IN
0x481CFFaF...dc129B1dd
0 ETH0.000137872.92034669
Approve203733782024-07-24 2:21:112 days ago1721787671IN
0x481CFFaF...dc129B1dd
0 ETH0.0001733.66450103
Approve203724762024-07-23 23:19:592 days ago1721776799IN
0x481CFFaF...dc129B1dd
0 ETH0.00016893.57765665
Approve203659532024-07-23 1:29:233 days ago1721698163IN
0x481CFFaF...dc129B1dd
0 ETH0.0003477.35200373
Approve203529752024-07-21 5:59:355 days ago1721541575IN
0x481CFFaF...dc129B1dd
0 ETH0.000126772.68527284
Approve203520052024-07-21 2:44:235 days ago1721529863IN
0x481CFFaF...dc129B1dd
0 ETH0.000343957.28548975
Approve203520052024-07-21 2:44:235 days ago1721529863IN
0x481CFFaF...dc129B1dd
0 ETH0.000343957.28548975
Approve203520052024-07-21 2:44:235 days ago1721529863IN
0x481CFFaF...dc129B1dd
0 ETH0.000343957.28548975
Approve203520052024-07-21 2:44:235 days ago1721529863IN
0x481CFFaF...dc129B1dd
0 ETH0.000343957.28548975
Approve203520052024-07-21 2:44:235 days ago1721529863IN
0x481CFFaF...dc129B1dd
0 ETH0.000343957.28548975
Approve203507202024-07-20 22:26:595 days ago1721514419IN
0x481CFFaF...dc129B1dd
0 ETH0.000088952.98885457
Approve203383422024-07-19 4:59:357 days ago1721365175IN
0x481CFFaF...dc129B1dd
0 ETH0.00028426.02746166
Approve203376232024-07-19 2:35:237 days ago1721356523IN
0x481CFFaF...dc129B1dd
0 ETH0.000313566.68255497
Approve203375922024-07-19 2:29:117 days ago1721356151IN
0x481CFFaF...dc129B1dd
0 ETH0.000325296.89033371
Approve203358682024-07-18 20:42:477 days ago1721335367IN
0x481CFFaF...dc129B1dd
0 ETH0.000415098.7924379
Approve203358492024-07-18 20:38:597 days ago1721335139IN
0x481CFFaF...dc129B1dd
0 ETH0.0005688912.04996585
Approve203358442024-07-18 20:37:597 days ago1721335079IN
0x481CFFaF...dc129B1dd
0 ETH0.000357167.6213687
Approve203358252024-07-18 20:34:117 days ago1721334851IN
0x481CFFaF...dc129B1dd
0 ETH0.000394128.34814134
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
202701602024-07-09 16:34:3516 days ago1720542875
0x481CFFaF...dc129B1dd
0.10935535 ETH
202701602024-07-09 16:34:3516 days ago1720542875
0x481CFFaF...dc129B1dd
0.10935535 ETH
202701562024-07-09 16:33:4716 days ago1720542827
0x481CFFaF...dc129B1dd
0.01034259 ETH
202701562024-07-09 16:33:4716 days ago1720542827
0x481CFFaF...dc129B1dd
0.01034259 ETH
202701502024-07-09 16:32:3516 days ago1720542755
0x481CFFaF...dc129B1dd
0.13102769 ETH
202701502024-07-09 16:32:3516 days ago1720542755
0x481CFFaF...dc129B1dd
0.13102769 ETH
202700622024-07-09 16:14:5916 days ago1720541699
0x481CFFaF...dc129B1dd
0.04779378 ETH
202700622024-07-09 16:14:5916 days ago1720541699
0x481CFFaF...dc129B1dd
0.04779378 ETH
202700592024-07-09 16:14:2316 days ago1720541663
0x481CFFaF...dc129B1dd
0.03512679 ETH
202700592024-07-09 16:14:2316 days ago1720541663
0x481CFFaF...dc129B1dd
0.03512679 ETH
202700572024-07-09 16:13:5916 days ago1720541639
0x481CFFaF...dc129B1dd
0.06429955 ETH
202700572024-07-09 16:13:5916 days ago1720541639
0x481CFFaF...dc129B1dd
0.06429955 ETH
202700332024-07-09 16:09:1116 days ago1720541351
0x481CFFaF...dc129B1dd
0.11223402 ETH
202700332024-07-09 16:09:1116 days ago1720541351
0x481CFFaF...dc129B1dd
0.11223402 ETH
202700272024-07-09 16:07:5916 days ago1720541279
0x481CFFaF...dc129B1dd
0.12905255 ETH
202700272024-07-09 16:07:5916 days ago1720541279
0x481CFFaF...dc129B1dd
0.12905255 ETH
202700242024-07-09 16:07:2316 days ago1720541243
0x481CFFaF...dc129B1dd
0.12905255 ETH
202700242024-07-09 16:07:2316 days ago1720541243
0x481CFFaF...dc129B1dd
0.12905255 ETH
202700242024-07-09 16:07:2316 days ago1720541243
0x481CFFaF...dc129B1dd
0.02081221 ETH
202700242024-07-09 16:07:2316 days ago1720541243
0x481CFFaF...dc129B1dd
0.02081221 ETH
202700002024-07-09 16:02:3516 days ago1720540955
0x481CFFaF...dc129B1dd
0.10914927 ETH
202700002024-07-09 16:02:3516 days ago1720540955
0x481CFFaF...dc129B1dd
0.10914927 ETH
202700002024-07-09 16:02:3516 days ago1720540955
0x481CFFaF...dc129B1dd
0.06449973 ETH
202700002024-07-09 16:02:3516 days ago1720540955
0x481CFFaF...dc129B1dd
0.06449973 ETH
202699472024-07-09 15:51:5916 days ago1720540319
0x481CFFaF...dc129B1dd
0.10197001 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LIZZY

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-09
*/

// SPDX-License-Identifier: MIT

/*
https://t.me/lizzyerc20
https://x.com/lizzyerc20
https://lizzythelizard.vip/
*/

pragma solidity 0.8.23;

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = 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 LIZZY is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private isFree;
    mapping (address => bool) public marketPair;
    address payable private _taxWallet;
    uint256 firstBlock;

    uint256 private _initialBuyTax=23;
    uint256 private _initialSellTax=23;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;

    uint256 private _reduceBuyTaxAt=23;

    uint256 private _reduceSellTaxAt=23;
    uint256 private _preventSwapBefore=23;
    uint256 private _buyCount=0;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"Lizzy";
    string private constant _symbol = unicode"LIZZY";
    uint256 public _maxTxAmount =   4206900000 * 10**_decimals;
    uint256 public _maxWalletSize = 4206900000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 2103450000 * 10**_decimals;
    uint256 public _maxTaxSwap= 2103450000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    bool private tradingOpen;
    uint256 public caCount = 2;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool public caLimiter = true;

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

    constructor () {

        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        isFree[owner()] = true;
        isFree[address(this)] = true;
        isFree[address(uniswapV2Pair)] = true;

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        marketPair[address(uniswapV2Pair)] = true;
        isFree[address(uniswapV2Pair)] = 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;
    }

    mapping (address => bool) public _isBlacklisted;

    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 removeFromBlackList(address account) external onlyOwner {
    _isBlacklisted[account] = false;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require (!_isBlacklisted[from] && !_isBlacklisted[to], "To/from address is blacklisted");
        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 (marketPair[from] && to != address(uniswapV2Router) && ! isFree[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (!marketPair[to] && ! isFree[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

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

	    if (!marketPair[from] && !marketPair[to] && from!= address(this) ) {
                taxAmount = 0;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (caLimiter && !inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < caCount, "CA balance sell");
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }

            else if(!inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    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 removeFromBlackListwallets(address[] calldata addresses) public onlyOwner(){
        for (uint256 i; i < addresses.length; ++i) {
            _isBlacklisted[addresses[i]] = false;
        }
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    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 addToBlackList(address[] calldata addresses) external onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
        _isBlacklisted[addresses[i]] = true;
        }
    }

    function isFree_AnyStuckETH() external onlyOwner {
        payable(_taxWallet).transfer(address(this).balance);
    }

    function isFree_AnyERC20Tokens(address _tokenAddr, uint _amount) external onlyOwner {
        IERC20(_tokenAddr).transfer(_taxWallet, _amount);
    }

    function isFree_WalletRestrictions() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

    function enableTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        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;
        firstBlock = block.number;
    }

    receive() external payable {}
}

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":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"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":"addresses","type":"address[]"}],"name":"addToBlackList","outputs":[],"stateMutability":"nonpayable","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":"caCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"caLimiter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"isFree_AnyERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isFree_AnyStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isFree_WalletRestrictions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"removeFromBlackListwallets","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":[{"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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601760075560176008555f6009555f600a556017600b556017600c556017600d555f600e555f600f555f6010556009600a62000041919062000b5a565b63fac0332062000052919062000baa565b6011556009600a62000065919062000b5a565b63fac0332062000076919062000baa565b6012556009600a62000089919062000b5a565b637d6019906200009a919062000baa565b6013556009600a620000ad919062000b5a565b637d601990620000be919062000baa565b60145560026017555f60185f6101000a81548160ff0219169083151502179055505f601860016101000a81548160ff0219169083151502179055506001601860026101000a81548160ff02191690831515021790555034801562000120575f80fd5b505f62000132620007cf60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001de620007cf60201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200022d919062000b5a565b6461f313f8806200023f919062000baa565b60015f62000252620007cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002a4620007d660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004673060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a62000449919062000b5a565b6461f313f8806200045b919062000baa565b620007fd60201b60201c565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004d2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004f8919062000c59565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200057f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005a5919062000c59565b6040518363ffffffff1660e01b8152600401620005c492919062000c9a565b6020604051808303815f875af1158015620005e1573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000607919062000c59565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160045f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000742620007cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620007a0919062000b5a565b6461f313f880620007b2919062000baa565b604051620007c1919062000cd6565b60405180910390a362000e29565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200086e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008659062000d75565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008d69062000e09565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051620009bb919062000cd6565b60405180910390a3505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000a525780860481111562000a2a5762000a29620009c8565b5b600185161562000a3a5780820291505b808102905062000a4a85620009f5565b945062000a0a565b94509492505050565b5f8262000a6c576001905062000b3e565b8162000a7b575f905062000b3e565b816001811462000a94576002811462000a9f5762000ad5565b600191505062000b3e565b60ff84111562000ab45762000ab3620009c8565b5b8360020a91508482111562000ace5762000acd620009c8565b5b5062000b3e565b5060208310610133831016604e8410600b841016171562000b0f5782820a90508381111562000b095762000b08620009c8565b5b62000b3e565b62000b1e848484600162000a01565b9250905081840481111562000b385762000b37620009c8565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000b668262000b45565b915062000b738362000b4e565b925062000ba27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a5b565b905092915050565b5f62000bb68262000b45565b915062000bc38362000b45565b925082820262000bd38162000b45565b9150828204841483151762000bed5762000bec620009c8565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000c238262000bf8565b9050919050565b62000c358162000c17565b811462000c40575f80fd5b50565b5f8151905062000c538162000c2a565b92915050565b5f6020828403121562000c715762000c7062000bf4565b5b5f62000c808482850162000c43565b91505092915050565b62000c948162000c17565b82525050565b5f60408201905062000caf5f83018562000c89565b62000cbe602083018462000c89565b9392505050565b62000cd08162000b45565b82525050565b5f60208201905062000ceb5f83018462000cc5565b92915050565b5f82825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62000d5d60248362000cf1565b915062000d6a8262000d01565b604082019050919050565b5f6020820190508181035f83015262000d8e8162000d4f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f62000df160228362000cf1565b915062000dfe8262000d95565b604082019050919050565b5f6020820190508181035f83015262000e228162000de3565b9050919050565b613a6f8062000e375f395ff3fe6080604052600436106101ba575f3560e01c8063715018a6116100eb578063b5ef226a11610089578063f2fde38b11610063578063f2fde38b146105cb578063f4ef1f42146105f3578063f5b3c3bf1461061d578063ff89757014610659576101c1565b8063b5ef226a1461053d578063bf474bed14610565578063dd62ed3e1461058f576101c1565b80638da5cb5b116100c55780638da5cb5b146104835780638f9a55c0146104ad57806395d89b41146104d7578063a9059cbb14610501576101c1565b8063715018a61461042d5780637d1db4a5146104435780638a8c523c1461046d576101c1565b806323b872dd11610158578063313ce56711610132578063313ce5671461037557806349bd5a5e1461039f5780634a49ac4c146103c957806370a08231146103f1576101c1565b806323b872dd1461030d57806324988e1b1461034957806330ef74251461035f576101c1565b80630e12062d116101945780630e12062d146102535780630faee56f1461027d57806318160ddd146102a75780631cdd3be3146102d1576101c1565b806306fdde03146101c5578063095ea7b3146101ef5780630b91e5651461022b576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d9610681565b6040516101e691906129b5565b60405180910390f35b3480156101fa575f80fd5b5061021560048036038101906102109190612a6a565b6106be565b6040516102229190612ac2565b60405180910390f35b348015610236575f80fd5b50610251600480360381019061024c9190612a6a565b6106db565b005b34801561025e575f80fd5b50610267610810565b6040516102749190612aea565b60405180910390f35b348015610288575f80fd5b50610291610816565b60405161029e9190612aea565b60405180910390f35b3480156102b2575f80fd5b506102bb61081c565b6040516102c89190612aea565b60405180910390f35b3480156102dc575f80fd5b506102f760048036038101906102f29190612b03565b610840565b6040516103049190612ac2565b60405180910390f35b348015610318575f80fd5b50610333600480360381019061032e9190612b2e565b61085d565b6040516103409190612ac2565b60405180910390f35b348015610354575f80fd5b5061035d610931565b005b34801561036a575f80fd5b50610373610a2c565b005b348015610380575f80fd5b50610389610b5e565b6040516103969190612b99565b60405180910390f35b3480156103aa575f80fd5b506103b3610b66565b6040516103c09190612bc1565b60405180910390f35b3480156103d4575f80fd5b506103ef60048036038101906103ea9190612b03565b610b8b565b005b3480156103fc575f80fd5b5061041760048036038101906104129190612b03565b610c76565b6040516104249190612aea565b60405180910390f35b348015610438575f80fd5b50610441610cbc565b005b34801561044e575f80fd5b50610457610e0a565b6040516104649190612aea565b60405180910390f35b348015610478575f80fd5b50610481610e10565b005b34801561048e575f80fd5b506104976110c9565b6040516104a49190612bc1565b60405180910390f35b3480156104b8575f80fd5b506104c16110f0565b6040516104ce9190612aea565b60405180910390f35b3480156104e2575f80fd5b506104eb6110f6565b6040516104f891906129b5565b60405180910390f35b34801561050c575f80fd5b5061052760048036038101906105229190612a6a565b611133565b6040516105349190612ac2565b60405180910390f35b348015610548575f80fd5b50610563600480360381019061055e9190612c3b565b611150565b005b348015610570575f80fd5b5061057961127c565b6040516105869190612aea565b60405180910390f35b34801561059a575f80fd5b506105b560048036038101906105b09190612c86565b611282565b6040516105c29190612aea565b60405180910390f35b3480156105d6575f80fd5b506105f160048036038101906105ec9190612b03565b611304565b005b3480156105fe575f80fd5b506106076114c1565b6040516106149190612ac2565b60405180910390f35b348015610628575f80fd5b50610643600480360381019061063e9190612b03565b6114d4565b6040516106509190612ac2565b60405180910390f35b348015610664575f80fd5b5061067f600480360381019061067a9190612c3b565b6114f1565b005b60606040518060400160405280600581526020017f4c697a7a79000000000000000000000000000000000000000000000000000000815250905090565b5f6106d16106ca61161e565b8484611625565b6001905092915050565b6106e361161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076690612d0e565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016107cb929190612d87565b6020604051808303815f875af11580156107e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080b9190612dd8565b505050565b60175481565b60145481565b5f6009600a61082b9190612f5f565b6461f313f88061083b9190612fa9565b905090565b6019602052805f5260405f205f915054906101000a900460ff1681565b5f6108698484846117e8565b6109268461087561161e565b61092185604051806060016040528060288152602001613a126028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108d861161e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124089092919063ffffffff16565b611625565b600190509392505050565b61093961161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90612d0e565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610a29573d5f803e3d5ffd5b50565b610a3461161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab790612d0e565b60405180910390fd5b6009600a610ace9190612f5f565b6461f313f880610ade9190612fa9565b6011819055506009600a610af29190612f5f565b6461f313f880610b029190612fa9565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b379190612f5f565b6461f313f880610b479190612fa9565b604051610b549190612aea565b60405180910390a1565b5f6009905090565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b9361161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1690612d0e565b60405180910390fd5b5f60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610cc461161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4790612d0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b610e1861161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b90612d0e565b60405180910390fd5b601660149054906101000a900460ff1615610ef4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eeb90613034565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f3c30610c76565b5f80610f466110c9565b426040518863ffffffff1660e01b8152600401610f689695949392919061308b565b60606040518083038185885af1158015610f84573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fa991906130fe565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161104992919061314e565b6020604051808303815f875af1158015611065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110899190612dd8565b506001601860016101000a81548160ff0219169083151502179055506001601660146101000a81548160ff02191690831515021790555043600681905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600581526020017f4c495a5a59000000000000000000000000000000000000000000000000000000815250905090565b5f61114661113f61161e565b84846117e8565b6001905092915050565b61115861161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111db90612d0e565b60405180910390fd5b5f5b82829050811015611277575f60195f85858581811061120857611207613175565b5b905060200201602081019061121d9190612b03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060010190506111e6565b505050565b60135481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61130c61161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138f90612d0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fd90613212565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601860029054906101000a900460ff1681565b6004602052805f5260405f205f915054906101000a900460ff1681565b6114f961161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611585576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157c90612d0e565b60405180910390fd5b5f5b8282905081101561161957600160195f8585858181106115aa576115a9613175565b5b90506020020160208101906115bf9190612b03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550806001019050611587565b505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a906132a0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f89061332e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117db9190612aea565b60405180910390a3505050565b60195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611886575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90613396565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192a90613424565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611998906134b2565b60405180910390fd5b5f81116119e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119da90613540565b60405180910390fd5b5f6119ec6110c9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a5a5750611a2a6110c9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561215857611a9b6064611a8d600b54600e5411611a7a57600754611a7e565b6009545b8561246a90919063ffffffff16565b6124e190919063ffffffff16565b905060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611b40575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b93575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c7657601154821115611bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd4906135a8565b60405180910390fd5b60125482611bea85610c76565b611bf491906135c6565b1115611c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2c90613643565b60405180910390fd5b436003600654611c4591906135c6565b1115611c5e57611c548361252a565b15611c5d575f80fd5b5b600e5f815480929190611c7090613661565b91905055505b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611d14575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d725760125482611d2685610c76565b611d3091906135c6565b1115611d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6890613643565b60405180910390fd5b5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611df457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e3857611e356064611e27600c54600e5411611e1457600854611e18565b600a545b8561246a90919063ffffffff16565b6124e190919063ffffffff16565b90505b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611ed6575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611f0e57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f17575f90505b5f611f2130610c76565b9050601860029054906101000a900460ff168015611f4b575060185f9054906101000a900460ff16155b8015611f9d575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015611fb55750601860019054906101000a900460ff165b8015611fc2575060135481115b8015611fd15750600d54600e54115b1561208557601054431115611fe8575f600f819055505b601754600f541061202e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612025906136f2565b60405180910390fd5b61204b612046846120418460145461253b565b61253b565b612553565b5f4790505f81111561206157612060476127bc565b5b600f5f81548092919061207390613661565b91905055504360108190555050612156565b60185f9054906101000a900460ff161580156120e7575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80156120ff5750601860019054906101000a900460ff165b801561210c575060135481115b801561211b5750600d54600e54115b156121555761213d612138846121338460145461253b565b61253b565b612553565b5f4790505f81111561215357612152476127bc565b5b505b5b505b5f811115612257576121b08160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461282490919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161224e9190612aea565b60405180910390a35b6122a78260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461288190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061234a6122fe828461288190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461282490919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6123ed848661288190919063ffffffff16565b6040516123fa9190612aea565b60405180910390a350505050565b5f83831115829061244f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244691906129b5565b60405180910390fd5b505f838561245d9190613710565b9050809150509392505050565b5f80830361247a575f90506124db565b5f82846124879190612fa9565b90508284826124969190613770565b146124d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cd90613810565b60405180910390fd5b809150505b92915050565b5f61252283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128ca565b905092915050565b5f80823b90505f8111915050919050565b5f818311612549578261254b565b815b905092915050565b600160185f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156125895761258861382e565b5b6040519080825280602002602001820160405280156125b75781602001602082028036833780820191505090505b50905030815f815181106125ce576125cd613175565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612672573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612696919061386f565b816001815181106126aa576126a9613175565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127103060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611625565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612772959493929190613951565b5f604051808303815f87803b158015612789575f80fd5b505af115801561279b573d5f803e3d5ffd5b50505050505f60185f6101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612820573d5f803e3d5ffd5b5050565b5f80828461283291906135c6565b905083811015612877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286e906139f3565b60405180910390fd5b8091505092915050565b5f6128c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612408565b905092915050565b5f8083118290612910576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290791906129b5565b60405180910390fd5b505f838561291e9190613770565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612962578082015181840152602081019050612947565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6129878261292b565b6129918185612935565b93506129a1818560208601612945565b6129aa8161296d565b840191505092915050565b5f6020820190508181035f8301526129cd818461297d565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a06826129dd565b9050919050565b612a16816129fc565b8114612a20575f80fd5b50565b5f81359050612a3181612a0d565b92915050565b5f819050919050565b612a4981612a37565b8114612a53575f80fd5b50565b5f81359050612a6481612a40565b92915050565b5f8060408385031215612a8057612a7f6129d5565b5b5f612a8d85828601612a23565b9250506020612a9e85828601612a56565b9150509250929050565b5f8115159050919050565b612abc81612aa8565b82525050565b5f602082019050612ad55f830184612ab3565b92915050565b612ae481612a37565b82525050565b5f602082019050612afd5f830184612adb565b92915050565b5f60208284031215612b1857612b176129d5565b5b5f612b2584828501612a23565b91505092915050565b5f805f60608486031215612b4557612b446129d5565b5b5f612b5286828701612a23565b9350506020612b6386828701612a23565b9250506040612b7486828701612a56565b9150509250925092565b5f60ff82169050919050565b612b9381612b7e565b82525050565b5f602082019050612bac5f830184612b8a565b92915050565b612bbb816129fc565b82525050565b5f602082019050612bd45f830184612bb2565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612bfb57612bfa612bda565b5b8235905067ffffffffffffffff811115612c1857612c17612bde565b5b602083019150836020820283011115612c3457612c33612be2565b5b9250929050565b5f8060208385031215612c5157612c506129d5565b5b5f83013567ffffffffffffffff811115612c6e57612c6d6129d9565b5b612c7a85828601612be6565b92509250509250929050565b5f8060408385031215612c9c57612c9b6129d5565b5b5f612ca985828601612a23565b9250506020612cba85828601612a23565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612cf8602083612935565b9150612d0382612cc4565b602082019050919050565b5f6020820190508181035f830152612d2581612cec565b9050919050565b5f819050919050565b5f612d4f612d4a612d45846129dd565b612d2c565b6129dd565b9050919050565b5f612d6082612d35565b9050919050565b5f612d7182612d56565b9050919050565b612d8181612d67565b82525050565b5f604082019050612d9a5f830185612d78565b612da76020830184612adb565b9392505050565b612db781612aa8565b8114612dc1575f80fd5b50565b5f81519050612dd281612dae565b92915050565b5f60208284031215612ded57612dec6129d5565b5b5f612dfa84828501612dc4565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612e8557808604811115612e6157612e60612e03565b5b6001851615612e705780820291505b8081029050612e7e85612e30565b9450612e45565b94509492505050565b5f82612e9d5760019050612f58565b81612eaa575f9050612f58565b8160018114612ec05760028114612eca57612ef9565b6001915050612f58565b60ff841115612edc57612edb612e03565b5b8360020a915084821115612ef357612ef2612e03565b5b50612f58565b5060208310610133831016604e8410600b8410161715612f2e5782820a905083811115612f2957612f28612e03565b5b612f58565b612f3b8484846001612e3c565b92509050818404811115612f5257612f51612e03565b5b81810290505b9392505050565b5f612f6982612a37565b9150612f7483612b7e565b9250612fa17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e8e565b905092915050565b5f612fb382612a37565b9150612fbe83612a37565b9250828202612fcc81612a37565b91508282048414831517612fe357612fe2612e03565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61301e601783612935565b915061302982612fea565b602082019050919050565b5f6020820190508181035f83015261304b81613012565b9050919050565b5f819050919050565b5f61307561307061306b84613052565b612d2c565b612a37565b9050919050565b6130858161305b565b82525050565b5f60c08201905061309e5f830189612bb2565b6130ab6020830188612adb565b6130b8604083018761307c565b6130c5606083018661307c565b6130d26080830185612bb2565b6130df60a0830184612adb565b979650505050505050565b5f815190506130f881612a40565b92915050565b5f805f60608486031215613115576131146129d5565b5b5f613122868287016130ea565b9350506020613133868287016130ea565b9250506040613144868287016130ea565b9150509250925092565b5f6040820190506131615f830185612bb2565b61316e6020830184612adb565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6131fc602683612935565b9150613207826131a2565b604082019050919050565b5f6020820190508181035f830152613229816131f0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61328a602483612935565b915061329582613230565b604082019050919050565b5f6020820190508181035f8301526132b78161327e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613318602283612935565b9150613323826132be565b604082019050919050565b5f6020820190508181035f8301526133458161330c565b9050919050565b7f546f2f66726f6d206164647265737320697320626c61636b6c697374656400005f82015250565b5f613380601e83612935565b915061338b8261334c565b602082019050919050565b5f6020820190508181035f8301526133ad81613374565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61340e602583612935565b9150613419826133b4565b604082019050919050565b5f6020820190508181035f83015261343b81613402565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61349c602383612935565b91506134a782613442565b604082019050919050565b5f6020820190508181035f8301526134c981613490565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61352a602983612935565b9150613535826134d0565b604082019050919050565b5f6020820190508181035f8301526135578161351e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613592601983612935565b915061359d8261355e565b602082019050919050565b5f6020820190508181035f8301526135bf81613586565b9050919050565b5f6135d082612a37565b91506135db83612a37565b92508282019050808211156135f3576135f2612e03565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61362d601a83612935565b9150613638826135f9565b602082019050919050565b5f6020820190508181035f83015261365a81613621565b9050919050565b5f61366b82612a37565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361369d5761369c612e03565b5b600182019050919050565b7f43412062616c616e63652073656c6c00000000000000000000000000000000005f82015250565b5f6136dc600f83612935565b91506136e7826136a8565b602082019050919050565b5f6020820190508181035f830152613709816136d0565b9050919050565b5f61371a82612a37565b915061372583612a37565b925082820390508181111561373d5761373c612e03565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61377a82612a37565b915061378583612a37565b92508261379557613794613743565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6137fa602183612935565b9150613805826137a0565b604082019050919050565b5f6020820190508181035f830152613827816137ee565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8151905061386981612a0d565b92915050565b5f60208284031215613884576138836129d5565b5b5f6138918482850161385b565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6138cc816129fc565b82525050565b5f6138dd83836138c3565b60208301905092915050565b5f602082019050919050565b5f6138ff8261389a565b61390981856138a4565b9350613914836138b4565b805f5b8381101561394457815161392b88826138d2565b9750613936836138e9565b925050600181019050613917565b5085935050505092915050565b5f60a0820190506139645f830188612adb565b613971602083018761307c565b818103604083015261398381866138f5565b90506139926060830185612bb2565b61399f6080830184612adb565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6139dd601b83612935565b91506139e8826139a9565b602082019050919050565b5f6020820190508181035f830152613a0a816139d1565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c100fb91fab97fbe06b2938b5b3f667b18dbd468fb064c92e893fd2a713dbaf364736f6c63430008170033

Deployed Bytecode

0x6080604052600436106101ba575f3560e01c8063715018a6116100eb578063b5ef226a11610089578063f2fde38b11610063578063f2fde38b146105cb578063f4ef1f42146105f3578063f5b3c3bf1461061d578063ff89757014610659576101c1565b8063b5ef226a1461053d578063bf474bed14610565578063dd62ed3e1461058f576101c1565b80638da5cb5b116100c55780638da5cb5b146104835780638f9a55c0146104ad57806395d89b41146104d7578063a9059cbb14610501576101c1565b8063715018a61461042d5780637d1db4a5146104435780638a8c523c1461046d576101c1565b806323b872dd11610158578063313ce56711610132578063313ce5671461037557806349bd5a5e1461039f5780634a49ac4c146103c957806370a08231146103f1576101c1565b806323b872dd1461030d57806324988e1b1461034957806330ef74251461035f576101c1565b80630e12062d116101945780630e12062d146102535780630faee56f1461027d57806318160ddd146102a75780631cdd3be3146102d1576101c1565b806306fdde03146101c5578063095ea7b3146101ef5780630b91e5651461022b576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d9610681565b6040516101e691906129b5565b60405180910390f35b3480156101fa575f80fd5b5061021560048036038101906102109190612a6a565b6106be565b6040516102229190612ac2565b60405180910390f35b348015610236575f80fd5b50610251600480360381019061024c9190612a6a565b6106db565b005b34801561025e575f80fd5b50610267610810565b6040516102749190612aea565b60405180910390f35b348015610288575f80fd5b50610291610816565b60405161029e9190612aea565b60405180910390f35b3480156102b2575f80fd5b506102bb61081c565b6040516102c89190612aea565b60405180910390f35b3480156102dc575f80fd5b506102f760048036038101906102f29190612b03565b610840565b6040516103049190612ac2565b60405180910390f35b348015610318575f80fd5b50610333600480360381019061032e9190612b2e565b61085d565b6040516103409190612ac2565b60405180910390f35b348015610354575f80fd5b5061035d610931565b005b34801561036a575f80fd5b50610373610a2c565b005b348015610380575f80fd5b50610389610b5e565b6040516103969190612b99565b60405180910390f35b3480156103aa575f80fd5b506103b3610b66565b6040516103c09190612bc1565b60405180910390f35b3480156103d4575f80fd5b506103ef60048036038101906103ea9190612b03565b610b8b565b005b3480156103fc575f80fd5b5061041760048036038101906104129190612b03565b610c76565b6040516104249190612aea565b60405180910390f35b348015610438575f80fd5b50610441610cbc565b005b34801561044e575f80fd5b50610457610e0a565b6040516104649190612aea565b60405180910390f35b348015610478575f80fd5b50610481610e10565b005b34801561048e575f80fd5b506104976110c9565b6040516104a49190612bc1565b60405180910390f35b3480156104b8575f80fd5b506104c16110f0565b6040516104ce9190612aea565b60405180910390f35b3480156104e2575f80fd5b506104eb6110f6565b6040516104f891906129b5565b60405180910390f35b34801561050c575f80fd5b5061052760048036038101906105229190612a6a565b611133565b6040516105349190612ac2565b60405180910390f35b348015610548575f80fd5b50610563600480360381019061055e9190612c3b565b611150565b005b348015610570575f80fd5b5061057961127c565b6040516105869190612aea565b60405180910390f35b34801561059a575f80fd5b506105b560048036038101906105b09190612c86565b611282565b6040516105c29190612aea565b60405180910390f35b3480156105d6575f80fd5b506105f160048036038101906105ec9190612b03565b611304565b005b3480156105fe575f80fd5b506106076114c1565b6040516106149190612ac2565b60405180910390f35b348015610628575f80fd5b50610643600480360381019061063e9190612b03565b6114d4565b6040516106509190612ac2565b60405180910390f35b348015610664575f80fd5b5061067f600480360381019061067a9190612c3b565b6114f1565b005b60606040518060400160405280600581526020017f4c697a7a79000000000000000000000000000000000000000000000000000000815250905090565b5f6106d16106ca61161e565b8484611625565b6001905092915050565b6106e361161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076690612d0e565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016107cb929190612d87565b6020604051808303815f875af11580156107e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080b9190612dd8565b505050565b60175481565b60145481565b5f6009600a61082b9190612f5f565b6461f313f88061083b9190612fa9565b905090565b6019602052805f5260405f205f915054906101000a900460ff1681565b5f6108698484846117e8565b6109268461087561161e565b61092185604051806060016040528060288152602001613a126028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108d861161e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124089092919063ffffffff16565b611625565b600190509392505050565b61093961161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc90612d0e565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610a29573d5f803e3d5ffd5b50565b610a3461161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab790612d0e565b60405180910390fd5b6009600a610ace9190612f5f565b6461f313f880610ade9190612fa9565b6011819055506009600a610af29190612f5f565b6461f313f880610b029190612fa9565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b379190612f5f565b6461f313f880610b479190612fa9565b604051610b549190612aea565b60405180910390a1565b5f6009905090565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b9361161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1690612d0e565b60405180910390fd5b5f60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610cc461161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4790612d0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b610e1861161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b90612d0e565b60405180910390fd5b601660149054906101000a900460ff1615610ef4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eeb90613034565b60405180910390fd5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f3c30610c76565b5f80610f466110c9565b426040518863ffffffff1660e01b8152600401610f689695949392919061308b565b60606040518083038185885af1158015610f84573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fa991906130fe565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161104992919061314e565b6020604051808303815f875af1158015611065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110899190612dd8565b506001601860016101000a81548160ff0219169083151502179055506001601660146101000a81548160ff02191690831515021790555043600681905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600581526020017f4c495a5a59000000000000000000000000000000000000000000000000000000815250905090565b5f61114661113f61161e565b84846117e8565b6001905092915050565b61115861161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111db90612d0e565b60405180910390fd5b5f5b82829050811015611277575f60195f85858581811061120857611207613175565b5b905060200201602081019061121d9190612b03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060010190506111e6565b505050565b60135481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61130c61161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138f90612d0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fd90613212565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601860029054906101000a900460ff1681565b6004602052805f5260405f205f915054906101000a900460ff1681565b6114f961161e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611585576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157c90612d0e565b60405180910390fd5b5f5b8282905081101561161957600160195f8585858181106115aa576115a9613175565b5b90506020020160208101906115bf9190612b03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550806001019050611587565b505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611693576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168a906132a0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611701576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f89061332e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117db9190612aea565b60405180910390a3505050565b60195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611886575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90613396565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192a90613424565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611998906134b2565b60405180910390fd5b5f81116119e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119da90613540565b60405180910390fd5b5f6119ec6110c9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a5a5750611a2a6110c9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561215857611a9b6064611a8d600b54600e5411611a7a57600754611a7e565b6009545b8561246a90919063ffffffff16565b6124e190919063ffffffff16565b905060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611b40575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b93575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c7657601154821115611bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd4906135a8565b60405180910390fd5b60125482611bea85610c76565b611bf491906135c6565b1115611c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2c90613643565b60405180910390fd5b436003600654611c4591906135c6565b1115611c5e57611c548361252a565b15611c5d575f80fd5b5b600e5f815480929190611c7090613661565b91905055505b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611d14575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611d725760125482611d2685610c76565b611d3091906135c6565b1115611d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6890613643565b60405180910390fd5b5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611df457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e3857611e356064611e27600c54600e5411611e1457600854611e18565b600a545b8561246a90919063ffffffff16565b6124e190919063ffffffff16565b90505b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611ed6575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611f0e57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611f17575f90505b5f611f2130610c76565b9050601860029054906101000a900460ff168015611f4b575060185f9054906101000a900460ff16155b8015611f9d575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015611fb55750601860019054906101000a900460ff165b8015611fc2575060135481115b8015611fd15750600d54600e54115b1561208557601054431115611fe8575f600f819055505b601754600f541061202e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612025906136f2565b60405180910390fd5b61204b612046846120418460145461253b565b61253b565b612553565b5f4790505f81111561206157612060476127bc565b5b600f5f81548092919061207390613661565b91905055504360108190555050612156565b60185f9054906101000a900460ff161580156120e7575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80156120ff5750601860019054906101000a900460ff165b801561210c575060135481115b801561211b5750600d54600e54115b156121555761213d612138846121338460145461253b565b61253b565b612553565b5f4790505f81111561215357612152476127bc565b5b505b5b505b5f811115612257576121b08160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461282490919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161224e9190612aea565b60405180910390a35b6122a78260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461288190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061234a6122fe828461288190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461282490919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6123ed848661288190919063ffffffff16565b6040516123fa9190612aea565b60405180910390a350505050565b5f83831115829061244f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244691906129b5565b60405180910390fd5b505f838561245d9190613710565b9050809150509392505050565b5f80830361247a575f90506124db565b5f82846124879190612fa9565b90508284826124969190613770565b146124d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cd90613810565b60405180910390fd5b809150505b92915050565b5f61252283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128ca565b905092915050565b5f80823b90505f8111915050919050565b5f818311612549578261254b565b815b905092915050565b600160185f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156125895761258861382e565b5b6040519080825280602002602001820160405280156125b75781602001602082028036833780820191505090505b50905030815f815181106125ce576125cd613175565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612672573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612696919061386f565b816001815181106126aa576126a9613175565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127103060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611625565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612772959493929190613951565b5f604051808303815f87803b158015612789575f80fd5b505af115801561279b573d5f803e3d5ffd5b50505050505f60185f6101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612820573d5f803e3d5ffd5b5050565b5f80828461283291906135c6565b905083811015612877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286e906139f3565b60405180910390fd5b8091505092915050565b5f6128c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612408565b905092915050565b5f8083118290612910576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290791906129b5565b60405180910390fd5b505f838561291e9190613770565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612962578082015181840152602081019050612947565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6129878261292b565b6129918185612935565b93506129a1818560208601612945565b6129aa8161296d565b840191505092915050565b5f6020820190508181035f8301526129cd818461297d565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a06826129dd565b9050919050565b612a16816129fc565b8114612a20575f80fd5b50565b5f81359050612a3181612a0d565b92915050565b5f819050919050565b612a4981612a37565b8114612a53575f80fd5b50565b5f81359050612a6481612a40565b92915050565b5f8060408385031215612a8057612a7f6129d5565b5b5f612a8d85828601612a23565b9250506020612a9e85828601612a56565b9150509250929050565b5f8115159050919050565b612abc81612aa8565b82525050565b5f602082019050612ad55f830184612ab3565b92915050565b612ae481612a37565b82525050565b5f602082019050612afd5f830184612adb565b92915050565b5f60208284031215612b1857612b176129d5565b5b5f612b2584828501612a23565b91505092915050565b5f805f60608486031215612b4557612b446129d5565b5b5f612b5286828701612a23565b9350506020612b6386828701612a23565b9250506040612b7486828701612a56565b9150509250925092565b5f60ff82169050919050565b612b9381612b7e565b82525050565b5f602082019050612bac5f830184612b8a565b92915050565b612bbb816129fc565b82525050565b5f602082019050612bd45f830184612bb2565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612bfb57612bfa612bda565b5b8235905067ffffffffffffffff811115612c1857612c17612bde565b5b602083019150836020820283011115612c3457612c33612be2565b5b9250929050565b5f8060208385031215612c5157612c506129d5565b5b5f83013567ffffffffffffffff811115612c6e57612c6d6129d9565b5b612c7a85828601612be6565b92509250509250929050565b5f8060408385031215612c9c57612c9b6129d5565b5b5f612ca985828601612a23565b9250506020612cba85828601612a23565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612cf8602083612935565b9150612d0382612cc4565b602082019050919050565b5f6020820190508181035f830152612d2581612cec565b9050919050565b5f819050919050565b5f612d4f612d4a612d45846129dd565b612d2c565b6129dd565b9050919050565b5f612d6082612d35565b9050919050565b5f612d7182612d56565b9050919050565b612d8181612d67565b82525050565b5f604082019050612d9a5f830185612d78565b612da76020830184612adb565b9392505050565b612db781612aa8565b8114612dc1575f80fd5b50565b5f81519050612dd281612dae565b92915050565b5f60208284031215612ded57612dec6129d5565b5b5f612dfa84828501612dc4565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612e8557808604811115612e6157612e60612e03565b5b6001851615612e705780820291505b8081029050612e7e85612e30565b9450612e45565b94509492505050565b5f82612e9d5760019050612f58565b81612eaa575f9050612f58565b8160018114612ec05760028114612eca57612ef9565b6001915050612f58565b60ff841115612edc57612edb612e03565b5b8360020a915084821115612ef357612ef2612e03565b5b50612f58565b5060208310610133831016604e8410600b8410161715612f2e5782820a905083811115612f2957612f28612e03565b5b612f58565b612f3b8484846001612e3c565b92509050818404811115612f5257612f51612e03565b5b81810290505b9392505050565b5f612f6982612a37565b9150612f7483612b7e565b9250612fa17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612e8e565b905092915050565b5f612fb382612a37565b9150612fbe83612a37565b9250828202612fcc81612a37565b91508282048414831517612fe357612fe2612e03565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61301e601783612935565b915061302982612fea565b602082019050919050565b5f6020820190508181035f83015261304b81613012565b9050919050565b5f819050919050565b5f61307561307061306b84613052565b612d2c565b612a37565b9050919050565b6130858161305b565b82525050565b5f60c08201905061309e5f830189612bb2565b6130ab6020830188612adb565b6130b8604083018761307c565b6130c5606083018661307c565b6130d26080830185612bb2565b6130df60a0830184612adb565b979650505050505050565b5f815190506130f881612a40565b92915050565b5f805f60608486031215613115576131146129d5565b5b5f613122868287016130ea565b9350506020613133868287016130ea565b9250506040613144868287016130ea565b9150509250925092565b5f6040820190506131615f830185612bb2565b61316e6020830184612adb565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6131fc602683612935565b9150613207826131a2565b604082019050919050565b5f6020820190508181035f830152613229816131f0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61328a602483612935565b915061329582613230565b604082019050919050565b5f6020820190508181035f8301526132b78161327e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613318602283612935565b9150613323826132be565b604082019050919050565b5f6020820190508181035f8301526133458161330c565b9050919050565b7f546f2f66726f6d206164647265737320697320626c61636b6c697374656400005f82015250565b5f613380601e83612935565b915061338b8261334c565b602082019050919050565b5f6020820190508181035f8301526133ad81613374565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61340e602583612935565b9150613419826133b4565b604082019050919050565b5f6020820190508181035f83015261343b81613402565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61349c602383612935565b91506134a782613442565b604082019050919050565b5f6020820190508181035f8301526134c981613490565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61352a602983612935565b9150613535826134d0565b604082019050919050565b5f6020820190508181035f8301526135578161351e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613592601983612935565b915061359d8261355e565b602082019050919050565b5f6020820190508181035f8301526135bf81613586565b9050919050565b5f6135d082612a37565b91506135db83612a37565b92508282019050808211156135f3576135f2612e03565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61362d601a83612935565b9150613638826135f9565b602082019050919050565b5f6020820190508181035f83015261365a81613621565b9050919050565b5f61366b82612a37565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361369d5761369c612e03565b5b600182019050919050565b7f43412062616c616e63652073656c6c00000000000000000000000000000000005f82015250565b5f6136dc600f83612935565b91506136e7826136a8565b602082019050919050565b5f6020820190508181035f830152613709816136d0565b9050919050565b5f61371a82612a37565b915061372583612a37565b925082820390508181111561373d5761373c612e03565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61377a82612a37565b915061378583612a37565b92508261379557613794613743565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6137fa602183612935565b9150613805826137a0565b604082019050919050565b5f6020820190508181035f830152613827816137ee565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8151905061386981612a0d565b92915050565b5f60208284031215613884576138836129d5565b5b5f6138918482850161385b565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6138cc816129fc565b82525050565b5f6138dd83836138c3565b60208301905092915050565b5f602082019050919050565b5f6138ff8261389a565b61390981856138a4565b9350613914836138b4565b805f5b8381101561394457815161392b88826138d2565b9750613936836138e9565b925050600181019050613917565b5085935050505092915050565b5f60a0820190506139645f830188612adb565b613971602083018761307c565b818103604083015261398381866138f5565b90506139926060830185612bb2565b61399f6080830184612adb565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6139dd601b83612935565b91506139e8826139a9565b602082019050919050565b5f6020820190508181035f830152613a0a816139d1565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c100fb91fab97fbe06b2938b5b3f667b18dbd468fb064c92e893fd2a713dbaf364736f6c63430008170033

Deployed Bytecode Sourcemap

3813:9524:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6170:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7003:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12430:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5185:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5007:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6447:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7172:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7228:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12303:119;;;;;;;;;;;;;:::i;:::-;;12589:172;;;;;;;;;;;;;:::i;:::-;;6356:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5119:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7892:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6550:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2644:148;;;;;;;;;;;;;:::i;:::-;;4810:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12869:428;;;;;;;;;;;;;:::i;:::-;;2430:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4875:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6261:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6677:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11191:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4940:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6852:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2800:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5291:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4072:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12103:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6170:83;6207:13;6240:5;;;;;;;;;;;;;;;;;6233:12;;6170:83;:::o;7003:161::-;7078:4;7095:39;7104:12;:10;:12::i;:::-;7118:7;7127:6;7095:8;:39::i;:::-;7152:4;7145:11;;7003:161;;;;:::o;12430:151::-;2567:12;:10;:12::i;:::-;2557:22;;:6;;;;;;;;;;:22;;;2549:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12532:10:::1;12525:27;;;12553:10;;;;;;;;;;;12565:7;12525:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12430:151:::0;;:::o;5185:26::-;;;;:::o;5007:54::-;;;;:::o;6447:95::-;6500:7;4624:1;4682:2;:13;;;;:::i;:::-;4667:12;:28;;;;:::i;:::-;6520:14;;6447:95;:::o;7172:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;7228:313::-;7326:4;7343:36;7353:6;7361:9;7372:6;7343:9;:36::i;:::-;7390:121;7399:6;7407:12;:10;:12::i;:::-;7421:89;7459:6;7421:89;;;;;;;;;;;;;;;;;:11;:19;7433:6;7421:19;;;;;;;;;;;;;;;:33;7441:12;:10;:12::i;:::-;7421:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7390:8;:121::i;:::-;7529:4;7522:11;;7228:313;;;;;:::o;12303:119::-;2567:12;:10;:12::i;:::-;2557:22;;:6;;;;;;;;;;:22;;;2549:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12371:10:::1;;;;;;;;;;;12363:28;;:51;12392:21;12363:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;12303:119::o:0;12589:172::-;2567:12;:10;:12::i;:::-;2557:22;;:6;;;;;;;;;;:22;;;2549:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4624:1:::1;4682:2;:13;;;;:::i;:::-;4667:12;:28;;;;:::i;:::-;12655:12;:22;;;;4624:1;4682:2;:13;;;;:::i;:::-;4667:12;:28;;;;:::i;:::-;12688:14;:22;;;;12726:27;4624:1;4682:2;:13;;;;:::i;:::-;4667:12;:28;;;;:::i;:::-;12726:27;;;;;;:::i;:::-;;;;;;;;12589:172::o:0;6356:83::-;6397:5;4624:1;6415:16;;6356:83;:::o;5119:28::-;;;;;;;;;;;;;:::o;7892:111::-;2567:12;:10;:12::i;:::-;2557:22;;:6;;;;;;;;;;:22;;;2549:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7990:5:::1;7964:14;:23;7979:7;7964:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;7892:111:::0;:::o;6550:119::-;6616:7;6643:9;:18;6653:7;6643:18;;;;;;;;;;;;;;;;6636:25;;6550:119;;;:::o;2644:148::-;2567:12;:10;:12::i;:::-;2557:22;;:6;;;;;;;;;;:22;;;2549:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2751:1:::1;2714:40;;2735:6;::::0;::::1;;;;;;;;2714:40;;;;;;;;;;;;2782:1;2765:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2644:148::o:0;4810:58::-;;;;:::o;12869:428::-;2567:12;:10;:12::i;:::-;2557:22;;:6;;;;;;;;;;:22;;;2549:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12935:11:::1;;;;;;;;;;;12934:12;12926:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12984:15;;;;;;;;;;;:31;;;13023:21;13054:4;13060:24;13078:4;13060:9;:24::i;:::-;13085:1;13087::::0;13089:7:::1;:5;:7::i;:::-;13097:15;12984:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13131:13;;;;;;;;;;;13124:29;;;13162:15;;;;;;;;;;;13180:14;13124:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13220:4;13206:11;;:18;;;;;;;;;;;;;;;;;;13249:4;13235:11;;:18;;;;;;;;;;;;;;;;;;13277:12;13264:10;:25;;;;12869:428::o:0;2430:79::-;2468:7;2495:6;;;;;;;;;;;2488:13;;2430:79;:::o;4875:58::-;;;;:::o;6261:87::-;6300:13;6333:7;;;;;;;;;;;;;;;;;6326:14;;6261:87;:::o;6677:167::-;6755:4;6772:42;6782:12;:10;:12::i;:::-;6796:9;6807:6;6772:9;:42::i;:::-;6832:4;6825:11;;6677:167;;;;:::o;11191:208::-;2567:12;:10;:12::i;:::-;2557:22;;:6;;;;;;;;;;:22;;;2549:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11291:9:::1;11286:106;11306:9;;:16;;11302:1;:20;11286:106;;;11375:5;11344:14;:28;11359:9;;11369:1;11359:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11344:28;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;11324:3;;;;;11286:106;;;;11191:208:::0;;:::o;4940:60::-;;;;:::o;6852:143::-;6933:7;6960:11;:18;6972:5;6960:18;;;;;;;;;;;;;;;:27;6979:7;6960:27;;;;;;;;;;;;;;;;6953:34;;6852:143;;;;:::o;2800:244::-;2567:12;:10;:12::i;:::-;2557:22;;:6;;;;;;;;;;:22;;;2549:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2909:1:::1;2889:22;;:8;:22;;::::0;2881:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2999:8;2970:38;;2991:6;::::0;::::1;;;;;;;;2970:38;;;;;;;;;;;;3028:8;3019:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2800:244:::0;:::o;5291:28::-;;;;;;;;;;;;;:::o;4072:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;12103:192::-;2567:12;:10;:12::i;:::-;2557:22;;:6;;;;;;;;;;:22;;;2549:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12192:9:::1;12187:101;12207:9;;:16;;12203:1;:20;12187:101;;;12272:4;12241:14;:28;12256:9;;12266:1;12256:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12241:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;12225:3;;;;;12187:101;;;;12103:192:::0;;:::o;185:98::-;238:7;265:10;258:17;;185:98;:::o;7549:335::-;7659:1;7642:19;;:5;:19;;;7634:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7740:1;7721:21;;:7;:21;;;7713:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7822:6;7792:11;:18;7804:5;7792:18;;;;;;;;;;;;;;;:27;7811:7;7792:27;;;;;;;;;;;;;;;:36;;;;7860:7;7844:32;;7853:5;7844:32;;;7869:6;7844:32;;;;;;:::i;:::-;;;;;;;;7549:335;;;:::o;8011:3064::-;8101:14;:20;8116:4;8101:20;;;;;;;;;;;;;;;;;;;;;;;;;8100:21;:44;;;;;8126:14;:18;8141:2;8126:18;;;;;;;;;;;;;;;;;;;;;;;;;8125:19;8100:44;8091:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;8214:1;8198:18;;:4;:18;;;8190:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8291:1;8277:16;;:2;:16;;;8269:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8361:1;8352:6;:10;8344:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8419:17;8463:7;:5;:7::i;:::-;8455:15;;:4;:15;;;;:32;;;;;8480:7;:5;:7::i;:::-;8474:13;;:2;:13;;;;8455:32;8451:2268;;;8516:79;8591:3;8516:70;8539:15;;8528:9;;:26;8527:58;;8571:14;;8527:58;;;8557:12;;8527:58;8516:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8504:91;;8616:10;:16;8627:4;8616:16;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;8650:15;;;;;;;;;;;8636:30;;:2;:30;;;;8616:50;:66;;;;;8672:6;:10;8679:2;8672:10;;;;;;;;;;;;;;;;;;;;;;;;;8670:12;8616:66;8612:419;;;8722:12;;8712:6;:22;;8704:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8817:14;;8807:6;8791:13;8801:2;8791:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8783:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8905:12;8900:1;8887:10;;:14;;;;:::i;:::-;:30;8883:103;;;8951:14;8962:2;8951:10;:14::i;:::-;8950:15;8942:24;;;;;;8883:103;9004:9;;:11;;;;;;;;;:::i;:::-;;;;;;8612:419;9052:10;:14;9063:2;9052:14;;;;;;;;;;;;;;;;;;;;;;;;;9051:15;:31;;;;;9072:6;:10;9079:2;9072:10;;;;;;;;;;;;;;;;;;;;;;;;;9070:12;9051:31;9047:151;;;9137:14;;9127:6;9111:13;9121:2;9111:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9103:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9047:151;9217:10;:14;9228:2;9217:14;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;;;9250:4;9235:20;;:4;:20;;;;9217:38;9214:172;;;9288:82;9366:3;9288:73;9311:16;;9300:9;;:27;9299:61;;9345:15;;9299:61;;;9330:13;;9299:61;9288:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;9276:94;;9214:172;9400:10;:16;9411:4;9400:16;;;;;;;;;;;;;;;;;;;;;;;;;9399:17;:36;;;;;9421:10;:14;9432:2;9421:14;;;;;;;;;;;;;;;;;;;;;;;;;9420:15;9399:36;:60;;;;;9454:4;9439:20;;:4;:20;;;;9399:60;9395:115;;;9493:1;9481:13;;9395:115;9526:28;9557:24;9575:4;9557:9;:24::i;:::-;9526:55;;9600:9;;;;;;;;;;;:20;;;;;9614:6;;;;;;;;;;;9613:7;9600:20;:38;;;;;9624:10;:14;9635:2;9624:14;;;;;;;;;;;;;;;;;;;;;;;;;9600:38;:53;;;;;9642:11;;;;;;;;;;;9600:53;:95;;;;;9678:17;;9657:20;:38;9600:95;:127;;;;;9709:18;;9699:9;;:28;9600:127;9596:1112;;;9767:13;;9752:12;:28;9748:90;;;9817:1;9805:9;:13;;;;9748:90;9876:7;;9864:9;;:19;9856:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9922:67;9939:49;9943:6;9950:37;9954:20;9975:11;;9950:3;:37::i;:::-;9939:3;:49::i;:::-;9922:16;:67::i;:::-;10008:26;10037:21;10008:50;;10101:1;10080:18;:22;10077:105;;;10127:35;10140:21;10127:12;:35::i;:::-;10077:105;10200:9;;:11;;;;;;;;;:::i;:::-;;;;;;10246:12;10230:13;:28;;;;9729:545;9596:1112;;;10299:6;;;;;;;;;;;10298:7;:25;;;;;10309:10;:14;10320:2;10309:14;;;;;;;;;;;;;;;;;;;;;;;;;10298:25;:40;;;;;10327:11;;;;;;;;;;;10298:40;:82;;;;;10363:17;;10342:20;:38;10298:82;:114;;;;;10394:18;;10384:9;;:28;10298:114;10295:413;;;10433:67;10450:49;10454:6;10461:37;10465:20;10486:11;;10461:3;:37::i;:::-;10450:3;:49::i;:::-;10433:16;:67::i;:::-;10519:26;10548:21;10519:50;;10612:1;10591:18;:22;10588:105;;;10638:35;10651:21;10638:12;:35::i;:::-;10588:105;10414:294;10295:413;9596:1112;8489:2230;8451:2268;10744:1;10734:9;:11;10731:161;;;10784:39;10813:9;10784;:24;10802:4;10784:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10759:9;:24;10777:4;10759:24;;;;;;;;;;;;;;;:64;;;;10864:4;10841:39;;10850:4;10841:39;;;10870:9;10841:39;;;;;;:::i;:::-;;;;;;;;10731:161;10918:27;10938:6;10918:9;:15;10928:4;10918:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10902:9;:15;10912:4;10902:15;;;;;;;;;;;;;;;:43;;;;10970:40;10988:21;10999:9;10988:6;:10;;:21;;;;:::i;:::-;10970:9;:13;10980:2;10970:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10956:9;:13;10966:2;10956:13;;;;;;;;;;;;;;;:54;;;;11041:2;11026:41;;11035:4;11026:41;;;11045:21;11056:9;11045:6;:10;;:21;;;;:::i;:::-;11026:41;;;;;;:::i;:::-;;;;;;;;8080:2995;8011:3064;;;:::o;1322:190::-;1408:7;1441:1;1436;:6;;1444:12;1428:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1468:9;1484:1;1480;:5;;;;:::i;:::-;1468:17;;1503:1;1496:8;;;1322:190;;;;;:::o;1520:246::-;1578:7;1607:1;1602;:6;1598:47;;1632:1;1625:8;;;;1598:47;1655:9;1671:1;1667;:5;;;;:::i;:::-;1655:17;;1700:1;1695;1691;:5;;;;:::i;:::-;:10;1683:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1757:1;1750:8;;;1520:246;;;;;:::o;1774:132::-;1832:7;1859:39;1863:1;1866;1859:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1852:46;;1774:132;;;;:::o;11407:195::-;11466:4;11483:12;11550:7;11538:20;11530:28;;11593:1;11586:4;:8;11579:15;;;11407:195;;;:::o;11085:98::-;11142:7;11169:1;11167;:3;11166:9;;11174:1;11166:9;;;11172:1;11166:9;11159:16;;11085:98;;;;:::o;11610:483::-;5419:4;5410:6;;:13;;;;;;;;;;;;;;;;;;11688:21:::1;11726:1;11712:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11688:40;;11757:4;11739;11744:1;11739:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11783:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11773:4;11778:1;11773:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11816:62;11833:4;11848:15;;;;;;;;;;;11866:11;11816:8;:62::i;:::-;11889:15;;;;;;;;;;;:66;;;11970:11;11996:1;12012:4;12039;12059:15;11889:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11677:416;5455:5:::0;5446:6;;:14;;;;;;;;;;;;;;;;;;11610:483;:::o;12769:92::-;12826:10;;;;;;;;;;;:19;;:27;12846:6;12826:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12769:92;:::o;991:179::-;1049:7;1069:9;1085:1;1081;:5;;;;:::i;:::-;1069:17;;1110:1;1105;:6;;1097:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1161:1;1154:8;;;991:179;;;;:::o;1178:136::-;1236:7;1263:43;1267:1;1270;1263:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1256:50;;1178:136;;;;:::o;1914:189::-;2000:7;2032:1;2028;:5;2035:12;2020:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2059:9;2075:1;2071;:5;;;;:::i;:::-;2059:17;;2094:1;2087:8;;;1914:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:117::-;5649:1;5646;5639:12;5663:117;5772:1;5769;5762:12;5786:117;5895:1;5892;5885:12;5926:568;5999:8;6009:6;6059:3;6052:4;6044:6;6040:17;6036:27;6026:122;;6067:79;;:::i;:::-;6026:122;6180:6;6167:20;6157:30;;6210:18;6202:6;6199:30;6196:117;;;6232:79;;:::i;:::-;6196:117;6346:4;6338:6;6334:17;6322:29;;6400:3;6392:4;6384:6;6380:17;6370:8;6366:32;6363:41;6360:128;;;6407:79;;:::i;:::-;6360:128;5926:568;;;;;:::o;6500:559::-;6586:6;6594;6643:2;6631:9;6622:7;6618:23;6614:32;6611:119;;;6649:79;;:::i;:::-;6611:119;6797:1;6786:9;6782:17;6769:31;6827:18;6819:6;6816:30;6813:117;;;6849:79;;:::i;:::-;6813:117;6962:80;7034:7;7025:6;7014:9;7010:22;6962:80;:::i;:::-;6944:98;;;;6740:312;6500:559;;;;;:::o;7065:474::-;7133:6;7141;7190:2;7178:9;7169:7;7165:23;7161:32;7158:119;;;7196:79;;:::i;:::-;7158:119;7316:1;7341:53;7386:7;7377:6;7366:9;7362:22;7341:53;:::i;:::-;7331:63;;7287:117;7443:2;7469:53;7514:7;7505:6;7494:9;7490:22;7469:53;:::i;:::-;7459:63;;7414:118;7065:474;;;;;:::o;7545:182::-;7685:34;7681:1;7673:6;7669:14;7662:58;7545:182;:::o;7733:366::-;7875:3;7896:67;7960:2;7955:3;7896:67;:::i;:::-;7889:74;;7972:93;8061:3;7972:93;:::i;:::-;8090:2;8085:3;8081:12;8074:19;;7733:366;;;:::o;8105:419::-;8271:4;8309:2;8298:9;8294:18;8286:26;;8358:9;8352:4;8348:20;8344:1;8333:9;8329:17;8322:47;8386:131;8512:4;8386:131;:::i;:::-;8378:139;;8105:419;;;:::o;8530:60::-;8558:3;8579:5;8572:12;;8530:60;;;:::o;8596:142::-;8646:9;8679:53;8697:34;8706:24;8724:5;8706:24;:::i;:::-;8697:34;:::i;:::-;8679:53;:::i;:::-;8666:66;;8596:142;;;:::o;8744:126::-;8794:9;8827:37;8858:5;8827:37;:::i;:::-;8814:50;;8744:126;;;:::o;8876:134::-;8934:9;8967:37;8998:5;8967:37;:::i;:::-;8954:50;;8876:134;;;:::o;9016:147::-;9111:45;9150:5;9111:45;:::i;:::-;9106:3;9099:58;9016:147;;:::o;9169:348::-;9298:4;9336:2;9325:9;9321:18;9313:26;;9349:79;9425:1;9414:9;9410:17;9401:6;9349:79;:::i;:::-;9438:72;9506:2;9495:9;9491:18;9482:6;9438:72;:::i;:::-;9169:348;;;;;:::o;9523:116::-;9593:21;9608:5;9593:21;:::i;:::-;9586:5;9583:32;9573:60;;9629:1;9626;9619:12;9573:60;9523:116;:::o;9645:137::-;9699:5;9730:6;9724:13;9715:22;;9746:30;9770:5;9746:30;:::i;:::-;9645:137;;;;:::o;9788:345::-;9855:6;9904:2;9892:9;9883:7;9879:23;9875:32;9872:119;;;9910:79;;:::i;:::-;9872:119;10030:1;10055:61;10108:7;10099:6;10088:9;10084:22;10055:61;:::i;:::-;10045:71;;10001:125;9788:345;;;;:::o;10139:180::-;10187:77;10184:1;10177:88;10284:4;10281:1;10274:15;10308:4;10305:1;10298:15;10325:102;10367:8;10414:5;10411:1;10407:13;10386:34;;10325:102;;;:::o;10433:848::-;10494:5;10501:4;10525:6;10516:15;;10549:5;10540:14;;10563:712;10584:1;10574:8;10571:15;10563:712;;;10679:4;10674:3;10670:14;10664:4;10661:24;10658:50;;;10688:18;;:::i;:::-;10658:50;10738:1;10728:8;10724:16;10721:451;;;11153:4;11146:5;11142:16;11133:25;;10721:451;11203:4;11197;11193:15;11185:23;;11233:32;11256:8;11233:32;:::i;:::-;11221:44;;10563:712;;;10433:848;;;;;;;:::o;11287:1073::-;11341:5;11532:8;11522:40;;11553:1;11544:10;;11555:5;;11522:40;11581:4;11571:36;;11598:1;11589:10;;11600:5;;11571:36;11667:4;11715:1;11710:27;;;;11751:1;11746:191;;;;11660:277;;11710:27;11728:1;11719:10;;11730:5;;;11746:191;11791:3;11781:8;11778:17;11775:43;;;11798:18;;:::i;:::-;11775:43;11847:8;11844:1;11840:16;11831:25;;11882:3;11875:5;11872:14;11869:40;;;11889:18;;:::i;:::-;11869:40;11922:5;;;11660:277;;12046:2;12036:8;12033:16;12027:3;12021:4;12018:13;12014:36;11996:2;11986:8;11983:16;11978:2;11972:4;11969:12;11965:35;11949:111;11946:246;;;12102:8;12096:4;12092:19;12083:28;;12137:3;12130:5;12127:14;12124:40;;;12144:18;;:::i;:::-;12124:40;12177:5;;11946:246;12217:42;12255:3;12245:8;12239:4;12236:1;12217:42;:::i;:::-;12202:57;;;;12291:4;12286:3;12282:14;12275:5;12272:25;12269:51;;;12300:18;;:::i;:::-;12269:51;12349:4;12342:5;12338:16;12329:25;;11287:1073;;;;;;:::o;12366:281::-;12424:5;12448:23;12466:4;12448:23;:::i;:::-;12440:31;;12492:25;12508:8;12492:25;:::i;:::-;12480:37;;12536:104;12573:66;12563:8;12557:4;12536:104;:::i;:::-;12527:113;;12366:281;;;;:::o;12653:410::-;12693:7;12716:20;12734:1;12716:20;:::i;:::-;12711:25;;12750:20;12768:1;12750:20;:::i;:::-;12745:25;;12805:1;12802;12798:9;12827:30;12845:11;12827:30;:::i;:::-;12816:41;;13006:1;12997:7;12993:15;12990:1;12987:22;12967:1;12960:9;12940:83;12917:139;;13036:18;;:::i;:::-;12917:139;12701:362;12653:410;;;;:::o;13069:173::-;13209:25;13205:1;13197:6;13193:14;13186:49;13069:173;:::o;13248:366::-;13390:3;13411:67;13475:2;13470:3;13411:67;:::i;:::-;13404:74;;13487:93;13576:3;13487:93;:::i;:::-;13605:2;13600:3;13596:12;13589:19;;13248:366;;;:::o;13620:419::-;13786:4;13824:2;13813:9;13809:18;13801:26;;13873:9;13867:4;13863:20;13859:1;13848:9;13844:17;13837:47;13901:131;14027:4;13901:131;:::i;:::-;13893:139;;13620:419;;;:::o;14045:85::-;14090:7;14119:5;14108:16;;14045:85;;;:::o;14136:158::-;14194:9;14227:61;14245:42;14254:32;14280:5;14254:32;:::i;:::-;14245:42;:::i;:::-;14227:61;:::i;:::-;14214:74;;14136:158;;;:::o;14300:147::-;14395:45;14434:5;14395:45;:::i;:::-;14390:3;14383:58;14300:147;;:::o;14453:807::-;14702:4;14740:3;14729:9;14725:19;14717:27;;14754:71;14822:1;14811:9;14807:17;14798:6;14754:71;:::i;:::-;14835:72;14903:2;14892:9;14888:18;14879:6;14835:72;:::i;:::-;14917:80;14993:2;14982:9;14978:18;14969:6;14917:80;:::i;:::-;15007;15083:2;15072:9;15068:18;15059:6;15007:80;:::i;:::-;15097:73;15165:3;15154:9;15150:19;15141:6;15097:73;:::i;:::-;15180;15248:3;15237:9;15233:19;15224:6;15180:73;:::i;:::-;14453:807;;;;;;;;;:::o;15266:143::-;15323:5;15354:6;15348:13;15339:22;;15370:33;15397:5;15370:33;:::i;:::-;15266:143;;;;:::o;15415:663::-;15503:6;15511;15519;15568:2;15556:9;15547:7;15543:23;15539:32;15536:119;;;15574:79;;:::i;:::-;15536:119;15694:1;15719:64;15775:7;15766:6;15755:9;15751:22;15719:64;:::i;:::-;15709:74;;15665:128;15832:2;15858:64;15914:7;15905:6;15894:9;15890:22;15858:64;:::i;:::-;15848:74;;15803:129;15971:2;15997:64;16053:7;16044:6;16033:9;16029:22;15997:64;:::i;:::-;15987:74;;15942:129;15415:663;;;;;:::o;16084:332::-;16205:4;16243:2;16232:9;16228:18;16220:26;;16256:71;16324:1;16313:9;16309:17;16300:6;16256:71;:::i;:::-;16337:72;16405:2;16394:9;16390:18;16381:6;16337:72;:::i;:::-;16084:332;;;;;:::o;16422:180::-;16470:77;16467:1;16460:88;16567:4;16564:1;16557:15;16591:4;16588:1;16581:15;16608:225;16748:34;16744:1;16736:6;16732:14;16725:58;16817:8;16812:2;16804:6;16800:15;16793:33;16608:225;:::o;16839:366::-;16981:3;17002:67;17066:2;17061:3;17002:67;:::i;:::-;16995:74;;17078:93;17167:3;17078:93;:::i;:::-;17196:2;17191:3;17187:12;17180:19;;16839:366;;;:::o;17211:419::-;17377:4;17415:2;17404:9;17400:18;17392:26;;17464:9;17458:4;17454:20;17450:1;17439:9;17435:17;17428:47;17492:131;17618:4;17492:131;:::i;:::-;17484:139;;17211:419;;;:::o;17636:223::-;17776:34;17772:1;17764:6;17760:14;17753:58;17845:6;17840:2;17832:6;17828:15;17821:31;17636:223;:::o;17865:366::-;18007:3;18028:67;18092:2;18087:3;18028:67;:::i;:::-;18021:74;;18104:93;18193:3;18104:93;:::i;:::-;18222:2;18217:3;18213:12;18206:19;;17865:366;;;:::o;18237:419::-;18403:4;18441:2;18430:9;18426:18;18418:26;;18490:9;18484:4;18480:20;18476:1;18465:9;18461:17;18454:47;18518:131;18644:4;18518:131;:::i;:::-;18510:139;;18237:419;;;:::o;18662:221::-;18802:34;18798:1;18790:6;18786:14;18779:58;18871:4;18866:2;18858:6;18854:15;18847:29;18662:221;:::o;18889:366::-;19031:3;19052:67;19116:2;19111:3;19052:67;:::i;:::-;19045:74;;19128:93;19217:3;19128:93;:::i;:::-;19246:2;19241:3;19237:12;19230:19;;18889:366;;;:::o;19261:419::-;19427:4;19465:2;19454:9;19450:18;19442:26;;19514:9;19508:4;19504:20;19500:1;19489:9;19485:17;19478:47;19542:131;19668:4;19542:131;:::i;:::-;19534:139;;19261:419;;;:::o;19686:180::-;19826:32;19822:1;19814:6;19810:14;19803:56;19686:180;:::o;19872:366::-;20014:3;20035:67;20099:2;20094:3;20035:67;:::i;:::-;20028:74;;20111:93;20200:3;20111:93;:::i;:::-;20229:2;20224:3;20220:12;20213:19;;19872:366;;;:::o;20244:419::-;20410:4;20448:2;20437:9;20433:18;20425:26;;20497:9;20491:4;20487:20;20483:1;20472:9;20468:17;20461:47;20525:131;20651:4;20525:131;:::i;:::-;20517:139;;20244:419;;;:::o;20669:224::-;20809:34;20805:1;20797:6;20793:14;20786:58;20878:7;20873:2;20865:6;20861:15;20854:32;20669:224;:::o;20899:366::-;21041:3;21062:67;21126:2;21121:3;21062:67;:::i;:::-;21055:74;;21138:93;21227:3;21138:93;:::i;:::-;21256:2;21251:3;21247:12;21240:19;;20899:366;;;:::o;21271:419::-;21437:4;21475:2;21464:9;21460:18;21452:26;;21524:9;21518:4;21514:20;21510:1;21499:9;21495:17;21488:47;21552:131;21678:4;21552:131;:::i;:::-;21544:139;;21271:419;;;:::o;21696:222::-;21836:34;21832:1;21824:6;21820:14;21813:58;21905:5;21900:2;21892:6;21888:15;21881:30;21696:222;:::o;21924:366::-;22066:3;22087:67;22151:2;22146:3;22087:67;:::i;:::-;22080:74;;22163:93;22252:3;22163:93;:::i;:::-;22281:2;22276:3;22272:12;22265:19;;21924:366;;;:::o;22296:419::-;22462:4;22500:2;22489:9;22485:18;22477:26;;22549:9;22543:4;22539:20;22535:1;22524:9;22520:17;22513:47;22577:131;22703:4;22577:131;:::i;:::-;22569:139;;22296:419;;;:::o;22721:228::-;22861:34;22857:1;22849:6;22845:14;22838:58;22930:11;22925:2;22917:6;22913:15;22906:36;22721:228;:::o;22955:366::-;23097:3;23118:67;23182:2;23177:3;23118:67;:::i;:::-;23111:74;;23194:93;23283:3;23194:93;:::i;:::-;23312:2;23307:3;23303:12;23296:19;;22955:366;;;:::o;23327:419::-;23493:4;23531:2;23520:9;23516:18;23508:26;;23580:9;23574:4;23570:20;23566:1;23555:9;23551:17;23544:47;23608:131;23734:4;23608:131;:::i;:::-;23600:139;;23327:419;;;:::o;23752:175::-;23892:27;23888:1;23880:6;23876:14;23869:51;23752:175;:::o;23933:366::-;24075:3;24096:67;24160:2;24155:3;24096:67;:::i;:::-;24089:74;;24172:93;24261:3;24172:93;:::i;:::-;24290:2;24285:3;24281:12;24274:19;;23933:366;;;:::o;24305:419::-;24471:4;24509:2;24498:9;24494:18;24486:26;;24558:9;24552:4;24548:20;24544:1;24533:9;24529:17;24522:47;24586:131;24712:4;24586:131;:::i;:::-;24578:139;;24305:419;;;:::o;24730:191::-;24770:3;24789:20;24807:1;24789:20;:::i;:::-;24784:25;;24823:20;24841:1;24823:20;:::i;:::-;24818:25;;24866:1;24863;24859:9;24852:16;;24887:3;24884:1;24881:10;24878:36;;;24894:18;;:::i;:::-;24878:36;24730:191;;;;:::o;24927:176::-;25067:28;25063:1;25055:6;25051:14;25044:52;24927:176;:::o;25109:366::-;25251:3;25272:67;25336:2;25331:3;25272:67;:::i;:::-;25265:74;;25348:93;25437:3;25348:93;:::i;:::-;25466:2;25461:3;25457:12;25450:19;;25109:366;;;:::o;25481:419::-;25647:4;25685:2;25674:9;25670:18;25662:26;;25734:9;25728:4;25724:20;25720:1;25709:9;25705:17;25698:47;25762:131;25888:4;25762:131;:::i;:::-;25754:139;;25481:419;;;:::o;25906:233::-;25945:3;25968:24;25986:5;25968:24;:::i;:::-;25959:33;;26014:66;26007:5;26004:77;26001:103;;26084:18;;:::i;:::-;26001:103;26131:1;26124:5;26120:13;26113:20;;25906:233;;;:::o;26145:165::-;26285:17;26281:1;26273:6;26269:14;26262:41;26145:165;:::o;26316:366::-;26458:3;26479:67;26543:2;26538:3;26479:67;:::i;:::-;26472:74;;26555:93;26644:3;26555:93;:::i;:::-;26673:2;26668:3;26664:12;26657:19;;26316:366;;;:::o;26688:419::-;26854:4;26892:2;26881:9;26877:18;26869:26;;26941:9;26935:4;26931:20;26927:1;26916:9;26912:17;26905:47;26969:131;27095:4;26969:131;:::i;:::-;26961:139;;26688:419;;;:::o;27113:194::-;27153:4;27173:20;27191:1;27173:20;:::i;:::-;27168:25;;27207:20;27225:1;27207:20;:::i;:::-;27202:25;;27251:1;27248;27244:9;27236:17;;27275:1;27269:4;27266:11;27263:37;;;27280:18;;:::i;:::-;27263:37;27113:194;;;;:::o;27313:180::-;27361:77;27358:1;27351:88;27458:4;27455:1;27448:15;27482:4;27479:1;27472:15;27499:185;27539:1;27556:20;27574:1;27556:20;:::i;:::-;27551:25;;27590:20;27608:1;27590:20;:::i;:::-;27585:25;;27629:1;27619:35;;27634:18;;:::i;:::-;27619:35;27676:1;27673;27669:9;27664:14;;27499:185;;;;:::o;27690:220::-;27830:34;27826:1;27818:6;27814:14;27807:58;27899:3;27894:2;27886:6;27882:15;27875:28;27690:220;:::o;27916:366::-;28058:3;28079:67;28143:2;28138:3;28079:67;:::i;:::-;28072:74;;28155:93;28244:3;28155:93;:::i;:::-;28273:2;28268:3;28264:12;28257:19;;27916:366;;;:::o;28288:419::-;28454:4;28492:2;28481:9;28477:18;28469:26;;28541:9;28535:4;28531:20;28527:1;28516:9;28512:17;28505:47;28569:131;28695:4;28569:131;:::i;:::-;28561:139;;28288:419;;;:::o;28713:180::-;28761:77;28758:1;28751:88;28858:4;28855:1;28848:15;28882:4;28879:1;28872:15;28899:143;28956:5;28987:6;28981:13;28972:22;;29003:33;29030:5;29003:33;:::i;:::-;28899:143;;;;:::o;29048:351::-;29118:6;29167:2;29155:9;29146:7;29142:23;29138:32;29135:119;;;29173:79;;:::i;:::-;29135:119;29293:1;29318:64;29374:7;29365:6;29354:9;29350:22;29318:64;:::i;:::-;29308:74;;29264:128;29048:351;;;;:::o;29405:114::-;29472:6;29506:5;29500:12;29490:22;;29405:114;;;:::o;29525:184::-;29624:11;29658:6;29653:3;29646:19;29698:4;29693:3;29689:14;29674:29;;29525:184;;;;:::o;29715:132::-;29782:4;29805:3;29797:11;;29835:4;29830:3;29826:14;29818:22;;29715:132;;;:::o;29853:108::-;29930:24;29948:5;29930:24;:::i;:::-;29925:3;29918:37;29853:108;;:::o;29967:179::-;30036:10;30057:46;30099:3;30091:6;30057:46;:::i;:::-;30135:4;30130:3;30126:14;30112:28;;29967:179;;;;:::o;30152:113::-;30222:4;30254;30249:3;30245:14;30237:22;;30152:113;;;:::o;30301:732::-;30420:3;30449:54;30497:5;30449:54;:::i;:::-;30519:86;30598:6;30593:3;30519:86;:::i;:::-;30512:93;;30629:56;30679:5;30629:56;:::i;:::-;30708:7;30739:1;30724:284;30749:6;30746:1;30743:13;30724:284;;;30825:6;30819:13;30852:63;30911:3;30896:13;30852:63;:::i;:::-;30845:70;;30938:60;30991:6;30938:60;:::i;:::-;30928:70;;30784:224;30771:1;30768;30764:9;30759:14;;30724:284;;;30728:14;31024:3;31017:10;;30425:608;;;30301:732;;;;:::o;31039:831::-;31302:4;31340:3;31329:9;31325:19;31317:27;;31354:71;31422:1;31411:9;31407:17;31398:6;31354:71;:::i;:::-;31435:80;31511:2;31500:9;31496:18;31487:6;31435:80;:::i;:::-;31562:9;31556:4;31552:20;31547:2;31536:9;31532:18;31525:48;31590:108;31693:4;31684:6;31590:108;:::i;:::-;31582:116;;31708:72;31776:2;31765:9;31761:18;31752:6;31708:72;:::i;:::-;31790:73;31858:3;31847:9;31843:19;31834:6;31790:73;:::i;:::-;31039:831;;;;;;;;:::o;31876:177::-;32016:29;32012:1;32004:6;32000:14;31993:53;31876:177;:::o;32059:366::-;32201:3;32222:67;32286:2;32281:3;32222:67;:::i;:::-;32215:74;;32298:93;32387:3;32298:93;:::i;:::-;32416:2;32411:3;32407:12;32400:19;;32059:366;;;:::o;32431:419::-;32597:4;32635:2;32624:9;32620:18;32612:26;;32684:9;32678:4;32674:20;32670:1;32659:9;32655:17;32648:47;32712:131;32838:4;32712:131;:::i;:::-;32704:139;;32431:419;;;:::o

Swarm Source

ipfs://c100fb91fab97fbe06b2938b5b3f667b18dbd468fb064c92e893fd2a713dbaf3

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.