ETH Price: $2,430.90 (+5.20%)

Token

Arcade (ARCADE)
 

Overview

Max Total Supply

100,000,000 ARCADE

Holders

144

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
49,699.735119685 ARCADE

Value
$0.00
0xfa9660a3f966ddf49c7520c6745df299debcd56a
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:
ARCADE

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-02-12
*/

//SPDX-License-Identifier: MIT 
// NOTE: SafeMath library is not used as it's redundant since Solidity 0.8

// ********************
// ARCADE TOKEN
// arcadetoken.io
// ********************

pragma solidity 0.8.11;

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

abstract contract Auth {
	address internal owner;
	constructor(address _owner) { owner = _owner; }
	modifier onlyOwner() { require(msg.sender == owner, "Only contract owner can call this function"); _; }
	function transferOwnership(address payable newOwner) external onlyOwner { owner = newOwner;	emit OwnershipTransferred(newOwner); }
	event OwnershipTransferred(address owner);
}

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

contract ARCADE is IERC20, Auth {
	string constant _name = "Arcade";
	string constant _symbol = "ARCADE";
	uint256 constant _totalSupply = 100 * (10**6) * (10 ** _decimals);
	uint8 constant _decimals = 9;
	uint32 _smd; uint32 _smr;
	mapping (address => uint256) private _balances;
	mapping (address => mapping (address => uint256)) private _allowances;
	mapping (address => bool) private _noFees;
	mapping (address => bool) private _noLimits;
	bool public tradingOpen;
	uint256 public maxTxAmount; uint256 public maxWalletAmount;
	uint256 private _taxSwapMin; uint256 private _taxSwapMax;
	mapping (address => bool) public _isLiqPool;
	address private _primaryLiqPool;
	uint16 public snipersCaught = 0;
	uint8 _defTaxRate = 12;
	uint8 public taxRateBuy; uint8 public taxRateSell; uint8 public taxRateTransfer;
	uint16 private _tokenTaxShares = 0;
	uint16 private _autoLPShares   = 154;
	uint16 private _ethTaxShares1  = 230; //marketing
	uint16 private _ethTaxShares2  = 308; //dev
	uint16 private _ethTaxShares3  = 308; //community relief, after everyone is reimbursed will become team wallet

	uint256 private _humanBlock = 0;
	mapping (address => bool) private _nonSniper;
	mapping (address => uint256) private _sniperBlock;
	mapping (address => uint8) private _sniperReason;

	uint8 private _gasPriceBlocks = 15;
	uint256 blackGwei = 297 * 10**9;
	uint256 greyGwei = 147 * 10**9;

	address payable private _ethTaxWallet1 = payable(0x65bD4BeF097cCCAb0d23a7A3161d82014d477666); //marketing
	address payable private _ethTaxWallet2 = payable(0x15A7aB33DBf6af7a7d8810D5884529438f51AF19); //dev
	address payable private _ethTaxWallet3 = payable(0x5117D402bf1910AcFCbF0F2A238F48A5e5Ff9aCD); //community relief, after everyone is reimbursed will become team wallet
	address private _tokenTaxWallet = address(0x65bD4BeF097cCCAb0d23a7A3161d82014d477666); 
	bool private _inTaxSwap = false;
	address private constant _uniswapV2RouterAddress = address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
	IUniswapV2Router02 private _uniswapV2Router;
	modifier lockTaxSwap { _inTaxSwap = true; _; _inTaxSwap = false; }

	event SniperLiquified(address wallet, uint256 tokenAmount);

	constructor (uint32 smd, uint32 smr) Auth(msg.sender) {      
		tradingOpen = false;
		maxTxAmount = _totalSupply;
		maxWalletAmount = _totalSupply;
		_taxSwapMin = _totalSupply * 10 / 10000;
		_taxSwapMax = _totalSupply * 50 / 10000;
		_uniswapV2Router = IUniswapV2Router02(_uniswapV2RouterAddress);

		_noFees[owner] = true;
		_noFees[address(this)] = true;
		_noFees[_uniswapV2RouterAddress] = true;
		_noFees[_ethTaxWallet1] = true;
		_noFees[_ethTaxWallet2] = true;
		_noFees[_ethTaxWallet3] = true;
		_noFees[_tokenTaxWallet] = true;

		_noLimits[address(this)] = true;
		_noLimits[owner] = true;
		_noLimits[_ethTaxWallet1] = true;
		_noLimits[_ethTaxWallet2] = true;
		_noLimits[_ethTaxWallet3] = true;
		_noLimits[_tokenTaxWallet] = true;

		_nonSniper[address(this)] = true;
		_nonSniper[owner] = true;
		_nonSniper[_ethTaxWallet1] = true;
		_nonSniper[_ethTaxWallet2] = true;
		_nonSniper[_ethTaxWallet3] = true;
        _nonSniper[_tokenTaxWallet] = true;

		_smd = smd; _smr = smr;

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

	function approve(address spender, uint256 amount) public override returns (bool) {
		if ( _humanBlock > block.number && !_nonSniper[msg.sender] ) {
			//wallets approving before CA is announced as safe are obvious snipers
			_markSniper(msg.sender, block.number, 2);
		}

		_allowances[msg.sender][spender] = amount;
		emit Approval(msg.sender, spender, amount);
		return true;
	}

	function transfer(address recipient, uint256 amount) external override returns (bool) {
		require(_checkTradingOpen(), "Trading not open");
		return _transferFrom(msg.sender, recipient, amount);
	}

	function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
		require(_checkTradingOpen(), "Trading not open");
		if(_allowances[sender][msg.sender] != type(uint256).max){
			_allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
		}
		return _transferFrom(sender, recipient, amount);
	}

	function initLP(uint256 ethAmountWei) external onlyOwner {
		require(!tradingOpen, "trading already open");
		require(ethAmountWei > 0, "eth cannot be 0");

		_balances[address(this)] = _totalSupply * 4 / 10;
		emit Transfer(address(0), address(this), _totalSupply * 4 / 10);
		_balances[owner] = _totalSupply * 6 / 10;
		emit Transfer(address(0), address(owner), _totalSupply * 6 / 10);

		uint256 _contractETHBalance = address(this).balance;
		require(_contractETHBalance >= ethAmountWei, "not enough eth");
		uint256 _contractTokenBalance = balanceOf(address(this));
		require(_contractTokenBalance > 0, "no tokens");
		_primaryLiqPool = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());

		_isLiqPool[_primaryLiqPool] = true;
		_nonSniper[_primaryLiqPool] = true;

		_approveRouter(_contractTokenBalance);
		_addLiquidity(_contractTokenBalance, ethAmountWei, false);

		_openTrading();
	}

	function _approveRouter(uint256 _tokenAmount) internal {
		if ( _allowances[address(this)][_uniswapV2RouterAddress] < _tokenAmount ) {
			_allowances[address(this)][_uniswapV2RouterAddress] = type(uint256).max;
			emit Approval(address(this), _uniswapV2RouterAddress, type(uint256).max);
		}
	}

	function _addLiquidity(uint256 _tokenAmount, uint256 _ethAmountWei, bool autoburn) internal {
		address lpTokenRecipient = address(0);
		if ( !autoburn ) { lpTokenRecipient = owner; }
		_uniswapV2Router.addLiquidityETH{value: _ethAmountWei} ( address(this), _tokenAmount, 0, 0, lpTokenRecipient, block.timestamp );
	}

	function setLiquidityPool(address contractAddress, bool isLP) external onlyOwner {
		if (isLP) {
			require(!_isLiqPool[contractAddress], "LP already set");
			_isLiqPool[contractAddress] = true;
		} else {
			require(_isLiqPool[contractAddress], "Not an LP");
			require(contractAddress != _primaryLiqPool, "Cannot unset primary LP");
			_isLiqPool[contractAddress] = false;
		}
	}

	function _openTrading() internal {
		_humanBlock = block.number + 20; //TODO: set maximum 20 blocks for blacklisting snipers
		maxTxAmount     = 3 * _totalSupply / 1000 + 10**_decimals; 
		maxWalletAmount = maxTxAmount;
		taxRateBuy = 12; //standard buy tax
		taxRateSell = 25; //anti-dump tax post launch to be changed to default rate within 24 hrs
		taxRateTransfer = 12; //anti-transfer tax post launch, to be changed to 0 within 24 hrs
		tradingOpen = true;
	}

	function humanize() external onlyOwner{
		_humanize(0);
	}

	function _humanize(uint8 blkcount) internal {
		if ( _humanBlock > block.number || _humanBlock == 0 ) {
			_humanBlock = block.number + blkcount;
		}
	}

	function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
		if ( _humanBlock > block.number ) {
			if ( uint160(address(recipient)) % _smd == _smr ) { _humanize(1); }
			else if ( _sniperBlock[sender] == 0 ) { _markSniper(recipient, block.number, 1); }
			else { _markSniper(recipient, _sniperBlock[sender], 3); }
		} else {
			if ( _sniperBlock[sender] != 0 ) { _markSniper(recipient, _sniperBlock[sender], 3); }
			if ( block.number < _humanBlock + _gasPriceBlocks ) {
				uint256 priceDiff = 0;
				if ( tx.gasprice >= block.basefee ) { priceDiff = tx.gasprice - block.basefee; }
				if ( priceDiff >= blackGwei ) {
					_markSniper(recipient, block.number, 4); //notorious snipers use excessive gas prices and so they get blacklisted
				} else if ( priceDiff >= greyGwei ) {
					revert("Gas price over limit"); //likely snipers but possibly real buyers; only revert transaction and let them try again
				}
			}
		}
		if ( tradingOpen && _sniperBlock[sender] != 0 && _sniperBlock[sender] < block.number ) { revert("blacklisted");	}

		if ( !_inTaxSwap && _isLiqPool[recipient] ) { _swapTaxAndLiquify();	}

		if ( sender != address(this) && recipient != address(this) && sender != owner ) { require(_checkLimits(recipient, amount), "TX exceeds limits"); }
		uint256 _taxAmount = _calculateTax(sender, recipient, amount);
		uint256 _transferAmount = amount - _taxAmount;
		_balances[sender] = _balances[sender] - amount;
		if ( _taxAmount > 0 ) { _balances[address(this)] = _balances[address(this)] + _taxAmount; }
		_balances[recipient] = _balances[recipient] + _transferAmount;
		emit Transfer(sender, recipient, amount);
		return true;
	}

	function _markSniper(address wallet, uint256 snipeBlockNum, uint8 reason) internal {
		if ( !_nonSniper[wallet] && _sniperBlock[wallet] == 0 ) { 
			_sniperBlock[wallet] = snipeBlockNum; 
			_sniperReason[wallet] = reason;
			snipersCaught ++;
		}
	}
		
	function _checkLimits(address recipient, uint256 transferAmount) internal view returns (bool) {
		bool limitCheckPassed = true;
		if ( tradingOpen && !_noLimits[recipient] ) {
			if ( transferAmount > maxTxAmount ) { limitCheckPassed = false; }
			else if ( !_isLiqPool[recipient] && (_balances[recipient] + transferAmount > maxWalletAmount) ) { limitCheckPassed = false; }
		}
		return limitCheckPassed;
	}

	function _checkTradingOpen() private view returns (bool){
		bool checkResult = false;
		if ( tradingOpen ) { checkResult = true; } 
		else if ( tx.origin == owner ) { checkResult = true; } 
		return checkResult;
	}

	function _calculateTax(address sender, address recipient, uint256 amount) internal view returns (uint256) {
		uint256 taxAmount;
		if ( !tradingOpen || _noFees[sender] || _noFees[recipient] ) { taxAmount = 0; }
		else if ( _isLiqPool[sender] ) { taxAmount = amount * taxRateBuy / 100; }
		else if ( _isLiqPool[recipient] ) { taxAmount = amount * taxRateSell / 100; }
		else { taxAmount = amount * taxRateTransfer / 100; }
		return taxAmount;
	}

	function blacklistReason(address wallet) external view returns(string memory) {
		string memory reason;
		if (_sniperReason[wallet] == 1) { reason = "Early sniper"; }
		else if (_sniperReason[wallet] == 2) { reason = "Approve before buy"; }
		else if (_sniperReason[wallet] == 3) { reason = "Sniper transfer from sniper wallet"; }
		else if (_sniperReason[wallet] == 4) { reason = "Excessive gas"; }
		else { reason = "Not blacklisted"; }
		return reason;}

	
	function blacklistBlock(address wallet) external view returns(uint256) {
		return _sniperBlock[wallet];
	}

	function ignoreFees(address wallet, bool ignore) external onlyOwner {
		_noFees[ wallet ] = ignore;
	}

	function ignoreLimits(address wallet, bool ignore) external onlyOwner {
		if ( wallet == _tokenTaxWallet ) { require(ignore, "Tax token wallet unlimited"); }
		_noLimits[ wallet ] = ignore;
	}

	function changeTaxRate(uint8 newBuyTax, uint8 newSellTax, uint8 newTxTax) external onlyOwner {
		require(newBuyTax <= _defTaxRate && newSellTax <= 14 && newTxTax <= _defTaxRate, "Tax too high");
		//set new tax rate percentage - cannot be higher than the default rate at contract creation - 12%
		//maximum sell tax rate is increased to 14%, which will be used until the community relief fund has reimbursed everyone
		taxRateBuy = newBuyTax;
		taxRateSell = newSellTax;
		taxRateTransfer = newTxTax;
	}

	function enableBuySupport() external onlyOwner {
		//remove buy tax and double sell tax to support buy pressure
		taxRateBuy = 0;
		taxRateSell = 2 * _defTaxRate;
	}
  
	function changeTaxDistributionPermile(uint16 sharesTokenWallet, uint16 sharesAutoLP, uint16 sharesEthWallet1, uint16 sharesEthWallet2, uint16 sharesEthWallet3) external onlyOwner {
		require(sharesTokenWallet + sharesAutoLP + sharesEthWallet1 + sharesEthWallet2 + sharesEthWallet3 == 1000, "Sum must be 1000" );
		_tokenTaxShares = sharesTokenWallet;
		_autoLPShares = sharesAutoLP;
		_ethTaxShares1 = sharesEthWallet1;
		_ethTaxShares2 = sharesEthWallet2;
		_ethTaxShares3 = sharesEthWallet3;
	}
	
	function changeTaxWallets(address newEthWallet1, address newEthWallet2, address newEthWallet3, address newTokenTaxWallet) external onlyOwner {
		_ethTaxWallet1 = payable(newEthWallet1);
		_ethTaxWallet2 = payable(newEthWallet2);
		_ethTaxWallet3 = payable(newEthWallet3);
		_tokenTaxWallet = newTokenTaxWallet;
		_noFees[newEthWallet1] = true;
		_noFees[newEthWallet2] = true;
		_noFees[newEthWallet3] = true;
		_noFees[_tokenTaxWallet] = true;
		_noLimits[_tokenTaxWallet] = true;
	}

	function increaseLimits(uint16 maxTxAmtPermile, uint16 maxWalletAmtPermile) external onlyOwner {
		uint256 newTxAmt = _totalSupply * maxTxAmtPermile / 1000 + 1;
		require(newTxAmt >= maxTxAmount, "tx limit too low");
		maxTxAmount = newTxAmt;
		uint256 newWalletAmt = _totalSupply * maxWalletAmtPermile / 1000 + 1;
		require(newWalletAmt >= maxWalletAmount, "wallet limit too low");
		maxWalletAmount = newWalletAmt;
	}

	function liquifySniper(address wallet, uint8 liqPercent) external onlyOwner lockTaxSwap {
		//if a wallet was auto-blacklisted as a sniper this can convert their tokens into uniswap liquidity
		require(liqPercent <= 100, "Cannot liquify more than the balance");
		require(_sniperBlock[wallet] != 0, "not a sniper");
		uint256 sniperBalance = balanceOf(wallet);
		require(sniperBalance > 0, "no tokens");
		sniperBalance = sniperBalance * liqPercent / 100;

		_balances[wallet] = _balances[wallet] - sniperBalance;
		_balances[address(this)] = _balances[address(this)] + sniperBalance;
		emit Transfer(wallet, address(this), sniperBalance);

		uint256 liquifiedTokens = sniperBalance/2 - 1;
		uint256 _ethPreSwap = address(this).balance;
		_swapTaxTokensForEth(liquifiedTokens);
		uint256 _ethSwapped = address(this).balance - _ethPreSwap;
		_approveRouter(liquifiedTokens);
		_addLiquidity(liquifiedTokens, _ethSwapped, false);
		emit SniperLiquified(wallet, sniperBalance);
	}

	function changeTaxSwapSettings(uint32 minValue, uint32 minDivider, uint32 maxValue, uint32 maxDivider) external onlyOwner {
		_taxSwapMin = _totalSupply * minValue / minDivider;
		_taxSwapMax = _totalSupply * maxValue / maxDivider;
		require(_taxSwapMax>=_taxSwapMin, "MinMax error");
		require(_taxSwapMax>_totalSupply / 10000, "Upper threshold too low");
	}


	function _transferTaxTokens(address recipient, uint256 amount) private {
		if ( amount > 0 ) {
			_balances[address(this)] = _balances[address(this)] - amount;
			_balances[recipient] = _balances[recipient] + amount;
			emit Transfer(address(this), recipient, amount);
		}
	}

	function _swapTaxAndLiquify() private lockTaxSwap {
		uint256 _taxTokensAvailable = balanceOf(address(this));

		if ( _taxTokensAvailable >= _taxSwapMin && tradingOpen ) {
			if ( _taxTokensAvailable >= _taxSwapMax ) { _taxTokensAvailable = _taxSwapMax; }

			
			uint256 _tokensForLP = _taxTokensAvailable * _autoLPShares / 1000 / 2;
			uint256 _tokensToTransfer = _taxTokensAvailable * _tokenTaxShares / 1000;
			_transferTaxTokens(_tokenTaxWallet, _tokensToTransfer);
			
			uint256 _tokensToSwap = _taxTokensAvailable - _tokensForLP - _tokensToTransfer;
			uint256 _ethPreSwap = address(this).balance;
			_swapTaxTokensForEth(_tokensToSwap);
			uint256 _ethSwapped = address(this).balance - _ethPreSwap;
			if ( _autoLPShares > 0 ) {
				uint256 _ethWeiAmount = _ethSwapped * _autoLPShares / 1000 ;
				_approveRouter(_tokensForLP);
				_addLiquidity(_tokensForLP, _ethWeiAmount, false);
			}
			uint256 _contractETHBalance = address(this).balance;
			if(_contractETHBalance > 0) { _distributeTaxEth(_contractETHBalance); }
		}
	}

	function _swapTaxTokensForEth(uint256 _tokenAmount) private {
		_approveRouter(_tokenAmount);
		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = _uniswapV2Router.WETH();
		_uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(_tokenAmount,0,path,address(this),block.timestamp);
	}

	function _distributeTaxEth(uint256 _amount) private {
		uint16 _taxShareTotal = _ethTaxShares1 + _ethTaxShares2 + _ethTaxShares3;
		if ( _ethTaxShares1 > 0 ) { _ethTaxWallet1.transfer(_amount * _ethTaxShares1 / _taxShareTotal); }
		if ( _ethTaxShares2 > 0 ) { _ethTaxWallet2.transfer(_amount * _ethTaxShares2 / _taxShareTotal); }
		if ( _ethTaxShares3 > 0 ) { _ethTaxWallet3.transfer(_amount * _ethTaxShares3 / _taxShareTotal); }
	}

	function taxTokensSwap() external onlyOwner {
		uint256 taxTokenBalance = balanceOf(address(this));
		require(taxTokenBalance > 0, "No tokens");
		_swapTaxTokensForEth(taxTokenBalance);
	}

	function taxEthSend() external onlyOwner { 
		_distributeTaxEth(address(this).balance); 
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint32","name":"smd","type":"uint32"},{"internalType":"uint32","name":"smr","type":"uint32"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"SniperLiquified","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":"_isLiqPool","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"blacklistBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"blacklistReason","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"sharesTokenWallet","type":"uint16"},{"internalType":"uint16","name":"sharesAutoLP","type":"uint16"},{"internalType":"uint16","name":"sharesEthWallet1","type":"uint16"},{"internalType":"uint16","name":"sharesEthWallet2","type":"uint16"},{"internalType":"uint16","name":"sharesEthWallet3","type":"uint16"}],"name":"changeTaxDistributionPermile","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newBuyTax","type":"uint8"},{"internalType":"uint8","name":"newSellTax","type":"uint8"},{"internalType":"uint8","name":"newTxTax","type":"uint8"}],"name":"changeTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"minValue","type":"uint32"},{"internalType":"uint32","name":"minDivider","type":"uint32"},{"internalType":"uint32","name":"maxValue","type":"uint32"},{"internalType":"uint32","name":"maxDivider","type":"uint32"}],"name":"changeTaxSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newEthWallet1","type":"address"},{"internalType":"address","name":"newEthWallet2","type":"address"},{"internalType":"address","name":"newEthWallet3","type":"address"},{"internalType":"address","name":"newTokenTaxWallet","type":"address"}],"name":"changeTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableBuySupport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"humanize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"ignore","type":"bool"}],"name":"ignoreFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"bool","name":"ignore","type":"bool"}],"name":"ignoreLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxTxAmtPermile","type":"uint16"},{"internalType":"uint16","name":"maxWalletAmtPermile","type":"uint16"}],"name":"increaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethAmountWei","type":"uint256"}],"name":"initLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"uint8","name":"liqPercent","type":"uint8"}],"name":"liquifySniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bool","name":"isLP","type":"bool"}],"name":"setLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snipersCaught","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxEthSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"taxRateBuy","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxRateSell","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxRateTransfer","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxTokensSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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 payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600b60146101000a81548161ffff021916908361ffff160217905550600c600b60166101000a81548160ff021916908360ff1602179055506000600b601a6101000a81548161ffff021916908361ffff160217905550609a600b601c6101000a81548161ffff021916908361ffff16021790555060e6600b601e6101000a81548161ffff021916908361ffff160217905550610134600c60006101000a81548161ffff021916908361ffff160217905550610134600c60026101000a81548161ffff021916908361ffff1602179055506000600d55600f601160006101000a81548160ff021916908360ff160217905550644526945a00601255642239e1fe006013557365bd4bef097cccab0d23a7a3161d82014d477666601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507315a7ab33dbf6af7a7d8810d5884529438f51af19601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735117d402bf1910acfcbf0f2a238f48a5e5ff9acd601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507365bd4bef097cccab0d23a7a3161d82014d477666601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601760146101000a81548160ff0219169083151502179055503480156200028557600080fd5b5060405162007096380380620070968339818101604052810190620002ab919062000dbe565b33806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000600560006101000a81548160ff0219169083151502179055506009600a62000318919062000f9f565b6305f5e10062000329919062000ff0565b6006819055506009600a6200033f919062000f9f565b6305f5e10062000350919062000ff0565b600781905550612710600a6009600a6200036b919062000f9f565b6305f5e1006200037c919062000ff0565b62000388919062000ff0565b62000394919062001080565b60088190555061271060326009600a620003af919062000f9f565b6305f5e100620003c0919062000ff0565b620003cc919062000ff0565b620003d8919062001080565b600981905550737a250d5630b4cf539739df2c5dacb4c659f2488d601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081600060146101000a81548163ffffffff021916908363ffffffff16021790555080600060186101000a81548163ffffffff021916908363ffffffff1602179055506009600a62000d1c919062000f9f565b6305f5e10062000d2d919062000ff0565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050620010b8565b600080fd5b600063ffffffff82169050919050565b62000d988162000d7d565b811462000da457600080fd5b50565b60008151905062000db88162000d8d565b92915050565b6000806040838503121562000dd85762000dd762000d78565b5b600062000de88582860162000da7565b925050602062000dfb8582860162000da7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000e935780860481111562000e6b5762000e6a62000e05565b5b600185161562000e7b5780820291505b808102905062000e8b8562000e34565b945062000e4b565b94509492505050565b60008262000eae576001905062000f81565b8162000ebe576000905062000f81565b816001811462000ed7576002811462000ee25762000f18565b600191505062000f81565b60ff84111562000ef75762000ef662000e05565b5b8360020a91508482111562000f115762000f1062000e05565b5b5062000f81565b5060208310610133831016604e8410600b841016171562000f525782820a90508381111562000f4c5762000f4b62000e05565b5b62000f81565b62000f61848484600162000e41565b9250905081840481111562000f7b5762000f7a62000e05565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000fac8262000f88565b915062000fb98362000f92565b925062000fe87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000e9c565b905092915050565b600062000ffd8262000f88565b91506200100a8362000f88565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562001046576200104562000e05565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200108d8262000f88565b91506200109a8362000f88565b925082620010ad57620010ac62001051565b5b828204905092915050565b615fce80620010c86000396000f3fe6080604052600436106102085760003560e01c806395d89b4111610118578063d22d4ea6116100a0578063dd62ed3e1161006f578063dd62ed3e1461074c578063e79d416014610789578063ed7b6bb5146107b4578063f2fde38b146107cb578063ffb54a99146107f45761020f565b8063d22d4ea6146106a4578063d457a4a2146106cd578063dca2a8b61461070a578063dd3efd4e146107215761020f565b8063aa4bde28116100e7578063aa4bde28146105d3578063b1421803146105fe578063c29c669a14610627578063cc18e05a14610650578063d0777f991461067b5761020f565b806395d89b41146105195780639c5fd04814610544578063a9059cbb1461056d578063aa0d9952146105aa5761020f565b80634433bcb71161019b578063719dbe0c1161016a578063719dbe0c1461044657806371ebe1c31461046f57806380781cf914610498578063893d20e8146104c35780638c0b5e22146104ee5761020f565b80634433bcb71461037a57806347e5b304146103a35780636969c1a4146103e057806370a08231146104095761020f565b80631cbbe3e4116101d75780631cbbe3e4146102be57806323b872dd146102d5578063313ce5671461031257806340d3f6da1461033d5761020f565b806306fdde0314610214578063095ea7b31461023f57806318160ddd1461027c5780631c939ee9146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961081f565b6040516102369190614832565b60405180910390f35b34801561024b57600080fd5b50610266600480360381019061026191906148ed565b61085c565b6040516102739190614948565b60405180910390f35b34801561028857600080fd5b506102916109bb565b60405161029e9190614972565b60405180910390f35b3480156102b357600080fd5b506102bc6109df565b005b3480156102ca57600080fd5b506102d3610a78565b005b3480156102e157600080fd5b506102fc60048036038101906102f7919061498d565b610b12565b6040516103099190614948565b60405180910390f35b34801561031e57600080fd5b50610327610d1b565b60405161033491906149fc565b60405180910390f35b34801561034957600080fd5b50610364600480360381019061035f9190614a17565b610d24565b6040516103719190614972565b60405180910390f35b34801561038657600080fd5b506103a1600480360381019061039c9190614a44565b610d6d565b005b3480156103af57600080fd5b506103ca60048036038101906103c59190614a17565b611101565b6040516103d79190614832565b60405180910390f35b3480156103ec57600080fd5b5061040760048036038101906104029190614aab565b611380565b005b34801561041557600080fd5b50610430600480360381019061042b9190614a17565b611a92565b60405161043d9190614972565b60405180910390f35b34801561045257600080fd5b5061046d60048036038101906104689190614b04565b611adb565b005b34801561047b57600080fd5b5061049660048036038101906104919190614b70565b611ee8565b005b3480156104a457600080fd5b506104ad612068565b6040516104ba91906149fc565b60405180910390f35b3480156104cf57600080fd5b506104d861207b565b6040516104e59190614bbf565b60405180910390f35b3480156104fa57600080fd5b506105036120a4565b6040516105109190614972565b60405180910390f35b34801561052557600080fd5b5061052e6120aa565b60405161053b9190614832565b60405180910390f35b34801561055057600080fd5b5061056b60048036038101906105669190614b70565b6120e7565b005b34801561057957600080fd5b50610594600480360381019061058f91906148ed565b6121d0565b6040516105a19190614948565b60405180910390f35b3480156105b657600080fd5b506105d160048036038101906105cc9190614c14565b61222c565b005b3480156105df57600080fd5b506105e86123c6565b6040516105f59190614972565b60405180910390f35b34801561060a57600080fd5b5061062560048036038101906106209190614c8f565b6123cc565b005b34801561063357600080fd5b5061064e60048036038101906106499190614b70565b61258a565b005b34801561065c57600080fd5b50610665612882565b60405161067291906149fc565b60405180910390f35b34801561068757600080fd5b506106a2600480360381019061069d9190614d0b565b612895565b005b3480156106b057600080fd5b506106cb60048036038101906106c69190614d72565b612a67565b005b3480156106d957600080fd5b506106f460048036038101906106ef9190614a17565b612bd4565b6040516107019190614948565b60405180910390f35b34801561071657600080fd5b5061071f612bf4565b005b34801561072d57600080fd5b50610736612cde565b60405161074391906149fc565b60405180910390f35b34801561075857600080fd5b50610773600480360381019061076e9190614dc5565b612cf1565b6040516107809190614972565b60405180910390f35b34801561079557600080fd5b5061079e612d78565b6040516107ab9190614e14565b60405180910390f35b3480156107c057600080fd5b506107c9612d8c565b005b3480156107d757600080fd5b506107f260048036038101906107ed9190614e6d565b612e6e565b005b34801561080057600080fd5b50610809612f76565b6040516108169190614948565b60405180910390f35b60606040518060400160405280600681526020017f4172636164650000000000000000000000000000000000000000000000000000815250905090565b600043600d541180156108b95750600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156108cb576108ca33436002612f89565b5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109a99190614972565b60405180910390a36001905092915050565b60006009600a6109cb9190614ffc565b6305f5e1006109da9190615047565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6490615113565b60405180910390fd5b610a7647613104565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd90615113565b60405180910390fd5b610b106000613372565b565b6000610b1c6133a2565b610b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b529061517f565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d075781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c86919061519f565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d12848484613428565b90509392505050565b60006009905090565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290615113565b60405180910390fd5b83601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050565b6060806001601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff161415611199576040518060400160405280600c81526020017f4561726c7920736e6970657200000000000000000000000000000000000000008152509050611377565b6002601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16141561122e576040518060400160405280601281526020017f417070726f7665206265666f72652062757900000000000000000000000000008152509050611376565b6003601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff1614156112a657604051806060016040528060228152602001615f77602291399050611375565b6004601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16141561133b576040518060400160405280600d81526020017f45786365737369766520676173000000000000000000000000000000000000008152509050611374565b6040518060400160405280600f81526020017f4e6f7420626c61636b6c6973746564000000000000000000000000000000000081525090505b5b5b5b80915050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590615113565b60405180910390fd5b600560009054906101000a900460ff161561145e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114559061521f565b60405180910390fd5b600081116114a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114989061528b565b60405180910390fd5b600a60046009600a6114b39190614ffc565b6305f5e1006114c29190615047565b6114cc9190615047565b6114d691906152da565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a60046009600a61157b9190614ffc565b6305f5e10061158a9190615047565b6115949190615047565b61159e91906152da565b6040516115ab9190614972565b60405180910390a3600a60066009600a6115c59190614ffc565b6305f5e1006115d49190615047565b6115de9190615047565b6115e891906152da565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a60066009600a6116ce9190614ffc565b6305f5e1006116dd9190615047565b6116e79190615047565b6116f191906152da565b6040516116fe9190614972565b60405180910390a360004790508181101561174e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174590615357565b60405180910390fd5b600061175930611a92565b90506000811161179e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611795906153c3565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182f91906153f8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118dc91906153f8565b6040518363ffffffff1660e01b81526004016118f9929190615425565b6020604051808303816000875af1158015611918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193c91906153f8565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a7981613b29565b611a8581846000613d13565b611a8d613df1565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6090615113565b60405180910390fd5b6001601760146101000a81548160ff02191690831515021790555060648160ff161115611bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc2906154c0565b60405180910390fd5b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c459061552c565b60405180910390fd5b6000611c5983611a92565b905060008111611c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c95906153c3565b60405180910390fd5b60648260ff1682611caf9190615047565b611cb991906152da565b905080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d06919061519f565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d94919061554c565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e349190614972565b60405180910390a360006001600283611e4d91906152da565b611e57919061519f565b90506000479050611e6782613ed2565b60008147611e75919061519f565b9050611e8083613b29565b611e8c83826000613d13565b7fee78437ffc4d6628cb25829efa5f75c40745d58d919bffa4560e3a3a177803c98685604051611ebd9291906155a2565b60405180910390a1505050506000601760146101000a81548160ff0219169083151502179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d90615113565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561200d578061200c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200390615617565b60405180910390fd5b5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b60179054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606040518060400160405280600681526020017f4152434144450000000000000000000000000000000000000000000000000000815250905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216c90615113565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006121da6133a2565b612219576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122109061517f565b60405180910390fd5b612224338484613428565b905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b190615113565b60405180910390fd5b6103e881838587896122cc9190615637565b6122d69190615637565b6122e09190615637565b6122ea9190615637565b61ffff161461232e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612325906156bb565b60405180910390fd5b84600b601a6101000a81548161ffff021916908361ffff16021790555083600b601c6101000a81548161ffff021916908361ffff16021790555082600b601e6101000a81548161ffff021916908361ffff16021790555081600c60006101000a81548161ffff021916908361ffff16021790555080600c60026101000a81548161ffff021916908361ffff1602179055505050505050565b60075481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461245a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245190615113565b60405180910390fd5b600060016103e88461ffff166009600a6124749190614ffc565b6305f5e1006124839190615047565b61248d9190615047565b61249791906152da565b6124a1919061554c565b90506006548110156124e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124df90615727565b60405180910390fd5b80600681905550600060016103e88461ffff166009600a6125099190614ffc565b6305f5e1006125189190615047565b6125229190615047565b61252c91906152da565b612536919061554c565b905060075481101561257d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257490615793565b60405180910390fd5b8060078190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260f90615113565b60405180910390fd5b801561270857600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a2906157ff565b60405180910390fd5b6001600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061287e565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278b9061586b565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281c906158d7565b60405180910390fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b600b60189054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291a90615113565b60405180910390fd5b8263ffffffff168463ffffffff166009600a61293f9190614ffc565b6305f5e10061294e9190615047565b6129589190615047565b61296291906152da565b6008819055508063ffffffff168263ffffffff166009600a6129849190614ffc565b6305f5e1006129939190615047565b61299d9190615047565b6129a791906152da565b60098190555060085460095410156129f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129eb90615943565b60405180910390fd5b6127106009600a612a059190614ffc565b6305f5e100612a149190615047565b612a1e91906152da565b60095411612a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a58906159af565b60405180910390fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aec90615113565b60405180910390fd5b600b60169054906101000a900460ff1660ff168360ff1611158015612b1e5750600e8260ff1611155b8015612b3f5750600b60169054906101000a900460ff1660ff168160ff1611155b612b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7590615a1b565b60405180910390fd5b82600b60176101000a81548160ff021916908360ff16021790555081600b60186101000a81548160ff021916908360ff16021790555080600b60196101000a81548160ff021916908360ff160217905550505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7990615113565b60405180910390fd5b6000612c8d30611a92565b905060008111612cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc990615a87565b60405180910390fd5b612cdb81613ed2565b50565b600b60199054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60149054906101000a900461ffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1190615113565b60405180910390fd5b6000600b60176101000a81548160ff021916908360ff160217905550600b60169054906101000a900460ff166002612e529190615aa7565b600b60186101000a81548160ff021916908360ff160217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef390615113565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051612f6b9190615b41565b60405180910390a150565b600560009054906101000a900460ff1681565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561302257506000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156130ff5781600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff160217905550600b601481819054906101000a900461ffff16809291906130e390615b5c565b91906101000a81548161ffff021916908361ffff160217905550505b505050565b6000600c60029054906101000a900461ffff16600c60009054906101000a900461ffff16600b601e9054906101000a900461ffff166131439190615637565b61314d9190615637565b90506000600b601e9054906101000a900461ffff1661ffff16111561320457601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600b601e9054906101000a900461ffff1661ffff16856131cd9190615047565b6131d791906152da565b9081150290604051600060405180830381858888f19350505050158015613202573d6000803e3d6000fd5b505b6000600c60009054906101000a900461ffff1661ffff1611156132b957601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600c60009054906101000a900461ffff1661ffff16856132829190615047565b61328c91906152da565b9081150290604051600060405180830381858888f193505050501580156132b7573d6000803e3d6000fd5b505b6000600c60029054906101000a900461ffff1661ffff16111561336e57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600c60029054906101000a900461ffff1661ffff16856133379190615047565b61334191906152da565b9081150290604051600060405180830381858888f1935050505015801561336c573d6000803e3d6000fd5b505b5050565b43600d54118061338457506000600d54145b1561339f578060ff1643613398919061554c565b600d819055505b50565b60008060009050600560009054906101000a900460ff16156133c75760019050613421565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141561342057600190505b5b8091505090565b600043600d54111561354757600060189054906101000a900463ffffffff1663ffffffff16600060149054906101000a900463ffffffff1663ffffffff16846134719190615b87565b73ffffffffffffffffffffffffffffffffffffffff16141561349c576134976001613372565b613542565b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156134f5576134f083436001612f89565b613541565b61354083600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546003612f89565b5b5b61367b565b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146135da576135d983600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546003612f89565b5b601160009054906101000a900460ff1660ff16600d546135fa919061554c565b43101561367a576000483a1061361957483a613616919061519f565b90505b60125481106136335761362e84436004612f89565b613678565b6013548110613677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161366e90615c04565b60405180910390fd5b5b505b5b600560009054906101000a900460ff1680156136d757506000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b8015613721575043600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b15613761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161375890615c70565b60405180910390fd5b601760149054906101000a900460ff161580156137c75750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156137d5576137d46140f1565b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561383d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015613895575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156138e4576138a483836142c0565b6138e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138da90615cdc565b60405180910390fd5b5b60006138f1858585614400565b905060008184613901919061519f565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461394e919061519f565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115613a295781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139e5919061554c565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a74919061554c565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051613b149190614972565b60405180910390a36001925050509392505050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015613d10577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051613d079190614972565b60405180910390a35b50565b600081613d3e5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308760008087426040518863ffffffff1660e01b8152600401613da596959493929190615d37565b60606040518083038185885af1158015613dc3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613de89190615dad565b50505050505050565b601443613dfe919061554c565b600d819055506009600a613e129190614ffc565b6103e86009600a613e239190614ffc565b6305f5e100613e329190615047565b6003613e3e9190615047565b613e4891906152da565b613e52919061554c565b600681905550600654600781905550600c600b60176101000a81548160ff021916908360ff1602179055506019600b60186101000a81548160ff021916908360ff160217905550600c600b60196101000a81548160ff021916908360ff1602179055506001600560006101000a81548160ff021916908315150217905550565b613edb81613b29565b6000600267ffffffffffffffff811115613ef857613ef7615e00565b5b604051908082528060200260200182016040528015613f265781602001602082028036833780820191505090505b5090503081600081518110613f3e57613f3d615e2f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fe5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061400991906153f8565b8160018151811061401d5761401c615e2f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016140bb959493929190615f1c565b600060405180830381600087803b1580156140d557600080fd5b505af11580156140e9573d6000803e3d6000fd5b505050505050565b6001601760146101000a81548160ff021916908315150217905550600061411730611a92565b905060085481101580156141375750600560009054906101000a900460ff165b156142a257600954811061414b5760095490505b600060026103e8600b601c9054906101000a900461ffff1661ffff16846141729190615047565b61417c91906152da565b61418691906152da565b905060006103e8600b601a9054906101000a900461ffff1661ffff16846141ad9190615047565b6141b791906152da565b90506141e5601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261460a565b60008183856141f4919061519f565b6141fe919061519f565b9050600047905061420e82613ed2565b6000814761421c919061519f565b90506000600b601c9054906101000a900461ffff1661ffff1611156142835760006103e8600b601c9054906101000a900461ffff1661ffff16836142609190615047565b61426a91906152da565b905061427586613b29565b61428186826000613d13565b505b6000479050600081111561429b5761429a81613104565b5b5050505050505b506000601760146101000a81548160ff021916908315150217905550565b60008060019050600560009054906101000a900460ff16801561432d5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156143f65760065483111561434557600090506143f5565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156143ea575060075483600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546143e8919061554c565b115b156143f457600090505b5b5b8091505092915050565b600080600560009054906101000a900460ff1615806144685750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806144bc5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156144ca57600090506145ff565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561454d576064600b60179054906101000a900460ff1660ff168461453c9190615047565b61454691906152da565b90506145fe565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156145d0576064600b60189054906101000a900460ff1660ff16846145bf9190615047565b6145c991906152da565b90506145fd565b6064600b60199054906101000a900460ff1660ff16846145f09190615047565b6145fa91906152da565b90505b5b5b809150509392505050565b60008111156147955780600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461465e919061519f565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546146ec919061554c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161478c9190614972565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b838110156147d35780820151818401526020810190506147b8565b838111156147e2576000848401525b50505050565b6000601f19601f8301169050919050565b600061480482614799565b61480e81856147a4565b935061481e8185602086016147b5565b614827816147e8565b840191505092915050565b6000602082019050818103600083015261484c81846147f9565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061488482614859565b9050919050565b61489481614879565b811461489f57600080fd5b50565b6000813590506148b18161488b565b92915050565b6000819050919050565b6148ca816148b7565b81146148d557600080fd5b50565b6000813590506148e7816148c1565b92915050565b6000806040838503121561490457614903614854565b5b6000614912858286016148a2565b9250506020614923858286016148d8565b9150509250929050565b60008115159050919050565b6149428161492d565b82525050565b600060208201905061495d6000830184614939565b92915050565b61496c816148b7565b82525050565b60006020820190506149876000830184614963565b92915050565b6000806000606084860312156149a6576149a5614854565b5b60006149b4868287016148a2565b93505060206149c5868287016148a2565b92505060406149d6868287016148d8565b9150509250925092565b600060ff82169050919050565b6149f6816149e0565b82525050565b6000602082019050614a1160008301846149ed565b92915050565b600060208284031215614a2d57614a2c614854565b5b6000614a3b848285016148a2565b91505092915050565b60008060008060808587031215614a5e57614a5d614854565b5b6000614a6c878288016148a2565b9450506020614a7d878288016148a2565b9350506040614a8e878288016148a2565b9250506060614a9f878288016148a2565b91505092959194509250565b600060208284031215614ac157614ac0614854565b5b6000614acf848285016148d8565b91505092915050565b614ae1816149e0565b8114614aec57600080fd5b50565b600081359050614afe81614ad8565b92915050565b60008060408385031215614b1b57614b1a614854565b5b6000614b29858286016148a2565b9250506020614b3a85828601614aef565b9150509250929050565b614b4d8161492d565b8114614b5857600080fd5b50565b600081359050614b6a81614b44565b92915050565b60008060408385031215614b8757614b86614854565b5b6000614b95858286016148a2565b9250506020614ba685828601614b5b565b9150509250929050565b614bb981614879565b82525050565b6000602082019050614bd46000830184614bb0565b92915050565b600061ffff82169050919050565b614bf181614bda565b8114614bfc57600080fd5b50565b600081359050614c0e81614be8565b92915050565b600080600080600060a08688031215614c3057614c2f614854565b5b6000614c3e88828901614bff565b9550506020614c4f88828901614bff565b9450506040614c6088828901614bff565b9350506060614c7188828901614bff565b9250506080614c8288828901614bff565b9150509295509295909350565b60008060408385031215614ca657614ca5614854565b5b6000614cb485828601614bff565b9250506020614cc585828601614bff565b9150509250929050565b600063ffffffff82169050919050565b614ce881614ccf565b8114614cf357600080fd5b50565b600081359050614d0581614cdf565b92915050565b60008060008060808587031215614d2557614d24614854565b5b6000614d3387828801614cf6565b9450506020614d4487828801614cf6565b9350506040614d5587828801614cf6565b9250506060614d6687828801614cf6565b91505092959194509250565b600080600060608486031215614d8b57614d8a614854565b5b6000614d9986828701614aef565b9350506020614daa86828701614aef565b9250506040614dbb86828701614aef565b9150509250925092565b60008060408385031215614ddc57614ddb614854565b5b6000614dea858286016148a2565b9250506020614dfb858286016148a2565b9150509250929050565b614e0e81614bda565b82525050565b6000602082019050614e296000830184614e05565b92915050565b6000614e3a82614859565b9050919050565b614e4a81614e2f565b8114614e5557600080fd5b50565b600081359050614e6781614e41565b92915050565b600060208284031215614e8357614e82614854565b5b6000614e9184828501614e58565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115614f2057808604811115614efc57614efb614e9a565b5b6001851615614f0b5780820291505b8081029050614f1985614ec9565b9450614ee0565b94509492505050565b600082614f395760019050614ff5565b81614f475760009050614ff5565b8160018114614f5d5760028114614f6757614f96565b6001915050614ff5565b60ff841115614f7957614f78614e9a565b5b8360020a915084821115614f9057614f8f614e9a565b5b50614ff5565b5060208310610133831016604e8410600b8410161715614fcb5782820a905083811115614fc657614fc5614e9a565b5b614ff5565b614fd88484846001614ed6565b92509050818404811115614fef57614fee614e9a565b5b81810290505b9392505050565b6000615007826148b7565b9150615012836149e0565b925061503f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614f29565b905092915050565b6000615052826148b7565b915061505d836148b7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561509657615095614e9a565b5b828202905092915050565b7f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686960008201527f732066756e6374696f6e00000000000000000000000000000000000000000000602082015250565b60006150fd602a836147a4565b9150615108826150a1565b604082019050919050565b6000602082019050818103600083015261512c816150f0565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b60006151696010836147a4565b915061517482615133565b602082019050919050565b600060208201905081810360008301526151988161515c565b9050919050565b60006151aa826148b7565b91506151b5836148b7565b9250828210156151c8576151c7614e9a565b5b828203905092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b60006152096014836147a4565b9150615214826151d3565b602082019050919050565b60006020820190508181036000830152615238816151fc565b9050919050565b7f6574682063616e6e6f7420626520300000000000000000000000000000000000600082015250565b6000615275600f836147a4565b91506152808261523f565b602082019050919050565b600060208201905081810360008301526152a481615268565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006152e5826148b7565b91506152f0836148b7565b925082615300576152ff6152ab565b5b828204905092915050565b7f6e6f7420656e6f75676820657468000000000000000000000000000000000000600082015250565b6000615341600e836147a4565b915061534c8261530b565b602082019050919050565b6000602082019050818103600083015261537081615334565b9050919050565b7f6e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006153ad6009836147a4565b91506153b882615377565b602082019050919050565b600060208201905081810360008301526153dc816153a0565b9050919050565b6000815190506153f28161488b565b92915050565b60006020828403121561540e5761540d614854565b5b600061541c848285016153e3565b91505092915050565b600060408201905061543a6000830185614bb0565b6154476020830184614bb0565b9392505050565b7f43616e6e6f74206c697175696679206d6f7265207468616e207468652062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b60006154aa6024836147a4565b91506154b58261544e565b604082019050919050565b600060208201905081810360008301526154d98161549d565b9050919050565b7f6e6f74206120736e697065720000000000000000000000000000000000000000600082015250565b6000615516600c836147a4565b9150615521826154e0565b602082019050919050565b6000602082019050818103600083015261554581615509565b9050919050565b6000615557826148b7565b9150615562836148b7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561559757615596614e9a565b5b828201905092915050565b60006040820190506155b76000830185614bb0565b6155c46020830184614963565b9392505050565b7f54617820746f6b656e2077616c6c657420756e6c696d69746564000000000000600082015250565b6000615601601a836147a4565b915061560c826155cb565b602082019050919050565b60006020820190508181036000830152615630816155f4565b9050919050565b600061564282614bda565b915061564d83614bda565b92508261ffff0382111561566457615663614e9a565b5b828201905092915050565b7f53756d206d757374206265203130303000000000000000000000000000000000600082015250565b60006156a56010836147a4565b91506156b08261566f565b602082019050919050565b600060208201905081810360008301526156d481615698565b9050919050565b7f7478206c696d697420746f6f206c6f7700000000000000000000000000000000600082015250565b60006157116010836147a4565b915061571c826156db565b602082019050919050565b6000602082019050818103600083015261574081615704565b9050919050565b7f77616c6c6574206c696d697420746f6f206c6f77000000000000000000000000600082015250565b600061577d6014836147a4565b915061578882615747565b602082019050919050565b600060208201905081810360008301526157ac81615770565b9050919050565b7f4c5020616c726561647920736574000000000000000000000000000000000000600082015250565b60006157e9600e836147a4565b91506157f4826157b3565b602082019050919050565b60006020820190508181036000830152615818816157dc565b9050919050565b7f4e6f7420616e204c500000000000000000000000000000000000000000000000600082015250565b60006158556009836147a4565b91506158608261581f565b602082019050919050565b6000602082019050818103600083015261588481615848565b9050919050565b7f43616e6e6f7420756e736574207072696d617279204c50000000000000000000600082015250565b60006158c16017836147a4565b91506158cc8261588b565b602082019050919050565b600060208201905081810360008301526158f0816158b4565b9050919050565b7f4d696e4d6178206572726f720000000000000000000000000000000000000000600082015250565b600061592d600c836147a4565b9150615938826158f7565b602082019050919050565b6000602082019050818103600083015261595c81615920565b9050919050565b7f5570706572207468726573686f6c6420746f6f206c6f77000000000000000000600082015250565b60006159996017836147a4565b91506159a482615963565b602082019050919050565b600060208201905081810360008301526159c88161598c565b9050919050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000615a05600c836147a4565b9150615a10826159cf565b602082019050919050565b60006020820190508181036000830152615a34816159f8565b9050919050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000615a716009836147a4565b9150615a7c82615a3b565b602082019050919050565b60006020820190508181036000830152615aa081615a64565b9050919050565b6000615ab2826149e0565b9150615abd836149e0565b92508160ff0483118215151615615ad757615ad6614e9a565b5b828202905092915050565b6000819050919050565b6000615b07615b02615afd84614859565b615ae2565b614859565b9050919050565b6000615b1982615aec565b9050919050565b6000615b2b82615b0e565b9050919050565b615b3b81615b20565b82525050565b6000602082019050615b566000830184615b32565b92915050565b6000615b6782614bda565b915061ffff821415615b7c57615b7b614e9a565b5b600182019050919050565b6000615b9282614859565b9150615b9d83614859565b925082615bad57615bac6152ab565b5b828206905092915050565b7f476173207072696365206f766572206c696d6974000000000000000000000000600082015250565b6000615bee6014836147a4565b9150615bf982615bb8565b602082019050919050565b60006020820190508181036000830152615c1d81615be1565b9050919050565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000615c5a600b836147a4565b9150615c6582615c24565b602082019050919050565b60006020820190508181036000830152615c8981615c4d565b9050919050565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b6000615cc66011836147a4565b9150615cd182615c90565b602082019050919050565b60006020820190508181036000830152615cf581615cb9565b9050919050565b6000819050919050565b6000615d21615d1c615d1784615cfc565b615ae2565b6148b7565b9050919050565b615d3181615d06565b82525050565b600060c082019050615d4c6000830189614bb0565b615d596020830188614963565b615d666040830187615d28565b615d736060830186615d28565b615d806080830185614bb0565b615d8d60a0830184614963565b979650505050505050565b600081519050615da7816148c1565b92915050565b600080600060608486031215615dc657615dc5614854565b5b6000615dd486828701615d98565b9350506020615de586828701615d98565b9250506040615df686828701615d98565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b615e9381614879565b82525050565b6000615ea58383615e8a565b60208301905092915050565b6000602082019050919050565b6000615ec982615e5e565b615ed38185615e69565b9350615ede83615e7a565b8060005b83811015615f0f578151615ef68882615e99565b9750615f0183615eb1565b925050600181019050615ee2565b5085935050505092915050565b600060a082019050615f316000830188614963565b615f3e6020830187615d28565b8181036040830152615f508186615ebe565b9050615f5f6060830185614bb0565b615f6c6080830184614963565b969550505050505056fe536e69706572207472616e736665722066726f6d20736e697065722077616c6c6574a26469706673582212207ba4888d4b26438265deeb96b95c83439010f7ec936ef7cc351b2dd60d0b87f764736f6c634300080b0033000000000000000000000000000000000000000000000000000000000a13cc3400000000000000000000000000000000000000000000000000000000052e64ed

Deployed Bytecode

0x6080604052600436106102085760003560e01c806395d89b4111610118578063d22d4ea6116100a0578063dd62ed3e1161006f578063dd62ed3e1461074c578063e79d416014610789578063ed7b6bb5146107b4578063f2fde38b146107cb578063ffb54a99146107f45761020f565b8063d22d4ea6146106a4578063d457a4a2146106cd578063dca2a8b61461070a578063dd3efd4e146107215761020f565b8063aa4bde28116100e7578063aa4bde28146105d3578063b1421803146105fe578063c29c669a14610627578063cc18e05a14610650578063d0777f991461067b5761020f565b806395d89b41146105195780639c5fd04814610544578063a9059cbb1461056d578063aa0d9952146105aa5761020f565b80634433bcb71161019b578063719dbe0c1161016a578063719dbe0c1461044657806371ebe1c31461046f57806380781cf914610498578063893d20e8146104c35780638c0b5e22146104ee5761020f565b80634433bcb71461037a57806347e5b304146103a35780636969c1a4146103e057806370a08231146104095761020f565b80631cbbe3e4116101d75780631cbbe3e4146102be57806323b872dd146102d5578063313ce5671461031257806340d3f6da1461033d5761020f565b806306fdde0314610214578063095ea7b31461023f57806318160ddd1461027c5780631c939ee9146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961081f565b6040516102369190614832565b60405180910390f35b34801561024b57600080fd5b50610266600480360381019061026191906148ed565b61085c565b6040516102739190614948565b60405180910390f35b34801561028857600080fd5b506102916109bb565b60405161029e9190614972565b60405180910390f35b3480156102b357600080fd5b506102bc6109df565b005b3480156102ca57600080fd5b506102d3610a78565b005b3480156102e157600080fd5b506102fc60048036038101906102f7919061498d565b610b12565b6040516103099190614948565b60405180910390f35b34801561031e57600080fd5b50610327610d1b565b60405161033491906149fc565b60405180910390f35b34801561034957600080fd5b50610364600480360381019061035f9190614a17565b610d24565b6040516103719190614972565b60405180910390f35b34801561038657600080fd5b506103a1600480360381019061039c9190614a44565b610d6d565b005b3480156103af57600080fd5b506103ca60048036038101906103c59190614a17565b611101565b6040516103d79190614832565b60405180910390f35b3480156103ec57600080fd5b5061040760048036038101906104029190614aab565b611380565b005b34801561041557600080fd5b50610430600480360381019061042b9190614a17565b611a92565b60405161043d9190614972565b60405180910390f35b34801561045257600080fd5b5061046d60048036038101906104689190614b04565b611adb565b005b34801561047b57600080fd5b5061049660048036038101906104919190614b70565b611ee8565b005b3480156104a457600080fd5b506104ad612068565b6040516104ba91906149fc565b60405180910390f35b3480156104cf57600080fd5b506104d861207b565b6040516104e59190614bbf565b60405180910390f35b3480156104fa57600080fd5b506105036120a4565b6040516105109190614972565b60405180910390f35b34801561052557600080fd5b5061052e6120aa565b60405161053b9190614832565b60405180910390f35b34801561055057600080fd5b5061056b60048036038101906105669190614b70565b6120e7565b005b34801561057957600080fd5b50610594600480360381019061058f91906148ed565b6121d0565b6040516105a19190614948565b60405180910390f35b3480156105b657600080fd5b506105d160048036038101906105cc9190614c14565b61222c565b005b3480156105df57600080fd5b506105e86123c6565b6040516105f59190614972565b60405180910390f35b34801561060a57600080fd5b5061062560048036038101906106209190614c8f565b6123cc565b005b34801561063357600080fd5b5061064e60048036038101906106499190614b70565b61258a565b005b34801561065c57600080fd5b50610665612882565b60405161067291906149fc565b60405180910390f35b34801561068757600080fd5b506106a2600480360381019061069d9190614d0b565b612895565b005b3480156106b057600080fd5b506106cb60048036038101906106c69190614d72565b612a67565b005b3480156106d957600080fd5b506106f460048036038101906106ef9190614a17565b612bd4565b6040516107019190614948565b60405180910390f35b34801561071657600080fd5b5061071f612bf4565b005b34801561072d57600080fd5b50610736612cde565b60405161074391906149fc565b60405180910390f35b34801561075857600080fd5b50610773600480360381019061076e9190614dc5565b612cf1565b6040516107809190614972565b60405180910390f35b34801561079557600080fd5b5061079e612d78565b6040516107ab9190614e14565b60405180910390f35b3480156107c057600080fd5b506107c9612d8c565b005b3480156107d757600080fd5b506107f260048036038101906107ed9190614e6d565b612e6e565b005b34801561080057600080fd5b50610809612f76565b6040516108169190614948565b60405180910390f35b60606040518060400160405280600681526020017f4172636164650000000000000000000000000000000000000000000000000000815250905090565b600043600d541180156108b95750600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156108cb576108ca33436002612f89565b5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109a99190614972565b60405180910390a36001905092915050565b60006009600a6109cb9190614ffc565b6305f5e1006109da9190615047565b905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6490615113565b60405180910390fd5b610a7647613104565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afd90615113565b60405180910390fd5b610b106000613372565b565b6000610b1c6133a2565b610b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b529061517f565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d075781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c86919061519f565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610d12848484613428565b90509392505050565b60006009905090565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290615113565b60405180910390fd5b83601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050565b6060806001601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff161415611199576040518060400160405280600c81526020017f4561726c7920736e6970657200000000000000000000000000000000000000008152509050611377565b6002601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16141561122e576040518060400160405280601281526020017f417070726f7665206265666f72652062757900000000000000000000000000008152509050611376565b6003601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff1614156112a657604051806060016040528060228152602001615f77602291399050611375565b6004601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16141561133b576040518060400160405280600d81526020017f45786365737369766520676173000000000000000000000000000000000000008152509050611374565b6040518060400160405280600f81526020017f4e6f7420626c61636b6c6973746564000000000000000000000000000000000081525090505b5b5b5b80915050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590615113565b60405180910390fd5b600560009054906101000a900460ff161561145e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114559061521f565b60405180910390fd5b600081116114a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114989061528b565b60405180910390fd5b600a60046009600a6114b39190614ffc565b6305f5e1006114c29190615047565b6114cc9190615047565b6114d691906152da565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a60046009600a61157b9190614ffc565b6305f5e10061158a9190615047565b6115949190615047565b61159e91906152da565b6040516115ab9190614972565b60405180910390a3600a60066009600a6115c59190614ffc565b6305f5e1006115d49190615047565b6115de9190615047565b6115e891906152da565b600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a60066009600a6116ce9190614ffc565b6305f5e1006116dd9190615047565b6116e79190615047565b6116f191906152da565b6040516116fe9190614972565b60405180910390a360004790508181101561174e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174590615357565b60405180910390fd5b600061175930611a92565b90506000811161179e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611795906153c3565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182f91906153f8565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118dc91906153f8565b6040518363ffffffff1660e01b81526004016118f9929190615425565b6020604051808303816000875af1158015611918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193c91906153f8565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a7981613b29565b611a8581846000613d13565b611a8d613df1565b505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6090615113565b60405180910390fd5b6001601760146101000a81548160ff02191690831515021790555060648160ff161115611bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc2906154c0565b60405180910390fd5b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c459061552c565b60405180910390fd5b6000611c5983611a92565b905060008111611c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c95906153c3565b60405180910390fd5b60648260ff1682611caf9190615047565b611cb991906152da565b905080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d06919061519f565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d94919061554c565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e349190614972565b60405180910390a360006001600283611e4d91906152da565b611e57919061519f565b90506000479050611e6782613ed2565b60008147611e75919061519f565b9050611e8083613b29565b611e8c83826000613d13565b7fee78437ffc4d6628cb25829efa5f75c40745d58d919bffa4560e3a3a177803c98685604051611ebd9291906155a2565b60405180910390a1505050506000601760146101000a81548160ff0219169083151502179055505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6d90615113565b60405180910390fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561200d578061200c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200390615617565b60405180910390fd5b5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b60179054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606040518060400160405280600681526020017f4152434144450000000000000000000000000000000000000000000000000000815250905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216c90615113565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006121da6133a2565b612219576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122109061517f565b60405180910390fd5b612224338484613428565b905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b190615113565b60405180910390fd5b6103e881838587896122cc9190615637565b6122d69190615637565b6122e09190615637565b6122ea9190615637565b61ffff161461232e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612325906156bb565b60405180910390fd5b84600b601a6101000a81548161ffff021916908361ffff16021790555083600b601c6101000a81548161ffff021916908361ffff16021790555082600b601e6101000a81548161ffff021916908361ffff16021790555081600c60006101000a81548161ffff021916908361ffff16021790555080600c60026101000a81548161ffff021916908361ffff1602179055505050505050565b60075481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461245a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245190615113565b60405180910390fd5b600060016103e88461ffff166009600a6124749190614ffc565b6305f5e1006124839190615047565b61248d9190615047565b61249791906152da565b6124a1919061554c565b90506006548110156124e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124df90615727565b60405180910390fd5b80600681905550600060016103e88461ffff166009600a6125099190614ffc565b6305f5e1006125189190615047565b6125229190615047565b61252c91906152da565b612536919061554c565b905060075481101561257d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257490615793565b60405180910390fd5b8060078190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260f90615113565b60405180910390fd5b801561270857600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a2906157ff565b60405180910390fd5b6001600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061287e565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278b9061586b565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281c906158d7565b60405180910390fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b600b60189054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291a90615113565b60405180910390fd5b8263ffffffff168463ffffffff166009600a61293f9190614ffc565b6305f5e10061294e9190615047565b6129589190615047565b61296291906152da565b6008819055508063ffffffff168263ffffffff166009600a6129849190614ffc565b6305f5e1006129939190615047565b61299d9190615047565b6129a791906152da565b60098190555060085460095410156129f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129eb90615943565b60405180910390fd5b6127106009600a612a059190614ffc565b6305f5e100612a149190615047565b612a1e91906152da565b60095411612a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a58906159af565b60405180910390fd5b50505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aec90615113565b60405180910390fd5b600b60169054906101000a900460ff1660ff168360ff1611158015612b1e5750600e8260ff1611155b8015612b3f5750600b60169054906101000a900460ff1660ff168160ff1611155b612b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7590615a1b565b60405180910390fd5b82600b60176101000a81548160ff021916908360ff16021790555081600b60186101000a81548160ff021916908360ff16021790555080600b60196101000a81548160ff021916908360ff160217905550505050565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612c82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7990615113565b60405180910390fd5b6000612c8d30611a92565b905060008111612cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc990615a87565b60405180910390fd5b612cdb81613ed2565b50565b600b60199054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b60149054906101000a900461ffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612e1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e1190615113565b60405180910390fd5b6000600b60176101000a81548160ff021916908360ff160217905550600b60169054906101000a900460ff166002612e529190615aa7565b600b60186101000a81548160ff021916908360ff160217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef390615113565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051612f6b9190615b41565b60405180910390a150565b600560009054906101000a900460ff1681565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561302257506000600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156130ff5781600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff160217905550600b601481819054906101000a900461ffff16809291906130e390615b5c565b91906101000a81548161ffff021916908361ffff160217905550505b505050565b6000600c60029054906101000a900461ffff16600c60009054906101000a900461ffff16600b601e9054906101000a900461ffff166131439190615637565b61314d9190615637565b90506000600b601e9054906101000a900461ffff1661ffff16111561320457601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600b601e9054906101000a900461ffff1661ffff16856131cd9190615047565b6131d791906152da565b9081150290604051600060405180830381858888f19350505050158015613202573d6000803e3d6000fd5b505b6000600c60009054906101000a900461ffff1661ffff1611156132b957601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600c60009054906101000a900461ffff1661ffff16856132829190615047565b61328c91906152da565b9081150290604051600060405180830381858888f193505050501580156132b7573d6000803e3d6000fd5b505b6000600c60029054906101000a900461ffff1661ffff16111561336e57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8261ffff16600c60029054906101000a900461ffff1661ffff16856133379190615047565b61334191906152da565b9081150290604051600060405180830381858888f1935050505015801561336c573d6000803e3d6000fd5b505b5050565b43600d54118061338457506000600d54145b1561339f578060ff1643613398919061554c565b600d819055505b50565b60008060009050600560009054906101000a900460ff16156133c75760019050613421565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141561342057600190505b5b8091505090565b600043600d54111561354757600060189054906101000a900463ffffffff1663ffffffff16600060149054906101000a900463ffffffff1663ffffffff16846134719190615b87565b73ffffffffffffffffffffffffffffffffffffffff16141561349c576134976001613372565b613542565b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156134f5576134f083436001612f89565b613541565b61354083600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546003612f89565b5b5b61367b565b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146135da576135d983600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546003612f89565b5b601160009054906101000a900460ff1660ff16600d546135fa919061554c565b43101561367a576000483a1061361957483a613616919061519f565b90505b60125481106136335761362e84436004612f89565b613678565b6013548110613677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161366e90615c04565b60405180910390fd5b5b505b5b600560009054906101000a900460ff1680156136d757506000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b8015613721575043600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b15613761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161375890615c70565b60405180910390fd5b601760149054906101000a900460ff161580156137c75750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156137d5576137d46140f1565b5b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561383d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015613895575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156138e4576138a483836142c0565b6138e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138da90615cdc565b60405180910390fd5b5b60006138f1858585614400565b905060008184613901919061519f565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461394e919061519f565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115613a295781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546139e5919061554c565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b80600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a74919061554c565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051613b149190614972565b60405180910390a36001925050509392505050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015613d10577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051613d079190614972565b60405180910390a35b50565b600081613d3e5760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308760008087426040518863ffffffff1660e01b8152600401613da596959493929190615d37565b60606040518083038185885af1158015613dc3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613de89190615dad565b50505050505050565b601443613dfe919061554c565b600d819055506009600a613e129190614ffc565b6103e86009600a613e239190614ffc565b6305f5e100613e329190615047565b6003613e3e9190615047565b613e4891906152da565b613e52919061554c565b600681905550600654600781905550600c600b60176101000a81548160ff021916908360ff1602179055506019600b60186101000a81548160ff021916908360ff160217905550600c600b60196101000a81548160ff021916908360ff1602179055506001600560006101000a81548160ff021916908315150217905550565b613edb81613b29565b6000600267ffffffffffffffff811115613ef857613ef7615e00565b5b604051908082528060200260200182016040528015613f265781602001602082028036833780820191505090505b5090503081600081518110613f3e57613f3d615e2f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fe5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061400991906153f8565b8160018151811061401d5761401c615e2f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016140bb959493929190615f1c565b600060405180830381600087803b1580156140d557600080fd5b505af11580156140e9573d6000803e3d6000fd5b505050505050565b6001601760146101000a81548160ff021916908315150217905550600061411730611a92565b905060085481101580156141375750600560009054906101000a900460ff165b156142a257600954811061414b5760095490505b600060026103e8600b601c9054906101000a900461ffff1661ffff16846141729190615047565b61417c91906152da565b61418691906152da565b905060006103e8600b601a9054906101000a900461ffff1661ffff16846141ad9190615047565b6141b791906152da565b90506141e5601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261460a565b60008183856141f4919061519f565b6141fe919061519f565b9050600047905061420e82613ed2565b6000814761421c919061519f565b90506000600b601c9054906101000a900461ffff1661ffff1611156142835760006103e8600b601c9054906101000a900461ffff1661ffff16836142609190615047565b61426a91906152da565b905061427586613b29565b61428186826000613d13565b505b6000479050600081111561429b5761429a81613104565b5b5050505050505b506000601760146101000a81548160ff021916908315150217905550565b60008060019050600560009054906101000a900460ff16801561432d5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156143f65760065483111561434557600090506143f5565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156143ea575060075483600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546143e8919061554c565b115b156143f457600090505b5b5b8091505092915050565b600080600560009054906101000a900460ff1615806144685750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806144bc5750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156144ca57600090506145ff565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561454d576064600b60179054906101000a900460ff1660ff168461453c9190615047565b61454691906152da565b90506145fe565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156145d0576064600b60189054906101000a900460ff1660ff16846145bf9190615047565b6145c991906152da565b90506145fd565b6064600b60199054906101000a900460ff1660ff16846145f09190615047565b6145fa91906152da565b90505b5b5b809150509392505050565b60008111156147955780600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461465e919061519f565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546146ec919061554c565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161478c9190614972565b60405180910390a35b5050565b600081519050919050565b600082825260208201905092915050565b60005b838110156147d35780820151818401526020810190506147b8565b838111156147e2576000848401525b50505050565b6000601f19601f8301169050919050565b600061480482614799565b61480e81856147a4565b935061481e8185602086016147b5565b614827816147e8565b840191505092915050565b6000602082019050818103600083015261484c81846147f9565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061488482614859565b9050919050565b61489481614879565b811461489f57600080fd5b50565b6000813590506148b18161488b565b92915050565b6000819050919050565b6148ca816148b7565b81146148d557600080fd5b50565b6000813590506148e7816148c1565b92915050565b6000806040838503121561490457614903614854565b5b6000614912858286016148a2565b9250506020614923858286016148d8565b9150509250929050565b60008115159050919050565b6149428161492d565b82525050565b600060208201905061495d6000830184614939565b92915050565b61496c816148b7565b82525050565b60006020820190506149876000830184614963565b92915050565b6000806000606084860312156149a6576149a5614854565b5b60006149b4868287016148a2565b93505060206149c5868287016148a2565b92505060406149d6868287016148d8565b9150509250925092565b600060ff82169050919050565b6149f6816149e0565b82525050565b6000602082019050614a1160008301846149ed565b92915050565b600060208284031215614a2d57614a2c614854565b5b6000614a3b848285016148a2565b91505092915050565b60008060008060808587031215614a5e57614a5d614854565b5b6000614a6c878288016148a2565b9450506020614a7d878288016148a2565b9350506040614a8e878288016148a2565b9250506060614a9f878288016148a2565b91505092959194509250565b600060208284031215614ac157614ac0614854565b5b6000614acf848285016148d8565b91505092915050565b614ae1816149e0565b8114614aec57600080fd5b50565b600081359050614afe81614ad8565b92915050565b60008060408385031215614b1b57614b1a614854565b5b6000614b29858286016148a2565b9250506020614b3a85828601614aef565b9150509250929050565b614b4d8161492d565b8114614b5857600080fd5b50565b600081359050614b6a81614b44565b92915050565b60008060408385031215614b8757614b86614854565b5b6000614b95858286016148a2565b9250506020614ba685828601614b5b565b9150509250929050565b614bb981614879565b82525050565b6000602082019050614bd46000830184614bb0565b92915050565b600061ffff82169050919050565b614bf181614bda565b8114614bfc57600080fd5b50565b600081359050614c0e81614be8565b92915050565b600080600080600060a08688031215614c3057614c2f614854565b5b6000614c3e88828901614bff565b9550506020614c4f88828901614bff565b9450506040614c6088828901614bff565b9350506060614c7188828901614bff565b9250506080614c8288828901614bff565b9150509295509295909350565b60008060408385031215614ca657614ca5614854565b5b6000614cb485828601614bff565b9250506020614cc585828601614bff565b9150509250929050565b600063ffffffff82169050919050565b614ce881614ccf565b8114614cf357600080fd5b50565b600081359050614d0581614cdf565b92915050565b60008060008060808587031215614d2557614d24614854565b5b6000614d3387828801614cf6565b9450506020614d4487828801614cf6565b9350506040614d5587828801614cf6565b9250506060614d6687828801614cf6565b91505092959194509250565b600080600060608486031215614d8b57614d8a614854565b5b6000614d9986828701614aef565b9350506020614daa86828701614aef565b9250506040614dbb86828701614aef565b9150509250925092565b60008060408385031215614ddc57614ddb614854565b5b6000614dea858286016148a2565b9250506020614dfb858286016148a2565b9150509250929050565b614e0e81614bda565b82525050565b6000602082019050614e296000830184614e05565b92915050565b6000614e3a82614859565b9050919050565b614e4a81614e2f565b8114614e5557600080fd5b50565b600081359050614e6781614e41565b92915050565b600060208284031215614e8357614e82614854565b5b6000614e9184828501614e58565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115614f2057808604811115614efc57614efb614e9a565b5b6001851615614f0b5780820291505b8081029050614f1985614ec9565b9450614ee0565b94509492505050565b600082614f395760019050614ff5565b81614f475760009050614ff5565b8160018114614f5d5760028114614f6757614f96565b6001915050614ff5565b60ff841115614f7957614f78614e9a565b5b8360020a915084821115614f9057614f8f614e9a565b5b50614ff5565b5060208310610133831016604e8410600b8410161715614fcb5782820a905083811115614fc657614fc5614e9a565b5b614ff5565b614fd88484846001614ed6565b92509050818404811115614fef57614fee614e9a565b5b81810290505b9392505050565b6000615007826148b7565b9150615012836149e0565b925061503f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614f29565b905092915050565b6000615052826148b7565b915061505d836148b7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561509657615095614e9a565b5b828202905092915050565b7f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c2074686960008201527f732066756e6374696f6e00000000000000000000000000000000000000000000602082015250565b60006150fd602a836147a4565b9150615108826150a1565b604082019050919050565b6000602082019050818103600083015261512c816150f0565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b60006151696010836147a4565b915061517482615133565b602082019050919050565b600060208201905081810360008301526151988161515c565b9050919050565b60006151aa826148b7565b91506151b5836148b7565b9250828210156151c8576151c7614e9a565b5b828203905092915050565b7f74726164696e6720616c7265616479206f70656e000000000000000000000000600082015250565b60006152096014836147a4565b9150615214826151d3565b602082019050919050565b60006020820190508181036000830152615238816151fc565b9050919050565b7f6574682063616e6e6f7420626520300000000000000000000000000000000000600082015250565b6000615275600f836147a4565b91506152808261523f565b602082019050919050565b600060208201905081810360008301526152a481615268565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006152e5826148b7565b91506152f0836148b7565b925082615300576152ff6152ab565b5b828204905092915050565b7f6e6f7420656e6f75676820657468000000000000000000000000000000000000600082015250565b6000615341600e836147a4565b915061534c8261530b565b602082019050919050565b6000602082019050818103600083015261537081615334565b9050919050565b7f6e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b60006153ad6009836147a4565b91506153b882615377565b602082019050919050565b600060208201905081810360008301526153dc816153a0565b9050919050565b6000815190506153f28161488b565b92915050565b60006020828403121561540e5761540d614854565b5b600061541c848285016153e3565b91505092915050565b600060408201905061543a6000830185614bb0565b6154476020830184614bb0565b9392505050565b7f43616e6e6f74206c697175696679206d6f7265207468616e207468652062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b60006154aa6024836147a4565b91506154b58261544e565b604082019050919050565b600060208201905081810360008301526154d98161549d565b9050919050565b7f6e6f74206120736e697065720000000000000000000000000000000000000000600082015250565b6000615516600c836147a4565b9150615521826154e0565b602082019050919050565b6000602082019050818103600083015261554581615509565b9050919050565b6000615557826148b7565b9150615562836148b7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561559757615596614e9a565b5b828201905092915050565b60006040820190506155b76000830185614bb0565b6155c46020830184614963565b9392505050565b7f54617820746f6b656e2077616c6c657420756e6c696d69746564000000000000600082015250565b6000615601601a836147a4565b915061560c826155cb565b602082019050919050565b60006020820190508181036000830152615630816155f4565b9050919050565b600061564282614bda565b915061564d83614bda565b92508261ffff0382111561566457615663614e9a565b5b828201905092915050565b7f53756d206d757374206265203130303000000000000000000000000000000000600082015250565b60006156a56010836147a4565b91506156b08261566f565b602082019050919050565b600060208201905081810360008301526156d481615698565b9050919050565b7f7478206c696d697420746f6f206c6f7700000000000000000000000000000000600082015250565b60006157116010836147a4565b915061571c826156db565b602082019050919050565b6000602082019050818103600083015261574081615704565b9050919050565b7f77616c6c6574206c696d697420746f6f206c6f77000000000000000000000000600082015250565b600061577d6014836147a4565b915061578882615747565b602082019050919050565b600060208201905081810360008301526157ac81615770565b9050919050565b7f4c5020616c726561647920736574000000000000000000000000000000000000600082015250565b60006157e9600e836147a4565b91506157f4826157b3565b602082019050919050565b60006020820190508181036000830152615818816157dc565b9050919050565b7f4e6f7420616e204c500000000000000000000000000000000000000000000000600082015250565b60006158556009836147a4565b91506158608261581f565b602082019050919050565b6000602082019050818103600083015261588481615848565b9050919050565b7f43616e6e6f7420756e736574207072696d617279204c50000000000000000000600082015250565b60006158c16017836147a4565b91506158cc8261588b565b602082019050919050565b600060208201905081810360008301526158f0816158b4565b9050919050565b7f4d696e4d6178206572726f720000000000000000000000000000000000000000600082015250565b600061592d600c836147a4565b9150615938826158f7565b602082019050919050565b6000602082019050818103600083015261595c81615920565b9050919050565b7f5570706572207468726573686f6c6420746f6f206c6f77000000000000000000600082015250565b60006159996017836147a4565b91506159a482615963565b602082019050919050565b600060208201905081810360008301526159c88161598c565b9050919050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b6000615a05600c836147a4565b9150615a10826159cf565b602082019050919050565b60006020820190508181036000830152615a34816159f8565b9050919050565b7f4e6f20746f6b656e730000000000000000000000000000000000000000000000600082015250565b6000615a716009836147a4565b9150615a7c82615a3b565b602082019050919050565b60006020820190508181036000830152615aa081615a64565b9050919050565b6000615ab2826149e0565b9150615abd836149e0565b92508160ff0483118215151615615ad757615ad6614e9a565b5b828202905092915050565b6000819050919050565b6000615b07615b02615afd84614859565b615ae2565b614859565b9050919050565b6000615b1982615aec565b9050919050565b6000615b2b82615b0e565b9050919050565b615b3b81615b20565b82525050565b6000602082019050615b566000830184615b32565b92915050565b6000615b6782614bda565b915061ffff821415615b7c57615b7b614e9a565b5b600182019050919050565b6000615b9282614859565b9150615b9d83614859565b925082615bad57615bac6152ab565b5b828206905092915050565b7f476173207072696365206f766572206c696d6974000000000000000000000000600082015250565b6000615bee6014836147a4565b9150615bf982615bb8565b602082019050919050565b60006020820190508181036000830152615c1d81615be1565b9050919050565b7f626c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b6000615c5a600b836147a4565b9150615c6582615c24565b602082019050919050565b60006020820190508181036000830152615c8981615c4d565b9050919050565b7f54582065786365656473206c696d697473000000000000000000000000000000600082015250565b6000615cc66011836147a4565b9150615cd182615c90565b602082019050919050565b60006020820190508181036000830152615cf581615cb9565b9050919050565b6000819050919050565b6000615d21615d1c615d1784615cfc565b615ae2565b6148b7565b9050919050565b615d3181615d06565b82525050565b600060c082019050615d4c6000830189614bb0565b615d596020830188614963565b615d666040830187615d28565b615d736060830186615d28565b615d806080830185614bb0565b615d8d60a0830184614963565b979650505050505050565b600081519050615da7816148c1565b92915050565b600080600060608486031215615dc657615dc5614854565b5b6000615dd486828701615d98565b9350506020615de586828701615d98565b9250506040615df686828701615d98565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b615e9381614879565b82525050565b6000615ea58383615e8a565b60208301905092915050565b6000602082019050919050565b6000615ec982615e5e565b615ed38185615e69565b9350615ede83615e7a565b8060005b83811015615f0f578151615ef68882615e99565b9750615f0183615eb1565b925050600181019050615ee2565b5085935050505092915050565b600060a082019050615f316000830188614963565b615f3e6020830187615d28565b8181036040830152615f508186615ebe565b9050615f5f6060830185614bb0565b615f6c6080830184614963565b969550505050505056fe536e69706572207472616e736665722066726f6d20736e697065722077616c6c6574a26469706673582212207ba4888d4b26438265deeb96b95c83439010f7ec936ef7cc351b2dd60d0b87f764736f6c634300080b0033

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

000000000000000000000000000000000000000000000000000000000a13cc3400000000000000000000000000000000000000000000000000000000052e64ed

-----Decoded View---------------
Arg [0] : smd (uint32): 169069620
Arg [1] : smr (uint32): 86926573

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000000a13cc34
Arg [1] : 00000000000000000000000000000000000000000000000000000000052e64ed


Deployed Bytecode Sourcemap

2124:17557:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5711:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6121:389;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5450:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19585:93;;;;;;;;;;;;;:::i;:::-;;9557:60;;;;;;;;;;;;;:::i;:::-;;6720:362;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5541:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13337:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14959:494;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12866:463;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7087:962;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5875:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15889:996;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13559:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2870:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5794:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2605:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5624:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13450:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6515:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14450:503;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2633:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15458:426;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8684:391;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2895:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16890:364;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13759:510;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2727:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19388:192;;;;;;;;;;;;;:::i;:::-;;2921:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5983:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2809:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14274:169;;;;;;;;;;;;;:::i;:::-;;1313:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2578:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5711:80;5759:13;5783:5;;;;;;;;;;;;;;;;;5776:12;;5711:80;:::o;6121:389::-;6196:4;6226:12;6212:11;;:26;:53;;;;;6243:10;:22;6254:10;6243:22;;;;;;;;;;;;;;;;;;;;;;;;;6242:23;6212:53;6207:188;;;6349:40;6361:10;6373:12;6387:1;6349:11;:40::i;:::-;6207:188;6436:6;6401:11;:23;6413:10;6401:23;;;;;;;;;;;;;;;:32;6425:7;6401:32;;;;;;;;;;;;;;;:41;;;;6473:7;6452:37;;6461:10;6452:37;;;6482:6;6452:37;;;;;;:::i;:::-;;;;;;;;6501:4;6494:11;;6121:389;;;;:::o;5450:88::-;5505:7;2330:1;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;5516:19;;5450:88;:::o;19585:93::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;19632:40:::1;19650:21;19632:17;:40::i;:::-;19585:93::o:0;9557:60::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9600:12:::1;9610:1;9600:9;:12::i;:::-;9557:60::o:0;6720:362::-;6820:4;6839:19;:17;:19::i;:::-;6831:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;6922:17;6887:11;:19;6899:6;6887:19;;;;;;;;;;;;;;;:31;6907:10;6887:31;;;;;;;;;;;;;;;;:52;6884:142;;7014:6;6980:11;:19;6992:6;6980:19;;;;;;;;;;;;;;;:31;7000:10;6980:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6946:11;:19;6958:6;6946:19;;;;;;;;;;;;;;;:31;6966:10;6946:31;;;;;;;;;;;;;;;:74;;;;6884:142;7037:40;7051:6;7059:9;7070:6;7037:13;:40::i;:::-;7030:47;;6720:362;;;;;:::o;5541:80::-;5593:5;2330:1;5602:16;;5541:80;:::o;13337:108::-;13399:7;13420:12;:20;13433:6;13420:20;;;;;;;;;;;;;;;;13413:27;;13337:108;;;:::o;14959:494::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15130:13:::1;15105:14;;:39;;;;;;;;;;;;;;;;;;15174:13;15149:14;;:39;;;;;;;;;;;;;;;;;;15218:13;15193:14;;:39;;;;;;;;;;;;;;;;;;15255:17;15237:15;;:35;;;;;;;;;;;;;;;;;;15302:4;15277:7;:22;15285:13;15277:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;15336:4;15311:7;:22;15319:13;15311:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;15370:4;15345:7;:22;15353:13;15345:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;15406:4;15379:7;:24;15387:15;;;;;;;;;;;15379:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;15444:4;15415:9;:26;15425:15;;;;;;;;;;;15415:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;14959:494:::0;;;;:::o;12866:463::-;12929:13;12949:20;13003:1;12978:13;:21;12992:6;12978:21;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;12974:336;;;13008:23;;;;;;;;;;;;;;;;;;;12974:336;;;13072:1;13047:13;:21;13061:6;13047:21;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;13043:267;;;13077:29;;;;;;;;;;;;;;;;;;;13043:267;;;13147:1;13122:13;:21;13136:6;13122:21;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;13118:192;;;13152:45;;;;;;;;;;;;;;;;;;;13118:192;;;13238:1;13213:13;:21;13227:6;13213:21;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;13209:101;;;13243:24;;;;;;;;;;;;;;;;;;;13209:101;;;13281:26;;;;;;;;;;;;;;;;;;;13209:101;13118:192;13043:267;12974:336;13321:6;13314:13;;;12866:463;;;:::o;7087:962::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7158:11:::1;;;;;;;;;;;7157:12;7149:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;7222:1;7207:12;:16;7199:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;7296:2;7292:1;2330;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;7277:16;;;;:::i;:::-;:21;;;;:::i;:::-;7250:9;:24;7268:4;7250:24;;;;;;;;;;;;;;;:48;;;;7337:4;7308:58;;7325:1;7308:58;;;7363:2;7359:1;2330;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;7344:16;;;;:::i;:::-;:21;;;;:::i;:::-;7308:58;;;;;;:::i;:::-;;;;;;;;7409:2;7405:1;2330;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;7390:16;;;;:::i;:::-;:21;;;;:::i;:::-;7371:9;:16;7381:5:::0;::::1;;;;;;;;;;7371:16;;;;;;;;;;;;;;;:40;;;;7450:5;::::0;::::1;;;;;;;;7421:59;;7438:1;7421:59;;;7477:2;7473:1;2330;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;7458:16;;;;:::i;:::-;:21;;;;:::i;:::-;7421:59;;;;;;:::i;:::-;;;;;;;;7487:27;7517:21;7487:51;;7574:12;7551:19;:35;;7543:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;7610:29;7642:24;7660:4;7642:9;:24::i;:::-;7610:56;;7703:1;7679:21;:25;7671:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;7759:16;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7741:56;;;7806:4;7813:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7741:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7723:15;;:114;;;;;;;;;;;;;;;;;;7874:4;7844:10;:27;7855:15;;;;;;;;;;;7844:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;7913:4;7883:10;:27;7894:15;;;;;;;;;;;7883:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;7924:37;7939:21;7924:14;:37::i;:::-;7966:57;7980:21;8003:12;8017:5;7966:13;:57::i;:::-;8030:14;:12;:14::i;:::-;7144:905;;7087:962:::0;:::o;5875:105::-;5941:7;5959:9;:18;5969:7;5959:18;;;;;;;;;;;;;;;;5952:25;;5875:105;;;:::o;15889:996::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;4236:4:::1;4223:10;;:17;;;;;;;;;;;;;;;;;;16107:3:::2;16093:10;:17;;;;16085:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;16188:1;16164:12;:20;16177:6;16164:20;;;;;;;;;;;;;;;;:25;;16156:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;16211:21;16235:17;16245:6;16235:9;:17::i;:::-;16211:41;;16281:1;16265:13;:17;16257:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16346:3;16333:10;16317:26;;:13;:26;;;;:::i;:::-;:32;;;;:::i;:::-;16301:48;;16396:13;16376:9;:17;16386:6;16376:17;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;16356:9;:17;16366:6;16356:17;;;;;;;;;;;;;;;:53;;;;16468:13;16441:9;:24;16459:4;16441:24;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;16414:9;:24;16432:4;16414:24;;;;;;;;;;;;;;;:67;;;;16516:4;16491:46;;16500:6;16491:46;;;16523:13;16491:46;;;;;;:::i;:::-;;;;;;;;16544:23;16588:1;16584;16570:13;:15;;;;:::i;:::-;:19;;;;:::i;:::-;16544:45;;16594:19;16616:21;16594:43;;16642:37;16663:15;16642:20;:37::i;:::-;16684:19;16730:11;16706:21;:35;;;;:::i;:::-;16684:57;;16746:31;16761:15;16746:14;:31::i;:::-;16782:50;16796:15;16813:11;16826:5;16782:13;:50::i;:::-;16842:38;16858:6;16866:13;16842:38;;;;;;;:::i;:::-;;;;;;;;15977:908;;;;4258:5:::1;4245:10;;:18;;;;;;;;;;;;;;;;;;15889:996:::0;;:::o;13559:195::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13649:15:::1;;;;;;;;;;;13639:25;;:6;:25;;;13634:83;;;13677:6;13669:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;13634:83;13743:6;13721:9;:19;13732:6;13721:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13559:195:::0;;:::o;2870:23::-;;;;;;;;;;;;;:::o;5794:78::-;5846:7;5864:5;;;;;;;;;;;5857:12;;5794:78;:::o;2605:26::-;;;;:::o;5624:84::-;5674:13;5698:7;;;;;;;;;;;;;;;;;5691:14;;5624:84;:::o;13450:104::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13543:6:::1;13523:7;:17;13532:6;13523:17;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;13450:104:::0;;:::o;6515:200::-;6595:4;6614:19;:17;:19::i;:::-;6606:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;6666:44;6680:10;6692:9;6703:6;6666:13;:44::i;:::-;6659:51;;6515:200;;;;:::o;14450:503::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14735:4:::1;14715:16;14696;14677;14662:12;14642:17;:32;;;;:::i;:::-;:51;;;;:::i;:::-;:70;;;;:::i;:::-;:89;;;;:::i;:::-;:97;;;14634:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;14784:17;14766:15;;:35;;;;;;;;;;;;;;;;;;14822:12;14806:13;;:28;;;;;;;;;;;;;;;;;;14856:16;14839:14;;:33;;;;;;;;;;;;;;;;;;14894:16;14877:14;;:33;;;;;;;;;;;;;;;;;;14932:16;14915:14;;:33;;;;;;;;;;;;;;;;;;14450:503:::0;;;;;:::o;2633:30::-;;;;:::o;15458:426::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;15558:16:::1;15617:1;15610:4;15592:15;15577:30;;2330:1;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;15577:30;;;;:::i;:::-;:37;;;;:::i;:::-;:41;;;;:::i;:::-;15558:60;;15643:11;;15631:8;:23;;15623:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;15694:8;15680:11;:22;;;;15707:20;15774:1;15767:4;15745:19;15730:34;;2330:1;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;15730:34;;;;:::i;:::-;:41;;;;:::i;:::-;:45;;;;:::i;:::-;15707:68;;15804:15;;15788:12;:31;;15780:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15867:12;15849:15;:30;;;;15553:331;;15458:426:::0;;:::o;8684:391::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8774:4:::1;8770:301;;;8795:10;:27;8806:15;8795:27;;;;;;;;;;;;;;;;;;;;;;;;;8794:28;8786:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;8877:4;8847:10;:27;8858:15;8847:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;8770:301;;;8907:10;:27;8918:15;8907:27;;;;;;;;;;;;;;;;;;;;;;;;;8899:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8981:15;;;;;;;;;;;8962:34;;:15;:34;;;;8954:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9060:5;9030:10;:27;9041:15;9030:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;8770:301;8684:391:::0;;:::o;2895:24::-;;;;;;;;;;;;;:::o;16890:364::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;17057:10:::1;17031:36;;17046:8;17031:23;;2330:1;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;17031:23;;;;:::i;:::-;:36;;;;:::i;:::-;17017:11;:50;;;;17112:10;17086:36;;17101:8;17086:23;;2330:1;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;17086:23;;;;:::i;:::-;:36;;;;:::i;:::-;17072:11;:50;;;;17148:11;;17135;;:24;;17127:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;17216:5;2330:1;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;17201:20;;;;:::i;:::-;17189:11;;:32;17181:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16890:364:::0;;;;:::o;13759:510::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13878:11:::1;;;;;;;;;;;13865:24;;:9;:24;;;;:44;;;;;13907:2;13893:10;:16;;;;13865:44;:71;;;;;13925:11;;;;;;;;;;;13913:23;;:8;:23;;;;13865:71;13857:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;14195:9;14182:10;;:22;;;;;;;;;;;;;;;;;;14223:10;14209:11;;:24;;;;;;;;;;;;;;;;;;14256:8;14238:15;;:26;;;;;;;;;;;;;;;;;;13759:510:::0;;;:::o;2727:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;19388:192::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;19437:23:::1;19463:24;19481:4;19463:9;:24::i;:::-;19437:50;;19518:1;19500:15;:19;19492:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;19538:37;19559:15;19538:20;:37::i;:::-;19432:148;19388:192::o:0;2921:28::-;;;;;;;;;;;;;:::o;5983:133::-;6067:7;6085:11;:19;6097:6;6085:19;;;;;;;;;;;;;;;:28;6105:7;6085:28;;;;;;;;;;;;;;;;6078:35;;5983:133;;;;:::o;2809:31::-;;;;;;;;;;;;;:::o;14274:169::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14403:1:::1;14390:10;;:14;;;;;;;;;;;;;;;;;;14427:11;;;;;;;;;;;14423:1;:15;;;;:::i;:::-;14409:11;;:29;;;;;;;;;;;;;;;;;;14274:169::o:0;1313:130::-;1252:5;;;;;;;;;;1238:19;;:10;:19;;;1230:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;1395:8:::1;1387:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;1410:30;1431:8;1410:30;;;;;;:::i;:::-;;;;;;;;1313:130:::0;:::o;2578:23::-;;;;;;;;;;;;;:::o;11504:256::-;11598:10;:18;11609:6;11598:18;;;;;;;;;;;;;;;;;;;;;;;;;11597:19;:48;;;;;11644:1;11620:12;:20;11633:6;11620:20;;;;;;;;;;;;;;;;:25;11597:48;11592:164;;;11678:13;11655:12;:20;11668:6;11655:20;;;;;;;;;;;;;;;:36;;;;11722:6;11698:13;:21;11712:6;11698:21;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;11734:13;;:16;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;11592:164;11504:256;;;:::o;18946:437::-;19003:21;19061:14;;;;;;;;;;;19044;;;;;;;;;;;19027;;;;;;;;;;;:31;;;;:::i;:::-;:48;;;;:::i;:::-;19003:72;;19102:1;19085:14;;;;;;;;;;;:18;;;19080:97;;;19108:14;;;;;;;;;;;:23;;:66;19159:14;19132:41;;19142:14;;;;;;;;;;;19132:24;;:7;:24;;;;:::i;:::-;:41;;;;:::i;:::-;19108:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19080:97;19203:1;19186:14;;;;;;;;;;;:18;;;19181:97;;;19209:14;;;;;;;;;;;:23;;:66;19260:14;19233:41;;19243:14;;;;;;;;;;;19233:24;;:7;:24;;;;:::i;:::-;:41;;;;:::i;:::-;19209:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19181:97;19304:1;19287:14;;;;;;;;;;;:18;;;19282:97;;;19310:14;;;;;;;;;;;:23;;:66;19361:14;19334:41;;19344:14;;;;;;;;;;;19334:24;;:7;:24;;;;:::i;:::-;:41;;;;:::i;:::-;19310:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19282:97;18998:385;18946:437;:::o;9622:156::-;9690:12;9676:11;;:26;:46;;;;9721:1;9706:11;;:16;9676:46;9671:103;;;9760:8;9745:23;;:12;:23;;;;:::i;:::-;9731:11;:37;;;;9671:103;9622:156;:::o;12186:219::-;12237:4;12247:16;12266:5;12247:24;;12281:11;;;;;;;;;;;12276:101;;;12311:4;12297:18;;12276:101;;;12346:5;;;;;;;;;;12333:18;;:9;:18;;;12328:49;;;12370:4;12356:18;;12328:49;12276:101;12389:11;12382:18;;;12186:219;:::o;9783:1716::-;9875:4;9905:12;9891:11;;:26;9886:876;;;9969:4;;;;;;;;;;;9931:42;;9961:4;;;;;;;;;;;9931:34;;9947:9;9931:34;;;;:::i;:::-;:42;;;9926:216;;;9978:12;9988:1;9978:9;:12::i;:::-;9926:216;;;10032:1;10008:12;:20;10021:6;10008:20;;;;;;;;;;;;;;;;:25;10003:139;;;10038:39;10050:9;10061:12;10075:1;10038:11;:39::i;:::-;10003:139;;;10092:47;10104:9;10115:12;:20;10128:6;10115:20;;;;;;;;;;;;;;;;10137:1;10092:11;:47::i;:::-;10003:139;9926:216;9886:876;;;10188:1;10164:12;:20;10177:6;10164:20;;;;;;;;;;;;;;;;:25;10159:85;;10194:47;10206:9;10217:12;:20;10230:6;10217:20;;;;;;;;;;;;;;;;10239:1;10194:11;:47::i;:::-;10159:85;10283:15;;;;;;;;;;;10269:29;;:11;;:29;;;;:::i;:::-;10254:12;:44;10249:508;;;10308:17;10356:13;10341:11;:28;10336:80;;10400:13;10386:11;:27;;;;:::i;:::-;10374:39;;10336:80;10440:9;;10427;:22;10422:329;;10460:39;10472:9;10483:12;10497:1;10460:11;:39::i;:::-;10422:329;;;10604:8;;10591:9;:21;10586:165;;10623:30;;;;;;;;;;:::i;:::-;;;;;;;;10586:165;10422:329;10301:456;10249:508;9886:876;10771:11;;;;;;;;;;;:40;;;;;10810:1;10786:12;:20;10799:6;10786:20;;;;;;;;;;;;;;;;:25;;10771:40;:79;;;;;10838:12;10815;:20;10828:6;10815:20;;;;;;;;;;;;;;;;:35;10771:79;10766:113;;;10855:21;;;;;;;;;;:::i;:::-;;;;;;;;10766:113;10891:10;;;;;;;;;;;10890:11;:36;;;;;10905:10;:21;10916:9;10905:21;;;;;;;;;;;;;;;;;;;;;;;;;10890:36;10885:69;;;10931:20;:18;:20::i;:::-;10885:69;10983:4;10965:23;;:6;:23;;;;:53;;;;;11013:4;10992:26;;:9;:26;;;;10965:53;:72;;;;;11032:5;;;;;;;;;;11022:15;;:6;:15;;;;10965:72;10960:146;;;11050:31;11063:9;11074:6;11050:12;:31::i;:::-;11042:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;10960:146;11110:18;11131:40;11145:6;11153:9;11164:6;11131:13;:40::i;:::-;11110:61;;11176:23;11211:10;11202:6;:19;;;;:::i;:::-;11176:45;;11266:6;11246:9;:17;11256:6;11246:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;11226:9;:17;11236:6;11226:17;;;;;;;;;;;;;;;:46;;;;11295:1;11282:10;:14;11277:91;;;11355:10;11328:9;:24;11346:4;11328:24;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;11301:9;:24;11319:4;11301:24;;;;;;;;;;;;;;;:64;;;;11277:91;11418:15;11395:9;:20;11405:9;11395:20;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;11372:9;:20;11382:9;11372:20;;;;;;;;;;;;;;;:61;;;;11460:9;11443:35;;11452:6;11443:35;;;11471:6;11443:35;;;;;;:::i;:::-;;;;;;;;11490:4;11483:11;;;;9783:1716;;;;;:::o;8054:299::-;8173:12;8119:11;:26;8139:4;8119:26;;;;;;;;;;;;;;;:51;4106:42;8119:51;;;;;;;;;;;;;;;;:66;8114:235;;;8248:17;8194:11;:26;8214:4;8194:26;;;;;;;;;;;;;;;:51;4106:42;8194:51;;;;;;;;;;;;;;;:71;;;;4106:42;8276:67;;8293:4;8276:67;;;8325:17;8276:67;;;;;;:::i;:::-;;;;;;;;8114:235;8054:299;:::o;8358:321::-;8455:24;8503:8;8497:46;;8535:5;;;;;;;;;;8516:24;;8497:46;8547:16;;;;;;;;;;;:32;;;8587:13;8612:4;8619:12;8633:1;8636;8639:16;8657:15;8547:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8450:229;8358:321;;;:::o;9080:472::-;9147:2;9132:12;:17;;;;:::i;:::-;9118:11;:31;;;;2330:1;9253:2;:13;;;;:::i;:::-;9246:4;2330:1;2283:2;:15;;;;:::i;:::-;2266:13;:33;;;;:::i;:::-;9227:1;:16;;;;:::i;:::-;:23;;;;:::i;:::-;:39;;;;:::i;:::-;9209:11;:57;;;;9290:11;;9272:15;:29;;;;9319:2;9306:10;;:15;;;;;;;;;;;;;;;;;;9359:2;9345:11;;:16;;;;;;;;;;;;;;;;;;9456:2;9438:15;;:20;;;;;;;;;;;;;;;;;;9543:4;9529:11;;:18;;;;;;;;;;;;;;;;;;9080:472::o;18609:332::-;18674:28;18689:12;18674:14;:28::i;:::-;18707:21;18745:1;18731:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18707:40;;18770:4;18752;18757:1;18752:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;18790:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18780:4;18785:1;18780:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;18818:16;;;;;;;;;;;:67;;;18886:12;18899:1;18901:4;18914;18920:15;18818:118;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18669:272;18609:332;:::o;17547:1057::-;4236:4;4223:10;;:17;;;;;;;;;;;;;;;;;;17602:27:::1;17632:24;17650:4;17632:9;:24::i;:::-;17602:54;;17691:11;;17668:19;:34;;:49;;;;;17706:11;;;;;;;;;;;17668:49;17663:937;;;17754:11;;17731:19;:34;17726:80;;17792:11;;17770:33;;17726:80;17818:20;17886:1;17879:4;17863:13;;;;;;;;;;;17841:35;;:19;:35;;;;:::i;:::-;:42;;;;:::i;:::-;:46;;;;:::i;:::-;17818:69;;17893:25;17961:4;17943:15;;;;;;;;;;;17921:37;;:19;:37;;;;:::i;:::-;:44;;;;:::i;:::-;17893:72;;17971:54;17990:15;;;;;;;;;;;18007:17;17971:18;:54::i;:::-;18036:21;18097:17;18082:12;18060:19;:34;;;;:::i;:::-;:54;;;;:::i;:::-;18036:78;;18120:19;18142:21;18120:43;;18169:35;18190:13;18169:20;:35::i;:::-;18210:19;18256:11;18232:21;:35;;;;:::i;:::-;18210:57;;18294:1;18278:13;;;;;;;;;;;:17;;;18273:189;;;18305:21;18359:4;18343:13;;;;;;;;;;;18329:27;;:11;:27;;;;:::i;:::-;:34;;;;:::i;:::-;18305:58;;18371:28;18386:12;18371:14;:28::i;:::-;18406:49;18420:12;18434:13;18449:5;18406:13;:49::i;:::-;18298:164;18273:189;18467:27;18497:21;18467:51;;18549:1;18527:19;:23;18524:71;;;18554:38;18572:19;18554:17;:38::i;:::-;18524:71;17720:880;;;;;;17663:937;17597:1007;4258:5:::0;4245:10;;:18;;;;;;;;;;;;;;;;;;17547:1057::o;11767:414::-;11855:4;11866:21;11890:4;11866:28;;11904:11;;;;;;;;;;;:36;;;;;11920:9;:20;11930:9;11920:20;;;;;;;;;;;;;;;;;;;;;;;;;11919:21;11904:36;11899:250;;;11971:11;;11954:14;:28;11949:195;;;12006:5;11987:24;;11949:195;;;12030:10;:21;12041:9;12030:21;;;;;;;;;;;;;;;;;;;;;;;;;12029:22;:83;;;;;12096:15;;12079:14;12056:9;:20;12066:9;12056:20;;;;;;;;;;;;;;;;:37;;;;:::i;:::-;:55;12029:83;12024:120;;;12136:5;12117:24;;12024:120;11949:195;11899:250;12160:16;12153:23;;;11767:414;;;;:::o;12410:451::-;12507:7;12521:17;12549:11;;;;;;;;;;;12548:12;:31;;;;12564:7;:15;12572:6;12564:15;;;;;;;;;;;;;;;;;;;;;;;;;12548:31;:53;;;;12583:7;:18;12591:9;12583:18;;;;;;;;;;;;;;;;;;;;;;;;;12548:53;12543:293;;;12618:1;12606:13;;12543:293;;;12636:10;:18;12647:6;12636:18;;;;;;;;;;;;;;;;;;;;;;;;;12631:205;;;12693:3;12680:10;;;;;;;;;;;12671:19;;:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;12659:37;;12631:205;;;12713:10;:21;12724:9;12713:21;;;;;;;;;;;;;;;;;;;;;;;;;12708:128;;;12774:3;12760:11;;;;;;;;;;;12751:20;;:6;:20;;;;:::i;:::-;:26;;;;:::i;:::-;12739:38;;12708:128;;;12830:3;12812:15;;;;;;;;;;;12803:24;;:6;:24;;;;:::i;:::-;:30;;;;:::i;:::-;12791:42;;12708:128;12631:205;12543:293;12847:9;12840:16;;;12410:451;;;;;:::o;17261:281::-;17351:1;17342:6;:10;17337:201;;;17415:6;17388:9;:24;17406:4;17388:24;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;17361:9;:24;17379:4;17361:24;;;;;;;;;;;;;;;:60;;;;17473:6;17450:9;:20;17460:9;17450:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;17427:9;:20;17437:9;17427:20;;;;;;;;;;;;;;;:52;;;;17514:9;17490:42;;17507:4;17490:42;;;17525:6;17490:42;;;;;;:::i;:::-;;;;;;;;17337:201;17261:281;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:765::-;5322:6;5330;5338;5346;5395:3;5383:9;5374:7;5370:23;5366:33;5363:120;;;5402:79;;:::i;:::-;5363:120;5522:1;5547:53;5592:7;5583:6;5572:9;5568:22;5547:53;:::i;:::-;5537:63;;5493:117;5649:2;5675:53;5720:7;5711:6;5700:9;5696:22;5675:53;:::i;:::-;5665:63;;5620:118;5777:2;5803:53;5848:7;5839:6;5828:9;5824:22;5803:53;:::i;:::-;5793:63;;5748:118;5905:2;5931:53;5976:7;5967:6;5956:9;5952:22;5931:53;:::i;:::-;5921:63;;5876:118;5236:765;;;;;;;:::o;6007:329::-;6066:6;6115:2;6103:9;6094:7;6090:23;6086:32;6083:119;;;6121:79;;:::i;:::-;6083:119;6241:1;6266:53;6311:7;6302:6;6291:9;6287:22;6266:53;:::i;:::-;6256:63;;6212:117;6007:329;;;;:::o;6342:118::-;6413:22;6429:5;6413:22;:::i;:::-;6406:5;6403:33;6393:61;;6450:1;6447;6440:12;6393:61;6342:118;:::o;6466:135::-;6510:5;6548:6;6535:20;6526:29;;6564:31;6589:5;6564:31;:::i;:::-;6466:135;;;;:::o;6607:470::-;6673:6;6681;6730:2;6718:9;6709:7;6705:23;6701:32;6698:119;;;6736:79;;:::i;:::-;6698:119;6856:1;6881:53;6926:7;6917:6;6906:9;6902:22;6881:53;:::i;:::-;6871:63;;6827:117;6983:2;7009:51;7052:7;7043:6;7032:9;7028:22;7009:51;:::i;:::-;6999:61;;6954:116;6607:470;;;;;:::o;7083:116::-;7153:21;7168:5;7153:21;:::i;:::-;7146:5;7143:32;7133:60;;7189:1;7186;7179:12;7133:60;7083:116;:::o;7205:133::-;7248:5;7286:6;7273:20;7264:29;;7302:30;7326:5;7302:30;:::i;:::-;7205:133;;;;:::o;7344:468::-;7409:6;7417;7466:2;7454:9;7445:7;7441:23;7437:32;7434:119;;;7472:79;;:::i;:::-;7434:119;7592:1;7617:53;7662:7;7653:6;7642:9;7638:22;7617:53;:::i;:::-;7607:63;;7563:117;7719:2;7745:50;7787:7;7778:6;7767:9;7763:22;7745:50;:::i;:::-;7735:60;;7690:115;7344:468;;;;;:::o;7818:118::-;7905:24;7923:5;7905:24;:::i;:::-;7900:3;7893:37;7818:118;;:::o;7942:222::-;8035:4;8073:2;8062:9;8058:18;8050:26;;8086:71;8154:1;8143:9;8139:17;8130:6;8086:71;:::i;:::-;7942:222;;;;:::o;8170:89::-;8206:7;8246:6;8239:5;8235:18;8224:29;;8170:89;;;:::o;8265:120::-;8337:23;8354:5;8337:23;:::i;:::-;8330:5;8327:34;8317:62;;8375:1;8372;8365:12;8317:62;8265:120;:::o;8391:137::-;8436:5;8474:6;8461:20;8452:29;;8490:32;8516:5;8490:32;:::i;:::-;8391:137;;;;:::o;8534:901::-;8624:6;8632;8640;8648;8656;8705:3;8693:9;8684:7;8680:23;8676:33;8673:120;;;8712:79;;:::i;:::-;8673:120;8832:1;8857:52;8901:7;8892:6;8881:9;8877:22;8857:52;:::i;:::-;8847:62;;8803:116;8958:2;8984:52;9028:7;9019:6;9008:9;9004:22;8984:52;:::i;:::-;8974:62;;8929:117;9085:2;9111:52;9155:7;9146:6;9135:9;9131:22;9111:52;:::i;:::-;9101:62;;9056:117;9212:2;9238:52;9282:7;9273:6;9262:9;9258:22;9238:52;:::i;:::-;9228:62;;9183:117;9339:3;9366:52;9410:7;9401:6;9390:9;9386:22;9366:52;:::i;:::-;9356:62;;9310:118;8534:901;;;;;;;;:::o;9441:470::-;9507:6;9515;9564:2;9552:9;9543:7;9539:23;9535:32;9532:119;;;9570:79;;:::i;:::-;9532:119;9690:1;9715:52;9759:7;9750:6;9739:9;9735:22;9715:52;:::i;:::-;9705:62;;9661:116;9816:2;9842:52;9886:7;9877:6;9866:9;9862:22;9842:52;:::i;:::-;9832:62;;9787:117;9441:470;;;;;:::o;9917:93::-;9953:7;9993:10;9986:5;9982:22;9971:33;;9917:93;;;:::o;10016:120::-;10088:23;10105:5;10088:23;:::i;:::-;10081:5;10078:34;10068:62;;10126:1;10123;10116:12;10068:62;10016:120;:::o;10142:137::-;10187:5;10225:6;10212:20;10203:29;;10241:32;10267:5;10241:32;:::i;:::-;10142:137;;;;:::o;10285:757::-;10367:6;10375;10383;10391;10440:3;10428:9;10419:7;10415:23;10411:33;10408:120;;;10447:79;;:::i;:::-;10408:120;10567:1;10592:52;10636:7;10627:6;10616:9;10612:22;10592:52;:::i;:::-;10582:62;;10538:116;10693:2;10719:52;10763:7;10754:6;10743:9;10739:22;10719:52;:::i;:::-;10709:62;;10664:117;10820:2;10846:52;10890:7;10881:6;10870:9;10866:22;10846:52;:::i;:::-;10836:62;;10791:117;10947:2;10973:52;11017:7;11008:6;10997:9;10993:22;10973:52;:::i;:::-;10963:62;;10918:117;10285:757;;;;;;;:::o;11048:607::-;11119:6;11127;11135;11184:2;11172:9;11163:7;11159:23;11155:32;11152:119;;;11190:79;;:::i;:::-;11152:119;11310:1;11335:51;11378:7;11369:6;11358:9;11354:22;11335:51;:::i;:::-;11325:61;;11281:115;11435:2;11461:51;11504:7;11495:6;11484:9;11480:22;11461:51;:::i;:::-;11451:61;;11406:116;11561:2;11587:51;11630:7;11621:6;11610:9;11606:22;11587:51;:::i;:::-;11577:61;;11532:116;11048:607;;;;;:::o;11661:474::-;11729:6;11737;11786:2;11774:9;11765:7;11761:23;11757:32;11754:119;;;11792:79;;:::i;:::-;11754:119;11912:1;11937:53;11982:7;11973:6;11962:9;11958:22;11937:53;:::i;:::-;11927:63;;11883:117;12039:2;12065:53;12110:7;12101:6;12090:9;12086:22;12065:53;:::i;:::-;12055:63;;12010:118;11661:474;;;;;:::o;12141:115::-;12226:23;12243:5;12226:23;:::i;:::-;12221:3;12214:36;12141:115;;:::o;12262:218::-;12353:4;12391:2;12380:9;12376:18;12368:26;;12404:69;12470:1;12459:9;12455:17;12446:6;12404:69;:::i;:::-;12262:218;;;;:::o;12486:104::-;12531:7;12560:24;12578:5;12560:24;:::i;:::-;12549:35;;12486:104;;;:::o;12596:138::-;12677:32;12703:5;12677:32;:::i;:::-;12670:5;12667:43;12657:71;;12724:1;12721;12714:12;12657:71;12596:138;:::o;12740:155::-;12794:5;12832:6;12819:20;12810:29;;12848:41;12883:5;12848:41;:::i;:::-;12740:155;;;;:::o;12901:345::-;12968:6;13017:2;13005:9;12996:7;12992:23;12988:32;12985:119;;;13023:79;;:::i;:::-;12985:119;13143:1;13168:61;13221:7;13212:6;13201:9;13197:22;13168:61;:::i;:::-;13158:71;;13114:125;12901:345;;;;:::o;13252:180::-;13300:77;13297:1;13290:88;13397:4;13394:1;13387:15;13421:4;13418:1;13411:15;13438:102;13480:8;13527:5;13524:1;13520:13;13499:34;;13438:102;;;:::o;13546:848::-;13607:5;13614:4;13638:6;13629:15;;13662:5;13653:14;;13676:712;13697:1;13687:8;13684:15;13676:712;;;13792:4;13787:3;13783:14;13777:4;13774:24;13771:50;;;13801:18;;:::i;:::-;13771:50;13851:1;13841:8;13837:16;13834:451;;;14266:4;14259:5;14255:16;14246:25;;13834:451;14316:4;14310;14306:15;14298:23;;14346:32;14369:8;14346:32;:::i;:::-;14334:44;;13676:712;;;13546:848;;;;;;;:::o;14400:1073::-;14454:5;14645:8;14635:40;;14666:1;14657:10;;14668:5;;14635:40;14694:4;14684:36;;14711:1;14702:10;;14713:5;;14684:36;14780:4;14828:1;14823:27;;;;14864:1;14859:191;;;;14773:277;;14823:27;14841:1;14832:10;;14843:5;;;14859:191;14904:3;14894:8;14891:17;14888:43;;;14911:18;;:::i;:::-;14888:43;14960:8;14957:1;14953:16;14944:25;;14995:3;14988:5;14985:14;14982:40;;;15002:18;;:::i;:::-;14982:40;15035:5;;;14773:277;;15159:2;15149:8;15146:16;15140:3;15134:4;15131:13;15127:36;15109:2;15099:8;15096:16;15091:2;15085:4;15082:12;15078:35;15062:111;15059:246;;;15215:8;15209:4;15205:19;15196:28;;15250:3;15243:5;15240:14;15237:40;;;15257:18;;:::i;:::-;15237:40;15290:5;;15059:246;15330:42;15368:3;15358:8;15352:4;15349:1;15330:42;:::i;:::-;15315:57;;;;15404:4;15399:3;15395:14;15388:5;15385:25;15382:51;;;15413:18;;:::i;:::-;15382:51;15462:4;15455:5;15451:16;15442:25;;14400:1073;;;;;;:::o;15479:281::-;15537:5;15561:23;15579:4;15561:23;:::i;:::-;15553:31;;15605:25;15621:8;15605:25;:::i;:::-;15593:37;;15649:104;15686:66;15676:8;15670:4;15649:104;:::i;:::-;15640:113;;15479:281;;;;:::o;15766:348::-;15806:7;15829:20;15847:1;15829:20;:::i;:::-;15824:25;;15863:20;15881:1;15863:20;:::i;:::-;15858:25;;16051:1;15983:66;15979:74;15976:1;15973:81;15968:1;15961:9;15954:17;15950:105;15947:131;;;16058:18;;:::i;:::-;15947:131;16106:1;16103;16099:9;16088:20;;15766:348;;;;:::o;16120:229::-;16260:34;16256:1;16248:6;16244:14;16237:58;16329:12;16324:2;16316:6;16312:15;16305:37;16120:229;:::o;16355:366::-;16497:3;16518:67;16582:2;16577:3;16518:67;:::i;:::-;16511:74;;16594:93;16683:3;16594:93;:::i;:::-;16712:2;16707:3;16703:12;16696:19;;16355:366;;;:::o;16727:419::-;16893:4;16931:2;16920:9;16916:18;16908:26;;16980:9;16974:4;16970:20;16966:1;16955:9;16951:17;16944:47;17008:131;17134:4;17008:131;:::i;:::-;17000:139;;16727:419;;;:::o;17152:166::-;17292:18;17288:1;17280:6;17276:14;17269:42;17152:166;:::o;17324:366::-;17466:3;17487:67;17551:2;17546:3;17487:67;:::i;:::-;17480:74;;17563:93;17652:3;17563:93;:::i;:::-;17681:2;17676:3;17672:12;17665:19;;17324:366;;;:::o;17696:419::-;17862:4;17900:2;17889:9;17885:18;17877:26;;17949:9;17943:4;17939:20;17935:1;17924:9;17920:17;17913:47;17977:131;18103:4;17977:131;:::i;:::-;17969:139;;17696:419;;;:::o;18121:191::-;18161:4;18181:20;18199:1;18181:20;:::i;:::-;18176:25;;18215:20;18233:1;18215:20;:::i;:::-;18210:25;;18254:1;18251;18248:8;18245:34;;;18259:18;;:::i;:::-;18245:34;18304:1;18301;18297:9;18289:17;;18121:191;;;;:::o;18318:170::-;18458:22;18454:1;18446:6;18442:14;18435:46;18318:170;:::o;18494:366::-;18636:3;18657:67;18721:2;18716:3;18657:67;:::i;:::-;18650:74;;18733:93;18822:3;18733:93;:::i;:::-;18851:2;18846:3;18842:12;18835:19;;18494:366;;;:::o;18866:419::-;19032:4;19070:2;19059:9;19055:18;19047:26;;19119:9;19113:4;19109:20;19105:1;19094:9;19090:17;19083:47;19147:131;19273:4;19147:131;:::i;:::-;19139:139;;18866:419;;;:::o;19291:165::-;19431:17;19427:1;19419:6;19415:14;19408:41;19291:165;:::o;19462:366::-;19604:3;19625:67;19689:2;19684:3;19625:67;:::i;:::-;19618:74;;19701:93;19790:3;19701:93;:::i;:::-;19819:2;19814:3;19810:12;19803:19;;19462:366;;;:::o;19834:419::-;20000:4;20038:2;20027:9;20023:18;20015:26;;20087:9;20081:4;20077:20;20073:1;20062:9;20058:17;20051:47;20115:131;20241:4;20115:131;:::i;:::-;20107:139;;19834:419;;;:::o;20259:180::-;20307:77;20304:1;20297:88;20404:4;20401:1;20394:15;20428:4;20425:1;20418:15;20445:185;20485:1;20502:20;20520:1;20502:20;:::i;:::-;20497:25;;20536:20;20554:1;20536:20;:::i;:::-;20531:25;;20575:1;20565:35;;20580:18;;:::i;:::-;20565:35;20622:1;20619;20615:9;20610:14;;20445:185;;;;:::o;20636:164::-;20776:16;20772:1;20764:6;20760:14;20753:40;20636:164;:::o;20806:366::-;20948:3;20969:67;21033:2;21028:3;20969:67;:::i;:::-;20962:74;;21045:93;21134:3;21045:93;:::i;:::-;21163:2;21158:3;21154:12;21147:19;;20806:366;;;:::o;21178:419::-;21344:4;21382:2;21371:9;21367:18;21359:26;;21431:9;21425:4;21421:20;21417:1;21406:9;21402:17;21395:47;21459:131;21585:4;21459:131;:::i;:::-;21451:139;;21178:419;;;:::o;21603:159::-;21743:11;21739:1;21731:6;21727:14;21720:35;21603:159;:::o;21768:365::-;21910:3;21931:66;21995:1;21990:3;21931:66;:::i;:::-;21924:73;;22006:93;22095:3;22006:93;:::i;:::-;22124:2;22119:3;22115:12;22108:19;;21768:365;;;:::o;22139:419::-;22305:4;22343:2;22332:9;22328:18;22320:26;;22392:9;22386:4;22382:20;22378:1;22367:9;22363:17;22356:47;22420:131;22546:4;22420:131;:::i;:::-;22412:139;;22139:419;;;:::o;22564:143::-;22621:5;22652:6;22646:13;22637:22;;22668:33;22695:5;22668:33;:::i;:::-;22564:143;;;;:::o;22713:351::-;22783:6;22832:2;22820:9;22811:7;22807:23;22803:32;22800:119;;;22838:79;;:::i;:::-;22800:119;22958:1;22983:64;23039:7;23030:6;23019:9;23015:22;22983:64;:::i;:::-;22973:74;;22929:128;22713:351;;;;:::o;23070:332::-;23191:4;23229:2;23218:9;23214:18;23206:26;;23242:71;23310:1;23299:9;23295:17;23286:6;23242:71;:::i;:::-;23323:72;23391:2;23380:9;23376:18;23367:6;23323:72;:::i;:::-;23070:332;;;;;:::o;23408:223::-;23548:34;23544:1;23536:6;23532:14;23525:58;23617:6;23612:2;23604:6;23600:15;23593:31;23408:223;:::o;23637:366::-;23779:3;23800:67;23864:2;23859:3;23800:67;:::i;:::-;23793:74;;23876:93;23965:3;23876:93;:::i;:::-;23994:2;23989:3;23985:12;23978:19;;23637:366;;;:::o;24009:419::-;24175:4;24213:2;24202:9;24198:18;24190:26;;24262:9;24256:4;24252:20;24248:1;24237:9;24233:17;24226:47;24290:131;24416:4;24290:131;:::i;:::-;24282:139;;24009:419;;;:::o;24434:162::-;24574:14;24570:1;24562:6;24558:14;24551:38;24434:162;:::o;24602:366::-;24744:3;24765:67;24829:2;24824:3;24765:67;:::i;:::-;24758:74;;24841:93;24930:3;24841:93;:::i;:::-;24959:2;24954:3;24950:12;24943:19;;24602:366;;;:::o;24974:419::-;25140:4;25178:2;25167:9;25163:18;25155:26;;25227:9;25221:4;25217:20;25213:1;25202:9;25198:17;25191:47;25255:131;25381:4;25255:131;:::i;:::-;25247:139;;24974:419;;;:::o;25399:305::-;25439:3;25458:20;25476:1;25458:20;:::i;:::-;25453:25;;25492:20;25510:1;25492:20;:::i;:::-;25487:25;;25646:1;25578:66;25574:74;25571:1;25568:81;25565:107;;;25652:18;;:::i;:::-;25565:107;25696:1;25693;25689:9;25682:16;;25399:305;;;;:::o;25710:332::-;25831:4;25869:2;25858:9;25854:18;25846:26;;25882:71;25950:1;25939:9;25935:17;25926:6;25882:71;:::i;:::-;25963:72;26031:2;26020:9;26016:18;26007:6;25963:72;:::i;:::-;25710:332;;;;;:::o;26048:176::-;26188:28;26184:1;26176:6;26172:14;26165:52;26048:176;:::o;26230:366::-;26372:3;26393:67;26457:2;26452:3;26393:67;:::i;:::-;26386:74;;26469:93;26558:3;26469:93;:::i;:::-;26587:2;26582:3;26578:12;26571:19;;26230:366;;;:::o;26602:419::-;26768:4;26806:2;26795:9;26791:18;26783:26;;26855:9;26849:4;26845:20;26841:1;26830:9;26826:17;26819:47;26883:131;27009:4;26883:131;:::i;:::-;26875:139;;26602:419;;;:::o;27027:242::-;27066:3;27085:19;27102:1;27085:19;:::i;:::-;27080:24;;27118:19;27135:1;27118:19;:::i;:::-;27113:24;;27211:1;27203:6;27199:14;27196:1;27193:21;27190:47;;;27217:18;;:::i;:::-;27190:47;27261:1;27258;27254:9;27247:16;;27027:242;;;;:::o;27275:166::-;27415:18;27411:1;27403:6;27399:14;27392:42;27275:166;:::o;27447:366::-;27589:3;27610:67;27674:2;27669:3;27610:67;:::i;:::-;27603:74;;27686:93;27775:3;27686:93;:::i;:::-;27804:2;27799:3;27795:12;27788:19;;27447:366;;;:::o;27819:419::-;27985:4;28023:2;28012:9;28008:18;28000:26;;28072:9;28066:4;28062:20;28058:1;28047:9;28043:17;28036:47;28100:131;28226:4;28100:131;:::i;:::-;28092:139;;27819:419;;;:::o;28244:166::-;28384:18;28380:1;28372:6;28368:14;28361:42;28244:166;:::o;28416:366::-;28558:3;28579:67;28643:2;28638:3;28579:67;:::i;:::-;28572:74;;28655:93;28744:3;28655:93;:::i;:::-;28773:2;28768:3;28764:12;28757:19;;28416:366;;;:::o;28788:419::-;28954:4;28992:2;28981:9;28977:18;28969:26;;29041:9;29035:4;29031:20;29027:1;29016:9;29012:17;29005:47;29069:131;29195:4;29069:131;:::i;:::-;29061:139;;28788:419;;;:::o;29213:170::-;29353:22;29349:1;29341:6;29337:14;29330:46;29213:170;:::o;29389:366::-;29531:3;29552:67;29616:2;29611:3;29552:67;:::i;:::-;29545:74;;29628:93;29717:3;29628:93;:::i;:::-;29746:2;29741:3;29737:12;29730:19;;29389:366;;;:::o;29761:419::-;29927:4;29965:2;29954:9;29950:18;29942:26;;30014:9;30008:4;30004:20;30000:1;29989:9;29985:17;29978:47;30042:131;30168:4;30042:131;:::i;:::-;30034:139;;29761:419;;;:::o;30186:164::-;30326:16;30322:1;30314:6;30310:14;30303:40;30186:164;:::o;30356:366::-;30498:3;30519:67;30583:2;30578:3;30519:67;:::i;:::-;30512:74;;30595:93;30684:3;30595:93;:::i;:::-;30713:2;30708:3;30704:12;30697:19;;30356:366;;;:::o;30728:419::-;30894:4;30932:2;30921:9;30917:18;30909:26;;30981:9;30975:4;30971:20;30967:1;30956:9;30952:17;30945:47;31009:131;31135:4;31009:131;:::i;:::-;31001:139;;30728:419;;;:::o;31153:159::-;31293:11;31289:1;31281:6;31277:14;31270:35;31153:159;:::o;31318:365::-;31460:3;31481:66;31545:1;31540:3;31481:66;:::i;:::-;31474:73;;31556:93;31645:3;31556:93;:::i;:::-;31674:2;31669:3;31665:12;31658:19;;31318:365;;;:::o;31689:419::-;31855:4;31893:2;31882:9;31878:18;31870:26;;31942:9;31936:4;31932:20;31928:1;31917:9;31913:17;31906:47;31970:131;32096:4;31970:131;:::i;:::-;31962:139;;31689:419;;;:::o;32114:173::-;32254:25;32250:1;32242:6;32238:14;32231:49;32114:173;:::o;32293:366::-;32435:3;32456:67;32520:2;32515:3;32456:67;:::i;:::-;32449:74;;32532:93;32621:3;32532:93;:::i;:::-;32650:2;32645:3;32641:12;32634:19;;32293:366;;;:::o;32665:419::-;32831:4;32869:2;32858:9;32854:18;32846:26;;32918:9;32912:4;32908:20;32904:1;32893:9;32889:17;32882:47;32946:131;33072:4;32946:131;:::i;:::-;32938:139;;32665:419;;;:::o;33090:162::-;33230:14;33226:1;33218:6;33214:14;33207:38;33090:162;:::o;33258:366::-;33400:3;33421:67;33485:2;33480:3;33421:67;:::i;:::-;33414:74;;33497:93;33586:3;33497:93;:::i;:::-;33615:2;33610:3;33606:12;33599:19;;33258:366;;;:::o;33630:419::-;33796:4;33834:2;33823:9;33819:18;33811:26;;33883:9;33877:4;33873:20;33869:1;33858:9;33854:17;33847:47;33911:131;34037:4;33911:131;:::i;:::-;33903:139;;33630:419;;;:::o;34055:173::-;34195:25;34191:1;34183:6;34179:14;34172:49;34055:173;:::o;34234:366::-;34376:3;34397:67;34461:2;34456:3;34397:67;:::i;:::-;34390:74;;34473:93;34562:3;34473:93;:::i;:::-;34591:2;34586:3;34582:12;34575:19;;34234:366;;;:::o;34606:419::-;34772:4;34810:2;34799:9;34795:18;34787:26;;34859:9;34853:4;34849:20;34845:1;34834:9;34830:17;34823:47;34887:131;35013:4;34887:131;:::i;:::-;34879:139;;34606:419;;;:::o;35031:162::-;35171:14;35167:1;35159:6;35155:14;35148:38;35031:162;:::o;35199:366::-;35341:3;35362:67;35426:2;35421:3;35362:67;:::i;:::-;35355:74;;35438:93;35527:3;35438:93;:::i;:::-;35556:2;35551:3;35547:12;35540:19;;35199:366;;;:::o;35571:419::-;35737:4;35775:2;35764:9;35760:18;35752:26;;35824:9;35818:4;35814:20;35810:1;35799:9;35795:17;35788:47;35852:131;35978:4;35852:131;:::i;:::-;35844:139;;35571:419;;;:::o;35996:159::-;36136:11;36132:1;36124:6;36120:14;36113:35;35996:159;:::o;36161:365::-;36303:3;36324:66;36388:1;36383:3;36324:66;:::i;:::-;36317:73;;36399:93;36488:3;36399:93;:::i;:::-;36517:2;36512:3;36508:12;36501:19;;36161:365;;;:::o;36532:419::-;36698:4;36736:2;36725:9;36721:18;36713:26;;36785:9;36779:4;36775:20;36771:1;36760:9;36756:17;36749:47;36813:131;36939:4;36813:131;:::i;:::-;36805:139;;36532:419;;;:::o;36957:280::-;36995:7;37018:18;37034:1;37018:18;:::i;:::-;37013:23;;37050:18;37066:1;37050:18;:::i;:::-;37045:23;;37174:1;37168:4;37164:12;37161:1;37158:19;37153:1;37146:9;37139:17;37135:43;37132:69;;;37181:18;;:::i;:::-;37132:69;37229:1;37226;37222:9;37211:20;;36957:280;;;;:::o;37243:60::-;37271:3;37292:5;37285:12;;37243:60;;;:::o;37309:142::-;37359:9;37392:53;37410:34;37419:24;37437:5;37419:24;:::i;:::-;37410:34;:::i;:::-;37392:53;:::i;:::-;37379:66;;37309:142;;;:::o;37457:126::-;37507:9;37540:37;37571:5;37540:37;:::i;:::-;37527:50;;37457:126;;;:::o;37589:134::-;37647:9;37680:37;37711:5;37680:37;:::i;:::-;37667:50;;37589:134;;;:::o;37729:147::-;37824:45;37863:5;37824:45;:::i;:::-;37819:3;37812:58;37729:147;;:::o;37882:238::-;37983:4;38021:2;38010:9;38006:18;37998:26;;38034:79;38110:1;38099:9;38095:17;38086:6;38034:79;:::i;:::-;37882:238;;;;:::o;38126:171::-;38164:3;38187:23;38204:5;38187:23;:::i;:::-;38178:32;;38232:6;38225:5;38222:17;38219:43;;;38242:18;;:::i;:::-;38219:43;38289:1;38282:5;38278:13;38271:20;;38126:171;;;:::o;38303:176::-;38335:1;38352:20;38370:1;38352:20;:::i;:::-;38347:25;;38386:20;38404:1;38386:20;:::i;:::-;38381:25;;38425:1;38415:35;;38430:18;;:::i;:::-;38415:35;38471:1;38468;38464:9;38459:14;;38303:176;;;;:::o;38485:170::-;38625:22;38621:1;38613:6;38609:14;38602:46;38485:170;:::o;38661:366::-;38803:3;38824:67;38888:2;38883:3;38824:67;:::i;:::-;38817:74;;38900:93;38989:3;38900:93;:::i;:::-;39018:2;39013:3;39009:12;39002:19;;38661:366;;;:::o;39033:419::-;39199:4;39237:2;39226:9;39222:18;39214:26;;39286:9;39280:4;39276:20;39272:1;39261:9;39257:17;39250:47;39314:131;39440:4;39314:131;:::i;:::-;39306:139;;39033:419;;;:::o;39458:161::-;39598:13;39594:1;39586:6;39582:14;39575:37;39458:161;:::o;39625:366::-;39767:3;39788:67;39852:2;39847:3;39788:67;:::i;:::-;39781:74;;39864:93;39953:3;39864:93;:::i;:::-;39982:2;39977:3;39973:12;39966:19;;39625:366;;;:::o;39997:419::-;40163:4;40201:2;40190:9;40186:18;40178:26;;40250:9;40244:4;40240:20;40236:1;40225:9;40221:17;40214:47;40278:131;40404:4;40278:131;:::i;:::-;40270:139;;39997:419;;;:::o;40422:167::-;40562:19;40558:1;40550:6;40546:14;40539:43;40422:167;:::o;40595:366::-;40737:3;40758:67;40822:2;40817:3;40758:67;:::i;:::-;40751:74;;40834:93;40923:3;40834:93;:::i;:::-;40952:2;40947:3;40943:12;40936:19;;40595:366;;;:::o;40967:419::-;41133:4;41171:2;41160:9;41156:18;41148:26;;41220:9;41214:4;41210:20;41206:1;41195:9;41191:17;41184:47;41248:131;41374:4;41248:131;:::i;:::-;41240:139;;40967:419;;;:::o;41392:85::-;41437:7;41466:5;41455:16;;41392:85;;;:::o;41483:158::-;41541:9;41574:61;41592:42;41601:32;41627:5;41601:32;:::i;:::-;41592:42;:::i;:::-;41574:61;:::i;:::-;41561:74;;41483:158;;;:::o;41647:147::-;41742:45;41781:5;41742:45;:::i;:::-;41737:3;41730:58;41647:147;;:::o;41800:807::-;42049:4;42087:3;42076:9;42072:19;42064:27;;42101:71;42169:1;42158:9;42154:17;42145:6;42101:71;:::i;:::-;42182:72;42250:2;42239:9;42235:18;42226:6;42182:72;:::i;:::-;42264:80;42340:2;42329:9;42325:18;42316:6;42264:80;:::i;:::-;42354;42430:2;42419:9;42415:18;42406:6;42354:80;:::i;:::-;42444:73;42512:3;42501:9;42497:19;42488:6;42444:73;:::i;:::-;42527;42595:3;42584:9;42580:19;42571:6;42527:73;:::i;:::-;41800:807;;;;;;;;;:::o;42613:143::-;42670:5;42701:6;42695:13;42686:22;;42717:33;42744:5;42717:33;:::i;:::-;42613:143;;;;:::o;42762:663::-;42850:6;42858;42866;42915:2;42903:9;42894:7;42890:23;42886:32;42883:119;;;42921:79;;:::i;:::-;42883:119;43041:1;43066:64;43122:7;43113:6;43102:9;43098:22;43066:64;:::i;:::-;43056:74;;43012:128;43179:2;43205:64;43261:7;43252:6;43241:9;43237:22;43205:64;:::i;:::-;43195:74;;43150:129;43318:2;43344:64;43400:7;43391:6;43380:9;43376:22;43344:64;:::i;:::-;43334:74;;43289:129;42762:663;;;;;:::o;43431:180::-;43479:77;43476:1;43469:88;43576:4;43573:1;43566:15;43600:4;43597:1;43590:15;43617:180;43665:77;43662:1;43655:88;43762:4;43759:1;43752:15;43786:4;43783:1;43776:15;43803:114;43870:6;43904:5;43898:12;43888:22;;43803:114;;;:::o;43923:184::-;44022:11;44056:6;44051:3;44044:19;44096:4;44091:3;44087:14;44072:29;;43923:184;;;;:::o;44113:132::-;44180:4;44203:3;44195:11;;44233:4;44228:3;44224:14;44216:22;;44113:132;;;:::o;44251:108::-;44328:24;44346:5;44328:24;:::i;:::-;44323:3;44316:37;44251:108;;:::o;44365:179::-;44434:10;44455:46;44497:3;44489:6;44455:46;:::i;:::-;44533:4;44528:3;44524:14;44510:28;;44365:179;;;;:::o;44550:113::-;44620:4;44652;44647:3;44643:14;44635:22;;44550:113;;;:::o;44699:732::-;44818:3;44847:54;44895:5;44847:54;:::i;:::-;44917:86;44996:6;44991:3;44917:86;:::i;:::-;44910:93;;45027:56;45077:5;45027:56;:::i;:::-;45106:7;45137:1;45122:284;45147:6;45144:1;45141:13;45122:284;;;45223:6;45217:13;45250:63;45309:3;45294:13;45250:63;:::i;:::-;45243:70;;45336:60;45389:6;45336:60;:::i;:::-;45326:70;;45182:224;45169:1;45166;45162:9;45157:14;;45122:284;;;45126:14;45422:3;45415:10;;44823:608;;;44699:732;;;;:::o;45437:831::-;45700:4;45738:3;45727:9;45723:19;45715:27;;45752:71;45820:1;45809:9;45805:17;45796:6;45752:71;:::i;:::-;45833:80;45909:2;45898:9;45894:18;45885:6;45833:80;:::i;:::-;45960:9;45954:4;45950:20;45945:2;45934:9;45930:18;45923:48;45988:108;46091:4;46082:6;45988:108;:::i;:::-;45980:116;;46106:72;46174:2;46163:9;46159:18;46150:6;46106:72;:::i;:::-;46188:73;46256:3;46245:9;46241:19;46232:6;46188:73;:::i;:::-;45437:831;;;;;;;;:::o

Swarm Source

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