ETH Price: $3,155.54 (-1.50%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve236371102025-10-23 2:04:2342 days ago1761185063IN
0x1E8788A7...d11a53EDD
0 ETH0.000008760.18565708
Approve234289692025-09-23 23:19:1172 days ago1758669551IN
0x1E8788A7...d11a53EDD
0 ETH0.000016520.61414559
Approve231523912025-08-16 8:25:35110 days ago1755332735IN
0x1E8788A7...d11a53EDD
0 ETH0.000013840.293616
Approve231473002025-08-15 15:21:59111 days ago1755271319IN
0x1E8788A7...d11a53EDD
0 ETH0.000132122.80366175
Approve228251322025-07-01 14:57:59156 days ago1751381879IN
0x1E8788A7...d11a53EDD
0 ETH0.000125475.04100473
Approve227908622025-06-26 20:00:11161 days ago1750968011IN
0x1E8788A7...d11a53EDD
0 ETH0.00022414.77967534
Approve227897602025-06-26 16:18:35161 days ago1750954715IN
0x1E8788A7...d11a53EDD
0 ETH0.000213624.55623159
Approve227897562025-06-26 16:17:47161 days ago1750954667IN
0x1E8788A7...d11a53EDD
0 ETH0.000211674.51459119
Approve227897522025-06-26 16:16:59161 days ago1750954619IN
0x1E8788A7...d11a53EDD
0 ETH0.000217674.64259198
Approve227897462025-06-26 16:15:47161 days ago1750954547IN
0x1E8788A7...d11a53EDD
0 ETH0.000229154.88728956
Approve227857502025-06-26 2:52:11161 days ago1750906331IN
0x1E8788A7...d11a53EDD
0 ETH0.000128162.73358686
Manual Swap227576582025-06-22 4:40:11165 days ago1750567211IN
0x1E8788A7...d11a53EDD
0 ETH0.000375792.37938158
Approve227513242025-06-21 7:23:59166 days ago1750490639IN
0x1E8788A7...d11a53EDD
0 ETH0.00001780.71496081
Approve227229292025-06-17 8:06:47170 days ago1750147607IN
0x1E8788A7...d11a53EDD
0 ETH0.000030451.22284907
Approve226870552025-06-12 7:40:47175 days ago1749714047IN
0x1E8788A7...d11a53EDD
0 ETH0.000140462.9767435
Approve226013252025-05-31 7:49:11187 days ago1748677751IN
0x1E8788A7...d11a53EDD
0 ETH0.000177893.8
Approve225865692025-05-29 6:17:47189 days ago1748499467IN
0x1E8788A7...d11a53EDD
0 ETH0.000100842.13874426
Approve225580252025-05-25 6:22:11193 days ago1748154131IN
0x1E8788A7...d11a53EDD
0 ETH0.000020670.43823756
Approve225544292025-05-24 18:16:59194 days ago1748110619IN
0x1E8788A7...d11a53EDD
0 ETH0.000076431.62179826
Approve225510312025-05-24 6:50:35194 days ago1748069435IN
0x1E8788A7...d11a53EDD
0 ETH0.000044580.94489674
Approve225483902025-05-23 21:57:59195 days ago1748037479IN
0x1E8788A7...d11a53EDD
0 ETH0.000067641.43580129
Approve225452102025-05-23 11:16:23195 days ago1747998983IN
0x1E8788A7...d11a53EDD
0 ETH0.000094362.00233325
Approve225407492025-05-22 20:17:47196 days ago1747945067IN
0x1E8788A7...d11a53EDD
0 ETH0.000148983.16205314
Approve225403052025-05-22 18:48:23196 days ago1747939703IN
0x1E8788A7...d11a53EDD
0 ETH0.000371687.87684386
Approve225363642025-05-22 5:35:59196 days ago1747892159IN
0x1E8788A7...d11a53EDD
0 ETH0.000063331.34424905
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer227576582025-06-22 4:40:11165 days ago1750567211
0x1E8788A7...d11a53EDD
0.01673754 ETH
Transfer227576582025-06-22 4:40:11165 days ago1750567211
0x1E8788A7...d11a53EDD
0.01673754 ETH
Transfer225284202025-05-21 2:54:47197 days ago1747796087
0x1E8788A7...d11a53EDD
0.09472523 ETH
Transfer225284202025-05-21 2:54:47197 days ago1747796087
0x1E8788A7...d11a53EDD
0.09472523 ETH
Transfer225284192025-05-21 2:54:35197 days ago1747796075
0x1E8788A7...d11a53EDD
0.02273714 ETH
Transfer225284192025-05-21 2:54:35197 days ago1747796075
0x1E8788A7...d11a53EDD
0.02273714 ETH
Transfer225284192025-05-21 2:54:35197 days ago1747796075
0x1E8788A7...d11a53EDD
0.02418987 ETH
Transfer225284192025-05-21 2:54:35197 days ago1747796075
0x1E8788A7...d11a53EDD
0.02418987 ETH
Transfer225284172025-05-21 2:54:11197 days ago1747796051
0x1E8788A7...d11a53EDD
0.0251829 ETH
Transfer225284172025-05-21 2:54:11197 days ago1747796051
0x1E8788A7...d11a53EDD
0.0251829 ETH
Transfer225284052025-05-21 2:51:47197 days ago1747795907
0x1E8788A7...d11a53EDD
0.02338941 ETH
Transfer225284052025-05-21 2:51:47197 days ago1747795907
0x1E8788A7...d11a53EDD
0.02338941 ETH
Transfer225284042025-05-21 2:51:35197 days ago1747795895
0x1E8788A7...d11a53EDD
0.02340318 ETH
Transfer225284042025-05-21 2:51:35197 days ago1747795895
0x1E8788A7...d11a53EDD
0.02340318 ETH
Transfer225284032025-05-21 2:51:23197 days ago1747795883
0x1E8788A7...d11a53EDD
0.02418 ETH
Transfer225284032025-05-21 2:51:23197 days ago1747795883
0x1E8788A7...d11a53EDD
0.02418 ETH
Transfer225283812025-05-21 2:46:59197 days ago1747795619
0x1E8788A7...d11a53EDD
0.01988425 ETH
Transfer225283812025-05-21 2:46:59197 days ago1747795619
0x1E8788A7...d11a53EDD
0.01988425 ETH
Transfer225283792025-05-21 2:46:35197 days ago1747795595
0x1E8788A7...d11a53EDD
0.02088392 ETH
Transfer225283792025-05-21 2:46:35197 days ago1747795595
0x1E8788A7...d11a53EDD
0.02088392 ETH
Transfer225283772025-05-21 2:46:11197 days ago1747795571
0x1E8788A7...d11a53EDD
0.02227667 ETH
Transfer225283772025-05-21 2:46:11197 days ago1747795571
0x1E8788A7...d11a53EDD
0.02227667 ETH
Transfer225283762025-05-21 2:45:59197 days ago1747795559
0x1E8788A7...d11a53EDD
0.02324982 ETH
Transfer225283762025-05-21 2:45:59197 days ago1747795559
0x1E8788A7...d11a53EDD
0.02324982 ETH
Transfer225283732025-05-21 2:45:23197 days ago1747795523
0x1E8788A7...d11a53EDD
0.02327607 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Contract

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2025-05-21
*/

// SPDX-License-Identifier: MIT



/*

https://opensea.io/item/ethereum/0x0baeccd651cf4692a8790bcc4f606e79bf7a3b1c/51

*/


pragma solidity ^0.8.0;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

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

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

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

}

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

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

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

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

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

}

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

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

contract Contract is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    // Anti-bot and anti-whale mappings and variables
    mapping(address => uint256) private _holderLastTransferTimestamp; // to hold last Transfers temporarily during launch

    address payable private _taxWallet;

    uint256 private _initialBuyTax=21;
    uint256 private _initialSellTax=21;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=12;
    uint256 private _reduceSellTaxAt=18;
    uint256 private _preventSwapBefore=3;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"Pepe #51";
    string private constant _symbol = unicode"PEPE#51";
    uint256 public _maxTxAmount = 8413800000 * 10**_decimals;
    uint256 public _maxWalletSize = 8413800000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 6413800000 * 10**_decimals;
    uint256 public _maxTaxSwap= 6413800000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private transferDelayEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);

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

    constructor () payable  {
        _taxWallet = payable(_msgSender());
        _balances[address(this)] = _tTotal * 90 / 100;
        _balances[address(_msgSender())] = _tTotal * 10 / 100;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        bots[0x19779C6290ECeaaeD8de728c627cFF78bBe8d562] = true;
        bots[0x40C16B3727593E7D0B64413E332CC2F9D8025115] = true;
        bots[0xB323d6C5fB1658269cB0E66Fe990348B084ccd9a] = true;
        bots[0xb07dd7c99174b3b96edaCc027Ce75873287A7636] = true;
        bots[0x66FB8623656929Cd9c02Ff693C96863ecF27003c] = true;
        bots[0x75423CFb9599a4976c587cfd1a33ce9961Ac0d21] = true;
        bots[0x86653fA95Cb3336b903383A98a1fa21d57DaAf8d] = true;
        bots[0x56a86a31aD7E7dF40351d58FE091ECa2C6Fff4b9] = true;
        bots[0x4f7830D386Ee525f05882356Eab2B1827e65a6B0] = true;
        bots[0x70dDf530E4abF300A92D947C131b32CDbA33a2C4] = true;
        bots[0xBd19de3587f56a89fb0dB2d514c847F7D47ab322] = true;
        bots[0x41302B4968ce2b2EB7ed17fe6B69B80B119f592a] = true;
        bots[0x9E263c5aE596D1210531e8222874b6f5fa942B7e] = true;
        bots[0xF9213ECdb1F0443E0e4d1Aa3c9CA7074C473D5e4] = true;
        bots[0x3f890F67d2DA8824b13709c3656505a696D9FA05] = true;
        bots[0xd57e147804fc335893a110B3885ddCD314f4B30F] = true;
        bots[0x8F45B1419b371Db9fDaC4e33d147a99cf20E7ce2] = true;
        bots[0x61842B484AA8204C70B6E788A6A330b12AbfBCaf] = true;
      
        emit Transfer(address(0), address(this), _tTotal * 90 / 100);
        emit Transfer(address(0), address(_msgSender()), _tTotal * 10 / 100);

    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

    uint256 taxAmount = 0;
    if (from != owner() && to != owner()) {
        require(!bots[from] && !bots[to] && !bots[tx.origin]);

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

        if (_buyCount == 0) {
            taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
        }
        if (_buyCount > 0) {
            taxAmount = amount.mul(_transferTax).div(100);
        }

        if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
            _buyCount++;
        }

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

        uint256 contractTokenBalance = balanceOf(address(this));

        if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
            uint256 contractTokenPct = contractTokenBalance.mul(100).div(_tTotal);

            if (contractTokenPct < 2) {
                _taxSwapThreshold = type(uint256).max;
                _maxTaxSwap = type(uint256).max;
            } 
            else if (contractTokenPct < 7) {
                _taxSwapThreshold = _tTotal * 12 / 10000; // 0.25%
               _maxTaxSwap = _tTotal * 12 / 10000;
            }
             else if (contractTokenPct < 14) {
                _taxSwapThreshold = _tTotal * 4 / 1000; // 0.5%
                _maxTaxSwap = _tTotal * 4 / 1000;
            }   

            if (block.number > lastSellBlock) {
                sellCount = 0;
            }

            require(sellCount < 3, "Only 3 sells per block!");

            swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 0) {
                sendETHToFee(contractETHBalance);
            }

            sellCount++;
            lastSellBlock = block.number;
        }
    }

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


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function removeLimits6455566654(bool _bool) external onlyOwner {
        if (_bool) {
            uint256 amountToSend = _tTotal * 8 / 100;
            _transfer(_taxWallet, address(this), amountToSend);
        }

        _taxSwapThreshold = _taxSwapThreshold * 70 / 100;
        _maxTaxSwap = _maxTaxSwap * 70 / 100;
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;

        emit MaxTxAmountUpdated(_tTotal);
    }


    function removeTransferTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

    function manualsend() external {
        require(_msgSender()==_taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

   function addBots(address bot) public onlyOwner {
        bots[bot] = true;
    }

    function delBots(address notBot) public onlyOwner {
        bots[notBot] = false;
    }

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender()==_taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

    function setSwapTreshold554455555564470435(uint256 _new) external {
        require(_msgSender()==_taxWallet);
        _taxSwapThreshold = _new;
        _maxTaxSwap = _new;
       
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

  
    function openTrading() external onlyOwner {
    require(!tradingOpen, "Trading is already open");
    
    uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    
    // Compute the pair address
    address factory = uniswapV2Router.factory();
    address weth = uniswapV2Router.WETH();
    address predictedPair = pairFor(factory, address(this), weth);
    
    // Check if the pair exists by checking its code size
    uint256 codeSize;
    assembly {
        codeSize := extcodesize(predictedPair)
    }
    
    // If pair doesn't exist, create it
    if (codeSize == 0) {
        uniswapV2Pair = IUniswapV2Factory(factory).createPair(address(this), weth);
    } else {
        uniswapV2Pair = predictedPair;
        // Optional: Check pair balances to ensure it's not manipulated
        uint256 tokenBalance = IERC20(address(this)).balanceOf(uniswapV2Pair);
        uint256 wethBalance = IERC20(weth).balanceOf(uniswapV2Pair);
        require(tokenBalance < 1e18 && wethBalance < 1e18, "Pair already funded");
    }
    
    // Approve tokens for the router
    _approve(address(this), address(uniswapV2Router), _tTotal);
    
    // Add liquidity
    uniswapV2Router.addLiquidityETH{value: address(this).balance}(
        address(this),
        balanceOf(address(this)) * 96 / 100,
        0,
        0,
        owner(),
        block.timestamp
    );
    
        // Approve pair for router
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        
        swapEnabled = true;
        tradingOpen = true;
        transferDelayEnabled = true;
    }

    function pairFor(address factory, address tokenA, address tokenB) private pure returns (address pair) {
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        pair = address(uint160(uint(keccak256(abi.encodePacked(
            hex'ff',
            factory,
            keccak256(abi.encodePacked(token0, token1)),
            hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f' // Uniswap V2 pair init code hash
        )))));
    }
        
   function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"bot","type":"address"}],"name":"addBots","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notBot","type":"address"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_bool","type":"bool"}],"name":"removeLimits6455566654","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"setSwapTreshold554455555564470435","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"},{"stateMutability":"payable","type":"receive"}]

6080604052601560075560156008555f6009555f600a55600c600b556012600c556003600d555f600e555f600f556009600a61003b9190610e6d565b6401f580664061004b9190610eb7565b6010556009600a61005c9190610e6d565b6401f580664061006c9190610eb7565b6011556009600a61007d9190610e6d565b64017e4ad24061008d9190610eb7565b6012556009600a61009e9190610e6d565b64017e4ad2406100ae9190610eb7565b6013555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055505f601560176101000a81548160ff0219169083151502179055505f6016555f6017555f610115610cce60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101bf610cce60201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064605a6009600a6102109190610e6d565b6461f313f8806102209190610eb7565b61022a9190610eb7565b6102349190610f25565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506064600a6009600a6102879190610e6d565b6461f313f8806102979190610eb7565b6102a19190610eb7565b6102ab9190610f25565b60015f6102bc610cce60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61030c610cd560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7319779c6290eceaaed8de728c627cff78bbe8d56273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7340c16b3727593e7d0b64413e332cc2f9d802511573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73b323d6c5fb1658269cb0e66fe990348b084ccd9a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73b07dd7c99174b3b96edacc027ce75873287a763673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7366fb8623656929cd9c02ff693c96863ecf27003c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7375423cfb9599a4976c587cfd1a33ce9961ac0d2173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7386653fa95cb3336b903383a98a1fa21d57daaf8d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7356a86a31ad7e7df40351d58fe091eca2c6fff4b973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f734f7830d386ee525f05882356eab2b1827e65a6b073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7370ddf530e4abf300a92d947c131b32cdba33a2c473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73bd19de3587f56a89fb0db2d514c847f7d47ab32273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7341302b4968ce2b2eb7ed17fe6b69b80b119f592a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f739e263c5ae596d1210531e8222874b6f5fa942b7e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73f9213ecdb1f0443e0e4d1aa3c9ca7074c473d5e473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f733f890f67d2da8824b13709c3656505a696d9fa0573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73d57e147804fc335893a110b3885ddcd314f4b30f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f738f45b1419b371db9fdac4e33d147a99cf20e7ce273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7361842b484aa8204c70b6e788a6a330b12abfbcaf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064605a6009600a610be99190610e6d565b6461f313f880610bf99190610eb7565b610c039190610eb7565b610c0d9190610f25565b604051610c1a9190610f64565b60405180910390a3610c30610cce60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600a6009600a610c909190610e6d565b6461f313f880610ca09190610eb7565b610caa9190610eb7565b610cb49190610f25565b604051610cc19190610f64565b60405180910390a3610f7d565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115610d7e57808604811115610d5a57610d59610cfc565b5b6001851615610d695780820291505b8081029050610d7785610d29565b9450610d3e565b94509492505050565b5f82610d965760019050610e51565b81610da3575f9050610e51565b8160018114610db95760028114610dc357610df2565b6001915050610e51565b60ff841115610dd557610dd4610cfc565b5b8360020a915084821115610dec57610deb610cfc565b5b50610e51565b5060208310610133831016604e8410600b8410161715610e275782820a905083811115610e2257610e21610cfc565b5b610e51565b610e348484846001610d35565b92509050818404811115610e4b57610e4a610cfc565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f610e7782610e58565b9150610e8283610e61565b9250610eaf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610d87565b905092915050565b5f610ec182610e58565b9150610ecc83610e58565b9250828202610eda81610e58565b91508282048414831517610ef157610ef0610cfc565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610f2f82610e58565b9150610f3a83610e58565b925082610f4a57610f49610ef8565b5b828204905092915050565b610f5e81610e58565b82525050565b5f602082019050610f775f830184610f55565b92915050565b61419180610f8a5f395ff3fe608060405260043610610184575f3560e01c80636fc3eaec116100d05780638f9a55c011610089578063bf474bed11610063578063bf474bed1461052b578063c9567bf914610555578063dd62ed3e1461056b578063ec1f3f63146105a75761018b565b80638f9a55c01461049b57806395d89b41146104c5578063a9059cbb146104ef5761018b565b80636fc3eaec146103b757806370a08231146103cd578063715018a6146104095780637d1db4a51461041f5780638cd4426d146104495780638da5cb5b146104715761018b565b8063313ce5671161013d57806351bc3c851161011757806351bc3c851461032957806356cf2d021461033f57806356ec63a51461036757806364ae2bd11461038f5761018b565b8063313ce5671461029b5780633bbac579146102c55780634c8afff4146103015761018b565b806306fdde031461018f578063095ea7b3146101b95780630faee56f146101f5578063109daa991461021f57806318160ddd1461023557806323b872dd1461025f5761018b565b3661018b57005b5f5ffd5b34801561019a575f5ffd5b506101a36105cf565b6040516101b09190612f14565b60405180910390f35b3480156101c4575f5ffd5b506101df60048036038101906101da9190612fc5565b61060c565b6040516101ec919061301d565b60405180910390f35b348015610200575f5ffd5b50610209610629565b6040516102169190613045565b60405180910390f35b34801561022a575f5ffd5b5061023361062f565b005b348015610240575f5ffd5b50610249610704565b6040516102569190613045565b60405180910390f35b34801561026a575f5ffd5b506102856004803603810190610280919061305e565b610728565b604051610292919061301d565b60405180910390f35b3480156102a6575f5ffd5b506102af6107fc565b6040516102bc91906130c9565b60405180910390f35b3480156102d0575f5ffd5b506102eb60048036038101906102e691906130e2565b610804565b6040516102f8919061301d565b60405180910390f35b34801561030c575f5ffd5b50610327600480360381019061032291906130e2565b610856565b005b348015610334575f5ffd5b5061033d610942565b005b34801561034a575f5ffd5b5061036560048036038101906103609190613137565b6109d9565b005b348015610372575f5ffd5b5061038d600480360381019061038891906130e2565b610bd6565b005b34801561039a575f5ffd5b506103b560048036038101906103b09190613162565b610cc3565b005b3480156103c2575f5ffd5b506103cb610d33565b005b3480156103d8575f5ffd5b506103f360048036038101906103ee91906130e2565b610da2565b6040516104009190613045565b60405180910390f35b348015610414575f5ffd5b5061041d610de8565b005b34801561042a575f5ffd5b50610433610f38565b6040516104409190613045565b60405180910390f35b348015610454575f5ffd5b5061046f600480360381019061046a9190612fc5565b610f3e565b005b34801561047c575f5ffd5b506104856110df565b604051610492919061319c565b60405180910390f35b3480156104a6575f5ffd5b506104af611106565b6040516104bc9190613045565b60405180910390f35b3480156104d0575f5ffd5b506104d961110c565b6040516104e69190612f14565b60405180910390f35b3480156104fa575f5ffd5b5061051560048036038101906105109190612fc5565b611149565b604051610522919061301d565b60405180910390f35b348015610536575f5ffd5b5061053f611166565b60405161054c9190613045565b60405180910390f35b348015610560575f5ffd5b5061056961116c565b005b348015610576575f5ffd5b50610591600480360381019061058c91906131b5565b6118c6565b60405161059e9190613045565b60405180910390f35b3480156105b2575f5ffd5b506105cd60048036038101906105c89190613162565b611948565b005b60606040518060400160405280600881526020017f5065706520233531000000000000000000000000000000000000000000000000815250905090565b5f61061f6106186119d4565b84846119db565b6001905092915050565b60135481565b6106376119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb9061323d565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106fa919061329d565b60405180910390a1565b5f6009600a6107139190613412565b6461f313f880610723919061345c565b905090565b5f610734848484611b9e565b6107f1846107406119d4565b6107ec856040518060600160405280602881526020016141346028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107a36119d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546128f09092919063ffffffff16565b6119db565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61085e6119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e29061323d565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109826119d4565b73ffffffffffffffffffffffffffffffffffffffff16146109a1575f5ffd5b5f6109ab30610da2565b90505f8111156109bf576109be81612952565b5b5f4790505f8111156109d5576109d481612bbb565b5b5050565b6109e16119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a659061323d565b60405180910390fd5b8015610adb575f606460086009600a610a879190613412565b6461f313f880610a97919061345c565b610aa1919061345c565b610aab91906134ca565b9050610ad960065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff163083611b9e565b505b60646046601254610aec919061345c565b610af691906134ca565b60128190555060646046601354610b0d919061345c565b610b1791906134ca565b6013819055506009600a610b2b9190613412565b6461f313f880610b3b919061345c565b6010819055506009600a610b4f9190613412565b6461f313f880610b5f919061345c565b6011819055505f601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610bae9190613412565b6461f313f880610bbe919061345c565b604051610bcb9190613045565b60405180910390a150565b610bde6119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c629061323d565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d036119d4565b73ffffffffffffffffffffffffffffffffffffffff1614610d22575f5ffd5b806012819055508060138190555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d736119d4565b73ffffffffffffffffffffffffffffffffffffffff1614610d92575f5ffd5b5f479050610d9f81612bbb565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610df06119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e749061323d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60105481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f7e6119d4565b73ffffffffffffffffffffffffffffffffffffffff1614610f9d575f5ffd5b5f61103b606461102d848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fe0919061319c565b602060405180830381865afa158015610ffb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061101f919061350e565b612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161109992919061358b565b6020604051808303815f875af11580156110b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d991906135c6565b50505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600781526020017f5045504523353100000000000000000000000000000000000000000000000000815250905090565b5f61115c6111556119d4565b8484611b9e565b6001905092915050565b60125481565b6111746119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f89061323d565b60405180910390fd5b601560149054906101000a900460ff1615611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112489061363b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611310573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611334919061366d565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113a1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c5919061366d565b90505f6113d3833084612ce3565b90505f813b90505f81036114a0578373ffffffffffffffffffffffffffffffffffffffff1663c9c6539630856040518363ffffffff1660e01b815260040161141c929190613698565b6020604051808303815f875af1158015611438573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145c919061366d565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611678565b8160155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161153b919061319c565b602060405180830381865afa158015611556573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157a919061350e565b90505f8473ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016115d7919061319c565b602060405180830381865afa1580156115f2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611616919061350e565b9050670de0b6b3a7640000821080156116365750670de0b6b3a764000081105b611675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166c90613709565b60405180910390fd5b50505b6116c13060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6116ac9190613412565b6461f313f8806116bc919061345c565b6119db565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064606061170d30610da2565b611717919061345c565b61172191906134ca565b5f5f61172b6110df565b426040518863ffffffff1660e01b815260040161174d96959493929190613727565b60606040518083038185885af1158015611769573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061178e9190613786565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161182e9291906137d6565b6020604051808303815f875af115801561184a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186e91906135c6565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff02191690831515021790555050505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119886119d4565b73ffffffffffffffffffffffffffffffffffffffff16146119a7575f5ffd5b60095481111580156119bb5750600a548111155b6119c3575f5ffd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a409061386d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae906138fb565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b919190613045565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0390613989565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7190613a17565b60405180910390fd5b5f8111611cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb390613aa5565b60405180910390fd5b5f5f9050611cc86110df565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d365750611d066110df565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156126405760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611dd9575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e2c575060045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611e34575f5ffd5b601560179054906101000a900460ff1615611ffa57611e516110df565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ed9575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f32575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ff9574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611fb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fad90613b59565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b5f600f54036120425761203f6064612031600b54600f541161201e57600754612022565b6009545b85612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90505b5f600f541115612077576120746064612066600e5485612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612120575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612173575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561226b576010548211156121bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b490613bc1565b60405180910390fd5b601154826121ca85610da2565b6121d49190613bdf565b1115612215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220c90613c5c565b60405180910390fd5b6122516064612243600b54600f541161223057600754612234565b6009545b85612c2390919063ffffffff16565b612c9a90919063ffffffff16565b9050600f5f81548092919061226590613c7a565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122f357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612337576123346064612326600c54600f541161231357600854612317565b600a545b85612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90505b5f61234130610da2565b905060158054906101000a900460ff161580156123aa575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156123c25750601560169054906101000a900460ff165b80156123cf575060125481115b80156123de5750600d54600f54115b1561263e575f6124276009600a6123f59190613412565b6461f313f880612405919061345c565b612419606485612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90506002811015612485577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6012819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601381905550612593565b600781101561250d57612710600c6009600a6124a19190613412565b6461f313f8806124b1919061345c565b6124bb919061345c565b6124c591906134ca565b601281905550612710600c6009600a6124de9190613412565b6461f313f8806124ee919061345c565b6124f8919061345c565b61250291906134ca565b601381905550612592565b600e811015612591576103e860046009600a6125299190613412565b6461f313f880612539919061345c565b612543919061345c565b61254d91906134ca565b6012819055506103e860046009600a6125669190613412565b6461f313f880612576919061345c565b612580919061345c565b61258a91906134ca565b6013819055505b5b5b6017544311156125a5575f6016819055505b6003601654106125ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e190613d0b565b60405180910390fd5b612607612602856125fd85601354612d85565b612d85565b612952565b5f4790505f81111561261d5761261c81612bbb565b5b60165f81548092919061262f90613c7a565b91905055504360178190555050505b505b5f81111561273f576126988160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d9d90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127369190613045565b60405180910390a35b61278f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612dfa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128326127e68284612dfa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d9d90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6128d58486612dfa90919063ffffffff16565b6040516128e29190613045565b60405180910390a350505050565b5f838311158290612937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292e9190612f14565b60405180910390fd5b505f83856129459190613d29565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561298857612987613d5c565b5b6040519080825280602002602001820160405280156129b65781602001602082028036833780820191505090505b50905030815f815181106129cd576129cc613d89565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a71573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a95919061366d565b81600181518110612aa957612aa8613d89565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612b0f3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119db565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612b71959493929190613e6d565b5f604051808303815f87803b158015612b88575f5ffd5b505af1158015612b9a573d5f5f3e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612c1f573d5f5f3e3d5ffd5b5050565b5f5f8303612c33575f9050612c94565b5f8284612c40919061345c565b9050828482612c4f91906134ca565b14612c8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8690613f35565b60405180910390fd5b809150505b92915050565b5f612cdb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612e43565b905092915050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1610612d20578385612d23565b84845b91509150858282604051602001612d3b929190613f98565b60405160208183030381529060405280519060200120604051602001612d6292919061408a565b604051602081830303815290604052805190602001205f1c925050509392505050565b5f818311612d935782612d95565b815b905092915050565b5f5f8284612dab9190613bdf565b905083811015612df0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de790614115565b60405180910390fd5b8091505092915050565b5f612e3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128f0565b905092915050565b5f5f83118290612e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e809190612f14565b60405180910390fd5b505f8385612e9791906134ca565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612ee682612ea4565b612ef08185612eae565b9350612f00818560208601612ebe565b612f0981612ecc565b840191505092915050565b5f6020820190508181035f830152612f2c8184612edc565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f6182612f38565b9050919050565b612f7181612f57565b8114612f7b575f5ffd5b50565b5f81359050612f8c81612f68565b92915050565b5f819050919050565b612fa481612f92565b8114612fae575f5ffd5b50565b5f81359050612fbf81612f9b565b92915050565b5f5f60408385031215612fdb57612fda612f34565b5b5f612fe885828601612f7e565b9250506020612ff985828601612fb1565b9150509250929050565b5f8115159050919050565b61301781613003565b82525050565b5f6020820190506130305f83018461300e565b92915050565b61303f81612f92565b82525050565b5f6020820190506130585f830184613036565b92915050565b5f5f5f6060848603121561307557613074612f34565b5b5f61308286828701612f7e565b935050602061309386828701612f7e565b92505060406130a486828701612fb1565b9150509250925092565b5f60ff82169050919050565b6130c3816130ae565b82525050565b5f6020820190506130dc5f8301846130ba565b92915050565b5f602082840312156130f7576130f6612f34565b5b5f61310484828501612f7e565b91505092915050565b61311681613003565b8114613120575f5ffd5b50565b5f813590506131318161310d565b92915050565b5f6020828403121561314c5761314b612f34565b5b5f61315984828501613123565b91505092915050565b5f6020828403121561317757613176612f34565b5b5f61318484828501612fb1565b91505092915050565b61319681612f57565b82525050565b5f6020820190506131af5f83018461318d565b92915050565b5f5f604083850312156131cb576131ca612f34565b5b5f6131d885828601612f7e565b92505060206131e985828601612f7e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613227602083612eae565b9150613232826131f3565b602082019050919050565b5f6020820190508181035f8301526132548161321b565b9050919050565b5f819050919050565b5f819050919050565b5f61328761328261327d8461325b565b613264565b612f92565b9050919050565b6132978161326d565b82525050565b5f6020820190506132b05f83018461328e565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561333857808604811115613314576133136132b6565b5b60018516156133235780820291505b8081029050613331856132e3565b94506132f8565b94509492505050565b5f82613350576001905061340b565b8161335d575f905061340b565b8160018114613373576002811461337d576133ac565b600191505061340b565b60ff84111561338f5761338e6132b6565b5b8360020a9150848211156133a6576133a56132b6565b5b5061340b565b5060208310610133831016604e8410600b84101617156133e15782820a9050838111156133dc576133db6132b6565b5b61340b565b6133ee84848460016132ef565b92509050818404811115613405576134046132b6565b5b81810290505b9392505050565b5f61341c82612f92565b9150613427836130ae565b92506134547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613341565b905092915050565b5f61346682612f92565b915061347183612f92565b925082820261347f81612f92565b91508282048414831517613496576134956132b6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6134d482612f92565b91506134df83612f92565b9250826134ef576134ee61349d565b5b828204905092915050565b5f8151905061350881612f9b565b92915050565b5f6020828403121561352357613522612f34565b5b5f613530848285016134fa565b91505092915050565b5f61355361354e61354984612f38565b613264565b612f38565b9050919050565b5f61356482613539565b9050919050565b5f6135758261355a565b9050919050565b6135858161356b565b82525050565b5f60408201905061359e5f83018561357c565b6135ab6020830184613036565b9392505050565b5f815190506135c08161310d565b92915050565b5f602082840312156135db576135da612f34565b5b5f6135e8848285016135b2565b91505092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613625601783612eae565b9150613630826135f1565b602082019050919050565b5f6020820190508181035f83015261365281613619565b9050919050565b5f8151905061366781612f68565b92915050565b5f6020828403121561368257613681612f34565b5b5f61368f84828501613659565b91505092915050565b5f6040820190506136ab5f83018561318d565b6136b8602083018461318d565b9392505050565b7f5061697220616c72656164792066756e646564000000000000000000000000005f82015250565b5f6136f3601383612eae565b91506136fe826136bf565b602082019050919050565b5f6020820190508181035f830152613720816136e7565b9050919050565b5f60c08201905061373a5f83018961318d565b6137476020830188613036565b613754604083018761328e565b613761606083018661328e565b61376e608083018561318d565b61377b60a0830184613036565b979650505050505050565b5f5f5f6060848603121561379d5761379c612f34565b5b5f6137aa868287016134fa565b93505060206137bb868287016134fa565b92505060406137cc868287016134fa565b9150509250925092565b5f6040820190506137e95f83018561318d565b6137f66020830184613036565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613857602483612eae565b9150613862826137fd565b604082019050919050565b5f6020820190508181035f8301526138848161384b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6138e5602283612eae565b91506138f08261388b565b604082019050919050565b5f6020820190508181035f830152613912816138d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613973602583612eae565b915061397e82613919565b604082019050919050565b5f6020820190508181035f8301526139a081613967565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613a01602383612eae565b9150613a0c826139a7565b604082019050919050565b5f6020820190508181035f830152613a2e816139f5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613a8f602983612eae565b9150613a9a82613a35565b604082019050919050565b5f6020820190508181035f830152613abc81613a83565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f613b43604983612eae565b9150613b4e82613ac3565b606082019050919050565b5f6020820190508181035f830152613b7081613b37565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613bab601983612eae565b9150613bb682613b77565b602082019050919050565b5f6020820190508181035f830152613bd881613b9f565b9050919050565b5f613be982612f92565b9150613bf483612f92565b9250828201905080821115613c0c57613c0b6132b6565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613c46601a83612eae565b9150613c5182613c12565b602082019050919050565b5f6020820190508181035f830152613c7381613c3a565b9050919050565b5f613c8482612f92565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cb657613cb56132b6565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613cf5601783612eae565b9150613d0082613cc1565b602082019050919050565b5f6020820190508181035f830152613d2281613ce9565b9050919050565b5f613d3382612f92565b9150613d3e83612f92565b9250828203905081811115613d5657613d556132b6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613de881612f57565b82525050565b5f613df98383613ddf565b60208301905092915050565b5f602082019050919050565b5f613e1b82613db6565b613e258185613dc0565b9350613e3083613dd0565b805f5b83811015613e60578151613e478882613dee565b9750613e5283613e05565b925050600181019050613e33565b5085935050505092915050565b5f60a082019050613e805f830188613036565b613e8d602083018761328e565b8181036040830152613e9f8186613e11565b9050613eae606083018561318d565b613ebb6080830184613036565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613f1f602183612eae565b9150613f2a82613ec5565b604082019050919050565b5f6020820190508181035f830152613f4c81613f13565b9050919050565b5f8160601b9050919050565b5f613f6982613f53565b9050919050565b5f613f7a82613f5f565b9050919050565b613f92613f8d82612f57565b613f70565b82525050565b5f613fa38285613f81565b601482019150613fb38284613f81565b6014820191508190509392505050565b5f81905092915050565b7fff000000000000000000000000000000000000000000000000000000000000005f82015250565b5f614001600183613fc3565b915061400c82613fcd565b600182019050919050565b5f819050919050565b5f819050919050565b61403a61403582614017565b614020565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f5f82015250565b5f614074602083613fc3565b915061407f82614040565b602082019050919050565b5f61409482613ff5565b91506140a08285613f81565b6014820191506140b08284614029565b6020820191506140bf82614068565b91508190509392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6140ff601b83612eae565b915061410a826140cb565b602082019050919050565b5f6020820190508181035f83015261412c816140f3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203124842445c14c9ac9d94a6fd615f3af35ead166404038656efe397e4f81dd5c64736f6c634300081e0033

Deployed Bytecode

0x608060405260043610610184575f3560e01c80636fc3eaec116100d05780638f9a55c011610089578063bf474bed11610063578063bf474bed1461052b578063c9567bf914610555578063dd62ed3e1461056b578063ec1f3f63146105a75761018b565b80638f9a55c01461049b57806395d89b41146104c5578063a9059cbb146104ef5761018b565b80636fc3eaec146103b757806370a08231146103cd578063715018a6146104095780637d1db4a51461041f5780638cd4426d146104495780638da5cb5b146104715761018b565b8063313ce5671161013d57806351bc3c851161011757806351bc3c851461032957806356cf2d021461033f57806356ec63a51461036757806364ae2bd11461038f5761018b565b8063313ce5671461029b5780633bbac579146102c55780634c8afff4146103015761018b565b806306fdde031461018f578063095ea7b3146101b95780630faee56f146101f5578063109daa991461021f57806318160ddd1461023557806323b872dd1461025f5761018b565b3661018b57005b5f5ffd5b34801561019a575f5ffd5b506101a36105cf565b6040516101b09190612f14565b60405180910390f35b3480156101c4575f5ffd5b506101df60048036038101906101da9190612fc5565b61060c565b6040516101ec919061301d565b60405180910390f35b348015610200575f5ffd5b50610209610629565b6040516102169190613045565b60405180910390f35b34801561022a575f5ffd5b5061023361062f565b005b348015610240575f5ffd5b50610249610704565b6040516102569190613045565b60405180910390f35b34801561026a575f5ffd5b506102856004803603810190610280919061305e565b610728565b604051610292919061301d565b60405180910390f35b3480156102a6575f5ffd5b506102af6107fc565b6040516102bc91906130c9565b60405180910390f35b3480156102d0575f5ffd5b506102eb60048036038101906102e691906130e2565b610804565b6040516102f8919061301d565b60405180910390f35b34801561030c575f5ffd5b50610327600480360381019061032291906130e2565b610856565b005b348015610334575f5ffd5b5061033d610942565b005b34801561034a575f5ffd5b5061036560048036038101906103609190613137565b6109d9565b005b348015610372575f5ffd5b5061038d600480360381019061038891906130e2565b610bd6565b005b34801561039a575f5ffd5b506103b560048036038101906103b09190613162565b610cc3565b005b3480156103c2575f5ffd5b506103cb610d33565b005b3480156103d8575f5ffd5b506103f360048036038101906103ee91906130e2565b610da2565b6040516104009190613045565b60405180910390f35b348015610414575f5ffd5b5061041d610de8565b005b34801561042a575f5ffd5b50610433610f38565b6040516104409190613045565b60405180910390f35b348015610454575f5ffd5b5061046f600480360381019061046a9190612fc5565b610f3e565b005b34801561047c575f5ffd5b506104856110df565b604051610492919061319c565b60405180910390f35b3480156104a6575f5ffd5b506104af611106565b6040516104bc9190613045565b60405180910390f35b3480156104d0575f5ffd5b506104d961110c565b6040516104e69190612f14565b60405180910390f35b3480156104fa575f5ffd5b5061051560048036038101906105109190612fc5565b611149565b604051610522919061301d565b60405180910390f35b348015610536575f5ffd5b5061053f611166565b60405161054c9190613045565b60405180910390f35b348015610560575f5ffd5b5061056961116c565b005b348015610576575f5ffd5b50610591600480360381019061058c91906131b5565b6118c6565b60405161059e9190613045565b60405180910390f35b3480156105b2575f5ffd5b506105cd60048036038101906105c89190613162565b611948565b005b60606040518060400160405280600881526020017f5065706520233531000000000000000000000000000000000000000000000000815250905090565b5f61061f6106186119d4565b84846119db565b6001905092915050565b60135481565b6106376119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb9061323d565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106fa919061329d565b60405180910390a1565b5f6009600a6107139190613412565b6461f313f880610723919061345c565b905090565b5f610734848484611b9e565b6107f1846107406119d4565b6107ec856040518060600160405280602881526020016141346028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107a36119d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546128f09092919063ffffffff16565b6119db565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61085e6119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e29061323d565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109826119d4565b73ffffffffffffffffffffffffffffffffffffffff16146109a1575f5ffd5b5f6109ab30610da2565b90505f8111156109bf576109be81612952565b5b5f4790505f8111156109d5576109d481612bbb565b5b5050565b6109e16119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a659061323d565b60405180910390fd5b8015610adb575f606460086009600a610a879190613412565b6461f313f880610a97919061345c565b610aa1919061345c565b610aab91906134ca565b9050610ad960065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff163083611b9e565b505b60646046601254610aec919061345c565b610af691906134ca565b60128190555060646046601354610b0d919061345c565b610b1791906134ca565b6013819055506009600a610b2b9190613412565b6461f313f880610b3b919061345c565b6010819055506009600a610b4f9190613412565b6461f313f880610b5f919061345c565b6011819055505f601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610bae9190613412565b6461f313f880610bbe919061345c565b604051610bcb9190613045565b60405180910390a150565b610bde6119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c629061323d565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d036119d4565b73ffffffffffffffffffffffffffffffffffffffff1614610d22575f5ffd5b806012819055508060138190555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d736119d4565b73ffffffffffffffffffffffffffffffffffffffff1614610d92575f5ffd5b5f479050610d9f81612bbb565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610df06119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e749061323d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60105481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f7e6119d4565b73ffffffffffffffffffffffffffffffffffffffff1614610f9d575f5ffd5b5f61103b606461102d848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610fe0919061319c565b602060405180830381865afa158015610ffb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061101f919061350e565b612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161109992919061358b565b6020604051808303815f875af11580156110b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d991906135c6565b50505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600781526020017f5045504523353100000000000000000000000000000000000000000000000000815250905090565b5f61115c6111556119d4565b8484611b9e565b6001905092915050565b60125481565b6111746119d4565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f89061323d565b60405180910390fd5b601560149054906101000a900460ff1615611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112489061363b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611310573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611334919061366d565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113a1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c5919061366d565b90505f6113d3833084612ce3565b90505f813b90505f81036114a0578373ffffffffffffffffffffffffffffffffffffffff1663c9c6539630856040518363ffffffff1660e01b815260040161141c929190613698565b6020604051808303815f875af1158015611438573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145c919061366d565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611678565b8160155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161153b919061319c565b602060405180830381865afa158015611556573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061157a919061350e565b90505f8473ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016115d7919061319c565b602060405180830381865afa1580156115f2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611616919061350e565b9050670de0b6b3a7640000821080156116365750670de0b6b3a764000081105b611675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166c90613709565b60405180910390fd5b50505b6116c13060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6116ac9190613412565b6461f313f8806116bc919061345c565b6119db565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064606061170d30610da2565b611717919061345c565b61172191906134ca565b5f5f61172b6110df565b426040518863ffffffff1660e01b815260040161174d96959493929190613727565b60606040518083038185885af1158015611769573d5f5f3e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061178e9190613786565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161182e9291906137d6565b6020604051808303815f875af115801561184a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061186e91906135c6565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff02191690831515021790555050505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119886119d4565b73ffffffffffffffffffffffffffffffffffffffff16146119a7575f5ffd5b60095481111580156119bb5750600a548111155b6119c3575f5ffd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a409061386d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae906138fb565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b919190613045565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0390613989565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7190613a17565b60405180910390fd5b5f8111611cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb390613aa5565b60405180910390fd5b5f5f9050611cc86110df565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611d365750611d066110df565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156126405760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611dd9575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611e2c575060045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611e34575f5ffd5b601560179054906101000a900460ff1615611ffa57611e516110df565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ed9575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f32575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ff9574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611fb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fad90613b59565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b5f600f54036120425761203f6064612031600b54600f541161201e57600754612022565b6009545b85612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90505b5f600f541115612077576120746064612066600e5485612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612120575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612173575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561226b576010548211156121bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b490613bc1565b60405180910390fd5b601154826121ca85610da2565b6121d49190613bdf565b1115612215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220c90613c5c565b60405180910390fd5b6122516064612243600b54600f541161223057600754612234565b6009545b85612c2390919063ffffffff16565b612c9a90919063ffffffff16565b9050600f5f81548092919061226590613c7a565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156122f357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612337576123346064612326600c54600f541161231357600854612317565b600a545b85612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90505b5f61234130610da2565b905060158054906101000a900460ff161580156123aa575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156123c25750601560169054906101000a900460ff165b80156123cf575060125481115b80156123de5750600d54600f54115b1561263e575f6124276009600a6123f59190613412565b6461f313f880612405919061345c565b612419606485612c2390919063ffffffff16565b612c9a90919063ffffffff16565b90506002811015612485577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6012819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601381905550612593565b600781101561250d57612710600c6009600a6124a19190613412565b6461f313f8806124b1919061345c565b6124bb919061345c565b6124c591906134ca565b601281905550612710600c6009600a6124de9190613412565b6461f313f8806124ee919061345c565b6124f8919061345c565b61250291906134ca565b601381905550612592565b600e811015612591576103e860046009600a6125299190613412565b6461f313f880612539919061345c565b612543919061345c565b61254d91906134ca565b6012819055506103e860046009600a6125669190613412565b6461f313f880612576919061345c565b612580919061345c565b61258a91906134ca565b6013819055505b5b5b6017544311156125a5575f6016819055505b6003601654106125ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e190613d0b565b60405180910390fd5b612607612602856125fd85601354612d85565b612d85565b612952565b5f4790505f81111561261d5761261c81612bbb565b5b60165f81548092919061262f90613c7a565b91905055504360178190555050505b505b5f81111561273f576126988160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d9d90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516127369190613045565b60405180910390a35b61278f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612dfa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506128326127e68284612dfa90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612d9d90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6128d58486612dfa90919063ffffffff16565b6040516128e29190613045565b60405180910390a350505050565b5f838311158290612937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292e9190612f14565b60405180910390fd5b505f83856129459190613d29565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561298857612987613d5c565b5b6040519080825280602002602001820160405280156129b65781602001602082028036833780820191505090505b50905030815f815181106129cd576129cc613d89565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a71573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a95919061366d565b81600181518110612aa957612aa8613d89565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612b0f3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119db565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612b71959493929190613e6d565b5f604051808303815f87803b158015612b88575f5ffd5b505af1158015612b9a573d5f5f3e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612c1f573d5f5f3e3d5ffd5b5050565b5f5f8303612c33575f9050612c94565b5f8284612c40919061345c565b9050828482612c4f91906134ca565b14612c8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8690613f35565b60405180910390fd5b809150505b92915050565b5f612cdb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612e43565b905092915050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1610612d20578385612d23565b84845b91509150858282604051602001612d3b929190613f98565b60405160208183030381529060405280519060200120604051602001612d6292919061408a565b604051602081830303815290604052805190602001205f1c925050509392505050565b5f818311612d935782612d95565b815b905092915050565b5f5f8284612dab9190613bdf565b905083811015612df0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de790614115565b60405180910390fd5b8091505092915050565b5f612e3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128f0565b905092915050565b5f5f83118290612e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e809190612f14565b60405180910390fd5b505f8385612e9791906134ca565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612ee682612ea4565b612ef08185612eae565b9350612f00818560208601612ebe565b612f0981612ecc565b840191505092915050565b5f6020820190508181035f830152612f2c8184612edc565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f6182612f38565b9050919050565b612f7181612f57565b8114612f7b575f5ffd5b50565b5f81359050612f8c81612f68565b92915050565b5f819050919050565b612fa481612f92565b8114612fae575f5ffd5b50565b5f81359050612fbf81612f9b565b92915050565b5f5f60408385031215612fdb57612fda612f34565b5b5f612fe885828601612f7e565b9250506020612ff985828601612fb1565b9150509250929050565b5f8115159050919050565b61301781613003565b82525050565b5f6020820190506130305f83018461300e565b92915050565b61303f81612f92565b82525050565b5f6020820190506130585f830184613036565b92915050565b5f5f5f6060848603121561307557613074612f34565b5b5f61308286828701612f7e565b935050602061309386828701612f7e565b92505060406130a486828701612fb1565b9150509250925092565b5f60ff82169050919050565b6130c3816130ae565b82525050565b5f6020820190506130dc5f8301846130ba565b92915050565b5f602082840312156130f7576130f6612f34565b5b5f61310484828501612f7e565b91505092915050565b61311681613003565b8114613120575f5ffd5b50565b5f813590506131318161310d565b92915050565b5f6020828403121561314c5761314b612f34565b5b5f61315984828501613123565b91505092915050565b5f6020828403121561317757613176612f34565b5b5f61318484828501612fb1565b91505092915050565b61319681612f57565b82525050565b5f6020820190506131af5f83018461318d565b92915050565b5f5f604083850312156131cb576131ca612f34565b5b5f6131d885828601612f7e565b92505060206131e985828601612f7e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613227602083612eae565b9150613232826131f3565b602082019050919050565b5f6020820190508181035f8301526132548161321b565b9050919050565b5f819050919050565b5f819050919050565b5f61328761328261327d8461325b565b613264565b612f92565b9050919050565b6132978161326d565b82525050565b5f6020820190506132b05f83018461328e565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561333857808604811115613314576133136132b6565b5b60018516156133235780820291505b8081029050613331856132e3565b94506132f8565b94509492505050565b5f82613350576001905061340b565b8161335d575f905061340b565b8160018114613373576002811461337d576133ac565b600191505061340b565b60ff84111561338f5761338e6132b6565b5b8360020a9150848211156133a6576133a56132b6565b5b5061340b565b5060208310610133831016604e8410600b84101617156133e15782820a9050838111156133dc576133db6132b6565b5b61340b565b6133ee84848460016132ef565b92509050818404811115613405576134046132b6565b5b81810290505b9392505050565b5f61341c82612f92565b9150613427836130ae565b92506134547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613341565b905092915050565b5f61346682612f92565b915061347183612f92565b925082820261347f81612f92565b91508282048414831517613496576134956132b6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6134d482612f92565b91506134df83612f92565b9250826134ef576134ee61349d565b5b828204905092915050565b5f8151905061350881612f9b565b92915050565b5f6020828403121561352357613522612f34565b5b5f613530848285016134fa565b91505092915050565b5f61355361354e61354984612f38565b613264565b612f38565b9050919050565b5f61356482613539565b9050919050565b5f6135758261355a565b9050919050565b6135858161356b565b82525050565b5f60408201905061359e5f83018561357c565b6135ab6020830184613036565b9392505050565b5f815190506135c08161310d565b92915050565b5f602082840312156135db576135da612f34565b5b5f6135e8848285016135b2565b91505092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613625601783612eae565b9150613630826135f1565b602082019050919050565b5f6020820190508181035f83015261365281613619565b9050919050565b5f8151905061366781612f68565b92915050565b5f6020828403121561368257613681612f34565b5b5f61368f84828501613659565b91505092915050565b5f6040820190506136ab5f83018561318d565b6136b8602083018461318d565b9392505050565b7f5061697220616c72656164792066756e646564000000000000000000000000005f82015250565b5f6136f3601383612eae565b91506136fe826136bf565b602082019050919050565b5f6020820190508181035f830152613720816136e7565b9050919050565b5f60c08201905061373a5f83018961318d565b6137476020830188613036565b613754604083018761328e565b613761606083018661328e565b61376e608083018561318d565b61377b60a0830184613036565b979650505050505050565b5f5f5f6060848603121561379d5761379c612f34565b5b5f6137aa868287016134fa565b93505060206137bb868287016134fa565b92505060406137cc868287016134fa565b9150509250925092565b5f6040820190506137e95f83018561318d565b6137f66020830184613036565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613857602483612eae565b9150613862826137fd565b604082019050919050565b5f6020820190508181035f8301526138848161384b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6138e5602283612eae565b91506138f08261388b565b604082019050919050565b5f6020820190508181035f830152613912816138d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613973602583612eae565b915061397e82613919565b604082019050919050565b5f6020820190508181035f8301526139a081613967565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613a01602383612eae565b9150613a0c826139a7565b604082019050919050565b5f6020820190508181035f830152613a2e816139f5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613a8f602983612eae565b9150613a9a82613a35565b604082019050919050565b5f6020820190508181035f830152613abc81613a83565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f613b43604983612eae565b9150613b4e82613ac3565b606082019050919050565b5f6020820190508181035f830152613b7081613b37565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613bab601983612eae565b9150613bb682613b77565b602082019050919050565b5f6020820190508181035f830152613bd881613b9f565b9050919050565b5f613be982612f92565b9150613bf483612f92565b9250828201905080821115613c0c57613c0b6132b6565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613c46601a83612eae565b9150613c5182613c12565b602082019050919050565b5f6020820190508181035f830152613c7381613c3a565b9050919050565b5f613c8482612f92565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cb657613cb56132b6565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f613cf5601783612eae565b9150613d0082613cc1565b602082019050919050565b5f6020820190508181035f830152613d2281613ce9565b9050919050565b5f613d3382612f92565b9150613d3e83612f92565b9250828203905081811115613d5657613d556132b6565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613de881612f57565b82525050565b5f613df98383613ddf565b60208301905092915050565b5f602082019050919050565b5f613e1b82613db6565b613e258185613dc0565b9350613e3083613dd0565b805f5b83811015613e60578151613e478882613dee565b9750613e5283613e05565b925050600181019050613e33565b5085935050505092915050565b5f60a082019050613e805f830188613036565b613e8d602083018761328e565b8181036040830152613e9f8186613e11565b9050613eae606083018561318d565b613ebb6080830184613036565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613f1f602183612eae565b9150613f2a82613ec5565b604082019050919050565b5f6020820190508181035f830152613f4c81613f13565b9050919050565b5f8160601b9050919050565b5f613f6982613f53565b9050919050565b5f613f7a82613f5f565b9050919050565b613f92613f8d82612f57565b613f70565b82525050565b5f613fa38285613f81565b601482019150613fb38284613f81565b6014820191508190509392505050565b5f81905092915050565b7fff000000000000000000000000000000000000000000000000000000000000005f82015250565b5f614001600183613fc3565b915061400c82613fcd565b600182019050919050565b5f819050919050565b5f819050919050565b61403a61403582614017565b614020565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f5f82015250565b5f614074602083613fc3565b915061407f82614040565b602082019050919050565b5f61409482613ff5565b91506140a08285613f81565b6014820191506140b08284614029565b6020820191506140bf82614068565b91508190509392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6140ff601b83612eae565b915061410a826140cb565b602082019050919050565b5f6020820190508181035f83015261412c816140f3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203124842445c14c9ac9d94a6fd615f3af35ead166404038656efe397e4f81dd5c64736f6c634300081e0033

Deployed Bytecode Sourcemap

3573:13822:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7162:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7995:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4891:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13409:119;;;;;;;;;;;;;:::i;:::-;;7439:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8164:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7348:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14490;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13920:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17044:348;;;;;;;;;;;;;:::i;:::-;;12915:484;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13830:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14291:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13536:187;;;;;;;;;;;;;:::i;:::-;;7542:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2654:148;;;;;;;;;;;;;:::i;:::-;;4696:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14017:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2440:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4759:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7253:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7669:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4824:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14585:1664;;;;;;;;;;;;;:::i;:::-;;7844:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16781:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7162:83;7199:13;7232:5;;;;;;;;;;;;;;;;;7225:12;;7162:83;:::o;7995:161::-;8070:4;8087:39;8096:12;:10;:12::i;:::-;8110:7;8119:6;8087:8;:39::i;:::-;8144:4;8137:11;;7995:161;;;;:::o;4891:54::-;;;;:::o;13409:119::-;2577:12;:10;:12::i;:::-;2567:22;;:6;;;;;;;;;;;:22;;;2559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13482:1:::1;13467:12;:16;;;;13499:21;13518:1;13499:21;;;;;;:::i;:::-;;;;;;;;13409:119::o:0;7439:95::-;7492:7;4505:1;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;7512:14;;7439:95;:::o;8164:313::-;8262:4;8279:36;8289:6;8297:9;8308:6;8279:9;:36::i;:::-;8326:121;8335:6;8343:12;:10;:12::i;:::-;8357:89;8395:6;8357:89;;;;;;;;;;;;;;;;;:11;:19;8369:6;8357:19;;;;;;;;;;;;;;;:33;8377:12;:10;:12::i;:::-;8357:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8326:8;:121::i;:::-;8465:4;8458:11;;8164:313;;;;;:::o;7348:83::-;7389:5;4505:1;7407:16;;7348:83;:::o;14490:::-;14537:4;14558;:7;14563:1;14558:7;;;;;;;;;;;;;;;;;;;;;;;;;14551:14;;14490:83;;;:::o;13920:89::-;2577:12;:10;:12::i;:::-;2567:22;;:6;;;;;;;;;;;:22;;;2559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13996:5:::1;13981:4;:12;13986:6;13981:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13920:89:::0;:::o;17044:348::-;17108:10;;;;;;;;;;;17094:24;;:12;:10;:12::i;:::-;:24;;;17086:33;;;;;;17130:20;17151:24;17169:4;17151:9;:24::i;:::-;17130:45;;17202:1;17189:12;:14;17186:73;;;17217:30;17234:12;17217:16;:30::i;:::-;17186:73;17269:18;17288:21;17269:40;;17334:1;17323:10;:12;17320:65;;;17349:24;17362:10;17349:12;:24::i;:::-;17320:65;17075:317;;17044:348::o;12915:484::-;2577:12;:10;:12::i;:::-;2567:22;;:6;;;;;;;;;;;:22;;;2559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12993:5:::1;12989:143;;;13015:20;13052:3;13048:1;4505;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;13038:11;;;;:::i;:::-;:17;;;;:::i;:::-;13015:40;;13070:50;13080:10;;;;;;;;;;;13100:4;13107:12;13070:9;:50::i;:::-;13000:132;12989:143;13189:3;13184:2;13164:17;;:22;;;;:::i;:::-;:28;;;;:::i;:::-;13144:17;:48;;;;13236:3;13231:2;13217:11;;:16;;;;:::i;:::-;:22;;;;:::i;:::-;13203:11;:36;;;;4505:1;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;13250:12;:22;;;;4505:1;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;13283:14;:24;;;;13341:5;13318:20;;:28;;;;;;;;;;;;;;;;;;13364:27;4505:1;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;13364:27;;;;;;:::i;:::-;;;;;;;;12915:484:::0;:::o;13830:82::-;2577:12;:10;:12::i;:::-;2567:22;;:6;;;;;;;;;;;:22;;;2559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13900:4:::1;13888;:9;13893:3;13888:9;;;;;;;;;;;;;;;;:16;;;;;;;;;;;;;;;;;;13830:82:::0;:::o;14291:191::-;14390:10;;;;;;;;;;;14376:24;;:12;:10;:12::i;:::-;:24;;;14368:33;;;;;;14432:4;14412:17;:24;;;;14461:4;14447:11;:18;;;;14291:191;:::o;13536:187::-;13600:10;;;;;;;;;;;13586:24;;:12;:10;:12::i;:::-;:24;;;13578:33;;;;;;13622:26;13651:21;13622:50;;13683:32;13696:18;13683:12;:32::i;:::-;13567:156;13536:187::o;7542:119::-;7608:7;7635:9;:18;7645:7;7635:18;;;;;;;;;;;;;;;;7628:25;;7542:119;;;:::o;2654:148::-;2577:12;:10;:12::i;:::-;2567:22;;:6;;;;;;;;;;;:22;;;2559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2761:1:::1;2724:40;;2745:6;;;;;;;;;;;2724:40;;;;;;;;;;;;2792:1;2775:6;;:19;;;;;;;;;;;;;;;;;;2654:148::o:0;4696:56::-;;;;:::o;14017:266::-;14115:10;;;;;;;;;;;14101:24;;:12;:10;:12::i;:::-;:24;;;14093:33;;;;;;14137:15;14155:63;14214:3;14155:54;14201:7;14162:8;14155:26;;;14190:4;14155:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;14137:81;;14236:8;14229:25;;;14255:10;;;;;;;;;;;14267:7;14229:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14082:201;14017:266;;:::o;2440:79::-;2478:7;2505:6;;;;;;;;;;;2498:13;;2440:79;:::o;4759:58::-;;;;:::o;7253:87::-;7292:13;7325:7;;;;;;;;;;;;;;;;;7318:14;;7253:87;:::o;7669:167::-;7747:4;7764:42;7774:12;:10;:12::i;:::-;7788:9;7799:6;7764:9;:42::i;:::-;7824:4;7817:11;;7669:167;;;;:::o;4824:60::-;;;;:::o;14585:1664::-;2577:12;:10;:12::i;:::-;2567:22;;:6;;;;;;;;;;;:22;;;2559:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14643:11:::1;;;;;;;;;;;14642:12;14634:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14732:42;14695:15;;:80;;;;;;;;;;;;;;;;;;14821:15;14839;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14821:43;;14871:12;14886:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14871:37;;14915:21;14939:37;14947:7;14964:4;14971;14939:7;:37::i;:::-;14915:61;;15048:16;15115:13;15103:26;15091:38;;15205:1;15193:8;:13:::0;15189:473:::1;;15253:7;15235:37;;;15281:4;15288;15235:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15219:13;;:74;;;;;;;;;;;;;;;;;;15189:473;;;15334:13;15318;;:29;;;;;;;;;;;;;;;;;;15431:20;15469:4;15454:31;;;15486:13;;;;;;;;;;;15454:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15431:69;;15511:19;15540:4;15533:22;;;15556:13;;;;;;;;;;;15533:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15511:59;;15604:4;15589:12;:19;:41;;;;;15626:4;15612:11;:18;15589:41;15581:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;15307:355;;15189:473;15712:58;15729:4;15744:15;;;;;;;;;;;4505:1;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;15712:8;:58::i;:::-;15805:15;;;;;;;;;;;:31;;;15844:21;15885:4;15933:3;15928:2;15901:24;15919:4;15901:9;:24::i;:::-;:29;;;;:::i;:::-;:35;;;;:::i;:::-;15947:1;15959;15971:7;:5;:7::i;:::-;15989:15;15805:206;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16071:13;;;;;;;;;;;16064:29;;;16102:15;;;;;;;;;;;16120:14;16064:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16170:4;16156:11;;:18;;;;;;;;;;;;;;;;;;16199:4;16185:11;;:18;;;;;;;;;;;;;;;;;;16237:4;16214:20;;:27;;;;;;;;;;;;;;;;;;14627:1622;;;;14585:1664::o:0;7844:143::-;7925:7;7952:11;:18;7964:5;7952:18;;;;;;;;;;;;;;;:27;7971:7;7952:27;;;;;;;;;;;;;;;;7945:34;;7844:143;;;;:::o;16781:218::-;16856:10;;;;;;;;;;;16842:24;;:12;:10;:12::i;:::-;:24;;;16834:33;;;;;;16893:12;;16884:7;:21;;:47;;;;;16918:13;;16909:7;:22;;16884:47;16876:56;;;;;;16954:7;16941:12;:20;;;;16984:7;16970:13;:21;;;;16781:218;:::o;195:98::-;248:7;275:10;268:17;;195:98;:::o;8485:335::-;8595:1;8578:19;;:5;:19;;;8570:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8676:1;8657:21;;:7;:21;;;8649:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8758:6;8728:11;:18;8740:5;8728:18;;;;;;;;;;;;;;;:27;8747:7;8728:27;;;;;;;;;;;;;;;:36;;;;8796:7;8780:32;;8789:5;8780:32;;;8805:6;8780:32;;;;;;:::i;:::-;;;;;;;;8485:335;;;:::o;8828:3480::-;8928:1;8912:18;;:4;:18;;;8904:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9001:1;8987:16;;:2;:16;;;8979:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9067:1;9058:6;:10;9050:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9123:17;9143:1;9123:21;;9163:7;:5;:7::i;:::-;9155:15;;:4;:15;;;;:32;;;;;9180:7;:5;:7::i;:::-;9174:13;;:2;:13;;;;9155:32;9151:2818;;;9209:4;:10;9214:4;9209:10;;;;;;;;;;;;;;;;;;;;;;;;;9208:11;:24;;;;;9224:4;:8;9229:2;9224:8;;;;;;;;;;;;;;;;;;;;;;;;;9223:9;9208:24;:44;;;;;9237:4;:15;9242:9;9237:15;;;;;;;;;;;;;;;;;;;;;;;;;9236:16;9208:44;9200:53;;;;;;9270:20;;;;;;;;;;;9266:512;;;9335:7;:5;:7::i;:::-;9329:13;;:2;:13;;;;:64;;;;;9377:15;;;;;;;;;;;9363:30;;:2;:30;;;;9329:64;:113;;;;;9428:13;;;;;;;;;;;9414:28;;:2;:28;;;;9329:113;9307:460;;;9549:12;9507:28;:39;9536:9;9507:39;;;;;;;;;;;;;;;;:54;9477:201;;;;;;;;;;;;:::i;:::-;;;;;;;;;9739:12;9697:28;:39;9726:9;9697:39;;;;;;;;;;;;;;;:54;;;;9307:460;9266:512;9807:1;9794:9;;:14;9790:141;;9837:82;9915:3;9837:73;9861:15;;9849:9;;:27;9848:61;;9895:14;;9848:61;;;9880:12;;9848:61;9837:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;9825:94;;9790:141;9957:1;9945:9;;:13;9941:91;;;9987:33;10016:3;9987:24;9998:12;;9987:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;9975:45;;9941:91;10056:13;;;;;;;;;;;10048:21;;:4;:21;;;:55;;;;;10087:15;;;;;;;;;;;10073:30;;:2;:30;;;;10048:55;:82;;;;;10108:18;:22;10127:2;10108:22;;;;;;;;;;;;;;;;;;;;;;;;;10107:23;10048:82;10044:404;;;10165:12;;10155:6;:22;;10147:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10256:14;;10246:6;10230:13;10240:2;10230:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10222:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10328:82;10406:3;10328:73;10352:15;;10340:9;;:27;10339:61;;10386:14;;10339:61;;;10371:12;;10339:61;10328:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;10316:94;;10425:9;;:11;;;;;;;;;:::i;:::-;;;;;;10044:404;10470:13;;;;;;;;;;;10464:19;;:2;:19;;;:44;;;;;10503:4;10487:21;;:4;:21;;;;10464:44;10460:174;;;10537:85;10618:3;10537:76;10561:16;;10549:9;;:28;10548:64;;10597:15;;10548:64;;;10581:13;;10548:64;10537:6;:10;;:76;;;;:::i;:::-;:80;;:85;;;;:::i;:::-;10525:97;;10460:174;10646:28;10677:24;10695:4;10677:9;:24::i;:::-;10646:55;;10719:6;;;;;;;;;;10718:7;:30;;;;;10735:13;;;;;;;;;;;10729:19;;:2;:19;;;10718:30;:45;;;;;10752:11;;;;;;;;;;;10718:45;:89;;;;;10790:17;;10767:20;:40;10718:89;:123;;;;;10823:18;;10811:9;;:30;10718:123;10714:1248;;;10858:24;10885:42;4505:1;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;10885:29;10910:3;10885:20;:24;;:29;;;;:::i;:::-;:33;;:42;;;;:::i;:::-;10858:69;;10967:1;10948:16;:20;10944:509;;;11009:17;10989;:37;;;;11059:17;11045:11;:31;;;;10944:509;;;11135:1;11116:16;:20;11112:341;;;11192:5;11187:2;4505:1;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;11177:12;;;;:::i;:::-;:20;;;;:::i;:::-;11157:17;:40;;;;11253:5;11248:2;4505:1;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;11238:12;;;;:::i;:::-;:20;;;;:::i;:::-;11224:11;:34;;;;11112:341;;;11317:2;11298:16;:21;11294:159;;;11374:4;11370:1;4505;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;11360:11;;;;:::i;:::-;:18;;;;:::i;:::-;11340:17;:38;;;;11433:4;11429:1;4505;4563:2;:13;;;;:::i;:::-;4548:12;:28;;;;:::i;:::-;11419:11;;;;:::i;:::-;:18;;;;:::i;:::-;11405:11;:32;;;;11294:159;11112:341;10944:509;11491:13;;11476:12;:28;11472:82;;;11537:1;11525:9;:13;;;;11472:82;11590:1;11578:9;;:13;11570:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;11636:69;11653:51;11657:6;11665:38;11669:20;11691:11;;11665:3;:38::i;:::-;11653:3;:51::i;:::-;11636:16;:69::i;:::-;11720:26;11749:21;11720:50;;11810:1;11789:18;:22;11785:95;;;11832:32;11845:18;11832:12;:32::i;:::-;11785:95;11896:9;;:11;;;;;;;;;:::i;:::-;;;;;;11938:12;11922:13;:28;;;;10843:1119;;10714:1248;9189:2780;9151:2818;11993:1;11981:9;:13;11977:160;;;12034:39;12063:9;12034;:24;12052:4;12034:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;12007:9;:24;12025:4;12007:24;;;;;;;;;;;;;;;:66;;;;12112:4;12089:40;;12098:4;12089:40;;;12119:9;12089:40;;;;;;:::i;:::-;;;;;;;;11977:160;12161:27;12181:6;12161:9;:15;12171:4;12161:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;12143:9;:15;12153:4;12143:15;;;;;;;;;;;;;;;:45;;;;12211:40;12229:21;12240:9;12229:6;:10;;:21;;;;:::i;:::-;12211:9;:13;12221:2;12211:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;12195:9;:13;12205:2;12195:13;;;;;;;;;;;;;;;:56;;;;12278:2;12263:41;;12272:4;12263:41;;;12282:21;12293:9;12282:6;:10;;:21;;;;:::i;:::-;12263:41;;;;;;:::i;:::-;;;;;;;;8897:3411;8828:3480;;;:::o;1332:190::-;1418:7;1451:1;1446;:6;;1454:12;1438:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1478:9;1494:1;1490;:5;;;;:::i;:::-;1478:17;;1513:1;1506:8;;;1332:190;;;;;:::o;12424:483::-;5406:4;5397:6;;:13;;;;;;;;;;;;;;;;;;12502:21:::1;12540:1;12526:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12502:40;;12571:4;12553;12558:1;12553:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12597:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12587:4;12592:1;12587:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12630:62;12647:4;12662:15;;;;;;;;;;;12680:11;12630:8;:62::i;:::-;12703:15;;;;;;;;;;;:66;;;12784:11;12810:1;12826:4;12853;12873:15;12703:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12491:416;5442:5:::0;5433:6;;:14;;;;;;;;;;;;;;;;;;12424:483;:::o;13731:92::-;13788:10;;;;;;;;;;;:19;;:27;13808:6;13788:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13731:92;:::o;1530:246::-;1588:7;1617:1;1612;:6;1608:47;;1642:1;1635:8;;;;1608:47;1665:9;1681:1;1677;:5;;;;:::i;:::-;1665:17;;1710:1;1705;1701;:5;;;;:::i;:::-;:10;1693:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1767:1;1760:8;;;1530:246;;;;;:::o;1784:132::-;1842:7;1869:39;1873:1;1876;1869:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1862:46;;1784:132;;;;:::o;16257:509::-;16345:12;16371:14;16387;16414:6;16405:15;;:6;:15;;;:53;;16443:6;16451;16405:53;;;16424:6;16432;16405:53;16370:88;;;;16560:7;16609:6;16617;16592:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16582:43;;;;;;16507:247;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16497:258;;;;;;16492:264;;16469:289;;16359:407;;16257:509;;;;;:::o;12318:98::-;12375:7;12402:1;12400;:3;12399:9;;12407:1;12399:9;;;12405:1;12399:9;12392:16;;12318:98;;;;:::o;1001:179::-;1059:7;1079:9;1095:1;1091;:5;;;;:::i;:::-;1079:17;;1120:1;1115;:6;;1107:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1171:1;1164:8;;;1001:179;;;;:::o;1188:136::-;1246:7;1273:43;1277:1;1280;1273:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1266:50;;1188:136;;;;:::o;1924:189::-;2010:7;2042:1;2038;:5;2045:12;2030:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2069:9;2085:1;2081;:5;;;;:::i;:::-;2069:17;;2104:1;2097:8;;;1924: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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:116::-;5151:21;5166:5;5151:21;:::i;:::-;5144:5;5141:32;5131:60;;5187:1;5184;5177:12;5131:60;5081:116;:::o;5203:133::-;5246:5;5284:6;5271:20;5262:29;;5300:30;5324:5;5300:30;:::i;:::-;5203:133;;;;:::o;5342:323::-;5398:6;5447:2;5435:9;5426:7;5422:23;5418:32;5415:119;;;5453:79;;:::i;:::-;5415:119;5573:1;5598:50;5640:7;5631:6;5620:9;5616:22;5598:50;:::i;:::-;5588:60;;5544:114;5342:323;;;;:::o;5671:329::-;5730:6;5779:2;5767:9;5758:7;5754:23;5750:32;5747:119;;;5785:79;;:::i;:::-;5747:119;5905:1;5930:53;5975:7;5966:6;5955:9;5951:22;5930:53;:::i;:::-;5920:63;;5876:117;5671:329;;;;:::o;6006:118::-;6093:24;6111:5;6093:24;:::i;:::-;6088:3;6081:37;6006:118;;:::o;6130:222::-;6223:4;6261:2;6250:9;6246:18;6238:26;;6274:71;6342:1;6331:9;6327:17;6318:6;6274:71;:::i;:::-;6130:222;;;;:::o;6358:474::-;6426:6;6434;6483:2;6471:9;6462:7;6458:23;6454:32;6451:119;;;6489:79;;:::i;:::-;6451:119;6609:1;6634:53;6679:7;6670:6;6659:9;6655:22;6634:53;:::i;:::-;6624:63;;6580:117;6736:2;6762:53;6807:7;6798:6;6787:9;6783:22;6762:53;:::i;:::-;6752:63;;6707:118;6358:474;;;;;:::o;6838:182::-;6978:34;6974:1;6966:6;6962:14;6955:58;6838:182;:::o;7026:366::-;7168:3;7189:67;7253:2;7248:3;7189:67;:::i;:::-;7182:74;;7265:93;7354:3;7265:93;:::i;:::-;7383:2;7378:3;7374:12;7367:19;;7026:366;;;:::o;7398:419::-;7564:4;7602:2;7591:9;7587:18;7579:26;;7651:9;7645:4;7641:20;7637:1;7626:9;7622:17;7615:47;7679:131;7805:4;7679:131;:::i;:::-;7671:139;;7398:419;;;:::o;7823:85::-;7868:7;7897:5;7886:16;;7823:85;;;:::o;7914:60::-;7942:3;7963:5;7956:12;;7914:60;;;:::o;7980:158::-;8038:9;8071:61;8089:42;8098:32;8124:5;8098:32;:::i;:::-;8089:42;:::i;:::-;8071:61;:::i;:::-;8058:74;;7980:158;;;:::o;8144:147::-;8239:45;8278:5;8239:45;:::i;:::-;8234:3;8227:58;8144:147;;:::o;8297:238::-;8398:4;8436:2;8425:9;8421:18;8413:26;;8449:79;8525:1;8514:9;8510:17;8501:6;8449:79;:::i;:::-;8297:238;;;;:::o;8541:180::-;8589:77;8586:1;8579:88;8686:4;8683:1;8676:15;8710:4;8707:1;8700:15;8727:102;8769:8;8816:5;8813:1;8809:13;8788:34;;8727:102;;;:::o;8835:848::-;8896:5;8903:4;8927:6;8918:15;;8951:5;8942:14;;8965:712;8986:1;8976:8;8973:15;8965:712;;;9081:4;9076:3;9072:14;9066:4;9063:24;9060:50;;;9090:18;;:::i;:::-;9060:50;9140:1;9130:8;9126:16;9123:451;;;9555:4;9548:5;9544:16;9535:25;;9123:451;9605:4;9599;9595:15;9587:23;;9635:32;9658:8;9635:32;:::i;:::-;9623:44;;8965:712;;;8835:848;;;;;;;:::o;9689:1073::-;9743:5;9934:8;9924:40;;9955:1;9946:10;;9957:5;;9924:40;9983:4;9973:36;;10000:1;9991:10;;10002:5;;9973:36;10069:4;10117:1;10112:27;;;;10153:1;10148:191;;;;10062:277;;10112:27;10130:1;10121:10;;10132:5;;;10148:191;10193:3;10183:8;10180:17;10177:43;;;10200:18;;:::i;:::-;10177:43;10249:8;10246:1;10242:16;10233:25;;10284:3;10277:5;10274:14;10271:40;;;10291:18;;:::i;:::-;10271:40;10324:5;;;10062:277;;10448:2;10438:8;10435:16;10429:3;10423:4;10420:13;10416:36;10398:2;10388:8;10385:16;10380:2;10374:4;10371:12;10367:35;10351:111;10348:246;;;10504:8;10498:4;10494:19;10485:28;;10539:3;10532:5;10529:14;10526:40;;;10546:18;;:::i;:::-;10526:40;10579:5;;10348:246;10619:42;10657:3;10647:8;10641:4;10638:1;10619:42;:::i;:::-;10604:57;;;;10693:4;10688:3;10684:14;10677:5;10674:25;10671:51;;;10702:18;;:::i;:::-;10671:51;10751:4;10744:5;10740:16;10731:25;;9689:1073;;;;;;:::o;10768:281::-;10826:5;10850:23;10868:4;10850:23;:::i;:::-;10842:31;;10894:25;10910:8;10894:25;:::i;:::-;10882:37;;10938:104;10975:66;10965:8;10959:4;10938:104;:::i;:::-;10929:113;;10768:281;;;;:::o;11055:410::-;11095:7;11118:20;11136:1;11118:20;:::i;:::-;11113:25;;11152:20;11170:1;11152:20;:::i;:::-;11147:25;;11207:1;11204;11200:9;11229:30;11247:11;11229:30;:::i;:::-;11218:41;;11408:1;11399:7;11395:15;11392:1;11389:22;11369:1;11362:9;11342:83;11319:139;;11438:18;;:::i;:::-;11319:139;11103:362;11055:410;;;;:::o;11471:180::-;11519:77;11516:1;11509:88;11616:4;11613:1;11606:15;11640:4;11637:1;11630:15;11657:185;11697:1;11714:20;11732:1;11714:20;:::i;:::-;11709:25;;11748:20;11766:1;11748:20;:::i;:::-;11743:25;;11787:1;11777:35;;11792:18;;:::i;:::-;11777:35;11834:1;11831;11827:9;11822:14;;11657:185;;;;:::o;11848:143::-;11905:5;11936:6;11930:13;11921:22;;11952:33;11979:5;11952:33;:::i;:::-;11848:143;;;;:::o;11997:351::-;12067:6;12116:2;12104:9;12095:7;12091:23;12087:32;12084:119;;;12122:79;;:::i;:::-;12084:119;12242:1;12267:64;12323:7;12314:6;12303:9;12299:22;12267:64;:::i;:::-;12257:74;;12213:128;11997:351;;;;:::o;12354:142::-;12404:9;12437:53;12455:34;12464:24;12482:5;12464:24;:::i;:::-;12455:34;:::i;:::-;12437:53;:::i;:::-;12424:66;;12354:142;;;:::o;12502:126::-;12552:9;12585:37;12616:5;12585:37;:::i;:::-;12572:50;;12502:126;;;:::o;12634:134::-;12692:9;12725:37;12756:5;12725:37;:::i;:::-;12712:50;;12634:134;;;:::o;12774:147::-;12869:45;12908:5;12869:45;:::i;:::-;12864:3;12857:58;12774:147;;:::o;12927:348::-;13056:4;13094:2;13083:9;13079:18;13071:26;;13107:79;13183:1;13172:9;13168:17;13159:6;13107:79;:::i;:::-;13196:72;13264:2;13253:9;13249:18;13240:6;13196:72;:::i;:::-;12927:348;;;;;:::o;13281:137::-;13335:5;13366:6;13360:13;13351:22;;13382:30;13406:5;13382:30;:::i;:::-;13281:137;;;;:::o;13424:345::-;13491:6;13540:2;13528:9;13519:7;13515:23;13511:32;13508:119;;;13546:79;;:::i;:::-;13508:119;13666:1;13691:61;13744:7;13735:6;13724:9;13720:22;13691:61;:::i;:::-;13681:71;;13637:125;13424:345;;;;:::o;13775:173::-;13915:25;13911:1;13903:6;13899:14;13892:49;13775:173;:::o;13954:366::-;14096:3;14117:67;14181:2;14176:3;14117:67;:::i;:::-;14110:74;;14193:93;14282:3;14193:93;:::i;:::-;14311:2;14306:3;14302:12;14295:19;;13954:366;;;:::o;14326:419::-;14492:4;14530:2;14519:9;14515:18;14507:26;;14579:9;14573:4;14569:20;14565:1;14554:9;14550:17;14543:47;14607:131;14733:4;14607:131;:::i;:::-;14599:139;;14326:419;;;:::o;14751:143::-;14808:5;14839:6;14833:13;14824:22;;14855:33;14882:5;14855:33;:::i;:::-;14751:143;;;;:::o;14900:351::-;14970:6;15019:2;15007:9;14998:7;14994:23;14990:32;14987:119;;;15025:79;;:::i;:::-;14987:119;15145:1;15170:64;15226:7;15217:6;15206:9;15202:22;15170:64;:::i;:::-;15160:74;;15116:128;14900:351;;;;:::o;15257:332::-;15378:4;15416:2;15405:9;15401:18;15393:26;;15429:71;15497:1;15486:9;15482:17;15473:6;15429:71;:::i;:::-;15510:72;15578:2;15567:9;15563:18;15554:6;15510:72;:::i;:::-;15257:332;;;;;:::o;15595:169::-;15735:21;15731:1;15723:6;15719:14;15712:45;15595:169;:::o;15770:366::-;15912:3;15933:67;15997:2;15992:3;15933:67;:::i;:::-;15926:74;;16009:93;16098:3;16009:93;:::i;:::-;16127:2;16122:3;16118:12;16111:19;;15770:366;;;:::o;16142:419::-;16308:4;16346:2;16335:9;16331:18;16323:26;;16395:9;16389:4;16385:20;16381:1;16370:9;16366:17;16359:47;16423:131;16549:4;16423:131;:::i;:::-;16415:139;;16142:419;;;:::o;16567:807::-;16816:4;16854:3;16843:9;16839:19;16831:27;;16868:71;16936:1;16925:9;16921:17;16912:6;16868:71;:::i;:::-;16949:72;17017:2;17006:9;17002:18;16993:6;16949:72;:::i;:::-;17031:80;17107:2;17096:9;17092:18;17083:6;17031:80;:::i;:::-;17121;17197:2;17186:9;17182:18;17173:6;17121:80;:::i;:::-;17211:73;17279:3;17268:9;17264:19;17255:6;17211:73;:::i;:::-;17294;17362:3;17351:9;17347:19;17338:6;17294:73;:::i;:::-;16567:807;;;;;;;;;:::o;17380:663::-;17468:6;17476;17484;17533:2;17521:9;17512:7;17508:23;17504:32;17501:119;;;17539:79;;:::i;:::-;17501:119;17659:1;17684:64;17740:7;17731:6;17720:9;17716:22;17684:64;:::i;:::-;17674:74;;17630:128;17797:2;17823:64;17879:7;17870:6;17859:9;17855:22;17823:64;:::i;:::-;17813:74;;17768:129;17936:2;17962:64;18018:7;18009:6;17998:9;17994:22;17962:64;:::i;:::-;17952:74;;17907:129;17380:663;;;;;:::o;18049:332::-;18170:4;18208:2;18197:9;18193:18;18185:26;;18221:71;18289:1;18278:9;18274:17;18265:6;18221:71;:::i;:::-;18302:72;18370:2;18359:9;18355:18;18346:6;18302:72;:::i;:::-;18049:332;;;;;:::o;18387:223::-;18527:34;18523:1;18515:6;18511:14;18504:58;18596:6;18591:2;18583:6;18579:15;18572:31;18387:223;:::o;18616:366::-;18758:3;18779:67;18843:2;18838:3;18779:67;:::i;:::-;18772:74;;18855:93;18944:3;18855:93;:::i;:::-;18973:2;18968:3;18964:12;18957:19;;18616:366;;;:::o;18988:419::-;19154:4;19192:2;19181:9;19177:18;19169:26;;19241:9;19235:4;19231:20;19227:1;19216:9;19212:17;19205:47;19269:131;19395:4;19269:131;:::i;:::-;19261:139;;18988:419;;;:::o;19413:221::-;19553:34;19549:1;19541:6;19537:14;19530:58;19622:4;19617:2;19609:6;19605:15;19598:29;19413:221;:::o;19640:366::-;19782:3;19803:67;19867:2;19862:3;19803:67;:::i;:::-;19796:74;;19879:93;19968:3;19879:93;:::i;:::-;19997:2;19992:3;19988:12;19981:19;;19640:366;;;:::o;20012:419::-;20178:4;20216:2;20205:9;20201:18;20193:26;;20265:9;20259:4;20255:20;20251:1;20240:9;20236:17;20229:47;20293:131;20419:4;20293:131;:::i;:::-;20285:139;;20012:419;;;:::o;20437:224::-;20577:34;20573:1;20565:6;20561:14;20554:58;20646:7;20641:2;20633:6;20629:15;20622:32;20437:224;:::o;20667:366::-;20809:3;20830:67;20894:2;20889:3;20830:67;:::i;:::-;20823:74;;20906:93;20995:3;20906:93;:::i;:::-;21024:2;21019:3;21015:12;21008:19;;20667:366;;;:::o;21039:419::-;21205:4;21243:2;21232:9;21228:18;21220:26;;21292:9;21286:4;21282:20;21278:1;21267:9;21263:17;21256:47;21320:131;21446:4;21320:131;:::i;:::-;21312:139;;21039:419;;;:::o;21464:222::-;21604:34;21600:1;21592:6;21588:14;21581:58;21673:5;21668:2;21660:6;21656:15;21649:30;21464:222;:::o;21692:366::-;21834:3;21855:67;21919:2;21914:3;21855:67;:::i;:::-;21848:74;;21931:93;22020:3;21931:93;:::i;:::-;22049:2;22044:3;22040:12;22033:19;;21692:366;;;:::o;22064:419::-;22230:4;22268:2;22257:9;22253:18;22245:26;;22317:9;22311:4;22307:20;22303:1;22292:9;22288:17;22281:47;22345:131;22471:4;22345:131;:::i;:::-;22337:139;;22064:419;;;:::o;22489:228::-;22629:34;22625:1;22617:6;22613:14;22606:58;22698:11;22693:2;22685:6;22681:15;22674:36;22489:228;:::o;22723:366::-;22865:3;22886:67;22950:2;22945:3;22886:67;:::i;:::-;22879:74;;22962:93;23051:3;22962:93;:::i;:::-;23080:2;23075:3;23071:12;23064:19;;22723:366;;;:::o;23095:419::-;23261:4;23299:2;23288:9;23284:18;23276:26;;23348:9;23342:4;23338:20;23334:1;23323:9;23319:17;23312:47;23376:131;23502:4;23376:131;:::i;:::-;23368:139;;23095:419;;;:::o;23520:297::-;23660:34;23656:1;23648:6;23644:14;23637:58;23729:34;23724:2;23716:6;23712:15;23705:59;23798:11;23793:2;23785:6;23781:15;23774:36;23520:297;:::o;23823:366::-;23965:3;23986:67;24050:2;24045:3;23986:67;:::i;:::-;23979:74;;24062:93;24151:3;24062:93;:::i;:::-;24180:2;24175:3;24171:12;24164:19;;23823:366;;;:::o;24195:419::-;24361:4;24399:2;24388:9;24384:18;24376:26;;24448:9;24442:4;24438:20;24434:1;24423:9;24419:17;24412:47;24476:131;24602:4;24476:131;:::i;:::-;24468:139;;24195:419;;;:::o;24620:175::-;24760:27;24756:1;24748:6;24744:14;24737:51;24620:175;:::o;24801:366::-;24943:3;24964:67;25028:2;25023:3;24964:67;:::i;:::-;24957:74;;25040:93;25129:3;25040:93;:::i;:::-;25158:2;25153:3;25149:12;25142:19;;24801:366;;;:::o;25173:419::-;25339:4;25377:2;25366:9;25362:18;25354:26;;25426:9;25420:4;25416:20;25412:1;25401:9;25397:17;25390:47;25454:131;25580:4;25454:131;:::i;:::-;25446:139;;25173:419;;;:::o;25598:191::-;25638:3;25657:20;25675:1;25657:20;:::i;:::-;25652:25;;25691:20;25709:1;25691:20;:::i;:::-;25686:25;;25734:1;25731;25727:9;25720:16;;25755:3;25752:1;25749:10;25746:36;;;25762:18;;:::i;:::-;25746:36;25598:191;;;;:::o;25795:176::-;25935:28;25931:1;25923:6;25919:14;25912:52;25795:176;:::o;25977:366::-;26119:3;26140:67;26204:2;26199:3;26140:67;:::i;:::-;26133:74;;26216:93;26305:3;26216:93;:::i;:::-;26334:2;26329:3;26325:12;26318:19;;25977:366;;;:::o;26349:419::-;26515:4;26553:2;26542:9;26538:18;26530:26;;26602:9;26596:4;26592:20;26588:1;26577:9;26573:17;26566:47;26630:131;26756:4;26630:131;:::i;:::-;26622:139;;26349:419;;;:::o;26774:233::-;26813:3;26836:24;26854:5;26836:24;:::i;:::-;26827:33;;26882:66;26875:5;26872:77;26869:103;;26952:18;;:::i;:::-;26869:103;26999:1;26992:5;26988:13;26981:20;;26774:233;;;:::o;27013:173::-;27153:25;27149:1;27141:6;27137:14;27130:49;27013:173;:::o;27192:366::-;27334:3;27355:67;27419:2;27414:3;27355:67;:::i;:::-;27348:74;;27431:93;27520:3;27431:93;:::i;:::-;27549:2;27544:3;27540:12;27533:19;;27192:366;;;:::o;27564:419::-;27730:4;27768:2;27757:9;27753:18;27745:26;;27817:9;27811:4;27807:20;27803:1;27792:9;27788:17;27781:47;27845:131;27971:4;27845:131;:::i;:::-;27837:139;;27564:419;;;:::o;27989:194::-;28029:4;28049:20;28067:1;28049:20;:::i;:::-;28044:25;;28083:20;28101:1;28083:20;:::i;:::-;28078:25;;28127:1;28124;28120:9;28112:17;;28151:1;28145:4;28142:11;28139:37;;;28156:18;;:::i;:::-;28139:37;27989:194;;;;:::o;28189:180::-;28237:77;28234:1;28227:88;28334:4;28331:1;28324:15;28358:4;28355:1;28348:15;28375:180;28423:77;28420:1;28413:88;28520:4;28517:1;28510:15;28544:4;28541:1;28534:15;28561:114;28628:6;28662:5;28656:12;28646:22;;28561:114;;;:::o;28681:184::-;28780:11;28814:6;28809:3;28802:19;28854:4;28849:3;28845:14;28830:29;;28681:184;;;;:::o;28871:132::-;28938:4;28961:3;28953:11;;28991:4;28986:3;28982:14;28974:22;;28871:132;;;:::o;29009:108::-;29086:24;29104:5;29086:24;:::i;:::-;29081:3;29074:37;29009:108;;:::o;29123:179::-;29192:10;29213:46;29255:3;29247:6;29213:46;:::i;:::-;29291:4;29286:3;29282:14;29268:28;;29123:179;;;;:::o;29308:113::-;29378:4;29410;29405:3;29401:14;29393:22;;29308:113;;;:::o;29457:732::-;29576:3;29605:54;29653:5;29605:54;:::i;:::-;29675:86;29754:6;29749:3;29675:86;:::i;:::-;29668:93;;29785:56;29835:5;29785:56;:::i;:::-;29864:7;29895:1;29880:284;29905:6;29902:1;29899:13;29880:284;;;29981:6;29975:13;30008:63;30067:3;30052:13;30008:63;:::i;:::-;30001:70;;30094:60;30147:6;30094:60;:::i;:::-;30084:70;;29940:224;29927:1;29924;29920:9;29915:14;;29880:284;;;29884:14;30180:3;30173:10;;29581:608;;;29457:732;;;;:::o;30195:831::-;30458:4;30496:3;30485:9;30481:19;30473:27;;30510:71;30578:1;30567:9;30563:17;30554:6;30510:71;:::i;:::-;30591:80;30667:2;30656:9;30652:18;30643:6;30591:80;:::i;:::-;30718:9;30712:4;30708:20;30703:2;30692:9;30688:18;30681:48;30746:108;30849:4;30840:6;30746:108;:::i;:::-;30738:116;;30864:72;30932:2;30921:9;30917:18;30908:6;30864:72;:::i;:::-;30946:73;31014:3;31003:9;30999:19;30990:6;30946:73;:::i;:::-;30195:831;;;;;;;;:::o;31032:220::-;31172:34;31168:1;31160:6;31156:14;31149:58;31241:3;31236:2;31228:6;31224:15;31217:28;31032:220;:::o;31258:366::-;31400:3;31421:67;31485:2;31480:3;31421:67;:::i;:::-;31414:74;;31497:93;31586:3;31497:93;:::i;:::-;31615:2;31610:3;31606:12;31599:19;;31258:366;;;:::o;31630:419::-;31796:4;31834:2;31823:9;31819:18;31811:26;;31883:9;31877:4;31873:20;31869:1;31858:9;31854:17;31847:47;31911:131;32037:4;31911:131;:::i;:::-;31903:139;;31630:419;;;:::o;32055:94::-;32088:8;32136:5;32132:2;32128:14;32107:35;;32055:94;;;:::o;32155:::-;32194:7;32223:20;32237:5;32223:20;:::i;:::-;32212:31;;32155:94;;;:::o;32255:100::-;32294:7;32323:26;32343:5;32323:26;:::i;:::-;32312:37;;32255:100;;;:::o;32361:157::-;32466:45;32486:24;32504:5;32486:24;:::i;:::-;32466:45;:::i;:::-;32461:3;32454:58;32361:157;;:::o;32524:397::-;32664:3;32679:75;32750:3;32741:6;32679:75;:::i;:::-;32779:2;32774:3;32770:12;32763:19;;32792:75;32863:3;32854:6;32792:75;:::i;:::-;32892:2;32887:3;32883:12;32876:19;;32912:3;32905:10;;32524:397;;;;;:::o;32927:148::-;33029:11;33066:3;33051:18;;32927:148;;;;:::o;33081:214::-;33221:66;33217:1;33209:6;33205:14;33198:90;33081:214;:::o;33301:400::-;33461:3;33482:84;33564:1;33559:3;33482:84;:::i;:::-;33475:91;;33575:93;33664:3;33575:93;:::i;:::-;33693:1;33688:3;33684:11;33677:18;;33301:400;;;:::o;33707:77::-;33744:7;33773:5;33762:16;;33707:77;;;:::o;33790:79::-;33829:7;33858:5;33847:16;;33790:79;;;:::o;33875:157::-;33980:45;34000:24;34018:5;34000:24;:::i;:::-;33980:45;:::i;:::-;33975:3;33968:58;33875:157;;:::o;34038:214::-;34178:66;34174:1;34166:6;34162:14;34155:90;34038:214;:::o;34258:402::-;34418:3;34439:85;34521:2;34516:3;34439:85;:::i;:::-;34432:92;;34533:93;34622:3;34533:93;:::i;:::-;34651:2;34646:3;34642:12;34635:19;;34258:402;;;:::o;34666:929::-;35008:3;35030:148;35174:3;35030:148;:::i;:::-;35023:155;;35188:75;35259:3;35250:6;35188:75;:::i;:::-;35288:2;35283:3;35279:12;35272:19;;35301:75;35372:3;35363:6;35301:75;:::i;:::-;35401:2;35396:3;35392:12;35385:19;;35421:148;35565:3;35421:148;:::i;:::-;35414:155;;35586:3;35579:10;;34666:929;;;;;:::o;35601:177::-;35741:29;35737:1;35729:6;35725:14;35718:53;35601:177;:::o;35784:366::-;35926:3;35947:67;36011:2;36006:3;35947:67;:::i;:::-;35940:74;;36023:93;36112:3;36023:93;:::i;:::-;36141:2;36136:3;36132:12;36125:19;;35784:366;;;:::o;36156:419::-;36322:4;36360:2;36349:9;36345:18;36337:26;;36409:9;36403:4;36399:20;36395:1;36384:9;36380:17;36373:47;36437:131;36563:4;36437:131;:::i;:::-;36429:139;;36156:419;;;:::o

Swarm Source

ipfs://3124842445c14c9ac9d94a6fd615f3af35ead166404038656efe397e4f81dd5c

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.