ETH Price: $2,899.48 (-1.31%)
Gas: 0.15 Gwei
 

Overview

Max Total Supply

420,690,000,000 FCPEPE

Holders

15

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
Contract

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
No with 200 runs

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

/*


https://x.com/NYPDnews/status/1927709884348314045


*/



// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

contract Contract is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;

    address payable private _taxWallet;

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

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"First Criminal Pepe";
    string private constant _symbol = unicode"FCPEPE";
    uint256 public _maxTxAmount = 8413800000 * 10**_decimals;
    uint256 public _maxWalletSize = 8413800000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 6413800000 * 10**_decimals;
    uint256 public _maxTaxSwap = 6413800000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private transferDelayEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);

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

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

        bots[0x19779C6290ECeaaeD8de728c627cFF78bBe8d562] = true;
        bots[0x40C16B3727593E7D0B64413E332CC2F9D8025115] = true;
        bots[0xB323d6C5fB1658269cB0E66Fe990348B084ccd9a] = true;
        bots[0xb07dd7c99174b3b96edaCc027Ce75873287A7636] = true;
        bots[0x66FB8623656929Cd9c02Ff693C96863ecF27003c] = true;
        bots[0x75423CFb9599a4976c587cfd1a33ce9961Ac0d21] = true;
        bots[0x86653fA95Cb3336b903383A98a1fa21d57DaAf8d] = true;
        bots[0x56a86a31aD7E7dF40351d58FE091ECa2C6Fff4b9] = true;
        bots[0x4f7830D386Ee525f05882356Eab2B1827e65a6B0] = true;
        bots[0x70dDf530E4abF300A92D947C131b32CDbA33a2C4] = true;
        bots[0xBd19de3587f56a89fb0dB2d514c847F7D47ab322] = true;
        bots[0x41302B4968ce2b2EB7ed17fe6B69B80B119f592a] = true;
        bots[0x9E263c5aE596D1210531e8222874b6f5fa942B7e] = true;
        bots[0xF9213ECdb1F0443E0e4d1Aa3c9CA7074C473D5e4] = true;
        bots[0x3f890F67d2DA8824b13709c3656505a696D9FA05] = true;
        bots[0xd57e147804fc335893a110B3885ddCD314f4B30F] = true;
        bots[0x8F45B1419b371Db9fDaC4e33d147a99cf20E7ce2] = true;
        bots[0x61842B484AA8204C70B6E788A6A330b12AbfBCaf] = true;
        bots[0x1c0031F2564776171424869139d21ff36f5c5a4a] = true;
        bots[0xf626826f66FD154F019d8F2459C5D8B0f5ed3eeb] = true;
        bots[0x918Ba1D8fD9B82473B7DDDc01bE84D8abc16AdaA] = true;
        bots[0x3862De24806108b8218886Fb499B3c0A80F4A739] = true;
        bots[0x466c7f6962003a274Ce27171C8906A50745Adf5E] = true;
        bots[0x020Be546F9D802FD004B1dA3a202B1923da2cD38] = true;
        bots[0xf53c60D35976306Edb9496E9C617F311862Da723] = true;

        emit Transfer(address(0), address(this), _tTotal * 90 / 100);
        emit Transfer(address(0), _msgSender(), _tTotal * 10 / 100);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            uint256 contractTokenBalance = balanceOf(address(this));

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

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

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

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

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

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

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

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

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

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

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

        emit MaxTxAmountUpdated(_tTotal);
    }

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

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

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

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

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

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender() == _taxWallet, "Not authorized");
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }
    function setSwapTreshold5(uint256 _new) external {
        require(_msgSender() == _taxWallet, "Not authorized");
        _taxSwapThreshold = _new;
        _maxTaxSwap = _new;
    }

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

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

    function openTradingPairFucked5(address existingPair) external payable onlyOwner {
        require(!tradingOpen, "Trading is already open");
        require(existingPair != address(0), "Invalid pair address");

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address factory = uniswapV2Router.factory();
        address weth = uniswapV2Router.WETH();

        // Verify pair
        address pair = IUniswapV2Factory(factory).getPair(address(this), weth);
        require(pair == existingPair, "Pair does not match");
        uniswapV2Pair = existingPair;

        // Check pair reserves
        uint256 reserveToken = IERC20(address(this)).balanceOf(uniswapV2Pair);
        uint256 reserveWETH = IERC20(weth).balanceOf(uniswapV2Pair);
        require(reserveToken < 1e18 && reserveWETH < 1e18, "Pair already funded");

        // Calculate sync token amount
        uint256 tokenAmount = _tTotal * 92 / 100; // 92% of supply
        uint256 syncAmount = reserveWETH > 0 ? tokenAmount.mul(reserveWETH).div(10**18) : 1000000; // Default to 0.000001 tokens if no WETH

        // Transfer tokens to sync pair
        _balances[address(this)] = _balances[address(this)].sub(syncAmount);
        _balances[uniswapV2Pair] = _balances[uniswapV2Pair].add(syncAmount);
        emit Transfer(address(this), uniswapV2Pair, syncAmount);

        // Approve router
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // Add liquidity
        uint256 ethAmount = msg.value;
        require(ethAmount >= 0.1 ether, "Minimum 0.1 ETH required");

        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );

        // Approve pair for router
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint256).max);

        swapEnabled = true;
        tradingOpen = true;
        transferDelayEnabled = true;
    }

   

    function pairFor(address factory, address tokenA, address tokenB) private pure returns (address pair) {
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        pair = address(uint160(uint(keccak256(abi.encodePacked(
            hex'ff',
            factory,
            keccak256(abi.encodePacked(token0, token1)),
            hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f'
        )))));
    }

    function reduceFee(uint256 _newFee) external {
        require(_msgSender() == _taxWallet, "Not authorized");
        require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax, "Invalid fee");
        _finalBuyTax = _newFee;
        _finalSellTax = _newFee;
    }

    receive() external payable {}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"bot","type":"address"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notBot","type":"address"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"existingPair","type":"address"}],"name":"openTradingPairFucked5","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_bool","type":"bool"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"setSwapTreshold5","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601560075560156008555f6009555f600a555f600b556012600c556003600d555f600e555f600f556009600a6200003c9190620011ab565b6401f58066406200004e9190620011fb565b6010556009600a620000619190620011ab565b6401f5806640620000739190620011fb565b6011556009600a620000869190620011ab565b64017e4ad240620000989190620011fb565b6012556009600a620000ab9190620011ab565b64017e4ad240620000bd9190620011fb565b6013555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055505f601560176101000a81548160ff0219169083151502179055505f6016555f6017555f6200012662000feb60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d262000feb60201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064605a6009600a620002259190620011ab565b6461f313f880620002379190620011fb565b620002439190620011fb565b6200024f919062001272565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506064600a6009600a620002a49190620011ab565b6461f313f880620002b69190620011fb565b620002c29190620011fb565b620002ce919062001272565b60015f620002e162000feb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200033362000ff260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7319779c6290eceaaed8de728c627cff78bbe8d56273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7340c16b3727593e7d0b64413e332cc2f9d802511573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73b323d6c5fb1658269cb0e66fe990348b084ccd9a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73b07dd7c99174b3b96edacc027ce75873287a763673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7366fb8623656929cd9c02ff693c96863ecf27003c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7375423cfb9599a4976c587cfd1a33ce9961ac0d2173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7386653fa95cb3336b903383a98a1fa21d57daaf8d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7356a86a31ad7e7df40351d58fe091eca2c6fff4b973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f734f7830d386ee525f05882356eab2b1827e65a6b073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7370ddf530e4abf300a92d947c131b32cdba33a2c473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73bd19de3587f56a89fb0db2d514c847f7d47ab32273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7341302b4968ce2b2eb7ed17fe6b69b80b119f592a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f739e263c5ae596d1210531e8222874b6f5fa942b7e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73f9213ecdb1f0443e0e4d1aa3c9ca7074c473d5e473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f733f890f67d2da8824b13709c3656505a696d9fa0573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73d57e147804fc335893a110b3885ddcd314f4b30f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f738f45b1419b371db9fdac4e33d147a99cf20e7ce273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f7361842b484aa8204c70b6e788a6a330b12abfbcaf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f731c0031f2564776171424869139d21ff36f5c5a4a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73f626826f66fd154f019d8f2459c5d8b0f5ed3eeb73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73918ba1d8fd9b82473b7dddc01be84d8abc16adaa73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f733862de24806108b8218886fb499b3c0a80f4a73973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73466c7f6962003a274ce27171c8906a50745adf5e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73020be546f9d802fd004b1da3a202b1923da2cd3873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f73f53c60d35976306edb9496e9c617f311862da72373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064605a6009600a62000ef19190620011ab565b6461f313f88062000f039190620011fb565b62000f0f9190620011fb565b62000f1b919062001272565b60405162000f2a9190620012ba565b60405180910390a362000f4262000feb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600a6009600a62000fa49190620011ab565b6461f313f88062000fb69190620011fb565b62000fc29190620011fb565b62000fce919062001272565b60405162000fdd9190620012ba565b60405180910390a3620012d5565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620010a3578086048111156200107b576200107a62001019565b5b60018516156200108b5780820291505b80810290506200109b8562001046565b94506200105b565b94509492505050565b5f82620010bd57600190506200118f565b81620010cc575f90506200118f565b8160018114620010e55760028114620010f05762001126565b60019150506200118f565b60ff84111562001105576200110462001019565b5b8360020a9150848211156200111f576200111e62001019565b5b506200118f565b5060208310610133831016604e8410600b8410161715620011605782820a9050838111156200115a576200115962001019565b5b6200118f565b6200116f848484600162001052565b9250905081840481111562001189576200118862001019565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620011b78262001196565b9150620011c4836200119f565b9250620011f37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620010ac565b905092915050565b5f620012078262001196565b9150620012148362001196565b9250828202620012248162001196565b915082820484148315176200123e576200123d62001019565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200127e8262001196565b91506200128b8362001196565b9250826200129e576200129d62001245565b5b828204905092915050565b620012b48162001196565b82525050565b5f602082019050620012cf5f830184620012a9565b92915050565b614f7b80620012e35f395ff3fe60806040526004361061019f575f3560e01c80636fc3eaec116100eb5780638f9a55c011610089578063bf474bed11610063578063bf474bed14610562578063c9567bf91461058c578063dd62ed3e146105a2578063ec1f3f63146105de576101a6565b80638f9a55c0146104d257806395d89b41146104fc578063a9059cbb14610526576101a6565b80637563b534116100c55780637563b5341461042e5780637d1db4a5146104565780638cd4426d146104805780638da5cb5b146104a8576101a6565b80636fc3eaec146103c657806370a08231146103dc578063715018a614610418576101a6565b806323b872dd116101585780634c8afff4116101325780634c8afff41461034457806351bc3c851461036c57806353a5d3301461038257806356ec63a51461039e576101a6565b806323b872dd146102a2578063313ce567146102de5780633bbac57914610308576101a6565b806306fdde03146101aa578063095ea7b3146101d45780630faee56f14610210578063109daa991461023a57806317090ec81461025057806318160ddd14610278576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610606565b6040516101cb9190613af6565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190613ba7565b610643565b6040516102079190613bff565b60405180910390f35b34801561021b575f80fd5b50610224610660565b6040516102319190613c27565b60405180910390f35b348015610245575f80fd5b5061024e610666565b005b34801561025b575f80fd5b5061027660048036038101906102719190613c6a565b61073a565b005b348015610283575f80fd5b5061028c610936565b6040516102999190613c27565b60405180910390f35b3480156102ad575f80fd5b506102c860048036038101906102c39190613c95565b61095a565b6040516102d59190613bff565b60405180910390f35b3480156102e9575f80fd5b506102f2610a2e565b6040516102ff9190613d00565b60405180910390f35b348015610313575f80fd5b5061032e60048036038101906103299190613d19565b610a36565b60405161033b9190613bff565b60405180910390f35b34801561034f575f80fd5b5061036a60048036038101906103659190613d19565b610a88565b005b348015610377575f80fd5b50610380610b73565b005b61039c60048036038101906103979190613d19565b610c41565b005b3480156103a9575f80fd5b506103c460048036038101906103bf9190613d19565b611692565b005b3480156103d1575f80fd5b506103da61177e565b005b3480156103e7575f80fd5b5061040260048036038101906103fd9190613d19565b611824565b60405161040f9190613c27565b60405180910390f35b348015610423575f80fd5b5061042c61186a565b005b348015610439575f80fd5b50610454600480360381019061044f9190613d44565b6119b8565b005b348015610461575f80fd5b5061046a611a5f565b6040516104779190613c27565b60405180910390f35b34801561048b575f80fd5b506104a660048036038101906104a19190613ba7565b611a65565b005b3480156104b3575f80fd5b506104bc611c3d565b6040516104c99190613d7e565b60405180910390f35b3480156104dd575f80fd5b506104e6611c64565b6040516104f39190613c27565b60405180910390f35b348015610507575f80fd5b50610510611c6a565b60405161051d9190613af6565b60405180910390f35b348015610531575f80fd5b5061054c60048036038101906105479190613ba7565b611ca7565b6040516105599190613bff565b60405180910390f35b34801561056d575f80fd5b50610576611cc4565b6040516105839190613c27565b60405180910390f35b348015610597575f80fd5b506105a0611cca565b005b3480156105ad575f80fd5b506105c860048036038101906105c39190613d97565b612423565b6040516105d59190613c27565b60405180910390f35b3480156105e9575f80fd5b5061060460048036038101906105ff9190613d44565b6124a5565b005b60606040518060400160405280601381526020017f4669727374204372696d696e616c205065706500000000000000000000000000815250905090565b5f61065661064f61259f565b84846125a6565b6001905092915050565b60135481565b61066e61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f190613e1f565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107309190613e7f565b60405180910390a1565b61074261259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c590613e1f565b60405180910390fd5b801561083b575f606460086009600a6107e79190613ff4565b6461f313f8806107f7919061403e565b610801919061403e565b61080b91906140ac565b905061083960065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff163083612769565b505b6064604660125461084c919061403e565b61085691906140ac565b6012819055506064604660135461086d919061403e565b61087791906140ac565b6013819055506009600a61088b9190613ff4565b6461f313f88061089b919061403e565b6010819055506009600a6108af9190613ff4565b6461f313f8806108bf919061403e565b6011819055505f601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61090e9190613ff4565b6461f313f88061091e919061403e565b60405161092b9190613c27565b60405180910390a150565b5f6009600a6109459190613ff4565b6461f313f880610955919061403e565b905090565b5f610966848484612769565b610a238461097261259f565b610a1e85604051806060016040528060288152602001614f1e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6109d561259f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134b89092919063ffffffff16565b6125a6565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610a9061259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1390613e1f565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb361259f565b73ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0090614126565b60405180910390fd5b5f610c1330611824565b90505f811115610c2757610c268161351a565b5b5f4790505f811115610c3d57610c3c81613783565b5b5050565b610c4961259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc90613e1f565b60405180910390fd5b601560149054906101000a900460ff1615610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c9061418e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8a906141f6565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e769190614228565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f079190614228565b90505f8273ffffffffffffffffffffffffffffffffffffffff1663e6a4390530846040518363ffffffff1660e01b8152600401610f45929190614253565b602060405180830381865afa158015610f60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f849190614228565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610feb906142c4565b60405180910390fd5b8360155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161108f9190613d7e565b602060405180830381865afa1580156110aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ce91906142f6565b90505f8373ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161112b9190613d7e565b602060405180830381865afa158015611146573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116a91906142f6565b9050670de0b6b3a76400008210801561118a5750670de0b6b3a764000081105b6111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c09061436b565b60405180910390fd5b5f6064605c6009600a6111dc9190613ff4565b6461f313f8806111ec919061403e565b6111f6919061403e565b61120091906140ac565b90505f80831161121357620f4240611241565b611240670de0b6b3a764000061123285856137eb90919063ffffffff16565b61386290919063ffffffff16565b5b90506112938160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138ab90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506113458160015f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138f490919063ffffffff16565b60015f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114259190613c27565b60405180910390a36114593060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125a6565b5f34905067016345785d8a00008110156114a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149f906143d3565b60405180910390fd5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230865f806114f2611c3d565b426040518863ffffffff1660e01b8152600401611514969594939291906143f1565b60606040518083038185885af1158015611530573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906115559190614450565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016115f59291906144a0565b6020604051808303815f875af1158015611611573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163591906144db565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff021916908315150217905550505050505050505050565b61169a61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171d90613e1f565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117be61259f565b73ffffffffffffffffffffffffffffffffffffffff1614611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180b90614126565b60405180910390fd5b5f47905061182181613783565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61187261259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f590613e1f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119f861259f565b73ffffffffffffffffffffffffffffffffffffffff1614611a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4590614126565b60405180910390fd5b806012819055508060138190555050565b60105481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611aa561259f565b73ffffffffffffffffffffffffffffffffffffffff1614611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af290614126565b60405180910390fd5b5f611b996064611b8b848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611b3e9190613d7e565b602060405180830381865afa158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d91906142f6565b6137eb90919063ffffffff16565b61386290919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611bf7929190614558565b6020604051808303815f875af1158015611c13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3791906144db565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600681526020017f4643504550450000000000000000000000000000000000000000000000000000815250905090565b5f611cba611cb361259f565b8484612769565b6001905092915050565b60125481565b611cd261259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5590613e1f565b60405180910390fd5b601560149054906101000a900460ff1615611dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da59061418e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e919190614228565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f229190614228565b90505f611f30833084613951565b90505f813b90505f8103611ffd578373ffffffffffffffffffffffffffffffffffffffff1663c9c6539630856040518363ffffffff1660e01b8152600401611f79929190614253565b6020604051808303815f875af1158015611f95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb99190614228565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121d5565b8160155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120989190613d7e565b602060405180830381865afa1580156120b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120d791906142f6565b90505f8473ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016121349190613d7e565b602060405180830381865afa15801561214f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061217391906142f6565b9050670de0b6b3a7640000821080156121935750670de0b6b3a764000081105b6121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c99061436b565b60405180910390fd5b50505b61221e3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6122099190613ff4565b6461f313f880612219919061403e565b6125a6565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064605c61226a30611824565b612274919061403e565b61227e91906140ac565b5f80612288611c3d565b426040518863ffffffff1660e01b81526004016122aa969594939291906143f1565b60606040518083038185885af11580156122c6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906122eb9190614450565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161238b9291906144a0565b6020604051808303815f875af11580156123a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123cb91906144db565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff02191690831515021790555050505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166124e561259f565b73ffffffffffffffffffffffffffffffffffffffff161461253b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253290614126565b60405180910390fd5b600954811115801561254f5750600a548111155b61258e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612585906145c9565b60405180910390fd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260b90614657565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612682576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612679906146e5565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161275c9190613c27565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ce90614773565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283c90614801565b60405180910390fd5b5f8111612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e9061488f565b60405180910390fd5b5f612890611c3d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156128fe57506128ce611c3d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156132085760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156129a1575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156129f4575060045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6129fc575f80fd5b601560179054906101000a900460ff1615612bc257612a19611c3d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612aa1575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612afa575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612bc1574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7590614943565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b5f600f5403612c0a57612c076064612bf9600b54600f5411612be657600754612bea565b6009545b856137eb90919063ffffffff16565b61386290919063ffffffff16565b90505b5f600f541115612c3f57612c3c6064612c2e600e54856137eb90919063ffffffff16565b61386290919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612ce8575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612d3b575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612e3357601054821115612d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7c906149ab565b60405180910390fd5b60115482612d9285611824565b612d9c91906149c9565b1115612ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd490614a46565b60405180910390fd5b612e196064612e0b600b54600f5411612df857600754612dfc565b6009545b856137eb90919063ffffffff16565b61386290919063ffffffff16565b9050600f5f815480929190612e2d90614a64565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612ebb57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612eff57612efc6064612eee600c54600f5411612edb57600854612edf565b600a545b856137eb90919063ffffffff16565b61386290919063ffffffff16565b90505b5f612f0930611824565b905060158054906101000a900460ff16158015612f72575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015612f8a5750601560169054906101000a900460ff165b8015612f97575060125481115b8015612fa65750600d54600f54115b15613206575f612fef6009600a612fbd9190613ff4565b6461f313f880612fcd919061403e565b612fe16064856137eb90919063ffffffff16565b61386290919063ffffffff16565b9050600281101561304d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6012819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60138190555061315b565b60078110156130d557612710600c6009600a6130699190613ff4565b6461f313f880613079919061403e565b613083919061403e565b61308d91906140ac565b601281905550612710600c6009600a6130a69190613ff4565b6461f313f8806130b6919061403e565b6130c0919061403e565b6130ca91906140ac565b60138190555061315a565b600e811015613159576103e860046009600a6130f19190613ff4565b6461f313f880613101919061403e565b61310b919061403e565b61311591906140ac565b6012819055506103e860046009600a61312e9190613ff4565b6461f313f88061313e919061403e565b613148919061403e565b61315291906140ac565b6013819055505b5b5b60175443111561316d575f6016819055505b6003601654106131b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131a990614af5565b60405180910390fd5b6131cf6131ca856131c5856013546139f3565b6139f3565b61351a565b5f4790505f8111156131e5576131e481613783565b5b60165f8154809291906131f790614a64565b91905055504360178190555050505b505b5f811115613307576132608160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138f490919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132fe9190613c27565b60405180910390a35b6133578260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506133fa6133ae82846138ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138f490919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61349d84866138ab90919063ffffffff16565b6040516134aa9190613c27565b60405180910390a350505050565b5f8383111582906134ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134f69190613af6565b60405180910390fd5b505f838561350d9190614b13565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156135505761354f614b46565b5b60405190808252806020026020018201604052801561357e5781602001602082028036833780820191505090505b50905030815f8151811061359557613594614b73565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613639573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061365d9190614228565b8160018151811061367157613670614b73565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506136d73060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125a6565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613739959493929190614c57565b5f604051808303815f87803b158015613750575f80fd5b505af1158015613762573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156137e7573d5f803e3d5ffd5b5050565b5f8083036137fb575f905061385c565b5f8284613808919061403e565b905082848261381791906140ac565b14613857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161384e90614d1f565b60405180910390fd5b809150505b92915050565b5f6138a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613a0b565b905092915050565b5f6138ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506134b8565b905092915050565b5f80828461390291906149c9565b905083811015613947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161393e90614d87565b60405180910390fd5b8091505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161061398e578385613991565b84845b915091508582826040516020016139a9929190614dea565b604051602081830303815290604052805190602001206040516020016139d0929190614edc565b604051602081830303815290604052805190602001205f1c925050509392505050565b5f818311613a015782613a03565b815b905092915050565b5f8083118290613a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a489190613af6565b60405180910390fd5b505f8385613a5f91906140ac565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613aa3578082015181840152602081019050613a88565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613ac882613a6c565b613ad28185613a76565b9350613ae2818560208601613a86565b613aeb81613aae565b840191505092915050565b5f6020820190508181035f830152613b0e8184613abe565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613b4382613b1a565b9050919050565b613b5381613b39565b8114613b5d575f80fd5b50565b5f81359050613b6e81613b4a565b92915050565b5f819050919050565b613b8681613b74565b8114613b90575f80fd5b50565b5f81359050613ba181613b7d565b92915050565b5f8060408385031215613bbd57613bbc613b16565b5b5f613bca85828601613b60565b9250506020613bdb85828601613b93565b9150509250929050565b5f8115159050919050565b613bf981613be5565b82525050565b5f602082019050613c125f830184613bf0565b92915050565b613c2181613b74565b82525050565b5f602082019050613c3a5f830184613c18565b92915050565b613c4981613be5565b8114613c53575f80fd5b50565b5f81359050613c6481613c40565b92915050565b5f60208284031215613c7f57613c7e613b16565b5b5f613c8c84828501613c56565b91505092915050565b5f805f60608486031215613cac57613cab613b16565b5b5f613cb986828701613b60565b9350506020613cca86828701613b60565b9250506040613cdb86828701613b93565b9150509250925092565b5f60ff82169050919050565b613cfa81613ce5565b82525050565b5f602082019050613d135f830184613cf1565b92915050565b5f60208284031215613d2e57613d2d613b16565b5b5f613d3b84828501613b60565b91505092915050565b5f60208284031215613d5957613d58613b16565b5b5f613d6684828501613b93565b91505092915050565b613d7881613b39565b82525050565b5f602082019050613d915f830184613d6f565b92915050565b5f8060408385031215613dad57613dac613b16565b5b5f613dba85828601613b60565b9250506020613dcb85828601613b60565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613e09602083613a76565b9150613e1482613dd5565b602082019050919050565b5f6020820190508181035f830152613e3681613dfd565b9050919050565b5f819050919050565b5f819050919050565b5f613e69613e64613e5f84613e3d565b613e46565b613b74565b9050919050565b613e7981613e4f565b82525050565b5f602082019050613e925f830184613e70565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115613f1a57808604811115613ef657613ef5613e98565b5b6001851615613f055780820291505b8081029050613f1385613ec5565b9450613eda565b94509492505050565b5f82613f325760019050613fed565b81613f3f575f9050613fed565b8160018114613f555760028114613f5f57613f8e565b6001915050613fed565b60ff841115613f7157613f70613e98565b5b8360020a915084821115613f8857613f87613e98565b5b50613fed565b5060208310610133831016604e8410600b8410161715613fc35782820a905083811115613fbe57613fbd613e98565b5b613fed565b613fd08484846001613ed1565b92509050818404811115613fe757613fe6613e98565b5b81810290505b9392505050565b5f613ffe82613b74565b915061400983613ce5565b92506140367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613f23565b905092915050565b5f61404882613b74565b915061405383613b74565b925082820261406181613b74565b9150828204841483151761407857614077613e98565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6140b682613b74565b91506140c183613b74565b9250826140d1576140d061407f565b5b828204905092915050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f614110600e83613a76565b915061411b826140dc565b602082019050919050565b5f6020820190508181035f83015261413d81614104565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f614178601783613a76565b915061418382614144565b602082019050919050565b5f6020820190508181035f8301526141a58161416c565b9050919050565b7f496e76616c6964207061697220616464726573730000000000000000000000005f82015250565b5f6141e0601483613a76565b91506141eb826141ac565b602082019050919050565b5f6020820190508181035f83015261420d816141d4565b9050919050565b5f8151905061422281613b4a565b92915050565b5f6020828403121561423d5761423c613b16565b5b5f61424a84828501614214565b91505092915050565b5f6040820190506142665f830185613d6f565b6142736020830184613d6f565b9392505050565b7f5061697220646f6573206e6f74206d61746368000000000000000000000000005f82015250565b5f6142ae601383613a76565b91506142b98261427a565b602082019050919050565b5f6020820190508181035f8301526142db816142a2565b9050919050565b5f815190506142f081613b7d565b92915050565b5f6020828403121561430b5761430a613b16565b5b5f614318848285016142e2565b91505092915050565b7f5061697220616c72656164792066756e646564000000000000000000000000005f82015250565b5f614355601383613a76565b915061436082614321565b602082019050919050565b5f6020820190508181035f83015261438281614349565b9050919050565b7f4d696e696d756d20302e312045544820726571756972656400000000000000005f82015250565b5f6143bd601883613a76565b91506143c882614389565b602082019050919050565b5f6020820190508181035f8301526143ea816143b1565b9050919050565b5f60c0820190506144045f830189613d6f565b6144116020830188613c18565b61441e6040830187613e70565b61442b6060830186613e70565b6144386080830185613d6f565b61444560a0830184613c18565b979650505050505050565b5f805f6060848603121561446757614466613b16565b5b5f614474868287016142e2565b9350506020614485868287016142e2565b9250506040614496868287016142e2565b9150509250925092565b5f6040820190506144b35f830185613d6f565b6144c06020830184613c18565b9392505050565b5f815190506144d581613c40565b92915050565b5f602082840312156144f0576144ef613b16565b5b5f6144fd848285016144c7565b91505092915050565b5f61452061451b61451684613b1a565b613e46565b613b1a565b9050919050565b5f61453182614506565b9050919050565b5f61454282614527565b9050919050565b61455281614538565b82525050565b5f60408201905061456b5f830185614549565b6145786020830184613c18565b9392505050565b7f496e76616c6964206665650000000000000000000000000000000000000000005f82015250565b5f6145b3600b83613a76565b91506145be8261457f565b602082019050919050565b5f6020820190508181035f8301526145e0816145a7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614641602483613a76565b915061464c826145e7565b604082019050919050565b5f6020820190508181035f83015261466e81614635565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6146cf602283613a76565b91506146da82614675565b604082019050919050565b5f6020820190508181035f8301526146fc816146c3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61475d602583613a76565b915061476882614703565b604082019050919050565b5f6020820190508181035f83015261478a81614751565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6147eb602383613a76565b91506147f682614791565b604082019050919050565b5f6020820190508181035f830152614818816147df565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f614879602983613a76565b91506148848261481f565b604082019050919050565b5f6020820190508181035f8301526148a68161486d565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b5f61492d604883613a76565b9150614938826148ad565b606082019050919050565b5f6020820190508181035f83015261495a81614921565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f614995601983613a76565b91506149a082614961565b602082019050919050565b5f6020820190508181035f8301526149c281614989565b9050919050565b5f6149d382613b74565b91506149de83613b74565b92508282019050808211156149f6576149f5613e98565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f614a30601a83613a76565b9150614a3b826149fc565b602082019050919050565b5f6020820190508181035f830152614a5d81614a24565b9050919050565b5f614a6e82613b74565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614aa057614a9f613e98565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f614adf601783613a76565b9150614aea82614aab565b602082019050919050565b5f6020820190508181035f830152614b0c81614ad3565b9050919050565b5f614b1d82613b74565b9150614b2883613b74565b9250828203905081811115614b4057614b3f613e98565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614bd281613b39565b82525050565b5f614be38383614bc9565b60208301905092915050565b5f602082019050919050565b5f614c0582614ba0565b614c0f8185614baa565b9350614c1a83614bba565b805f5b83811015614c4a578151614c318882614bd8565b9750614c3c83614bef565b925050600181019050614c1d565b5085935050505092915050565b5f60a082019050614c6a5f830188613c18565b614c776020830187613e70565b8181036040830152614c898186614bfb565b9050614c986060830185613d6f565b614ca56080830184613c18565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f614d09602183613a76565b9150614d1482614caf565b604082019050919050565b5f6020820190508181035f830152614d3681614cfd565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614d71601b83613a76565b9150614d7c82614d3d565b602082019050919050565b5f6020820190508181035f830152614d9e81614d65565b9050919050565b5f8160601b9050919050565b5f614dbb82614da5565b9050919050565b5f614dcc82614db1565b9050919050565b614de4614ddf82613b39565b614dc2565b82525050565b5f614df58285614dd3565b601482019150614e058284614dd3565b6014820191508190509392505050565b5f81905092915050565b7fff000000000000000000000000000000000000000000000000000000000000005f82015250565b5f614e53600183614e15565b9150614e5e82614e1f565b600182019050919050565b5f819050919050565b5f819050919050565b614e8c614e8782614e69565b614e72565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f5f82015250565b5f614ec6602083614e15565b9150614ed182614e92565b602082019050919050565b5f614ee682614e47565b9150614ef28285614dd3565b601482019150614f028284614e7b565b602082019150614f1182614eba565b9150819050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220776b993c3e1afac63283ea808cdec773068c2494e05e2efb83e07b64ad3310e664736f6c63430008180033

Deployed Bytecode

0x60806040526004361061019f575f3560e01c80636fc3eaec116100eb5780638f9a55c011610089578063bf474bed11610063578063bf474bed14610562578063c9567bf91461058c578063dd62ed3e146105a2578063ec1f3f63146105de576101a6565b80638f9a55c0146104d257806395d89b41146104fc578063a9059cbb14610526576101a6565b80637563b534116100c55780637563b5341461042e5780637d1db4a5146104565780638cd4426d146104805780638da5cb5b146104a8576101a6565b80636fc3eaec146103c657806370a08231146103dc578063715018a614610418576101a6565b806323b872dd116101585780634c8afff4116101325780634c8afff41461034457806351bc3c851461036c57806353a5d3301461038257806356ec63a51461039e576101a6565b806323b872dd146102a2578063313ce567146102de5780633bbac57914610308576101a6565b806306fdde03146101aa578063095ea7b3146101d45780630faee56f14610210578063109daa991461023a57806317090ec81461025057806318160ddd14610278576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610606565b6040516101cb9190613af6565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190613ba7565b610643565b6040516102079190613bff565b60405180910390f35b34801561021b575f80fd5b50610224610660565b6040516102319190613c27565b60405180910390f35b348015610245575f80fd5b5061024e610666565b005b34801561025b575f80fd5b5061027660048036038101906102719190613c6a565b61073a565b005b348015610283575f80fd5b5061028c610936565b6040516102999190613c27565b60405180910390f35b3480156102ad575f80fd5b506102c860048036038101906102c39190613c95565b61095a565b6040516102d59190613bff565b60405180910390f35b3480156102e9575f80fd5b506102f2610a2e565b6040516102ff9190613d00565b60405180910390f35b348015610313575f80fd5b5061032e60048036038101906103299190613d19565b610a36565b60405161033b9190613bff565b60405180910390f35b34801561034f575f80fd5b5061036a60048036038101906103659190613d19565b610a88565b005b348015610377575f80fd5b50610380610b73565b005b61039c60048036038101906103979190613d19565b610c41565b005b3480156103a9575f80fd5b506103c460048036038101906103bf9190613d19565b611692565b005b3480156103d1575f80fd5b506103da61177e565b005b3480156103e7575f80fd5b5061040260048036038101906103fd9190613d19565b611824565b60405161040f9190613c27565b60405180910390f35b348015610423575f80fd5b5061042c61186a565b005b348015610439575f80fd5b50610454600480360381019061044f9190613d44565b6119b8565b005b348015610461575f80fd5b5061046a611a5f565b6040516104779190613c27565b60405180910390f35b34801561048b575f80fd5b506104a660048036038101906104a19190613ba7565b611a65565b005b3480156104b3575f80fd5b506104bc611c3d565b6040516104c99190613d7e565b60405180910390f35b3480156104dd575f80fd5b506104e6611c64565b6040516104f39190613c27565b60405180910390f35b348015610507575f80fd5b50610510611c6a565b60405161051d9190613af6565b60405180910390f35b348015610531575f80fd5b5061054c60048036038101906105479190613ba7565b611ca7565b6040516105599190613bff565b60405180910390f35b34801561056d575f80fd5b50610576611cc4565b6040516105839190613c27565b60405180910390f35b348015610597575f80fd5b506105a0611cca565b005b3480156105ad575f80fd5b506105c860048036038101906105c39190613d97565b612423565b6040516105d59190613c27565b60405180910390f35b3480156105e9575f80fd5b5061060460048036038101906105ff9190613d44565b6124a5565b005b60606040518060400160405280601381526020017f4669727374204372696d696e616c205065706500000000000000000000000000815250905090565b5f61065661064f61259f565b84846125a6565b6001905092915050565b60135481565b61066e61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f190613e1f565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107309190613e7f565b60405180910390a1565b61074261259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c590613e1f565b60405180910390fd5b801561083b575f606460086009600a6107e79190613ff4565b6461f313f8806107f7919061403e565b610801919061403e565b61080b91906140ac565b905061083960065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff163083612769565b505b6064604660125461084c919061403e565b61085691906140ac565b6012819055506064604660135461086d919061403e565b61087791906140ac565b6013819055506009600a61088b9190613ff4565b6461f313f88061089b919061403e565b6010819055506009600a6108af9190613ff4565b6461f313f8806108bf919061403e565b6011819055505f601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61090e9190613ff4565b6461f313f88061091e919061403e565b60405161092b9190613c27565b60405180910390a150565b5f6009600a6109459190613ff4565b6461f313f880610955919061403e565b905090565b5f610966848484612769565b610a238461097261259f565b610a1e85604051806060016040528060288152602001614f1e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6109d561259f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134b89092919063ffffffff16565b6125a6565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610a9061259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1390613e1f565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bb361259f565b73ffffffffffffffffffffffffffffffffffffffff1614610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0090614126565b60405180910390fd5b5f610c1330611824565b90505f811115610c2757610c268161351a565b5b5f4790505f811115610c3d57610c3c81613783565b5b5050565b610c4961259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccc90613e1f565b60405180910390fd5b601560149054906101000a900460ff1615610d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1c9061418e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8a906141f6565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e769190614228565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f079190614228565b90505f8273ffffffffffffffffffffffffffffffffffffffff1663e6a4390530846040518363ffffffff1660e01b8152600401610f45929190614253565b602060405180830381865afa158015610f60573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f849190614228565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610feb906142c4565b60405180910390fd5b8360155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161108f9190613d7e565b602060405180830381865afa1580156110aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110ce91906142f6565b90505f8373ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161112b9190613d7e565b602060405180830381865afa158015611146573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061116a91906142f6565b9050670de0b6b3a76400008210801561118a5750670de0b6b3a764000081105b6111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c09061436b565b60405180910390fd5b5f6064605c6009600a6111dc9190613ff4565b6461f313f8806111ec919061403e565b6111f6919061403e565b61120091906140ac565b90505f80831161121357620f4240611241565b611240670de0b6b3a764000061123285856137eb90919063ffffffff16565b61386290919063ffffffff16565b5b90506112938160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138ab90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506113458160015f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138f490919063ffffffff16565b60015f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114259190613c27565b60405180910390a36114593060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125a6565b5f34905067016345785d8a00008110156114a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149f906143d3565b60405180910390fd5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230865f806114f2611c3d565b426040518863ffffffff1660e01b8152600401611514969594939291906143f1565b60606040518083038185885af1158015611530573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906115559190614450565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016115f59291906144a0565b6020604051808303815f875af1158015611611573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061163591906144db565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff021916908315150217905550505050505050505050565b61169a61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171d90613e1f565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117be61259f565b73ffffffffffffffffffffffffffffffffffffffff1614611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180b90614126565b60405180910390fd5b5f47905061182181613783565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61187261259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f590613e1f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166119f861259f565b73ffffffffffffffffffffffffffffffffffffffff1614611a4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4590614126565b60405180910390fd5b806012819055508060138190555050565b60105481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611aa561259f565b73ffffffffffffffffffffffffffffffffffffffff1614611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af290614126565b60405180910390fd5b5f611b996064611b8b848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611b3e9190613d7e565b602060405180830381865afa158015611b59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b7d91906142f6565b6137eb90919063ffffffff16565b61386290919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611bf7929190614558565b6020604051808303815f875af1158015611c13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3791906144db565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600681526020017f4643504550450000000000000000000000000000000000000000000000000000815250905090565b5f611cba611cb361259f565b8484612769565b6001905092915050565b60125481565b611cd261259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5590613e1f565b60405180910390fd5b601560149054906101000a900460ff1615611dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da59061418e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e919190614228565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f229190614228565b90505f611f30833084613951565b90505f813b90505f8103611ffd578373ffffffffffffffffffffffffffffffffffffffff1663c9c6539630856040518363ffffffff1660e01b8152600401611f79929190614253565b6020604051808303815f875af1158015611f95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb99190614228565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121d5565b8160155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120989190613d7e565b602060405180830381865afa1580156120b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120d791906142f6565b90505f8473ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016121349190613d7e565b602060405180830381865afa15801561214f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061217391906142f6565b9050670de0b6b3a7640000821080156121935750670de0b6b3a764000081105b6121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c99061436b565b60405180910390fd5b50505b61221e3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6122099190613ff4565b6461f313f880612219919061403e565b6125a6565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064605c61226a30611824565b612274919061403e565b61227e91906140ac565b5f80612288611c3d565b426040518863ffffffff1660e01b81526004016122aa969594939291906143f1565b60606040518083038185885af11580156122c6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906122eb9190614450565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161238b9291906144a0565b6020604051808303815f875af11580156123a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123cb91906144db565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff02191690831515021790555050505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166124e561259f565b73ffffffffffffffffffffffffffffffffffffffff161461253b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253290614126565b60405180910390fd5b600954811115801561254f5750600a548111155b61258e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612585906145c9565b60405180910390fd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260b90614657565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612682576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612679906146e5565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161275c9190613c27565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ce90614773565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283c90614801565b60405180910390fd5b5f8111612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e9061488f565b60405180910390fd5b5f612890611c3d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156128fe57506128ce611c3d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156132085760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156129a1575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156129f4575060045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6129fc575f80fd5b601560179054906101000a900460ff1615612bc257612a19611c3d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612aa1575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612afa575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612bc1574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7590614943565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b5f600f5403612c0a57612c076064612bf9600b54600f5411612be657600754612bea565b6009545b856137eb90919063ffffffff16565b61386290919063ffffffff16565b90505b5f600f541115612c3f57612c3c6064612c2e600e54856137eb90919063ffffffff16565b61386290919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612ce8575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612d3b575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612e3357601054821115612d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7c906149ab565b60405180910390fd5b60115482612d9285611824565b612d9c91906149c9565b1115612ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd490614a46565b60405180910390fd5b612e196064612e0b600b54600f5411612df857600754612dfc565b6009545b856137eb90919063ffffffff16565b61386290919063ffffffff16565b9050600f5f815480929190612e2d90614a64565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612ebb57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612eff57612efc6064612eee600c54600f5411612edb57600854612edf565b600a545b856137eb90919063ffffffff16565b61386290919063ffffffff16565b90505b5f612f0930611824565b905060158054906101000a900460ff16158015612f72575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015612f8a5750601560169054906101000a900460ff165b8015612f97575060125481115b8015612fa65750600d54600f54115b15613206575f612fef6009600a612fbd9190613ff4565b6461f313f880612fcd919061403e565b612fe16064856137eb90919063ffffffff16565b61386290919063ffffffff16565b9050600281101561304d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6012819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60138190555061315b565b60078110156130d557612710600c6009600a6130699190613ff4565b6461f313f880613079919061403e565b613083919061403e565b61308d91906140ac565b601281905550612710600c6009600a6130a69190613ff4565b6461f313f8806130b6919061403e565b6130c0919061403e565b6130ca91906140ac565b60138190555061315a565b600e811015613159576103e860046009600a6130f19190613ff4565b6461f313f880613101919061403e565b61310b919061403e565b61311591906140ac565b6012819055506103e860046009600a61312e9190613ff4565b6461f313f88061313e919061403e565b613148919061403e565b61315291906140ac565b6013819055505b5b5b60175443111561316d575f6016819055505b6003601654106131b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131a990614af5565b60405180910390fd5b6131cf6131ca856131c5856013546139f3565b6139f3565b61351a565b5f4790505f8111156131e5576131e481613783565b5b60165f8154809291906131f790614a64565b91905055504360178190555050505b505b5f811115613307576132608160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138f490919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132fe9190613c27565b60405180910390a35b6133578260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506133fa6133ae82846138ab90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546138f490919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61349d84866138ab90919063ffffffff16565b6040516134aa9190613c27565b60405180910390a350505050565b5f8383111582906134ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134f69190613af6565b60405180910390fd5b505f838561350d9190614b13565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156135505761354f614b46565b5b60405190808252806020026020018201604052801561357e5781602001602082028036833780820191505090505b50905030815f8151811061359557613594614b73565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613639573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061365d9190614228565b8160018151811061367157613670614b73565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506136d73060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125a6565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613739959493929190614c57565b5f604051808303815f87803b158015613750575f80fd5b505af1158015613762573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156137e7573d5f803e3d5ffd5b5050565b5f8083036137fb575f905061385c565b5f8284613808919061403e565b905082848261381791906140ac565b14613857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161384e90614d1f565b60405180910390fd5b809150505b92915050565b5f6138a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613a0b565b905092915050565b5f6138ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506134b8565b905092915050565b5f80828461390291906149c9565b905083811015613947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161393e90614d87565b60405180910390fd5b8091505092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161061398e578385613991565b84845b915091508582826040516020016139a9929190614dea565b604051602081830303815290604052805190602001206040516020016139d0929190614edc565b604051602081830303815290604052805190602001205f1c925050509392505050565b5f818311613a015782613a03565b815b905092915050565b5f8083118290613a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a489190613af6565b60405180910390fd5b505f8385613a5f91906140ac565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613aa3578082015181840152602081019050613a88565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613ac882613a6c565b613ad28185613a76565b9350613ae2818560208601613a86565b613aeb81613aae565b840191505092915050565b5f6020820190508181035f830152613b0e8184613abe565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613b4382613b1a565b9050919050565b613b5381613b39565b8114613b5d575f80fd5b50565b5f81359050613b6e81613b4a565b92915050565b5f819050919050565b613b8681613b74565b8114613b90575f80fd5b50565b5f81359050613ba181613b7d565b92915050565b5f8060408385031215613bbd57613bbc613b16565b5b5f613bca85828601613b60565b9250506020613bdb85828601613b93565b9150509250929050565b5f8115159050919050565b613bf981613be5565b82525050565b5f602082019050613c125f830184613bf0565b92915050565b613c2181613b74565b82525050565b5f602082019050613c3a5f830184613c18565b92915050565b613c4981613be5565b8114613c53575f80fd5b50565b5f81359050613c6481613c40565b92915050565b5f60208284031215613c7f57613c7e613b16565b5b5f613c8c84828501613c56565b91505092915050565b5f805f60608486031215613cac57613cab613b16565b5b5f613cb986828701613b60565b9350506020613cca86828701613b60565b9250506040613cdb86828701613b93565b9150509250925092565b5f60ff82169050919050565b613cfa81613ce5565b82525050565b5f602082019050613d135f830184613cf1565b92915050565b5f60208284031215613d2e57613d2d613b16565b5b5f613d3b84828501613b60565b91505092915050565b5f60208284031215613d5957613d58613b16565b5b5f613d6684828501613b93565b91505092915050565b613d7881613b39565b82525050565b5f602082019050613d915f830184613d6f565b92915050565b5f8060408385031215613dad57613dac613b16565b5b5f613dba85828601613b60565b9250506020613dcb85828601613b60565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613e09602083613a76565b9150613e1482613dd5565b602082019050919050565b5f6020820190508181035f830152613e3681613dfd565b9050919050565b5f819050919050565b5f819050919050565b5f613e69613e64613e5f84613e3d565b613e46565b613b74565b9050919050565b613e7981613e4f565b82525050565b5f602082019050613e925f830184613e70565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115613f1a57808604811115613ef657613ef5613e98565b5b6001851615613f055780820291505b8081029050613f1385613ec5565b9450613eda565b94509492505050565b5f82613f325760019050613fed565b81613f3f575f9050613fed565b8160018114613f555760028114613f5f57613f8e565b6001915050613fed565b60ff841115613f7157613f70613e98565b5b8360020a915084821115613f8857613f87613e98565b5b50613fed565b5060208310610133831016604e8410600b8410161715613fc35782820a905083811115613fbe57613fbd613e98565b5b613fed565b613fd08484846001613ed1565b92509050818404811115613fe757613fe6613e98565b5b81810290505b9392505050565b5f613ffe82613b74565b915061400983613ce5565b92506140367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613f23565b905092915050565b5f61404882613b74565b915061405383613b74565b925082820261406181613b74565b9150828204841483151761407857614077613e98565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6140b682613b74565b91506140c183613b74565b9250826140d1576140d061407f565b5b828204905092915050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f614110600e83613a76565b915061411b826140dc565b602082019050919050565b5f6020820190508181035f83015261413d81614104565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f614178601783613a76565b915061418382614144565b602082019050919050565b5f6020820190508181035f8301526141a58161416c565b9050919050565b7f496e76616c6964207061697220616464726573730000000000000000000000005f82015250565b5f6141e0601483613a76565b91506141eb826141ac565b602082019050919050565b5f6020820190508181035f83015261420d816141d4565b9050919050565b5f8151905061422281613b4a565b92915050565b5f6020828403121561423d5761423c613b16565b5b5f61424a84828501614214565b91505092915050565b5f6040820190506142665f830185613d6f565b6142736020830184613d6f565b9392505050565b7f5061697220646f6573206e6f74206d61746368000000000000000000000000005f82015250565b5f6142ae601383613a76565b91506142b98261427a565b602082019050919050565b5f6020820190508181035f8301526142db816142a2565b9050919050565b5f815190506142f081613b7d565b92915050565b5f6020828403121561430b5761430a613b16565b5b5f614318848285016142e2565b91505092915050565b7f5061697220616c72656164792066756e646564000000000000000000000000005f82015250565b5f614355601383613a76565b915061436082614321565b602082019050919050565b5f6020820190508181035f83015261438281614349565b9050919050565b7f4d696e696d756d20302e312045544820726571756972656400000000000000005f82015250565b5f6143bd601883613a76565b91506143c882614389565b602082019050919050565b5f6020820190508181035f8301526143ea816143b1565b9050919050565b5f60c0820190506144045f830189613d6f565b6144116020830188613c18565b61441e6040830187613e70565b61442b6060830186613e70565b6144386080830185613d6f565b61444560a0830184613c18565b979650505050505050565b5f805f6060848603121561446757614466613b16565b5b5f614474868287016142e2565b9350506020614485868287016142e2565b9250506040614496868287016142e2565b9150509250925092565b5f6040820190506144b35f830185613d6f565b6144c06020830184613c18565b9392505050565b5f815190506144d581613c40565b92915050565b5f602082840312156144f0576144ef613b16565b5b5f6144fd848285016144c7565b91505092915050565b5f61452061451b61451684613b1a565b613e46565b613b1a565b9050919050565b5f61453182614506565b9050919050565b5f61454282614527565b9050919050565b61455281614538565b82525050565b5f60408201905061456b5f830185614549565b6145786020830184613c18565b9392505050565b7f496e76616c6964206665650000000000000000000000000000000000000000005f82015250565b5f6145b3600b83613a76565b91506145be8261457f565b602082019050919050565b5f6020820190508181035f8301526145e0816145a7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614641602483613a76565b915061464c826145e7565b604082019050919050565b5f6020820190508181035f83015261466e81614635565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6146cf602283613a76565b91506146da82614675565b604082019050919050565b5f6020820190508181035f8301526146fc816146c3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61475d602583613a76565b915061476882614703565b604082019050919050565b5f6020820190508181035f83015261478a81614751565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6147eb602383613a76565b91506147f682614791565b604082019050919050565b5f6020820190508181035f830152614818816147df565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f614879602983613a76565b91506148848261481f565b604082019050919050565b5f6020820190508181035f8301526148a68161486d565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b5f61492d604883613a76565b9150614938826148ad565b606082019050919050565b5f6020820190508181035f83015261495a81614921565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f614995601983613a76565b91506149a082614961565b602082019050919050565b5f6020820190508181035f8301526149c281614989565b9050919050565b5f6149d382613b74565b91506149de83613b74565b92508282019050808211156149f6576149f5613e98565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f614a30601a83613a76565b9150614a3b826149fc565b602082019050919050565b5f6020820190508181035f830152614a5d81614a24565b9050919050565b5f614a6e82613b74565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614aa057614a9f613e98565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f614adf601783613a76565b9150614aea82614aab565b602082019050919050565b5f6020820190508181035f830152614b0c81614ad3565b9050919050565b5f614b1d82613b74565b9150614b2883613b74565b9250828203905081811115614b4057614b3f613e98565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614bd281613b39565b82525050565b5f614be38383614bc9565b60208301905092915050565b5f602082019050919050565b5f614c0582614ba0565b614c0f8185614baa565b9350614c1a83614bba565b805f5b83811015614c4a578151614c318882614bd8565b9750614c3c83614bef565b925050600181019050614c1d565b5085935050505092915050565b5f60a082019050614c6a5f830188613c18565b614c776020830187613e70565b8181036040830152614c898186614bfb565b9050614c986060830185613d6f565b614ca56080830184613c18565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f614d09602183613a76565b9150614d1482614caf565b604082019050919050565b5f6020820190508181035f830152614d3681614cfd565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614d71601b83613a76565b9150614d7c82614d3d565b602082019050919050565b5f6020820190508181035f830152614d9e81614d65565b9050919050565b5f8160601b9050919050565b5f614dbb82614da5565b9050919050565b5f614dcc82614db1565b9050919050565b614de4614ddf82613b39565b614dc2565b82525050565b5f614df58285614dd3565b601482019150614e058284614dd3565b6014820191508190509392505050565b5f81905092915050565b7fff000000000000000000000000000000000000000000000000000000000000005f82015250565b5f614e53600183614e15565b9150614e5e82614e1f565b600182019050919050565b5f819050919050565b5f819050919050565b614e8c614e8782614e69565b614e72565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f5f82015250565b5f614ec6602083614e15565b9150614ed182614e92565b602082019050919050565b5f614ee682614e47565b9150614ef28285614dd3565b601482019150614f028284614e7b565b602082019150614f1182614eba565b9150819050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220776b993c3e1afac63283ea808cdec773068c2494e05e2efb83e07b64ad3310e664736f6c63430008180033

Deployed Bytecode Sourcemap

3632:16738:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7576:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8409:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4871:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14059:120;;;;;;;;;;;;;:::i;:::-;;13577:474;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7853:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8578:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7762:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15174:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14592:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19983:384;;;;;;;;;;;;;:::i;:::-;;17092:2078;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14502:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14187:207;;;;;;;;;;;;;:::i;:::-;;7956:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2623:148;;;;;;;;;;;;;:::i;:::-;;14981:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4675:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14689:286;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2409:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4738:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7667:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8083:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4803:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15268:1816;;;;;;;;;;;;;:::i;:::-;;8258:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19668:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7576:83;7613:13;7646:5;;;;;;;;;;;;;;;;;7639:12;;7576:83;:::o;8409:161::-;8484:4;8501:39;8510:12;:10;:12::i;:::-;8524:7;8533:6;8501:8;:39::i;:::-;8558:4;8551:11;;8409:161;;;;:::o;4871:55::-;;;;:::o;14059:120::-;2546:12;:10;:12::i;:::-;2536:22;;:6;;;;;;;;;;:22;;;2528:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14133:1:::1;14118:12;:16;;;;14150:21;14169:1;14150:21;;;;;;:::i;:::-;;;;;;;;14059:120::o:0;13577:474::-;2546:12;:10;:12::i;:::-;2536:22;;:6;;;;;;;;;;:22;;;2528:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13645:5:::1;13641:143;;;13667:20;13704:3;13700:1;4474;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;13690:11;;;;:::i;:::-;:17;;;;:::i;:::-;13667:40;;13722:50;13732:10;;;;;;;;;;;13752:4;13759:12;13722:9;:50::i;:::-;13652:132;13641:143;13841:3;13836:2;13816:17;;:22;;;;:::i;:::-;:28;;;;:::i;:::-;13796:17;:48;;;;13888:3;13883:2;13869:11;;:16;;;;:::i;:::-;:22;;;;:::i;:::-;13855:11;:36;;;;4474:1;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;13902:12;:22;;;;4474:1;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;13935:14;:24;;;;13993:5;13970:20;;:28;;;;;;;;;;;;;;;;;;14016:27;4474:1;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;14016:27;;;;;;:::i;:::-;;;;;;;;13577:474:::0;:::o;7853:95::-;7906:7;4474:1;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;7926:14;;7853:95;:::o;8578:313::-;8676:4;8693:36;8703:6;8711:9;8722:6;8693:9;:36::i;:::-;8740:121;8749:6;8757:12;:10;:12::i;:::-;8771:89;8809:6;8771:89;;;;;;;;;;;;;;;;;:11;:19;8783:6;8771:19;;;;;;;;;;;;;;;:33;8791:12;:10;:12::i;:::-;8771:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8740:8;:121::i;:::-;8879:4;8872:11;;8578:313;;;;;:::o;7762:83::-;7803:5;4474:1;7821:16;;7762:83;:::o;15174:86::-;15221:4;15245;:7;15250:1;15245:7;;;;;;;;;;;;;;;;;;;;;;;;;15238:14;;15174:86;;;:::o;14592:89::-;2546:12;:10;:12::i;:::-;2536:22;;:6;;;;;;;;;;:22;;;2528:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14668:5:::1;14653:4;:12;14658:6;14653:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14592:89:::0;:::o;19983:384::-;20049:10;;;;;;;;;;;20033:26;;:12;:10;:12::i;:::-;:26;;;20025:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;20089:20;20112:24;20130:4;20112:9;:24::i;:::-;20089:47;;20166:1;20151:12;:16;20147:79;;;20184:30;20201:12;20184:16;:30::i;:::-;20147:79;20236:18;20257:21;20236:42;;20306:1;20293:10;:14;20289:71;;;20324:24;20337:10;20324:12;:24::i;:::-;20289:71;20014:353;;19983:384::o;17092:2078::-;2546:12;:10;:12::i;:::-;2536:22;;:6;;;;;;;;;;:22;;;2528:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17193:11:::1;;;;;;;;;;;17192:12;17184:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;17275:1;17251:26;;:12;:26;;::::0;17243:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;17352:42;17315:15;;:80;;;;;;;;;;;;;;;;;;17406:15;17424;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17406:43;;17460:12;17475:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17460:37;;17534:12;17567:7;17549:34;;;17592:4;17599;17549:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17534:70;;17631:12;17623:20;;:4;:20;;;17615:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;17694:12;17678:13;;:28;;;;;;;;;;;;;;;;;;17751:20;17789:4;17774:31;;;17806:13;;;;;;;;;;;17774:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17751:69;;17831:19;17860:4;17853:22;;;17876:13;;;;;;;;;;;17853:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17831:59;;17924:4;17909:12;:19;:41;;;;;17946:4;17932:11;:18;17909:41;17901:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;18027:19;18064:3;18059:2;4474:1;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;18049:12;;;;:::i;:::-;:18;;;;:::i;:::-;18027:40;;18095:18;18130:1:::0;18116:11:::1;:15;:68;;18177:7;18116:68;;;18134:40;18167:6;18134:28;18150:11;18134;:15;;:28;;;;:::i;:::-;:32;;:40;;;;:::i;:::-;18116:68;18095:89;;18306:40;18335:10;18306:9;:24;18324:4;18306:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;18279:9;:24;18297:4;18279:24;;;;;;;;;;;;;;;:67;;;;18384:40;18413:10;18384:9;:24;18394:13;;;;;;;;;;;18384:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;18357:9;:24;18367:13;;;;;;;;;;;18357:24;;;;;;;;;;;;;;;:67;;;;18464:13;;;;;;;;;;;18440:50;;18457:4;18440:50;;;18479:10;18440:50;;;;;;:::i;:::-;;;;;;;;18530:62;18547:4;18562:15;;;;;;;;;;;18580:11;18530:8;:62::i;:::-;18631:17;18651:9;18631:29;;18692:9;18679;:22;;18671:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;18743:15;;;;;;;;;;;:31;;;18782:9;18815:4;18835:11;18861:1;18877::::0;18893:7:::1;:5;:7::i;:::-;18915:15;18743:198;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18997:13;;;;;;;;;;;18990:29;;;19028:15;;;;;;;;;;;19046:17;18990:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19091:4;19077:11;;:18;;;;;;;;;;;;;;;;;;19120:4;19106:11;;:18;;;;;;;;;;;;;;;;;;19158:4;19135:20;;:27;;;;;;;;;;;;;;;;;;17173:1997;;;;;;;;17092:2078:::0;:::o;14502:82::-;2546:12;:10;:12::i;:::-;2536:22;;:6;;;;;;;;;;:22;;;2528:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14572:4:::1;14560;:9;14565:3;14560:9;;;;;;;;;;;;;;;;:16;;;;;;;;;;;;;;;;;;14502:82:::0;:::o;14187:207::-;14253:10;;;;;;;;;;;14237:26;;:12;:10;:12::i;:::-;:26;;;14229:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;14293:26;14322:21;14293:50;;14354:32;14367:18;14354:12;:32::i;:::-;14218:176;14187:207::o;7956:119::-;8022:7;8049:9;:18;8059:7;8049:18;;;;;;;;;;;;;;;;8042:25;;7956:119;;;:::o;2623:148::-;2546:12;:10;:12::i;:::-;2536:22;;:6;;;;;;;;;;:22;;;2528:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2730:1:::1;2693:40;;2714:6;::::0;::::1;;;;;;;;2693:40;;;;;;;;;;;;2761:1;2744:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2623:148::o:0;14981:185::-;15065:10;;;;;;;;;;;15049:26;;:12;:10;:12::i;:::-;:26;;;15041:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;15125:4;15105:17;:24;;;;15154:4;15140:11;:18;;;;14981:185;:::o;4675:56::-;;;;:::o;14689:286::-;14789:10;;;;;;;;;;;14773:26;;:12;:10;:12::i;:::-;:26;;;14765:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;14829:15;14847:63;14906:3;14847:54;14893:7;14854:8;14847:26;;;14882:4;14847:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;14829:81;;14928:8;14921:25;;;14947:10;;;;;;;;;;;14959:7;14921:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14754:221;14689:286;;:::o;2409:79::-;2447:7;2474:6;;;;;;;;;;;2467:13;;2409:79;:::o;4738:58::-;;;;:::o;7667:87::-;7706:13;7739:7;;;;;;;;;;;;;;;;;7732:14;;7667:87;:::o;8083:167::-;8161:4;8178:42;8188:12;:10;:12::i;:::-;8202:9;8213:6;8178:9;:42::i;:::-;8238:4;8231:11;;8083:167;;;;:::o;4803:61::-;;;;:::o;15268:1816::-;2546:12;:10;:12::i;:::-;2536:22;;:6;;;;;;;;;;:22;;;2528:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15330:11:::1;;;;;;;;;;;15329:12;15321:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15427:42;15390:15;;:80;;;;;;;;;;;;;;;;;;15528:15;15546;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15528:43;;15582:12;15597:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15582:37;;15630:21;15654:37;15662:7;15679:4;15686;15654:7;:37::i;:::-;15630:61;;15775:16;15850:13;15838:26;15826:38;;15956:1;15944:8;:13:::0;15940:505:::1;;16008:7;15990:37;;;16036:4;16043;15990:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15974:13;;:74;;;;;;;;;;;;;;;;;;15940:505;;;16097:13;16081;;:29;;;;;;;;;;;;;;;;;;16202:20;16240:4;16225:31;;;16257:13;;;;;;;;;;;16225:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16202:69;;16286:19;16315:4;16308:22;;;16331:13;;;;;;;;;;;16308:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16286:59;;16383:4;16368:12;:19;:41;;;;;16405:4;16391:11;:18;16368:41;16360:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;16066:379;;15940:505;16507:58;16524:4;16539:15;;;;;;;;;;;4474:1;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;16507:8;:58::i;:::-;16612:15;;;;;;;;;;;:31;;;16651:21;16696:4;16748:3;16743:2;16716:24;16734:4;16716:9;:24::i;:::-;:29;;;;:::i;:::-;:35;;;;:::i;:::-;16766:1;16782::::0;16798:7:::1;:5;:7::i;:::-;16820:15;16612:234;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16906:13;;;;;;;;;;;16899:29;;;16937:15;;;;;;;;;;;16955:14;16899:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17005:4;16991:11;;:18;;;;;;;;;;;;;;;;;;17034:4;17020:11;;:18;;;;;;;;;;;;;;;;;;17072:4;17049:20;;:27;;;;;;;;;;;;;;;;;;15310:1774;;;;15268:1816::o:0;8258:143::-;8339:7;8366:11;:18;8378:5;8366:18;;;;;;;;;;;;;;;:27;8385:7;8366:27;;;;;;;;;;;;;;;;8359:34;;8258:143;;;;:::o;19668:270::-;19748:10;;;;;;;;;;;19732:26;;:12;:10;:12::i;:::-;:26;;;19724:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;19807:12;;19796:7;:23;;:51;;;;;19834:13;;19823:7;:24;;19796:51;19788:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;19889:7;19874:12;:22;;;;19923:7;19907:13;:23;;;;19668:270;:::o;166:98::-;219:7;246:10;239:17;;166:98;:::o;8899:335::-;9009:1;8992:19;;:5;:19;;;8984:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9090:1;9071:21;;:7;:21;;;9063:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9172:6;9142:11;:18;9154:5;9142:18;;;;;;;;;;;;;;;:27;9161:7;9142:27;;;;;;;;;;;;;;;:36;;;;9210:7;9194:32;;9203:5;9194:32;;;9219:6;9194:32;;;;;;:::i;:::-;;;;;;;;8899:335;;;:::o;9242:3721::-;9346:1;9330:18;;:4;:18;;;9322:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9423:1;9409:16;;:2;:16;;;9401:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9493:1;9484:6;:10;9476:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9553:17;9597:7;:5;:7::i;:::-;9589:15;;:4;:15;;;;:32;;;;;9614:7;:5;:7::i;:::-;9608:13;;:2;:13;;;;9589:32;9585:3007;;;9647:4;:10;9652:4;9647:10;;;;;;;;;;;;;;;;;;;;;;;;;9646:11;:24;;;;;9662:4;:8;9667:2;9662:8;;;;;;;;;;;;;;;;;;;;;;;;;9661:9;9646:24;:44;;;;;9675:4;:15;9680:9;9675:15;;;;;;;;;;;;;;;;;;;;;;;;;9674:16;9646:44;9638:53;;;;;;9712:20;;;;;;;;;;;9708:559;;;9785:7;:5;:7::i;:::-;9779:13;;:2;:13;;;;:68;;;;;9831:15;;;;;;;;;;;9817:30;;:2;:30;;;;9779:68;:121;;;;;9886:13;;;;;;;;;;;9872:28;;:2;:28;;;;9779:121;9753:499;;;10019:12;9977:28;:39;10006:9;9977:39;;;;;;;;;;;;;;;;:54;9943:212;;;;;;;;;;;;:::i;:::-;;;;;;;;;10220:12;10178:28;:39;10207:9;10178:39;;;;;;;;;;;;;;;:54;;;;9753:499;9708:559;10300:1;10287:9;;:14;10283:149;;10334:82;10412:3;10334:73;10358:15;;10346:9;;:27;10345:61;;10392:14;;10345:61;;;10377:12;;10345:61;10334:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;10322:94;;10283:149;10462:1;10450:9;;:13;10446:99;;;10496:33;10525:3;10496:24;10507:12;;10496:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;10484:45;;10446:99;10573:13;;;;;;;;;;;10565:21;;:4;:21;;;:55;;;;;10604:15;;;;;;;;;;;10590:30;;:2;:30;;;;10565:55;:82;;;;;10625:18;:22;10644:2;10625:22;;;;;;;;;;;;;;;;;;;;;;;;;10624:23;10565:82;10561:424;;;10686:12;;10676:6;:22;;10668:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;10781:14;;10771:6;10755:13;10765:2;10755:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10747:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10857:82;10935:3;10857:73;10881:15;;10869:9;;:27;10868:61;;10915:14;;10868:61;;;10900:12;;10868:61;10857:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;10845:94;;10958:9;;:11;;;;;;;;;:::i;:::-;;;;;;10561:424;11011:13;;;;;;;;;;;11005:19;;:2;:19;;;:44;;;;;11044:4;11028:21;;:4;:21;;;;11005:44;11001:182;;;11082:85;11163:3;11082:76;11106:16;;11094:9;;:28;11093:64;;11142:15;;11093:64;;;11126:13;;11093:64;11082:6;:10;;:76;;;;:::i;:::-;:80;;:85;;;;:::i;:::-;11070:97;;11001:182;11199:28;11230:24;11248:4;11230:9;:24::i;:::-;11199:55;;11276:6;;;;;;;;;;11275:7;:30;;;;;11292:13;;;;;;;;;;;11286:19;;:2;:19;;;11275:30;:45;;;;;11309:11;;;;;;;;;;;11275:45;:89;;;;;11347:17;;11324:20;:40;11275:89;:123;;;;;11380:18;;11368:9;;:30;11275:123;11271:1310;;;11419:24;11446:42;4474:1;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;11446:29;11471:3;11446:20;:24;;:29;;;;:::i;:::-;:33;;:42;;;;:::i;:::-;11419:69;;11532:1;11513:16;:20;11509:518;;;11578:17;11558;:37;;;;11632:17;11618:11;:31;;;;11509:518;;;11698:1;11679:16;:20;11675:352;;;11759:5;11754:2;4474:1;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;11744:12;;;;:::i;:::-;:20;;;;:::i;:::-;11724:17;:40;;;;11825:5;11820:2;4474:1;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;11810:12;;;;:::i;:::-;:20;;;;:::i;:::-;11796:11;:34;;;;11675:352;;;11879:2;11860:16;:21;11856:171;;;11940:4;11936:1;4474;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;11926:11;;;;:::i;:::-;:18;;;;:::i;:::-;11906:17;:38;;;;12003:4;11999:1;4474;4532:2;:13;;;;:::i;:::-;4517:12;:28;;;;:::i;:::-;11989:11;;;;:::i;:::-;:18;;;;:::i;:::-;11975:11;:32;;;;11856:171;11675:352;11509:518;12066:13;;12051:12;:28;12047:90;;;12116:1;12104:9;:13;;;;12047:90;12177:1;12165:9;;:13;12157:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;12227:69;12244:51;12248:6;12256:38;12260:20;12282:11;;12256:3;:38::i;:::-;12244:3;:51::i;:::-;12227:16;:69::i;:::-;12315:26;12344:21;12315:50;;12409:1;12388:18;:22;12384:103;;;12435:32;12448:18;12435:12;:32::i;:::-;12384:103;12507:9;;:11;;;;;;;;;:::i;:::-;;;;;;12553:12;12537:13;:28;;;;11400:1181;;11271:1310;9623:2969;9585:3007;12620:1;12608:9;:13;12604:172;;;12665:39;12694:9;12665;:24;12683:4;12665:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;12638:9;:24;12656:4;12638:24;;;;;;;;;;;;;;;:66;;;;12747:4;12724:40;;12733:4;12724:40;;;12754:9;12724:40;;;;;;:::i;:::-;;;;;;;;12604:172;12804:27;12824:6;12804:9;:15;12814:4;12804:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;12786:9;:15;12796:4;12786:15;;;;;;;;;;;;;;;:45;;;;12858:40;12876:21;12887:9;12876:6;:10;;:21;;;;:::i;:::-;12858:9;:13;12868:2;12858:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;12842:9;:13;12852:2;12842:13;;;;;;;;;;;;;;;:56;;;;12929:2;12914:41;;12923:4;12914:41;;;12933:21;12944:9;12933:6;:10;;:21;;;;:::i;:::-;12914:41;;;;;;:::i;:::-;;;;;;;;9311:3652;9242:3721;;;:::o;1303:190::-;1389:7;1422:1;1417;:6;;1425:12;1409:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1449:9;1465:1;1461;:5;;;;:::i;:::-;1449:17;;1484:1;1477:8;;;1303:190;;;;;:::o;13086:483::-;5385:4;5376:6;;:13;;;;;;;;;;;;;;;;;;13164:21:::1;13202:1;13188:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13164:40;;13233:4;13215;13220:1;13215:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;13259:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13249:4;13254:1;13249:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13292:62;13309:4;13324:15;;;;;;;;;;;13342:11;13292:8;:62::i;:::-;13365:15;;;;;;;;;;;:66;;;13446:11;13472:1;13488:4;13515;13535:15;13365:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13153:416;5421:5:::0;5412:6;;:14;;;;;;;;;;;;;;;;;;13086:483;:::o;14402:92::-;14459:10;;;;;;;;;;;:19;;:27;14479:6;14459:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14402:92;:::o;1501:246::-;1559:7;1588:1;1583;:6;1579:47;;1613:1;1606:8;;;;1579:47;1636:9;1652:1;1648;:5;;;;:::i;:::-;1636:17;;1681:1;1676;1672;:5;;;;:::i;:::-;:10;1664:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1738:1;1731:8;;;1501:246;;;;;:::o;1755:132::-;1813:7;1840:39;1844:1;1847;1840:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1833:46;;1755:132;;;;:::o;1159:136::-;1217:7;1244:43;1248:1;1251;1244:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1237:50;;1159:136;;;;:::o;972:179::-;1030:7;1050:9;1066:1;1062;:5;;;;:::i;:::-;1050:17;;1091:1;1086;:6;;1078:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1142:1;1135:8;;;972:179;;;;:::o;19185:475::-;19273:12;19299:14;19315;19342:6;19333:15;;:6;:15;;;:53;;19371:6;19379;19333:53;;;19352:6;19360;19333:53;19298:88;;;;19488:7;19537:6;19545;19520:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19510:43;;;;;;19435:213;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19425:224;;;;;;19420:230;;19397:255;;19287:373;;19185:475;;;;;:::o;12971:107::-;13028:7;13060:1;13056;:5;13055:15;;13069:1;13055:15;;;13065:1;13055:15;13048:22;;12971:107;;;;:::o;1895:189::-;1981:7;2013:1;2009;:5;2016:12;2001:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2040:9;2056:1;2052;:5;;;;:::i;:::-;2040:17;;2075:1;2068:8;;;1895:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:116::-;3868:21;3883:5;3868:21;:::i;:::-;3861:5;3858:32;3848:60;;3904:1;3901;3894:12;3848:60;3798:116;:::o;3920:133::-;3963:5;4001:6;3988:20;3979:29;;4017:30;4041:5;4017:30;:::i;:::-;3920:133;;;;:::o;4059:323::-;4115:6;4164:2;4152:9;4143:7;4139:23;4135:32;4132:119;;;4170:79;;:::i;:::-;4132:119;4290:1;4315:50;4357:7;4348:6;4337:9;4333:22;4315:50;:::i;:::-;4305:60;;4261:114;4059:323;;;;:::o;4388:619::-;4465:6;4473;4481;4530:2;4518:9;4509:7;4505:23;4501:32;4498:119;;;4536:79;;:::i;:::-;4498:119;4656:1;4681:53;4726:7;4717:6;4706:9;4702:22;4681:53;:::i;:::-;4671:63;;4627:117;4783:2;4809:53;4854:7;4845:6;4834:9;4830:22;4809:53;:::i;:::-;4799:63;;4754:118;4911:2;4937:53;4982:7;4973:6;4962:9;4958:22;4937:53;:::i;:::-;4927:63;;4882:118;4388:619;;;;;:::o;5013:86::-;5048:7;5088:4;5081:5;5077:16;5066:27;;5013:86;;;:::o;5105:112::-;5188:22;5204:5;5188:22;:::i;:::-;5183:3;5176:35;5105:112;;:::o;5223:214::-;5312:4;5350:2;5339:9;5335:18;5327:26;;5363:67;5427:1;5416:9;5412:17;5403:6;5363:67;:::i;:::-;5223:214;;;;:::o;5443:329::-;5502:6;5551:2;5539:9;5530:7;5526:23;5522:32;5519:119;;;5557:79;;:::i;:::-;5519:119;5677:1;5702:53;5747:7;5738:6;5727:9;5723:22;5702:53;:::i;:::-;5692:63;;5648:117;5443:329;;;;:::o;5778:::-;5837:6;5886:2;5874:9;5865:7;5861:23;5857:32;5854:119;;;5892:79;;:::i;:::-;5854:119;6012:1;6037:53;6082:7;6073:6;6062:9;6058:22;6037:53;:::i;:::-;6027:63;;5983:117;5778:329;;;;:::o;6113:118::-;6200:24;6218:5;6200:24;:::i;:::-;6195:3;6188:37;6113:118;;:::o;6237:222::-;6330:4;6368:2;6357:9;6353:18;6345:26;;6381:71;6449:1;6438:9;6434:17;6425:6;6381:71;:::i;:::-;6237:222;;;;:::o;6465:474::-;6533:6;6541;6590:2;6578:9;6569:7;6565:23;6561:32;6558:119;;;6596:79;;:::i;:::-;6558:119;6716:1;6741:53;6786:7;6777:6;6766:9;6762:22;6741:53;:::i;:::-;6731:63;;6687:117;6843:2;6869:53;6914:7;6905:6;6894:9;6890:22;6869:53;:::i;:::-;6859:63;;6814:118;6465:474;;;;;:::o;6945:182::-;7085:34;7081:1;7073:6;7069:14;7062:58;6945:182;:::o;7133:366::-;7275:3;7296:67;7360:2;7355:3;7296:67;:::i;:::-;7289:74;;7372:93;7461:3;7372:93;:::i;:::-;7490:2;7485:3;7481:12;7474:19;;7133:366;;;:::o;7505:419::-;7671:4;7709:2;7698:9;7694:18;7686:26;;7758:9;7752:4;7748:20;7744:1;7733:9;7729:17;7722:47;7786:131;7912:4;7786:131;:::i;:::-;7778:139;;7505:419;;;:::o;7930:85::-;7975:7;8004:5;7993:16;;7930:85;;;:::o;8021:60::-;8049:3;8070:5;8063:12;;8021:60;;;:::o;8087:158::-;8145:9;8178:61;8196:42;8205:32;8231:5;8205:32;:::i;:::-;8196:42;:::i;:::-;8178:61;:::i;:::-;8165:74;;8087:158;;;:::o;8251:147::-;8346:45;8385:5;8346:45;:::i;:::-;8341:3;8334:58;8251:147;;:::o;8404:238::-;8505:4;8543:2;8532:9;8528:18;8520:26;;8556:79;8632:1;8621:9;8617:17;8608:6;8556:79;:::i;:::-;8404:238;;;;:::o;8648:180::-;8696:77;8693:1;8686:88;8793:4;8790:1;8783:15;8817:4;8814:1;8807:15;8834:102;8876:8;8923:5;8920:1;8916:13;8895:34;;8834:102;;;:::o;8942:848::-;9003:5;9010:4;9034:6;9025:15;;9058:5;9049:14;;9072:712;9093:1;9083:8;9080:15;9072:712;;;9188:4;9183:3;9179:14;9173:4;9170:24;9167:50;;;9197:18;;:::i;:::-;9167:50;9247:1;9237:8;9233:16;9230:451;;;9662:4;9655:5;9651:16;9642:25;;9230:451;9712:4;9706;9702:15;9694:23;;9742:32;9765:8;9742:32;:::i;:::-;9730:44;;9072:712;;;8942:848;;;;;;;:::o;9796:1073::-;9850:5;10041:8;10031:40;;10062:1;10053:10;;10064:5;;10031:40;10090:4;10080:36;;10107:1;10098:10;;10109:5;;10080:36;10176:4;10224:1;10219:27;;;;10260:1;10255:191;;;;10169:277;;10219:27;10237:1;10228:10;;10239:5;;;10255:191;10300:3;10290:8;10287:17;10284:43;;;10307:18;;:::i;:::-;10284:43;10356:8;10353:1;10349:16;10340:25;;10391:3;10384:5;10381:14;10378:40;;;10398:18;;:::i;:::-;10378:40;10431:5;;;10169:277;;10555:2;10545:8;10542:16;10536:3;10530:4;10527:13;10523:36;10505:2;10495:8;10492:16;10487:2;10481:4;10478:12;10474:35;10458:111;10455:246;;;10611:8;10605:4;10601:19;10592:28;;10646:3;10639:5;10636:14;10633:40;;;10653:18;;:::i;:::-;10633:40;10686:5;;10455:246;10726:42;10764:3;10754:8;10748:4;10745:1;10726:42;:::i;:::-;10711:57;;;;10800:4;10795:3;10791:14;10784:5;10781:25;10778:51;;;10809:18;;:::i;:::-;10778:51;10858:4;10851:5;10847:16;10838:25;;9796:1073;;;;;;:::o;10875:281::-;10933:5;10957:23;10975:4;10957:23;:::i;:::-;10949:31;;11001:25;11017:8;11001:25;:::i;:::-;10989:37;;11045:104;11082:66;11072:8;11066:4;11045:104;:::i;:::-;11036:113;;10875:281;;;;:::o;11162:410::-;11202:7;11225:20;11243:1;11225:20;:::i;:::-;11220:25;;11259:20;11277:1;11259:20;:::i;:::-;11254:25;;11314:1;11311;11307:9;11336:30;11354:11;11336:30;:::i;:::-;11325:41;;11515:1;11506:7;11502:15;11499:1;11496:22;11476:1;11469:9;11449:83;11426:139;;11545:18;;:::i;:::-;11426:139;11210:362;11162:410;;;;:::o;11578:180::-;11626:77;11623:1;11616:88;11723:4;11720:1;11713:15;11747:4;11744:1;11737:15;11764:185;11804:1;11821:20;11839:1;11821:20;:::i;:::-;11816:25;;11855:20;11873:1;11855:20;:::i;:::-;11850:25;;11894:1;11884:35;;11899:18;;:::i;:::-;11884:35;11941:1;11938;11934:9;11929:14;;11764:185;;;;:::o;11955:164::-;12095:16;12091:1;12083:6;12079:14;12072:40;11955:164;:::o;12125:366::-;12267:3;12288:67;12352:2;12347:3;12288:67;:::i;:::-;12281:74;;12364:93;12453:3;12364:93;:::i;:::-;12482:2;12477:3;12473:12;12466:19;;12125:366;;;:::o;12497:419::-;12663:4;12701:2;12690:9;12686:18;12678:26;;12750:9;12744:4;12740:20;12736:1;12725:9;12721:17;12714:47;12778:131;12904:4;12778:131;:::i;:::-;12770:139;;12497:419;;;:::o;12922:173::-;13062:25;13058:1;13050:6;13046:14;13039:49;12922:173;:::o;13101:366::-;13243:3;13264:67;13328:2;13323:3;13264:67;:::i;:::-;13257:74;;13340:93;13429:3;13340:93;:::i;:::-;13458:2;13453:3;13449:12;13442:19;;13101:366;;;:::o;13473:419::-;13639:4;13677:2;13666:9;13662:18;13654:26;;13726:9;13720:4;13716:20;13712:1;13701:9;13697:17;13690:47;13754:131;13880:4;13754:131;:::i;:::-;13746:139;;13473:419;;;:::o;13898:170::-;14038:22;14034:1;14026:6;14022:14;14015:46;13898:170;:::o;14074:366::-;14216:3;14237:67;14301:2;14296:3;14237:67;:::i;:::-;14230:74;;14313:93;14402:3;14313:93;:::i;:::-;14431:2;14426:3;14422:12;14415:19;;14074:366;;;:::o;14446:419::-;14612:4;14650:2;14639:9;14635:18;14627:26;;14699:9;14693:4;14689:20;14685:1;14674:9;14670:17;14663:47;14727:131;14853:4;14727:131;:::i;:::-;14719:139;;14446:419;;;:::o;14871:143::-;14928:5;14959:6;14953:13;14944:22;;14975:33;15002:5;14975:33;:::i;:::-;14871:143;;;;:::o;15020:351::-;15090:6;15139:2;15127:9;15118:7;15114:23;15110:32;15107:119;;;15145:79;;:::i;:::-;15107:119;15265:1;15290:64;15346:7;15337:6;15326:9;15322:22;15290:64;:::i;:::-;15280:74;;15236:128;15020:351;;;;:::o;15377:332::-;15498:4;15536:2;15525:9;15521:18;15513:26;;15549:71;15617:1;15606:9;15602:17;15593:6;15549:71;:::i;:::-;15630:72;15698:2;15687:9;15683:18;15674:6;15630:72;:::i;:::-;15377:332;;;;;:::o;15715:169::-;15855:21;15851:1;15843:6;15839:14;15832:45;15715:169;:::o;15890:366::-;16032:3;16053:67;16117:2;16112:3;16053:67;:::i;:::-;16046:74;;16129:93;16218:3;16129:93;:::i;:::-;16247:2;16242:3;16238:12;16231:19;;15890:366;;;:::o;16262:419::-;16428:4;16466:2;16455:9;16451:18;16443:26;;16515:9;16509:4;16505:20;16501:1;16490:9;16486:17;16479:47;16543:131;16669:4;16543:131;:::i;:::-;16535:139;;16262:419;;;:::o;16687:143::-;16744:5;16775:6;16769:13;16760:22;;16791:33;16818:5;16791:33;:::i;:::-;16687:143;;;;:::o;16836:351::-;16906:6;16955:2;16943:9;16934:7;16930:23;16926:32;16923:119;;;16961:79;;:::i;:::-;16923:119;17081:1;17106:64;17162:7;17153:6;17142:9;17138:22;17106:64;:::i;:::-;17096:74;;17052:128;16836:351;;;;:::o;17193:169::-;17333:21;17329:1;17321:6;17317:14;17310:45;17193:169;:::o;17368:366::-;17510:3;17531:67;17595:2;17590:3;17531:67;:::i;:::-;17524:74;;17607:93;17696:3;17607:93;:::i;:::-;17725:2;17720:3;17716:12;17709:19;;17368:366;;;:::o;17740:419::-;17906:4;17944:2;17933:9;17929:18;17921:26;;17993:9;17987:4;17983:20;17979:1;17968:9;17964:17;17957:47;18021:131;18147:4;18021:131;:::i;:::-;18013:139;;17740:419;;;:::o;18165:174::-;18305:26;18301:1;18293:6;18289:14;18282:50;18165:174;:::o;18345:366::-;18487:3;18508:67;18572:2;18567:3;18508:67;:::i;:::-;18501:74;;18584:93;18673:3;18584:93;:::i;:::-;18702:2;18697:3;18693:12;18686:19;;18345:366;;;:::o;18717:419::-;18883:4;18921:2;18910:9;18906:18;18898:26;;18970:9;18964:4;18960:20;18956:1;18945:9;18941:17;18934:47;18998:131;19124:4;18998:131;:::i;:::-;18990:139;;18717:419;;;:::o;19142:807::-;19391:4;19429:3;19418:9;19414:19;19406:27;;19443:71;19511:1;19500:9;19496:17;19487:6;19443:71;:::i;:::-;19524:72;19592:2;19581:9;19577:18;19568:6;19524:72;:::i;:::-;19606:80;19682:2;19671:9;19667:18;19658:6;19606:80;:::i;:::-;19696;19772:2;19761:9;19757:18;19748:6;19696:80;:::i;:::-;19786:73;19854:3;19843:9;19839:19;19830:6;19786:73;:::i;:::-;19869;19937:3;19926:9;19922:19;19913:6;19869:73;:::i;:::-;19142:807;;;;;;;;;:::o;19955:663::-;20043:6;20051;20059;20108:2;20096:9;20087:7;20083:23;20079:32;20076:119;;;20114:79;;:::i;:::-;20076:119;20234:1;20259:64;20315:7;20306:6;20295:9;20291:22;20259:64;:::i;:::-;20249:74;;20205:128;20372:2;20398:64;20454:7;20445:6;20434:9;20430:22;20398:64;:::i;:::-;20388:74;;20343:129;20511:2;20537:64;20593:7;20584:6;20573:9;20569:22;20537:64;:::i;:::-;20527:74;;20482:129;19955:663;;;;;:::o;20624:332::-;20745:4;20783:2;20772:9;20768:18;20760:26;;20796:71;20864:1;20853:9;20849:17;20840:6;20796:71;:::i;:::-;20877:72;20945:2;20934:9;20930:18;20921:6;20877:72;:::i;:::-;20624:332;;;;;:::o;20962:137::-;21016:5;21047:6;21041:13;21032:22;;21063:30;21087:5;21063:30;:::i;:::-;20962:137;;;;:::o;21105:345::-;21172:6;21221:2;21209:9;21200:7;21196:23;21192:32;21189:119;;;21227:79;;:::i;:::-;21189:119;21347:1;21372:61;21425:7;21416:6;21405:9;21401:22;21372:61;:::i;:::-;21362:71;;21318:125;21105:345;;;;:::o;21456:142::-;21506:9;21539:53;21557:34;21566:24;21584:5;21566:24;:::i;:::-;21557:34;:::i;:::-;21539:53;:::i;:::-;21526:66;;21456:142;;;:::o;21604:126::-;21654:9;21687:37;21718:5;21687:37;:::i;:::-;21674:50;;21604:126;;;:::o;21736:134::-;21794:9;21827:37;21858:5;21827:37;:::i;:::-;21814:50;;21736:134;;;:::o;21876:147::-;21971:45;22010:5;21971:45;:::i;:::-;21966:3;21959:58;21876:147;;:::o;22029:348::-;22158:4;22196:2;22185:9;22181:18;22173:26;;22209:79;22285:1;22274:9;22270:17;22261:6;22209:79;:::i;:::-;22298:72;22366:2;22355:9;22351:18;22342:6;22298:72;:::i;:::-;22029:348;;;;;:::o;22383:161::-;22523:13;22519:1;22511:6;22507:14;22500:37;22383:161;:::o;22550:366::-;22692:3;22713:67;22777:2;22772:3;22713:67;:::i;:::-;22706:74;;22789:93;22878:3;22789:93;:::i;:::-;22907:2;22902:3;22898:12;22891:19;;22550:366;;;:::o;22922:419::-;23088:4;23126:2;23115:9;23111:18;23103:26;;23175:9;23169:4;23165:20;23161:1;23150:9;23146:17;23139:47;23203:131;23329:4;23203:131;:::i;:::-;23195:139;;22922:419;;;:::o;23347:223::-;23487:34;23483:1;23475:6;23471:14;23464:58;23556:6;23551:2;23543:6;23539:15;23532:31;23347:223;:::o;23576:366::-;23718:3;23739:67;23803:2;23798:3;23739:67;:::i;:::-;23732:74;;23815:93;23904:3;23815:93;:::i;:::-;23933:2;23928:3;23924:12;23917:19;;23576:366;;;:::o;23948:419::-;24114:4;24152:2;24141:9;24137:18;24129:26;;24201:9;24195:4;24191:20;24187:1;24176:9;24172:17;24165:47;24229:131;24355:4;24229:131;:::i;:::-;24221:139;;23948:419;;;:::o;24373:221::-;24513:34;24509:1;24501:6;24497:14;24490:58;24582:4;24577:2;24569:6;24565:15;24558:29;24373:221;:::o;24600:366::-;24742:3;24763:67;24827:2;24822:3;24763:67;:::i;:::-;24756:74;;24839:93;24928:3;24839:93;:::i;:::-;24957:2;24952:3;24948:12;24941:19;;24600:366;;;:::o;24972:419::-;25138:4;25176:2;25165:9;25161:18;25153:26;;25225:9;25219:4;25215:20;25211:1;25200:9;25196:17;25189:47;25253:131;25379:4;25253:131;:::i;:::-;25245:139;;24972:419;;;:::o;25397:224::-;25537:34;25533:1;25525:6;25521:14;25514:58;25606:7;25601:2;25593:6;25589:15;25582:32;25397:224;:::o;25627:366::-;25769:3;25790:67;25854:2;25849:3;25790:67;:::i;:::-;25783:74;;25866:93;25955:3;25866:93;:::i;:::-;25984:2;25979:3;25975:12;25968:19;;25627:366;;;:::o;25999:419::-;26165:4;26203:2;26192:9;26188:18;26180:26;;26252:9;26246:4;26242:20;26238:1;26227:9;26223:17;26216:47;26280:131;26406:4;26280:131;:::i;:::-;26272:139;;25999:419;;;:::o;26424:222::-;26564:34;26560:1;26552:6;26548:14;26541:58;26633:5;26628:2;26620:6;26616:15;26609:30;26424:222;:::o;26652:366::-;26794:3;26815:67;26879:2;26874:3;26815:67;:::i;:::-;26808:74;;26891:93;26980:3;26891:93;:::i;:::-;27009:2;27004:3;27000:12;26993:19;;26652:366;;;:::o;27024:419::-;27190:4;27228:2;27217:9;27213:18;27205:26;;27277:9;27271:4;27267:20;27263:1;27252:9;27248:17;27241:47;27305:131;27431:4;27305:131;:::i;:::-;27297:139;;27024:419;;;:::o;27449:228::-;27589:34;27585:1;27577:6;27573:14;27566:58;27658:11;27653:2;27645:6;27641:15;27634:36;27449:228;:::o;27683:366::-;27825:3;27846:67;27910:2;27905:3;27846:67;:::i;:::-;27839:74;;27922:93;28011:3;27922:93;:::i;:::-;28040:2;28035:3;28031:12;28024:19;;27683:366;;;:::o;28055:419::-;28221:4;28259:2;28248:9;28244:18;28236:26;;28308:9;28302:4;28298:20;28294:1;28283:9;28279:17;28272:47;28336:131;28462:4;28336:131;:::i;:::-;28328:139;;28055:419;;;:::o;28480:296::-;28620:34;28616:1;28608:6;28604:14;28597:58;28689:34;28684:2;28676:6;28672:15;28665:59;28758:10;28753:2;28745:6;28741:15;28734:35;28480:296;:::o;28782:366::-;28924:3;28945:67;29009:2;29004:3;28945:67;:::i;:::-;28938:74;;29021:93;29110:3;29021:93;:::i;:::-;29139:2;29134:3;29130:12;29123:19;;28782:366;;;:::o;29154:419::-;29320:4;29358:2;29347:9;29343:18;29335:26;;29407:9;29401:4;29397:20;29393:1;29382:9;29378:17;29371:47;29435:131;29561:4;29435:131;:::i;:::-;29427:139;;29154:419;;;:::o;29579:175::-;29719:27;29715:1;29707:6;29703:14;29696:51;29579:175;:::o;29760:366::-;29902:3;29923:67;29987:2;29982:3;29923:67;:::i;:::-;29916:74;;29999:93;30088:3;29999:93;:::i;:::-;30117:2;30112:3;30108:12;30101:19;;29760:366;;;:::o;30132:419::-;30298:4;30336:2;30325:9;30321:18;30313:26;;30385:9;30379:4;30375:20;30371:1;30360:9;30356:17;30349:47;30413:131;30539:4;30413:131;:::i;:::-;30405:139;;30132:419;;;:::o;30557:191::-;30597:3;30616:20;30634:1;30616:20;:::i;:::-;30611:25;;30650:20;30668:1;30650:20;:::i;:::-;30645:25;;30693:1;30690;30686:9;30679:16;;30714:3;30711:1;30708:10;30705:36;;;30721:18;;:::i;:::-;30705:36;30557:191;;;;:::o;30754:176::-;30894:28;30890:1;30882:6;30878:14;30871:52;30754:176;:::o;30936:366::-;31078:3;31099:67;31163:2;31158:3;31099:67;:::i;:::-;31092:74;;31175:93;31264:3;31175:93;:::i;:::-;31293:2;31288:3;31284:12;31277:19;;30936:366;;;:::o;31308:419::-;31474:4;31512:2;31501:9;31497:18;31489:26;;31561:9;31555:4;31551:20;31547:1;31536:9;31532:17;31525:47;31589:131;31715:4;31589:131;:::i;:::-;31581:139;;31308:419;;;:::o;31733:233::-;31772:3;31795:24;31813:5;31795:24;:::i;:::-;31786:33;;31841:66;31834:5;31831:77;31828:103;;31911:18;;:::i;:::-;31828:103;31958:1;31951:5;31947:13;31940:20;;31733:233;;;:::o;31972:173::-;32112:25;32108:1;32100:6;32096:14;32089:49;31972:173;:::o;32151:366::-;32293:3;32314:67;32378:2;32373:3;32314:67;:::i;:::-;32307:74;;32390:93;32479:3;32390:93;:::i;:::-;32508:2;32503:3;32499:12;32492:19;;32151:366;;;:::o;32523:419::-;32689:4;32727:2;32716:9;32712:18;32704:26;;32776:9;32770:4;32766:20;32762:1;32751:9;32747:17;32740:47;32804:131;32930:4;32804:131;:::i;:::-;32796:139;;32523:419;;;:::o;32948:194::-;32988:4;33008:20;33026:1;33008:20;:::i;:::-;33003:25;;33042:20;33060:1;33042:20;:::i;:::-;33037:25;;33086:1;33083;33079:9;33071:17;;33110:1;33104:4;33101:11;33098:37;;;33115:18;;:::i;:::-;33098:37;32948:194;;;;:::o;33148:180::-;33196:77;33193:1;33186:88;33293:4;33290:1;33283:15;33317:4;33314:1;33307:15;33334:180;33382:77;33379:1;33372:88;33479:4;33476:1;33469:15;33503:4;33500:1;33493:15;33520:114;33587:6;33621:5;33615:12;33605:22;;33520:114;;;:::o;33640:184::-;33739:11;33773:6;33768:3;33761:19;33813:4;33808:3;33804:14;33789:29;;33640:184;;;;:::o;33830:132::-;33897:4;33920:3;33912:11;;33950:4;33945:3;33941:14;33933:22;;33830:132;;;:::o;33968:108::-;34045:24;34063:5;34045:24;:::i;:::-;34040:3;34033:37;33968:108;;:::o;34082:179::-;34151:10;34172:46;34214:3;34206:6;34172:46;:::i;:::-;34250:4;34245:3;34241:14;34227:28;;34082:179;;;;:::o;34267:113::-;34337:4;34369;34364:3;34360:14;34352:22;;34267:113;;;:::o;34416:732::-;34535:3;34564:54;34612:5;34564:54;:::i;:::-;34634:86;34713:6;34708:3;34634:86;:::i;:::-;34627:93;;34744:56;34794:5;34744:56;:::i;:::-;34823:7;34854:1;34839:284;34864:6;34861:1;34858:13;34839:284;;;34940:6;34934:13;34967:63;35026:3;35011:13;34967:63;:::i;:::-;34960:70;;35053:60;35106:6;35053:60;:::i;:::-;35043:70;;34899:224;34886:1;34883;34879:9;34874:14;;34839:284;;;34843:14;35139:3;35132:10;;34540:608;;;34416:732;;;;:::o;35154:831::-;35417:4;35455:3;35444:9;35440:19;35432:27;;35469:71;35537:1;35526:9;35522:17;35513:6;35469:71;:::i;:::-;35550:80;35626:2;35615:9;35611:18;35602:6;35550:80;:::i;:::-;35677:9;35671:4;35667:20;35662:2;35651:9;35647:18;35640:48;35705:108;35808:4;35799:6;35705:108;:::i;:::-;35697:116;;35823:72;35891:2;35880:9;35876:18;35867:6;35823:72;:::i;:::-;35905:73;35973:3;35962:9;35958:19;35949:6;35905:73;:::i;:::-;35154:831;;;;;;;;:::o;35991:220::-;36131:34;36127:1;36119:6;36115:14;36108:58;36200:3;36195:2;36187:6;36183:15;36176:28;35991:220;:::o;36217:366::-;36359:3;36380:67;36444:2;36439:3;36380:67;:::i;:::-;36373:74;;36456:93;36545:3;36456:93;:::i;:::-;36574:2;36569:3;36565:12;36558:19;;36217:366;;;:::o;36589:419::-;36755:4;36793:2;36782:9;36778:18;36770:26;;36842:9;36836:4;36832:20;36828:1;36817:9;36813:17;36806:47;36870:131;36996:4;36870:131;:::i;:::-;36862:139;;36589:419;;;:::o;37014:177::-;37154:29;37150:1;37142:6;37138:14;37131:53;37014:177;:::o;37197:366::-;37339:3;37360:67;37424:2;37419:3;37360:67;:::i;:::-;37353:74;;37436:93;37525:3;37436:93;:::i;:::-;37554:2;37549:3;37545:12;37538:19;;37197:366;;;:::o;37569:419::-;37735:4;37773:2;37762:9;37758:18;37750:26;;37822:9;37816:4;37812:20;37808:1;37797:9;37793:17;37786:47;37850:131;37976:4;37850:131;:::i;:::-;37842:139;;37569:419;;;:::o;37994:94::-;38027:8;38075:5;38071:2;38067:14;38046:35;;37994:94;;;:::o;38094:::-;38133:7;38162:20;38176:5;38162:20;:::i;:::-;38151:31;;38094:94;;;:::o;38194:100::-;38233:7;38262:26;38282:5;38262:26;:::i;:::-;38251:37;;38194:100;;;:::o;38300:157::-;38405:45;38425:24;38443:5;38425:24;:::i;:::-;38405:45;:::i;:::-;38400:3;38393:58;38300:157;;:::o;38463:397::-;38603:3;38618:75;38689:3;38680:6;38618:75;:::i;:::-;38718:2;38713:3;38709:12;38702:19;;38731:75;38802:3;38793:6;38731:75;:::i;:::-;38831:2;38826:3;38822:12;38815:19;;38851:3;38844:10;;38463:397;;;;;:::o;38866:148::-;38968:11;39005:3;38990:18;;38866:148;;;;:::o;39020:214::-;39160:66;39156:1;39148:6;39144:14;39137:90;39020:214;:::o;39240:400::-;39400:3;39421:84;39503:1;39498:3;39421:84;:::i;:::-;39414:91;;39514:93;39603:3;39514:93;:::i;:::-;39632:1;39627:3;39623:11;39616:18;;39240:400;;;:::o;39646:77::-;39683:7;39712:5;39701:16;;39646:77;;;:::o;39729:79::-;39768:7;39797:5;39786:16;;39729:79;;;:::o;39814:157::-;39919:45;39939:24;39957:5;39939:24;:::i;:::-;39919:45;:::i;:::-;39914:3;39907:58;39814:157;;:::o;39977:214::-;40117:66;40113:1;40105:6;40101:14;40094:90;39977:214;:::o;40197:402::-;40357:3;40378:85;40460:2;40455:3;40378:85;:::i;:::-;40371:92;;40472:93;40561:3;40472:93;:::i;:::-;40590:2;40585:3;40581:12;40574:19;;40197:402;;;:::o;40605:929::-;40947:3;40969:148;41113:3;40969:148;:::i;:::-;40962:155;;41127:75;41198:3;41189:6;41127:75;:::i;:::-;41227:2;41222:3;41218:12;41211:19;;41240:75;41311:3;41302:6;41240:75;:::i;:::-;41340:2;41335:3;41331:12;41324:19;;41360:148;41504:3;41360:148;:::i;:::-;41353:155;;41525:3;41518:10;;40605:929;;;;;:::o

Swarm Source

ipfs://776b993c3e1afac63283ea808cdec773068c2494e05e2efb83e07b64ad3310e6
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.