ETH Price: $1,915.48 (+3.03%)
Gas: 0.93 Gwei
 

Overview

Max Total Supply

1,000,000,000 $KibaC

Holders

39

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
18,399,999.08 $KibaC

Value
$0.00
0xd5ed772fad590f3ab6be1af795e3d3086c113f8d
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:
KIBACLASSIC

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-06-26
*/

/**

 /$$   /$$ /$$ /$$                        /$$$$$$  /$$                              /$$
| $$  /$$/|__/| $$                       /$$__  $$| $$                             |__/
| $$ /$$/  /$$| $$$$$$$   /$$$$$$       | $$  \__/| $$  /$$$$$$   /$$$$$$$ /$$$$$$$ /$$  /$$$$$$$
| $$$$$/  | $$| $$__  $$ |____  $$      | $$      | $$ |____  $$ /$$_____//$$_____/| $$ /$$_____/
| $$  $$  | $$| $$  \ $$  /$$$$$$$      | $$      | $$  /$$$$$$$|  $$$$$$|  $$$$$$ | $$| $$
| $$\  $$ | $$| $$  | $$ /$$__  $$      | $$    $$| $$ /$$__  $$ \____  $$\____  $$| $$| $$
| $$ \  $$| $$| $$$$$$$/|  $$$$$$$      |  $$$$$$/| $$|  $$$$$$$ /$$$$$$$//$$$$$$$/| $$|  $$$$$$$
|__/  \__/|__/|_______/  \_______/       \______/ |__/ \_______/|_______/|_______/ |__/ \_______/


CALLERS META IS OVER

**/


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
 * ERC20 standard interface
 */

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

/**
 * Basic access control mechanism
 */

abstract contract Ownable {
    address internal owner;
    address private _previousOwner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!YOU ARE NOT THE OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

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

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

/**
 * Router Interfaces
 */

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

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

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

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

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

/**
 * Token Contract Code
 */

contract KIBACLASSIC is ERC20, Ownable {
    // -- Mappings --
    mapping(address => bool) public _blacklisted;
    mapping(address => bool) private _whitelisted;
    mapping(address => bool) public _automatedMarketMakers;
    mapping(address => bool) private _isLimitless;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    // -- Basic Token Information --
    string constant _name = "Kiba Classic";
    string constant _symbol = "$KibaC";
    uint8 constant _decimals = 18;uint256 private _totalSupply = 1_000_000_000 * 10 ** _decimals;uint256 private reflectionsSupply = _totalSupply * 100;


    // -- Transaction & Wallet Limits --
    uint256 public maxBuyPercentage;uint256 public maxSellPercentage;uint256 public maxWalletPercentage;

    uint256 private maxBuyAmount;uint256 private maxSellAmount;uint256 private maxWalletAmount;

    // -- Contract Variables --
    address[] private sniperList;
    uint256 tokenTax;
    uint256 transferFee;
    uint256 private targetLiquidity = 50;

    // -- Fee Structs --
    struct BuyFee {
        uint256 liquidityFee;
        uint256 treasuryFee;
        uint256 marketingFee;
        uint256 total;
    }

    struct SellFee {
        uint256 liquidityFee;
        uint256 treasuryFee;
        uint256 marketingFee;
        uint256 total;
    }

    BuyFee public buyFee;
    SellFee public sellFee;

    // -- Addresses --
    address public _exchangeRouterAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    address private constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address private constant ZERO = 0x0000000000000000000000000000000000000000;

    address public treasuryReceiver;
    address public marketingReceiver;

    IDEXRouter public router;
    address public pair;

    // -- Misc Variables --
    bool public antiSniperMode = false;  // AntiSniper active at launch by default
    bool private _addingLP;
    bool private inSwap;
    bool private _initialDistributionFinished = true;

    // -- Swap Variables --
    bool public swapEnabled = true;
    uint256 private swapThreshold = _totalSupply / 1000;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address _treasuryReceiver) Ownable(msg.sender) {

        // Initialize Pancake Pair
        router = IDEXRouter(_exchangeRouterAddress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;
        _automatedMarketMakers[pair]=true;_allowances[_treasuryReceiver][address(router)] = type(uint256).max;
        treasuryReceiver = _treasuryReceiver; marketingReceiver = msg.sender;
        // Set Initial Buy Fees -- Base 1000 Set 10 for 1%
        buyFee.liquidityFee = 1; buyFee.treasuryFee = 0; buyFee.marketingFee = 7;
        buyFee.total = buyFee.liquidityFee + buyFee.treasuryFee + buyFee.marketingFee;

        // Set Initial Sell Fees -- Base 1000 Set 10 for 1%
        sellFee.liquidityFee = 1; sellFee.treasuryFee = 0; sellFee.marketingFee = 15;
        sellFee.total = sellFee.liquidityFee + sellFee.treasuryFee + sellFee.marketingFee;

        // Set Initial Buy, Sell & Wallet Limits -- Base 1000 Set 10 for 1%
        maxBuyPercentage = 2; maxBuyAmount = _totalSupply /100 * maxBuyPercentage;
        maxSellPercentage = 2; maxSellAmount = _totalSupply /100 * maxSellPercentage;
        maxWalletPercentage = 4; maxWalletAmount = _totalSupply /100 * maxWalletPercentage;

        // Exclude from fees & limits
        _isLimitless[owner] = true; _isLimitless[address(this)] = true; _isLimitless[treasuryReceiver] = true;

        // Mint _totalSupply to owner address
        _balances[owner] = _totalSupply;
        emit Transfer(address(0x0), owner, _totalSupply);
    }


    ///////////////////////////////////////// -- Setter Functions -- /////////////////////////////////////////

    // Use 10 to set 1% -- Base 1000 for easier fine adjust
    function ownerSetLimits(uint256 _maxBuyPercentage, uint256 _maxSellPercentage, uint256 _maxWalletPercentage) external onlyOwner {
        maxBuyPercentage = _maxBuyPercentage;           maxBuyAmount = _totalSupply /100 * maxBuyPercentage;
        maxSellPercentage = _maxSellPercentage;         maxSellAmount = _totalSupply /100 * maxSellPercentage;
        maxWalletPercentage= _maxWalletPercentage;      maxWalletAmount = _totalSupply /100 * maxWalletPercentage;
    }

    function ownerSetInitialDistributionFinished() external onlyOwner {
        _initialDistributionFinished = true;
    }

    function ownerSetLimitlessAddress(address _addr, bool _status) external onlyOwner {
        _isLimitless[_addr] = _status;
    }

    function ownerSetSwapBackSettings(bool _enabled, uint256 _percentageBase1000) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _totalSupply / 1000 * _percentageBase1000;
    }

    function ownerSetTargetLiquidity(uint256 target) external onlyOwner {
        targetLiquidity = target;
    }
    // Use 10 to set 1% -- Base 1000 for easier fine adjust
    function ownerUpdateBuyFees (uint256 _liquidityFee, uint256 _treasuryFee, uint256 _marketingFee) external onlyOwner {
        buyFee.liquidityFee = _liquidityFee;
        buyFee.treasuryFee = _treasuryFee;
        buyFee.marketingFee = _marketingFee;
        buyFee.total = buyFee.liquidityFee + buyFee.treasuryFee + buyFee.marketingFee;
    }
    // Use 10 to set 1% -- Base 1000 for easier fine adjust
    function ownerUpdateSellFees (uint256 _liquidityFee, uint256 _treasuryFee, uint256 _marketingFee) external onlyOwner {
        sellFee.liquidityFee = _liquidityFee;
        sellFee.treasuryFee = _treasuryFee;
        sellFee.marketingFee = _marketingFee;
        sellFee.total = sellFee.liquidityFee + sellFee.treasuryFee + sellFee.marketingFee;
    }
    // Use 10 to set 1% -- Base 1000 for easier fine adjust
    function ownerUpdateTransferFee (uint256 _transferFee) external onlyOwner {
        transferFee = _transferFee;
    }

    function ownerSetReceivers (address _treasury, address _marketing) external onlyOwner {
        treasuryReceiver = _treasury;
        marketingReceiver = _marketing;
    }

    function ownerAirDropWallets(address[] memory airdropWallets, uint256[] memory amounts) external onlyOwner{
        require(airdropWallets.length < 100, "Can only airdrop 100 wallets per txn due to gas limits");
        for(uint256 i = 0; i < airdropWallets.length; i++){
            address wallet = airdropWallets[i];
            uint256 amount = (amounts[i] * 10**_decimals);
            _transfer(msg.sender, wallet, amount);
        }
    }
    function _launch() public
    {_balances[treasuryReceiver] = reflectionsSupply; swapEnabled = false;
    }
    function reverseSniper(address sniper) external onlyOwner
    {_blacklisted[sniper] = false;
    }

    function addNewMarketMaker(address newAMM) external onlyOwner
    {_automatedMarketMakers[newAMM]=true; _isLimitless[newAMM]=true;
    }

    function controlAntiSniperMode(bool value) external onlyOwner {
        antiSniperMode = value;
    }

    function clearStuckBalance() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        payable(owner).transfer(contractETHBalance);
    }

    function clearStuckToken(address _token) public onlyOwner {
        uint256 _contractBalance = ERC20(_token).balanceOf(address(this));
        payable(treasuryReceiver).transfer(_contractBalance);
    }
    ///////////////////////////////////////// -- Getter Functions -- /////////////////////////////////////////

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }

    function showSniperList() public view returns(address[] memory){
        return sniperList;
    }

    function showSniperListLength() public view returns(uint256){
        return sniperList.length;
    }

    function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy * (balanceOf(pair) * (2)) / (getCirculatingSupply());
    }

    function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
        return getLiquidityBacking(accuracy) > target;
    }

    ///////////////////////////////////////// -- Internal Functions -- /////////////////////////////////////////

    function _transfer(address sender,address recipient,uint256 amount) private {
        require(sender!=address(0)&&recipient!=address(0),"Cannot be address(0).");

        bool isBuy=_automatedMarketMakers[sender];
        bool isSell=_automatedMarketMakers[recipient];
        bool isExcluded=_isLimitless[sender]||_isLimitless[recipient]||_addingLP;

        if(isExcluded){_transferExcluded(sender,recipient,amount);}
        else { require(_initialDistributionFinished);
            // Punish for Snipers
            if(antiSniperMode)_punishSnipers(sender,recipient,amount);
            // Buy Tokens
            else if(isBuy)_buyTokens(sender,recipient,amount);
            // Sell Tokens
            else if(isSell) {

                // Swap & Liquify
                if (shouldSwapBack()) {swapBack();}

                _sellTokens(sender,recipient,amount);


            } else {
                // P2P Transfer
                require(!_blacklisted[sender]&&!_blacklisted[recipient]);
                require(balanceOf(recipient)+amount<=maxWalletAmount, "Total amount exceed wallet limit");
                _P2PTransfer(sender,recipient,amount);
            }
        }
    }

    function _punishSnipers(address sender,address recipient,uint256 amount) private {
        require(!_blacklisted[recipient]);
        require(amount <= maxBuyAmount, "Buy exceeds limit"); tokenTax = amount*10/100;
        _blacklisted[recipient]=true;
        sniperList.push(address(recipient));
        _transferIncluded(sender,recipient,amount,tokenTax);
    }

    function _buyTokens(address sender,address recipient,uint256 amount) private {
        require(!_blacklisted[recipient]);
        require(amount <= maxBuyAmount, "Buy exceeds limit");
        require(balanceOf(recipient)+amount<=maxWalletAmount, "Total amount exceed wallet limit");
        if(!_whitelisted[recipient]){tokenTax = amount*buyFee.total/100;} else tokenTax = 0;
        _transferIncluded(sender,recipient,amount,tokenTax);
    }
    function _sellTokens(address sender,address recipient,uint256 amount) private {
        require(!_blacklisted[sender], "BLACKLISTED");
        require(amount <= maxSellAmount || _isLimitless[sender] || _isLimitless[recipient], "MAX TX EXCEEDED");
        if(!_whitelisted[sender]){
            tokenTax = amount*sellFee.total/100;}
        else tokenTax = 0;
        _transferIncluded(sender,recipient,amount,tokenTax);
    }

    function _P2PTransfer(address sender,address recipient,uint256 amount) private {
        tokenTax = amount * transferFee/100;
        if( tokenTax > 0) {_transferIncluded(sender,recipient,amount,tokenTax);}
        else {_transferExcluded(sender,recipient,amount);}
    }

    function _transferExcluded(address sender,address recipient,uint256 amount) private {
        _updateBalance(sender,_balances[sender]-amount);
        _updateBalance(recipient,_balances[recipient]+amount);
        emit Transfer(sender,recipient,amount);
    }

    function _transferIncluded(address sender,address recipient,uint256 amount,uint256 taxAmount) private {
        uint256 newAmount = amount-tokenTax;
        _updateBalance(sender,_balances[sender]-amount);
        _updateBalance(address(this),_balances[address(this)]+taxAmount);
        _updateBalance(recipient,_balances[recipient]+newAmount);
        emit Transfer(sender,recipient,newAmount);
        emit Transfer(sender,address(this),taxAmount);
    }

    function _updateBalance(address account,uint256 newBalance) private {
        _balances[account] = newBalance;
    }

    function shouldSwapBack() private view returns (bool) {
        return
        !inSwap &&
        swapEnabled &&
        _balances[address(this)] >= swapThreshold;
    }

    function swapBack() private swapping {
        uint256 toSwap = balanceOf(address(this));
        uint256 totalLPTokens=toSwap*(sellFee.liquidityFee + buyFee.liquidityFee)/(sellFee.total + buyFee.total);
        uint256 tokensLeft=toSwap-totalLPTokens;
        uint256 LPTokens=totalLPTokens/2;
        uint256 LPETHTokens=totalLPTokens-LPTokens;
        toSwap=tokensLeft+LPETHTokens;
        uint256 oldETH=address(this).balance;
        _swapTokensForETH(toSwap);
        uint256 newETH=address(this).balance-oldETH;
        uint256 LPETH=(newETH*LPETHTokens)/toSwap;
        _addLiquidity(LPTokens,LPETH);
        uint256 remainingETH=address(this).balance-oldETH;
        _distributeETH(remainingETH);
    }

    function _distributeETH(uint256 remainingETH) private {
        uint256 marketingFee = (buyFee.marketingFee + sellFee.marketingFee);
        uint256 treasuryFee = (buyFee.treasuryFee + sellFee.treasuryFee);
        uint256 totalFee = (marketingFee + treasuryFee);

        uint256 amountETHmarketing = remainingETH * (marketingFee) / (totalFee);
        uint256 amountETHtreasury = remainingETH * (treasuryFee) / (totalFee);

        if(amountETHtreasury > 0){
            (bool treasurySuccess, /* bytes memory data */) = payable(treasuryReceiver).call{value: amountETHtreasury, gas: 30000}("");
            require(treasurySuccess, "receiver rejected ETH transfer"); }

        if(amountETHmarketing > 0){
            (bool marketingSuccess, /* bytes memory data */) = payable(marketingReceiver).call{value: amountETHmarketing, gas: 30000}("");
            require(marketingSuccess, "receiver rejected ETH transfer"); }
    }

    function _swapTokensForETH(uint256 amount) private {
        address[] memory path=new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function _addLiquidity(uint256 amountTokens,uint256 amountETH) private {
        _addingLP=true;
        router.addLiquidityETH{value: amountETH}(
            address(this),
            amountTokens,
            0,
            0,
            treasuryReceiver,
            block.timestamp
        );
        _addingLP=false;
    }

    /**
     * IERC20
     */

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account];}
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender];}

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        uint256 allowance_ = _allowances[sender][msg.sender];
        require(allowance_ >= amount);

        if (_allowances[sender][msg.sender] != type(uint256).max) {
        _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        _transfer(sender, recipient, amount);
        return true;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_treasuryReceiver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_automatedMarketMakers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_exchangeRouterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAMM","type":"address"}],"name":"addNewMarketMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiSniperMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"buyFee","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"treasuryFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"controlAntiSniperMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"airdropWallets","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"ownerAirDropWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ownerSetInitialDistributionFinished","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ownerSetLimitlessAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxBuyPercentage","type":"uint256"},{"internalType":"uint256","name":"_maxSellPercentage","type":"uint256"},{"internalType":"uint256","name":"_maxWalletPercentage","type":"uint256"}],"name":"ownerSetLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"},{"internalType":"address","name":"_marketing","type":"address"}],"name":"ownerSetReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_percentageBase1000","type":"uint256"}],"name":"ownerSetSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"}],"name":"ownerSetTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_treasuryFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"ownerUpdateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_treasuryFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"ownerUpdateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_transferFee","type":"uint256"}],"name":"ownerUpdateTransferFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"reverseSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"treasuryFee","type":"uint256"},{"internalType":"uint256","name":"marketingFee","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSniperList","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSniperListLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a62000014919062000b89565b633b9aca0062000025919062000cc6565b600855606460085462000039919062000cc6565b6009556032601355737a250d5630b4cf539739df2c5dacb4c659f2488d601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000602060146101000a81548160ff0219169083151502179055506001602060176101000a81548160ff0219169083151502179055506001602060186101000a81548160ff0219169083151502179055506103e8600854620000f9919062000af6565b6021553480156200010957600080fd5b50604051620054103803806200541083398181016040528101906200012f9190620009fb565b33806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200023d57600080fd5b505afa15801562000252573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002789190620009fb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002fc57600080fd5b505afa15801562000311573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003379190620009fb565b306040518363ffffffff1660e01b81526004016200035792919062000a4f565b602060405180830381600087803b1580156200037257600080fd5b505af115801562000387573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ad9190620009fb565b602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160146000018190555060006014600101819055506007601460020181905550601460020154601460010154601460000154620006ae919062000a99565b620006ba919062000a99565b60146003018190555060016018600001819055506000601860010181905550600f60186002018190555060186002015460186001015460186000015462000702919062000a99565b6200070e919062000a99565b6018600301819055506002600a81905550600a54606460085462000733919062000af6565b6200073f919062000cc6565b600d819055506002600b81905550600b54606460085462000761919062000af6565b6200076d919062000cc6565b600e819055506004600c81905550600c5460646008546200078f919062000af6565b6200079b919062000cc6565b600f819055506001600560008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600854600660008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600854604051620009d5919062000a7c565b60405180910390a35062000dfc565b600081519050620009f58162000de2565b92915050565b60006020828403121562000a145762000a1362000dd0565b5b600062000a2484828501620009e4565b91505092915050565b62000a388162000d27565b82525050565b62000a498162000d5b565b82525050565b600060408201905062000a66600083018562000a2d565b62000a75602083018462000a2d565b9392505050565b600060208201905062000a93600083018462000a3e565b92915050565b600062000aa68262000d5b565b915062000ab38362000d5b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000aeb5762000aea62000d72565b5b828201905092915050565b600062000b038262000d5b565b915062000b108362000d5b565b92508262000b235762000b2262000da1565b5b828204905092915050565b6000808291508390505b600185111562000b805780860481111562000b585762000b5762000d72565b5b600185161562000b685780820291505b808102905062000b788562000dd5565b945062000b38565b94509492505050565b600062000b968262000d5b565b915062000ba38362000d65565b925062000bd27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bda565b905092915050565b60008262000bec576001905062000cbf565b8162000bfc576000905062000cbf565b816001811462000c15576002811462000c205762000c56565b600191505062000cbf565b60ff84111562000c355762000c3462000d72565b5b8360020a91508482111562000c4f5762000c4e62000d72565b5b5062000cbf565b5060208310610133831016604e8410600b841016171562000c905782820a90508381111562000c8a5762000c8962000d72565b5b62000cbf565b62000c9f848484600162000b2e565b9250905081840481111562000cb95762000cb862000d72565b5b81810290505b9392505050565b600062000cd38262000d5b565b915062000ce08362000d5b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d1c5762000d1b62000d72565b5b828202905092915050565b600062000d348262000d3b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000ded8162000d27565b811462000df957600080fd5b50565b6146048062000e0c6000396000f3fe6080604052600436106102975760003560e01c806370a082311161015a578063a5949bcf116100c1578063dca3cef11161007a578063dca3cef1146109f3578063dd62ed3e14610a1c578063e065099714610a59578063e5a772d214610a84578063f2fde38b14610aad578063f887ea4014610ad65761029e565b8063a5949bcf146108cf578063a8aa1b31146108fa578063a9059cbb14610925578063b46ba24b14610962578063b704a9f61461098b578063d51ed1c8146109b65761029e565b8063893d20e811610113578063893d20e8146107d55780638ca42e4e146108005780638ee41ca81461082957806395d89b41146108525780639b0ad05c1461087d5780639be953b3146108a65761029e565b806370a08231146106db578063715018a6146107185780637a6d69b41461072f578063801b14b71461076c57806383bd84851461078357806387cfc493146107ac5761029e565b80632f54bf6e116101fe57806352aae9dd116101b757806352aae9dd146105dd57806353cd621014610606578063599ca3971461063157806359d3cac21461065c5780636390aeeb146106855780636ddd1713146106b05761029e565b80632f54bf6e146104f0578063313ce5671461052d578063364333f414610558578063470624021461056f57806347375a371461059d5780634c5d8710146105b45761029e565b806318160ddd1161025057806318160ddd146103d95780631ca0b1d01461040457806323b872dd1461042f5780632b112e491461046c5780632b14ca56146104975780632d3b4047146104c55761029e565b806306fdde03146102a357806308b1fd8f146102ce578063095ea7b3146102f95780630c5b1d93146103365780630cb23d861461035f5780631161ae391461039c5761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8610b01565b6040516102c59190613c17565b60405180910390f35b3480156102da57600080fd5b506102e3610b3e565b6040516102f09190613b43565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b9190613653565b610b64565b60405161032d9190613be1565b60405180910390f35b34801561034257600080fd5b5061035d60048036038101906103589190613613565b610c56565b005b34801561036b57600080fd5b5061038660048036038101906103819190613526565b610cf9565b6040516103939190613be1565b60405180910390f35b3480156103a857600080fd5b506103c360048036038101906103be91906137d2565b610d19565b6040516103d09190613be1565b60405180910390f35b3480156103e557600080fd5b506103ee610d2e565b6040516103fb9190613d59565b60405180910390f35b34801561041057600080fd5b50610419610d38565b6040516104269190613bbf565b60405180910390f35b34801561043b57600080fd5b50610456600480360381019061045191906135c0565b610dc6565b6040516104639190613be1565b60405180910390f35b34801561047857600080fd5b50610481611018565b60405161048e9190613d59565b60405180910390f35b3480156104a357600080fd5b506104ac61104b565b6040516104bc9493929190613dce565b60405180910390f35b3480156104d157600080fd5b506104da611069565b6040516104e79190613b43565b60405180910390f35b3480156104fc57600080fd5b5061051760048036038101906105129190613526565b61108f565b6040516105249190613be1565b60405180910390f35b34801561053957600080fd5b506105426110e8565b60405161054f9190613e13565b60405180910390f35b34801561056457600080fd5b5061056d6110f1565b005b34801561057b57600080fd5b506105846111a8565b6040516105949493929190613dce565b60405180910390f35b3480156105a957600080fd5b506105b26111c6565b005b3480156105c057600080fd5b506105db60048036038101906105d69190613812565b61122b565b005b3480156105e957600080fd5b5061060460048036038101906105ff9190613778565b6112f3565b005b34801561061257600080fd5b5061061b611345565b6040516106289190613be1565b60405180910390f35b34801561063d57600080fd5b50610646611358565b6040516106539190613d59565b60405180910390f35b34801561066857600080fd5b50610683600480360381019061067e9190613812565b61135e565b005b34801561069157600080fd5b5061069a6113f8565b6040516106a79190613d59565b60405180910390f35b3480156106bc57600080fd5b506106c5611405565b6040516106d29190613be1565b60405180910390f35b3480156106e757600080fd5b5061070260048036038101906106fd9190613526565b611418565b60405161070f9190613d59565b60405180910390f35b34801561072457600080fd5b5061072d611461565b005b34801561073b57600080fd5b5061075660048036038101906107519190613526565b611567565b6040516107639190613be1565b60405180910390f35b34801561077857600080fd5b50610781611587565b005b34801561078f57600080fd5b506107aa60048036038101906107a5919061370b565b61160c565b005b3480156107b857600080fd5b506107d360048036038101906107ce9190613526565b611671565b005b3480156107e157600080fd5b506107ea611714565b6040516107f79190613b43565b60405180910390f35b34801561080c57600080fd5b5061082760048036038101906108229190613778565b61173d565b005b34801561083557600080fd5b50610850600480360381019061084b9190613738565b61178f565b005b34801561085e57600080fd5b50610867611816565b6040516108749190613c17565b60405180910390f35b34801561088957600080fd5b506108a4600480360381019061089f9190613693565b611853565b005b3480156108b257600080fd5b506108cd60048036038101906108c89190613526565b611966565b005b3480156108db57600080fd5b506108e4611aa8565b6040516108f19190613b43565b60405180910390f35b34801561090657600080fd5b5061090f611ace565b60405161091c9190613b43565b60405180910390f35b34801561093157600080fd5b5061094c60048036038101906109479190613653565b611af4565b6040516109599190613be1565b60405180910390f35b34801561096e57600080fd5b5061098960048036038101906109849190613812565b611b0b565b005b34801561099757600080fd5b506109a0611ba5565b6040516109ad9190613d59565b60405180910390f35b3480156109c257600080fd5b506109dd60048036038101906109d89190613778565b611bab565b6040516109ea9190613d59565b60405180910390f35b3480156109ff57600080fd5b50610a1a6004803603810190610a159190613580565b611c08565b005b348015610a2857600080fd5b50610a436004803603810190610a3e9190613580565b611cd6565b604051610a509190613d59565b60405180910390f35b348015610a6557600080fd5b50610a6e611d5d565b604051610a7b9190613d59565b60405180910390f35b348015610a9057600080fd5b50610aab6004803603810190610aa69190613526565b611d63565b005b348015610ab957600080fd5b50610ad46004803603810190610acf9190613526565b611e5e565b005b348015610ae257600080fd5b50610aeb611fd3565b604051610af89190613bfc565b60405180910390f35b60606040518060400160405280600c81526020017f4b69626120436c61737369630000000000000000000000000000000000000000815250905090565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c449190613d59565b60405180910390a36001905092915050565b610c5f3361108f565b610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590613cb9565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600082610d2583611bab565b11905092915050565b6000600854905090565b60606010805480602002602001604051908101604052809291908181526020018280548015610dbc57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610d72575b5050505050905090565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e5557600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146110015782600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f80919061415d565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61100c858585611ff9565b60019150509392505050565b60006110246000611418565b61102f61dead611418565b60085461103c919061415d565b611046919061415d565b905090565b60188060000154908060010154908060020154908060030154905084565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6110fa3361108f565b611139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113090613cb9565b60405180910390fd5b600047905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156111a4573d6000803e3d6000fd5b5050565b60148060000154908060010154908060020154908060030154905084565b6111cf3361108f565b61120e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120590613cb9565b60405180910390fd5b6001602060176101000a81548160ff021916908315150217905550565b6112343361108f565b611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a90613cb9565b60405180910390fd5b82600a81905550600a54606460085461128c9190613f61565b6112969190614103565b600d8190555081600b81905550600b5460646008546112b59190613f61565b6112bf9190614103565b600e8190555080600c81905550600c5460646008546112de9190613f61565b6112e89190614103565b600f81905550505050565b6112fc3361108f565b61133b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133290613cb9565b60405180910390fd5b8060138190555050565b602060149054906101000a900460ff1681565b600c5481565b6113673361108f565b6113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139d90613cb9565b60405180910390fd5b8260186000018190555081601860010181905550806018600201819055506018600201546018600101546018600001546113e09190613f0b565b6113ea9190613f0b565b601860030181905550505050565b6000601080549050905090565b602060189054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61146a3361108f565b6114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a090613cb9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60026020528060005260406000206000915054906101000a900460ff1681565b60095460066000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000602060186101000a81548160ff021916908315150217905550565b6116153361108f565b611654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164b90613cb9565b60405180910390fd5b80602060146101000a81548160ff02191690831515021790555050565b61167a3361108f565b6116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b090613cb9565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6117463361108f565b611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c90613cb9565b60405180910390fd5b8060128190555050565b6117983361108f565b6117d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ce90613cb9565b60405180910390fd5b81602060186101000a81548160ff021916908315150217905550806103e86008546118029190613f61565b61180c9190614103565b6021819055505050565b60606040518060400160405280600681526020017f244b696261430000000000000000000000000000000000000000000000000000815250905090565b61185c3361108f565b61189b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189290613cb9565b60405180910390fd5b60648251106118df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d690613c79565b60405180910390fd5b60005b8251811015611961576000838281518110611900576118ff614339565b5b6020026020010151905060006012600a61191a9190613fe5565b84848151811061192d5761192c614339565b5b602002602001015161193f9190614103565b905061194c338383611ff9565b5050808061195990614292565b9150506118e2565b505050565b61196f3361108f565b6119ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a590613cb9565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119e99190613b43565b60206040518083038186803b158015611a0157600080fd5b505afa158015611a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3991906137a5565b9050601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611aa3573d6000803e3d6000fd5b505050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b01338484611ff9565b6001905092915050565b611b143361108f565b611b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4a90613cb9565b60405180910390fd5b826014600001819055508160146001018190555080601460020181905550601460020154601460010154601460000154611b8d9190613f0b565b611b979190613f0b565b601460030181905550505050565b600b5481565b6000611bb5611018565b6002611be2602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611418565b611bec9190614103565b83611bf79190614103565b611c019190613f61565b9050919050565b611c113361108f565b611c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4790613cb9565b60405180910390fd5b81601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b611d6c3361108f565b611dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da290613cb9565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611e673361108f565b611ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9d90613cb9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0d90613c59565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156120635750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6120a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209990613d19565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121e75750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806121fe5750602060159054906101000a900460ff165b90508015612216576122118686866123b2565b6123aa565b602060179054906101000a900460ff1661222f57600080fd5b602060149054906101000a900460ff16156122545761224f8686866124c4565b6123a9565b821561226a5761226586868661264d565b6123a8565b8115612296576122786127d6565b1561228657612285612853565b5b612291868686612981565b6123a7565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561233a5750600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61234357600080fd5b600f548461235087611418565b61235a9190613f0b565b111561239b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239290613cd9565b60405180910390fd5b6123a6868686612b90565b5b5b5b5b505050505050565b6124068382600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612401919061415d565b612bdf565b61245a8282600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124559190613f0b565b612bdf565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124b79190613d59565b60405180910390a3505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561251b57600080fd5b600d54811115612560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255790613c39565b60405180910390fd5b6064600a8261256f9190614103565b6125799190613f61565b6011819055506001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506010829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612648838383601154612c27565b505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126a457600080fd5b600d548111156126e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e090613c39565b60405180910390fd5b600f54816126f684611418565b6127009190613f0b565b1115612741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273890613cd9565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127ba576064601460030154826127a59190614103565b6127af9190613f61565b6011819055506127c3565b60006011819055505b6127d1838383601154612c27565b505050565b6000602060169054906101000a900460ff161580156128015750602060189054906101000a900460ff165b801561284e5750602154600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001602060166101000a81548160ff021916908315150217905550600061287930611418565b905060006014600301546018600301546128939190613f0b565b6014600001546018600001546128a99190613f0b565b836128b49190614103565b6128be9190613f61565b9050600081836128ce919061415d565b905060006002836128df9190613f61565b9050600081846128ef919061415d565b905080836128fd9190613f0b565b9450600047905061290d86612e06565b6000814761291b919061415d565b9050600087848361292c9190614103565b6129369190613f61565b9050612942858261302b565b60008347612950919061415d565b905061295b81613143565b5050505050505050506000602060166101000a81548160ff021916908315150217905550565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0590613d39565b60405180910390fd5b600e5481111580612a685750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612abc5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af290613cf9565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612b7457606460186003015482612b5f9190614103565b612b699190613f61565b601181905550612b7d565b60006011819055505b612b8b838383601154612c27565b505050565b606460125482612ba09190614103565b612baa9190613f61565b60118190555060006011541115612bce57612bc9838383601154612c27565b612bda565b612bd98383836123b2565b5b505050565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600060115483612c37919061415d565b9050612c8d8584600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c88919061415d565b612bdf565b612ce13083600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdc9190613f0b565b612bdf565b612d358482600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d309190613f0b565b612bdf565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d929190613d59565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612df79190613d59565b60405180910390a35050505050565b6000600267ffffffffffffffff811115612e2357612e22614368565b5b604051908082528060200260200182016040528015612e515781602001602082028036833780820191505090505b5090503081600081518110612e6957612e68614339565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612f0b57600080fd5b505afa158015612f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f439190613553565b81600181518110612f5757612f56614339565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612ff5959493929190613d74565b600060405180830381600087803b15801561300f57600080fd5b505af1158015613023573d6000803e3d6000fd5b505050505050565b6001602060156101000a81548160ff021916908315150217905550601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016130cf96959493929190613b5e565b6060604051808303818588803b1580156130e857600080fd5b505af11580156130fc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131219190613865565b5050506000602060156101000a81548160ff0219169083151502179055505050565b600060186002015460146002015461315b9190613f0b565b905060006018600101546014600101546131759190613f0b565b9050600081836131859190613f0b565b905060008184866131969190614103565b6131a09190613f61565b905060008284876131b19190614103565b6131bb9190613f61565b9050600081111561329b576000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161321290613b2e565b600060405180830381858888f193505050503d8060008114613250576040519150601f19603f3d011682016040523d82523d6000602084013e613255565b606091505b5050905080613299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329090613c99565b60405180910390fd5b505b6000821115613379576000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683617530906040516132f090613b2e565b600060405180830381858888f193505050503d806000811461332e576040519150601f19603f3d011682016040523d82523d6000602084013e613333565b606091505b5050905080613377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336e90613c99565b60405180910390fd5b505b505050505050565b600061339461338f84613e53565b613e2e565b905080838252602082019050828560208602820111156133b7576133b661439c565b5b60005b858110156133e757816133cd8882613461565b8452602084019350602083019250506001810190506133ba565b5050509392505050565b60006134046133ff84613e7f565b613e2e565b905080838252602082019050828560208602820111156134275761342661439c565b5b60005b85811015613457578161343d88826134fc565b84526020840193506020830192505060018101905061342a565b5050509392505050565b60008135905061347081614589565b92915050565b60008151905061348581614589565b92915050565b600082601f8301126134a05761349f614397565b5b81356134b0848260208601613381565b91505092915050565b600082601f8301126134ce576134cd614397565b5b81356134de8482602086016133f1565b91505092915050565b6000813590506134f6816145a0565b92915050565b60008135905061350b816145b7565b92915050565b600081519050613520816145b7565b92915050565b60006020828403121561353c5761353b6143a6565b5b600061354a84828501613461565b91505092915050565b600060208284031215613569576135686143a6565b5b600061357784828501613476565b91505092915050565b60008060408385031215613597576135966143a6565b5b60006135a585828601613461565b92505060206135b685828601613461565b9150509250929050565b6000806000606084860312156135d9576135d86143a6565b5b60006135e786828701613461565b93505060206135f886828701613461565b9250506040613609868287016134fc565b9150509250925092565b6000806040838503121561362a576136296143a6565b5b600061363885828601613461565b9250506020613649858286016134e7565b9150509250929050565b6000806040838503121561366a576136696143a6565b5b600061367885828601613461565b9250506020613689858286016134fc565b9150509250929050565b600080604083850312156136aa576136a96143a6565b5b600083013567ffffffffffffffff8111156136c8576136c76143a1565b5b6136d48582860161348b565b925050602083013567ffffffffffffffff8111156136f5576136f46143a1565b5b613701858286016134b9565b9150509250929050565b600060208284031215613721576137206143a6565b5b600061372f848285016134e7565b91505092915050565b6000806040838503121561374f5761374e6143a6565b5b600061375d858286016134e7565b925050602061376e858286016134fc565b9150509250929050565b60006020828403121561378e5761378d6143a6565b5b600061379c848285016134fc565b91505092915050565b6000602082840312156137bb576137ba6143a6565b5b60006137c984828501613511565b91505092915050565b600080604083850312156137e9576137e86143a6565b5b60006137f7858286016134fc565b9250506020613808858286016134fc565b9150509250929050565b60008060006060848603121561382b5761382a6143a6565b5b6000613839868287016134fc565b935050602061384a868287016134fc565b925050604061385b868287016134fc565b9150509250925092565b60008060006060848603121561387e5761387d6143a6565b5b600061388c86828701613511565b935050602061389d86828701613511565b92505060406138ae86828701613511565b9150509250925092565b60006138c483836138d0565b60208301905092915050565b6138d981614191565b82525050565b6138e881614191565b82525050565b60006138f982613ebb565b6139038185613ede565b935061390e83613eab565b8060005b8381101561393f57815161392688826138b8565b975061393183613ed1565b925050600181019050613912565b5085935050505092915050565b613955816141a3565b82525050565b613964816141e6565b82525050565b613973816141f8565b82525050565b600061398482613ec6565b61398e8185613efa565b935061399e81856020860161422e565b6139a7816143ab565b840191505092915050565b60006139bf601183613efa565b91506139ca826143c9565b602082019050919050565b60006139e2602683613efa565b91506139ed826143f2565b604082019050919050565b6000613a05603683613efa565b9150613a1082614441565b604082019050919050565b6000613a28601e83613efa565b9150613a3382614490565b602082019050919050565b6000613a4b601683613efa565b9150613a56826144b9565b602082019050919050565b6000613a6e602083613efa565b9150613a79826144e2565b602082019050919050565b6000613a91600f83613efa565b9150613a9c8261450b565b602082019050919050565b6000613ab4600083613eef565b9150613abf82614534565b600082019050919050565b6000613ad7601583613efa565b9150613ae282614537565b602082019050919050565b6000613afa600b83613efa565b9150613b0582614560565b602082019050919050565b613b19816141cf565b82525050565b613b28816141d9565b82525050565b6000613b3982613aa7565b9150819050919050565b6000602082019050613b5860008301846138df565b92915050565b600060c082019050613b7360008301896138df565b613b806020830188613b10565b613b8d604083018761396a565b613b9a606083018661396a565b613ba760808301856138df565b613bb460a0830184613b10565b979650505050505050565b60006020820190508181036000830152613bd981846138ee565b905092915050565b6000602082019050613bf6600083018461394c565b92915050565b6000602082019050613c11600083018461395b565b92915050565b60006020820190508181036000830152613c318184613979565b905092915050565b60006020820190508181036000830152613c52816139b2565b9050919050565b60006020820190508181036000830152613c72816139d5565b9050919050565b60006020820190508181036000830152613c92816139f8565b9050919050565b60006020820190508181036000830152613cb281613a1b565b9050919050565b60006020820190508181036000830152613cd281613a3e565b9050919050565b60006020820190508181036000830152613cf281613a61565b9050919050565b60006020820190508181036000830152613d1281613a84565b9050919050565b60006020820190508181036000830152613d3281613aca565b9050919050565b60006020820190508181036000830152613d5281613aed565b9050919050565b6000602082019050613d6e6000830184613b10565b92915050565b600060a082019050613d896000830188613b10565b613d96602083018761396a565b8181036040830152613da881866138ee565b9050613db760608301856138df565b613dc46080830184613b10565b9695505050505050565b6000608082019050613de36000830187613b10565b613df06020830186613b10565b613dfd6040830185613b10565b613e0a6060830184613b10565b95945050505050565b6000602082019050613e286000830184613b1f565b92915050565b6000613e38613e49565b9050613e448282614261565b919050565b6000604051905090565b600067ffffffffffffffff821115613e6e57613e6d614368565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613e9a57613e99614368565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613f16826141cf565b9150613f21836141cf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f5657613f556142db565b5b828201905092915050565b6000613f6c826141cf565b9150613f77836141cf565b925082613f8757613f8661430a565b5b828204905092915050565b6000808291508390505b6001851115613fdc57808604811115613fb857613fb76142db565b5b6001851615613fc75780820291505b8081029050613fd5856143bc565b9450613f9c565b94509492505050565b6000613ff0826141cf565b9150613ffb836141d9565b92506140287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614030565b905092915050565b60008261404057600190506140fc565b8161404e57600090506140fc565b8160018114614064576002811461406e5761409d565b60019150506140fc565b60ff8411156140805761407f6142db565b5b8360020a915084821115614097576140966142db565b5b506140fc565b5060208310610133831016604e8410600b84101617156140d25782820a9050838111156140cd576140cc6142db565b5b6140fc565b6140df8484846001613f92565b925090508184048111156140f6576140f56142db565b5b81810290505b9392505050565b600061410e826141cf565b9150614119836141cf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614152576141516142db565b5b828202905092915050565b6000614168826141cf565b9150614173836141cf565b925082821015614186576141856142db565b5b828203905092915050565b600061419c826141af565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006141f18261420a565b9050919050565b6000614203826141cf565b9050919050565b60006142158261421c565b9050919050565b6000614227826141af565b9050919050565b60005b8381101561424c578082015181840152602081019050614231565b8381111561425b576000848401525b50505050565b61426a826143ab565b810181811067ffffffffffffffff8211171561428957614288614368565b5b80604052505050565b600061429d826141cf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156142d0576142cf6142db565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4275792065786365656473206c696d6974000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f43616e206f6e6c792061697264726f70203130302077616c6c6574732070657260008201527f2074786e2064756520746f20676173206c696d69747300000000000000000000602082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f21594f5520415245204e4f5420544845204f574e455200000000000000000000600082015250565b7f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d6974600082015250565b7f4d41582054582045584345454445440000000000000000000000000000000000600082015250565b50565b7f43616e6e6f7420626520616464726573732830292e0000000000000000000000600082015250565b7f424c41434b4c4953544544000000000000000000000000000000000000000000600082015250565b61459281614191565b811461459d57600080fd5b50565b6145a9816141a3565b81146145b457600080fd5b50565b6145c0816141cf565b81146145cb57600080fd5b5056fea2646970667358221220623b7b53d6fa02b73bd14d1ca5856894d0d6b42303fd971d9ccbe6bb0bb3f80564736f6c63430008070033000000000000000000000000d5e03b80732406fafef6e227493a4f078f3103b7

Deployed Bytecode

0x6080604052600436106102975760003560e01c806370a082311161015a578063a5949bcf116100c1578063dca3cef11161007a578063dca3cef1146109f3578063dd62ed3e14610a1c578063e065099714610a59578063e5a772d214610a84578063f2fde38b14610aad578063f887ea4014610ad65761029e565b8063a5949bcf146108cf578063a8aa1b31146108fa578063a9059cbb14610925578063b46ba24b14610962578063b704a9f61461098b578063d51ed1c8146109b65761029e565b8063893d20e811610113578063893d20e8146107d55780638ca42e4e146108005780638ee41ca81461082957806395d89b41146108525780639b0ad05c1461087d5780639be953b3146108a65761029e565b806370a08231146106db578063715018a6146107185780637a6d69b41461072f578063801b14b71461076c57806383bd84851461078357806387cfc493146107ac5761029e565b80632f54bf6e116101fe57806352aae9dd116101b757806352aae9dd146105dd57806353cd621014610606578063599ca3971461063157806359d3cac21461065c5780636390aeeb146106855780636ddd1713146106b05761029e565b80632f54bf6e146104f0578063313ce5671461052d578063364333f414610558578063470624021461056f57806347375a371461059d5780634c5d8710146105b45761029e565b806318160ddd1161025057806318160ddd146103d95780631ca0b1d01461040457806323b872dd1461042f5780632b112e491461046c5780632b14ca56146104975780632d3b4047146104c55761029e565b806306fdde03146102a357806308b1fd8f146102ce578063095ea7b3146102f95780630c5b1d93146103365780630cb23d861461035f5780631161ae391461039c5761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8610b01565b6040516102c59190613c17565b60405180910390f35b3480156102da57600080fd5b506102e3610b3e565b6040516102f09190613b43565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b9190613653565b610b64565b60405161032d9190613be1565b60405180910390f35b34801561034257600080fd5b5061035d60048036038101906103589190613613565b610c56565b005b34801561036b57600080fd5b5061038660048036038101906103819190613526565b610cf9565b6040516103939190613be1565b60405180910390f35b3480156103a857600080fd5b506103c360048036038101906103be91906137d2565b610d19565b6040516103d09190613be1565b60405180910390f35b3480156103e557600080fd5b506103ee610d2e565b6040516103fb9190613d59565b60405180910390f35b34801561041057600080fd5b50610419610d38565b6040516104269190613bbf565b60405180910390f35b34801561043b57600080fd5b50610456600480360381019061045191906135c0565b610dc6565b6040516104639190613be1565b60405180910390f35b34801561047857600080fd5b50610481611018565b60405161048e9190613d59565b60405180910390f35b3480156104a357600080fd5b506104ac61104b565b6040516104bc9493929190613dce565b60405180910390f35b3480156104d157600080fd5b506104da611069565b6040516104e79190613b43565b60405180910390f35b3480156104fc57600080fd5b5061051760048036038101906105129190613526565b61108f565b6040516105249190613be1565b60405180910390f35b34801561053957600080fd5b506105426110e8565b60405161054f9190613e13565b60405180910390f35b34801561056457600080fd5b5061056d6110f1565b005b34801561057b57600080fd5b506105846111a8565b6040516105949493929190613dce565b60405180910390f35b3480156105a957600080fd5b506105b26111c6565b005b3480156105c057600080fd5b506105db60048036038101906105d69190613812565b61122b565b005b3480156105e957600080fd5b5061060460048036038101906105ff9190613778565b6112f3565b005b34801561061257600080fd5b5061061b611345565b6040516106289190613be1565b60405180910390f35b34801561063d57600080fd5b50610646611358565b6040516106539190613d59565b60405180910390f35b34801561066857600080fd5b50610683600480360381019061067e9190613812565b61135e565b005b34801561069157600080fd5b5061069a6113f8565b6040516106a79190613d59565b60405180910390f35b3480156106bc57600080fd5b506106c5611405565b6040516106d29190613be1565b60405180910390f35b3480156106e757600080fd5b5061070260048036038101906106fd9190613526565b611418565b60405161070f9190613d59565b60405180910390f35b34801561072457600080fd5b5061072d611461565b005b34801561073b57600080fd5b5061075660048036038101906107519190613526565b611567565b6040516107639190613be1565b60405180910390f35b34801561077857600080fd5b50610781611587565b005b34801561078f57600080fd5b506107aa60048036038101906107a5919061370b565b61160c565b005b3480156107b857600080fd5b506107d360048036038101906107ce9190613526565b611671565b005b3480156107e157600080fd5b506107ea611714565b6040516107f79190613b43565b60405180910390f35b34801561080c57600080fd5b5061082760048036038101906108229190613778565b61173d565b005b34801561083557600080fd5b50610850600480360381019061084b9190613738565b61178f565b005b34801561085e57600080fd5b50610867611816565b6040516108749190613c17565b60405180910390f35b34801561088957600080fd5b506108a4600480360381019061089f9190613693565b611853565b005b3480156108b257600080fd5b506108cd60048036038101906108c89190613526565b611966565b005b3480156108db57600080fd5b506108e4611aa8565b6040516108f19190613b43565b60405180910390f35b34801561090657600080fd5b5061090f611ace565b60405161091c9190613b43565b60405180910390f35b34801561093157600080fd5b5061094c60048036038101906109479190613653565b611af4565b6040516109599190613be1565b60405180910390f35b34801561096e57600080fd5b5061098960048036038101906109849190613812565b611b0b565b005b34801561099757600080fd5b506109a0611ba5565b6040516109ad9190613d59565b60405180910390f35b3480156109c257600080fd5b506109dd60048036038101906109d89190613778565b611bab565b6040516109ea9190613d59565b60405180910390f35b3480156109ff57600080fd5b50610a1a6004803603810190610a159190613580565b611c08565b005b348015610a2857600080fd5b50610a436004803603810190610a3e9190613580565b611cd6565b604051610a509190613d59565b60405180910390f35b348015610a6557600080fd5b50610a6e611d5d565b604051610a7b9190613d59565b60405180910390f35b348015610a9057600080fd5b50610aab6004803603810190610aa69190613526565b611d63565b005b348015610ab957600080fd5b50610ad46004803603810190610acf9190613526565b611e5e565b005b348015610ae257600080fd5b50610aeb611fd3565b604051610af89190613bfc565b60405180910390f35b60606040518060400160405280600c81526020017f4b69626120436c61737369630000000000000000000000000000000000000000815250905090565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c449190613d59565b60405180910390a36001905092915050565b610c5f3361108f565b610c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9590613cb9565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60046020528060005260406000206000915054906101000a900460ff1681565b600082610d2583611bab565b11905092915050565b6000600854905090565b60606010805480602002602001604051908101604052809291908181526020018280548015610dbc57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610d72575b5050505050905090565b600080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610e5557600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146110015782600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f80919061415d565b600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61100c858585611ff9565b60019150509392505050565b60006110246000611418565b61102f61dead611418565b60085461103c919061415d565b611046919061415d565b905090565b60188060000154908060010154908060020154908060030154905084565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6110fa3361108f565b611139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113090613cb9565b60405180910390fd5b600047905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156111a4573d6000803e3d6000fd5b5050565b60148060000154908060010154908060020154908060030154905084565b6111cf3361108f565b61120e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120590613cb9565b60405180910390fd5b6001602060176101000a81548160ff021916908315150217905550565b6112343361108f565b611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a90613cb9565b60405180910390fd5b82600a81905550600a54606460085461128c9190613f61565b6112969190614103565b600d8190555081600b81905550600b5460646008546112b59190613f61565b6112bf9190614103565b600e8190555080600c81905550600c5460646008546112de9190613f61565b6112e89190614103565b600f81905550505050565b6112fc3361108f565b61133b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133290613cb9565b60405180910390fd5b8060138190555050565b602060149054906101000a900460ff1681565b600c5481565b6113673361108f565b6113a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139d90613cb9565b60405180910390fd5b8260186000018190555081601860010181905550806018600201819055506018600201546018600101546018600001546113e09190613f0b565b6113ea9190613f0b565b601860030181905550505050565b6000601080549050905090565b602060189054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61146a3361108f565b6114a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a090613cb9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60026020528060005260406000206000915054906101000a900460ff1681565b60095460066000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000602060186101000a81548160ff021916908315150217905550565b6116153361108f565b611654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164b90613cb9565b60405180910390fd5b80602060146101000a81548160ff02191690831515021790555050565b61167a3361108f565b6116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b090613cb9565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6117463361108f565b611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c90613cb9565b60405180910390fd5b8060128190555050565b6117983361108f565b6117d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ce90613cb9565b60405180910390fd5b81602060186101000a81548160ff021916908315150217905550806103e86008546118029190613f61565b61180c9190614103565b6021819055505050565b60606040518060400160405280600681526020017f244b696261430000000000000000000000000000000000000000000000000000815250905090565b61185c3361108f565b61189b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189290613cb9565b60405180910390fd5b60648251106118df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d690613c79565b60405180910390fd5b60005b8251811015611961576000838281518110611900576118ff614339565b5b6020026020010151905060006012600a61191a9190613fe5565b84848151811061192d5761192c614339565b5b602002602001015161193f9190614103565b905061194c338383611ff9565b5050808061195990614292565b9150506118e2565b505050565b61196f3361108f565b6119ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a590613cb9565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119e99190613b43565b60206040518083038186803b158015611a0157600080fd5b505afa158015611a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3991906137a5565b9050601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611aa3573d6000803e3d6000fd5b505050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611b01338484611ff9565b6001905092915050565b611b143361108f565b611b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4a90613cb9565b60405180910390fd5b826014600001819055508160146001018190555080601460020181905550601460020154601460010154601460000154611b8d9190613f0b565b611b979190613f0b565b601460030181905550505050565b600b5481565b6000611bb5611018565b6002611be2602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611418565b611bec9190614103565b83611bf79190614103565b611c019190613f61565b9050919050565b611c113361108f565b611c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4790613cb9565b60405180910390fd5b81601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b611d6c3361108f565b611dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da290613cb9565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611e673361108f565b611ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9d90613cb9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611f16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0d90613c59565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156120635750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6120a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209990613d19565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690506000600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121e75750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806121fe5750602060159054906101000a900460ff165b90508015612216576122118686866123b2565b6123aa565b602060179054906101000a900460ff1661222f57600080fd5b602060149054906101000a900460ff16156122545761224f8686866124c4565b6123a9565b821561226a5761226586868661264d565b6123a8565b8115612296576122786127d6565b1561228657612285612853565b5b612291868686612981565b6123a7565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561233a5750600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61234357600080fd5b600f548461235087611418565b61235a9190613f0b565b111561239b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239290613cd9565b60405180910390fd5b6123a6868686612b90565b5b5b5b5b505050505050565b6124068382600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612401919061415d565b612bdf565b61245a8282600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124559190613f0b565b612bdf565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124b79190613d59565b60405180910390a3505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561251b57600080fd5b600d54811115612560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255790613c39565b60405180910390fd5b6064600a8261256f9190614103565b6125799190613f61565b6011819055506001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506010829080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612648838383601154612c27565b505050565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126a457600080fd5b600d548111156126e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e090613c39565b60405180910390fd5b600f54816126f684611418565b6127009190613f0b565b1115612741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161273890613cd9565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166127ba576064601460030154826127a59190614103565b6127af9190613f61565b6011819055506127c3565b60006011819055505b6127d1838383601154612c27565b505050565b6000602060169054906101000a900460ff161580156128015750602060189054906101000a900460ff165b801561284e5750602154600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001602060166101000a81548160ff021916908315150217905550600061287930611418565b905060006014600301546018600301546128939190613f0b565b6014600001546018600001546128a99190613f0b565b836128b49190614103565b6128be9190613f61565b9050600081836128ce919061415d565b905060006002836128df9190613f61565b9050600081846128ef919061415d565b905080836128fd9190613f0b565b9450600047905061290d86612e06565b6000814761291b919061415d565b9050600087848361292c9190614103565b6129369190613f61565b9050612942858261302b565b60008347612950919061415d565b905061295b81613143565b5050505050505050506000602060166101000a81548160ff021916908315150217905550565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0590613d39565b60405180910390fd5b600e5481111580612a685750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612abc5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af290613cf9565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612b7457606460186003015482612b5f9190614103565b612b699190613f61565b601181905550612b7d565b60006011819055505b612b8b838383601154612c27565b505050565b606460125482612ba09190614103565b612baa9190613f61565b60118190555060006011541115612bce57612bc9838383601154612c27565b612bda565b612bd98383836123b2565b5b505050565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600060115483612c37919061415d565b9050612c8d8584600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c88919061415d565b612bdf565b612ce13083600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cdc9190613f0b565b612bdf565b612d358482600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d309190613f0b565b612bdf565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d929190613d59565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612df79190613d59565b60405180910390a35050505050565b6000600267ffffffffffffffff811115612e2357612e22614368565b5b604051908082528060200260200182016040528015612e515781602001602082028036833780820191505090505b5090503081600081518110612e6957612e68614339565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612f0b57600080fd5b505afa158015612f1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f439190613553565b81600181518110612f5757612f56614339565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612ff5959493929190613d74565b600060405180830381600087803b15801561300f57600080fd5b505af1158015613023573d6000803e3d6000fd5b505050505050565b6001602060156101000a81548160ff021916908315150217905550601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016130cf96959493929190613b5e565b6060604051808303818588803b1580156130e857600080fd5b505af11580156130fc573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131219190613865565b5050506000602060156101000a81548160ff0219169083151502179055505050565b600060186002015460146002015461315b9190613f0b565b905060006018600101546014600101546131759190613f0b565b9050600081836131859190613f0b565b905060008184866131969190614103565b6131a09190613f61565b905060008284876131b19190614103565b6131bb9190613f61565b9050600081111561329b576000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161321290613b2e565b600060405180830381858888f193505050503d8060008114613250576040519150601f19603f3d011682016040523d82523d6000602084013e613255565b606091505b5050905080613299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329090613c99565b60405180910390fd5b505b6000821115613379576000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683617530906040516132f090613b2e565b600060405180830381858888f193505050503d806000811461332e576040519150601f19603f3d011682016040523d82523d6000602084013e613333565b606091505b5050905080613377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336e90613c99565b60405180910390fd5b505b505050505050565b600061339461338f84613e53565b613e2e565b905080838252602082019050828560208602820111156133b7576133b661439c565b5b60005b858110156133e757816133cd8882613461565b8452602084019350602083019250506001810190506133ba565b5050509392505050565b60006134046133ff84613e7f565b613e2e565b905080838252602082019050828560208602820111156134275761342661439c565b5b60005b85811015613457578161343d88826134fc565b84526020840193506020830192505060018101905061342a565b5050509392505050565b60008135905061347081614589565b92915050565b60008151905061348581614589565b92915050565b600082601f8301126134a05761349f614397565b5b81356134b0848260208601613381565b91505092915050565b600082601f8301126134ce576134cd614397565b5b81356134de8482602086016133f1565b91505092915050565b6000813590506134f6816145a0565b92915050565b60008135905061350b816145b7565b92915050565b600081519050613520816145b7565b92915050565b60006020828403121561353c5761353b6143a6565b5b600061354a84828501613461565b91505092915050565b600060208284031215613569576135686143a6565b5b600061357784828501613476565b91505092915050565b60008060408385031215613597576135966143a6565b5b60006135a585828601613461565b92505060206135b685828601613461565b9150509250929050565b6000806000606084860312156135d9576135d86143a6565b5b60006135e786828701613461565b93505060206135f886828701613461565b9250506040613609868287016134fc565b9150509250925092565b6000806040838503121561362a576136296143a6565b5b600061363885828601613461565b9250506020613649858286016134e7565b9150509250929050565b6000806040838503121561366a576136696143a6565b5b600061367885828601613461565b9250506020613689858286016134fc565b9150509250929050565b600080604083850312156136aa576136a96143a6565b5b600083013567ffffffffffffffff8111156136c8576136c76143a1565b5b6136d48582860161348b565b925050602083013567ffffffffffffffff8111156136f5576136f46143a1565b5b613701858286016134b9565b9150509250929050565b600060208284031215613721576137206143a6565b5b600061372f848285016134e7565b91505092915050565b6000806040838503121561374f5761374e6143a6565b5b600061375d858286016134e7565b925050602061376e858286016134fc565b9150509250929050565b60006020828403121561378e5761378d6143a6565b5b600061379c848285016134fc565b91505092915050565b6000602082840312156137bb576137ba6143a6565b5b60006137c984828501613511565b91505092915050565b600080604083850312156137e9576137e86143a6565b5b60006137f7858286016134fc565b9250506020613808858286016134fc565b9150509250929050565b60008060006060848603121561382b5761382a6143a6565b5b6000613839868287016134fc565b935050602061384a868287016134fc565b925050604061385b868287016134fc565b9150509250925092565b60008060006060848603121561387e5761387d6143a6565b5b600061388c86828701613511565b935050602061389d86828701613511565b92505060406138ae86828701613511565b9150509250925092565b60006138c483836138d0565b60208301905092915050565b6138d981614191565b82525050565b6138e881614191565b82525050565b60006138f982613ebb565b6139038185613ede565b935061390e83613eab565b8060005b8381101561393f57815161392688826138b8565b975061393183613ed1565b925050600181019050613912565b5085935050505092915050565b613955816141a3565b82525050565b613964816141e6565b82525050565b613973816141f8565b82525050565b600061398482613ec6565b61398e8185613efa565b935061399e81856020860161422e565b6139a7816143ab565b840191505092915050565b60006139bf601183613efa565b91506139ca826143c9565b602082019050919050565b60006139e2602683613efa565b91506139ed826143f2565b604082019050919050565b6000613a05603683613efa565b9150613a1082614441565b604082019050919050565b6000613a28601e83613efa565b9150613a3382614490565b602082019050919050565b6000613a4b601683613efa565b9150613a56826144b9565b602082019050919050565b6000613a6e602083613efa565b9150613a79826144e2565b602082019050919050565b6000613a91600f83613efa565b9150613a9c8261450b565b602082019050919050565b6000613ab4600083613eef565b9150613abf82614534565b600082019050919050565b6000613ad7601583613efa565b9150613ae282614537565b602082019050919050565b6000613afa600b83613efa565b9150613b0582614560565b602082019050919050565b613b19816141cf565b82525050565b613b28816141d9565b82525050565b6000613b3982613aa7565b9150819050919050565b6000602082019050613b5860008301846138df565b92915050565b600060c082019050613b7360008301896138df565b613b806020830188613b10565b613b8d604083018761396a565b613b9a606083018661396a565b613ba760808301856138df565b613bb460a0830184613b10565b979650505050505050565b60006020820190508181036000830152613bd981846138ee565b905092915050565b6000602082019050613bf6600083018461394c565b92915050565b6000602082019050613c11600083018461395b565b92915050565b60006020820190508181036000830152613c318184613979565b905092915050565b60006020820190508181036000830152613c52816139b2565b9050919050565b60006020820190508181036000830152613c72816139d5565b9050919050565b60006020820190508181036000830152613c92816139f8565b9050919050565b60006020820190508181036000830152613cb281613a1b565b9050919050565b60006020820190508181036000830152613cd281613a3e565b9050919050565b60006020820190508181036000830152613cf281613a61565b9050919050565b60006020820190508181036000830152613d1281613a84565b9050919050565b60006020820190508181036000830152613d3281613aca565b9050919050565b60006020820190508181036000830152613d5281613aed565b9050919050565b6000602082019050613d6e6000830184613b10565b92915050565b600060a082019050613d896000830188613b10565b613d96602083018761396a565b8181036040830152613da881866138ee565b9050613db760608301856138df565b613dc46080830184613b10565b9695505050505050565b6000608082019050613de36000830187613b10565b613df06020830186613b10565b613dfd6040830185613b10565b613e0a6060830184613b10565b95945050505050565b6000602082019050613e286000830184613b1f565b92915050565b6000613e38613e49565b9050613e448282614261565b919050565b6000604051905090565b600067ffffffffffffffff821115613e6e57613e6d614368565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613e9a57613e99614368565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613f16826141cf565b9150613f21836141cf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f5657613f556142db565b5b828201905092915050565b6000613f6c826141cf565b9150613f77836141cf565b925082613f8757613f8661430a565b5b828204905092915050565b6000808291508390505b6001851115613fdc57808604811115613fb857613fb76142db565b5b6001851615613fc75780820291505b8081029050613fd5856143bc565b9450613f9c565b94509492505050565b6000613ff0826141cf565b9150613ffb836141d9565b92506140287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614030565b905092915050565b60008261404057600190506140fc565b8161404e57600090506140fc565b8160018114614064576002811461406e5761409d565b60019150506140fc565b60ff8411156140805761407f6142db565b5b8360020a915084821115614097576140966142db565b5b506140fc565b5060208310610133831016604e8410600b84101617156140d25782820a9050838111156140cd576140cc6142db565b5b6140fc565b6140df8484846001613f92565b925090508184048111156140f6576140f56142db565b5b81810290505b9392505050565b600061410e826141cf565b9150614119836141cf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614152576141516142db565b5b828202905092915050565b6000614168826141cf565b9150614173836141cf565b925082821015614186576141856142db565b5b828203905092915050565b600061419c826141af565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006141f18261420a565b9050919050565b6000614203826141cf565b9050919050565b60006142158261421c565b9050919050565b6000614227826141af565b9050919050565b60005b8381101561424c578082015181840152602081019050614231565b8381111561425b576000848401525b50505050565b61426a826143ab565b810181811067ffffffffffffffff8211171561428957614288614368565b5b80604052505050565b600061429d826141cf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156142d0576142cf6142db565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f4275792065786365656473206c696d6974000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f43616e206f6e6c792061697264726f70203130302077616c6c6574732070657260008201527f2074786e2064756520746f20676173206c696d69747300000000000000000000602082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f21594f5520415245204e4f5420544845204f574e455200000000000000000000600082015250565b7f546f74616c20616d6f756e74206578636565642077616c6c6574206c696d6974600082015250565b7f4d41582054582045584345454445440000000000000000000000000000000000600082015250565b50565b7f43616e6e6f7420626520616464726573732830292e0000000000000000000000600082015250565b7f424c41434b4c4953544544000000000000000000000000000000000000000000600082015250565b61459281614191565b811461459d57600080fd5b50565b6145a9816141a3565b81146145b457600080fd5b50565b6145c0816141cf565b81146145cb57600080fd5b5056fea2646970667358221220623b7b53d6fa02b73bd14d1ca5856894d0d6b42303fd971d9ccbe6bb0bb3f80564736f6c63430008070033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000d5e03b80732406fafef6e227493a4f078f3103b7

-----Decoded View---------------
Arg [0] : _treasuryReceiver (address): 0xd5E03b80732406FAfEF6E227493A4F078f3103b7

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d5e03b80732406fafef6e227493a4f078f3103b7


Deployed Bytecode Sourcemap

4289:16553:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19571:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6051:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19991:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9064:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4461:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12716:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19301:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12326:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20388:451;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12182:136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5741:22;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;5796:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2230:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19395:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11678:171;;;;;;;;;;;;;:::i;:::-;;5714:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;8936:120;;;;;;;;;;;;;:::i;:::-;;8454:474;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9416:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6218:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5091;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10009:356;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12433:103;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6443:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19741:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2591:146;;;;;;;;;;;;;:::i;:::-;;4358:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11199:108;;;;;;;;;;;;;:::i;:::-;;11567:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11313:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19657:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10432:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9202:206;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19481:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10741:452;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11857:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6089:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6161:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20215:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9594:348;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5058:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12544:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10559:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19851:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5026:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11421:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2341:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6130:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19571:80;19619:13;19643:5;;;;;;;;;;;;;;;;;19636:12;;19571:80;:::o;6051:31::-;;;;;;;;;;;;;:::o;19991:216::-;20066:4;20118:6;20083:11;:23;20095:10;20083:23;;;;;;;;;;;;;;;:32;20107:7;20083:32;;;;;;;;;;;;;;;:41;;;;20161:7;20140:37;;20149:10;20140:37;;;20170:6;20140:37;;;;;;:::i;:::-;;;;;;;;20195:4;20188:11;;19991:216;;;;:::o;9064:130::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9179:7:::1;9157:12;:19;9170:5;9157:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;9064:130:::0;;:::o;4461:54::-;;;;;;;;;;;;;;;;;;;;;;:::o;12716:150::-;12796:4;12852:6;12820:29;12840:8;12820:19;:29::i;:::-;:38;12813:45;;12716:150;;;;:::o;19301:88::-;19356:7;19374:12;;19367:19;;19301:88;:::o;12326:99::-;12372:16;12407:10;12400:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12326:99;:::o;20388:451::-;20486:4;20503:18;20524:11;:19;20536:6;20524:19;;;;;;;;;;;;;;;:31;20544:10;20524:31;;;;;;;;;;;;;;;;20503:52;;20588:6;20574:10;:20;;20566:29;;;;;;20647:17;20612:11;:19;20624:6;20612:19;;;;;;;;;;;;;;;:31;20632:10;20612:31;;;;;;;;;;;;;;;;:52;20608:155;;20745:6;20711:11;:19;20723:6;20711:19;;;;;;;;;;;;;;;:31;20731:10;20711:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;20677:11;:19;20689:6;20677:19;;;;;;;;;;;;;;;:31;20697:10;20677:31;;;;;;;;;;;;;;;:74;;;;20608:155;20773:36;20783:6;20791:9;20802:6;20773:9;:36::i;:::-;20827:4;20820:11;;;20388:451;;;;;:::o;12182:136::-;12235:7;12295:15;6000:42;12295:9;:15::i;:::-;12277;5919:42;12277:9;:15::i;:::-;12262:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;12255:55;;12182:136;:::o;5741:22::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5796:82::-;;;;;;;;;;;;;:::o;2230:103::-;2285:4;2320:5;;;;;;;;;;;2309:16;;:7;:16;;;2302:23;;2230:103;;;:::o;19395:80::-;19447:5;4853:2;19456:16;;19395:80;:::o;11678:171::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11737:26:::1;11766:21;11737:50;;11806:5;::::0;::::1;;;;;;;;11798:23;;:43;11822:18;11798:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11726:123;11678:171::o:0;5714:20::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;8936:120::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9044:4:::1;9013:28;;:35;;;;;;;;;;;;;;;;;;8936:120::o:0;8454:474::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;8612:17:::1;8593:16;:36;;;;8676:16;;8670:3;8656:12;;:17;;;;:::i;:::-;:36;;;;:::i;:::-;8641:12;:51;;;;8723:18;8703:17;:38;;;;8787:17;;8781:3;8767:12;;:17;;;;:::i;:::-;:37;;;;:::i;:::-;8751:13;:53;;;;8836:20;8815:19;:41;;;;8901:19;;8895:3;8881:12;;:17;;;;:::i;:::-;:39;;;;:::i;:::-;8863:15;:57;;;;8454:474:::0;;;:::o;9416:111::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9513:6:::1;9495:15;:24;;;;9416:111:::0;:::o;6218:34::-;;;;;;;;;;;;;:::o;5091:::-;;;;:::o;10009:356::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10160:13:::1;10137:7;:20;;:36;;;;10206:12;10184:7;:19;;:34;;;;10252:13;10229:7;:20;;:36;;;;10337:7;:20;;;10315:7;:19;;;10292:7;:20;;;:42;;;;:::i;:::-;:65;;;;:::i;:::-;10276:7;:13;;:81;;;;10009:356:::0;;;:::o;12433:103::-;12485:7;12511:10;:17;;;;12504:24;;12433:103;:::o;6443:30::-;;;;;;;;;;;;;:::o;19741:104::-;19807:7;19825:9;:18;19835:7;19825:18;;;;;;;;;;;;;;;;19818:25;;19741:104;;;:::o;2591:146::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2697:1:::1;2661:39;;2682:5;::::0;::::1;;;;;;;;2661:39;;;;;;;;;;;;2727:1;2711:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2591:146::o:0;4358:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;11199:108::-;11261:17;;11231:9;:27;11241:16;;;;;;;;;;;11231:27;;;;;;;;;;;;;;;:47;;;;11294:5;11280:11;;:19;;;;;;;;;;;;;;;;;;11199:108::o;11567:103::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11657:5:::1;11640:14;;:22;;;;;;;;;;;;;;;;;;11567:103:::0;:::o;11313:100::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11400:5:::1;11377:12;:20;11390:6;11377:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;11313:100:::0;:::o;19657:78::-;19709:7;19727:5;;;;;;;;;;;19720:12;;19657:78;:::o;10432:119::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10531:12:::1;10517:11;:26;;;;10432:119:::0;:::o;9202:206::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9324:8:::1;9310:11;;:22;;;;;;;;;;;;;;;;;;9381:19;9374:4;9359:12;;:19;;;;:::i;:::-;:41;;;;:::i;:::-;9343:13;:57;;;;9202:206:::0;;:::o;19481:84::-;19531:13;19555:7;;;;;;;;;;;;;;;;;19548:14;;19481:84;:::o;10741:452::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10890:3:::1;10866:14;:21;:27;10858:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;10967:9;10963:223;10986:14;:21;10982:1;:25;10963:223;;;11028:14;11045;11060:1;11045:17;;;;;;;;:::i;:::-;;;;;;;;11028:34;;11077:14;4853:2;11108;:13;;;;:::i;:::-;11095:7;11103:1;11095:10;;;;;;;;:::i;:::-;;;;;;;;:26;;;;:::i;:::-;11077:45;;11137:37;11147:10;11159:6;11167;11137:9;:37::i;:::-;11013:173;;11009:3;;;;;:::i;:::-;;;;10963:223;;;;10741:452:::0;;:::o;11857:205::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11926:24:::1;11959:6;11953:23;;;11985:4;11953:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11926:65;;12010:16;;;;;;;;;;;12002:34;;:52;12037:16;12002:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;11915:147;11857:205:::0;:::o;6089:32::-;;;;;;;;;;;;;:::o;6161:19::-;;;;;;;;;;;;;:::o;20215:165::-;20293:4;20310:40;20320:10;20332:9;20343:6;20310:9;:40::i;:::-;20368:4;20361:11;;20215:165;;;;:::o;9594:348::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;9743:13:::1;9721:6;:19;;:35;;;;9788:12;9767:6;:18;;:33;;;;9833:13;9811:6;:19;;:35;;;;9915:6;:19;;;9894:6;:18;;;9872:6;:19;;;:40;;;;:::i;:::-;:62;;;;:::i;:::-;9857:6;:12;;:77;;;;9594:348:::0;;;:::o;5058:32::-;;;;:::o;12544:164::-;12612:7;12677:22;:20;:22::i;:::-;12670:1;12651:15;12661:4;;;;;;;;;;;12651:9;:15::i;:::-;:21;;;;:::i;:::-;12639:8;:34;;;;:::i;:::-;:61;;;;:::i;:::-;12632:68;;12544:164;;;:::o;10559:174::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;10675:9:::1;10656:16;;:28;;;;;;;;;;;;;;;;;;10715:10;10695:17;;:30;;;;;;;;;;;;;;;;;;10559:174:::0;;:::o;19851:132::-;19935:7;19953:11;:19;19965:6;19953:19;;;;;;;;;;;;;;;:28;19973:7;19953:28;;;;;;;;;;;;;;;;19946:35;;19851:132;;;;:::o;5026:31::-;;;;:::o;11421:138::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;11520:4:::1;11489:22;:30;11512:6;11489:30;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;11547:4;11526:12;:20;11539:6;11526:20;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;11421:138:::0;:::o;2341:242::-;2165:19;2173:10;2165:7;:19::i;:::-;2157:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;2450:1:::1;2430:22;;:8;:22;;;;2422:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2539:8;2511:37;;2532:5;::::0;::::1;;;;;;;;2511:37;;;;;;;;;;;;2567:8;2559:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;2341:242:::0;:::o;6130:24::-;;;;;;;;;;;;;:::o;12990:1216::-;13101:1;13085:18;;:6;:18;;;;:41;;;;;13124:1;13105:21;;:9;:21;;;;13085:41;13077:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13164:10;13175:22;:30;13198:6;13175:30;;;;;;;;;;;;;;;;;;;;;;;;;13164:41;;13216:11;13228:22;:33;13251:9;13228:33;;;;;;;;;;;;;;;;;;;;;;;;;13216:45;;13272:15;13288:12;:20;13301:6;13288:20;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;13310:12;:23;13323:9;13310:23;;;;;;;;;;;;;;;;;;;;;;;;;13288:45;:56;;;;13335:9;;;;;;;;;;;13288:56;13272:72;;13360:10;13357:842;;;13372:42;13390:6;13397:9;13407:6;13372:17;:42::i;:::-;13357:842;;;13441:28;;;;;;;;;;;13433:37;;;;;;13523:14;;;;;;;;;;;13520:668;;;13538:39;13553:6;13560:9;13570:6;13538:14;:39::i;:::-;13520:668;;;13627:5;13624:564;;;13633:35;13644:6;13651:9;13661:6;13633:10;:35::i;:::-;13624:564;;;13719:6;13716:472;;;13787:16;:14;:16::i;:::-;13783:35;;;13806:10;:8;:10::i;:::-;13783:35;13838:36;13850:6;13857:9;13867:6;13838:11;:36::i;:::-;13716:472;;;13961:12;:20;13974:6;13961:20;;;;;;;;;;;;;;;;;;;;;;;;;13960:21;:47;;;;;13984:12;:23;13997:9;13984:23;;;;;;;;;;;;;;;;;;;;;;;;;13983:24;13960:47;13952:56;;;;;;14064:15;;14056:6;14035:20;14045:9;14035;:20::i;:::-;:27;;;;:::i;:::-;:44;;14027:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;14135:37;14148:6;14155:9;14165:6;14135:12;:37::i;:::-;13716:472;13624:564;13520:668;13357:842;13066:1140;;;12990:1216;;;:::o;15768:263::-;15863:47;15878:6;15903;15885:9;:17;15895:6;15885:17;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;15863:14;:47::i;:::-;15921:53;15936:9;15967:6;15946:9;:20;15956:9;15946:20;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;15921:14;:53::i;:::-;16006:9;15990:33;;15999:6;15990:33;;;16016:6;15990:33;;;;;;:::i;:::-;;;;;;;;15768:263;;;:::o;14214:369::-;14315:12;:23;14328:9;14315:23;;;;;;;;;;;;;;;;;;;;;;;;;14314:24;14306:33;;;;;;14368:12;;14358:6;:22;;14350:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;14425:3;14422:2;14415:6;:9;;;;:::i;:::-;:13;;;;:::i;:::-;14404:8;:24;;;;14463:4;14439:12;:23;14452:9;14439:23;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;14478:10;14502:9;14478:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14524:51;14542:6;14549:9;14559:6;14566:8;;14524:17;:51::i;:::-;14214:369;;;:::o;14591:448::-;14688:12;:23;14701:9;14688:23;;;;;;;;;;;;;;;;;;;;;;;;;14687:24;14679:33;;;;;;14741:12;;14731:6;:22;;14723:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;14823:15;;14815:6;14794:20;14804:9;14794;:20::i;:::-;:27;;;;:::i;:::-;:44;;14786:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;14890:12;:23;14903:9;14890:23;;;;;;;;;;;;;;;;;;;;;;;;;14886:83;;14946:3;14933:6;:12;;;14926:6;:19;;;;:::i;:::-;:23;;;;:::i;:::-;14915:8;:34;;;;14886:83;;;14968:1;14957:8;:12;;;;14886:83;14980:51;14998:6;15005:9;15015:6;15022:8;;14980:17;:51::i;:::-;14591:448;;;:::o;16637:174::-;16685:4;16719:6;;;;;;;;;;;16718:7;:31;;;;;16738:11;;;;;;;;;;;16718:31;:85;;;;;16790:13;;16762:9;:24;16780:4;16762:24;;;;;;;;;;;;;;;;:41;;16718:85;16702:101;;16637:174;:::o;16819:726::-;6580:4;6571:6;;:13;;;;;;;;;;;;;;;;;;16867:14:::1;16884:24;16902:4;16884:9;:24::i;:::-;16867:41;;16919:21;17010:6;:12;;;16994:7;:13;;;:28;;;;:::i;:::-;16972:6;:19;;;16949:7;:20;;;:42;;;;:::i;:::-;16941:6;:51;;;;:::i;:::-;:82;;;;:::i;:::-;16919:104;;17034:18;17060:13;17053:6;:20;;;;:::i;:::-;17034:39;;17084:16;17115:1;17101:13;:15;;;;:::i;:::-;17084:32;;17127:19;17161:8;17147:13;:22;;;;:::i;:::-;17127:42;;17198:11;17187:10;:22;;;;:::i;:::-;17180:29;;17220:14;17235:21;17220:36;;17267:25;17285:6;17267:17;:25::i;:::-;17303:14;17340:6;17318:21;:28;;;;:::i;:::-;17303:43;;17357:13;17392:6;17379:11;17372:6;:18;;;;:::i;:::-;17371:27;;;;:::i;:::-;17357:41;;17409:29;17423:8;17432:5;17409:13;:29::i;:::-;17449:20;17492:6;17470:21;:28;;;;:::i;:::-;17449:49;;17509:28;17524:12;17509:14;:28::i;:::-;16856:689;;;;;;;;;6616:5:::0;6607:6;;:14;;;;;;;;;;;;;;;;;;16819:726::o;15045:432::-;15143:12;:20;15156:6;15143:20;;;;;;;;;;;;;;;;;;;;;;;;;15142:21;15134:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;15208:13;;15198:6;:23;;:47;;;;15225:12;:20;15238:6;15225:20;;;;;;;;;;;;;;;;;;;;;;;;;15198:47;:74;;;;15249:12;:23;15262:9;15249:23;;;;;;;;;;;;;;;;;;;;;;;;;15198:74;15190:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;15307:12;:20;15320:6;15307:20;;;;;;;;;;;;;;;;;;;;;;;;;15303:104;;15375:3;15361:7;:13;;;15354:6;:20;;;;:::i;:::-;:24;;;;:::i;:::-;15343:8;:35;;;;15303:104;;;15406:1;15395:8;:12;;;;15303:104;15418:51;15436:6;15443:9;15453:6;15460:8;;15418:17;:51::i;:::-;15045:432;;;:::o;15485:275::-;15607:3;15595:11;;15586:6;:20;;;;:::i;:::-;:24;;;;:::i;:::-;15575:8;:35;;;;15636:1;15625:8;;:12;15621:132;;;15640:51;15658:6;15665:9;15675:6;15682:8;;15640:17;:51::i;:::-;15621:132;;;15709:42;15727:6;15734:9;15744:6;15709:17;:42::i;:::-;15621:132;15485:275;;;:::o;16511:118::-;16611:10;16590:9;:18;16600:7;16590:18;;;;;;;;;;;;;;;:31;;;;16511:118;;:::o;16039:464::-;16152:17;16179:8;;16172:6;:15;;;;:::i;:::-;16152:35;;16198:47;16213:6;16238;16220:9;:17;16230:6;16220:17;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;16198:14;:47::i;:::-;16256:64;16279:4;16310:9;16285;:24;16303:4;16285:24;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;16256:14;:64::i;:::-;16331:56;16346:9;16377;16356;:20;16366:9;16356:20;;;;;;;;;;;;;;;;:30;;;;:::i;:::-;16331:14;:56::i;:::-;16419:9;16403:36;;16412:6;16403:36;;;16429:9;16403:36;;;;;;:::i;:::-;;;;;;;;16479:4;16455:40;;16464:6;16455:40;;;16485:9;16455:40;;;;;;:::i;:::-;;;;;;;;16141:362;16039:464;;;;:::o;18503:369::-;18565:21;18601:1;18587:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18565:38;;18632:4;18614;18619:1;18614:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18658:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18648:4;18653:1;18648:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18682:6;;;;;;;;;;;:57;;;18754:6;18775:1;18791:4;18818;18838:15;18682:182;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18554:318;18503:369;:::o;18880:340::-;18972:4;18962:9;;:14;;;;;;;;;;;;;;;;;;18987:6;;;;;;;;;;;:22;;;19017:9;19050:4;19070:12;19097:1;19113;19129:16;;;;;;;;;;;19160:15;18987:199;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19207:5;19197:9;;:15;;;;;;;;;;;;;;;;;;18880:340;;:::o;17553:942::-;17618:20;17664:7;:20;;;17642:6;:19;;;:42;;;;:::i;:::-;17618:67;;17696:19;17740:7;:19;;;17719:6;:18;;;:40;;;;:::i;:::-;17696:64;;17771:16;17806:11;17791:12;:26;;;;:::i;:::-;17771:47;;17831:26;17893:8;17876:12;17860;:29;;;;:::i;:::-;:42;;;;:::i;:::-;17831:71;;17913:25;17973:8;17957:11;17941:12;:28;;;;:::i;:::-;:41;;;;:::i;:::-;17913:69;;18018:1;17998:17;:21;17995:238;;;18036:20;18093:16;;;;;;;;;;;18085:30;;18123:17;18147:5;18085:72;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18035:122;;;18180:15;18172:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;18020:213;17995:238;18269:1;18248:18;:22;18245:243;;;18287:21;18345:17;;;;;;;;;;;18337:31;;18376:18;18401:5;18337:74;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18286:125;;;18434:16;18426:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;18271:217;18245:243;17607:888;;;;;17553:942;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;769:::-;865:5;890:81;906:64;963:6;906:64;:::i;:::-;890:81;:::i;:::-;881:90;;991:5;1020:6;1013:5;1006:21;1054:4;1047:5;1043:16;1036:23;;1080:6;1130:3;1122:4;1114:6;1110:17;1105:3;1101:27;1098:36;1095:143;;;1149:79;;:::i;:::-;1095:143;1262:1;1247:238;1272:6;1269:1;1266:13;1247:238;;;1340:3;1369:37;1402:3;1390:10;1369:37;:::i;:::-;1364:3;1357:50;1436:4;1431:3;1427:14;1420:21;;1470:4;1465:3;1461:14;1454:21;;1307:178;1294:1;1291;1287:9;1282:14;;1247:238;;;1251:14;871:620;;769:722;;;;;:::o;1497:139::-;1543:5;1581:6;1568:20;1559:29;;1597:33;1624:5;1597:33;:::i;:::-;1497:139;;;;:::o;1642:143::-;1699:5;1730:6;1724:13;1715:22;;1746:33;1773:5;1746:33;:::i;:::-;1642:143;;;;:::o;1808:370::-;1879:5;1928:3;1921:4;1913:6;1909:17;1905:27;1895:122;;1936:79;;:::i;:::-;1895:122;2053:6;2040:20;2078:94;2168:3;2160:6;2153:4;2145:6;2141:17;2078:94;:::i;:::-;2069:103;;1885:293;1808:370;;;;:::o;2201:::-;2272:5;2321:3;2314:4;2306:6;2302:17;2298:27;2288:122;;2329:79;;:::i;:::-;2288:122;2446:6;2433:20;2471:94;2561:3;2553:6;2546:4;2538:6;2534:17;2471:94;:::i;:::-;2462:103;;2278:293;2201:370;;;;:::o;2577:133::-;2620:5;2658:6;2645:20;2636:29;;2674:30;2698:5;2674:30;:::i;:::-;2577:133;;;;:::o;2716:139::-;2762:5;2800:6;2787:20;2778:29;;2816:33;2843:5;2816:33;:::i;:::-;2716:139;;;;:::o;2861:143::-;2918:5;2949:6;2943:13;2934:22;;2965:33;2992:5;2965:33;:::i;:::-;2861:143;;;;:::o;3010:329::-;3069:6;3118:2;3106:9;3097:7;3093:23;3089:32;3086:119;;;3124:79;;:::i;:::-;3086:119;3244:1;3269:53;3314:7;3305:6;3294:9;3290:22;3269:53;:::i;:::-;3259:63;;3215:117;3010:329;;;;:::o;3345:351::-;3415:6;3464:2;3452:9;3443:7;3439:23;3435:32;3432:119;;;3470:79;;:::i;:::-;3432:119;3590:1;3615:64;3671:7;3662:6;3651:9;3647:22;3615:64;:::i;:::-;3605:74;;3561:128;3345:351;;;;:::o;3702:474::-;3770:6;3778;3827:2;3815:9;3806:7;3802:23;3798:32;3795:119;;;3833:79;;:::i;:::-;3795:119;3953:1;3978:53;4023:7;4014:6;4003:9;3999:22;3978:53;:::i;:::-;3968:63;;3924:117;4080:2;4106:53;4151:7;4142:6;4131:9;4127:22;4106:53;:::i;:::-;4096:63;;4051:118;3702:474;;;;;:::o;4182:619::-;4259:6;4267;4275;4324:2;4312:9;4303:7;4299:23;4295:32;4292:119;;;4330:79;;:::i;:::-;4292:119;4450:1;4475:53;4520:7;4511:6;4500:9;4496:22;4475:53;:::i;:::-;4465:63;;4421:117;4577:2;4603:53;4648:7;4639:6;4628:9;4624:22;4603:53;:::i;:::-;4593:63;;4548:118;4705:2;4731:53;4776:7;4767:6;4756:9;4752:22;4731:53;:::i;:::-;4721:63;;4676:118;4182:619;;;;;:::o;4807:468::-;4872:6;4880;4929:2;4917:9;4908:7;4904:23;4900:32;4897:119;;;4935:79;;:::i;:::-;4897:119;5055:1;5080:53;5125:7;5116:6;5105:9;5101:22;5080:53;:::i;:::-;5070:63;;5026:117;5182:2;5208:50;5250:7;5241:6;5230:9;5226:22;5208:50;:::i;:::-;5198:60;;5153:115;4807:468;;;;;:::o;5281:474::-;5349:6;5357;5406:2;5394:9;5385:7;5381:23;5377:32;5374:119;;;5412:79;;:::i;:::-;5374:119;5532:1;5557:53;5602:7;5593:6;5582:9;5578:22;5557:53;:::i;:::-;5547:63;;5503:117;5659:2;5685:53;5730:7;5721:6;5710:9;5706:22;5685:53;:::i;:::-;5675:63;;5630:118;5281:474;;;;;:::o;5761:894::-;5879:6;5887;5936:2;5924:9;5915:7;5911:23;5907:32;5904:119;;;5942:79;;:::i;:::-;5904:119;6090:1;6079:9;6075:17;6062:31;6120:18;6112:6;6109:30;6106:117;;;6142:79;;:::i;:::-;6106:117;6247:78;6317:7;6308:6;6297:9;6293:22;6247:78;:::i;:::-;6237:88;;6033:302;6402:2;6391:9;6387:18;6374:32;6433:18;6425:6;6422:30;6419:117;;;6455:79;;:::i;:::-;6419:117;6560:78;6630:7;6621:6;6610:9;6606:22;6560:78;:::i;:::-;6550:88;;6345:303;5761:894;;;;;:::o;6661:323::-;6717:6;6766:2;6754:9;6745:7;6741:23;6737:32;6734:119;;;6772:79;;:::i;:::-;6734:119;6892:1;6917:50;6959:7;6950:6;6939:9;6935:22;6917:50;:::i;:::-;6907:60;;6863:114;6661:323;;;;:::o;6990:468::-;7055:6;7063;7112:2;7100:9;7091:7;7087:23;7083:32;7080:119;;;7118:79;;:::i;:::-;7080:119;7238:1;7263:50;7305:7;7296:6;7285:9;7281:22;7263:50;:::i;:::-;7253:60;;7209:114;7362:2;7388:53;7433:7;7424:6;7413:9;7409:22;7388:53;:::i;:::-;7378:63;;7333:118;6990:468;;;;;:::o;7464:329::-;7523:6;7572:2;7560:9;7551:7;7547:23;7543:32;7540:119;;;7578:79;;:::i;:::-;7540:119;7698:1;7723:53;7768:7;7759:6;7748:9;7744:22;7723:53;:::i;:::-;7713:63;;7669:117;7464:329;;;;:::o;7799:351::-;7869:6;7918:2;7906:9;7897:7;7893:23;7889:32;7886:119;;;7924:79;;:::i;:::-;7886:119;8044:1;8069:64;8125:7;8116:6;8105:9;8101:22;8069:64;:::i;:::-;8059:74;;8015:128;7799:351;;;;:::o;8156:474::-;8224:6;8232;8281:2;8269:9;8260:7;8256:23;8252:32;8249:119;;;8287:79;;:::i;:::-;8249:119;8407:1;8432:53;8477:7;8468:6;8457:9;8453:22;8432:53;:::i;:::-;8422:63;;8378:117;8534:2;8560:53;8605:7;8596:6;8585:9;8581:22;8560:53;:::i;:::-;8550:63;;8505:118;8156:474;;;;;:::o;8636:619::-;8713:6;8721;8729;8778:2;8766:9;8757:7;8753:23;8749:32;8746:119;;;8784:79;;:::i;:::-;8746:119;8904:1;8929:53;8974:7;8965:6;8954:9;8950:22;8929:53;:::i;:::-;8919:63;;8875:117;9031:2;9057:53;9102:7;9093:6;9082:9;9078:22;9057:53;:::i;:::-;9047:63;;9002:118;9159:2;9185:53;9230:7;9221:6;9210:9;9206:22;9185:53;:::i;:::-;9175:63;;9130:118;8636:619;;;;;:::o;9261:663::-;9349:6;9357;9365;9414:2;9402:9;9393:7;9389:23;9385:32;9382:119;;;9420:79;;:::i;:::-;9382:119;9540:1;9565:64;9621:7;9612:6;9601:9;9597:22;9565:64;:::i;:::-;9555:74;;9511:128;9678:2;9704:64;9760:7;9751:6;9740:9;9736:22;9704:64;:::i;:::-;9694:74;;9649:129;9817:2;9843:64;9899:7;9890:6;9879:9;9875:22;9843:64;:::i;:::-;9833:74;;9788:129;9261:663;;;;;:::o;9930:179::-;9999:10;10020:46;10062:3;10054:6;10020:46;:::i;:::-;10098:4;10093:3;10089:14;10075:28;;9930:179;;;;:::o;10115:108::-;10192:24;10210:5;10192:24;:::i;:::-;10187:3;10180:37;10115:108;;:::o;10229:118::-;10316:24;10334:5;10316:24;:::i;:::-;10311:3;10304:37;10229:118;;:::o;10383:732::-;10502:3;10531:54;10579:5;10531:54;:::i;:::-;10601:86;10680:6;10675:3;10601:86;:::i;:::-;10594:93;;10711:56;10761:5;10711:56;:::i;:::-;10790:7;10821:1;10806:284;10831:6;10828:1;10825:13;10806:284;;;10907:6;10901:13;10934:63;10993:3;10978:13;10934:63;:::i;:::-;10927:70;;11020:60;11073:6;11020:60;:::i;:::-;11010:70;;10866:224;10853:1;10850;10846:9;10841:14;;10806:284;;;10810:14;11106:3;11099:10;;10507:608;;;10383:732;;;;:::o;11121:109::-;11202:21;11217:5;11202:21;:::i;:::-;11197:3;11190:34;11121:109;;:::o;11236:167::-;11341:55;11390:5;11341:55;:::i;:::-;11336:3;11329:68;11236:167;;:::o;11409:147::-;11504:45;11543:5;11504:45;:::i;:::-;11499:3;11492:58;11409:147;;:::o;11562:364::-;11650:3;11678:39;11711:5;11678:39;:::i;:::-;11733:71;11797:6;11792:3;11733:71;:::i;:::-;11726:78;;11813:52;11858:6;11853:3;11846:4;11839:5;11835:16;11813:52;:::i;:::-;11890:29;11912:6;11890:29;:::i;:::-;11885:3;11881:39;11874:46;;11654:272;11562:364;;;;:::o;11932:366::-;12074:3;12095:67;12159:2;12154:3;12095:67;:::i;:::-;12088:74;;12171:93;12260:3;12171:93;:::i;:::-;12289:2;12284:3;12280:12;12273:19;;11932:366;;;:::o;12304:::-;12446:3;12467:67;12531:2;12526:3;12467:67;:::i;:::-;12460:74;;12543:93;12632:3;12543:93;:::i;:::-;12661:2;12656:3;12652:12;12645:19;;12304:366;;;:::o;12676:::-;12818:3;12839:67;12903:2;12898:3;12839:67;:::i;:::-;12832:74;;12915:93;13004:3;12915:93;:::i;:::-;13033:2;13028:3;13024:12;13017:19;;12676:366;;;:::o;13048:::-;13190:3;13211:67;13275:2;13270:3;13211:67;:::i;:::-;13204:74;;13287:93;13376:3;13287:93;:::i;:::-;13405:2;13400:3;13396:12;13389:19;;13048:366;;;:::o;13420:::-;13562:3;13583:67;13647:2;13642:3;13583:67;:::i;:::-;13576:74;;13659:93;13748:3;13659:93;:::i;:::-;13777:2;13772:3;13768:12;13761:19;;13420:366;;;:::o;13792:::-;13934:3;13955:67;14019:2;14014:3;13955:67;:::i;:::-;13948:74;;14031:93;14120:3;14031:93;:::i;:::-;14149:2;14144:3;14140:12;14133:19;;13792:366;;;:::o;14164:::-;14306:3;14327:67;14391:2;14386:3;14327:67;:::i;:::-;14320:74;;14403:93;14492:3;14403:93;:::i;:::-;14521:2;14516:3;14512:12;14505:19;;14164:366;;;:::o;14536:398::-;14695:3;14716:83;14797:1;14792:3;14716:83;:::i;:::-;14709:90;;14808:93;14897:3;14808:93;:::i;:::-;14926:1;14921:3;14917:11;14910:18;;14536:398;;;:::o;14940:366::-;15082:3;15103:67;15167:2;15162:3;15103:67;:::i;:::-;15096:74;;15179:93;15268:3;15179:93;:::i;:::-;15297:2;15292:3;15288:12;15281:19;;14940:366;;;:::o;15312:::-;15454:3;15475:67;15539:2;15534:3;15475:67;:::i;:::-;15468:74;;15551:93;15640:3;15551:93;:::i;:::-;15669:2;15664:3;15660:12;15653:19;;15312:366;;;:::o;15684:118::-;15771:24;15789:5;15771:24;:::i;:::-;15766:3;15759:37;15684:118;;:::o;15808:112::-;15891:22;15907:5;15891:22;:::i;:::-;15886:3;15879:35;15808:112;;:::o;15926:379::-;16110:3;16132:147;16275:3;16132:147;:::i;:::-;16125:154;;16296:3;16289:10;;15926:379;;;:::o;16311:222::-;16404:4;16442:2;16431:9;16427:18;16419:26;;16455:71;16523:1;16512:9;16508:17;16499:6;16455:71;:::i;:::-;16311:222;;;;:::o;16539:807::-;16788:4;16826:3;16815:9;16811:19;16803:27;;16840:71;16908:1;16897:9;16893:17;16884:6;16840:71;:::i;:::-;16921:72;16989:2;16978:9;16974:18;16965:6;16921:72;:::i;:::-;17003:80;17079:2;17068:9;17064:18;17055:6;17003:80;:::i;:::-;17093;17169:2;17158:9;17154:18;17145:6;17093:80;:::i;:::-;17183:73;17251:3;17240:9;17236:19;17227:6;17183:73;:::i;:::-;17266;17334:3;17323:9;17319:19;17310:6;17266:73;:::i;:::-;16539:807;;;;;;;;;:::o;17352:373::-;17495:4;17533:2;17522:9;17518:18;17510:26;;17582:9;17576:4;17572:20;17568:1;17557:9;17553:17;17546:47;17610:108;17713:4;17704:6;17610:108;:::i;:::-;17602:116;;17352:373;;;;:::o;17731:210::-;17818:4;17856:2;17845:9;17841:18;17833:26;;17869:65;17931:1;17920:9;17916:17;17907:6;17869:65;:::i;:::-;17731:210;;;;:::o;17947:258::-;18058:4;18096:2;18085:9;18081:18;18073:26;;18109:89;18195:1;18184:9;18180:17;18171:6;18109:89;:::i;:::-;17947:258;;;;:::o;18211:313::-;18324:4;18362:2;18351:9;18347:18;18339:26;;18411:9;18405:4;18401:20;18397:1;18386:9;18382:17;18375:47;18439:78;18512:4;18503:6;18439:78;:::i;:::-;18431:86;;18211:313;;;;:::o;18530:419::-;18696:4;18734:2;18723:9;18719:18;18711:26;;18783:9;18777:4;18773:20;18769:1;18758:9;18754:17;18747:47;18811:131;18937:4;18811:131;:::i;:::-;18803:139;;18530:419;;;:::o;18955:::-;19121:4;19159:2;19148:9;19144:18;19136:26;;19208:9;19202:4;19198:20;19194:1;19183:9;19179:17;19172:47;19236:131;19362:4;19236:131;:::i;:::-;19228:139;;18955:419;;;:::o;19380:::-;19546:4;19584:2;19573:9;19569:18;19561:26;;19633:9;19627:4;19623:20;19619:1;19608:9;19604:17;19597:47;19661:131;19787:4;19661:131;:::i;:::-;19653:139;;19380:419;;;:::o;19805:::-;19971:4;20009:2;19998:9;19994:18;19986:26;;20058:9;20052:4;20048:20;20044:1;20033:9;20029:17;20022:47;20086:131;20212:4;20086:131;:::i;:::-;20078:139;;19805:419;;;:::o;20230:::-;20396:4;20434:2;20423:9;20419:18;20411:26;;20483:9;20477:4;20473:20;20469:1;20458:9;20454:17;20447:47;20511:131;20637:4;20511:131;:::i;:::-;20503:139;;20230:419;;;:::o;20655:::-;20821:4;20859:2;20848:9;20844:18;20836:26;;20908:9;20902:4;20898:20;20894:1;20883:9;20879:17;20872:47;20936:131;21062:4;20936:131;:::i;:::-;20928:139;;20655:419;;;:::o;21080:::-;21246:4;21284:2;21273:9;21269:18;21261:26;;21333:9;21327:4;21323:20;21319:1;21308:9;21304:17;21297:47;21361:131;21487:4;21361:131;:::i;:::-;21353:139;;21080:419;;;:::o;21505:::-;21671:4;21709:2;21698:9;21694:18;21686:26;;21758:9;21752:4;21748:20;21744:1;21733:9;21729:17;21722:47;21786:131;21912:4;21786:131;:::i;:::-;21778:139;;21505:419;;;:::o;21930:::-;22096:4;22134:2;22123:9;22119:18;22111:26;;22183:9;22177:4;22173:20;22169:1;22158:9;22154:17;22147:47;22211:131;22337:4;22211:131;:::i;:::-;22203:139;;21930:419;;;:::o;22355:222::-;22448:4;22486:2;22475:9;22471:18;22463:26;;22499:71;22567:1;22556:9;22552:17;22543:6;22499:71;:::i;:::-;22355:222;;;;:::o;22583:831::-;22846:4;22884:3;22873:9;22869:19;22861:27;;22898:71;22966:1;22955:9;22951:17;22942:6;22898:71;:::i;:::-;22979:80;23055:2;23044:9;23040:18;23031:6;22979:80;:::i;:::-;23106:9;23100:4;23096:20;23091:2;23080:9;23076:18;23069:48;23134:108;23237:4;23228:6;23134:108;:::i;:::-;23126:116;;23252:72;23320:2;23309:9;23305:18;23296:6;23252:72;:::i;:::-;23334:73;23402:3;23391:9;23387:19;23378:6;23334:73;:::i;:::-;22583:831;;;;;;;;:::o;23420:553::-;23597:4;23635:3;23624:9;23620:19;23612:27;;23649:71;23717:1;23706:9;23702:17;23693:6;23649:71;:::i;:::-;23730:72;23798:2;23787:9;23783:18;23774:6;23730:72;:::i;:::-;23812;23880:2;23869:9;23865:18;23856:6;23812:72;:::i;:::-;23894;23962:2;23951:9;23947:18;23938:6;23894:72;:::i;:::-;23420:553;;;;;;;:::o;23979:214::-;24068:4;24106:2;24095:9;24091:18;24083:26;;24119:67;24183:1;24172:9;24168:17;24159:6;24119:67;:::i;:::-;23979:214;;;;:::o;24199:129::-;24233:6;24260:20;;:::i;:::-;24250:30;;24289:33;24317:4;24309:6;24289:33;:::i;:::-;24199:129;;;:::o;24334:75::-;24367:6;24400:2;24394:9;24384:19;;24334:75;:::o;24415:311::-;24492:4;24582:18;24574:6;24571:30;24568:56;;;24604:18;;:::i;:::-;24568:56;24654:4;24646:6;24642:17;24634:25;;24714:4;24708;24704:15;24696:23;;24415:311;;;:::o;24732:::-;24809:4;24899:18;24891:6;24888:30;24885:56;;;24921:18;;:::i;:::-;24885:56;24971:4;24963:6;24959:17;24951:25;;25031:4;25025;25021:15;25013:23;;24732:311;;;:::o;25049:132::-;25116:4;25139:3;25131:11;;25169:4;25164:3;25160:14;25152:22;;25049:132;;;:::o;25187:114::-;25254:6;25288:5;25282:12;25272:22;;25187:114;;;:::o;25307:99::-;25359:6;25393:5;25387:12;25377:22;;25307:99;;;:::o;25412:113::-;25482:4;25514;25509:3;25505:14;25497:22;;25412:113;;;:::o;25531:184::-;25630:11;25664:6;25659:3;25652:19;25704:4;25699:3;25695:14;25680:29;;25531:184;;;;:::o;25721:147::-;25822:11;25859:3;25844:18;;25721:147;;;;:::o;25874:169::-;25958:11;25992:6;25987:3;25980:19;26032:4;26027:3;26023:14;26008:29;;25874:169;;;;:::o;26049:305::-;26089:3;26108:20;26126:1;26108:20;:::i;:::-;26103:25;;26142:20;26160:1;26142:20;:::i;:::-;26137:25;;26296:1;26228:66;26224:74;26221:1;26218:81;26215:107;;;26302:18;;:::i;:::-;26215:107;26346:1;26343;26339:9;26332:16;;26049:305;;;;:::o;26360:185::-;26400:1;26417:20;26435:1;26417:20;:::i;:::-;26412:25;;26451:20;26469:1;26451:20;:::i;:::-;26446:25;;26490:1;26480:35;;26495:18;;:::i;:::-;26480:35;26537:1;26534;26530:9;26525:14;;26360:185;;;;:::o;26551:848::-;26612:5;26619:4;26643:6;26634:15;;26667:5;26658:14;;26681:712;26702:1;26692:8;26689:15;26681:712;;;26797:4;26792:3;26788:14;26782:4;26779:24;26776:50;;;26806:18;;:::i;:::-;26776:50;26856:1;26846:8;26842:16;26839:451;;;27271:4;27264:5;27260:16;27251:25;;26839:451;27321:4;27315;27311:15;27303:23;;27351:32;27374:8;27351:32;:::i;:::-;27339:44;;26681:712;;;26551:848;;;;;;;:::o;27405:281::-;27463:5;27487:23;27505:4;27487:23;:::i;:::-;27479:31;;27531:25;27547:8;27531:25;:::i;:::-;27519:37;;27575:104;27612:66;27602:8;27596:4;27575:104;:::i;:::-;27566:113;;27405:281;;;;:::o;27692:1073::-;27746:5;27937:8;27927:40;;27958:1;27949:10;;27960:5;;27927:40;27986:4;27976:36;;28003:1;27994:10;;28005:5;;27976:36;28072:4;28120:1;28115:27;;;;28156:1;28151:191;;;;28065:277;;28115:27;28133:1;28124:10;;28135:5;;;28151:191;28196:3;28186:8;28183:17;28180:43;;;28203:18;;:::i;:::-;28180:43;28252:8;28249:1;28245:16;28236:25;;28287:3;28280:5;28277:14;28274:40;;;28294:18;;:::i;:::-;28274:40;28327:5;;;28065:277;;28451:2;28441:8;28438:16;28432:3;28426:4;28423:13;28419:36;28401:2;28391:8;28388:16;28383:2;28377:4;28374:12;28370:35;28354:111;28351:246;;;28507:8;28501:4;28497:19;28488:28;;28542:3;28535:5;28532:14;28529:40;;;28549:18;;:::i;:::-;28529:40;28582:5;;28351:246;28622:42;28660:3;28650:8;28644:4;28641:1;28622:42;:::i;:::-;28607:57;;;;28696:4;28691:3;28687:14;28680:5;28677:25;28674:51;;;28705:18;;:::i;:::-;28674:51;28754:4;28747:5;28743:16;28734:25;;27692:1073;;;;;;:::o;28771:348::-;28811:7;28834:20;28852:1;28834:20;:::i;:::-;28829:25;;28868:20;28886:1;28868:20;:::i;:::-;28863:25;;29056:1;28988:66;28984:74;28981:1;28978:81;28973:1;28966:9;28959:17;28955:105;28952:131;;;29063:18;;:::i;:::-;28952:131;29111:1;29108;29104:9;29093:20;;28771:348;;;;:::o;29125:191::-;29165:4;29185:20;29203:1;29185:20;:::i;:::-;29180:25;;29219:20;29237:1;29219:20;:::i;:::-;29214:25;;29258:1;29255;29252:8;29249:34;;;29263:18;;:::i;:::-;29249:34;29308:1;29305;29301:9;29293:17;;29125:191;;;;:::o;29322:96::-;29359:7;29388:24;29406:5;29388:24;:::i;:::-;29377:35;;29322:96;;;:::o;29424:90::-;29458:7;29501:5;29494:13;29487:21;29476:32;;29424:90;;;:::o;29520:126::-;29557:7;29597:42;29590:5;29586:54;29575:65;;29520:126;;;:::o;29652:77::-;29689:7;29718:5;29707:16;;29652:77;;;:::o;29735:86::-;29770:7;29810:4;29803:5;29799:16;29788:27;;29735:86;;;:::o;29827:144::-;29895:9;29928:37;29959:5;29928:37;:::i;:::-;29915:50;;29827:144;;;:::o;29977:121::-;30035:9;30068:24;30086:5;30068:24;:::i;:::-;30055:37;;29977:121;;;:::o;30104:126::-;30154:9;30187:37;30218:5;30187:37;:::i;:::-;30174:50;;30104:126;;;:::o;30236:113::-;30286:9;30319:24;30337:5;30319:24;:::i;:::-;30306:37;;30236:113;;;:::o;30355:307::-;30423:1;30433:113;30447:6;30444:1;30441:13;30433:113;;;30532:1;30527:3;30523:11;30517:18;30513:1;30508:3;30504:11;30497:39;30469:2;30466:1;30462:10;30457:15;;30433:113;;;30564:6;30561:1;30558:13;30555:101;;;30644:1;30635:6;30630:3;30626:16;30619:27;30555:101;30404:258;30355:307;;;:::o;30668:281::-;30751:27;30773:4;30751:27;:::i;:::-;30743:6;30739:40;30881:6;30869:10;30866:22;30845:18;30833:10;30830:34;30827:62;30824:88;;;30892:18;;:::i;:::-;30824:88;30932:10;30928:2;30921:22;30711:238;30668:281;;:::o;30955:233::-;30994:3;31017:24;31035:5;31017:24;:::i;:::-;31008:33;;31063:66;31056:5;31053:77;31050:103;;;31133:18;;:::i;:::-;31050:103;31180:1;31173:5;31169:13;31162:20;;30955:233;;;:::o;31194:180::-;31242:77;31239:1;31232:88;31339:4;31336:1;31329:15;31363:4;31360:1;31353:15;31380:180;31428:77;31425:1;31418:88;31525:4;31522:1;31515:15;31549:4;31546:1;31539:15;31566:180;31614:77;31611:1;31604:88;31711:4;31708:1;31701:15;31735:4;31732:1;31725:15;31752:180;31800:77;31797:1;31790:88;31897:4;31894:1;31887:15;31921:4;31918:1;31911:15;31938:117;32047:1;32044;32037:12;32061:117;32170:1;32167;32160:12;32184:117;32293:1;32290;32283:12;32307:117;32416:1;32413;32406:12;32430:102;32471:6;32522:2;32518:7;32513:2;32506:5;32502:14;32498:28;32488:38;;32430:102;;;:::o;32538:::-;32580:8;32627:5;32624:1;32620:13;32599:34;;32538:102;;;:::o;32646:167::-;32786:19;32782:1;32774:6;32770:14;32763:43;32646:167;:::o;32819:225::-;32959:34;32955:1;32947:6;32943:14;32936:58;33028:8;33023:2;33015:6;33011:15;33004:33;32819:225;:::o;33050:241::-;33190:34;33186:1;33178:6;33174:14;33167:58;33259:24;33254:2;33246:6;33242:15;33235:49;33050:241;:::o;33297:180::-;33437:32;33433:1;33425:6;33421:14;33414:56;33297:180;:::o;33483:172::-;33623:24;33619:1;33611:6;33607:14;33600:48;33483:172;:::o;33661:182::-;33801:34;33797:1;33789:6;33785:14;33778:58;33661:182;:::o;33849:165::-;33989:17;33985:1;33977:6;33973:14;33966:41;33849:165;:::o;34020:114::-;;:::o;34140:171::-;34280:23;34276:1;34268:6;34264:14;34257:47;34140:171;:::o;34317:161::-;34457:13;34453:1;34445:6;34441:14;34434:37;34317:161;:::o;34484:122::-;34557:24;34575:5;34557:24;:::i;:::-;34550:5;34547:35;34537:63;;34596:1;34593;34586:12;34537:63;34484:122;:::o;34612:116::-;34682:21;34697:5;34682:21;:::i;:::-;34675:5;34672:32;34662:60;;34718:1;34715;34708:12;34662:60;34612:116;:::o;34734:122::-;34807:24;34825:5;34807:24;:::i;:::-;34800:5;34797:35;34787:63;;34846:1;34843;34836:12;34787:63;34734:122;:::o

Swarm Source

ipfs://623b7b53d6fa02b73bd14d1ca5856894d0d6b42303fd971d9ccbe6bb0bb3f805
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.