ETH Price: $2,346.59 (-2.48%)

Token

Pepe Kart Game (PEPEKT)
 

Overview

Max Total Supply

100,000,000,000,000,000,000,000,000,000 PEPEKT

Holders

163

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
75,732,657,368 PEPEKT

Value
$0.00
0x234b3905d349eeeed7584ae1bb68b25825dc4175
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Pepekart

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-25
*/

// SPDX-License-Identifier: MIT

// Virtual telegram hosted pepe racing game

// Pepe Kart Game 
// Pepekart.xyz
// T.me/pepekartxyz
// T.me/pepekartbot
// Twitter.com/pepekart_xyz
// Medium.com/@pepekartxyz

pragma solidity 0.8.20;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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



interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _createInitialSupply(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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);
    }
}

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() external virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

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

contract Pepekart is ERC20, Ownable {

    IDexRouter public dexRouter;
    address public lpPair;
    address marketingWallet;
    bool private swapping;
    uint256 public swapTokensAtAmount;
    uint256 public sellTotalFees;
    uint256 public sellMarketingFee;
    uint256 public buyTotalFees;
    uint256 public buyMarketingFee;
    uint256 public tokensForMarketing;
    uint256 public maxBuy;
    uint256 public maxSell;
    uint256 public maxWallet;
    bool public limitsInEffect = true;
    bool public tradingOpen = false;
    bool public swapEnabled = false;
    uint256 public tradingOpenBlock = 0; 
    uint256 public blockForPenaltyEnd;
    mapping (address => bool) public blacklisted;
    mapping (address => bool) public automatedMarketMakerPairs;
    mapping (address => bool) private _isExcludedFromFees;
    mapping (address => bool) public _isExcludedMaxTransactionAmount;
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    event EnabledTrading();
    event UpdatedmaxBuy(uint256 newAmount);
    event UpdatedmaxSell(uint256 newAmount);
    event UpdatedmaxWallet(uint256 newAmount);
    event RemovedLimits();
    event ExcludeFromFees(address indexed account, bool isExcluded);
    event OwnerForcedSwapBack(uint256 timestamp);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiquidity
    );
    event UpdatedMarketingAddress(address indexed newWallet);
    event MaxTransactionExclusion(address _address, bool excluded);


    constructor() ERC20("Pepe Kart Game", "PEPEKT") {

        address newOwner = msg.sender;
        buyMarketingFee = 10;
        buyTotalFees = buyMarketingFee;
        sellMarketingFee = 10;
        sellTotalFees = sellMarketingFee;
        IDexRouter _dexRouter = IDexRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        dexRouter = _dexRouter;
        lpPair = IDexFactory(_dexRouter.factory()).createPair(address(this), _dexRouter.WETH());
        _excludeFromMaxTransaction(address(lpPair), true);
        _setAutomatedMarketMakerPair(address(lpPair), true);

        uint256 totalSupply = 100000000000 * 1e18;
        maxWallet = totalSupply * 5 / 100;
        swapTokensAtAmount = totalSupply * 5 / 10000;
        maxBuy = totalSupply * 5 / 100;
        maxSell = totalSupply * 5 / 100;

        excludeFromFees(newOwner, true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);

        _excludeFromMaxTransaction(newOwner, true);
        _excludeFromMaxTransaction(address(this), true);
        _excludeFromMaxTransaction(address(0xdead), true);

        marketingWallet = address(newOwner);
        _createInitialSupply(newOwner, totalSupply);
        transferOwnership(newOwner);
    }

    receive() external payable {}

    function startTrading() external onlyOwner {
        require(!tradingOpen, "Cannot reenable trading");
        tradingOpen = true;
        swapEnabled = true;
        tradingOpenBlock = block.number;
        blockForPenaltyEnd = tradingOpenBlock ;
        emit EnabledTrading();
    }

    function removeLimits() external onlyOwner {
        limitsInEffect = false;
        emit RemovedLimits();
    }

    function manageBotAddress(address wallet, bool flag) external onlyOwner {
        blacklisted[wallet] = flag;
    }

    function bulkManageBotAddresses(address[] calldata wallets, bool flag) external onlyOwner {
        for(uint256 i = 0; i < wallets.length; i++){
            blacklisted[wallets[i]] = flag;
        }
    }

    function changeSwapTokensAmount(uint256 newAmount) external onlyOwner {
        require(newAmount >= totalSupply() * 1 / 100000, "Swap amount cannot be lower than 0.001% total supply.");
        require(newAmount <= totalSupply() * 1 / 1000, "Swap amount cannot be higher than 0.1% total supply.");
        swapTokensAtAmount = newAmount;
    }

    function _excludeFromMaxTransaction(address updAds, bool isExcluded) private {
        _isExcludedMaxTransactionAmount[updAds] = isExcluded;
        emit MaxTransactionExclusion(updAds, isExcluded);
    }


    function excludeFromMaxTransaction(address updAds, bool isEx) external onlyOwner {
        if(!isEx){
            require(updAds != lpPair, "Cannot remove uniswap pair from max txn");
        }
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function setAutomatedMarketMakerPair(address pair, bool value) external onlyOwner {
        require(pair != lpPair, "The pair cannot be removed from automatedMarketMakerPairs");

        _setAutomatedMarketMakerPair(pair, value);
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;

        _excludeFromMaxTransaction(pair, value);

        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function changeBuyTax(uint256 _marketingFee) external onlyOwner {
        buyMarketingFee = _marketingFee;
        buyTotalFees = buyMarketingFee ;
        require(buyTotalFees <= 100, "Must keep fees at 100% or less");
    }

    function changeSellTax(uint256 _marketingFee) external onlyOwner {
        sellMarketingFee = _marketingFee;
        sellTotalFees = sellMarketingFee;
        require(sellTotalFees <= 100, "Must keep fees at 100% or less");
    }

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function _transfer(address from, address to, uint256 amount) internal override {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "amount must be greater than 0");

        if(!tradingOpen){
            require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active.");
        }

        if(blockForPenaltyEnd > 0){
            require(!blacklisted[from] || to == owner() || to == address(0xdead), "Bots cannot transfer tokens in or out except to owner or dead address.");
        }

        if(limitsInEffect){
            if (from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]){

                //when buy
                if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) {
                        require(amount <= maxBuy, "Buy transfer amount exceeds the max buy.");
                        require(amount + balanceOf(to) <= maxWallet, "Cannot Exceed max wallet");
                }
                //when sell
                else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) {
                        require(amount <= maxSell, "Sell transfer amount exceeds the max sell.");
                }
                else if (!_isExcludedMaxTransactionAmount[to]){
                    require(amount + balanceOf(to) <= maxWallet, "Cannot Exceed max wallet");
                }
            }
        }

        uint256 contractTokenBalance = balanceOf(address(this));

        bool canSwap = contractTokenBalance >= swapTokensAtAmount;

        if(canSwap && swapEnabled && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            swapping = true;

            swapBack();

            swapping = false;
        }

        bool takeFee = true;
        // if any account belongs to _isExcludedFromFee account then remove the fee
        if(_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        // only take fees on buys/sells, do not take on wallet transfers
        if(takeFee){
            
            // on sell
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0){
                fees = amount * sellTotalFees / 100;
                tokensForMarketing += fees * sellMarketingFee / sellTotalFees;
            }

            // on buy
            else if(automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = amount * buyTotalFees / 100;
                tokensForMarketing += fees * buyMarketingFee / buyTotalFees;
            }

            if(fees > 0){
                super._transfer(from, address(this), fees);
            }

            amount -= fees;
        }

        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {

        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        _approve(address(this), address(dexRouter), tokenAmount);

        // make the swap
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(dexRouter), tokenAmount);

        // add the liquidity
        dexRouter.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(0xdead),
            block.timestamp
        );
    }

    function swapBack() private {

        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForMarketing;

        if(contractBalance == 0 || totalTokensToSwap == 0) {return;}

        if(contractBalance > swapTokensAtAmount * 20){
            contractBalance = swapTokensAtAmount * 20;
        }

        bool success;

        swapTokensForEth(contractBalance);

        tokensForMarketing = 0;

        (success,) = address(marketingWallet).call{value: address(this).balance}("");
    }


    function setMarketingWallet(address _marketingWallet) external onlyOwner {
        require(_marketingWallet != address(0), "_marketingWallet address cannot be 0");
        marketingWallet = payable(_marketingWallet);
    }
    function forceEthToMarketing() external onlyOwner {
        swapping = true;
        swapBack();
        swapping = false;
        emit OwnerForcedSwapBack(block.timestamp);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"EnabledTrading","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"MaxTransactionExclusion","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"OwnerForcedSwapBack","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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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":true,"internalType":"address","name":"newWallet","type":"address"}],"name":"UpdatedMarketingAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedmaxBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedmaxSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedmaxWallet","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockForPenaltyEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"bulkManageBotAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"changeBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"changeSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"changeSwapTokensAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"forceEthToMarketing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"manageBotAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpenBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160125f6101000a81548160ff0219169083151502179055505f601260016101000a81548160ff0219169083151502179055505f601260026101000a81548160ff0219169083151502179055505f60135534801562000062575f80fd5b506040518060400160405280600e81526020017f50657065204b6172742047616d650000000000000000000000000000000000008152506040518060400160405280600681526020017f504550454b5400000000000000000000000000000000000000000000000000008152508160039081620000e0919062000db7565b508060049081620000f2919062000db7565b5050505f62000106620005a660201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f339050600a600d81905550600d54600c81905550600a600b81905550600b54600a819055505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000291919062000f00565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200031d919062000f00565b6040518363ffffffff1660e01b81526004016200033c92919062000f41565b6020604051808303815f875af115801562000359573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200037f919062000f00565b60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003f260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620005ad60201b60201c565b6200042660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200064060201b60201c565b5f6c01431e0fae6d7217caa00000009050606460058262000448919062000f99565b62000454919062001010565b6011819055506127106005826200046c919062000f99565b62000478919062001010565b60098190555060646005826200048f919062000f99565b6200049b919062001010565b600f819055506064600582620004b2919062000f99565b620004be919062001010565b601081905550620004d7836001620006f060201b60201c565b620004ea306001620006f060201b60201c565b620004ff61dead6001620006f060201b60201c565b62000512836001620005ad60201b60201c565b62000525306001620005ad60201b60201c565b6200053a61dead6001620005ad60201b60201c565b8260085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200058c83826200083960201b60201c565b6200059d836200098360201b60201c565b5050506200128f565b5f33905090565b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd674682826040516200063492919062001063565b60405180910390a15050565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620006a68282620005ad60201b60201c565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b62000700620005a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000791576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200078890620010ec565b60405180910390fd5b8060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516200082d91906200110c565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620008aa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008a19062001175565b60405180910390fd5b8060025f828254620008bd919062001195565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000911919062001195565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009779190620011e0565b60405180910390a35050565b62000993620005a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000a24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a1b90620010ec565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000a95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a8c906200126f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000bcf57607f821691505b60208210810362000be55762000be462000b8a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000c497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c0c565b62000c55868362000c0c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000c9f62000c9962000c938462000c6d565b62000c76565b62000c6d565b9050919050565b5f819050919050565b62000cba8362000c7f565b62000cd262000cc98262000ca6565b84845462000c18565b825550505050565b5f90565b62000ce862000cda565b62000cf581848462000caf565b505050565b5b8181101562000d1c5762000d105f8262000cde565b60018101905062000cfb565b5050565b601f82111562000d6b5762000d358162000beb565b62000d408462000bfd565b8101602085101562000d50578190505b62000d6862000d5f8562000bfd565b83018262000cfa565b50505b505050565b5f82821c905092915050565b5f62000d8d5f198460080262000d70565b1980831691505092915050565b5f62000da7838362000d7c565b9150826002028217905092915050565b62000dc28262000b53565b67ffffffffffffffff81111562000dde5762000ddd62000b5d565b5b62000dea825462000bb7565b62000df782828562000d20565b5f60209050601f83116001811462000e2d575f841562000e18578287015190505b62000e24858262000d9a565b86555062000e93565b601f19841662000e3d8662000beb565b5f5b8281101562000e665784890151825560018201915060208501945060208101905062000e3f565b8683101562000e86578489015162000e82601f89168262000d7c565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000eca8262000e9f565b9050919050565b62000edc8162000ebe565b811462000ee7575f80fd5b50565b5f8151905062000efa8162000ed1565b92915050565b5f6020828403121562000f185762000f1762000e9b565b5b5f62000f278482850162000eea565b91505092915050565b62000f3b8162000ebe565b82525050565b5f60408201905062000f565f83018562000f30565b62000f65602083018462000f30565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000fa58262000c6d565b915062000fb28362000c6d565b925082820262000fc28162000c6d565b9150828204841483151762000fdc5762000fdb62000f6c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200101c8262000c6d565b9150620010298362000c6d565b9250826200103c576200103b62000fe3565b5b828204905092915050565b5f8115159050919050565b6200105d8162001047565b82525050565b5f604082019050620010785f83018562000f30565b62001087602083018462001052565b9392505050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f620010d46020836200108e565b9150620010e1826200109e565b602082019050919050565b5f6020820190508181035f8301526200110581620010c6565b9050919050565b5f602082019050620011215f83018462001052565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6200115d601f836200108e565b91506200116a8262001127565b602082019050919050565b5f6020820190508181035f8301526200118e816200114f565b9050919050565b5f620011a18262000c6d565b9150620011ae8362000c6d565b9250828201905080821115620011c957620011c862000f6c565b5b92915050565b620011da8162000c6d565b82525050565b5f602082019050620011f55f830184620011cf565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f620012576026836200108e565b91506200126482620011fb565b604082019050919050565b5f6020820190508181035f830152620012888162001249565b9050919050565b6149cd806200129d5f395ff3fe608060405260043610610275575f3560e01c8063715018a61161014e578063b2a9c0c0116100c0578063dd62ed3e11610079578063dd62ed3e14610928578063debae15e14610964578063e2f456051461098c578063f2fde38b146109b6578063f8b45b05146109de578063ffb54a9914610a085761027c565b8063b2a9c0c01461080c578063b62496f514610834578063b8eb354614610870578063c02466681461089a578063d85ba063146108c2578063dbac26e9146108ec5761027c565b8063921369131161011257806392136913146106ee57806395d89b41146107185780639a7a23d614610742578063a457c2d71461076a578063a62068ce146107a6578063a9059cbb146107d05761027c565b8063715018a614610646578063751039fc1461065c5780637571336a146106725780637bce5a041461069a5780638da5cb5b146106c45761027c565b8063293230b8116101e75780635d098b38116101ab5780635d098b381461053c5780635f09d949146105645780636a486a8e1461058c5780636ddd1713146105b657806370a08231146105e057806370db69d61461061c5761027c565b8063293230b81461046c578063313ce5671461048257806339509351146104ac578063452ed4f1146104e85780634a62bb65146105125761027c565b80630e23500e116102395780630e23500e1461034e57806310d5de531461037857806318160ddd146103b45780631f3fed8f146103de57806323b872dd1461040857806324c16b7f146104445761027c565b806306fdde03146102805780630758d924146102aa5780630899c7c3146102d4578063095ea7b3146102fc5780630dca2686146103385761027c565b3661027c57005b5f80fd5b34801561028b575f80fd5b50610294610a32565b6040516102a191906135db565b60405180910390f35b3480156102b5575f80fd5b506102be610ac2565b6040516102cb9190613675565b60405180910390f35b3480156102df575f80fd5b506102fa60048036038101906102f59190613706565b610ae7565b005b348015610307575f80fd5b50610322600480360381019061031d9190613777565b610bd5565b60405161032f91906137c4565b60405180910390f35b348015610343575f80fd5b5061034c610bf2565b005b348015610359575f80fd5b50610362610cfe565b60405161036f91906137ec565b60405180910390f35b348015610383575f80fd5b5061039e60048036038101906103999190613805565b610d04565b6040516103ab91906137c4565b60405180910390f35b3480156103bf575f80fd5b506103c8610d21565b6040516103d591906137ec565b60405180910390f35b3480156103e9575f80fd5b506103f2610d2a565b6040516103ff91906137ec565b60405180910390f35b348015610413575f80fd5b5061042e60048036038101906104299190613830565b610d30565b60405161043b91906137c4565b60405180910390f35b34801561044f575f80fd5b5061046a60048036038101906104659190613880565b610e22565b005b348015610477575f80fd5b50610480610f11565b005b34801561048d575f80fd5b5061049661106b565b6040516104a391906138c6565b60405180910390f35b3480156104b7575f80fd5b506104d260048036038101906104cd9190613777565b611073565b6040516104df91906137c4565b60405180910390f35b3480156104f3575f80fd5b506104fc61111a565b60405161050991906138ee565b60405180910390f35b34801561051d575f80fd5b5061052661113f565b60405161053391906137c4565b60405180910390f35b348015610547575f80fd5b50610562600480360381019061055d9190613805565b611151565b005b34801561056f575f80fd5b5061058a60048036038101906105859190613968565b611298565b005b348015610597575f80fd5b506105a06113cf565b6040516105ad91906137ec565b60405180910390f35b3480156105c1575f80fd5b506105ca6113d5565b6040516105d791906137c4565b60405180910390f35b3480156105eb575f80fd5b5061060660048036038101906106019190613805565b6113e8565b60405161061391906137ec565b60405180910390f35b348015610627575f80fd5b5061063061142d565b60405161063d91906137ec565b60405180910390f35b348015610651575f80fd5b5061065a611433565b005b348015610667575f80fd5b50610670611586565b005b34801561067d575f80fd5b5061069860048036038101906106939190613706565b611663565b005b3480156106a5575f80fd5b506106ae6117e6565b6040516106bb91906137ec565b60405180910390f35b3480156106cf575f80fd5b506106d86117ec565b6040516106e591906138ee565b60405180910390f35b3480156106f9575f80fd5b50610702611814565b60405161070f91906137ec565b60405180910390f35b348015610723575f80fd5b5061072c61181a565b60405161073991906135db565b60405180910390f35b34801561074d575f80fd5b5061076860048036038101906107639190613706565b6118aa565b005b348015610775575f80fd5b50610790600480360381019061078b9190613777565b611a23565b60405161079d91906137c4565b60405180910390f35b3480156107b1575f80fd5b506107ba611b09565b6040516107c791906137ec565b60405180910390f35b3480156107db575f80fd5b506107f660048036038101906107f19190613777565b611b0f565b60405161080391906137c4565b60405180910390f35b348015610817575f80fd5b50610832600480360381019061082d9190613880565b611b2c565b005b34801561083f575f80fd5b5061085a60048036038101906108559190613805565b611c93565b60405161086791906137c4565b60405180910390f35b34801561087b575f80fd5b50610884611cb0565b60405161089191906137ec565b60405180910390f35b3480156108a5575f80fd5b506108c060048036038101906108bb9190613706565b611cb6565b005b3480156108cd575f80fd5b506108d6611df2565b6040516108e391906137ec565b60405180910390f35b3480156108f7575f80fd5b50610912600480360381019061090d9190613805565b611df8565b60405161091f91906137c4565b60405180910390f35b348015610933575f80fd5b5061094e600480360381019061094991906139c5565b611e15565b60405161095b91906137ec565b60405180910390f35b34801561096f575f80fd5b5061098a60048036038101906109859190613880565b611e97565b005b348015610997575f80fd5b506109a0611f86565b6040516109ad91906137ec565b60405180910390f35b3480156109c1575f80fd5b506109dc60048036038101906109d79190613805565b611f8c565b005b3480156109e9575f80fd5b506109f261214e565b6040516109ff91906137ec565b60405180910390f35b348015610a13575f80fd5b50610a1c612154565b604051610a2991906137c4565b60405180910390f35b606060038054610a4190613a30565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6d90613a30565b8015610ab85780601f10610a8f57610100808354040283529160200191610ab8565b820191905f5260205f20905b815481529060010190602001808311610a9b57829003601f168201915b5050505050905090565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610aef612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7490613aaa565b60405180910390fd5b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f610be8610be1612167565b848461216e565b6001905092915050565b610bfa612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f90613aaa565b60405180910390fd5b6001600860146101000a81548160ff021916908315150217905550610cab612331565b5f600860146101000a81548160ff0219169083151502179055507f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb3242604051610cf491906137ec565b60405180910390a1565b60135481565b6018602052805f5260405f205f915054906101000a900460ff1681565b5f600254905090565b600e5481565b5f610d3c848484612425565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610d83612167565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df990613b38565b60405180910390fd5b610e1685610e0e612167565b85840361216e565b60019150509392505050565b610e2a612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaf90613aaa565b60405180910390fd5b80600d81905550600d54600c819055506064600c541115610f0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0590613ba0565b60405180910390fd5b50565b610f19612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90613aaa565b60405180910390fd5b601260019054906101000a900460ff1615610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee90613c08565b60405180910390fd5b6001601260016101000a81548160ff0219169083151502179055506001601260026101000a81548160ff021916908315150217905550436013819055506013546014819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b5f6012905090565b5f61111061107f612167565b848460015f61108c612167565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461110b9190613c53565b61216e565b6001905092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125f9054906101000a900460ff1681565b611159612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de90613aaa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c90613cf6565b60405180910390fd5b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6112a0612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132590613aaa565b60405180910390fd5b5f5b838390508110156113c9578160155f86868581811061135257611351613d14565b5b90506020020160208101906113679190613805565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806113c190613d41565b915050611330565b50505050565b600a5481565b601260029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600f5481565b61143b612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c090613aaa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61158e612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390613aaa565b60405180910390fd5b5f60125f6101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b61166b612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f090613aaa565b60405180910390fd5b8061178e5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361178d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178490613df8565b60405180910390fd5b5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600d5481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606004805461182990613a30565b80601f016020809104026020016040519081016040528092919081815260200182805461185590613a30565b80156118a05780601f10611877576101008083540402835291602001916118a0565b820191905f5260205f20905b81548152906001019060200180831161188357829003601f168201915b5050505050905090565b6118b2612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193790613aaa565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c690613e86565b60405180910390fd5b6119d98282612f83565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f8060015f611a30612167565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae190613f14565b60405180910390fd5b611afe611af5612167565b8585840361216e565b600191505092915050565b60145481565b5f611b22611b1b612167565b8484612425565b6001905092915050565b611b34612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb990613aaa565b60405180910390fd5b620186a06001611bd0610d21565b611bda9190613f32565b611be49190613fa0565b811015611c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1d90614040565b60405180910390fd5b6103e86001611c33610d21565b611c3d9190613f32565b611c479190613fa0565b811115611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c80906140ce565b60405180910390fd5b8060098190555050565b6016602052805f5260405f205f915054906101000a900460ff1681565b60105481565b611cbe612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4390613aaa565b60405180910390fd5b8060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611de691906137c4565b60405180910390a25050565b600c5481565b6015602052805f5260405f205f915054906101000a900460ff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611e9f612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2490613aaa565b60405180910390fd5b80600b81905550600b54600a819055506064600a541115611f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7a90613ba0565b60405180910390fd5b50565b60095481565b611f94612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201990613aaa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612090576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120879061415c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b601260019054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d3906141ea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361224a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224190614278565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161232491906137ec565b60405180910390a3505050565b5f61233b306113e8565b90505f600e5490505f82148061235057505f81145b1561235c575050612423565b601460095461236b9190613f32565b8211156123845760146009546123819190613f32565b91505b5f61238e8361302b565b5f600e8190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516123da906142c3565b5f6040518083038185875af1925050503d805f8114612414576040519150601f19603f3d011682016040523d82523d5f602084013e612419565b606091505b5050809150505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248a90614347565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612501576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f8906143d5565b60405180910390fd5b5f8111612543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253a9061443d565b60405180910390fd5b601260019054906101000a900460ff166126325760175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806125f2575060175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612631576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612628906144a5565b60405180910390fd5b5b5f601454111561273c5760155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615806126c457506126956117ec565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806126fc575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61273b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273290614559565b60405180910390fd5b5b60125f9054906101000a900460ff1615612bbe576127586117ec565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156127c657506127966117ec565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156127fe57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612838575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561288b575060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156128de575060175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612bbd5760165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612980575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612a2757600f548111156129ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c1906145e7565b60405180910390fd5b6011546129d6836113e8565b826129e19190613c53565b1115612a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a199061464f565b60405180910390fd5b612bbc565b60165f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612ac4575060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612b1357601054811115612b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b05906146dd565b60405180910390fd5b612bbb565b60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612bba57601154612b6d836113e8565b82612b789190613c53565b1115612bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb09061464f565b60405180910390fd5b5b5b5b5b5b5f612bc8306113e8565b90505f6009548210159050808015612bec5750601260029054906101000a900460ff165b8015612c055750600860149054906101000a900460ff16155b8015612c58575060165f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612cab575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612cfe575060175f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612d41576001600860146101000a81548160ff021916908315150217905550612d26612331565b5f600860146101000a81548160ff0219169083151502179055505b5f6001905060175f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612de1575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612dea575f90505b5f8115612f6f5760165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e4857505f600a54115b15612ea0576064600a5486612e5d9190613f32565b612e679190613fa0565b9050600a54600b5482612e7a9190613f32565b612e849190613fa0565b600e5f828254612e949190613c53565b92505081905550612f4c565b60165f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612ef757505f600c54115b15612f4b576064600c5486612f0c9190613f32565b612f169190613fa0565b9050600c54600d5482612f299190613f32565b612f339190613fa0565b600e5f828254612f439190613c53565b925050819055505b5b5f811115612f6057612f5f873083613261565b5b8085612f6c91906146fb565b94505b612f7a878787613261565b50505050505050565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550612fe182826134c0565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f600267ffffffffffffffff8111156130475761304661472e565b5b6040519080825280602002602001820160405280156130755781602001602082028036833780820191505090505b50905030815f8151811061308c5761308b613d14565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613130573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613154919061476f565b8160018151811061316857613167613d14565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506131ce3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461216e565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161323095949392919061488a565b5f604051808303815f87803b158015613247575f80fd5b505af1158015613259573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036132cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132c690614347565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361333d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613334906143d5565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156133c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133b790614952565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461344e9190613c53565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516134b291906137ec565b60405180910390a350505050565b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051613545929190614970565b60405180910390a15050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561358857808201518184015260208101905061356d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6135ad82613551565b6135b7818561355b565b93506135c781856020860161356b565b6135d081613593565b840191505092915050565b5f6020820190508181035f8301526135f381846135a3565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61363d613638613633846135fb565b61361a565b6135fb565b9050919050565b5f61364e82613623565b9050919050565b5f61365f82613644565b9050919050565b61366f81613655565b82525050565b5f6020820190506136885f830184613666565b92915050565b5f80fd5b5f80fd5b5f6136a0826135fb565b9050919050565b6136b081613696565b81146136ba575f80fd5b50565b5f813590506136cb816136a7565b92915050565b5f8115159050919050565b6136e5816136d1565b81146136ef575f80fd5b50565b5f81359050613700816136dc565b92915050565b5f806040838503121561371c5761371b61368e565b5b5f613729858286016136bd565b925050602061373a858286016136f2565b9150509250929050565b5f819050919050565b61375681613744565b8114613760575f80fd5b50565b5f813590506137718161374d565b92915050565b5f806040838503121561378d5761378c61368e565b5b5f61379a858286016136bd565b92505060206137ab85828601613763565b9150509250929050565b6137be816136d1565b82525050565b5f6020820190506137d75f8301846137b5565b92915050565b6137e681613744565b82525050565b5f6020820190506137ff5f8301846137dd565b92915050565b5f6020828403121561381a5761381961368e565b5b5f613827848285016136bd565b91505092915050565b5f805f606084860312156138475761384661368e565b5b5f613854868287016136bd565b9350506020613865868287016136bd565b925050604061387686828701613763565b9150509250925092565b5f602082840312156138955761389461368e565b5b5f6138a284828501613763565b91505092915050565b5f60ff82169050919050565b6138c0816138ab565b82525050565b5f6020820190506138d95f8301846138b7565b92915050565b6138e881613696565b82525050565b5f6020820190506139015f8301846138df565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261392857613927613907565b5b8235905067ffffffffffffffff8111156139455761394461390b565b5b6020830191508360208202830111156139615761396061390f565b5b9250929050565b5f805f6040848603121561397f5761397e61368e565b5b5f84013567ffffffffffffffff81111561399c5761399b613692565b5b6139a886828701613913565b935093505060206139bb868287016136f2565b9150509250925092565b5f80604083850312156139db576139da61368e565b5b5f6139e8858286016136bd565b92505060206139f9858286016136bd565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613a4757607f821691505b602082108103613a5a57613a59613a03565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a9460208361355b565b9150613a9f82613a60565b602082019050919050565b5f6020820190508181035f830152613ac181613a88565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613b2260288361355b565b9150613b2d82613ac8565b604082019050919050565b5f6020820190508181035f830152613b4f81613b16565b9050919050565b7f4d757374206b65657020666565732061742031303025206f72206c65737300005f82015250565b5f613b8a601e8361355b565b9150613b9582613b56565b602082019050919050565b5f6020820190508181035f830152613bb781613b7e565b9050919050565b7f43616e6e6f74207265656e61626c652074726164696e670000000000000000005f82015250565b5f613bf260178361355b565b9150613bfd82613bbe565b602082019050919050565b5f6020820190508181035f830152613c1f81613be6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613c5d82613744565b9150613c6883613744565b9250828201905080821115613c8057613c7f613c26565b5b92915050565b7f5f6d61726b6574696e6757616c6c657420616464726573732063616e6e6f74205f8201527f6265203000000000000000000000000000000000000000000000000000000000602082015250565b5f613ce060248361355b565b9150613ceb82613c86565b604082019050919050565b5f6020820190508181035f830152613d0d81613cd4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613d4b82613744565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d7d57613d7c613c26565b5b600182019050919050565b7f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d205f8201527f6d61782074786e00000000000000000000000000000000000000000000000000602082015250565b5f613de260278361355b565b9150613ded82613d88565b604082019050919050565b5f6020820190508181035f830152613e0f81613dd6565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613e7060398361355b565b9150613e7b82613e16565b604082019050919050565b5f6020820190508181035f830152613e9d81613e64565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613efe60258361355b565b9150613f0982613ea4565b604082019050919050565b5f6020820190508181035f830152613f2b81613ef2565b9050919050565b5f613f3c82613744565b9150613f4783613744565b9250828202613f5581613744565b91508282048414831517613f6c57613f6b613c26565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613faa82613744565b9150613fb583613744565b925082613fc557613fc4613f73565b5b828204905092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f61402a60358361355b565b915061403582613fd0565b604082019050919050565b5f6020820190508181035f8301526140578161401e565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6140b860348361355b565b91506140c38261405e565b604082019050919050565b5f6020820190508181035f8301526140e5816140ac565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61414660268361355b565b9150614151826140ec565b604082019050919050565b5f6020820190508181035f8301526141738161413a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6141d460248361355b565b91506141df8261417a565b604082019050919050565b5f6020820190508181035f830152614201816141c8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61426260228361355b565b915061426d82614208565b604082019050919050565b5f6020820190508181035f83015261428f81614256565b9050919050565b5f81905092915050565b50565b5f6142ae5f83614296565b91506142b9826142a0565b5f82019050919050565b5f6142cd826142a3565b9150819050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61433160258361355b565b915061433c826142d7565b604082019050919050565b5f6020820190508181035f83015261435e81614325565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6143bf60238361355b565b91506143ca82614365565b604082019050919050565b5f6020820190508181035f8301526143ec816143b3565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f614427601d8361355b565b9150614432826143f3565b602082019050919050565b5f6020820190508181035f8301526144548161441b565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61448f60168361355b565b915061449a8261445b565b602082019050919050565b5f6020820190508181035f8301526144bc81614483565b9050919050565b7f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f5f8201527f72206f75742065786365707420746f206f776e6572206f72206465616420616460208201527f64726573732e0000000000000000000000000000000000000000000000000000604082015250565b5f61454360468361355b565b915061454e826144c3565b606082019050919050565b5f6020820190508181035f83015261457081614537565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d6178206275792e000000000000000000000000000000000000000000000000602082015250565b5f6145d160288361355b565b91506145dc82614577565b604082019050919050565b5f6020820190508181035f8301526145fe816145c5565b9050919050565b7f43616e6e6f7420457863656564206d61782077616c6c657400000000000000005f82015250565b5f61463960188361355b565b915061464482614605565b602082019050919050565b5f6020820190508181035f8301526146668161462d565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61782073656c6c2e00000000000000000000000000000000000000000000602082015250565b5f6146c7602a8361355b565b91506146d28261466d565b604082019050919050565b5f6020820190508181035f8301526146f4816146bb565b9050919050565b5f61470582613744565b915061471083613744565b925082820390508181111561472857614727613c26565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050614769816136a7565b92915050565b5f602082840312156147845761478361368e565b5b5f6147918482850161475b565b91505092915050565b5f819050919050565b5f6147bd6147b86147b38461479a565b61361a565b613744565b9050919050565b6147cd816147a3565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61480581613696565b82525050565b5f61481683836147fc565b60208301905092915050565b5f602082019050919050565b5f614838826147d3565b61484281856147dd565b935061484d836147ed565b805f5b8381101561487d578151614864888261480b565b975061486f83614822565b925050600181019050614850565b5085935050505092915050565b5f60a08201905061489d5f8301886137dd565b6148aa60208301876147c4565b81810360408301526148bc818661482e565b90506148cb60608301856138df565b6148d860808301846137dd565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61493c60268361355b565b9150614947826148e2565b604082019050919050565b5f6020820190508181035f83015261496981614930565b9050919050565b5f6040820190506149835f8301856138df565b61499060208301846137b5565b939250505056fea26469706673582212205c1e9e3b8ea76386bbda1103103a621c633dbf3bd118ea8e76e7c0be1be9519064736f6c63430008140033

Deployed Bytecode

0x608060405260043610610275575f3560e01c8063715018a61161014e578063b2a9c0c0116100c0578063dd62ed3e11610079578063dd62ed3e14610928578063debae15e14610964578063e2f456051461098c578063f2fde38b146109b6578063f8b45b05146109de578063ffb54a9914610a085761027c565b8063b2a9c0c01461080c578063b62496f514610834578063b8eb354614610870578063c02466681461089a578063d85ba063146108c2578063dbac26e9146108ec5761027c565b8063921369131161011257806392136913146106ee57806395d89b41146107185780639a7a23d614610742578063a457c2d71461076a578063a62068ce146107a6578063a9059cbb146107d05761027c565b8063715018a614610646578063751039fc1461065c5780637571336a146106725780637bce5a041461069a5780638da5cb5b146106c45761027c565b8063293230b8116101e75780635d098b38116101ab5780635d098b381461053c5780635f09d949146105645780636a486a8e1461058c5780636ddd1713146105b657806370a08231146105e057806370db69d61461061c5761027c565b8063293230b81461046c578063313ce5671461048257806339509351146104ac578063452ed4f1146104e85780634a62bb65146105125761027c565b80630e23500e116102395780630e23500e1461034e57806310d5de531461037857806318160ddd146103b45780631f3fed8f146103de57806323b872dd1461040857806324c16b7f146104445761027c565b806306fdde03146102805780630758d924146102aa5780630899c7c3146102d4578063095ea7b3146102fc5780630dca2686146103385761027c565b3661027c57005b5f80fd5b34801561028b575f80fd5b50610294610a32565b6040516102a191906135db565b60405180910390f35b3480156102b5575f80fd5b506102be610ac2565b6040516102cb9190613675565b60405180910390f35b3480156102df575f80fd5b506102fa60048036038101906102f59190613706565b610ae7565b005b348015610307575f80fd5b50610322600480360381019061031d9190613777565b610bd5565b60405161032f91906137c4565b60405180910390f35b348015610343575f80fd5b5061034c610bf2565b005b348015610359575f80fd5b50610362610cfe565b60405161036f91906137ec565b60405180910390f35b348015610383575f80fd5b5061039e60048036038101906103999190613805565b610d04565b6040516103ab91906137c4565b60405180910390f35b3480156103bf575f80fd5b506103c8610d21565b6040516103d591906137ec565b60405180910390f35b3480156103e9575f80fd5b506103f2610d2a565b6040516103ff91906137ec565b60405180910390f35b348015610413575f80fd5b5061042e60048036038101906104299190613830565b610d30565b60405161043b91906137c4565b60405180910390f35b34801561044f575f80fd5b5061046a60048036038101906104659190613880565b610e22565b005b348015610477575f80fd5b50610480610f11565b005b34801561048d575f80fd5b5061049661106b565b6040516104a391906138c6565b60405180910390f35b3480156104b7575f80fd5b506104d260048036038101906104cd9190613777565b611073565b6040516104df91906137c4565b60405180910390f35b3480156104f3575f80fd5b506104fc61111a565b60405161050991906138ee565b60405180910390f35b34801561051d575f80fd5b5061052661113f565b60405161053391906137c4565b60405180910390f35b348015610547575f80fd5b50610562600480360381019061055d9190613805565b611151565b005b34801561056f575f80fd5b5061058a60048036038101906105859190613968565b611298565b005b348015610597575f80fd5b506105a06113cf565b6040516105ad91906137ec565b60405180910390f35b3480156105c1575f80fd5b506105ca6113d5565b6040516105d791906137c4565b60405180910390f35b3480156105eb575f80fd5b5061060660048036038101906106019190613805565b6113e8565b60405161061391906137ec565b60405180910390f35b348015610627575f80fd5b5061063061142d565b60405161063d91906137ec565b60405180910390f35b348015610651575f80fd5b5061065a611433565b005b348015610667575f80fd5b50610670611586565b005b34801561067d575f80fd5b5061069860048036038101906106939190613706565b611663565b005b3480156106a5575f80fd5b506106ae6117e6565b6040516106bb91906137ec565b60405180910390f35b3480156106cf575f80fd5b506106d86117ec565b6040516106e591906138ee565b60405180910390f35b3480156106f9575f80fd5b50610702611814565b60405161070f91906137ec565b60405180910390f35b348015610723575f80fd5b5061072c61181a565b60405161073991906135db565b60405180910390f35b34801561074d575f80fd5b5061076860048036038101906107639190613706565b6118aa565b005b348015610775575f80fd5b50610790600480360381019061078b9190613777565b611a23565b60405161079d91906137c4565b60405180910390f35b3480156107b1575f80fd5b506107ba611b09565b6040516107c791906137ec565b60405180910390f35b3480156107db575f80fd5b506107f660048036038101906107f19190613777565b611b0f565b60405161080391906137c4565b60405180910390f35b348015610817575f80fd5b50610832600480360381019061082d9190613880565b611b2c565b005b34801561083f575f80fd5b5061085a60048036038101906108559190613805565b611c93565b60405161086791906137c4565b60405180910390f35b34801561087b575f80fd5b50610884611cb0565b60405161089191906137ec565b60405180910390f35b3480156108a5575f80fd5b506108c060048036038101906108bb9190613706565b611cb6565b005b3480156108cd575f80fd5b506108d6611df2565b6040516108e391906137ec565b60405180910390f35b3480156108f7575f80fd5b50610912600480360381019061090d9190613805565b611df8565b60405161091f91906137c4565b60405180910390f35b348015610933575f80fd5b5061094e600480360381019061094991906139c5565b611e15565b60405161095b91906137ec565b60405180910390f35b34801561096f575f80fd5b5061098a60048036038101906109859190613880565b611e97565b005b348015610997575f80fd5b506109a0611f86565b6040516109ad91906137ec565b60405180910390f35b3480156109c1575f80fd5b506109dc60048036038101906109d79190613805565b611f8c565b005b3480156109e9575f80fd5b506109f261214e565b6040516109ff91906137ec565b60405180910390f35b348015610a13575f80fd5b50610a1c612154565b604051610a2991906137c4565b60405180910390f35b606060038054610a4190613a30565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6d90613a30565b8015610ab85780601f10610a8f57610100808354040283529160200191610ab8565b820191905f5260205f20905b815481529060010190602001808311610a9b57829003601f168201915b5050505050905090565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610aef612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7490613aaa565b60405180910390fd5b8060155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f610be8610be1612167565b848461216e565b6001905092915050565b610bfa612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f90613aaa565b60405180910390fd5b6001600860146101000a81548160ff021916908315150217905550610cab612331565b5f600860146101000a81548160ff0219169083151502179055507f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb3242604051610cf491906137ec565b60405180910390a1565b60135481565b6018602052805f5260405f205f915054906101000a900460ff1681565b5f600254905090565b600e5481565b5f610d3c848484612425565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610d83612167565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610e02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df990613b38565b60405180910390fd5b610e1685610e0e612167565b85840361216e565b60019150509392505050565b610e2a612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaf90613aaa565b60405180910390fd5b80600d81905550600d54600c819055506064600c541115610f0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0590613ba0565b60405180910390fd5b50565b610f19612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90613aaa565b60405180910390fd5b601260019054906101000a900460ff1615610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee90613c08565b60405180910390fd5b6001601260016101000a81548160ff0219169083151502179055506001601260026101000a81548160ff021916908315150217905550436013819055506013546014819055507fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb760405160405180910390a1565b5f6012905090565b5f61111061107f612167565b848460015f61108c612167565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461110b9190613c53565b61216e565b6001905092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125f9054906101000a900460ff1681565b611159612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111de90613aaa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611255576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124c90613cf6565b60405180910390fd5b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6112a0612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132590613aaa565b60405180910390fd5b5f5b838390508110156113c9578160155f86868581811061135257611351613d14565b5b90506020020160208101906113679190613805565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806113c190613d41565b915050611330565b50505050565b600a5481565b601260029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b600f5481565b61143b612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c090613aaa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61158e612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390613aaa565b60405180910390fd5b5f60125f6101000a81548160ff0219169083151502179055507fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c60405160405180910390a1565b61166b612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f090613aaa565b60405180910390fd5b8061178e5760075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361178d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178490613df8565b60405180910390fd5b5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600d5481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5481565b60606004805461182990613a30565b80601f016020809104026020016040519081016040528092919081815260200182805461185590613a30565b80156118a05780601f10611877576101008083540402835291602001916118a0565b820191905f5260205f20905b81548152906001019060200180831161188357829003601f168201915b5050505050905090565b6118b2612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193790613aaa565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c690613e86565b60405180910390fd5b6119d98282612f83565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f8060015f611a30612167565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae190613f14565b60405180910390fd5b611afe611af5612167565b8585840361216e565b600191505092915050565b60145481565b5f611b22611b1b612167565b8484612425565b6001905092915050565b611b34612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb990613aaa565b60405180910390fd5b620186a06001611bd0610d21565b611bda9190613f32565b611be49190613fa0565b811015611c26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1d90614040565b60405180910390fd5b6103e86001611c33610d21565b611c3d9190613f32565b611c479190613fa0565b811115611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c80906140ce565b60405180910390fd5b8060098190555050565b6016602052805f5260405f205f915054906101000a900460ff1681565b60105481565b611cbe612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4390613aaa565b60405180910390fd5b8060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611de691906137c4565b60405180910390a25050565b600c5481565b6015602052805f5260405f205f915054906101000a900460ff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611e9f612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2490613aaa565b60405180910390fd5b80600b81905550600b54600a819055506064600a541115611f83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7a90613ba0565b60405180910390fd5b50565b60095481565b611f94612167565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201990613aaa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612090576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120879061415c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b601260019054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d3906141ea565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361224a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224190614278565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161232491906137ec565b60405180910390a3505050565b5f61233b306113e8565b90505f600e5490505f82148061235057505f81145b1561235c575050612423565b601460095461236b9190613f32565b8211156123845760146009546123819190613f32565b91505b5f61238e8361302b565b5f600e8190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516123da906142c3565b5f6040518083038185875af1925050503d805f8114612414576040519150601f19603f3d011682016040523d82523d5f602084013e612419565b606091505b5050809150505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248a90614347565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612501576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f8906143d5565b60405180910390fd5b5f8111612543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253a9061443d565b60405180910390fd5b601260019054906101000a900460ff166126325760175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806125f2575060175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612631576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612628906144a5565b60405180910390fd5b5b5f601454111561273c5760155f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615806126c457506126956117ec565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806126fc575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61273b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273290614559565b60405180910390fd5b5b60125f9054906101000a900460ff1615612bbe576127586117ec565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156127c657506127966117ec565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156127fe57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612838575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561288b575060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156128de575060175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612bbd5760165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612980575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612a2757600f548111156129ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c1906145e7565b60405180910390fd5b6011546129d6836113e8565b826129e19190613c53565b1115612a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a199061464f565b60405180910390fd5b612bbc565b60165f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612ac4575060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612b1357601054811115612b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b05906146dd565b60405180910390fd5b612bbb565b60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612bba57601154612b6d836113e8565b82612b789190613c53565b1115612bb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb09061464f565b60405180910390fd5b5b5b5b5b5b5f612bc8306113e8565b90505f6009548210159050808015612bec5750601260029054906101000a900460ff165b8015612c055750600860149054906101000a900460ff16155b8015612c58575060165f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612cab575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612cfe575060175f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612d41576001600860146101000a81548160ff021916908315150217905550612d26612331565b5f600860146101000a81548160ff0219169083151502179055505b5f6001905060175f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612de1575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612dea575f90505b5f8115612f6f5760165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e4857505f600a54115b15612ea0576064600a5486612e5d9190613f32565b612e679190613fa0565b9050600a54600b5482612e7a9190613f32565b612e849190613fa0565b600e5f828254612e949190613c53565b92505081905550612f4c565b60165f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612ef757505f600c54115b15612f4b576064600c5486612f0c9190613f32565b612f169190613fa0565b9050600c54600d5482612f299190613f32565b612f339190613fa0565b600e5f828254612f439190613c53565b925050819055505b5b5f811115612f6057612f5f873083613261565b5b8085612f6c91906146fb565b94505b612f7a878787613261565b50505050505050565b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550612fe182826134c0565b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f600267ffffffffffffffff8111156130475761304661472e565b5b6040519080825280602002602001820160405280156130755781602001602082028036833780820191505090505b50905030815f8151811061308c5761308b613d14565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613130573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613154919061476f565b8160018151811061316857613167613d14565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506131ce3060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461216e565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161323095949392919061488a565b5f604051808303815f87803b158015613247575f80fd5b505af1158015613259573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036132cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132c690614347565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361333d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613334906143d5565b60405180910390fd5b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156133c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133b790614952565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461344e9190613c53565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516134b291906137ec565b60405180910390a350505050565b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67468282604051613545929190614970565b60405180910390a15050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561358857808201518184015260208101905061356d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6135ad82613551565b6135b7818561355b565b93506135c781856020860161356b565b6135d081613593565b840191505092915050565b5f6020820190508181035f8301526135f381846135a3565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61363d613638613633846135fb565b61361a565b6135fb565b9050919050565b5f61364e82613623565b9050919050565b5f61365f82613644565b9050919050565b61366f81613655565b82525050565b5f6020820190506136885f830184613666565b92915050565b5f80fd5b5f80fd5b5f6136a0826135fb565b9050919050565b6136b081613696565b81146136ba575f80fd5b50565b5f813590506136cb816136a7565b92915050565b5f8115159050919050565b6136e5816136d1565b81146136ef575f80fd5b50565b5f81359050613700816136dc565b92915050565b5f806040838503121561371c5761371b61368e565b5b5f613729858286016136bd565b925050602061373a858286016136f2565b9150509250929050565b5f819050919050565b61375681613744565b8114613760575f80fd5b50565b5f813590506137718161374d565b92915050565b5f806040838503121561378d5761378c61368e565b5b5f61379a858286016136bd565b92505060206137ab85828601613763565b9150509250929050565b6137be816136d1565b82525050565b5f6020820190506137d75f8301846137b5565b92915050565b6137e681613744565b82525050565b5f6020820190506137ff5f8301846137dd565b92915050565b5f6020828403121561381a5761381961368e565b5b5f613827848285016136bd565b91505092915050565b5f805f606084860312156138475761384661368e565b5b5f613854868287016136bd565b9350506020613865868287016136bd565b925050604061387686828701613763565b9150509250925092565b5f602082840312156138955761389461368e565b5b5f6138a284828501613763565b91505092915050565b5f60ff82169050919050565b6138c0816138ab565b82525050565b5f6020820190506138d95f8301846138b7565b92915050565b6138e881613696565b82525050565b5f6020820190506139015f8301846138df565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261392857613927613907565b5b8235905067ffffffffffffffff8111156139455761394461390b565b5b6020830191508360208202830111156139615761396061390f565b5b9250929050565b5f805f6040848603121561397f5761397e61368e565b5b5f84013567ffffffffffffffff81111561399c5761399b613692565b5b6139a886828701613913565b935093505060206139bb868287016136f2565b9150509250925092565b5f80604083850312156139db576139da61368e565b5b5f6139e8858286016136bd565b92505060206139f9858286016136bd565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613a4757607f821691505b602082108103613a5a57613a59613a03565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a9460208361355b565b9150613a9f82613a60565b602082019050919050565b5f6020820190508181035f830152613ac181613a88565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613b2260288361355b565b9150613b2d82613ac8565b604082019050919050565b5f6020820190508181035f830152613b4f81613b16565b9050919050565b7f4d757374206b65657020666565732061742031303025206f72206c65737300005f82015250565b5f613b8a601e8361355b565b9150613b9582613b56565b602082019050919050565b5f6020820190508181035f830152613bb781613b7e565b9050919050565b7f43616e6e6f74207265656e61626c652074726164696e670000000000000000005f82015250565b5f613bf260178361355b565b9150613bfd82613bbe565b602082019050919050565b5f6020820190508181035f830152613c1f81613be6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613c5d82613744565b9150613c6883613744565b9250828201905080821115613c8057613c7f613c26565b5b92915050565b7f5f6d61726b6574696e6757616c6c657420616464726573732063616e6e6f74205f8201527f6265203000000000000000000000000000000000000000000000000000000000602082015250565b5f613ce060248361355b565b9150613ceb82613c86565b604082019050919050565b5f6020820190508181035f830152613d0d81613cd4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613d4b82613744565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613d7d57613d7c613c26565b5b600182019050919050565b7f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d205f8201527f6d61782074786e00000000000000000000000000000000000000000000000000602082015250565b5f613de260278361355b565b9150613ded82613d88565b604082019050919050565b5f6020820190508181035f830152613e0f81613dd6565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f613e7060398361355b565b9150613e7b82613e16565b604082019050919050565b5f6020820190508181035f830152613e9d81613e64565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f613efe60258361355b565b9150613f0982613ea4565b604082019050919050565b5f6020820190508181035f830152613f2b81613ef2565b9050919050565b5f613f3c82613744565b9150613f4783613744565b9250828202613f5581613744565b91508282048414831517613f6c57613f6b613c26565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613faa82613744565b9150613fb583613744565b925082613fc557613fc4613f73565b5b828204905092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f61402a60358361355b565b915061403582613fd0565b604082019050919050565b5f6020820190508181035f8301526140578161401e565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e312520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6140b860348361355b565b91506140c38261405e565b604082019050919050565b5f6020820190508181035f8301526140e5816140ac565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61414660268361355b565b9150614151826140ec565b604082019050919050565b5f6020820190508181035f8301526141738161413a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6141d460248361355b565b91506141df8261417a565b604082019050919050565b5f6020820190508181035f830152614201816141c8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61426260228361355b565b915061426d82614208565b604082019050919050565b5f6020820190508181035f83015261428f81614256565b9050919050565b5f81905092915050565b50565b5f6142ae5f83614296565b91506142b9826142a0565b5f82019050919050565b5f6142cd826142a3565b9150819050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61433160258361355b565b915061433c826142d7565b604082019050919050565b5f6020820190508181035f83015261435e81614325565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6143bf60238361355b565b91506143ca82614365565b604082019050919050565b5f6020820190508181035f8301526143ec816143b3565b9050919050565b7f616d6f756e74206d7573742062652067726561746572207468616e20300000005f82015250565b5f614427601d8361355b565b9150614432826143f3565b602082019050919050565b5f6020820190508181035f8301526144548161441b565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61448f60168361355b565b915061449a8261445b565b602082019050919050565b5f6020820190508181035f8301526144bc81614483565b9050919050565b7f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f5f8201527f72206f75742065786365707420746f206f776e6572206f72206465616420616460208201527f64726573732e0000000000000000000000000000000000000000000000000000604082015250565b5f61454360468361355b565b915061454e826144c3565b606082019050919050565b5f6020820190508181035f83015261457081614537565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d6178206275792e000000000000000000000000000000000000000000000000602082015250565b5f6145d160288361355b565b91506145dc82614577565b604082019050919050565b5f6020820190508181035f8301526145fe816145c5565b9050919050565b7f43616e6e6f7420457863656564206d61782077616c6c657400000000000000005f82015250565b5f61463960188361355b565b915061464482614605565b602082019050919050565b5f6020820190508181035f8301526146668161462d565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61782073656c6c2e00000000000000000000000000000000000000000000602082015250565b5f6146c7602a8361355b565b91506146d28261466d565b604082019050919050565b5f6020820190508181035f8301526146f4816146bb565b9050919050565b5f61470582613744565b915061471083613744565b925082820390508181111561472857614727613c26565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050614769816136a7565b92915050565b5f602082840312156147845761478361368e565b5b5f6147918482850161475b565b91505092915050565b5f819050919050565b5f6147bd6147b86147b38461479a565b61361a565b613744565b9050919050565b6147cd816147a3565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61480581613696565b82525050565b5f61481683836147fc565b60208301905092915050565b5f602082019050919050565b5f614838826147d3565b61484281856147dd565b935061484d836147ed565b805f5b8381101561487d578151614864888261480b565b975061486f83614822565b925050600181019050614850565b5085935050505092915050565b5f60a08201905061489d5f8301886137dd565b6148aa60208301876147c4565b81810360408301526148bc818661482e565b90506148cb60608301856138df565b6148d860808301846137dd565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61493c60268361355b565b9150614947826148e2565b604082019050919050565b5f6020820190508181035f83015261496981614930565b9050919050565b5f6040820190506149835f8301856138df565b61499060208301846137b5565b939250505056fea26469706673582212205c1e9e3b8ea76386bbda1103103a621c633dbf3bd118ea8e76e7c0be1be9519064736f6c63430008140033

Deployed Bytecode Sourcemap

8300:10889:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8345:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11635:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3103:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19000:184;;;;;;;;;;;;;:::i;:::-;;8893:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9152:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2510:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8649:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3280:492;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13368:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11213:291;;;;;;;;;;;;;:::i;:::-;;2409:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3780:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8379:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8777:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18769:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11760:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8505:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8855:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2626:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8689:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6824:150;;;;;;;;;;;;;:::i;:::-;;11512:115;;;;;;;;;;;;;:::i;:::-;;12549:260;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8612:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6610:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8540:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2297:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12817:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4003:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8936:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2761:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11976:348;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9027:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8717:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13846:182;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8578:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8976:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2944:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13605:233;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8465:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6982:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8746:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8817:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2189:100;2243:13;2276:5;2269:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:100;:::o;8345:27::-;;;;;;;;;;;;;:::o;11635:117::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11740:4:::1;11718:11;:19;11730:6;11718:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;11635:117:::0;;:::o;3103:169::-;3186:4;3203:39;3212:12;:10;:12::i;:::-;3226:7;3235:6;3203:8;:39::i;:::-;3260:4;3253:11;;3103:169;;;;:::o;19000:184::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19072:4:::1;19061:8;;:15;;;;;;;;;;;;;;;;;;19087:10;:8;:10::i;:::-;19119:5;19108:8;;:16;;;;;;;;;;;;;;;;;;19140:36;19160:15;19140:36;;;;;;:::i;:::-;;;;;;;;19000:184::o:0;8893:35::-;;;;:::o;9152:64::-;;;;;;;;;;;;;;;;;;;;;;:::o;2510:108::-;2571:7;2598:12;;2591:19;;2510:108;:::o;8649:33::-;;;;:::o;3280:492::-;3420:4;3437:36;3447:6;3455:9;3466:6;3437:9;:36::i;:::-;3486:24;3513:11;:19;3525:6;3513:19;;;;;;;;;;;;;;;:33;3533:12;:10;:12::i;:::-;3513:33;;;;;;;;;;;;;;;;3486:60;;3585:6;3565:16;:26;;3557:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;3672:57;3681:6;3689:12;:10;:12::i;:::-;3722:6;3703:16;:25;3672:8;:57::i;:::-;3760:4;3753:11;;;3280:492;;;;;:::o;13368:229::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13461:13:::1;13443:15;:31;;;;13500:15;;13485:12;:30;;;;13551:3;13535:12;;:19;;13527:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;13368:229:::0;:::o;11213:291::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11276:11:::1;;;;;;;;;;;11275:12;11267:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11340:4;11326:11;;:18;;;;;;;;;;;;;;;;;;11369:4;11355:11;;:18;;;;;;;;;;;;;;;;;;11403:12;11384:16;:31;;;;11447:16;;11426:18;:37;;;;11480:16;;;;;;;;;;11213:291::o:0;2409:93::-;2467:5;2492:2;2485:9;;2409:93;:::o;3780:215::-;3868:4;3885:80;3894:12;:10;:12::i;:::-;3908:7;3954:10;3917:11;:25;3929:12;:10;:12::i;:::-;3917:25;;;;;;;;;;;;;;;:34;3943:7;3917:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;3885:8;:80::i;:::-;3983:4;3976:11;;3780:215;;;;:::o;8379:21::-;;;;;;;;;;;;;:::o;8777:33::-;;;;;;;;;;;;;:::o;18769:225::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18889:1:::1;18861:30;;:16;:30;;::::0;18853:79:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;18969:16;18943:15;;:43;;;;;;;;;;;;;;;;;;18769:225:::0;:::o;11760:208::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11865:9:::1;11861:100;11884:7;;:14;;11880:1;:18;11861:100;;;11945:4;11919:11;:23;11931:7;;11939:1;11931:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11919:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;11900:3;;;;;:::i;:::-;;;;11861:100;;;;11760:208:::0;;;:::o;8505:28::-;;;;:::o;8855:31::-;;;;;;;;;;;;;:::o;2626:127::-;2700:7;2727:9;:18;2737:7;2727:18;;;;;;;;;;;;;;;;2720:25;;2626:127;;;:::o;8689:21::-;;;;:::o;6824:150::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6933:1:::1;6896:40;;6917:6;;;;;;;;;;;6896:40;;;;;;;;;;;;6964:1;6947:6;;:19;;;;;;;;;;;;;;;;;;6824:150::o:0;11512:115::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11583:5:::1;11566:14;;:22;;;;;;;;;;;;;;;;;;11604:15;;;;;;;;;;11512:115::o:0;12549:260::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12645:4:::1;12641:104;;12683:6;;;;;;;;;;;12673:16;;:6;:16;;::::0;12665:68:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;12641:104;12797:4;12755:31;:39;12787:6;12755:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;12549:260:::0;;:::o;8612:30::-;;;;:::o;6610:79::-;6648:7;6675:6;;;;;;;;;;;6668:13;;6610:79;:::o;8540:31::-;;;;:::o;2297:104::-;2353:13;2386:7;2379:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2297:104;:::o;12817:295::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12926:6:::1;;;;;;;;;;;12918:14;;:4;:14;;::::0;12910:84:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;13007:41;13036:4;13042:5;13007:28;:41::i;:::-;13098:5;13064:40;;13092:4;13064:40;;;;;;;;;;;;12817:295:::0;;:::o;4003:413::-;4096:4;4113:24;4140:11;:25;4152:12;:10;:12::i;:::-;4140:25;;;;;;;;;;;;;;;:34;4166:7;4140:34;;;;;;;;;;;;;;;;4113:61;;4213:15;4193:16;:35;;4185:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4306:67;4315:12;:10;:12::i;:::-;4329:7;4357:15;4338:16;:34;4306:8;:67::i;:::-;4404:4;4397:11;;;4003:413;;;;:::o;8936:33::-;;;;:::o;2761:175::-;2847:4;2864:42;2874:12;:10;:12::i;:::-;2888:9;2899:6;2864:9;:42::i;:::-;2924:4;2917:11;;2761:175;;;;:::o;11976:348::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12098:6:::1;12094:1;12078:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:26;;;;:::i;:::-;12065:9;:39;;12057:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;12214:4;12210:1;12194:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;12181:9;:37;;12173:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;12307:9;12286:18;:30;;;;11976:348:::0;:::o;9027:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;8717:22::-;;;;:::o;13846:182::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13962:8:::1;13931:19;:28;13951:7;13931:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;14002:7;13986:34;;;14011:8;13986:34;;;;;;:::i;:::-;;;;;;;;13846:182:::0;;:::o;8578:27::-;;;;:::o;8976:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;2944:151::-;3033:7;3060:11;:18;3072:5;3060:18;;;;;;;;;;;;;;;:27;3079:7;3060:27;;;;;;;;;;;;;;;;3053:34;;2944:151;;;;:::o;13605:233::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13700:13:::1;13681:16;:32;;;;13740:16;;13724:13;:32;;;;13792:3;13775:13;;:20;;13767:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;13605:233:::0;:::o;8465:33::-;;;;:::o;6982:244::-;6747:12;:10;:12::i;:::-;6737:22;;:6;;;;;;;;;;;:22;;;6729:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7091:1:::1;7071:22;;:8;:22;;::::0;7063:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;7181:8;7152:38;;7173:6;;;;;;;;;;;7152:38;;;;;;;;;;;;7210:8;7201:6;;:17;;;;;;;;;;;;;;;;;;6982:244:::0;:::o;8746:24::-;;;;:::o;8817:31::-;;;;;;;;;;;;;:::o;280:98::-;333:7;360:10;353:17;;280:98;:::o;5903:380::-;6056:1;6039:19;;:5;:19;;;6031:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6137:1;6118:21;;:7;:21;;;6110:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6221:6;6191:11;:18;6203:5;6191:18;;;;;;;;;;;;;;;:27;6210:7;6191:27;;;;;;;;;;;;;;;:36;;;;6259:7;6243:32;;6252:5;6243:32;;;6268:6;6243:32;;;;;;:::i;:::-;;;;;;;;5903:380;;;:::o;18211:548::-;18252:23;18278:24;18296:4;18278:9;:24::i;:::-;18252:50;;18313:25;18341:18;;18313:46;;18394:1;18375:15;:20;:46;;;;18420:1;18399:17;:22;18375:46;18372:60;;;18424:7;;;;18372:60;18486:2;18465:18;;:23;;;;:::i;:::-;18447:15;:41;18444:113;;;18543:2;18522:18;;:23;;;;:::i;:::-;18504:41;;18444:113;18569:12;18594:33;18611:15;18594:16;:33::i;:::-;18661:1;18640:18;:22;;;;18696:15;;;;;;;;;;;18688:29;;18725:21;18688:63;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18675:76;;;;;18239:520;;;18211:548;:::o;14036:3069::-;14152:1;14136:18;;:4;:18;;;14128:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14229:1;14215:16;;:2;:16;;;14207:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14299:1;14290:6;:10;14282:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;14351:11;;;;;;;;;;;14347:130;;14386:19;:25;14406:4;14386:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;14415:19;:23;14435:2;14415:23;;;;;;;;;;;;;;;;;;;;;;;;;14386:52;14378:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;14347:130;14513:1;14492:18;;:22;14489:196;;;14539:11;:17;14551:4;14539:17;;;;;;;;;;;;;;;;;;;;;;;;;14538:18;:35;;;;14566:7;:5;:7::i;:::-;14560:13;;:2;:13;;;14538:35;:60;;;;14591:6;14577:21;;:2;:21;;;14538:60;14530:143;;;;;;;;;;;;:::i;:::-;;;;;;;;;14489:196;14700:14;;;;;;;;;;;14697:967;;;14742:7;:5;:7::i;:::-;14734:15;;:4;:15;;;;:32;;;;;14759:7;:5;:7::i;:::-;14753:13;;:2;:13;;;;14734:32;:52;;;;;14784:1;14770:16;;:2;:16;;;;14734:52;:77;;;;;14804:6;14790:21;;:2;:21;;;;14734:77;:107;;;;;14816:19;:25;14836:4;14816:25;;;;;;;;;;;;;;;;;;;;;;;;;14815:26;14734:107;:135;;;;;14846:19;:23;14866:2;14846:23;;;;;;;;;;;;;;;;;;;;;;;;;14845:24;14734:135;14730:923;;;14923:25;:31;14949:4;14923:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;14959:31;:35;14991:2;14959:35;;;;;;;;;;;;;;;;;;;;;;;;;14958:36;14923:71;14919:719;;;15041:6;;15031;:16;;15023:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;15153:9;;15136:13;15146:2;15136:9;:13::i;:::-;15127:6;:22;;;;:::i;:::-;:35;;15119:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;14919:719;;;15267:25;:29;15293:2;15267:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;15301:31;:37;15333:4;15301:37;;;;;;;;;;;;;;;;;;;;;;;;;15300:38;15267:71;15263:375;;;15385:7;;15375:6;:17;;15367:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15263:375;;;15487:31;:35;15519:2;15487:35;;;;;;;;;;;;;;;;;;;;;;;;;15482:156;;15580:9;;15563:13;15573:2;15563:9;:13::i;:::-;15554:6;:22;;;;:::i;:::-;:35;;15546:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;15482:156;15263:375;14919:719;14730:923;14697:967;15676:28;15707:24;15725:4;15707:9;:24::i;:::-;15676:55;;15744:12;15783:18;;15759:20;:42;;15744:57;;15817:7;:22;;;;;15828:11;;;;;;;;;;;15817:22;:35;;;;;15844:8;;;;;;;;;;;15843:9;15817:35;:71;;;;;15857:25;:31;15883:4;15857:31;;;;;;;;;;;;;;;;;;;;;;;;;15856:32;15817:71;:101;;;;;15893:19;:25;15913:4;15893:25;;;;;;;;;;;;;;;;;;;;;;;;;15892:26;15817:101;:129;;;;;15923:19;:23;15943:2;15923:23;;;;;;;;;;;;;;;;;;;;;;;;;15922:24;15817:129;15814:236;;;15974:4;15963:8;;:15;;;;;;;;;;;;;;;;;;15995:10;:8;:10::i;:::-;16033:5;16022:8;;:16;;;;;;;;;;;;;;;;;;15814:236;16062:12;16077:4;16062:19;;16180;:25;16200:4;16180:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;16209:19;:23;16229:2;16209:23;;;;;;;;;;;;;;;;;;;;;;;;;16180:52;16177:99;;;16259:5;16249:15;;16177:99;16288:12;16392:7;16389:663;;;16457:25;:29;16483:2;16457:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;16506:1;16490:13;;:17;16457:50;16453:452;;;16559:3;16543:13;;16534:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;16527:35;;16629:13;;16610:16;;16603:4;:23;;;;:::i;:::-;:39;;;;:::i;:::-;16581:18;;:61;;;;;;;:::i;:::-;;;;;;;;16453:452;;;16705:25;:31;16731:4;16705:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;16755:1;16740:12;;:16;16705:51;16702:203;;;16808:3;16793:12;;16784:6;:21;;;;:::i;:::-;:27;;;;:::i;:::-;16777:34;;16877:12;;16859:15;;16852:4;:22;;;;:::i;:::-;:37;;;;:::i;:::-;16830:18;;:59;;;;;;;:::i;:::-;;;;;;;;16702:203;16453:452;16931:1;16924:4;:8;16921:89;;;16952:42;16968:4;16982;16989;16952:15;:42::i;:::-;16921:89;17036:4;17026:14;;;;;:::i;:::-;;;16389:663;17064:33;17080:4;17086:2;17090:6;17064:15;:33::i;:::-;14115:2990;;;;14036:3069;;;:::o;13120:240::-;13237:5;13203:25;:31;13229:4;13203:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;13255;13282:4;13288:5;13255:26;:39::i;:::-;13346:5;13312:40;;13340:4;13312:40;;;;;;;;;;;;13120:240;;:::o;17113:573::-;17241:21;17279:1;17265:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17241:40;;17310:4;17292;17297:1;17292:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17336:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17326:4;17331:1;17326:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;17365:56;17382:4;17397:9;;;;;;;;;;;17409:11;17365:8;:56::i;:::-;17460:9;;;;;;;;;;;:60;;;17535:11;17561:1;17605:4;17632;17652:15;17460:218;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17168:518;17113:573;:::o;4424:614::-;4582:1;4564:20;;:6;:20;;;4556:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4666:1;4645:23;;:9;:23;;;4637:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;4721:21;4745:9;:17;4755:6;4745:17;;;;;;;;;;;;;;;;4721:41;;4798:6;4781:13;:23;;4773:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4919:6;4903:13;:22;4883:9;:17;4893:6;4883:17;;;;;;;;;;;;;;;:42;;;;4971:6;4947:9;:20;4957:9;4947:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;5012:9;4995:35;;5004:6;4995:35;;;5023:6;4995:35;;;;;;:::i;:::-;;;;;;;;4545:493;4424:614;;;:::o;12332:207::-;12462:10;12420:31;:39;12452:6;12420:39;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;12488:43;12512:6;12520:10;12488:43;;;;;;;:::i;:::-;;;;;;;;12332:207;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:126::-;1386:7;1426:42;1419:5;1415:54;1404:65;;1349:126;;;:::o;1481:60::-;1509:3;1530:5;1523:12;;1481:60;;;:::o;1547:142::-;1597:9;1630:53;1648:34;1657:24;1675:5;1657:24;:::i;:::-;1648:34;:::i;:::-;1630:53;:::i;:::-;1617:66;;1547:142;;;:::o;1695:126::-;1745:9;1778:37;1809:5;1778:37;:::i;:::-;1765:50;;1695:126;;;:::o;1827:144::-;1895:9;1928:37;1959:5;1928:37;:::i;:::-;1915:50;;1827:144;;;:::o;1977:167::-;2082:55;2131:5;2082:55;:::i;:::-;2077:3;2070:68;1977:167;;:::o;2150:258::-;2261:4;2299:2;2288:9;2284:18;2276:26;;2312:89;2398:1;2387:9;2383:17;2374:6;2312:89;:::i;:::-;2150:258;;;;:::o;2495:117::-;2604:1;2601;2594:12;2618:117;2727:1;2724;2717:12;2741:96;2778:7;2807:24;2825:5;2807:24;:::i;:::-;2796:35;;2741:96;;;:::o;2843:122::-;2916:24;2934:5;2916:24;:::i;:::-;2909:5;2906:35;2896:63;;2955:1;2952;2945:12;2896:63;2843:122;:::o;2971:139::-;3017:5;3055:6;3042:20;3033:29;;3071:33;3098:5;3071:33;:::i;:::-;2971:139;;;;:::o;3116:90::-;3150:7;3193:5;3186:13;3179:21;3168:32;;3116:90;;;:::o;3212:116::-;3282:21;3297:5;3282:21;:::i;:::-;3275:5;3272:32;3262:60;;3318:1;3315;3308:12;3262:60;3212:116;:::o;3334:133::-;3377:5;3415:6;3402:20;3393:29;;3431:30;3455:5;3431:30;:::i;:::-;3334:133;;;;:::o;3473:468::-;3538:6;3546;3595:2;3583:9;3574:7;3570:23;3566:32;3563:119;;;3601:79;;:::i;:::-;3563:119;3721:1;3746:53;3791:7;3782:6;3771:9;3767:22;3746:53;:::i;:::-;3736:63;;3692:117;3848:2;3874:50;3916:7;3907:6;3896:9;3892:22;3874:50;:::i;:::-;3864:60;;3819:115;3473:468;;;;;:::o;3947:77::-;3984:7;4013:5;4002:16;;3947:77;;;:::o;4030:122::-;4103:24;4121:5;4103:24;:::i;:::-;4096:5;4093:35;4083:63;;4142:1;4139;4132:12;4083:63;4030:122;:::o;4158:139::-;4204:5;4242:6;4229:20;4220:29;;4258:33;4285:5;4258:33;:::i;:::-;4158:139;;;;:::o;4303:474::-;4371:6;4379;4428:2;4416:9;4407:7;4403:23;4399:32;4396:119;;;4434:79;;:::i;:::-;4396:119;4554:1;4579:53;4624:7;4615:6;4604:9;4600:22;4579:53;:::i;:::-;4569:63;;4525:117;4681:2;4707:53;4752:7;4743:6;4732:9;4728:22;4707:53;:::i;:::-;4697:63;;4652:118;4303:474;;;;;:::o;4783:109::-;4864:21;4879:5;4864:21;:::i;:::-;4859:3;4852:34;4783:109;;:::o;4898:210::-;4985:4;5023:2;5012:9;5008:18;5000:26;;5036:65;5098:1;5087:9;5083:17;5074:6;5036:65;:::i;:::-;4898:210;;;;:::o;5114:118::-;5201:24;5219:5;5201:24;:::i;:::-;5196:3;5189:37;5114:118;;:::o;5238:222::-;5331:4;5369:2;5358:9;5354:18;5346:26;;5382:71;5450:1;5439:9;5435:17;5426:6;5382:71;:::i;:::-;5238:222;;;;:::o;5466:329::-;5525:6;5574:2;5562:9;5553:7;5549:23;5545:32;5542:119;;;5580:79;;:::i;:::-;5542:119;5700:1;5725:53;5770:7;5761:6;5750:9;5746:22;5725:53;:::i;:::-;5715:63;;5671:117;5466:329;;;;:::o;5801:619::-;5878:6;5886;5894;5943:2;5931:9;5922:7;5918:23;5914:32;5911:119;;;5949:79;;:::i;:::-;5911:119;6069:1;6094:53;6139:7;6130:6;6119:9;6115:22;6094:53;:::i;:::-;6084:63;;6040:117;6196:2;6222:53;6267:7;6258:6;6247:9;6243:22;6222:53;:::i;:::-;6212:63;;6167:118;6324:2;6350:53;6395:7;6386:6;6375:9;6371:22;6350:53;:::i;:::-;6340:63;;6295:118;5801:619;;;;;:::o;6426:329::-;6485:6;6534:2;6522:9;6513:7;6509:23;6505:32;6502:119;;;6540:79;;:::i;:::-;6502:119;6660:1;6685:53;6730:7;6721:6;6710:9;6706:22;6685:53;:::i;:::-;6675:63;;6631:117;6426:329;;;;:::o;6761:86::-;6796:7;6836:4;6829:5;6825:16;6814:27;;6761:86;;;:::o;6853:112::-;6936:22;6952:5;6936:22;:::i;:::-;6931:3;6924:35;6853:112;;:::o;6971:214::-;7060:4;7098:2;7087:9;7083:18;7075:26;;7111:67;7175:1;7164:9;7160:17;7151:6;7111:67;:::i;:::-;6971:214;;;;:::o;7191:118::-;7278:24;7296:5;7278:24;:::i;:::-;7273:3;7266:37;7191:118;;:::o;7315:222::-;7408:4;7446:2;7435:9;7431:18;7423:26;;7459:71;7527:1;7516:9;7512:17;7503:6;7459:71;:::i;:::-;7315:222;;;;:::o;7543:117::-;7652:1;7649;7642:12;7666:117;7775:1;7772;7765:12;7789:117;7898:1;7895;7888:12;7929:568;8002:8;8012:6;8062:3;8055:4;8047:6;8043:17;8039:27;8029:122;;8070:79;;:::i;:::-;8029:122;8183:6;8170:20;8160:30;;8213:18;8205:6;8202:30;8199:117;;;8235:79;;:::i;:::-;8199:117;8349:4;8341:6;8337:17;8325:29;;8403:3;8395:4;8387:6;8383:17;8373:8;8369:32;8366:41;8363:128;;;8410:79;;:::i;:::-;8363:128;7929:568;;;;;:::o;8503:698::-;8595:6;8603;8611;8660:2;8648:9;8639:7;8635:23;8631:32;8628:119;;;8666:79;;:::i;:::-;8628:119;8814:1;8803:9;8799:17;8786:31;8844:18;8836:6;8833:30;8830:117;;;8866:79;;:::i;:::-;8830:117;8979:80;9051:7;9042:6;9031:9;9027:22;8979:80;:::i;:::-;8961:98;;;;8757:312;9108:2;9134:50;9176:7;9167:6;9156:9;9152:22;9134:50;:::i;:::-;9124:60;;9079:115;8503:698;;;;;:::o;9207:474::-;9275:6;9283;9332:2;9320:9;9311:7;9307:23;9303:32;9300:119;;;9338:79;;:::i;:::-;9300:119;9458:1;9483:53;9528:7;9519:6;9508:9;9504:22;9483:53;:::i;:::-;9473:63;;9429:117;9585:2;9611:53;9656:7;9647:6;9636:9;9632:22;9611:53;:::i;:::-;9601:63;;9556:118;9207:474;;;;;:::o;9687:180::-;9735:77;9732:1;9725:88;9832:4;9829:1;9822:15;9856:4;9853:1;9846:15;9873:320;9917:6;9954:1;9948:4;9944:12;9934:22;;10001:1;9995:4;9991:12;10022:18;10012:81;;10078:4;10070:6;10066:17;10056:27;;10012:81;10140:2;10132:6;10129:14;10109:18;10106:38;10103:84;;10159:18;;:::i;:::-;10103:84;9924:269;9873:320;;;:::o;10199:182::-;10339:34;10335:1;10327:6;10323:14;10316:58;10199:182;:::o;10387:366::-;10529:3;10550:67;10614:2;10609:3;10550:67;:::i;:::-;10543:74;;10626:93;10715:3;10626:93;:::i;:::-;10744:2;10739:3;10735:12;10728:19;;10387:366;;;:::o;10759:419::-;10925:4;10963:2;10952:9;10948:18;10940:26;;11012:9;11006:4;11002:20;10998:1;10987:9;10983:17;10976:47;11040:131;11166:4;11040:131;:::i;:::-;11032:139;;10759:419;;;:::o;11184:227::-;11324:34;11320:1;11312:6;11308:14;11301:58;11393:10;11388:2;11380:6;11376:15;11369:35;11184:227;:::o;11417:366::-;11559:3;11580:67;11644:2;11639:3;11580:67;:::i;:::-;11573:74;;11656:93;11745:3;11656:93;:::i;:::-;11774:2;11769:3;11765:12;11758:19;;11417:366;;;:::o;11789:419::-;11955:4;11993:2;11982:9;11978:18;11970:26;;12042:9;12036:4;12032:20;12028:1;12017:9;12013:17;12006:47;12070:131;12196:4;12070:131;:::i;:::-;12062:139;;11789:419;;;:::o;12214:180::-;12354:32;12350:1;12342:6;12338:14;12331:56;12214:180;:::o;12400:366::-;12542:3;12563:67;12627:2;12622:3;12563:67;:::i;:::-;12556:74;;12639:93;12728:3;12639:93;:::i;:::-;12757:2;12752:3;12748:12;12741:19;;12400:366;;;:::o;12772:419::-;12938:4;12976:2;12965:9;12961:18;12953:26;;13025:9;13019:4;13015:20;13011:1;13000:9;12996:17;12989:47;13053:131;13179:4;13053:131;:::i;:::-;13045:139;;12772:419;;;:::o;13197:173::-;13337:25;13333:1;13325:6;13321:14;13314:49;13197:173;:::o;13376:366::-;13518:3;13539:67;13603:2;13598:3;13539:67;:::i;:::-;13532:74;;13615:93;13704:3;13615:93;:::i;:::-;13733:2;13728:3;13724:12;13717:19;;13376:366;;;:::o;13748:419::-;13914:4;13952:2;13941:9;13937:18;13929:26;;14001:9;13995:4;13991:20;13987:1;13976:9;13972:17;13965:47;14029:131;14155:4;14029:131;:::i;:::-;14021:139;;13748:419;;;:::o;14173:180::-;14221:77;14218:1;14211:88;14318:4;14315:1;14308:15;14342:4;14339:1;14332:15;14359:191;14399:3;14418:20;14436:1;14418:20;:::i;:::-;14413:25;;14452:20;14470:1;14452:20;:::i;:::-;14447:25;;14495:1;14492;14488:9;14481:16;;14516:3;14513:1;14510:10;14507:36;;;14523:18;;:::i;:::-;14507:36;14359:191;;;;:::o;14556:223::-;14696:34;14692:1;14684:6;14680:14;14673:58;14765:6;14760:2;14752:6;14748:15;14741:31;14556:223;:::o;14785:366::-;14927:3;14948:67;15012:2;15007:3;14948:67;:::i;:::-;14941:74;;15024:93;15113:3;15024:93;:::i;:::-;15142:2;15137:3;15133:12;15126:19;;14785:366;;;:::o;15157:419::-;15323:4;15361:2;15350:9;15346:18;15338:26;;15410:9;15404:4;15400:20;15396:1;15385:9;15381:17;15374:47;15438:131;15564:4;15438:131;:::i;:::-;15430:139;;15157:419;;;:::o;15582:180::-;15630:77;15627:1;15620:88;15727:4;15724:1;15717:15;15751:4;15748:1;15741:15;15768:233;15807:3;15830:24;15848:5;15830:24;:::i;:::-;15821:33;;15876:66;15869:5;15866:77;15863:103;;15946:18;;:::i;:::-;15863:103;15993:1;15986:5;15982:13;15975:20;;15768:233;;;:::o;16007:226::-;16147:34;16143:1;16135:6;16131:14;16124:58;16216:9;16211:2;16203:6;16199:15;16192:34;16007:226;:::o;16239:366::-;16381:3;16402:67;16466:2;16461:3;16402:67;:::i;:::-;16395:74;;16478:93;16567:3;16478:93;:::i;:::-;16596:2;16591:3;16587:12;16580:19;;16239:366;;;:::o;16611:419::-;16777:4;16815:2;16804:9;16800:18;16792:26;;16864:9;16858:4;16854:20;16850:1;16839:9;16835:17;16828:47;16892:131;17018:4;16892:131;:::i;:::-;16884:139;;16611:419;;;:::o;17036:244::-;17176:34;17172:1;17164:6;17160:14;17153:58;17245:27;17240:2;17232:6;17228:15;17221:52;17036:244;:::o;17286:366::-;17428:3;17449:67;17513:2;17508:3;17449:67;:::i;:::-;17442:74;;17525:93;17614:3;17525:93;:::i;:::-;17643:2;17638:3;17634:12;17627:19;;17286:366;;;:::o;17658:419::-;17824:4;17862:2;17851:9;17847:18;17839:26;;17911:9;17905:4;17901:20;17897:1;17886:9;17882:17;17875:47;17939:131;18065:4;17939:131;:::i;:::-;17931:139;;17658:419;;;:::o;18083:224::-;18223:34;18219:1;18211:6;18207:14;18200:58;18292:7;18287:2;18279:6;18275:15;18268:32;18083:224;:::o;18313:366::-;18455:3;18476:67;18540:2;18535:3;18476:67;:::i;:::-;18469:74;;18552:93;18641:3;18552:93;:::i;:::-;18670:2;18665:3;18661:12;18654:19;;18313:366;;;:::o;18685:419::-;18851:4;18889:2;18878:9;18874:18;18866:26;;18938:9;18932:4;18928:20;18924:1;18913:9;18909:17;18902:47;18966:131;19092:4;18966:131;:::i;:::-;18958:139;;18685:419;;;:::o;19110:410::-;19150:7;19173:20;19191:1;19173:20;:::i;:::-;19168:25;;19207:20;19225:1;19207:20;:::i;:::-;19202:25;;19262:1;19259;19255:9;19284:30;19302:11;19284:30;:::i;:::-;19273:41;;19463:1;19454:7;19450:15;19447:1;19444:22;19424:1;19417:9;19397:83;19374:139;;19493:18;;:::i;:::-;19374:139;19158:362;19110:410;;;;:::o;19526:180::-;19574:77;19571:1;19564:88;19671:4;19668:1;19661:15;19695:4;19692:1;19685:15;19712:185;19752:1;19769:20;19787:1;19769:20;:::i;:::-;19764:25;;19803:20;19821:1;19803:20;:::i;:::-;19798:25;;19842:1;19832:35;;19847:18;;:::i;:::-;19832:35;19889:1;19886;19882:9;19877:14;;19712:185;;;;:::o;19903:240::-;20043:34;20039:1;20031:6;20027:14;20020:58;20112:23;20107:2;20099:6;20095:15;20088:48;19903:240;:::o;20149:366::-;20291:3;20312:67;20376:2;20371:3;20312:67;:::i;:::-;20305:74;;20388:93;20477:3;20388:93;:::i;:::-;20506:2;20501:3;20497:12;20490:19;;20149:366;;;:::o;20521:419::-;20687:4;20725:2;20714:9;20710:18;20702:26;;20774:9;20768:4;20764:20;20760:1;20749:9;20745:17;20738:47;20802:131;20928:4;20802:131;:::i;:::-;20794:139;;20521:419;;;:::o;20946:239::-;21086:34;21082:1;21074:6;21070:14;21063:58;21155:22;21150:2;21142:6;21138:15;21131:47;20946:239;:::o;21191:366::-;21333:3;21354:67;21418:2;21413:3;21354:67;:::i;:::-;21347:74;;21430:93;21519:3;21430:93;:::i;:::-;21548:2;21543:3;21539:12;21532:19;;21191:366;;;:::o;21563:419::-;21729:4;21767:2;21756:9;21752:18;21744:26;;21816:9;21810:4;21806:20;21802:1;21791:9;21787:17;21780:47;21844:131;21970:4;21844:131;:::i;:::-;21836:139;;21563:419;;;:::o;21988:225::-;22128:34;22124:1;22116:6;22112:14;22105:58;22197:8;22192:2;22184:6;22180:15;22173:33;21988:225;:::o;22219:366::-;22361:3;22382:67;22446:2;22441:3;22382:67;:::i;:::-;22375:74;;22458:93;22547:3;22458:93;:::i;:::-;22576:2;22571:3;22567:12;22560:19;;22219:366;;;:::o;22591:419::-;22757:4;22795:2;22784:9;22780:18;22772:26;;22844:9;22838:4;22834:20;22830:1;22819:9;22815:17;22808:47;22872:131;22998:4;22872:131;:::i;:::-;22864:139;;22591:419;;;:::o;23016:223::-;23156:34;23152:1;23144:6;23140:14;23133:58;23225:6;23220:2;23212:6;23208:15;23201:31;23016:223;:::o;23245:366::-;23387:3;23408:67;23472:2;23467:3;23408:67;:::i;:::-;23401:74;;23484:93;23573:3;23484:93;:::i;:::-;23602:2;23597:3;23593:12;23586:19;;23245:366;;;:::o;23617:419::-;23783:4;23821:2;23810:9;23806:18;23798:26;;23870:9;23864:4;23860:20;23856:1;23845:9;23841:17;23834:47;23898:131;24024:4;23898:131;:::i;:::-;23890:139;;23617:419;;;:::o;24042:221::-;24182:34;24178:1;24170:6;24166:14;24159:58;24251:4;24246:2;24238:6;24234:15;24227:29;24042:221;:::o;24269:366::-;24411:3;24432:67;24496:2;24491:3;24432:67;:::i;:::-;24425:74;;24508:93;24597:3;24508:93;:::i;:::-;24626:2;24621:3;24617:12;24610:19;;24269:366;;;:::o;24641:419::-;24807:4;24845:2;24834:9;24830:18;24822:26;;24894:9;24888:4;24884:20;24880:1;24869:9;24865:17;24858:47;24922:131;25048:4;24922:131;:::i;:::-;24914:139;;24641:419;;;:::o;25066:147::-;25167:11;25204:3;25189:18;;25066:147;;;;:::o;25219:114::-;;:::o;25339:398::-;25498:3;25519:83;25600:1;25595:3;25519:83;:::i;:::-;25512:90;;25611:93;25700:3;25611:93;:::i;:::-;25729:1;25724:3;25720:11;25713:18;;25339:398;;;:::o;25743:379::-;25927:3;25949:147;26092:3;25949:147;:::i;:::-;25942:154;;26113:3;26106:10;;25743:379;;;:::o;26128:224::-;26268:34;26264:1;26256:6;26252:14;26245:58;26337:7;26332:2;26324:6;26320:15;26313:32;26128:224;:::o;26358:366::-;26500:3;26521:67;26585:2;26580:3;26521:67;:::i;:::-;26514:74;;26597:93;26686:3;26597:93;:::i;:::-;26715:2;26710:3;26706:12;26699:19;;26358:366;;;:::o;26730:419::-;26896:4;26934:2;26923:9;26919:18;26911:26;;26983:9;26977:4;26973:20;26969:1;26958:9;26954:17;26947:47;27011:131;27137:4;27011:131;:::i;:::-;27003:139;;26730:419;;;:::o;27155:222::-;27295:34;27291:1;27283:6;27279:14;27272:58;27364:5;27359:2;27351:6;27347:15;27340:30;27155:222;:::o;27383:366::-;27525:3;27546:67;27610:2;27605:3;27546:67;:::i;:::-;27539:74;;27622:93;27711:3;27622:93;:::i;:::-;27740:2;27735:3;27731:12;27724:19;;27383:366;;;:::o;27755:419::-;27921:4;27959:2;27948:9;27944:18;27936:26;;28008:9;28002:4;27998:20;27994:1;27983:9;27979:17;27972:47;28036:131;28162:4;28036:131;:::i;:::-;28028:139;;27755:419;;;:::o;28180:179::-;28320:31;28316:1;28308:6;28304:14;28297:55;28180:179;:::o;28365:366::-;28507:3;28528:67;28592:2;28587:3;28528:67;:::i;:::-;28521:74;;28604:93;28693:3;28604:93;:::i;:::-;28722:2;28717:3;28713:12;28706:19;;28365:366;;;:::o;28737:419::-;28903:4;28941:2;28930:9;28926:18;28918:26;;28990:9;28984:4;28980:20;28976:1;28965:9;28961:17;28954:47;29018:131;29144:4;29018:131;:::i;:::-;29010:139;;28737:419;;;:::o;29162:172::-;29302:24;29298:1;29290:6;29286:14;29279:48;29162:172;:::o;29340:366::-;29482:3;29503:67;29567:2;29562:3;29503:67;:::i;:::-;29496:74;;29579:93;29668:3;29579:93;:::i;:::-;29697:2;29692:3;29688:12;29681:19;;29340:366;;;:::o;29712:419::-;29878:4;29916:2;29905:9;29901:18;29893:26;;29965:9;29959:4;29955:20;29951:1;29940:9;29936:17;29929:47;29993:131;30119:4;29993:131;:::i;:::-;29985:139;;29712:419;;;:::o;30137:294::-;30277:34;30273:1;30265:6;30261:14;30254:58;30346:34;30341:2;30333:6;30329:15;30322:59;30415:8;30410:2;30402:6;30398:15;30391:33;30137:294;:::o;30437:366::-;30579:3;30600:67;30664:2;30659:3;30600:67;:::i;:::-;30593:74;;30676:93;30765:3;30676:93;:::i;:::-;30794:2;30789:3;30785:12;30778:19;;30437:366;;;:::o;30809:419::-;30975:4;31013:2;31002:9;30998:18;30990:26;;31062:9;31056:4;31052:20;31048:1;31037:9;31033:17;31026:47;31090:131;31216:4;31090:131;:::i;:::-;31082:139;;30809:419;;;:::o;31234:227::-;31374:34;31370:1;31362:6;31358:14;31351:58;31443:10;31438:2;31430:6;31426:15;31419:35;31234:227;:::o;31467:366::-;31609:3;31630:67;31694:2;31689:3;31630:67;:::i;:::-;31623:74;;31706:93;31795:3;31706:93;:::i;:::-;31824:2;31819:3;31815:12;31808:19;;31467:366;;;:::o;31839:419::-;32005:4;32043:2;32032:9;32028:18;32020:26;;32092:9;32086:4;32082:20;32078:1;32067:9;32063:17;32056:47;32120:131;32246:4;32120:131;:::i;:::-;32112:139;;31839:419;;;:::o;32264:174::-;32404:26;32400:1;32392:6;32388:14;32381:50;32264:174;:::o;32444:366::-;32586:3;32607:67;32671:2;32666:3;32607:67;:::i;:::-;32600:74;;32683:93;32772:3;32683:93;:::i;:::-;32801:2;32796:3;32792:12;32785:19;;32444:366;;;:::o;32816:419::-;32982:4;33020:2;33009:9;33005:18;32997:26;;33069:9;33063:4;33059:20;33055:1;33044:9;33040:17;33033:47;33097:131;33223:4;33097:131;:::i;:::-;33089:139;;32816:419;;;:::o;33241:229::-;33381:34;33377:1;33369:6;33365:14;33358:58;33450:12;33445:2;33437:6;33433:15;33426:37;33241:229;:::o;33476:366::-;33618:3;33639:67;33703:2;33698:3;33639:67;:::i;:::-;33632:74;;33715:93;33804:3;33715:93;:::i;:::-;33833:2;33828:3;33824:12;33817:19;;33476:366;;;:::o;33848:419::-;34014:4;34052:2;34041:9;34037:18;34029:26;;34101:9;34095:4;34091:20;34087:1;34076:9;34072:17;34065:47;34129:131;34255:4;34129:131;:::i;:::-;34121:139;;33848:419;;;:::o;34273:194::-;34313:4;34333:20;34351:1;34333:20;:::i;:::-;34328:25;;34367:20;34385:1;34367:20;:::i;:::-;34362:25;;34411:1;34408;34404:9;34396:17;;34435:1;34429:4;34426:11;34423:37;;;34440:18;;:::i;:::-;34423:37;34273:194;;;;:::o;34473:180::-;34521:77;34518:1;34511:88;34618:4;34615:1;34608:15;34642:4;34639:1;34632:15;34659:143;34716:5;34747:6;34741:13;34732:22;;34763:33;34790:5;34763:33;:::i;:::-;34659:143;;;;:::o;34808:351::-;34878:6;34927:2;34915:9;34906:7;34902:23;34898:32;34895:119;;;34933:79;;:::i;:::-;34895:119;35053:1;35078:64;35134:7;35125:6;35114:9;35110:22;35078:64;:::i;:::-;35068:74;;35024:128;34808:351;;;;:::o;35165:85::-;35210:7;35239:5;35228:16;;35165:85;;;:::o;35256:158::-;35314:9;35347:61;35365:42;35374:32;35400:5;35374:32;:::i;:::-;35365:42;:::i;:::-;35347:61;:::i;:::-;35334:74;;35256:158;;;:::o;35420:147::-;35515:45;35554:5;35515:45;:::i;:::-;35510:3;35503:58;35420:147;;:::o;35573:114::-;35640:6;35674:5;35668:12;35658:22;;35573:114;;;:::o;35693:184::-;35792:11;35826:6;35821:3;35814:19;35866:4;35861:3;35857:14;35842:29;;35693:184;;;;:::o;35883:132::-;35950:4;35973:3;35965:11;;36003:4;35998:3;35994:14;35986:22;;35883:132;;;:::o;36021:108::-;36098:24;36116:5;36098:24;:::i;:::-;36093:3;36086:37;36021:108;;:::o;36135:179::-;36204:10;36225:46;36267:3;36259:6;36225:46;:::i;:::-;36303:4;36298:3;36294:14;36280:28;;36135:179;;;;:::o;36320:113::-;36390:4;36422;36417:3;36413:14;36405:22;;36320:113;;;:::o;36469:732::-;36588:3;36617:54;36665:5;36617:54;:::i;:::-;36687:86;36766:6;36761:3;36687:86;:::i;:::-;36680:93;;36797:56;36847:5;36797:56;:::i;:::-;36876:7;36907:1;36892:284;36917:6;36914:1;36911:13;36892:284;;;36993:6;36987:13;37020:63;37079:3;37064:13;37020:63;:::i;:::-;37013:70;;37106:60;37159:6;37106:60;:::i;:::-;37096:70;;36952:224;36939:1;36936;36932:9;36927:14;;36892:284;;;36896:14;37192:3;37185:10;;36593:608;;;36469:732;;;;:::o;37207:831::-;37470:4;37508:3;37497:9;37493:19;37485:27;;37522:71;37590:1;37579:9;37575:17;37566:6;37522:71;:::i;:::-;37603:80;37679:2;37668:9;37664:18;37655:6;37603:80;:::i;:::-;37730:9;37724:4;37720:20;37715:2;37704:9;37700:18;37693:48;37758:108;37861:4;37852:6;37758:108;:::i;:::-;37750:116;;37876:72;37944:2;37933:9;37929:18;37920:6;37876:72;:::i;:::-;37958:73;38026:3;38015:9;38011:19;38002:6;37958:73;:::i;:::-;37207:831;;;;;;;;:::o;38044:225::-;38184:34;38180:1;38172:6;38168:14;38161:58;38253:8;38248:2;38240:6;38236:15;38229:33;38044:225;:::o;38275:366::-;38417:3;38438:67;38502:2;38497:3;38438:67;:::i;:::-;38431:74;;38514:93;38603:3;38514:93;:::i;:::-;38632:2;38627:3;38623:12;38616:19;;38275:366;;;:::o;38647:419::-;38813:4;38851:2;38840:9;38836:18;38828:26;;38900:9;38894:4;38890:20;38886:1;38875:9;38871:17;38864:47;38928:131;39054:4;38928:131;:::i;:::-;38920:139;;38647:419;;;:::o;39072:320::-;39187:4;39225:2;39214:9;39210:18;39202:26;;39238:71;39306:1;39295:9;39291:17;39282:6;39238:71;:::i;:::-;39319:66;39381:2;39370:9;39366:18;39357:6;39319:66;:::i;:::-;39072:320;;;;;:::o

Swarm Source

ipfs://5c1e9e3b8ea76386bbda1103103a621c633dbf3bd118ea8e76e7c0be1be95190
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.