ETH Price: $2,535.00 (+3.89%)

Token

Orbitronchain Coin (ORBIT)
 

Overview

Max Total Supply

1,000,000,000,000 ORBIT

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
*💞️te-amo-mi-amor💞️.eth
Balance
0.420219562691601194 ORBIT

Value
$0.00
0xe321ec06344f000f3e06b7f1c32fe769dea0fbf6
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:
Orbitronchain

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-21
*/

/**
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣣⡡⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⠃⢨⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡶⠀⠈⡃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣤⣤⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠻⣄⠉⠑⠲⢤⣀⠀⢀⢤⢢⡙⢄⢂⣄⡬⡴⣻⢤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠈⠢⣀⠀⠀⢈⡵⡻⣌⠖⣨⠎⣹⠰⢌⡱⡑⢮⡜⣫⠦⡀⠀⠀⢀⣀⡠⠤⠔⠒⠒⢻⡳
⠀⠀⠀⠀⠀⠈⠣⢀⡞⣖⢣⡱⠞⡁⢎⢸⠡⢂⠒⣉⠲⡘⣥⠫⣝⡖⠉⠁⠀⠀⠀⣀⡤⠎⠋⠀
⠀⠀⠀⠀⠀⠀⠀⢸⣛⠮⣥⠫⡜⡈⠔⢸⠡⣈⠘⢠⢑⡩⢆⡝⡜⣮⢀⢀⡤⠔⠋⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠸⣌⠳⣲⢕⢢⡡⢁⠴⠂⠄⠨⢐⠢⠜⢢⡜⡵⡚⠌⣃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢀⡸⣎⠳⡱⠎⠓⣜⢔⠞⣠⢘⡠⢥⠚⡜⢣⣙⠲⣹⢁⢎⡄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⢀⡠⠔⠊⠁⠀⠐⠱⡐⡶⣰⢨⠢⣋⠊⡖⡕⣢⠱⣌⢣⠜⡱⣑⣎⢞⡆⠀⠀⠀⠀⠀⠀⠀
⣠⠖⠉⢀⣀⣀⣠⠤⠖⠚⠘⢜⢧⢣⣃⢨⠒⣄⡉⠈⠑⢨⣠⠞⢡⡓⣜⢯⠢⡀⠀⠀⠀⠀⠀⠀
⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠓⢪⢳⣒⣦⣍⣙⡛⣡⣥⡙⣧⣟⣼⠃⠀⠈⢳⣄⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢸⡉⠄⣉⡏⢥⢃⣏⢻⣝⠛⠙⠻⢤⣀⡀⠙⣇⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠆⠁⢠⠏⠂⠛⠚⠉⠀⠀⠀⠀⠀⠈⠉⠙⠙⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠃⠀⣘⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⠀⢿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⠚⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
█▀█ █▀█ █▄▄ █ ▀█▀ █▀█ █▀█ █▄░█ █▀▀ █░█ ▄▀█ █ █▄░█ ░ █▀▀ █▀█ █▀▄▀█
█▄█ █▀▄ █▄█ █ ░█░ █▀▄ █▄█ █░▀█ █▄▄ █▀█ █▀█ █ █░▀█ ▄ █▄▄ █▄█ █░▀░█

// Wallet Deployer  : 0xCE38C0f8A22a4037AF099Bc496452456d72A5210
// Symbol           : ORBIT
// Name             : ORBITRON CHAIN
// Total supply     : 1,000,000,000,000
// Decimals         : 18
// Telegram Group   : https://t.me/orbitronchain
// Twitter          : https://twitter.com/orbitronchain
// Website          : https://orbitronchain.com 
// Orbitron Testnet : https://testnet.orbitronchain.com 

*/


// SPDX-License-Identifier: MIT


pragma solidity 0.8.19;

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



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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address public _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

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

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

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

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

interface InterfaceLP {
    function sync() external;
}


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

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

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

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

contract Orbitronchain is Ownable, ERC20 {
    using SafeMath for uint256;

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

    string constant _name = "Orbitronchain Coin";
    string constant _symbol = "ORBIT";
    uint8 constant _decimals = 18; 


    event AutoLiquify(uint256 amountETH, uint256 amountTokens);
    event EditTax(uint8 Buy, uint8 Sell, uint8 Transfer);
    event user_exemptfromfees(address Wallet, bool Exempt);
    event user_TxExempt(address Wallet, bool Exempt);
    event ClearStuck(uint256 amount);
    event ClearToken(address TokenAddressCleared, uint256 Amount);
    event set_Receivers(address marketingFeeReceiver, address buybackFeeReceiver,address burnFeeReceiver,address devFeeReceiver);
    event set_MaxWallet(uint256 maxWallet);
    event set_MaxTX(uint256 maxTX);
    event set_SwapBack(uint256 Amount, bool Enabled);
  
    uint256 _totalSupply =  1000000000000 * 10**_decimals;

    uint256 public _maxTxAmount = _totalSupply.mul(1).div(100);
    uint256 public _maxWalletToken = _totalSupply.mul(1).div(100);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;  
    mapping (address => bool) isexemptfromfees;
    mapping (address => bool) isexemptfrommaxTX;

    uint256 private liquidityFee    = 0;
    uint256 private marketingFee    = 3;
    uint256 private devFee          = 0;
    uint256 private buybackFee      = 0; 
    uint256 private burnFee         = 0;
    uint256 public totalFee         = buybackFee + marketingFee + liquidityFee + devFee + burnFee;
    uint256 private feeDenominator  = 100;

    uint256 sellpercent = 300;
    uint256 buypercent = 300;
    uint256 transferpercent = 100; 

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private buybackFeeReceiver;
    address private burnFeeReceiver;

    uint256 setRatio = 35;
    uint256 setRatioDenominator = 100;
    

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    
    bool public TradingOpen = false; 

   
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 20 / 1000; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);
       
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isexemptfromfees[msg.sender] = true;            
        isexemptfrommaxTX[msg.sender] = true;
        isexemptfrommaxTX[pair] = true;
        isexemptfrommaxTX[marketingFeeReceiver] = true;
        isexemptfrommaxTX[address(this)] = true;
        
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = msg.sender;
        devFeeReceiver = msg.sender;
        buybackFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD; 

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

    }

    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 approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

        function setMaxWallet(uint256 maxWallPercent) external onlyOwner {
         require(maxWallPercent >= 1); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
        emit set_MaxWallet(_maxWalletToken);
                
    }

      function disablelimits () external onlyOwner {
            _maxTxAmount = _totalSupply;
            _maxWalletToken = _totalSupply;
    }

      
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(TradingOpen,"Trading not open yet");
        
          }
        
               
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isexemptfrommaxTX[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        checkTxLimit(sender, amount); 

        if(shouldSwapBack()){ swapBack(); }
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isexemptfromfees[sender] || isexemptfromfees[recipient]) ? amount : takeFee(sender, amount, recipient);
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
 
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isexemptfrommaxTX[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isexemptfromfees[sender];
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        
        uint256 percent = transferpercent;
        if(recipient == pair) {
            percent = sellpercent;
        } else if(sender == pair) {
            percent = buypercent;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(percent).div(feeDenominator * 100);
        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);
        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        
        if(burnTokens > 0){
            _totalSupply = _totalSupply.sub(burnTokens);
            emit Transfer(sender, ZERO, burnTokens);  
        
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

  
     function manualSend() external { 
             payable(autoLiquidityReceiver).transfer(address(this).balance);
            
    }

   function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
             if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        emit ClearToken(tokenAddress, tokens);
        return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
    }

    function setFees(uint256 _percentonbuy, uint256 _percentonsell, uint256 _wallettransfer) external onlyOwner {
        sellpercent = _percentonsell;
        buypercent = _percentonbuy;
        transferpercent = _wallettransfer;    
          
    }
       
    function enableTrading() public onlyOwner {
        TradingOpen = true;
        buypercent = 500;
        sellpercent = 800;
        transferpercent = 1000;
                              
    }

             
    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = checkRatio(setRatio, setRatioDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHbuyback = amountETH.mul(buybackFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess,) = payable(buybackFeeReceiver).call{value: amountETHbuyback}("");
        
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
    
  
    function set_fees() internal {
      
        emit EditTax( uint8(totalFee.mul(buypercent).div(100)),
            uint8(totalFee.mul(sellpercent).div(100)),
            uint8(totalFee.mul(transferpercent).div(100))
            );
    }
    
    function setFees(uint256 _liquidityFee, uint256 _buybackFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        buybackFee = _buybackFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_buybackFee).add(_marketingFee).add(_devFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 2, "Fees can not be more than 50%"); 
        set_fees();
    }

    function multiAirdrop(address from, address[] calldata addresses, uint256[] calldata tokens) external onlyOwner {

    require(addresses.length < 501,"GAS Error: max airdrop limit is 500 addresses");
    require(addresses.length == tokens.length,"Mismatch between Address and token count");

    uint256 antibot = 0;

    for(uint i=0; i < addresses.length; i++){
        antibot = antibot + tokens[i];
    }

    require(balanceOf(from) >= antibot, "Not enough tokens in wallet");

    for(uint i=0; i < addresses.length; i++){
        _basicTransfer(from,addresses[i],tokens[i]);
    }
}

    function setWallets(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _buybackFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        buybackFeeReceiver = _buybackFeeReceiver;

        emit set_Receivers(marketingFeeReceiver, buybackFeeReceiver, burnFeeReceiver, devFeeReceiver);
    }

    function setSwapAndLiquifyStatus(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit set_SwapBack(swapThreshold, swapEnabled);
    }

    function checkRatio(uint256 ratio, uint256 accuracy) public view returns (bool) {
        return showBacking(accuracy) > ratio;
    }

    function showBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(showSupply());
    }
    
    function showSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClearStuck","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Transfer","type":"uint8"}],"name":"EditTax","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTX","type":"uint256"}],"name":"set_MaxTX","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"set_MaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"buybackFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"burnFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"devFeeReceiver","type":"address"}],"name":"set_Receivers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"Enabled","type":"bool"}],"name":"set_SwapBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_TxExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_exemptfromfees","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[{"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":"spender","type":"address"}],"name":"approveMax","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":[{"internalType":"uint256","name":"ratio","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"checkRatio","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"disablelimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"multiAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentonbuy","type":"uint256"},{"internalType":"uint256","name":"_percentonsell","type":"uint256"},{"internalType":"uint256","name":"_wallettransfer","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapAndLiquifyStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"showBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSupply","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":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526012600a62000014919062000d32565b64e8d4a5100062000026919062000d83565b60035562000056606462000047600160035462000a5360201b90919060201c565b62000ad660201b90919060201c565b60045562000086606462000077600160035462000a5360201b90919060201c565b62000ad660201b90919060201c565b6005556000600a556003600b556000600c556000600d556000600e55600e54600c54600a54600b54600d54620000bd919062000dce565b620000c9919062000dce565b620000d5919062000dce565b620000e1919062000dce565b600f55606460105561012c60115561012c601255606460135560236019556064601a556000601d60146101000a81548160ff0219169083151502179055506001601d60156101000a81548160ff0219169083151502179055506103e860146003546200014e919062000d83565b6200015a919062000e38565b601e553480156200016a57600080fd5b5060006200017d62000b2860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000356573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037c919062000eda565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000450919062000eda565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401620004ae92919062000f1d565b6020604051808303816000875af1158015620004ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004f4919062000eda565b601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000a45919062000f5b565b60405180910390a3620010ce565b600080830362000a67576000905062000ad0565b6000828462000a77919062000d83565b905082848262000a88919062000e38565b1462000acb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ac29062000fff565b60405180910390fd5b809150505b92915050565b600062000b2083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b3060201b60201c565b905092915050565b600033905090565b6000808311829062000b7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b719190620010aa565b60405180910390fd5b506000838562000b8b919062000e38565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000c265780860481111562000bfe5762000bfd62000b98565b5b600185161562000c0e5780820291505b808102905062000c1e8562000bc7565b945062000bde565b94509492505050565b60008262000c41576001905062000d14565b8162000c51576000905062000d14565b816001811462000c6a576002811462000c755762000cab565b600191505062000d14565b60ff84111562000c8a5762000c8962000b98565b5b8360020a91508482111562000ca45762000ca362000b98565b5b5062000d14565b5060208310610133831016604e8410600b841016171562000ce55782820a90508381111562000cdf5762000cde62000b98565b5b62000d14565b62000cf4848484600162000bd4565b9250905081840481111562000d0e5762000d0d62000b98565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000d3f8262000d1b565b915062000d4c8362000d25565b925062000d7b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c2f565b905092915050565b600062000d908262000d1b565b915062000d9d8362000d1b565b925082820262000dad8162000d1b565b9150828204841483151762000dc75762000dc662000b98565b5b5092915050565b600062000ddb8262000d1b565b915062000de88362000d1b565b925082820190508082111562000e035762000e0262000b98565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e458262000d1b565b915062000e528362000d1b565b92508262000e655762000e6462000e09565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ea28262000e75565b9050919050565b62000eb48162000e95565b811462000ec057600080fd5b50565b60008151905062000ed48162000ea9565b92915050565b60006020828403121562000ef35762000ef262000e70565b5b600062000f038482850162000ec3565b91505092915050565b62000f178162000e95565b82525050565b600060408201905062000f34600083018562000f0c565b62000f43602083018462000f0c565b9392505050565b62000f558162000d1b565b82525050565b600060208201905062000f72600083018462000f4a565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000fe760218362000f78565b915062000ff48262000f89565b604082019050919050565b600060208201905081810360008301526200101a8162000fd8565b9050919050565b600081519050919050565b60005b838110156200104c5780820151818401526020810190506200102f565b60008484015250505050565b6000601f19601f8301169050919050565b6000620010768262001021565b62001082818562000f78565b9350620010948185602086016200102c565b6200109f8162001058565b840191505092915050565b60006020820190508181036000830152620010c6818462001069565b905092915050565b6146df80620010de6000396000f3fe6080604052600436106102135760003560e01c806378109e5411610118578063a9059cbb116100a0578063dd62ed3e1161006f578063dd62ed3e1461078a578063ded1e438146107c7578063f2fde38b14610804578063f42938901461082d578063f887ea40146108445761021a565b8063a9059cbb146106d0578063b2bdfa7b1461070d578063b78e7edb14610738578063cec10c11146107615761021a565b8063893d20e8116100e7578063893d20e81461060d5780638a8c523c146106385780638da5cb5b1461064f57806395d89b411461067a578063a8aa1b31146106a55761021a565b806378109e54146105655780637d1db4a51461059057806382528791146105bb57806386f6c3c1146105e45761021a565b806330c9a6a01161019b5780635d0044ca1161016a5780635d0044ca146104805780636ddd1713146104a957806370a08231146104d4578063715018a61461051157806377b54bad146105285761021a565b806330c9a6a0146103b0578063313ce567146103ed5780635526566914610418578063571ac8b0146104435761021a565b806318160ddd116101e257806318160ddd146102dd5780631df4ccfc1461030857806322c5f95c1461033357806323b872dd1461035c5780632688f539146103995761021a565b80630445b6671461021f57806306fdde031461024a57806308fd3d0514610275578063095ea7b3146102a05761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b5061023461086f565b60405161024191906134aa565b60405180910390f35b34801561025657600080fd5b5061025f610875565b60405161026c9190613555565b60405180910390f35b34801561028157600080fd5b5061028a6108b2565b6040516102979190613592565b60405180910390f35b3480156102ac57600080fd5b506102c760048036038101906102c29190613641565b6108c5565b6040516102d49190613592565b60405180910390f35b3480156102e957600080fd5b506102f26109b7565b6040516102ff91906134aa565b60405180910390f35b34801561031457600080fd5b5061031d6109c1565b60405161032a91906134aa565b60405180910390f35b34801561033f57600080fd5b5061035a600480360381019061035591906136ad565b6109c7565b005b34801561036857600080fd5b50610383600480360381019061037e91906136ed565b610acb565b6040516103909190613592565b60405180910390f35b3480156103a557600080fd5b506103ae610ccb565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190613740565b610d74565b6040516103e491906134aa565b60405180910390f35b3480156103f957600080fd5b50610402610de6565b60405161040f9190613789565b60405180910390f35b34801561042457600080fd5b5061042d610def565b60405161043a91906134aa565b60405180910390f35b34801561044f57600080fd5b5061046a600480360381019061046591906137a4565b610e30565b6040516104779190613592565b60405180910390f35b34801561048c57600080fd5b506104a760048036038101906104a29190613740565b610e63565b005b3480156104b557600080fd5b506104be610f63565b6040516104cb9190613592565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f691906137a4565b610f76565b60405161050891906134aa565b60405180910390f35b34801561051d57600080fd5b50610526610fbf565b005b34801561053457600080fd5b5061054f600480360381019061054a9190613641565b611112565b60405161055c9190613592565b60405180910390f35b34801561057157600080fd5b5061057a611279565b60405161058791906134aa565b60405180910390f35b34801561059c57600080fd5b506105a561127f565b6040516105b291906134aa565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd91906137d1565b611285565b005b3480156105f057600080fd5b5061060b6004803603810190610606919061384c565b61152b565b005b34801561061957600080fd5b5061062261169b565b60405161062f91906138e8565b60405180910390f35b34801561064457600080fd5b5061064d6116aa565b005b34801561065b57600080fd5b50610664611777565b60405161067191906138e8565b60405180910390f35b34801561068657600080fd5b5061068f6117a0565b60405161069c9190613555565b60405180910390f35b3480156106b157600080fd5b506106ba6117dd565b6040516106c791906138e8565b60405180910390f35b3480156106dc57600080fd5b506106f760048036038101906106f29190613641565b611803565b6040516107049190613592565b60405180910390f35b34801561071957600080fd5b50610722611818565b60405161072f91906138e8565b60405180910390f35b34801561074457600080fd5b5061075f600480360381019061075a91906139be565b61183c565b005b34801561076d57600080fd5b5061078860048036038101906107839190613a53565b611a6b565b005b34801561079657600080fd5b506107b160048036038101906107ac9190613aa6565b611b1a565b6040516107be91906134aa565b60405180910390f35b3480156107d357600080fd5b506107ee60048036038101906107e99190613ae6565b611ba1565b6040516107fb9190613592565b60405180910390f35b34801561081057600080fd5b5061082b600480360381019061082691906137a4565b611bb6565b005b34801561083957600080fd5b50610842611d77565b005b34801561085057600080fd5b50610859611de2565b6040516108669190613b85565b60405180910390f35b601e5481565b60606040518060400160405280601281526020017f4f72626974726f6e636861696e20436f696e0000000000000000000000000000815250905090565b601d60149054906101000a900460ff1681565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109a591906134aa565b60405180910390a36001905092915050565b6000600354905090565b600f5481565b6109cf611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5390613bec565b60405180910390fd5b81601d60156101000a81548160ff02191690831515021790555080601e819055507f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60601e54601d60159054906101000a900460ff16604051610abf929190613c0c565b60405180910390a15050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610cb757610c36826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e109092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cc2848484611e74565b90509392505050565b610cd3611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5790613bec565b60405180910390fd5b600354600481905550600354600581905550565b6000610ddf610d81610def565b610dd1610dc26002610db4601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f76565b6124cc90919063ffffffff16565b856124cc90919063ffffffff16565b61254690919063ffffffff16565b9050919050565b60006012905090565b6000610e2b610dfe6000610f76565b610e1d610e0c61dead610f76565b60035461259090919063ffffffff16565b61259090919063ffffffff16565b905090565b6000610e5c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108c5565b9050919050565b610e6b611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eef90613bec565b60405180910390fd5b6001811015610f0657600080fd5b6103e881600354610f179190613c64565b610f219190613cd5565b6005819055507f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be51600554604051610f5891906134aa565b60405180910390a150565b601d60159054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fc7611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104b90613bec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000808203611198578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161115491906138e8565b602060405180830381865afa158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190613d1b565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f83836040516111c9929190613d48565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161122e929190613d48565b6020604051808303816000875af115801561124d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112719190613d86565b905092915050565b60055481565b60045481565b61128d611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461131a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131190613bec565b60405180910390fd5b84601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b15601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161151c9493929190613db3565b60405180910390a15050505050565b611533611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b790613bec565b60405180910390fd5b85600a8190555084600d8190555083600b8190555082600c8190555081600e8190555061162c8261161e85611610886116028b8d6125da90919063ffffffff16565b6125da90919063ffffffff16565b6125da90919063ffffffff16565b6125da90919063ffffffff16565b600f819055508060108190555060026010546116489190613cd5565b600f541061168b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168290613e44565b60405180910390fd5b611693612638565b505050505050565b60006116a5611777565b905090565b6116b2611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461173f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173690613bec565b60405180910390fd5b6001601d60146101000a81548160ff0219169083151502179055506101f46012819055506103206011819055506103e8601381905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4f52424954000000000000000000000000000000000000000000000000000000815250905090565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611810338484611e74565b905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611844611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c890613bec565b60405180910390fd5b6101f58484905010611918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190f90613ed6565b60405180910390fd5b818190508484905014611960576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195790613f68565b60405180910390fd5b6000805b858590508110156119a95783838281811061198257611981613f88565b5b90506020020135826119949190613fb7565b915080806119a190613feb565b915050611964565b50806119b487610f76565b10156119f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ec9061407f565b60405180910390fd5b60005b85859050811015611a6257611a4e87878784818110611a1a57611a19613f88565b5b9050602002016020810190611a2f91906137a4565b868685818110611a4257611a41613f88565b5b905060200201356126f0565b508080611a5a90613feb565b9150506119f8565b50505050505050565b611a73611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af790613bec565b60405180910390fd5b816011819055508260128190555080601381905550505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082611bad83610d74565b11905092915050565b611bbe611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4290613bec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb190614111565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611ddf573d6000803e3d6000fd5b50565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b6000838311158290611e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4f9190613555565b60405180910390fd5b5060008385611e679190614131565b9050809150509392505050565b6000601f60009054906101000a900460ff1615611e9d57611e968484846126f0565b90506124c5565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f415750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f9657601d60149054906101000a900460ff16611f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8c906141b1565b60405180910390fd5b5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561201c57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612056575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120b05750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561210a5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156121645750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156121ba5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561221e5760006121ca84610f76565b905060055483826121db9190613fb7565b111561221c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221390614243565b60405180910390fd5b505b61222884836128c3565b612230612960565b1561223e5761223d612a37565b5b6122c7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e109092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123ad5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6123c1576123bc85848661305e565b6123c3565b825b905061241781600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124b791906134aa565b60405180910390a360019150505b9392505050565b60008083036124de5760009050612540565b600082846124ec9190613c64565b90508284826124fb9190613cd5565b1461253b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612532906142d5565b60405180910390fd5b809150505b92915050565b600061258883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061342e565b905092915050565b60006125d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e10565b905092915050565b60008082846125e99190613fb7565b90508381101561262e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262590614341565b60405180910390fd5b8091505092915050565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006126836064612675601254600f546124cc90919063ffffffff16565b61254690919063ffffffff16565b6126ad606461269f601154600f546124cc90919063ffffffff16565b61254690919063ffffffff16565b6126d760646126c9601354600f546124cc90919063ffffffff16565b61254690919063ffffffff16565b6040516126e693929190614361565b60405180910390a1565b600061277b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e109092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061281082600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128b091906134aa565b60405180910390a3600190509392505050565b6004548111158061291d5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61295c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612953906143e4565b60405180910390fd5b5050565b6000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156129cd5750601f60009054906101000a900460ff16155b80156129e55750601d60159054906101000a900460ff165b8015612a325750601e54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601f60006101000a81548160ff0219169083151502179055506000612a62601954601a54611ba1565b612a6e57600a54612a71565b60005b90506000612ab16002612aa3600f54612a9586601e546124cc90919063ffffffff16565b61254690919063ffffffff16565b61254690919063ffffffff16565b90506000612aca82601e5461259090919063ffffffff16565b90506000600267ffffffffffffffff811115612ae957612ae8614404565b5b604051908082528060200260200182016040528015612b175781602001602082028036833780820191505090505b5090503081600081518110612b2f57612b2e613f88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612ba057612b9f613f88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401612c4395949392919061452c565b600060405180830381600087803b158015612c5d57600080fd5b505af1158015612c71573d6000803e3d6000fd5b505050506000612c8a824761259090919063ffffffff16565b90506000612cb6612ca560028961254690919063ffffffff16565b600f5461259090919063ffffffff16565b90506000612cf26002612ce484612cd68c886124cc90919063ffffffff16565b61254690919063ffffffff16565b61254690919063ffffffff16565b90506000612d1d83612d0f600b54876124cc90919063ffffffff16565b61254690919063ffffffff16565b90506000612d4884612d3a600d54886124cc90919063ffffffff16565b61254690919063ffffffff16565b90506000612d7385612d65600c54896124cc90919063ffffffff16565b61254690919063ffffffff16565b90506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051612dbd906145b7565b60006040518083038185875af1925050503d8060008114612dfa576040519150601f19603f3d011682016040523d82523d6000602084013e612dff565b606091505b50509050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612e49906145b7565b60006040518083038185875af1925050503d8060008114612e86576040519150601f19603f3d011682016040523d82523d6000602084013e612e8b565b606091505b505080915050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612ed7906145b7565b60006040518083038185875af1925050503d8060008114612f14576040519150601f19603f3d011682016040523d82523d6000602084013e612f19565b606091505b5050809150506000905060008b111561303557601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e600080601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612fb5969594939291906145cc565b60606040518083038185885af1158015612fd3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ff8919061462d565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c60405161302c929190614680565b60405180910390a15b5050505050505050505050506000601f60006101000a81548160ff021916908315150217905550565b6000806013549050601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036130c5576011549050613121565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036131205760125490505b5b600061316a60646010546131359190613c64565b61315c8461314e600f548a6124cc90919063ffffffff16565b6124cc90919063ffffffff16565b61254690919063ffffffff16565b90506000613197600f54613189600e54856124cc90919063ffffffff16565b61254690919063ffffffff16565b905060006131ae828461259090919063ffffffff16565b905061320281600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132b98260066000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b60066000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161337b91906134aa565b60405180910390a3600082111561340e576133a18260035461259090919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161340591906134aa565b60405180910390a35b613421838861259090919063ffffffff16565b9450505050509392505050565b60008083118290613475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161346c9190613555565b60405180910390fd5b50600083856134849190613cd5565b9050809150509392505050565b6000819050919050565b6134a481613491565b82525050565b60006020820190506134bf600083018461349b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156134ff5780820151818401526020810190506134e4565b60008484015250505050565b6000601f19601f8301169050919050565b6000613527826134c5565b61353181856134d0565b93506135418185602086016134e1565b61354a8161350b565b840191505092915050565b6000602082019050818103600083015261356f818461351c565b905092915050565b60008115159050919050565b61358c81613577565b82525050565b60006020820190506135a76000830184613583565b92915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135e2826135b7565b9050919050565b6135f2816135d7565b81146135fd57600080fd5b50565b60008135905061360f816135e9565b92915050565b61361e81613491565b811461362957600080fd5b50565b60008135905061363b81613615565b92915050565b60008060408385031215613658576136576135ad565b5b600061366685828601613600565b92505060206136778582860161362c565b9150509250929050565b61368a81613577565b811461369557600080fd5b50565b6000813590506136a781613681565b92915050565b600080604083850312156136c4576136c36135ad565b5b60006136d285828601613698565b92505060206136e38582860161362c565b9150509250929050565b600080600060608486031215613706576137056135ad565b5b600061371486828701613600565b935050602061372586828701613600565b92505060406137368682870161362c565b9150509250925092565b600060208284031215613756576137556135ad565b5b60006137648482850161362c565b91505092915050565b600060ff82169050919050565b6137838161376d565b82525050565b600060208201905061379e600083018461377a565b92915050565b6000602082840312156137ba576137b96135ad565b5b60006137c884828501613600565b91505092915050565b600080600080600060a086880312156137ed576137ec6135ad565b5b60006137fb88828901613600565b955050602061380c88828901613600565b945050604061381d88828901613600565b935050606061382e88828901613600565b925050608061383f88828901613600565b9150509295509295909350565b60008060008060008060c08789031215613869576138686135ad565b5b600061387789828a0161362c565b965050602061388889828a0161362c565b955050604061389989828a0161362c565b94505060606138aa89828a0161362c565b93505060806138bb89828a0161362c565b92505060a06138cc89828a0161362c565b9150509295509295509295565b6138e2816135d7565b82525050565b60006020820190506138fd60008301846138d9565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261392857613927613903565b5b8235905067ffffffffffffffff81111561394557613944613908565b5b6020830191508360208202830111156139615761396061390d565b5b9250929050565b60008083601f84011261397e5761397d613903565b5b8235905067ffffffffffffffff81111561399b5761399a613908565b5b6020830191508360208202830111156139b7576139b661390d565b5b9250929050565b6000806000806000606086880312156139da576139d96135ad565b5b60006139e888828901613600565b955050602086013567ffffffffffffffff811115613a0957613a086135b2565b5b613a1588828901613912565b9450945050604086013567ffffffffffffffff811115613a3857613a376135b2565b5b613a4488828901613968565b92509250509295509295909350565b600080600060608486031215613a6c57613a6b6135ad565b5b6000613a7a8682870161362c565b9350506020613a8b8682870161362c565b9250506040613a9c8682870161362c565b9150509250925092565b60008060408385031215613abd57613abc6135ad565b5b6000613acb85828601613600565b9250506020613adc85828601613600565b9150509250929050565b60008060408385031215613afd57613afc6135ad565b5b6000613b0b8582860161362c565b9250506020613b1c8582860161362c565b9150509250929050565b6000819050919050565b6000613b4b613b46613b41846135b7565b613b26565b6135b7565b9050919050565b6000613b5d82613b30565b9050919050565b6000613b6f82613b52565b9050919050565b613b7f81613b64565b82525050565b6000602082019050613b9a6000830184613b76565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613bd66020836134d0565b9150613be182613ba0565b602082019050919050565b60006020820190508181036000830152613c0581613bc9565b9050919050565b6000604082019050613c21600083018561349b565b613c2e6020830184613583565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613c6f82613491565b9150613c7a83613491565b9250828202613c8881613491565b91508282048414831517613c9f57613c9e613c35565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613ce082613491565b9150613ceb83613491565b925082613cfb57613cfa613ca6565b5b828204905092915050565b600081519050613d1581613615565b92915050565b600060208284031215613d3157613d306135ad565b5b6000613d3f84828501613d06565b91505092915050565b6000604082019050613d5d60008301856138d9565b613d6a602083018461349b565b9392505050565b600081519050613d8081613681565b92915050565b600060208284031215613d9c57613d9b6135ad565b5b6000613daa84828501613d71565b91505092915050565b6000608082019050613dc860008301876138d9565b613dd560208301866138d9565b613de260408301856138d9565b613def60608301846138d9565b95945050505050565b7f466565732063616e206e6f74206265206d6f7265207468616e20353025000000600082015250565b6000613e2e601d836134d0565b9150613e3982613df8565b602082019050919050565b60006020820190508181036000830152613e5d81613e21565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b6000613ec0602d836134d0565b9150613ecb82613e64565b604082019050919050565b60006020820190508181036000830152613eef81613eb3565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b6000613f526028836134d0565b9150613f5d82613ef6565b604082019050919050565b60006020820190508181036000830152613f8181613f45565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613fc282613491565b9150613fcd83613491565b9250828201905080821115613fe557613fe4613c35565b5b92915050565b6000613ff682613491565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361402857614027613c35565b5b600182019050919050565b7f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c65740000000000600082015250565b6000614069601b836134d0565b915061407482614033565b602082019050919050565b600060208201905081810360008301526140988161405c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006140fb6026836134d0565b91506141068261409f565b604082019050919050565b6000602082019050818103600083015261412a816140ee565b9050919050565b600061413c82613491565b915061414783613491565b925082820390508181111561415f5761415e613c35565b5b92915050565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b600061419b6014836134d0565b91506141a682614165565b602082019050919050565b600060208201905081810360008301526141ca8161418e565b9050919050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b600061422d603e836134d0565b9150614238826141d1565b604082019050919050565b6000602082019050818103600083015261425c81614220565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006142bf6021836134d0565b91506142ca82614263565b604082019050919050565b600060208201905081810360008301526142ee816142b2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061432b601b836134d0565b9150614336826142f5565b602082019050919050565b6000602082019050818103600083015261435a8161431e565b9050919050565b6000606082019050614376600083018661377a565b614383602083018561377a565b614390604083018461377a565b949350505050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b60006143ce6011836134d0565b91506143d982614398565b602082019050919050565b600060208201905081810360008301526143fd816143c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b600061445861445361444e84614433565b613b26565b613491565b9050919050565b6144688161443d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6144a3816135d7565b82525050565b60006144b5838361449a565b60208301905092915050565b6000602082019050919050565b60006144d98261446e565b6144e38185614479565b93506144ee8361448a565b8060005b8381101561451f57815161450688826144a9565b9750614511836144c1565b9250506001810190506144f2565b5085935050505092915050565b600060a082019050614541600083018861349b565b61454e602083018761445f565b818103604083015261456081866144ce565b905061456f60608301856138d9565b61457c608083018461349b565b9695505050505050565b600081905092915050565b50565b60006145a1600083614586565b91506145ac82614591565b600082019050919050565b60006145c282614594565b9150819050919050565b600060c0820190506145e160008301896138d9565b6145ee602083018861349b565b6145fb604083018761445f565b614608606083018661445f565b61461560808301856138d9565b61462260a083018461349b565b979650505050505050565b600080600060608486031215614646576146456135ad565b5b600061465486828701613d06565b935050602061466586828701613d06565b925050604061467686828701613d06565b9150509250925092565b6000604082019050614695600083018561349b565b6146a2602083018461349b565b939250505056fea2646970667358221220df0800b5aff5d6a41a5dbf96a34a6c1334fee81bc541397d7b0758577f6a432b64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106102135760003560e01c806378109e5411610118578063a9059cbb116100a0578063dd62ed3e1161006f578063dd62ed3e1461078a578063ded1e438146107c7578063f2fde38b14610804578063f42938901461082d578063f887ea40146108445761021a565b8063a9059cbb146106d0578063b2bdfa7b1461070d578063b78e7edb14610738578063cec10c11146107615761021a565b8063893d20e8116100e7578063893d20e81461060d5780638a8c523c146106385780638da5cb5b1461064f57806395d89b411461067a578063a8aa1b31146106a55761021a565b806378109e54146105655780637d1db4a51461059057806382528791146105bb57806386f6c3c1146105e45761021a565b806330c9a6a01161019b5780635d0044ca1161016a5780635d0044ca146104805780636ddd1713146104a957806370a08231146104d4578063715018a61461051157806377b54bad146105285761021a565b806330c9a6a0146103b0578063313ce567146103ed5780635526566914610418578063571ac8b0146104435761021a565b806318160ddd116101e257806318160ddd146102dd5780631df4ccfc1461030857806322c5f95c1461033357806323b872dd1461035c5780632688f539146103995761021a565b80630445b6671461021f57806306fdde031461024a57806308fd3d0514610275578063095ea7b3146102a05761021a565b3661021a57005b600080fd5b34801561022b57600080fd5b5061023461086f565b60405161024191906134aa565b60405180910390f35b34801561025657600080fd5b5061025f610875565b60405161026c9190613555565b60405180910390f35b34801561028157600080fd5b5061028a6108b2565b6040516102979190613592565b60405180910390f35b3480156102ac57600080fd5b506102c760048036038101906102c29190613641565b6108c5565b6040516102d49190613592565b60405180910390f35b3480156102e957600080fd5b506102f26109b7565b6040516102ff91906134aa565b60405180910390f35b34801561031457600080fd5b5061031d6109c1565b60405161032a91906134aa565b60405180910390f35b34801561033f57600080fd5b5061035a600480360381019061035591906136ad565b6109c7565b005b34801561036857600080fd5b50610383600480360381019061037e91906136ed565b610acb565b6040516103909190613592565b60405180910390f35b3480156103a557600080fd5b506103ae610ccb565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190613740565b610d74565b6040516103e491906134aa565b60405180910390f35b3480156103f957600080fd5b50610402610de6565b60405161040f9190613789565b60405180910390f35b34801561042457600080fd5b5061042d610def565b60405161043a91906134aa565b60405180910390f35b34801561044f57600080fd5b5061046a600480360381019061046591906137a4565b610e30565b6040516104779190613592565b60405180910390f35b34801561048c57600080fd5b506104a760048036038101906104a29190613740565b610e63565b005b3480156104b557600080fd5b506104be610f63565b6040516104cb9190613592565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f691906137a4565b610f76565b60405161050891906134aa565b60405180910390f35b34801561051d57600080fd5b50610526610fbf565b005b34801561053457600080fd5b5061054f600480360381019061054a9190613641565b611112565b60405161055c9190613592565b60405180910390f35b34801561057157600080fd5b5061057a611279565b60405161058791906134aa565b60405180910390f35b34801561059c57600080fd5b506105a561127f565b6040516105b291906134aa565b60405180910390f35b3480156105c757600080fd5b506105e260048036038101906105dd91906137d1565b611285565b005b3480156105f057600080fd5b5061060b6004803603810190610606919061384c565b61152b565b005b34801561061957600080fd5b5061062261169b565b60405161062f91906138e8565b60405180910390f35b34801561064457600080fd5b5061064d6116aa565b005b34801561065b57600080fd5b50610664611777565b60405161067191906138e8565b60405180910390f35b34801561068657600080fd5b5061068f6117a0565b60405161069c9190613555565b60405180910390f35b3480156106b157600080fd5b506106ba6117dd565b6040516106c791906138e8565b60405180910390f35b3480156106dc57600080fd5b506106f760048036038101906106f29190613641565b611803565b6040516107049190613592565b60405180910390f35b34801561071957600080fd5b50610722611818565b60405161072f91906138e8565b60405180910390f35b34801561074457600080fd5b5061075f600480360381019061075a91906139be565b61183c565b005b34801561076d57600080fd5b5061078860048036038101906107839190613a53565b611a6b565b005b34801561079657600080fd5b506107b160048036038101906107ac9190613aa6565b611b1a565b6040516107be91906134aa565b60405180910390f35b3480156107d357600080fd5b506107ee60048036038101906107e99190613ae6565b611ba1565b6040516107fb9190613592565b60405180910390f35b34801561081057600080fd5b5061082b600480360381019061082691906137a4565b611bb6565b005b34801561083957600080fd5b50610842611d77565b005b34801561085057600080fd5b50610859611de2565b6040516108669190613b85565b60405180910390f35b601e5481565b60606040518060400160405280601281526020017f4f72626974726f6e636861696e20436f696e0000000000000000000000000000815250905090565b601d60149054906101000a900460ff1681565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109a591906134aa565b60405180910390a36001905092915050565b6000600354905090565b600f5481565b6109cf611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5390613bec565b60405180910390fd5b81601d60156101000a81548160ff02191690831515021790555080601e819055507f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60601e54601d60159054906101000a900460ff16604051610abf929190613c0c565b60405180910390a15050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610cb757610c36826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e109092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cc2848484611e74565b90509392505050565b610cd3611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5790613bec565b60405180910390fd5b600354600481905550600354600581905550565b6000610ddf610d81610def565b610dd1610dc26002610db4601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f76565b6124cc90919063ffffffff16565b856124cc90919063ffffffff16565b61254690919063ffffffff16565b9050919050565b60006012905090565b6000610e2b610dfe6000610f76565b610e1d610e0c61dead610f76565b60035461259090919063ffffffff16565b61259090919063ffffffff16565b905090565b6000610e5c827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108c5565b9050919050565b610e6b611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eef90613bec565b60405180910390fd5b6001811015610f0657600080fd5b6103e881600354610f179190613c64565b610f219190613cd5565b6005819055507f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be51600554604051610f5891906134aa565b60405180910390a150565b601d60159054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fc7611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104b90613bec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000808203611198578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161115491906138e8565b602060405180830381865afa158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190613d1b565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f83836040516111c9929190613d48565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161122e929190613d48565b6020604051808303816000875af115801561124d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112719190613d86565b905092915050565b60055481565b60045481565b61128d611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461131a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131190613bec565b60405180910390fd5b84601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b15601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161151c9493929190613db3565b60405180910390a15050505050565b611533611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b790613bec565b60405180910390fd5b85600a8190555084600d8190555083600b8190555082600c8190555081600e8190555061162c8261161e85611610886116028b8d6125da90919063ffffffff16565b6125da90919063ffffffff16565b6125da90919063ffffffff16565b6125da90919063ffffffff16565b600f819055508060108190555060026010546116489190613cd5565b600f541061168b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168290613e44565b60405180910390fd5b611693612638565b505050505050565b60006116a5611777565b905090565b6116b2611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461173f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173690613bec565b60405180910390fd5b6001601d60146101000a81548160ff0219169083151502179055506101f46012819055506103206011819055506103e8601381905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4f52424954000000000000000000000000000000000000000000000000000000815250905090565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611810338484611e74565b905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611844611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c890613bec565b60405180910390fd5b6101f58484905010611918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190f90613ed6565b60405180910390fd5b818190508484905014611960576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195790613f68565b60405180910390fd5b6000805b858590508110156119a95783838281811061198257611981613f88565b5b90506020020135826119949190613fb7565b915080806119a190613feb565b915050611964565b50806119b487610f76565b10156119f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ec9061407f565b60405180910390fd5b60005b85859050811015611a6257611a4e87878784818110611a1a57611a19613f88565b5b9050602002016020810190611a2f91906137a4565b868685818110611a4257611a41613f88565b5b905060200201356126f0565b508080611a5a90613feb565b9150506119f8565b50505050505050565b611a73611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af790613bec565b60405180910390fd5b816011819055508260128190555080601381905550505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082611bad83610d74565b11905092915050565b611bbe611e08565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4290613bec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb190614111565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611ddf573d6000803e3d6000fd5b50565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b6000838311158290611e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4f9190613555565b60405180910390fd5b5060008385611e679190614131565b9050809150509392505050565b6000601f60009054906101000a900460ff1615611e9d57611e968484846126f0565b90506124c5565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f415750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611f9657601d60149054906101000a900460ff16611f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8c906141b1565b60405180910390fd5b5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561201c57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612056575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120b05750601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561210a5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156121645750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156121ba5750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561221e5760006121ca84610f76565b905060055483826121db9190613fb7565b111561221c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221390614243565b60405180910390fd5b505b61222884836128c3565b612230612960565b1561223e5761223d612a37565b5b6122c7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e109092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123ad5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6123c1576123bc85848661305e565b6123c3565b825b905061241781600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124b791906134aa565b60405180910390a360019150505b9392505050565b60008083036124de5760009050612540565b600082846124ec9190613c64565b90508284826124fb9190613cd5565b1461253b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612532906142d5565b60405180910390fd5b809150505b92915050565b600061258883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061342e565b905092915050565b60006125d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e10565b905092915050565b60008082846125e99190613fb7565b90508381101561262e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262590614341565b60405180910390fd5b8091505092915050565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006126836064612675601254600f546124cc90919063ffffffff16565b61254690919063ffffffff16565b6126ad606461269f601154600f546124cc90919063ffffffff16565b61254690919063ffffffff16565b6126d760646126c9601354600f546124cc90919063ffffffff16565b61254690919063ffffffff16565b6040516126e693929190614361565b60405180910390a1565b600061277b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e109092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061281082600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128b091906134aa565b60405180910390a3600190509392505050565b6004548111158061291d5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61295c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612953906143e4565b60405180910390fd5b5050565b6000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156129cd5750601f60009054906101000a900460ff16155b80156129e55750601d60159054906101000a900460ff165b8015612a325750601e54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601f60006101000a81548160ff0219169083151502179055506000612a62601954601a54611ba1565b612a6e57600a54612a71565b60005b90506000612ab16002612aa3600f54612a9586601e546124cc90919063ffffffff16565b61254690919063ffffffff16565b61254690919063ffffffff16565b90506000612aca82601e5461259090919063ffffffff16565b90506000600267ffffffffffffffff811115612ae957612ae8614404565b5b604051908082528060200260200182016040528015612b175781602001602082028036833780820191505090505b5090503081600081518110612b2f57612b2e613f88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612ba057612b9f613f88565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b8152600401612c4395949392919061452c565b600060405180830381600087803b158015612c5d57600080fd5b505af1158015612c71573d6000803e3d6000fd5b505050506000612c8a824761259090919063ffffffff16565b90506000612cb6612ca560028961254690919063ffffffff16565b600f5461259090919063ffffffff16565b90506000612cf26002612ce484612cd68c886124cc90919063ffffffff16565b61254690919063ffffffff16565b61254690919063ffffffff16565b90506000612d1d83612d0f600b54876124cc90919063ffffffff16565b61254690919063ffffffff16565b90506000612d4884612d3a600d54886124cc90919063ffffffff16565b61254690919063ffffffff16565b90506000612d7385612d65600c54896124cc90919063ffffffff16565b61254690919063ffffffff16565b90506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051612dbd906145b7565b60006040518083038185875af1925050503d8060008114612dfa576040519150601f19603f3d011682016040523d82523d6000602084013e612dff565b606091505b50509050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612e49906145b7565b60006040518083038185875af1925050503d8060008114612e86576040519150601f19603f3d011682016040523d82523d6000602084013e612e8b565b606091505b505080915050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612ed7906145b7565b60006040518083038185875af1925050503d8060008114612f14576040519150601f19603f3d011682016040523d82523d6000602084013e612f19565b606091505b5050809150506000905060008b111561303557601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e600080601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612fb5969594939291906145cc565b60606040518083038185885af1158015612fd3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ff8919061462d565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c60405161302c929190614680565b60405180910390a15b5050505050505050505050506000601f60006101000a81548160ff021916908315150217905550565b6000806013549050601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036130c5576011549050613121565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036131205760125490505b5b600061316a60646010546131359190613c64565b61315c8461314e600f548a6124cc90919063ffffffff16565b6124cc90919063ffffffff16565b61254690919063ffffffff16565b90506000613197600f54613189600e54856124cc90919063ffffffff16565b61254690919063ffffffff16565b905060006131ae828461259090919063ffffffff16565b905061320281600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132b98260066000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125da90919063ffffffff16565b60066000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161337b91906134aa565b60405180910390a3600082111561340e576133a18260035461259090919063ffffffff16565b600381905550600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161340591906134aa565b60405180910390a35b613421838861259090919063ffffffff16565b9450505050509392505050565b60008083118290613475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161346c9190613555565b60405180910390fd5b50600083856134849190613cd5565b9050809150509392505050565b6000819050919050565b6134a481613491565b82525050565b60006020820190506134bf600083018461349b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156134ff5780820151818401526020810190506134e4565b60008484015250505050565b6000601f19601f8301169050919050565b6000613527826134c5565b61353181856134d0565b93506135418185602086016134e1565b61354a8161350b565b840191505092915050565b6000602082019050818103600083015261356f818461351c565b905092915050565b60008115159050919050565b61358c81613577565b82525050565b60006020820190506135a76000830184613583565b92915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135e2826135b7565b9050919050565b6135f2816135d7565b81146135fd57600080fd5b50565b60008135905061360f816135e9565b92915050565b61361e81613491565b811461362957600080fd5b50565b60008135905061363b81613615565b92915050565b60008060408385031215613658576136576135ad565b5b600061366685828601613600565b92505060206136778582860161362c565b9150509250929050565b61368a81613577565b811461369557600080fd5b50565b6000813590506136a781613681565b92915050565b600080604083850312156136c4576136c36135ad565b5b60006136d285828601613698565b92505060206136e38582860161362c565b9150509250929050565b600080600060608486031215613706576137056135ad565b5b600061371486828701613600565b935050602061372586828701613600565b92505060406137368682870161362c565b9150509250925092565b600060208284031215613756576137556135ad565b5b60006137648482850161362c565b91505092915050565b600060ff82169050919050565b6137838161376d565b82525050565b600060208201905061379e600083018461377a565b92915050565b6000602082840312156137ba576137b96135ad565b5b60006137c884828501613600565b91505092915050565b600080600080600060a086880312156137ed576137ec6135ad565b5b60006137fb88828901613600565b955050602061380c88828901613600565b945050604061381d88828901613600565b935050606061382e88828901613600565b925050608061383f88828901613600565b9150509295509295909350565b60008060008060008060c08789031215613869576138686135ad565b5b600061387789828a0161362c565b965050602061388889828a0161362c565b955050604061389989828a0161362c565b94505060606138aa89828a0161362c565b93505060806138bb89828a0161362c565b92505060a06138cc89828a0161362c565b9150509295509295509295565b6138e2816135d7565b82525050565b60006020820190506138fd60008301846138d9565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261392857613927613903565b5b8235905067ffffffffffffffff81111561394557613944613908565b5b6020830191508360208202830111156139615761396061390d565b5b9250929050565b60008083601f84011261397e5761397d613903565b5b8235905067ffffffffffffffff81111561399b5761399a613908565b5b6020830191508360208202830111156139b7576139b661390d565b5b9250929050565b6000806000806000606086880312156139da576139d96135ad565b5b60006139e888828901613600565b955050602086013567ffffffffffffffff811115613a0957613a086135b2565b5b613a1588828901613912565b9450945050604086013567ffffffffffffffff811115613a3857613a376135b2565b5b613a4488828901613968565b92509250509295509295909350565b600080600060608486031215613a6c57613a6b6135ad565b5b6000613a7a8682870161362c565b9350506020613a8b8682870161362c565b9250506040613a9c8682870161362c565b9150509250925092565b60008060408385031215613abd57613abc6135ad565b5b6000613acb85828601613600565b9250506020613adc85828601613600565b9150509250929050565b60008060408385031215613afd57613afc6135ad565b5b6000613b0b8582860161362c565b9250506020613b1c8582860161362c565b9150509250929050565b6000819050919050565b6000613b4b613b46613b41846135b7565b613b26565b6135b7565b9050919050565b6000613b5d82613b30565b9050919050565b6000613b6f82613b52565b9050919050565b613b7f81613b64565b82525050565b6000602082019050613b9a6000830184613b76565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613bd66020836134d0565b9150613be182613ba0565b602082019050919050565b60006020820190508181036000830152613c0581613bc9565b9050919050565b6000604082019050613c21600083018561349b565b613c2e6020830184613583565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613c6f82613491565b9150613c7a83613491565b9250828202613c8881613491565b91508282048414831517613c9f57613c9e613c35565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613ce082613491565b9150613ceb83613491565b925082613cfb57613cfa613ca6565b5b828204905092915050565b600081519050613d1581613615565b92915050565b600060208284031215613d3157613d306135ad565b5b6000613d3f84828501613d06565b91505092915050565b6000604082019050613d5d60008301856138d9565b613d6a602083018461349b565b9392505050565b600081519050613d8081613681565b92915050565b600060208284031215613d9c57613d9b6135ad565b5b6000613daa84828501613d71565b91505092915050565b6000608082019050613dc860008301876138d9565b613dd560208301866138d9565b613de260408301856138d9565b613def60608301846138d9565b95945050505050565b7f466565732063616e206e6f74206265206d6f7265207468616e20353025000000600082015250565b6000613e2e601d836134d0565b9150613e3982613df8565b602082019050919050565b60006020820190508181036000830152613e5d81613e21565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d69742069732060008201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b6000613ec0602d836134d0565b9150613ecb82613e64565b604082019050919050565b60006020820190508181036000830152613eef81613eb3565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b6000613f526028836134d0565b9150613f5d82613ef6565b604082019050919050565b60006020820190508181036000830152613f8181613f45565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613fc282613491565b9150613fcd83613491565b9250828201905080821115613fe557613fe4613c35565b5b92915050565b6000613ff682613491565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361402857614027613c35565b5b600182019050919050565b7f4e6f7420656e6f75676820746f6b656e7320696e2077616c6c65740000000000600082015250565b6000614069601b836134d0565b915061407482614033565b602082019050919050565b600060208201905081810360008301526140988161405c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006140fb6026836134d0565b91506141068261409f565b604082019050919050565b6000602082019050818103600083015261412a816140ee565b9050919050565b600061413c82613491565b915061414783613491565b925082820390508181111561415f5761415e613c35565b5b92915050565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b600061419b6014836134d0565b91506141a682614165565b602082019050919050565b600060208201905081810360008301526141ca8161418e565b9050919050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b600061422d603e836134d0565b9150614238826141d1565b604082019050919050565b6000602082019050818103600083015261425c81614220565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006142bf6021836134d0565b91506142ca82614263565b604082019050919050565b600060208201905081810360008301526142ee816142b2565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061432b601b836134d0565b9150614336826142f5565b602082019050919050565b6000602082019050818103600083015261435a8161431e565b9050919050565b6000606082019050614376600083018661377a565b614383602083018561377a565b614390604083018461377a565b949350505050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b60006143ce6011836134d0565b91506143d982614398565b602082019050919050565b600060208201905081810360008301526143fd816143c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b600061445861445361444e84614433565b613b26565b613491565b9050919050565b6144688161443d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6144a3816135d7565b82525050565b60006144b5838361449a565b60208301905092915050565b6000602082019050919050565b60006144d98261446e565b6144e38185614479565b93506144ee8361448a565b8060005b8381101561451f57815161450688826144a9565b9750614511836144c1565b9250506001810190506144f2565b5085935050505092915050565b600060a082019050614541600083018861349b565b61454e602083018761445f565b818103604083015261456081866144ce565b905061456f60608301856138d9565b61457c608083018461349b565b9695505050505050565b600081905092915050565b50565b60006145a1600083614586565b91506145ac82614591565b600082019050919050565b60006145c282614594565b9150819050919050565b600060c0820190506145e160008301896138d9565b6145ee602083018861349b565b6145fb604083018761445f565b614608606083018661445f565b61461560808301856138d9565b61462260a083018461349b565b979650505050505050565b600080600060608486031215614646576146456135ad565b5b600061465486828701613d06565b935050602061466586828701613d06565b925050604061467686828701613d06565b9150509250925092565b6000604082019050614695600083018561349b565b6146a2602083018461349b565b939250505056fea2646970667358221220df0800b5aff5d6a41a5dbf96a34a6c1334fee81bc541397d7b0758577f6a432b64736f6c63430008130033

Deployed Bytecode Sourcemap

7895:14080:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10240:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11630:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10157:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12052:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11360:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9526:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21309:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12570:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13208:140;;;;;;;;;;;;;:::i;:::-;;21675:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11454:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21836:132;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12276:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12952:246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10203:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11800:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4809:148;;;;;;;;;;;;;:::i;:::-;;16590:338;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9029:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8964:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20754:547;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19548:585;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11716:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17203:199;;;;;;;;;;;;;:::i;:::-;;4595:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11540:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10125:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12406:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4215:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20141:605;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16936:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11911:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21532:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4965:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16451:132;;;;;;;;;;;;;:::i;:::-;;10055:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10240:55;;;;:::o;11630:80::-;11678:13;11702:5;;;;;;;;;;;;;;;;;11695:12;;11630:80;:::o;10157:31::-;;;;;;;;;;;;;:::o;12052:216::-;12127:4;12179:6;12144:11;:23;12156:10;12144:23;;;;;;;;;;;;;;;:32;12168:7;12144:32;;;;;;;;;;;;;;;:41;;;;12222:7;12201:37;;12210:10;12201:37;;;12231:6;12201:37;;;;;;:::i;:::-;;;;;;;;12256:4;12249:11;;12052:216;;;;:::o;11360:88::-;11415:7;11433:12;;11426:19;;11360:88;:::o;9526:93::-;;;;:::o;21309:215::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21418:8:::1;21404:11;;:22;;;;;;;;;;;;;;;;;;21453:7;21437:13;:23;;;;21476:40;21489:13;;21504:11;;;;;;;;;;;21476:40;;;;;;;:::i;:::-;;;;;;;;21309:215:::0;;:::o;12570:370::-;12670:4;12725:17;12690:11;:19;12702:6;12690:19;;;;;;;;;;;;;;;:31;12710:10;12690:31;;;;;;;;;;;;;;;;:52;12687:186;;12792:69;12828:6;12792:69;;;;;;;;;;;;;;;;;:11;:19;12804:6;12792:19;;;;;;;;;;;;;;;:31;12812:10;12792:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;12758:11;:19;12770:6;12758:19;;;;;;;;;;;;;;;:31;12778:10;12758:31;;;;;;;;;;;;;;;:103;;;;12687:186;12892:40;12906:6;12914:9;12925:6;12892:13;:40::i;:::-;12885:47;;12570:370;;;;;:::o;13208:140::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13283:12:::1;;13268;:27;;;;13328:12;;13310:15;:30;;;;13208:140::o:0;21675:149::-;21735:7;21762:54;21803:12;:10;:12::i;:::-;21762:36;21775:22;21795:1;21775:15;21785:4;;;;;;;;;;;21775:9;:15::i;:::-;:19;;:22;;;;:::i;:::-;21762:8;:12;;:36;;;;:::i;:::-;:40;;:54;;;;:::i;:::-;21755:61;;21675:149;;;:::o;11454:80::-;11506:5;8269:2;11515:16;;11454:80;:::o;21836:132::-;21879:7;21906:54;21944:15;8094:42;21944:9;:15::i;:::-;21906:33;21923:15;8021:42;21923:9;:15::i;:::-;21906:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;21899:61;;21836:132;:::o;12276:122::-;12331:4;12355:35;12363:7;12372:17;12355:7;:35::i;:::-;12348:42;;12276:122;;;:::o;12952:246::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13055:1:::1;13037:14;:19;;13029:28;;;::::0;::::1;;13122:4;13103:14;13088:12;;:29;;;;:::i;:::-;13087:39;;;;:::i;:::-;13069:15;:57;;;;13142:30;13156:15;;13142:30;;;;;;:::i;:::-;;;;;;;;12952:246:::0;:::o;10203:30::-;;;;;;;;;;;;;:::o;11800:105::-;11866:7;11884:9;:18;11894:7;11884:18;;;;;;;;;;;;;;;;11877:25;;11800:105;;;:::o;4809:148::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4916:1:::1;4879:40;;4900:6;::::0;::::1;;;;;;;;4879:40;;;;;;;;;;;;4947:1;4930:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4809:148::o:0;16590:338::-;16671:12;16714:1;16704:6;:11;16701:95;;16746:12;16740:29;;;16778:4;16740:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16731:53;;16701:95;16811:32;16822:12;16836:6;16811:32;;;;;;;:::i;:::-;;;;;;;;16867:12;16861:28;;;16890:21;;;;;;;;;;;16913:6;16861:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16854:66;;16590:338;;;;:::o;9029:61::-;;;;:::o;8964:58::-;;;;:::o;20754:547::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20971:22:::1;20947:21;;:46;;;;;;;;;;;;;;;;;;21027:21;21004:20;;:44;;;;;;;;;;;;;;;;;;21076:15;21059:14;;:32;;;;;;;;;;;;;;;;;;21120:16;21102:15;;:34;;;;;;;;;;;;;;;;;;21168:19;21147:18;;:40;;;;;;;;;;;;;;;;;;21205:88;21219:20;;;;;;;;;;;21241:18;;;;;;;;;;;21261:15;;;;;;;;;;;21278:14;;;;;;;;;;;21205:88;;;;;;;;;:::i;:::-;;;;;;;;20754:547:::0;;;;;:::o;19548:585::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19737:13:::1;19722:12;:28;;;;19774:11;19761:10;:24;;;;19811:13;19796:12;:28;;;;19844:7;19835:6;:16;;;;19872:8;19862:7;:18;;;;19902:76;19969:8;19902:62;19956:7;19902:49;19937:13;19902:30;19920:11;19902:13;:17;;:30;;;;:::i;:::-;:34;;:49;;;;:::i;:::-;:53;;:62;;;;:::i;:::-;:66;;:76;;;;:::i;:::-;19891:8;:87;;;;20006:15;19989:14;:32;;;;20068:1;20051:14;;:18;;;;:::i;:::-;20040:8;;:29;20032:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;20115:10;:8;:10::i;:::-;19548:585:::0;;;;;;:::o;11716:78::-;11768:7;11785;:5;:7::i;:::-;11778:14;;11716:78;:::o;17203:199::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17270:4:::1;17256:11;;:18;;;;;;;;;;;;;;;;;;17298:3;17285:10;:16;;;;17326:3;17312:11;:17;;;;17358:4;17340:15;:22;;;;17203:199::o:0;4595:79::-;4633:7;4660:6;;;;;;;;;;;4653:13;;4595:79;:::o;11540:84::-;11590:13;11614:7;;;;;;;;;;;;;;;;;11607:14;;11540:84;:::o;10125:19::-;;;;;;;;;;;;;:::o;12406:156::-;12486:4;12510:44;12524:10;12536:9;12547:6;12510:13;:44::i;:::-;12503:51;;12406:156;;;;:::o;4215:21::-;;;;;;;;;;;;:::o;20141:605::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20289:3:::1;20270:9;;:16;;:22;20262:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;20376:6;;:13;;20356:9;;:16;;:33;20348:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;20442:15;20474:6:::0;20470:88:::1;20488:9;;:16;;20484:1;:20;20470:88;;;20541:6;;20548:1;20541:9;;;;;;;:::i;:::-;;;;;;;;20531:7;:19;;;;:::i;:::-;20521:29;;20506:3;;;;;:::i;:::-;;;;20470:88;;;;20593:7;20574:15;20584:4;20574:9;:15::i;:::-;:26;;20566:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;20645:6;20641:102;20659:9;;:16;;20655:1;:20;20641:102;;;20692:43;20707:4;20712:9;;20722:1;20712:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;20725:6;;20732:1;20725:9;;;;;;;:::i;:::-;;;;;;;;20692:14;:43::i;:::-;;20677:3;;;;;:::i;:::-;;;;20641:102;;;;20253:493;20141:605:::0;;;;;:::o;16936:252::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17069:14:::1;17055:11;:28;;;;17107:13;17094:10;:26;;;;17149:15;17131;:33;;;;16936:252:::0;;;:::o;11911:133::-;11995:7;12013:11;:19;12025:6;12013:19;;;;;;;;;;;;;;;:28;12033:7;12013:28;;;;;;;;;;;;;;;;12006:35;;11911:133;;;;:::o;21532:135::-;21606:4;21654:5;21630:21;21642:8;21630:11;:21::i;:::-;:29;21623:36;;21532:135;;;;:::o;4965:244::-;4732:12;:10;:12::i;:::-;4722:22;;:6;;;;;;;;;;:22;;;4714:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5074:1:::1;5054:22;;:8;:22;;::::0;5046:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;5164:8;5135:38;;5156:6;::::0;::::1;;;;;;;;5135:38;;;;;;;;;;;;5193:8;5184:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;4965:244:::0;:::o;16451:132::-;16507:21;;;;;;;;;;;16499:39;;:62;16539:21;16499:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16451:132::o;10055:24::-;;;;;;;;;;;;;:::o;3936:115::-;3989:15;4032:10;4017:26;;3936:115;:::o;7107:192::-;7193:7;7226:1;7221;:6;;7229:12;7213:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;7253:9;7269:1;7265;:5;;;;:::i;:::-;7253:17;;7290:1;7283:8;;;7107:192;;;;;:::o;13364:1237::-;13456:4;13476:6;;;;;;;;;;;13473:63;;;13492:41;13507:6;13515:9;13526:6;13492:14;:41::i;:::-;13485:48;;;;13473:63;13552:14;:22;13567:6;13552:22;;;;;;;;;;;;;;;;;;;;;;;;;13551:23;:53;;;;;13579:14;:25;13594:9;13579:25;;;;;;;;;;;;;;;;;;;;;;;;;13578:26;13551:53;13548:139;;;13628:11;;;;;;;;;;;13620:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;13548:139;13729:14;:22;13744:6;13729:22;;;;;;;;;;;;;;;;;;;;;;;;;13728:23;:53;;;;;13776:4;13755:26;;:9;:26;;;;13728:53;:84;;;;;8021:42;13786:26;;:9;:26;;;;13728:84;:105;;;;;13829:4;;;;;;;;;;;13816:17;;:9;:17;;;;13728:105;:137;;;;;13850:15;;;;;;;;;;;13837:28;;:9;:28;;;;13728:137;:174;;;;;13882:20;;;;;;;;;;;13869:33;;:9;:33;;;;13728:174;:207;;;;;13907:17;:28;13925:9;13907:28;;;;;;;;;;;;;;;;;;;;;;;;;13906:29;13728:207;13724:399;;;13951:18;13972:20;13982:9;13972;:20::i;:::-;13951:41;;14040:15;;14029:6;14016:10;:19;;;;:::i;:::-;14015:40;;14007:114;;;;;;;;;;;;:::i;:::-;;;;;;;;;13936:187;13724:399;14135:28;14148:6;14156;14135:12;:28::i;:::-;14180:16;:14;:16::i;:::-;14177:35;;;14199:10;:8;:10::i;:::-;14177:35;14242:53;14264:6;14242:53;;;;;;;;;;;;;;;;;:9;:17;14252:6;14242:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14222:9;:17;14232:6;14222:17;;;;;;;;;;;;;;;:73;;;;14308:22;14334:16;:24;14351:6;14334:24;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;14362:16;:27;14379:9;14362:27;;;;;;;;;;;;;;;;;;;;;;;;;14334:55;14333:103;;14402:34;14410:6;14418;14426:9;14402:7;:34::i;:::-;14333:103;;;14393:6;14333:103;14308:128;;14470:40;14495:14;14470:9;:20;14480:9;14470:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;14447:9;:20;14457:9;14447:20;;;;;;;;;;;;;;;:63;;;;14545:9;14528:43;;14537:6;14528:43;;;14556:14;14528:43;;;;;;:::i;:::-;;;;;;;;14589:4;14582:11;;;13364:1237;;;;;;:::o;7305:250::-;7363:7;7392:1;7387;:6;7383:47;;7417:1;7410:8;;;;7383:47;7442:9;7458:1;7454;:5;;;;:::i;:::-;7442:17;;7487:1;7482;7478;:5;;;;:::i;:::-;:10;7470:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;7546:1;7539:8;;;7305:250;;;;;:::o;7561:132::-;7619:7;7646:39;7650:1;7653;7646:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;7639:46;;7561:132;;;;:::o;6965:136::-;7023:7;7050:43;7054:1;7057;7050:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;7043:50;;6965:136;;;;:::o;6778:181::-;6836:7;6856:9;6872:1;6868;:5;;;;:::i;:::-;6856:17;;6897:1;6892;:6;;6884:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;6950:1;6943:8;;;6778:181;;;;:::o;19295:241::-;19348:180;19363:33;19392:3;19363:24;19376:10;;19363:8;;:12;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;19418:34;19448:3;19418:25;19431:11;;19418:8;;:12;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;19474:38;19508:3;19474:29;19487:15;;19474:8;;:12;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;19348:180;;;;;;;;:::i;:::-;;;;;;;;19295:241::o;14610:330::-;14703:4;14740:53;14762:6;14740:53;;;;;;;;;;;;;;;;;:9;:17;14750:6;14740:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14720:9;:17;14730:6;14720:17;;;;;;;;;;;;;;;:73;;;;14827:32;14852:6;14827:9;:20;14837:9;14827:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;14804:9;:20;14814:9;14804:20;;;;;;;;;;;;;;;:55;;;;14892:9;14875:35;;14884:6;14875:35;;;14903:6;14875:35;;;;;;:::i;:::-;;;;;;;;14928:4;14921:11;;14610:330;;;;;:::o;14948:168::-;15045:12;;15035:6;:22;;:51;;;;15061:17;:25;15079:6;15061:25;;;;;;;;;;;;;;;;;;;;;;;;;15035:51;15027:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;14948:168;;:::o;16241:197::-;16290:4;16328;;;;;;;;;;;16314:18;;:10;:18;;;;:38;;;;;16346:6;;;;;;;;;;;16345:7;16314:38;:62;;;;;16365:11;;;;;;;;;;;16314:62;:116;;;;;16417:13;;16389:9;:24;16407:4;16389:24;;;;;;;;;;;;;;;;:41;;16314:116;16307:123;;16241:197;:::o;17425:1854::-;10352:4;10343:6;;:13;;;;;;;;;;;;;;;;;;17474:27:::1;17504:41;17515:8;;17525:19;;17504:10;:41::i;:::-;:60;;17552:12;;17504:60;;;17548:1;17504:60;17474:90;;17575:23;17601:59;17658:1;17601:52;17644:8;;17601:38;17619:19;17601:13;;:17;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;17575:85;;17671:20;17694:34;17712:15;17694:13;;:17;;:34;;;;:::i;:::-;17671:57;;17741:21;17779:1;17765:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17741:40;;17810:4;17792;17797:1;17792:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;17836:4;;;;;;;;;;;17826;17831:1;17826:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;17853:21;17877;17853:45;;17911:6;;;;;;;;;;;:57;;;17983:12;18010:1;18026:4;18053;18073:15;17911:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18112:17;18132:40;18158:13;18132:21;:25;;:40;;;;:::i;:::-;18112:60;;18185:19;18207:40;18220:26;18244:1;18220:19;:23;;:26;;;;:::i;:::-;18207:8;;:12;;:40;;;;:::i;:::-;18185:62;;18268:26;18297:58;18353:1;18297:51;18336:11;18297:34;18311:19;18297:9;:13;;:34;;;;:::i;:::-;:38;;:51;;;;:::i;:::-;:55;;:58;;;;:::i;:::-;18268:87;;18366:26;18395:44;18427:11;18395:27;18409:12;;18395:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;18366:73;;18450:24;18477:42;18507:11;18477:25;18491:10;;18477:9;:13;;:25;;;;:::i;:::-;:29;;:42;;;;:::i;:::-;18450:69;;18530:20;18553:38;18579:11;18553:21;18567:6;;18553:9;:13;;:21;;;;:::i;:::-;:25;;:38;;;;:::i;:::-;18530:61;;18605:15;18633:20;;;;;;;;;;;18625:34;;18667:18;18625:65;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18604:86;;;18725:14;;;;;;;;;;;18717:28;;18753:12;18717:53;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18701:69;;;;;18805:18;;;;;;;;;;;18797:32;;18837:16;18797:61;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18781:77;;;;;18892:5;18879:18;;18931:1;18913:15;:19;18910:362;;;18948:6;;;;;;;;;;;:22;;;18978:18;19024:4;19048:15;19082:1;19102::::0;19122:21:::1;;;;;;;;;;;19162:15;18948:244;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;19212:48;19224:18;19244:15;19212:48;;;;;;;:::i;:::-;;;;;;;;18910:362;17463:1816;;;;;;;;;;;;10370:5:::0;10361:6;;:14;;;;;;;;;;;;;;;;;;17425:1854::o;15251:982::-;15337:7;15367:15;15385;;15367:33;;15427:4;;;;;;;;;;;15414:17;;:9;:17;;;15411:142;;15458:11;;15448:21;;15411:142;;;15500:4;;;;;;;;;;;15490:14;;:6;:14;;;15487:66;;15531:10;;15521:20;;15487:66;15411:142;15565:17;15585:59;15640:3;15623:14;;:20;;;;:::i;:::-;15585:33;15610:7;15585:20;15596:8;;15585:6;:10;;:20;;;;:::i;:::-;:24;;:33;;;;:::i;:::-;:37;;:59;;;;:::i;:::-;15565:79;;15655:18;15676:36;15703:8;;15676:22;15690:7;;15676:9;:13;;:22;;;;:::i;:::-;:26;;:36;;;;:::i;:::-;15655:57;;15723:22;15748:25;15762:10;15748:9;:13;;:25;;;;:::i;:::-;15723:50;;15811:44;15840:14;15811:9;:24;15829:4;15811:24;;;;;;;;;;;;;;;;:28;;:44;;;;:::i;:::-;15784:9;:24;15802:4;15784:24;;;;;;;;;;;;;;;:71;;;;15895:42;15926:10;15895:9;:26;15905:15;;;;;;;;;;;15895:26;;;;;;;;;;;;;;;;:30;;:42;;;;:::i;:::-;15866:9;:26;15876:15;;;;;;;;;;;15866:26;;;;;;;;;;;;;;;:71;;;;15978:4;15953:47;;15962:6;15953:47;;;15985:14;15953:47;;;;;;:::i;:::-;;;;;;;;16047:1;16034:10;:14;16031:154;;;16079:28;16096:10;16079:12;;:16;;:28;;;;:::i;:::-;16064:12;:43;;;;8094:42;16127:34;;16136:6;16127:34;;;16150:10;16127:34;;;;;;:::i;:::-;;;;;;;;16031:154;16204:21;16215:9;16204:6;:10;;:21;;;;:::i;:::-;16197:28;;;;;;15251:982;;;;;:::o;7699:189::-;7785:7;7817:1;7813;:5;7820:12;7805:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;7844:9;7860:1;7856;:5;;;;:::i;:::-;7844:17;;7879:1;7872:8;;;7699:189;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1784:90::-;1818:7;1861:5;1854:13;1847:21;1836:32;;1784:90;;;:::o;1880:109::-;1961:21;1976:5;1961:21;:::i;:::-;1956:3;1949:34;1880:109;;:::o;1995:210::-;2082:4;2120:2;2109:9;2105:18;2097:26;;2133:65;2195:1;2184:9;2180:17;2171:6;2133:65;:::i;:::-;1995:210;;;;:::o;2292:117::-;2401:1;2398;2391:12;2415:117;2524:1;2521;2514:12;2538:126;2575:7;2615:42;2608:5;2604:54;2593:65;;2538:126;;;:::o;2670:96::-;2707:7;2736:24;2754:5;2736:24;:::i;:::-;2725:35;;2670:96;;;:::o;2772:122::-;2845:24;2863:5;2845:24;:::i;:::-;2838:5;2835:35;2825:63;;2884:1;2881;2874:12;2825:63;2772:122;:::o;2900:139::-;2946:5;2984:6;2971:20;2962:29;;3000:33;3027:5;3000:33;:::i;:::-;2900:139;;;;:::o;3045:122::-;3118:24;3136:5;3118:24;:::i;:::-;3111:5;3108:35;3098:63;;3157:1;3154;3147:12;3098:63;3045:122;:::o;3173:139::-;3219:5;3257:6;3244:20;3235:29;;3273:33;3300:5;3273:33;:::i;:::-;3173:139;;;;:::o;3318:474::-;3386:6;3394;3443:2;3431:9;3422:7;3418:23;3414:32;3411:119;;;3449:79;;:::i;:::-;3411:119;3569:1;3594:53;3639:7;3630:6;3619:9;3615:22;3594:53;:::i;:::-;3584:63;;3540:117;3696:2;3722:53;3767:7;3758:6;3747:9;3743:22;3722:53;:::i;:::-;3712:63;;3667:118;3318:474;;;;;:::o;3798:116::-;3868:21;3883:5;3868:21;:::i;:::-;3861:5;3858:32;3848:60;;3904:1;3901;3894:12;3848:60;3798:116;:::o;3920:133::-;3963:5;4001:6;3988:20;3979:29;;4017:30;4041:5;4017:30;:::i;:::-;3920:133;;;;:::o;4059:468::-;4124:6;4132;4181:2;4169:9;4160:7;4156:23;4152:32;4149:119;;;4187:79;;:::i;:::-;4149:119;4307:1;4332:50;4374:7;4365:6;4354:9;4350:22;4332:50;:::i;:::-;4322:60;;4278:114;4431:2;4457:53;4502:7;4493:6;4482:9;4478:22;4457:53;:::i;:::-;4447:63;;4402:118;4059:468;;;;;:::o;4533:619::-;4610:6;4618;4626;4675:2;4663:9;4654:7;4650:23;4646:32;4643:119;;;4681:79;;:::i;:::-;4643:119;4801:1;4826:53;4871:7;4862:6;4851:9;4847:22;4826:53;:::i;:::-;4816:63;;4772:117;4928:2;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4899:118;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;4533:619;;;;;:::o;5158:329::-;5217:6;5266:2;5254:9;5245:7;5241:23;5237:32;5234:119;;;5272:79;;:::i;:::-;5234:119;5392:1;5417:53;5462:7;5453:6;5442:9;5438:22;5417:53;:::i;:::-;5407:63;;5363:117;5158:329;;;;:::o;5493:86::-;5528:7;5568:4;5561:5;5557:16;5546:27;;5493:86;;;:::o;5585:112::-;5668:22;5684:5;5668:22;:::i;:::-;5663:3;5656:35;5585:112;;:::o;5703:214::-;5792:4;5830:2;5819:9;5815:18;5807:26;;5843:67;5907:1;5896:9;5892:17;5883:6;5843:67;:::i;:::-;5703:214;;;;:::o;5923:329::-;5982:6;6031:2;6019:9;6010:7;6006:23;6002:32;5999:119;;;6037:79;;:::i;:::-;5999:119;6157:1;6182:53;6227:7;6218:6;6207:9;6203:22;6182:53;:::i;:::-;6172:63;;6128:117;5923:329;;;;:::o;6258:911::-;6353:6;6361;6369;6377;6385;6434:3;6422:9;6413:7;6409:23;6405:33;6402:120;;;6441:79;;:::i;:::-;6402:120;6561:1;6586:53;6631:7;6622:6;6611:9;6607:22;6586:53;:::i;:::-;6576:63;;6532:117;6688:2;6714:53;6759:7;6750:6;6739:9;6735:22;6714:53;:::i;:::-;6704:63;;6659:118;6816:2;6842:53;6887:7;6878:6;6867:9;6863:22;6842:53;:::i;:::-;6832:63;;6787:118;6944:2;6970:53;7015:7;7006:6;6995:9;6991:22;6970:53;:::i;:::-;6960:63;;6915:118;7072:3;7099:53;7144:7;7135:6;7124:9;7120:22;7099:53;:::i;:::-;7089:63;;7043:119;6258:911;;;;;;;;:::o;7175:1057::-;7279:6;7287;7295;7303;7311;7319;7368:3;7356:9;7347:7;7343:23;7339:33;7336:120;;;7375:79;;:::i;:::-;7336:120;7495:1;7520:53;7565:7;7556:6;7545:9;7541:22;7520:53;:::i;:::-;7510:63;;7466:117;7622:2;7648:53;7693:7;7684:6;7673:9;7669:22;7648:53;:::i;:::-;7638:63;;7593:118;7750:2;7776:53;7821:7;7812:6;7801:9;7797:22;7776:53;:::i;:::-;7766:63;;7721:118;7878:2;7904:53;7949:7;7940:6;7929:9;7925:22;7904:53;:::i;:::-;7894:63;;7849:118;8006:3;8033:53;8078:7;8069:6;8058:9;8054:22;8033:53;:::i;:::-;8023:63;;7977:119;8135:3;8162:53;8207:7;8198:6;8187:9;8183:22;8162:53;:::i;:::-;8152:63;;8106:119;7175:1057;;;;;;;;:::o;8238:118::-;8325:24;8343:5;8325:24;:::i;:::-;8320:3;8313:37;8238:118;;:::o;8362:222::-;8455:4;8493:2;8482:9;8478:18;8470:26;;8506:71;8574:1;8563:9;8559:17;8550:6;8506:71;:::i;:::-;8362:222;;;;:::o;8590:117::-;8699:1;8696;8689:12;8713:117;8822:1;8819;8812:12;8836:117;8945:1;8942;8935:12;8976:568;9049:8;9059:6;9109:3;9102:4;9094:6;9090:17;9086:27;9076:122;;9117:79;;:::i;:::-;9076:122;9230:6;9217:20;9207:30;;9260:18;9252:6;9249:30;9246:117;;;9282:79;;:::i;:::-;9246:117;9396:4;9388:6;9384:17;9372:29;;9450:3;9442:4;9434:6;9430:17;9420:8;9416:32;9413:41;9410:128;;;9457:79;;:::i;:::-;9410:128;8976:568;;;;;:::o;9567:::-;9640:8;9650:6;9700:3;9693:4;9685:6;9681:17;9677:27;9667:122;;9708:79;;:::i;:::-;9667:122;9821:6;9808:20;9798:30;;9851:18;9843:6;9840:30;9837:117;;;9873:79;;:::i;:::-;9837:117;9987:4;9979:6;9975:17;9963:29;;10041:3;10033:4;10025:6;10021:17;10011:8;10007:32;10004:41;10001:128;;;10048:79;;:::i;:::-;10001:128;9567:568;;;;;:::o;10141:1079::-;10272:6;10280;10288;10296;10304;10353:2;10341:9;10332:7;10328:23;10324:32;10321:119;;;10359:79;;:::i;:::-;10321:119;10479:1;10504:53;10549:7;10540:6;10529:9;10525:22;10504:53;:::i;:::-;10494:63;;10450:117;10634:2;10623:9;10619:18;10606:32;10665:18;10657:6;10654:30;10651:117;;;10687:79;;:::i;:::-;10651:117;10800:80;10872:7;10863:6;10852:9;10848:22;10800:80;:::i;:::-;10782:98;;;;10577:313;10957:2;10946:9;10942:18;10929:32;10988:18;10980:6;10977:30;10974:117;;;11010:79;;:::i;:::-;10974:117;11123:80;11195:7;11186:6;11175:9;11171:22;11123:80;:::i;:::-;11105:98;;;;10900:313;10141:1079;;;;;;;;:::o;11226:619::-;11303:6;11311;11319;11368:2;11356:9;11347:7;11343:23;11339:32;11336:119;;;11374:79;;:::i;:::-;11336:119;11494:1;11519:53;11564:7;11555:6;11544:9;11540:22;11519:53;:::i;:::-;11509:63;;11465:117;11621:2;11647:53;11692:7;11683:6;11672:9;11668:22;11647:53;:::i;:::-;11637:63;;11592:118;11749:2;11775:53;11820:7;11811:6;11800:9;11796:22;11775:53;:::i;:::-;11765:63;;11720:118;11226:619;;;;;:::o;11851:474::-;11919:6;11927;11976:2;11964:9;11955:7;11951:23;11947:32;11944:119;;;11982:79;;:::i;:::-;11944:119;12102:1;12127:53;12172:7;12163:6;12152:9;12148:22;12127:53;:::i;:::-;12117:63;;12073:117;12229:2;12255:53;12300:7;12291:6;12280:9;12276:22;12255:53;:::i;:::-;12245:63;;12200:118;11851:474;;;;;:::o;12331:::-;12399:6;12407;12456:2;12444:9;12435:7;12431:23;12427:32;12424:119;;;12462:79;;:::i;:::-;12424:119;12582:1;12607:53;12652:7;12643:6;12632:9;12628:22;12607:53;:::i;:::-;12597:63;;12553:117;12709:2;12735:53;12780:7;12771:6;12760:9;12756:22;12735:53;:::i;:::-;12725:63;;12680:118;12331:474;;;;;:::o;12811:60::-;12839:3;12860:5;12853:12;;12811:60;;;:::o;12877:142::-;12927:9;12960:53;12978:34;12987:24;13005:5;12987:24;:::i;:::-;12978:34;:::i;:::-;12960:53;:::i;:::-;12947:66;;12877:142;;;:::o;13025:126::-;13075:9;13108:37;13139:5;13108:37;:::i;:::-;13095:50;;13025:126;;;:::o;13157:144::-;13225:9;13258:37;13289:5;13258:37;:::i;:::-;13245:50;;13157:144;;;:::o;13307:167::-;13412:55;13461:5;13412:55;:::i;:::-;13407:3;13400:68;13307:167;;:::o;13480:258::-;13591:4;13629:2;13618:9;13614:18;13606:26;;13642:89;13728:1;13717:9;13713:17;13704:6;13642:89;:::i;:::-;13480:258;;;;:::o;13744:182::-;13884:34;13880:1;13872:6;13868:14;13861:58;13744:182;:::o;13932:366::-;14074:3;14095:67;14159:2;14154:3;14095:67;:::i;:::-;14088:74;;14171:93;14260:3;14171:93;:::i;:::-;14289:2;14284:3;14280:12;14273:19;;13932:366;;;:::o;14304:419::-;14470:4;14508:2;14497:9;14493:18;14485:26;;14557:9;14551:4;14547:20;14543:1;14532:9;14528:17;14521:47;14585:131;14711:4;14585:131;:::i;:::-;14577:139;;14304:419;;;:::o;14729:320::-;14844:4;14882:2;14871:9;14867:18;14859:26;;14895:71;14963:1;14952:9;14948:17;14939:6;14895:71;:::i;:::-;14976:66;15038:2;15027:9;15023:18;15014:6;14976:66;:::i;:::-;14729:320;;;;;:::o;15055:180::-;15103:77;15100:1;15093:88;15200:4;15197:1;15190:15;15224:4;15221:1;15214:15;15241:410;15281:7;15304:20;15322:1;15304:20;:::i;:::-;15299:25;;15338:20;15356:1;15338:20;:::i;:::-;15333:25;;15393:1;15390;15386:9;15415:30;15433:11;15415:30;:::i;:::-;15404:41;;15594:1;15585:7;15581:15;15578:1;15575:22;15555:1;15548:9;15528:83;15505:139;;15624:18;;:::i;:::-;15505:139;15289:362;15241:410;;;;:::o;15657:180::-;15705:77;15702:1;15695:88;15802:4;15799:1;15792:15;15826:4;15823:1;15816:15;15843:185;15883:1;15900:20;15918:1;15900:20;:::i;:::-;15895:25;;15934:20;15952:1;15934:20;:::i;:::-;15929:25;;15973:1;15963:35;;15978:18;;:::i;:::-;15963:35;16020:1;16017;16013:9;16008:14;;15843:185;;;;:::o;16034:143::-;16091:5;16122:6;16116:13;16107:22;;16138:33;16165:5;16138:33;:::i;:::-;16034:143;;;;:::o;16183:351::-;16253:6;16302:2;16290:9;16281:7;16277:23;16273:32;16270:119;;;16308:79;;:::i;:::-;16270:119;16428:1;16453:64;16509:7;16500:6;16489:9;16485:22;16453:64;:::i;:::-;16443:74;;16399:128;16183:351;;;;:::o;16540:332::-;16661:4;16699:2;16688:9;16684:18;16676:26;;16712:71;16780:1;16769:9;16765:17;16756:6;16712:71;:::i;:::-;16793:72;16861:2;16850:9;16846:18;16837:6;16793:72;:::i;:::-;16540:332;;;;;:::o;16878:137::-;16932:5;16963:6;16957:13;16948:22;;16979:30;17003:5;16979:30;:::i;:::-;16878:137;;;;:::o;17021:345::-;17088:6;17137:2;17125:9;17116:7;17112:23;17108:32;17105:119;;;17143:79;;:::i;:::-;17105:119;17263:1;17288:61;17341:7;17332:6;17321:9;17317:22;17288:61;:::i;:::-;17278:71;;17234:125;17021:345;;;;:::o;17372:553::-;17549:4;17587:3;17576:9;17572:19;17564:27;;17601:71;17669:1;17658:9;17654:17;17645:6;17601:71;:::i;:::-;17682:72;17750:2;17739:9;17735:18;17726:6;17682:72;:::i;:::-;17764;17832:2;17821:9;17817:18;17808:6;17764:72;:::i;:::-;17846;17914:2;17903:9;17899:18;17890:6;17846:72;:::i;:::-;17372:553;;;;;;;:::o;17931:179::-;18071:31;18067:1;18059:6;18055:14;18048:55;17931:179;:::o;18116:366::-;18258:3;18279:67;18343:2;18338:3;18279:67;:::i;:::-;18272:74;;18355:93;18444:3;18355:93;:::i;:::-;18473:2;18468:3;18464:12;18457:19;;18116:366;;;:::o;18488:419::-;18654:4;18692:2;18681:9;18677:18;18669:26;;18741:9;18735:4;18731:20;18727:1;18716:9;18712:17;18705:47;18769:131;18895:4;18769:131;:::i;:::-;18761:139;;18488:419;;;:::o;18913:232::-;19053:34;19049:1;19041:6;19037:14;19030:58;19122:15;19117:2;19109:6;19105:15;19098:40;18913:232;:::o;19151:366::-;19293:3;19314:67;19378:2;19373:3;19314:67;:::i;:::-;19307:74;;19390:93;19479:3;19390:93;:::i;:::-;19508:2;19503:3;19499:12;19492:19;;19151:366;;;:::o;19523:419::-;19689:4;19727:2;19716:9;19712:18;19704:26;;19776:9;19770:4;19766:20;19762:1;19751:9;19747:17;19740:47;19804:131;19930:4;19804:131;:::i;:::-;19796:139;;19523:419;;;:::o;19948:227::-;20088:34;20084:1;20076:6;20072:14;20065:58;20157:10;20152:2;20144:6;20140:15;20133:35;19948:227;:::o;20181:366::-;20323:3;20344:67;20408:2;20403:3;20344:67;:::i;:::-;20337:74;;20420:93;20509:3;20420:93;:::i;:::-;20538:2;20533:3;20529:12;20522:19;;20181:366;;;:::o;20553:419::-;20719:4;20757:2;20746:9;20742:18;20734:26;;20806:9;20800:4;20796:20;20792:1;20781:9;20777:17;20770:47;20834:131;20960:4;20834:131;:::i;:::-;20826:139;;20553:419;;;:::o;20978:180::-;21026:77;21023:1;21016:88;21123:4;21120:1;21113:15;21147:4;21144:1;21137:15;21164:191;21204:3;21223:20;21241:1;21223:20;:::i;:::-;21218:25;;21257:20;21275:1;21257:20;:::i;:::-;21252:25;;21300:1;21297;21293:9;21286:16;;21321:3;21318:1;21315:10;21312:36;;;21328:18;;:::i;:::-;21312:36;21164:191;;;;:::o;21361:233::-;21400:3;21423:24;21441:5;21423:24;:::i;:::-;21414:33;;21469:66;21462:5;21459:77;21456:103;;21539:18;;:::i;:::-;21456:103;21586:1;21579:5;21575:13;21568:20;;21361:233;;;:::o;21600:177::-;21740:29;21736:1;21728:6;21724:14;21717:53;21600:177;:::o;21783:366::-;21925:3;21946:67;22010:2;22005:3;21946:67;:::i;:::-;21939:74;;22022:93;22111:3;22022:93;:::i;:::-;22140:2;22135:3;22131:12;22124:19;;21783:366;;;:::o;22155:419::-;22321:4;22359:2;22348:9;22344:18;22336:26;;22408:9;22402:4;22398:20;22394:1;22383:9;22379:17;22372:47;22436:131;22562:4;22436:131;:::i;:::-;22428:139;;22155:419;;;:::o;22580:225::-;22720:34;22716:1;22708:6;22704:14;22697:58;22789:8;22784:2;22776:6;22772:15;22765:33;22580:225;:::o;22811:366::-;22953:3;22974:67;23038:2;23033:3;22974:67;:::i;:::-;22967:74;;23050:93;23139:3;23050:93;:::i;:::-;23168:2;23163:3;23159:12;23152:19;;22811:366;;;:::o;23183:419::-;23349:4;23387:2;23376:9;23372:18;23364:26;;23436:9;23430:4;23426:20;23422:1;23411:9;23407:17;23400:47;23464:131;23590:4;23464:131;:::i;:::-;23456:139;;23183:419;;;:::o;23608:194::-;23648:4;23668:20;23686:1;23668:20;:::i;:::-;23663:25;;23702:20;23720:1;23702:20;:::i;:::-;23697:25;;23746:1;23743;23739:9;23731:17;;23770:1;23764:4;23761:11;23758:37;;;23775:18;;:::i;:::-;23758:37;23608:194;;;;:::o;23808:170::-;23948:22;23944:1;23936:6;23932:14;23925:46;23808:170;:::o;23984:366::-;24126:3;24147:67;24211:2;24206:3;24147:67;:::i;:::-;24140:74;;24223:93;24312:3;24223:93;:::i;:::-;24341:2;24336:3;24332:12;24325:19;;23984:366;;;:::o;24356:419::-;24522:4;24560:2;24549:9;24545:18;24537:26;;24609:9;24603:4;24599:20;24595:1;24584:9;24580:17;24573:47;24637:131;24763:4;24637:131;:::i;:::-;24629:139;;24356:419;;;:::o;24781:249::-;24921:34;24917:1;24909:6;24905:14;24898:58;24990:32;24985:2;24977:6;24973:15;24966:57;24781:249;:::o;25036:366::-;25178:3;25199:67;25263:2;25258:3;25199:67;:::i;:::-;25192:74;;25275:93;25364:3;25275:93;:::i;:::-;25393:2;25388:3;25384:12;25377:19;;25036:366;;;:::o;25408:419::-;25574:4;25612:2;25601:9;25597:18;25589:26;;25661:9;25655:4;25651:20;25647:1;25636:9;25632:17;25625:47;25689:131;25815:4;25689:131;:::i;:::-;25681:139;;25408:419;;;:::o;25833:220::-;25973:34;25969:1;25961:6;25957:14;25950:58;26042:3;26037:2;26029:6;26025:15;26018:28;25833:220;:::o;26059:366::-;26201:3;26222:67;26286:2;26281:3;26222:67;:::i;:::-;26215:74;;26298:93;26387:3;26298:93;:::i;:::-;26416:2;26411:3;26407:12;26400:19;;26059:366;;;:::o;26431:419::-;26597:4;26635:2;26624:9;26620:18;26612:26;;26684:9;26678:4;26674:20;26670:1;26659:9;26655:17;26648:47;26712:131;26838:4;26712:131;:::i;:::-;26704:139;;26431:419;;;:::o;26856:177::-;26996:29;26992:1;26984:6;26980:14;26973:53;26856:177;:::o;27039:366::-;27181:3;27202:67;27266:2;27261:3;27202:67;:::i;:::-;27195:74;;27278:93;27367:3;27278:93;:::i;:::-;27396:2;27391:3;27387:12;27380:19;;27039:366;;;:::o;27411:419::-;27577:4;27615:2;27604:9;27600:18;27592:26;;27664:9;27658:4;27654:20;27650:1;27639:9;27635:17;27628:47;27692:131;27818:4;27692:131;:::i;:::-;27684:139;;27411:419;;;:::o;27836:418::-;27973:4;28011:2;28000:9;27996:18;27988:26;;28024:67;28088:1;28077:9;28073:17;28064:6;28024:67;:::i;:::-;28101:68;28165:2;28154:9;28150:18;28141:6;28101:68;:::i;:::-;28179;28243:2;28232:9;28228:18;28219:6;28179:68;:::i;:::-;27836:418;;;;;;:::o;28260:167::-;28400:19;28396:1;28388:6;28384:14;28377:43;28260:167;:::o;28433:366::-;28575:3;28596:67;28660:2;28655:3;28596:67;:::i;:::-;28589:74;;28672:93;28761:3;28672:93;:::i;:::-;28790:2;28785:3;28781:12;28774:19;;28433:366;;;:::o;28805:419::-;28971:4;29009:2;28998:9;28994:18;28986:26;;29058:9;29052:4;29048:20;29044:1;29033:9;29029:17;29022:47;29086:131;29212:4;29086:131;:::i;:::-;29078:139;;28805:419;;;:::o;29230:180::-;29278:77;29275:1;29268:88;29375:4;29372:1;29365:15;29399:4;29396:1;29389:15;29416:85;29461:7;29490:5;29479:16;;29416:85;;;:::o;29507:158::-;29565:9;29598:61;29616:42;29625:32;29651:5;29625:32;:::i;:::-;29616:42;:::i;:::-;29598:61;:::i;:::-;29585:74;;29507:158;;;:::o;29671:147::-;29766:45;29805:5;29766:45;:::i;:::-;29761:3;29754:58;29671:147;;:::o;29824:114::-;29891:6;29925:5;29919:12;29909:22;;29824:114;;;:::o;29944:184::-;30043:11;30077:6;30072:3;30065:19;30117:4;30112:3;30108:14;30093:29;;29944:184;;;;:::o;30134:132::-;30201:4;30224:3;30216:11;;30254:4;30249:3;30245:14;30237:22;;30134:132;;;:::o;30272:108::-;30349:24;30367:5;30349:24;:::i;:::-;30344:3;30337:37;30272:108;;:::o;30386:179::-;30455:10;30476:46;30518:3;30510:6;30476:46;:::i;:::-;30554:4;30549:3;30545:14;30531:28;;30386:179;;;;:::o;30571:113::-;30641:4;30673;30668:3;30664:14;30656:22;;30571:113;;;:::o;30720:732::-;30839:3;30868:54;30916:5;30868:54;:::i;:::-;30938:86;31017:6;31012:3;30938:86;:::i;:::-;30931:93;;31048:56;31098:5;31048:56;:::i;:::-;31127:7;31158:1;31143:284;31168:6;31165:1;31162:13;31143:284;;;31244:6;31238:13;31271:63;31330:3;31315:13;31271:63;:::i;:::-;31264:70;;31357:60;31410:6;31357:60;:::i;:::-;31347:70;;31203:224;31190:1;31187;31183:9;31178:14;;31143:284;;;31147:14;31443:3;31436:10;;30844:608;;;30720:732;;;;:::o;31458:831::-;31721:4;31759:3;31748:9;31744:19;31736:27;;31773:71;31841:1;31830:9;31826:17;31817:6;31773:71;:::i;:::-;31854:80;31930:2;31919:9;31915:18;31906:6;31854:80;:::i;:::-;31981:9;31975:4;31971:20;31966:2;31955:9;31951:18;31944:48;32009:108;32112:4;32103:6;32009:108;:::i;:::-;32001:116;;32127:72;32195:2;32184:9;32180:18;32171:6;32127:72;:::i;:::-;32209:73;32277:3;32266:9;32262:19;32253:6;32209:73;:::i;:::-;31458:831;;;;;;;;:::o;32295:147::-;32396:11;32433:3;32418:18;;32295:147;;;;:::o;32448:114::-;;:::o;32568:398::-;32727:3;32748:83;32829:1;32824:3;32748:83;:::i;:::-;32741:90;;32840:93;32929:3;32840:93;:::i;:::-;32958:1;32953:3;32949:11;32942:18;;32568:398;;;:::o;32972:379::-;33156:3;33178:147;33321:3;33178:147;:::i;:::-;33171:154;;33342:3;33335:10;;32972:379;;;:::o;33357:807::-;33606:4;33644:3;33633:9;33629:19;33621:27;;33658:71;33726:1;33715:9;33711:17;33702:6;33658:71;:::i;:::-;33739:72;33807:2;33796:9;33792:18;33783:6;33739:72;:::i;:::-;33821:80;33897:2;33886:9;33882:18;33873:6;33821:80;:::i;:::-;33911;33987:2;33976:9;33972:18;33963:6;33911:80;:::i;:::-;34001:73;34069:3;34058:9;34054:19;34045:6;34001:73;:::i;:::-;34084;34152:3;34141:9;34137:19;34128:6;34084:73;:::i;:::-;33357:807;;;;;;;;;:::o;34170:663::-;34258:6;34266;34274;34323:2;34311:9;34302:7;34298:23;34294:32;34291:119;;;34329:79;;:::i;:::-;34291:119;34449:1;34474:64;34530:7;34521:6;34510:9;34506:22;34474:64;:::i;:::-;34464:74;;34420:128;34587:2;34613:64;34669:7;34660:6;34649:9;34645:22;34613:64;:::i;:::-;34603:74;;34558:129;34726:2;34752:64;34808:7;34799:6;34788:9;34784:22;34752:64;:::i;:::-;34742:74;;34697:129;34170:663;;;;;:::o;34839:332::-;34960:4;34998:2;34987:9;34983:18;34975:26;;35011:71;35079:1;35068:9;35064:17;35055:6;35011:71;:::i;:::-;35092:72;35160:2;35149:9;35145:18;35136:6;35092:72;:::i;:::-;34839:332;;;;;:::o

Swarm Source

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