ETH Price: $2,892.92 (-3.78%)
Gas: 9 Gwei

Contract

0xa6be27538A28114Fe03EB7ADE9AdfE53164f2a4c
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
0x6080604097560102020-03-27 21:52:571495 days ago1585345977IN
 Create: GenesisAddresses
0 ETH0.005444381

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GenesisAddresses

Compiler Version
v0.6.1+commit.e6f7d5a4

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-03-29
*/

pragma solidity ^0.6.0;

interface publicCalls {
  function GenesisDestroyAmountCount (  ) external view returns ( uint256 );
  function GenesisDestroyAmountCountSet ( uint256 _GenesisDestroyAmountCount ) external;
  function GenesisDestroyCountStake (  ) external view returns ( uint256 );
  function GenesisDestroyCountStakeSet ( uint256 _GenesisDestroyCountStake ) external;
  function GenesisDestroyed (  ) external view returns ( uint256 );
  function GenesisDestroyedSet ( uint256 _GenesisDestroyed ) external;
  function allowAddressToDestroyGenesis ( address ) external view returns ( address );
  function allowAddressToDestroyGenesisSet ( address _address, address _allowAddressToDestroyGenesis ) external;
  function allowReceiveGenesisTransfers ( address ) external view returns ( bool );
  function allowReceiveGenesisTransfersSet ( address _address, bool _allowReceiveGenesisTransfers ) external;
  function allowed ( address, address ) external view returns ( uint256 );
  function allowedSet ( address _address, address _spender, uint256 _amount ) external;
  function amountOfGenesisToBuyStakes (  ) external view returns ( uint256 );
  function amountOfGenesisToBuyStakesSet ( address _from, uint256 _amountOfGenesisToBuyStakes ) external;
  function amountOfGenesisToTransferStakes (  ) external view returns ( uint256 );
  function amountOfGenesisToTransferStakesSet ( address _from, uint256 _amountOfGenesisToTransferStakes ) external;
  function amountOfMNEForToken (  ) external view returns ( uint256 );
  function amountOfMNEForTokenICO (  ) external view returns ( uint256 );
  function amountOfMNEForTokenICOSet ( address _from, uint256 _amountOfMNEForTokenICO ) external;
  function amountOfMNEForTokenSet ( address _from, uint256 _amountOfMNEForToken ) external;
  function amountOfMNEToBuyStakes (  ) external view returns ( uint256 );
  function amountOfMNEToBuyStakesSet ( address _from, uint256 _amountOfMNEToBuyStakes ) external;
  function amountOfMNEToTransferStakes (  ) external view returns ( uint256 );
  function amountOfMNEToTransferStakesSet ( address _from, uint256 _amountOfMNEToTransferStakes ) external;
  function balances ( address ) external view returns ( uint256 );
  function balancesSet ( address _address, uint256 _balances ) external;
  function buyStakeGenesisCount (  ) external view returns ( uint256 );
  function buyStakeGenesisCountSet ( uint256 _buyStakeGenesisCount ) external;
  function buyStakeMNECount (  ) external view returns ( uint256 );
  function buyStakeMNECountSet ( uint256 _buyStakeMNECount ) external;
  function ethFeeForSellerLevel1 (  ) external view returns ( uint256 );
  function ethFeeForSellerLevel1Set ( address _from, uint256 _ethFeeForSellerLevel1 ) external;
  function ethFeeForToken (  ) external view returns ( uint256 );
  function ethFeeForTokenICO (  ) external view returns ( uint256 );
  function ethFeeForTokenICOSet ( address _from, uint256 _ethFeeForTokenICO ) external;
  function ethFeeForTokenSet ( address _from, uint256 _ethFeeForToken ) external;
  function ethFeeToBuyLevel1 (  ) external view returns ( uint256 );
  function ethFeeToBuyLevel1Set ( address _from, uint256 _ethFeeToBuyLevel1 ) external;
  function ethFeeToUpgradeToLevel2 (  ) external view returns ( uint256 );
  function ethFeeToUpgradeToLevel2Set ( address _from, uint256 _ethFeeToUpgradeToLevel2 ) external;
  function ethFeeToUpgradeToLevel3 (  ) external view returns ( uint256 );
  function ethFeeToUpgradeToLevel3Set ( address _from, uint256 _ethFeeToUpgradeToLevel3 ) external;
  function ethPercentFeeGenesisExchange (  ) external view returns ( uint256 );
  function ethPercentFeeGenesisExchangeSet ( address _from, uint256 _ethPercentFeeGenesisExchange ) external;
  function ethPercentFeeNormalExchange (  ) external view returns ( uint256 );
  function ethPercentFeeNormalExchangeSet ( address _from, uint256 _ethPercentFeeNormalExchange ) external;
  function ethPercentStakeExchange (  ) external view returns ( uint256 );
  function ethPercentStakeExchangeSet ( address _from, uint256 _ethPercentStakeExchange ) external;
  function genesisAddressCount (  ) external view returns ( uint256 );
  function genesisAddressCountSet ( uint256 _genesisAddressCount ) external;
  function genesisAddressesForSaleLevel1Index ( address ) external view returns ( uint256 );
  function genesisAddressesForSaleLevel1IndexSet ( address _address, uint256 _genesisAddressesForSaleLevel1Index ) external;
  function genesisAddressesForSaleLevel2Index ( address ) external view returns ( uint256 );
  function genesisAddressesForSaleLevel2IndexSet ( address _address, uint256 _genesisAddressesForSaleLevel2Index ) external;
  function genesisAddressesForSaleLevel3Index ( address ) external view returns ( uint256 );
  function genesisAddressesForSaleLevel3IndexSet ( address _address, uint256 _genesisAddressesForSaleLevel3Index ) external;
  function genesisBuyPrice ( address ) external view returns ( uint256 );
  function genesisBuyPriceSet ( address _address, uint256 _genesisBuyPrice ) external;
  function genesisCallerAddress (  ) external view returns ( address );
  function genesisCallerAddressSet ( address _genesisCallerAddress ) external;
  function genesisInitialSupply ( address ) external view returns ( uint256 );
  function genesisInitialSupplySet ( address _address, uint256 _genesisInitialSupply ) external;
  function genesisRewardPerBlock (  ) external view returns ( uint256 );
  function genesisSalesCount (  ) external view returns ( uint256 );
  function genesisSalesCountSet ( uint256 _genesisSalesCount ) external;
  function genesisSalesPriceCount (  ) external view returns ( uint256 );
  function genesisSalesPriceCountSet ( uint256 _genesisSalesPriceCount ) external;
  function genesisSupplyPerAddress (  ) external view returns ( uint256 );
  function genesisTransfersCount (  ) external view returns ( uint256 );
  function genesisTransfersCountSet ( uint256 _genesisTransfersCount ) external;
  function initialBlockCount (  ) external view returns ( uint256 );
  function initialBlockCountPerAddress ( address ) external view returns ( uint256 );
  function initialBlockCountPerAddressSet ( address _address, uint256 _initialBlockCountPerAddress ) external;
  function initialBlockCountSet ( uint256 _initialBlockCount ) external;
  function isGenesisAddress ( address ) external view returns ( uint8 );
  function isGenesisAddressForSale ( address ) external view returns ( bool );
  function isGenesisAddressForSaleSet ( address _address, bool _isGenesisAddressForSale ) external;
  function isGenesisAddressSet ( address _address, uint8 _isGenesisAddress ) external;
  function isNormalAddressForSale ( address ) external view returns ( bool );
  function isNormalAddressForSaleSet ( address _address, bool _isNormalAddressForSale ) external;
  function level2ActivationsFromLevel1Count (  ) external view returns ( uint256 );
  function level2ActivationsFromLevel1CountSet ( uint256 _level2ActivationsFromLevel1Count ) external;
  function level3ActivationsFromDevCount (  ) external view returns ( uint256 );
  function level3ActivationsFromDevCountSet ( uint256 _level3ActivationsFromDevCount ) external;
  function level3ActivationsFromLevel1Count (  ) external view returns ( uint256 );
  function level3ActivationsFromLevel1CountSet ( uint256 _level3ActivationsFromLevel1Count ) external;
  function level3ActivationsFromLevel2Count (  ) external view returns ( uint256 );
  function level3ActivationsFromLevel2CountSet ( uint256 _level3ActivationsFromLevel2Count ) external;
  function maxBlocks (  ) external view returns ( uint256 );
  function mneBurned (  ) external view returns ( uint256 );
  function mneBurnedSet ( uint256 _mneBurned ) external;
  function overallSupply (  ) external view returns ( uint256 );
  function overallSupplySet ( uint256 _overallSupply ) external;
  function ownerGenesis (  ) external view returns ( address );
  function ownerGenesisBuys (  ) external view returns ( address );
  function ownerMain (  ) external view returns ( address );
  function ownerNormalAddress (  ) external view returns ( address );
  function ownerStakeBuys (  ) external view returns ( address );
  function ownerStakes (  ) external view returns ( address );
  function ownerTokenService (  ) external view returns ( address );
  function setOwnerGenesis (  ) external;
  function setOwnerGenesisBuys (  ) external;
  function setOwnerMain (  ) external;
  function setOwnerNormalAddress (  ) external;
  function setOwnerStakeBuys (  ) external;
  function setOwnerStakes (  ) external;
  function setOwnerTokenService (  ) external;
  function setupRunning (  ) external view returns ( bool );
  function setupRunningSet ( bool _setupRunning ) external;
}

interface publicArrays {
  function Level1TradeHistoryAmountETH ( uint256 ) external view returns ( uint256 );
  function Level1TradeHistoryAmountETHFee ( uint256 ) external view returns ( uint256 );
  function Level1TradeHistoryAmountETHFeeLength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryAmountETHFeeSet ( uint256 _Level1TradeHistoryAmountETHFee ) external;
  function Level1TradeHistoryAmountETHLength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryAmountETHSet ( uint256 _Level1TradeHistoryAmountETH ) external;
  function Level1TradeHistoryAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level1TradeHistoryAmountMNELength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryAmountMNESet ( uint256 _Level1TradeHistoryAmountMNE ) external;
  function Level1TradeHistoryBuyer ( uint256 ) external view returns ( address );
  function Level1TradeHistoryBuyerLength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryBuyerSet ( address _Level1TradeHistoryBuyer ) external;
  function Level1TradeHistoryDate ( uint256 ) external view returns ( uint256 );
  function Level1TradeHistoryDateLength (  ) external view returns ( uint256 len );
  function Level1TradeHistoryDateSet ( uint256 _Level1TradeHistoryDate ) external;
  function Level1TradeHistorySeller ( uint256 ) external view returns ( address );
  function Level1TradeHistorySellerLength (  ) external view returns ( uint256 len );
  function Level1TradeHistorySellerSet ( address _Level1TradeHistorySeller ) external;
  function Level2TradeHistoryAmountETH ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryAmountETHFee ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryAmountETHFeeLength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryAmountETHFeeSet ( uint256 _Level2TradeHistoryAmountETHFee ) external;
  function Level2TradeHistoryAmountETHLength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryAmountETHSet ( uint256 _Level2TradeHistoryAmountETH ) external;
  function Level2TradeHistoryAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryAmountMNELength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryAmountMNESet ( uint256 _Level2TradeHistoryAmountMNE ) external;
  function Level2TradeHistoryAvailableAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryAvailableAmountMNELength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryAvailableAmountMNESet ( uint256 _Level2TradeHistoryAvailableAmountMNE ) external;
  function Level2TradeHistoryBuyer ( uint256 ) external view returns ( address );
  function Level2TradeHistoryBuyerLength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryBuyerSet ( address _Level2TradeHistoryBuyer ) external;
  function Level2TradeHistoryDate ( uint256 ) external view returns ( uint256 );
  function Level2TradeHistoryDateLength (  ) external view returns ( uint256 len );
  function Level2TradeHistoryDateSet ( uint256 _Level2TradeHistoryDate ) external;
  function Level2TradeHistorySeller ( uint256 ) external view returns ( address );
  function Level2TradeHistorySellerLength (  ) external view returns ( uint256 len );
  function Level2TradeHistorySellerSet ( address _Level2TradeHistorySeller ) external;
  function Level3TradeHistoryAmountETH ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryAmountETHFee ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryAmountETHFeeLength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryAmountETHFeeSet ( uint256 _Level3TradeHistoryAmountETHFee ) external;
  function Level3TradeHistoryAmountETHLength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryAmountETHSet ( uint256 _Level3TradeHistoryAmountETH ) external;
  function Level3TradeHistoryAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryAmountMNELength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryAmountMNESet ( uint256 _Level3TradeHistoryAmountMNE ) external;
  function Level3TradeHistoryAvailableAmountMNE ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryAvailableAmountMNELength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryAvailableAmountMNESet ( uint256 _Level3TradeHistoryAvailableAmountMNE ) external;
  function Level3TradeHistoryBuyer ( uint256 ) external view returns ( address );
  function Level3TradeHistoryBuyerLength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryBuyerSet ( address _Level3TradeHistoryBuyer ) external;
  function Level3TradeHistoryDate ( uint256 ) external view returns ( uint256 );
  function Level3TradeHistoryDateLength (  ) external view returns ( uint256 len );
  function Level3TradeHistoryDateSet ( uint256 _Level3TradeHistoryDate ) external;
  function Level3TradeHistorySeller ( uint256 ) external view returns ( address );
  function Level3TradeHistorySellerLength (  ) external view returns ( uint256 len );
  function Level3TradeHistorySellerSet ( address _Level3TradeHistorySeller ) external;
  function deleteGenesisAddressesForSaleLevel1 (  ) external;
  function deleteGenesisAddressesForSaleLevel2 (  ) external;
  function deleteGenesisAddressesForSaleLevel3 (  ) external;
  function deleteNormalAddressesForSale (  ) external;
  function deleteStakeHoldersList (  ) external;
  function deleteStakesForSale (  ) external;
  function genesisAddressesForSaleLevel1 ( uint256 ) external view returns ( address );
  function genesisAddressesForSaleLevel1Length (  ) external view returns ( uint256 len );
  function genesisAddressesForSaleLevel1Set ( address _genesisAddressesForSaleLevel1 ) external;
  function genesisAddressesForSaleLevel2 ( uint256 ) external view returns ( address );
  function genesisAddressesForSaleLevel2Length (  ) external view returns ( uint256 len );
  function genesisAddressesForSaleLevel2Set ( address _genesisAddressesForSaleLevel2 ) external;
  function genesisAddressesForSaleLevel3 ( uint256 ) external view returns ( address );
  function genesisAddressesForSaleLevel3Length (  ) external view returns ( uint256 len );
  function genesisAddressesForSaleLevel3Set ( address _genesisAddressesForSaleLevel3 ) external;
  function ownerGenesis (  ) external view returns ( address );
  function ownerMain (  ) external view returns ( address );
  function ownerNormalAddress (  ) external view returns ( address );
  function ownerStakes (  ) external view returns ( address );
  function setOwnerGenesis (  ) external;
  function setOwnerMain (  ) external;
  function setOwnerNormalAddress (  ) external;
  function setOwnerStakes (  ) external;
  function genesisAddressesForSaleLevel1SetAt(uint i, address _address) external;
  function genesisAddressesForSaleLevel2SetAt(uint i, address _address) external;
  function genesisAddressesForSaleLevel3SetAt(uint i, address _address) external;
}

contract GenesisAddresses
{
address public ownerMain = 0x0000000000000000000000000000000000000000;
address public ownerStakes = 0x0000000000000000000000000000000000000000;
address public ownerNormalAddress = 0x0000000000000000000000000000000000000000;
address public ownerGenesisBuys = 0x0000000000000000000000000000000000000000;
address public ownerStakeBuys = 0x0000000000000000000000000000000000000000;
address public ownerBaseTransfers = 0x0000000000000000000000000000000000000000;
address public external1 = 0x0000000000000000000000000000000000000000;

event GenesisAddressTransfer(address indexed from, address indexed to, uint256 supply);
event GenesisAddressSale(address indexed from, address indexed to, uint256 price, uint256 supply);
event GenesisBuyPriceHistory(address indexed from, uint256 price, uint8 genesisType);
event GenesisRemoveGenesisSaleHistory(address indexed from);
event AllowDestroyHistory(address indexed from, address indexed to);
event Level2UpgradeHistory(address indexed from);
event Level3UpgradeHistory(address indexed from);
event GenesisLevel1ForSaleHistory(address indexed from);
event GenesisRemoveSaleHistory(address indexed from);
event RemoveAllowDestroyHistory(address indexed from);
event ReceiveGenesisTransfersAllow(address indexed _address);
event RemoveReceiveGenesisTransfersAllow(address indexed _address);
event Burn(address indexed _owner, uint256 _value);

address public updaterAddress = 0x0000000000000000000000000000000000000000;
function setUpdater() public {if (updaterAddress == 0x0000000000000000000000000000000000000000) updaterAddress = msg.sender; else revert();}
function updaterSetOwnerMain(address _address) public {if (tx.origin == updaterAddress) ownerMain = _address; else revert();}
function updaterSetOwnerStakes(address _address) public {if (tx.origin == updaterAddress) ownerStakes = _address; else revert();}
function updaterSetOwnerNormalAddress(address _address) public {if (tx.origin == updaterAddress) ownerNormalAddress = _address; else revert();}
function updaterSetOwnerGenesisBuys(address _address) public {if (tx.origin == updaterAddress) ownerGenesisBuys = _address; else revert();}
function updaterSetOwnerStakeBuys(address _address) public {if (tx.origin == updaterAddress) ownerStakeBuys = _address; else revert();}
function updaterSetOwnerBaseTransfers(address _address) public {if (tx.origin == updaterAddress) ownerBaseTransfers = _address; else revert();}

function setOwnerBaseTransfers() public {
	if (tx.origin == updaterAddress)
		ownerBaseTransfers = msg.sender;
	else
		revert();
}

function setOwnerMain() public {
	if (tx.origin == updaterAddress)
		ownerMain = msg.sender;
	else
		revert();
}

function setOwnerStakes() public {
	if (tx.origin == updaterAddress)
		ownerStakes = msg.sender;
	else
		revert();
}

function setOwnerNormalAddress() public {
	if (tx.origin == updaterAddress)
		ownerNormalAddress = msg.sender;
	else
		revert();
}

function setOwnerGenesisBuys() public {
	if (tx.origin == updaterAddress)
		ownerGenesisBuys = msg.sender;
	else
		revert();
}

function setOwnerStakeBuys() public {
	if (tx.origin == updaterAddress)
		ownerStakeBuys = msg.sender;
	else
		revert();
}

function setOwnerExternal1() public {
	if (tx.origin == updaterAddress)
		external1 = msg.sender;
	else
		revert();
}

modifier onlyOwner(){
    require(msg.sender == ownerMain || msg.sender == ownerStakes || msg.sender == ownerNormalAddress || msg.sender == ownerGenesisBuys || msg.sender == ownerStakeBuys || msg.sender == ownerBaseTransfers || msg.sender == external1);
     _;
}


publicCalls public pc;
publicArrays public pa;

constructor(address _publicCallsAddress, address _publicArraysAddress) public {
setUpdater();
pc = publicCalls(_publicCallsAddress);
pc.setOwnerGenesis();
pa = publicArrays(_publicArraysAddress);
pa.setOwnerGenesis();
}

function reloadPublicCalls(address _address, uint code) public { if (!(code == 1234)) revert();  if (msg.sender == updaterAddress)	{pc = publicCalls(_address); pc.setOwnerGenesis();} else revert();}
function reloadPublicArrays(address _address, uint code) public { if (!(code == 1234)) revert();  if (msg.sender == updaterAddress)	{pa = publicArrays(_address); pa.setOwnerGenesis();} else revert();}

function isAnyGenesisAddress(address _address) public view returns (bool success) {
	if (pc.isGenesisAddress(_address) > 0)
		return true;
	else
		return false;
}

function isGenesisAddressLevel1(address _address) public view returns (bool success) {
	if (pc.isGenesisAddress(_address) == 1)
		return true;
	else
		return false;
}

function isGenesisAddressLevel2(address _address) public view returns (bool success) {
	if (pc.isGenesisAddress(_address) == 2)
		return true;
	else
		return false;
}

function isGenesisAddressLevel3(address _address) public view returns (bool success) {
	if (pc.isGenesisAddress(_address) == 3)
		return true;
	else
		return false;
}

function isGenesisAddressLevel2Or3(address _address) public view returns (bool success) {
	if (pc.isGenesisAddress(_address) == 2 || pc.isGenesisAddress(_address) == 3)
		return true;
	else
		return false;
}

function TransferGenesis(address _from, address _to) public onlyOwner { 
	if (!isGenesisAddressLevel2Or3(_from)) revert('(!isGenesisAddressLevel2Or3(_from))');
	
	if (!(_from != _to)) revert('(!(_from != _address))');
	
	if (!pc.allowReceiveGenesisTransfers(_to)) revert('(!pc.allowReceiveGenesisTransfers(_to))');
	
	if (pc.isGenesisAddressForSale(_from)) revert('(pc.isGenesisAddressForSale(_from))');
	
	if (balanceOf(_to) > 0) revert('(balanceOf(_to) > 0)');
	
	if (isAnyGenesisAddress(_to)) revert('(isAnyGenesisAddress(_to))');	
		
	pc.balancesSet(_to, pc.balances(_from)); 
	pc.balancesSet(_from, 0);
	pc.initialBlockCountPerAddressSet(_to, pc.initialBlockCountPerAddress(_from));
	pc.initialBlockCountPerAddressSet(_from, 0);
	pc.isGenesisAddressSet(_to, pc.isGenesisAddress(_from));
	pc.isGenesisAddressSet(_from, 0);
	pc.genesisBuyPriceSet(_from, 0);
	pc.isGenesisAddressForSaleSet(_from, false);	
	pc.allowAddressToDestroyGenesisSet(_to, 0x0000000000000000000000000000000000000000);
	pc.allowAddressToDestroyGenesisSet(_from, 0x0000000000000000000000000000000000000000);
	pc.allowReceiveGenesisTransfersSet(_from, false);
	pc.allowReceiveGenesisTransfersSet(_to, false);
	pc.genesisTransfersCountSet(pc.genesisTransfersCount() + 1);
	emit GenesisAddressTransfer(_from, _to, pc.balances(_to));
}

function SetGenesisForSale(address _from, uint256 weiPrice) public onlyOwner {
	
	if (weiPrice < 10 && isGenesisAddressLevel2Or3(msg.sender)) revert('weiPrice < 10 && isGenesisAddressLevel2Or3(msg.sender)');
	
	if (!isAnyGenesisAddress(_from)) revert('(!isAnyGenesisAddress(_from))');
	
	if (pc.isGenesisAddressForSale(_from)) revert('(pc.isGenesisAddressForSale(_from))');
	
	if (balanceOf(_from) == 0) revert('(balanceOf(_from) == 0)');
	
	if (isGenesisAddressLevel2Or3(_from)) 
	{
		if (weiPrice > 0)
		{
			pc.genesisBuyPriceSet(_from, weiPrice);	
			if (isGenesisAddressLevel3(_from))
			{
				pa.genesisAddressesForSaleLevel3Set(_from);
				pc.genesisAddressesForSaleLevel3IndexSet(_from, pa.genesisAddressesForSaleLevel3Length() - 1);	
			}
			else
			{
				pa.genesisAddressesForSaleLevel2Set(_from);
				pc.genesisAddressesForSaleLevel2IndexSet(_from, pa.genesisAddressesForSaleLevel2Length() - 1);	
			}	
			emit GenesisBuyPriceHistory(_from, weiPrice, pc.isGenesisAddress(_from));			
		}
		else
			revert('Price cannot be 0');
	}	
	else if (isGenesisAddressLevel1(_from))
	{
		pa.genesisAddressesForSaleLevel1Set(_from);
		pc.genesisAddressesForSaleLevel1IndexSet(_from, pa.genesisAddressesForSaleLevel1Length() - 1);			
		emit GenesisLevel1ForSaleHistory(_from);
	}
	
	pc.isGenesisAddressForSaleSet(_from, true);

}

function deleteAddressFromGenesisSaleList(address _address) public onlyOwner {
		if (isGenesisAddressLevel1(_address))
		{
			uint lastIndex = pa.genesisAddressesForSaleLevel1Length() - 1;
			if (lastIndex > 0)
			{
				address lastIndexAddress = pa.genesisAddressesForSaleLevel1(lastIndex);
				pc.genesisAddressesForSaleLevel1IndexSet(lastIndexAddress, pc.genesisAddressesForSaleLevel1Index(_address));
				pa.genesisAddressesForSaleLevel1SetAt(pc.genesisAddressesForSaleLevel1Index(_address), lastIndexAddress);				
			}
			pc.genesisAddressesForSaleLevel1IndexSet(_address, 0);
			pa.deleteGenesisAddressesForSaleLevel1();
		}
		else if (isGenesisAddressLevel2(_address))
		{
			uint lastIndex = pa.genesisAddressesForSaleLevel2Length() - 1;
			if (lastIndex > 0)
			{
				address lastIndexAddress = pa.genesisAddressesForSaleLevel2(lastIndex);
				pc.genesisAddressesForSaleLevel2IndexSet(lastIndexAddress, pc.genesisAddressesForSaleLevel2Index(_address));
				pa.genesisAddressesForSaleLevel2SetAt(pc.genesisAddressesForSaleLevel2Index(_address),lastIndexAddress);				
			}
			pc.genesisAddressesForSaleLevel2IndexSet(_address, 0);
			pa.deleteGenesisAddressesForSaleLevel2();
		}
		else if (isGenesisAddressLevel3(_address))
		{
			uint lastIndex = pa.genesisAddressesForSaleLevel3Length() - 1;
			if (lastIndex > 0)
			{
				address lastIndexAddress = pa.genesisAddressesForSaleLevel3(lastIndex);
				pc.genesisAddressesForSaleLevel3IndexSet(lastIndexAddress, pc.genesisAddressesForSaleLevel3Index(_address));
				pa.genesisAddressesForSaleLevel3SetAt(pc.genesisAddressesForSaleLevel3Index(_address), lastIndexAddress);				
			}
			pc.genesisAddressesForSaleLevel3IndexSet(_address, 0);
			pa.deleteGenesisAddressesForSaleLevel3();
		}		
}

function AllowReceiveGenesisTransfers(address _from) public onlyOwner { 
	if (isAnyGenesisAddress(_from)) revert('if (isAnyGenesisAddress(_from))');
	if (pc.allowReceiveGenesisTransfers(_from)) revert('pc.allowReceiveGenesisTransfers(_from)');
	pc.allowReceiveGenesisTransfersSet(_from, true);
	emit ReceiveGenesisTransfersAllow(_from);
}

function RemoveAllowReceiveGenesisTransfers(address _from) public onlyOwner { 
	pc.allowReceiveGenesisTransfersSet(_from,false);
	emit RemoveReceiveGenesisTransfersAllow(_from);
}

function RemoveGenesisAddressFromSale(address _from) public onlyOwner{ 
	if (!isAnyGenesisAddress(_from)) revert('(!isAnyGenesisAddress(_from))');
	if (!pc.isGenesisAddressForSale(_from)) revert('!pc.isGenesisAddressForSale(_from))');
	pc.genesisBuyPriceSet(_from, 0);
	pc.isGenesisAddressForSaleSet(_from, false);	
	deleteAddressFromGenesisSaleList(_from);	
	emit GenesisRemoveSaleHistory(_from);	
}

function AllowAddressToDestroyGenesis(address _from, address _address) public onlyOwner { 
	if (!isGenesisAddressLevel3(_from)) revert('(!isGenesisAddressLevel3(_from))');
	if (pc.isGenesisAddressForSale(_from)) revert('(pc.isGenesisAddressForSale(_from))');	
	pc.allowAddressToDestroyGenesisSet(_from, _address);
	emit AllowDestroyHistory(_from, _address);	
}

function RemoveAllowAddressToDestroyGenesis(address _from) public onlyOwner { 
	pc.allowAddressToDestroyGenesisSet(_from, 0x0000000000000000000000000000000000000000);
	emit RemoveAllowDestroyHistory(_from);			
}

function UpgradeToLevel2FromLevel1(address _address, uint256 weiValue) public onlyOwner {
	if (isGenesisAddressLevel1(_address) && !pc.isGenesisAddressForSale(_address))
	{
		if (weiValue != pc.ethFeeToUpgradeToLevel2()) revert('(weiValue != pc.ethFeeToUpgradeToLevel2())');
		pc.initialBlockCountPerAddressSet(_address, block.number);
		pc.isGenesisAddressSet(_address, 2);	
		pc.balancesSet(_address, pc.genesisSupplyPerAddress());
		pc.level2ActivationsFromLevel1CountSet(pc.level2ActivationsFromLevel1Count()+1);
		emit Level2UpgradeHistory(_address);
	}
	else
	{
		revert();
	}
}

function UpgradeToLevel3FromLevel1(address _address, uint256 weiValue) public onlyOwner {
	if (isGenesisAddressLevel1(_address) && !pc.isGenesisAddressForSale(_address))
	{
		uint256 totalFee = (pc.ethFeeToUpgradeToLevel2() + pc.ethFeeToUpgradeToLevel3());
		if (weiValue != totalFee) revert('(weiValue != totalFee)');
		pc.initialBlockCountPerAddressSet(_address, block.number);
		pc.isGenesisAddressSet(_address, 3);	
		pc.balancesSet(_address, pc.genesisSupplyPerAddress());
		pc.level3ActivationsFromLevel1CountSet(pc.level3ActivationsFromLevel1Count()+1);		
		emit Level3UpgradeHistory(_address);
	}
	else
	{
		revert();
	}
}

function UpgradeToLevel3FromLevel2(address _address, uint256 weiValue) public onlyOwner {
	if (isGenesisAddressLevel2(_address) && !pc.isGenesisAddressForSale(_address))
	{
		if (weiValue != pc.ethFeeToUpgradeToLevel3()) revert('(weiValue != pc.ethFeeToUpgradeToLevel3())');
		pc.isGenesisAddressSet(_address, 3);	
		pc.level3ActivationsFromLevel2CountSet(pc.level3ActivationsFromLevel2Count()+1);
		emit Level3UpgradeHistory(_address);
	}
	else
	{
		revert();
	}
}

function UpgradeToLevel3FromDev(address _address) public onlyOwner {
	if (pc.isGenesisAddress(_address) == 4 && !pc.isGenesisAddressForSale(_address))
	{
		pc.initialBlockCountPerAddressSet(_address, block.number);
		pc.isGenesisAddressSet(_address, 3);	
		pc.balancesSet(_address, pc.genesisSupplyPerAddress());
		pc.level3ActivationsFromDevCountSet(pc.level3ActivationsFromDevCount()+1);		
		emit Level3UpgradeHistory(_address);
	}
	else
	{
		revert();
	}
}

function availableBalanceOf(address _address) public view returns (uint256 Balance)
{
	if (isGenesisAddressLevel2Or3(_address))
	{
		uint minedBlocks = block.number - pc.initialBlockCountPerAddress(_address);
		
		if (minedBlocks >= pc.maxBlocks()) return pc.balances(_address);
				
		return pc.balances(_address) - (pc.genesisSupplyPerAddress() - (pc.genesisRewardPerBlock()*minedBlocks));
	}
	else if (isGenesisAddressLevel1(_address) || pc.isGenesisAddress(_address) == 4)
		return 0;
	else
		return pc.balances(_address);
}

function balanceOf(address _address) public view returns (uint256 balance) {
	if (isGenesisAddressLevel1(_address) || pc.isGenesisAddress(_address) == 4)
		return pc.genesisSupplyPerAddress();
	else
		return pc.balances(_address);
}

function BurnTokens(address _from, uint256 mneToBurn) public onlyOwner returns (bool success)
{
	if (pc.isGenesisAddressForSale(_from)) revert('(pc.isGenesisAddressForSale(_from))');
	
	if (pc.isNormalAddressForSale(_from)) revert('(pc.isNormalAddressForSale(_from))');
	
	if (availableBalanceOf(_from) >= mneToBurn)
	{
		pc.balancesSet(_from, pc.balances(_from) - mneToBurn);
		pc.mneBurnedSet(pc.mneBurned() + mneToBurn);
		emit Burn(_from, mneToBurn);			
	}
	else
	{
		revert();
	}
	return true;
}

function BurnGenesisAddresses(address _from, address[] memory _genesisAddressesToBurn) public onlyOwner {
	uint8 i = 0;	
	while(i < _genesisAddressesToBurn.length)
	{
		if (pc.allowAddressToDestroyGenesis(_genesisAddressesToBurn[i]) != _from) revert('(pc.allowAddressToDestroyGenesis(_genesisAddressesToBurn[i]) != _from)');
		if (pc.isGenesisAddressForSale(_genesisAddressesToBurn[i])) revert('(pc.isGenesisAddressForSale(_genesisAddressesToBurn[i]))');
		if (!isGenesisAddressLevel3(_genesisAddressesToBurn[i])) revert('(!isGenesisAddressLevel3(_genesisAddressesToBurn[i]))');
		pc.isGenesisAddressSet(_genesisAddressesToBurn[i], 0);
		uint256 _balanceToDestroy = pc.balances(_genesisAddressesToBurn[i]);
		pc.balancesSet(_genesisAddressesToBurn[i], 0);
		pc.initialBlockCountPerAddressSet(_genesisAddressesToBurn[i], 0);
		pc.isGenesisAddressForSaleSet(_genesisAddressesToBurn[i], false);
		pc.genesisBuyPriceSet(_genesisAddressesToBurn[i], 0);		
		pc.allowAddressToDestroyGenesisSet(_genesisAddressesToBurn[i], 0x0000000000000000000000000000000000000000);
		pc.GenesisDestroyCountStakeSet(pc.GenesisDestroyCountStake() + 1);
		pc.GenesisDestroyedSet(pc.GenesisDestroyed() + 1);
		pc.GenesisDestroyAmountCountSet(pc.GenesisDestroyAmountCount() + _balanceToDestroy);
		i++;
	}
}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_publicCallsAddress","type":"address"},{"internalType":"address","name":"_publicArraysAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"AllowDestroyHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Burn","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":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"supply","type":"uint256"}],"name":"GenesisAddressSale","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":"supply","type":"uint256"}],"name":"GenesisAddressTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint8","name":"genesisType","type":"uint8"}],"name":"GenesisBuyPriceHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"GenesisLevel1ForSaleHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"GenesisRemoveGenesisSaleHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"GenesisRemoveSaleHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"Level2UpgradeHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"Level3UpgradeHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"ReceiveGenesisTransfersAllow","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"}],"name":"RemoveAllowDestroyHistory","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_address","type":"address"}],"name":"RemoveReceiveGenesisTransfersAllow","type":"event"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_address","type":"address"}],"name":"AllowAddressToDestroyGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"AllowReceiveGenesisTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address[]","name":"_genesisAddressesToBurn","type":"address[]"}],"name":"BurnGenesisAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"mneToBurn","type":"uint256"}],"name":"BurnTokens","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"RemoveAllowAddressToDestroyGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"RemoveAllowReceiveGenesisTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"RemoveGenesisAddressFromSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"weiPrice","type":"uint256"}],"name":"SetGenesisForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"TransferGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"weiValue","type":"uint256"}],"name":"UpgradeToLevel2FromLevel1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"UpgradeToLevel3FromDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"weiValue","type":"uint256"}],"name":"UpgradeToLevel3FromLevel1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"weiValue","type":"uint256"}],"name":"UpgradeToLevel3FromLevel2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"availableBalanceOf","outputs":[{"internalType":"uint256","name":"Balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"deleteAddressFromGenesisSaleList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"external1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isAnyGenesisAddress","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isGenesisAddressLevel1","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isGenesisAddressLevel2","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isGenesisAddressLevel2Or3","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"isGenesisAddressLevel3","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerBaseTransfers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerGenesisBuys","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerMain","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerNormalAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerStakeBuys","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerStakes","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pa","outputs":[{"internalType":"contract publicArrays","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pc","outputs":[{"internalType":"contract publicCalls","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"code","type":"uint256"}],"name":"reloadPublicArrays","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"code","type":"uint256"}],"name":"reloadPublicCalls","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerBaseTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerExternal1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerGenesisBuys","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerMain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerNormalAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerStakeBuys","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setOwnerStakes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setUpdater","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updaterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updaterSetOwnerBaseTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updaterSetOwnerGenesisBuys","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updaterSetOwnerMain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updaterSetOwnerNormalAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updaterSetOwnerStakeBuys","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"updaterSetOwnerStakes","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600080546001600160a01b03199081169091556001805482169055600280548216905560038054821690556004805482169055600580548216905560068054821690556007805490911690553480156200005d57600080fd5b506040516200610138038062006101833981810160405260408110156200008357600080fd5b5080516020909101516200009f6001600160e01b036200019516565b600880546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b158015620000fd57600080fd5b505af115801562000112573d6000803e3d6000fd5b5050600980546001600160a01b0319166001600160a01b03858116919091179182905560408051631087cce760e21b8152905192909116935063421f339c925060048082019260009290919082900301818387803b1580156200017457600080fd5b505af115801562000189573d6000803e3d6000fd5b505050505050620001c5565b6007546001600160a01b0316620001be57600780546001600160a01b03191633179055620001c3565b600080fd5b565b615f2c80620001d56000396000f3fe608060405234801561001057600080fd5b50600436106102955760003560e01c80637366881711610167578063d3560c74116100ce578063e8d5097f11610087578063e8d5097f146107b1578063eb0fbbad146107d7578063ecc517f1146107fd578063ed401ac314610829578063fdbc653014610855578063ffc4b1681461085d57610295565b8063d3560c74146106f9578063d42e1c2f14610727578063e09f58bd14610755578063e24126301461077b578063e2d03bca14610783578063e69919ae146107a957610295565b80639055a23e116101205780639055a23e1461068d578063919e0b79146106b3578063adb7898d146106bb578063b4c26870146106c3578063ca02eb9d146106cb578063cbb12e53146106f157610295565b8063736688171461056a57806376067e67146105965780637949fcf6146105c25780637bffdb0c146106755780638c2814cf1461067d5780638e01bfca1461068557610295565b8063388d61021161020b5780635e80969b116101c45780635e80969b146104c25780635ed33885146104e857806360744859146104f057806362591c58146104f857806368087c201461051e57806370a082311461054457610295565b8063388d61021461040e578063522c628f1461043a57806352ba171d1461046657806355df07a81461048c578063579b9a761461049457806357ec26d61461049c57610295565b806325bb06981161025d57806325bb06981461034057806325d998bb1461034857806327d4da0e146103805780632940187a146103a65780632fb933ff146103e057806336d69910146103e857610295565b806306baf2631461029a5780630a63361c146102c257806313b9f0c7146102e657806315e03506146102ee57806316e0459014610314575b600080fd5b6102c0600480360360208110156102b057600080fd5b50356001600160a01b0316610883565b005b6102ca6109ba565b604080516001600160a01b039092168252519081900360200190f35b6102c06109c9565b6102c06004803603602081101561030457600080fd5b50356001600160a01b03166109f1565b6102c06004803603604081101561032a57600080fd5b506001600160a01b038135169060200135610a23565b6102c0610f3e565b61036e6004803603602081101561035e57600080fd5b50356001600160a01b0316610f68565b60408051918252519081900360200190f35b6102c06004803603602081101561039657600080fd5b50356001600160a01b031661137d565b6103cc600480360360208110156103bc57600080fd5b50356001600160a01b03166113b0565b604080519115158252519081900360200190f35b6102ca611448565b6103cc600480360360208110156103fe57600080fd5b50356001600160a01b0316611457565b6103cc6004803603604081101561042457600080fd5b506001600160a01b03813516906020013561156d565b6102c06004803603604081101561045057600080fd5b506001600160a01b038135169060200135611980565b6102c06004803603602081101561047c57600080fd5b50356001600160a01b0316611a1b565b6102ca611e79565b6102c0611e88565b6102c0600480360360208110156104b257600080fd5b50356001600160a01b0316611eb2565b6102c0600480360360208110156104d857600080fd5b50356001600160a01b0316611ee5565b6102c0611f18565b6102ca611f42565b6102c06004803603602081101561050e57600080fd5b50356001600160a01b0316611f51565b6102c06004803603602081101561053457600080fd5b50356001600160a01b0316611f84565b61036e6004803603602081101561055a57600080fd5b50356001600160a01b03166121cd565b6102c06004803603604081101561058057600080fd5b506001600160a01b0381351690602001356122b1565b6102c0600480360360408110156105ac57600080fd5b506001600160a01b03813516906020013561232f565b6102c0600480360360408110156105d857600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561060357600080fd5b82018360208201111561061557600080fd5b8035906020019184602083028401116401000000008311171561063757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506127ce945050505050565b6102c061315b565b6102c0613185565b6102ca6131af565b6103cc600480360360208110156106a357600080fd5b50356001600160a01b03166131be565b6102ca61324e565b6102c061325d565b6102ca613287565b6102c0600480360360208110156106e157600080fd5b50356001600160a01b0316613296565b6102ca6133cd565b6102c06004803603604081101561070f57600080fd5b506001600160a01b03813581169160200135166133dc565b6102c06004803603604081101561073d57600080fd5b506001600160a01b0381358116916020013516613f26565b6102c06004803603602081101561076b57600080fd5b50356001600160a01b0316614174565b6102c06141a7565b6102c06004803603602081101561079957600080fd5b50356001600160a01b03166141ce565b6102ca614485565b6102c0600480360360208110156107c757600080fd5b50356001600160a01b0316614494565b6103cc600480360360208110156107ed57600080fd5b50356001600160a01b031661503d565b6102c06004803603604081101561081357600080fd5b506001600160a01b0381351690602001356150c9565b6102c06004803603604081101561083f57600080fd5b506001600160a01b03813516906020013561541c565b6102ca615c81565b6103cc6004803603602081101561087357600080fd5b50356001600160a01b0316615c90565b6000546001600160a01b03163314806108a657506001546001600160a01b031633145b806108bb57506002546001600160a01b031633145b806108d057506003546001600160a01b031633145b806108e557506004546001600160a01b031633145b806108fa57506005546001600160a01b031633145b8061090f57506006546001600160a01b031633145b61091857600080fd5b60085460408051639ecdacd560e01b81526001600160a01b0384811660048301526000602483018190529251931692639ecdacd59260448084019391929182900301818387803b15801561096b57600080fd5b505af115801561097f573d6000803e3d6000fd5b50506040516001600160a01b03841692507fe7350d8803dc045eccf56b2301c0d420846527386dd46d244674a9d6f730313c9150600090a250565b6009546001600160a01b031681565b6007546001600160a01b031632141561029557600080546001600160a01b031916331790555b565b6007546001600160a01b031632141561029557600380546001600160a01b0319166001600160a01b0383161790555b50565b6000546001600160a01b0316331480610a4657506001546001600160a01b031633145b80610a5b57506002546001600160a01b031633145b80610a7057506003546001600160a01b031633145b80610a8557506004546001600160a01b031633145b80610a9a57506005546001600160a01b031633145b80610aaf57506006546001600160a01b031633145b610ab857600080fd5b610ac1826131be565b8015610b43575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b158015610b1557600080fd5b505afa158015610b29573d6000803e3d6000fd5b505050506040513d6020811015610b3f57600080fd5b5051155b15610295576008546040805163d050a90560e01b815290516000926001600160a01b03169163d050a905916004808301926020929190829003018186803b158015610b8d57600080fd5b505afa158015610ba1573d6000803e3d6000fd5b505050506040513d6020811015610bb757600080fd5b505160085460408051633238268960e01b815290516001600160a01b0390921691633238268991600480820192602092909190829003018186803b158015610bfe57600080fd5b505afa158015610c12573d6000803e3d6000fd5b505050506040513d6020811015610c2857600080fd5b5051019050818114610c7a576040805162461bcd60e51b81526020600482015260166024820152752877656956616c756520213d20746f74616c4665652960501b604482015290519081900360640190fd5b60085460408051633f109fcb60e11b81526001600160a01b03868116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b158015610cce57600080fd5b505af1158015610ce2573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03888116600483015260036024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015610d3b57600080fd5b505af1158015610d4f573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925086918491633a4418f8916004808301926020929190829003018186803b158015610da157600080fd5b505afa158015610db5573d6000803e3d6000fd5b505050506040513d6020811015610dcb57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015610e1b57600080fd5b505af1158015610e2f573d6000803e3d6000fd5b505060085460408051635a0f903760e11b815290516001600160a01b0390921693506312e447329250839163b41f206e91600480820192602092909190829003018186803b158015610e8057600080fd5b505afa158015610e94573d6000803e3d6000fd5b505050506040513d6020811015610eaa57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015610eec57600080fd5b505af1158015610f00573d6000803e3d6000fd5b50506040516001600160a01b03861692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2505b5050565b6007546001600160a01b031632141561029557600180546001600160a01b031916331790556109ef565b6000610f7382611457565b15611260576008546040805163a794676f60e01b81526001600160a01b0385811660048301529151600093929092169163a794676f91602480820192602092909190829003018186803b158015610fc957600080fd5b505afa158015610fdd573d6000803e3d6000fd5b505050506040513d6020811015610ff357600080fd5b505160085460408051631041ab4f60e11b81529051439390930393506001600160a01b0390911691632083569e91600480820192602092909190829003018186803b15801561104157600080fd5b505afa158015611055573d6000803e3d6000fd5b505050506040513d602081101561106b57600080fd5b505181106110f557600854604080516327e235e360e01b81526001600160a01b038681166004830152915191909216916327e235e3916024808301926020929190829003018186803b1580156110c057600080fd5b505afa1580156110d4573d6000803e3d6000fd5b505050506040513d60208110156110ea57600080fd5b505191506113789050565b6008546040805163147aab3160e21b8152905183926001600160a01b0316916351eaacc4916004808301926020929190829003018186803b15801561113957600080fd5b505afa15801561114d573d6000803e3d6000fd5b505050506040513d602081101561116357600080fd5b505160085460408051630748831f60e31b8152905193909202926001600160a01b0390911691633a4418f8916004808301926020929190829003018186803b1580156111ae57600080fd5b505afa1580156111c2573d6000803e3d6000fd5b505050506040513d60208110156111d857600080fd5b5051600854604080516327e235e360e01b81526001600160a01b038881166004830152915194909303939116916327e235e3916024808301926020929190829003018186803b15801561122a57600080fd5b505afa15801561123e573d6000803e3d6000fd5b505050506040513d602081101561125457600080fd5b50510391506113789050565b611269826131be565b806112ef57506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b1580156112bc57600080fd5b505afa1580156112d0573d6000803e3d6000fd5b505050506040513d60208110156112e657600080fd5b505160ff166004145b156112fc57506000611378565b600854604080516327e235e360e01b81526001600160a01b038581166004830152915191909216916327e235e3916024808301926020929190829003018186803b15801561134957600080fd5b505afa15801561135d573d6000803e3d6000fd5b505050506040513d602081101561137357600080fd5b505190505b919050565b6007546001600160a01b031632141561029557600080546001600160a01b0319166001600160a01b038316179055610a20565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561140157600080fd5b505afa158015611415573d6000803e3d6000fd5b505050506040513d602081101561142b57600080fd5b505160ff166002141561144057506001611378565b506000611378565b6006546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b505050506040513d60208110156114d257600080fd5b505160ff166002148061156057506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b15801561152d57600080fd5b505afa158015611541573d6000803e3d6000fd5b505050506040513d602081101561155757600080fd5b505160ff166003145b1561144057506001611378565b600080546001600160a01b031633148061159157506001546001600160a01b031633145b806115a657506002546001600160a01b031633145b806115bb57506003546001600160a01b031633145b806115d057506004546001600160a01b031633145b806115e557506005546001600160a01b031633145b806115fa57506006546001600160a01b031633145b61160357600080fd5b60085460408051631e0808f560e21b81526001600160a01b0386811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561165057600080fd5b505afa158015611664573d6000803e3d6000fd5b505050506040513d602081101561167a57600080fd5b5051156116b85760405162461bcd60e51b8152600401808060200182810382526023815260200180615d9b6023913960400191505060405180910390fd5b60085460408051635dd5e70160e01b81526001600160a01b03868116600483015291519190921691635dd5e701916024808301926020929190829003018186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d602081101561172f57600080fd5b50511561176d5760405162461bcd60e51b8152600401808060200182810382526022815260200180615d796022913960400191505060405180910390fd5b8161177784610f68565b1061029557600854604080516327e235e360e01b81526001600160a01b038681166004830152915191909216916371273083918691869185916327e235e3916024808301926020929190829003018186803b1580156117d557600080fd5b505afa1580156117e9573d6000803e3d6000fd5b505050506040513d60208110156117ff57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561184f57600080fd5b505af1158015611863573d6000803e3d6000fd5b50506008546040805163959af4f360e01b815290516001600160a01b03909216935063208b99cf92508591849163959af4f3916004808301926020929190829003018186803b1580156118b557600080fd5b505afa1580156118c9573d6000803e3d6000fd5b505050506040513d60208110156118df57600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b15801561192057600080fd5b505af1158015611934573d6000803e3d6000fd5b50506040805185815290516001600160a01b03871693507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca592509081900360200190a250600192915050565b806104d21461198e57600080fd5b6007546001600160a01b031633141561029557600980546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b1580156119fe57600080fd5b505af1158015611a12573d6000803e3d6000fd5b50505050610f3a565b6000546001600160a01b0316331480611a3e57506001546001600160a01b031633145b80611a5357506002546001600160a01b031633145b80611a6857506003546001600160a01b031633145b80611a7d57506004546001600160a01b031633145b80611a9257506005546001600160a01b031633145b80611aa757506006546001600160a01b031633145b611ab057600080fd5b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151919092169163324884a9916024808301926020929190829003018186803b158015611afd57600080fd5b505afa158015611b11573d6000803e3d6000fd5b505050506040513d6020811015611b2757600080fd5b505160ff166004148015611bb1575060085460408051631e0808f560e21b81526001600160a01b0384811660048301529151919092169163782023d4916024808301926020929190829003018186803b158015611b8357600080fd5b505afa158015611b97573d6000803e3d6000fd5b505050506040513d6020811015611bad57600080fd5b5051155b156102955760085460408051633f109fcb60e11b81526001600160a01b03848116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03868116600483015260036024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925084918491633a4418f8916004808301926020929190829003018186803b158015611cdd57600080fd5b505afa158015611cf1573d6000803e3d6000fd5b505050506040513d6020811015611d0757600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015611d5757600080fd5b505af1158015611d6b573d6000803e3d6000fd5b50506008546040805163ed054ea560e01b815290516001600160a01b039092169350630e7c5d479250839163ed054ea591600480820192602092909190829003018186803b158015611dbc57600080fd5b505afa158015611dd0573d6000803e3d6000fd5b505050506040513d6020811015611de657600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015611e2857600080fd5b505af1158015611e3c573d6000803e3d6000fd5b50506040516001600160a01b03841692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2610a20565b6005546001600160a01b031681565b6007546001600160a01b031632141561029557600280546001600160a01b031916331790556109ef565b6007546001600160a01b031632141561029557600580546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031632141561029557600480546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031632141561029557600580546001600160a01b031916331790556109ef565b6001546001600160a01b031681565b6007546001600160a01b031632141561029557600280546001600160a01b0319166001600160a01b038316179055610a20565b6000546001600160a01b0316331480611fa757506001546001600160a01b031633145b80611fbc57506002546001600160a01b031633145b80611fd157506003546001600160a01b031633145b80611fe657506004546001600160a01b031633145b80611ffb57506005546001600160a01b031633145b8061201057506006546001600160a01b031633145b61201957600080fd5b6120228161503d565b15612074576040805162461bcd60e51b815260206004820152601f60248201527f696620286973416e7947656e6573697341646472657373285f66726f6d292900604482015290519081900360640190fd5b60085460408051633870c3c360e21b81526001600160a01b0384811660048301529151919092169163e1c30f0c916024808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b5051156121295760405162461bcd60e51b8152600401808060200182810382526026815260200180615e876026913960400191505060405180910390fd5b60085460408051639ecdacd560e01b81526001600160a01b0384811660048301526001602483015291519190921691639ecdacd591604480830192600092919082900301818387803b15801561217e57600080fd5b505af1158015612192573d6000803e3d6000fd5b50506040516001600160a01b03841692507f0412df9226744ac4be5600a9b7cd22de690645a8472e7c78f5a50effcef9f8b79150600090a250565b60006121d8826131be565b8061225e57506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b15801561222b57600080fd5b505afa15801561223f573d6000803e3d6000fd5b505050506040513d602081101561225557600080fd5b505160ff166004145b156112fc57600860009054906101000a90046001600160a01b03166001600160a01b0316633a4418f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561134957600080fd5b806104d2146122bf57600080fd5b6007546001600160a01b031633141561029557600880546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b1580156119fe57600080fd5b6000546001600160a01b031633148061235257506001546001600160a01b031633145b8061236757506002546001600160a01b031633145b8061237c57506003546001600160a01b031633145b8061239157506004546001600160a01b031633145b806123a657506005546001600160a01b031633145b806123bb57506006546001600160a01b031633145b6123c457600080fd5b6123cd826131be565b801561244f575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561242157600080fd5b505afa158015612435573d6000803e3d6000fd5b505050506040513d602081101561244b57600080fd5b5051155b1561029557600860009054906101000a90046001600160a01b03166001600160a01b031663323826896040518163ffffffff1660e01b815260040160206040518083038186803b1580156124a257600080fd5b505afa1580156124b6573d6000803e3d6000fd5b505050506040513d60208110156124cc57600080fd5b5051811461250b5760405162461bcd60e51b815260040180806020018281038252602a815260200180615e5d602a913960400191505060405180910390fd5b60085460408051633f109fcb60e11b81526001600160a01b03858116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b15801561255f57600080fd5b505af1158015612573573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03878116600483015260026024830152915191909216935063e5327c139250604480830192600092919082900301818387803b1580156125cc57600080fd5b505af11580156125e0573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925085918491633a4418f8916004808301926020929190829003018186803b15801561263257600080fd5b505afa158015612646573d6000803e3d6000fd5b505050506040513d602081101561265c57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b1580156126ac57600080fd5b505af11580156126c0573d6000803e3d6000fd5b505060085460408051632343992d60e11b815290516001600160a01b03909216935063834046dc92508391634687325a91600480820192602092909190829003018186803b15801561271157600080fd5b505afa158015612725573d6000803e3d6000fd5b505050506040513d602081101561273b57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b15801561277d57600080fd5b505af1158015612791573d6000803e3d6000fd5b50506040516001600160a01b03851692507f25f51c6bcb054917efc74db09bb453e792bfd7d9f2d331a42a4f45f27351ce3d9150600090a2610f3a565b6000546001600160a01b03163314806127f157506001546001600160a01b031633145b8061280657506002546001600160a01b031633145b8061281b57506003546001600160a01b031633145b8061283057506004546001600160a01b031633145b8061284557506005546001600160a01b031633145b8061285a57506006546001600160a01b031633145b61286357600080fd5b60005b81518160ff1610156131565760085482516001600160a01b03808616921690636baf966d90859060ff861690811061289a57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156128e857600080fd5b505afa1580156128fc573d6000803e3d6000fd5b505050506040513d602081101561291257600080fd5b50516001600160a01b0316146129595760405162461bcd60e51b8152600401808060200182810382526046815260200180615e176046913960600191505060405180910390fd5b60085482516001600160a01b039091169063782023d490849060ff851690811061297f57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156129cd57600080fd5b505afa1580156129e1573d6000803e3d6000fd5b505050506040513d60208110156129f757600080fd5b505115612a355760405162461bcd60e51b8152600401808060200182810382526038815260200180615d416038913960400191505060405180910390fd5b612a54828260ff1681518110612a4757fe5b6020026020010151615c90565b612a8f5760405162461bcd60e51b8152600401808060200182810382526035815260200180615d0c6035913960400191505060405180910390fd5b60085482516001600160a01b039091169063e5327c1390849060ff8516908110612ab557fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018260ff16815260200192505050600060405180830381600087803b158015612b1157600080fd5b505af1158015612b25573d6000803e3d6000fd5b50506008548451600093506001600160a01b0390911691506327e235e390859060ff8616908110612b5257fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612ba057600080fd5b505afa158015612bb4573d6000803e3d6000fd5b505050506040513d6020811015612bca57600080fd5b505160085484519192506001600160a01b031690637127308390859060ff8616908110612bf357fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612c4c57600080fd5b505af1158015612c60573d6000803e3d6000fd5b505060085485516001600160a01b039091169250637e213f969150859060ff8616908110612c8a57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612ce357600080fd5b505af1158015612cf7573d6000803e3d6000fd5b505060085485516001600160a01b039091169250636117a0c09150859060ff8616908110612d2157fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018215151515815260200192505050600060405180830381600087803b158015612d7e57600080fd5b505af1158015612d92573d6000803e3d6000fd5b505060085485516001600160a01b0390911692506324c7c9dc9150859060ff8616908110612dbc57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612e1557600080fd5b505af1158015612e29573d6000803e3d6000fd5b505060085485516001600160a01b039091169250638eb84dd29150859060ff8616908110612e5357fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015612ebe57600080fd5b505af1158015612ed2573d6000803e3d6000fd5b505060085460408051631430e3dd60e01b815290516001600160a01b039092169350639db86dc992508391631430e3dd91600480820192602092909190829003018186803b158015612f2357600080fd5b505afa158015612f37573d6000803e3d6000fd5b505050506040513d6020811015612f4d57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015612f8f57600080fd5b505af1158015612fa3573d6000803e3d6000fd5b505060085460408051630ae0e84560e01b815290516001600160a01b03909216935063492f4a6392508391630ae0e84591600480820192602092909190829003018186803b158015612ff457600080fd5b505afa158015613008573d6000803e3d6000fd5b505050506040513d602081101561301e57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b15801561306057600080fd5b505af1158015613074573d6000803e3d6000fd5b505060085460408051638c19011160e01b815290516001600160a01b03909216935063ce8b0afb925084918491638c190111916004808301926020929190829003018186803b1580156130c657600080fd5b505afa1580156130da573d6000803e3d6000fd5b505050506040513d60208110156130f057600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b15801561313157600080fd5b505af1158015613145573d6000803e3d6000fd5b505060019093019250612866915050565b505050565b6007546001600160a01b031632141561029557600380546001600160a01b031916331790556109ef565b6007546001600160a01b031632141561029557600480546001600160a01b031916331790556109ef565b6004546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561320f57600080fd5b505afa158015613223573d6000803e3d6000fd5b505050506040513d602081101561323957600080fd5b505160ff166001141561144057506001611378565b6000546001600160a01b031681565b6007546001600160a01b031632141561029557600680546001600160a01b031916331790556109ef565b6002546001600160a01b031681565b6000546001600160a01b03163314806132b957506001546001600160a01b031633145b806132ce57506002546001600160a01b031633145b806132e357506003546001600160a01b031633145b806132f857506004546001600160a01b031633145b8061330d57506005546001600160a01b031633145b8061332257506006546001600160a01b031633145b61332b57600080fd5b6008546040805163475c26e960e11b81526001600160a01b0384811660048301526000602483018190529251931692638eb84dd29260448084019391929182900301818387803b15801561337e57600080fd5b505af1158015613392573d6000803e3d6000fd5b50506040516001600160a01b03841692507f2263d898cb6c9fee937fbc6fd4217347263549929ec4ccc3f8501b1a5943846a9150600090a250565b6003546001600160a01b031681565b6000546001600160a01b03163314806133ff57506001546001600160a01b031633145b8061341457506002546001600160a01b031633145b8061342957506003546001600160a01b031633145b8061343e57506004546001600160a01b031633145b8061345357506005546001600160a01b031633145b8061346857506006546001600160a01b031633145b61347157600080fd5b61347a82611457565b6134b55760405162461bcd60e51b8152600401808060200182810382526023815260200180615dbe6023913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b03161415613515576040805162461bcd60e51b81526020600482015260166024820152752821285f66726f6d20213d205f61646472657373292960501b604482015290519081900360640190fd5b60085460408051633870c3c360e21b81526001600160a01b0384811660048301529151919092169163e1c30f0c916024808301926020929190829003018186803b15801561356257600080fd5b505afa158015613576573d6000803e3d6000fd5b505050506040513d602081101561358c57600080fd5b50516135c95760405162461bcd60e51b8152600401808060200182810382526027815260200180615ead6027913960400191505060405180910390fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561361657600080fd5b505afa15801561362a573d6000803e3d6000fd5b505050506040513d602081101561364057600080fd5b50511561367e5760405162461bcd60e51b8152600401808060200182810382526023815260200180615d9b6023913960400191505060405180910390fd5b6000613689826121cd565b11156136d3576040805162461bcd60e51b81526020600482015260146024820152732862616c616e63654f66285f746f29203e20302960601b604482015290519081900360640190fd5b6136dc8161503d565b1561372e576040805162461bcd60e51b815260206004820152601a60248201527f286973416e7947656e6573697341646472657373285f746f2929000000000000604482015290519081900360640190fd5b600854604080516327e235e360e01b81526001600160a01b03858116600483015291519190921691637127308391849184916327e235e391602480820192602092909190829003018186803b15801561378657600080fd5b505afa15801561379a573d6000803e3d6000fd5b505050506040513d60208110156137b057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561380057600080fd5b505af1158015613814573d6000803e3d6000fd5b505060085460408051637127308360e01b81526001600160a01b038781166004830152600060248301819052925193169450637127308393506044808201939182900301818387803b15801561386957600080fd5b505af115801561387d573d6000803e3d6000fd5b50506008546040805163a794676f60e01b81526001600160a01b0387811660048301529151919092169350637e213f9692508491849163a794676f91602480820192602092909190829003018186803b1580156138d957600080fd5b505afa1580156138ed573d6000803e3d6000fd5b505050506040513d602081101561390357600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561395357600080fd5b505af1158015613967573d6000803e3d6000fd5b505060085460408051633f109fcb60e11b81526001600160a01b038781166004830152600060248301819052925193169450637e213f9693506044808201939182900301818387803b1580156139bc57600080fd5b505af11580156139d0573d6000803e3d6000fd5b50506008546040805163324884a960e01b81526001600160a01b038781166004830152915191909216935063e5327c1392508491849163324884a991602480820192602092909190829003018186803b158015613a2c57600080fd5b505afa158015613a40573d6000803e3d6000fd5b505050506040513d6020811015613a5657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260ff909116602483015251604480830192600092919082900301818387803b158015613aa857600080fd5b505af1158015613abc573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03878116600483015260006024830181905292519316945063e5327c1393506044808201939182900301818387803b158015613b1157600080fd5b505af1158015613b25573d6000803e3d6000fd5b505060085460408051630931f27760e21b81526001600160a01b0387811660048301526000602483018190529251931694506324c7c9dc93506044808201939182900301818387803b158015613b7a57600080fd5b505af1158015613b8e573d6000803e3d6000fd5b5050600854604080516301845e8360e61b81526001600160a01b038781166004830152600060248301819052925193169450636117a0c093506044808201939182900301818387803b158015613be357600080fd5b505af1158015613bf7573d6000803e3d6000fd5b50506008546040805163475c26e960e11b81526001600160a01b038681166004830152600060248301819052925193169450638eb84dd293506044808201939182900301818387803b158015613c4c57600080fd5b505af1158015613c60573d6000803e3d6000fd5b50506008546040805163475c26e960e11b81526001600160a01b038781166004830152600060248301819052925193169450638eb84dd293506044808201939182900301818387803b158015613cb557600080fd5b505af1158015613cc9573d6000803e3d6000fd5b505060085460408051639ecdacd560e01b81526001600160a01b038781166004830152600060248301819052925193169450639ecdacd593506044808201939182900301818387803b158015613d1e57600080fd5b505af1158015613d32573d6000803e3d6000fd5b505060085460408051639ecdacd560e01b81526001600160a01b038681166004830152600060248301819052925193169450639ecdacd593506044808201939182900301818387803b158015613d8757600080fd5b505af1158015613d9b573d6000803e3d6000fd5b50506008546040805163c8db1dfb60e01b815290516001600160a01b039092169350636e01eebf9250839163c8db1dfb91600480820192602092909190829003018186803b158015613dec57600080fd5b505afa158015613e00573d6000803e3d6000fd5b505050506040513d6020811015613e1657600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015613e5857600080fd5b505af1158015613e6c573d6000803e3d6000fd5b5050600854604080516327e235e360e01b81526001600160a01b0380871660048301819052925192955087811694507fee7d92b81df7f3765a7a94daa038cdf6a79eea8c67e639d910c796258e60a0ac9316916327e235e391602480820192602092909190829003018186803b158015613ee557600080fd5b505afa158015613ef9573d6000803e3d6000fd5b505050506040513d6020811015613f0f57600080fd5b505160408051918252519081900360200190a35050565b6000546001600160a01b0316331480613f4957506001546001600160a01b031633145b80613f5e57506002546001600160a01b031633145b80613f7357506003546001600160a01b031633145b80613f8857506004546001600160a01b031633145b80613f9d57506005546001600160a01b031633145b80613fb257506006546001600160a01b031633145b613fbb57600080fd5b613fc482615c90565b614015576040805162461bcd60e51b815260206004820181905260248201527f2821697347656e65736973416464726573734c6576656c33285f66726f6d2929604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561406257600080fd5b505afa158015614076573d6000803e3d6000fd5b505050506040513d602081101561408c57600080fd5b5051156140ca5760405162461bcd60e51b8152600401808060200182810382526023815260200180615d9b6023913960400191505060405180910390fd5b6008546040805163475c26e960e11b81526001600160a01b038581166004830152848116602483015291519190921691638eb84dd291604480830192600092919082900301818387803b15801561412057600080fd5b505af1158015614134573d6000803e3d6000fd5b50506040516001600160a01b038085169350851691507f5f64e9e37e747b504e4a092fb841b2e337d1cc05cb42dbfb06301a28da47163090600090a35050565b6007546001600160a01b031632141561029557600180546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031661029557600780546001600160a01b031916331790556109ef565b6000546001600160a01b03163314806141f157506001546001600160a01b031633145b8061420657506002546001600160a01b031633145b8061421b57506003546001600160a01b031633145b8061423057506004546001600160a01b031633145b8061424557506005546001600160a01b031633145b8061425a57506006546001600160a01b031633145b61426357600080fd5b61426c8161503d565b6142bd576040805162461bcd60e51b815260206004820152601d60248201527f28216973416e7947656e6573697341646472657373285f66726f6d2929000000604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0384811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561430a57600080fd5b505afa15801561431e573d6000803e3d6000fd5b505050506040513d602081101561433457600080fd5b50516143715760405162461bcd60e51b8152600401808060200182810382526023815260200180615ed46023913960400191505060405180910390fd5b60085460408051630931f27760e21b81526001600160a01b03848116600483015260006024830181905292519316926324c7c9dc9260448084019391929182900301818387803b1580156143c457600080fd5b505af11580156143d8573d6000803e3d6000fd5b5050600854604080516301845e8360e61b81526001600160a01b038681166004830152600060248301819052925193169450636117a0c093506044808201939182900301818387803b15801561442d57600080fd5b505af1158015614441573d6000803e3d6000fd5b5050505061444e81614494565b6040516001600160a01b038216907fd845195bcf18cb22dcacb0b3a23aa06d2573b2508c9f47f9dc96bce2f5381b5490600090a250565b6008546001600160a01b031681565b6000546001600160a01b03163314806144b757506001546001600160a01b031633145b806144cc57506002546001600160a01b031633145b806144e157506003546001600160a01b031633145b806144f657506004546001600160a01b031633145b8061450b57506005546001600160a01b031633145b8061452057506006546001600160a01b031633145b61452957600080fd5b614532816131be565b156148e55760006001600960009054906101000a90046001600160a01b03166001600160a01b0316634eb046366040518163ffffffff1660e01b815260040160206040518083038186803b15801561458957600080fd5b505afa15801561459d573d6000803e3d6000fd5b505050506040513d60208110156145b357600080fd5b5051039050801561480c5760095460408051631d7b351b60e21b81526004810184905290516000926001600160a01b0316916375ecd46c916024808301926020929190829003018186803b15801561460a57600080fd5b505afa15801561461e573d6000803e3d6000fd5b505050506040513d602081101561463457600080fd5b50516008546040805163e768ad7b60e01b81526001600160a01b03878116600483015291519394509116916321ea432a918491849163e768ad7b916024808301926020929190829003018186803b15801561468e57600080fd5b505afa1580156146a2573d6000803e3d6000fd5b505050506040513d60208110156146b857600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561470857600080fd5b505af115801561471c573d6000803e3d6000fd5b50506009546008546040805163e768ad7b60e01b81526001600160a01b0389811660048301529151938216955063cde29b5c945091169163e768ad7b91602480820192602092909190829003018186803b15801561477957600080fd5b505afa15801561478d573d6000803e3d6000fd5b505050506040513d60208110156147a357600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b1580156147f257600080fd5b505af1158015614806573d6000803e3d6000fd5b50505050505b600854604080516310f5219560e11b81526001600160a01b03858116600483015260006024830181905292519316926321ea432a9260448084019391929182900301818387803b15801561485f57600080fd5b505af1158015614873573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b031663fc0b1fb66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156148c757600080fd5b505af11580156148db573d6000803e3d6000fd5b5050505050610a20565b6148ee816113b0565b15614c835760006001600960009054906101000a90046001600160a01b03166001600160a01b031663a3c092dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561494557600080fd5b505afa158015614959573d6000803e3d6000fd5b505050506040513d602081101561496f57600080fd5b50510390508015614bc85760095460408051633e100d1160e11b81526004810184905290516000926001600160a01b031691637c201a22916024808301926020929190829003018186803b1580156149c657600080fd5b505afa1580156149da573d6000803e3d6000fd5b505050506040513d60208110156149f057600080fd5b50516008546040805163c68cfc1560e01b81526001600160a01b0387811660048301529151939450911691635113404c918491849163c68cfc15916024808301926020929190829003018186803b158015614a4a57600080fd5b505afa158015614a5e573d6000803e3d6000fd5b505050506040513d6020811015614a7457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015614ac457600080fd5b505af1158015614ad8573d6000803e3d6000fd5b50506009546008546040805163c68cfc1560e01b81526001600160a01b0389811660048301529151938216955063db22b4c8945091169163c68cfc1591602480820192602092909190829003018186803b158015614b3557600080fd5b505afa158015614b49573d6000803e3d6000fd5b505050506040513d6020811015614b5f57600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015614bae57600080fd5b505af1158015614bc2573d6000803e3d6000fd5b50505050505b60085460408051631444d01360e21b81526001600160a01b0385811660048301526000602483018190529251931692635113404c9260448084019391929182900301818387803b158015614c1b57600080fd5b505af1158015614c2f573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b0316631b16d78d6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156148c757600080fd5b614c8c81615c90565b15610a205760006001600960009054906101000a90046001600160a01b03166001600160a01b031663e0cf13a36040518163ffffffff1660e01b815260040160206040518083038186803b158015614ce357600080fd5b505afa158015614cf7573d6000803e3d6000fd5b505050506040513d6020811015614d0d57600080fd5b50510390508015614f6657600954604080516336b49b7960e01b81526004810184905290516000926001600160a01b0316916336b49b79916024808301926020929190829003018186803b158015614d6457600080fd5b505afa158015614d78573d6000803e3d6000fd5b505050506040513d6020811015614d8e57600080fd5b50516008546040805163a094db5360e01b81526001600160a01b03878116600483015291519394509116916362dfdea9918491849163a094db53916024808301926020929190829003018186803b158015614de857600080fd5b505afa158015614dfc573d6000803e3d6000fd5b505050506040513d6020811015614e1257600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015614e6257600080fd5b505af1158015614e76573d6000803e3d6000fd5b50506009546008546040805163a094db5360e01b81526001600160a01b038981166004830152915193821695506349c334f2945091169163a094db5391602480820192602092909190829003018186803b158015614ed357600080fd5b505afa158015614ee7573d6000803e3d6000fd5b505050506040513d6020811015614efd57600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015614f4c57600080fd5b505af1158015614f60573d6000803e3d6000fd5b50505050505b600854604080516362dfdea960e01b81526001600160a01b03858116600483015260006024830181905292519316926362dfdea99260448084019391929182900301818387803b158015614fb957600080fd5b505af1158015614fcd573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b0316630e29d6aa6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561502157600080fd5b505af1158015615035573d6000803e3d6000fd5b505050505050565b6008546040805163324884a960e01b81526001600160a01b03848116600483015291516000938493169163324884a9916024808301926020929190829003018186803b15801561508c57600080fd5b505afa1580156150a0573d6000803e3d6000fd5b505050506040513d60208110156150b657600080fd5b505160ff16111561144057506001611378565b6000546001600160a01b03163314806150ec57506001546001600160a01b031633145b8061510157506002546001600160a01b031633145b8061511657506003546001600160a01b031633145b8061512b57506004546001600160a01b031633145b8061514057506005546001600160a01b031633145b8061515557506006546001600160a01b031633145b61515e57600080fd5b615167826113b0565b80156151e9575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156151bb57600080fd5b505afa1580156151cf573d6000803e3d6000fd5b505050506040513d60208110156151e557600080fd5b5051155b1561029557600860009054906101000a90046001600160a01b03166001600160a01b031663d050a9056040518163ffffffff1660e01b815260040160206040518083038186803b15801561523c57600080fd5b505afa158015615250573d6000803e3d6000fd5b505050506040513d602081101561526657600080fd5b505181146152a55760405162461bcd60e51b815260040180806020018281038252602a815260200180615ce2602a913960400191505060405180910390fd5b6008546040805163e5327c1360e01b81526001600160a01b038581166004830152600360248301529151919092169163e5327c1391604480830192600092919082900301818387803b1580156152fa57600080fd5b505af115801561530e573d6000803e3d6000fd5b5050600854604080516366dd0d5760e01b815290516001600160a01b03909216935063f4b8cb37925083916366dd0d5791600480820192602092909190829003018186803b15801561535f57600080fd5b505afa158015615373573d6000803e3d6000fd5b505050506040513d602081101561538957600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156153cb57600080fd5b505af11580156153df573d6000803e3d6000fd5b50506040516001600160a01b03851692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2610f3a565b6000546001600160a01b031633148061543f57506001546001600160a01b031633145b8061545457506002546001600160a01b031633145b8061546957506003546001600160a01b031633145b8061547e57506004546001600160a01b031633145b8061549357506005546001600160a01b031633145b806154a857506006546001600160a01b031633145b6154b157600080fd5b600a811080156154c557506154c533611457565b156155015760405162461bcd60e51b8152600401808060200182810382526036815260200180615de16036913960400191505060405180910390fd5b61550a8261503d565b61555b576040805162461bcd60e51b815260206004820152601d60248201527f28216973416e7947656e6573697341646472657373285f66726f6d2929000000604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156155a857600080fd5b505afa1580156155bc573d6000803e3d6000fd5b505050506040513d60208110156155d257600080fd5b5051156156105760405162461bcd60e51b8152600401808060200182810382526023815260200180615d9b6023913960400191505060405180910390fd5b615619826121cd565b61566a576040805162461bcd60e51b815260206004820152601760248201527f2862616c616e63654f66285f66726f6d29203d3d203029000000000000000000604482015290519081900360640190fd5b61567382611457565b15615a9d578015615a575760085460408051630931f27760e21b81526001600160a01b03858116600483015260248201859052915191909216916324c7c9dc91604480830192600092919082900301818387803b1580156156d357600080fd5b505af11580156156e7573d6000803e3d6000fd5b505050506156f482615c90565b1561584a5760095460408051632106abf360e11b81526001600160a01b0385811660048301529151919092169163420d57e691602480830192600092919082900301818387803b15801561574757600080fd5b505af115801561575b573d6000803e3d6000fd5b50506008546009546040805163e0cf13a360e01b815290516001600160a01b0393841695506362dfdea994508793600193169163e0cf13a3916004808301926020929190829003018186803b1580156157b357600080fd5b505afa1580156157c7573d6000803e3d6000fd5b505050506040513d60208110156157dd57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561582d57600080fd5b505af1158015615841573d6000803e3d6000fd5b50505050615997565b6009546040805163efd4da9f60e01b81526001600160a01b0385811660048301529151919092169163efd4da9f91602480830192600092919082900301818387803b15801561589857600080fd5b505af11580156158ac573d6000803e3d6000fd5b50506008546009546040805163a3c092dd60e01b815290516001600160a01b039384169550635113404c94508793600193169163a3c092dd916004808301926020929190829003018186803b15801561590457600080fd5b505afa158015615918573d6000803e3d6000fd5b505050506040513d602081101561592e57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561597e57600080fd5b505af1158015615992573d6000803e3d6000fd5b505050505b6008546040805163324884a960e01b81526001600160a01b0385811660048301819052925192937f933f4cdff1259b68b6bef69435776ccf345ec12edb9fdaacf499408bb0075d6f938693929091169163324884a9916024808301926020929190829003018186803b158015615a0c57600080fd5b505afa158015615a20573d6000803e3d6000fd5b505050506040513d6020811015615a3657600080fd5b50516040805192835260ff90911660208301528051918290030190a2615a98565b6040805162461bcd60e51b8152602060048201526011602482015270050726963652063616e6e6f74206265203607c1b604482015290519081900360640190fd5b615c2c565b615aa6826131be565b15615c2c576009546040805163bb96be0960e01b81526001600160a01b0385811660048301529151919092169163bb96be0991602480830192600092919082900301818387803b158015615af957600080fd5b505af1158015615b0d573d6000803e3d6000fd5b505060085460095460408051632758231b60e11b815290516001600160a01b0393841695506321ea432a945087936001931691634eb04636916004808301926020929190829003018186803b158015615b6557600080fd5b505afa158015615b79573d6000803e3d6000fd5b505050506040513d6020811015615b8f57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015615bdf57600080fd5b505af1158015615bf3573d6000803e3d6000fd5b50506040516001600160a01b03851692507f7f0ccf6984bbd751bead36cbc00ed99529f6067592114335d7ad05917a5223b29150600090a25b600854604080516301845e8360e61b81526001600160a01b0385811660048301526001602483015291519190921691636117a0c091604480830192600092919082900301818387803b15801561502157600080fd5b6007546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561152d57600080fdfe2877656956616c756520213d2070632e657468466565546f55706772616465546f4c6576656c332829292821697347656e65736973416464726573734c6576656c33285f67656e65736973416464726573736573546f4275726e5b695d29292870632e697347656e6573697341646472657373466f7253616c65285f67656e65736973416464726573736573546f4275726e5b695d29292870632e69734e6f726d616c41646472657373466f7253616c65285f66726f6d29292870632e697347656e6573697341646472657373466f7253616c65285f66726f6d29292821697347656e65736973416464726573734c6576656c324f7233285f66726f6d29297765695072696365203c20313020262620697347656e65736973416464726573734c6576656c324f7233286d73672e73656e646572292870632e616c6c6f7741646472657373546f44657374726f7947656e65736973285f67656e65736973416464726573736573546f4275726e5b695d2920213d205f66726f6d292877656956616c756520213d2070632e657468466565546f55706772616465546f4c6576656c3228292970632e616c6c6f775265636569766547656e657369735472616e7366657273285f66726f6d29282170632e616c6c6f775265636569766547656e657369735472616e7366657273285f746f29292170632e697347656e6573697341646472657373466f7253616c65285f66726f6d2929a26469706673582212208b7571f9556456f0591e1d9b3e01d9368bdcd8d722c8c679df91098cb672a9f564736f6c6343000601003300000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000805385fba3f03a24d793721f4583be53d3abf86b

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102955760003560e01c80637366881711610167578063d3560c74116100ce578063e8d5097f11610087578063e8d5097f146107b1578063eb0fbbad146107d7578063ecc517f1146107fd578063ed401ac314610829578063fdbc653014610855578063ffc4b1681461085d57610295565b8063d3560c74146106f9578063d42e1c2f14610727578063e09f58bd14610755578063e24126301461077b578063e2d03bca14610783578063e69919ae146107a957610295565b80639055a23e116101205780639055a23e1461068d578063919e0b79146106b3578063adb7898d146106bb578063b4c26870146106c3578063ca02eb9d146106cb578063cbb12e53146106f157610295565b8063736688171461056a57806376067e67146105965780637949fcf6146105c25780637bffdb0c146106755780638c2814cf1461067d5780638e01bfca1461068557610295565b8063388d61021161020b5780635e80969b116101c45780635e80969b146104c25780635ed33885146104e857806360744859146104f057806362591c58146104f857806368087c201461051e57806370a082311461054457610295565b8063388d61021461040e578063522c628f1461043a57806352ba171d1461046657806355df07a81461048c578063579b9a761461049457806357ec26d61461049c57610295565b806325bb06981161025d57806325bb06981461034057806325d998bb1461034857806327d4da0e146103805780632940187a146103a65780632fb933ff146103e057806336d69910146103e857610295565b806306baf2631461029a5780630a63361c146102c257806313b9f0c7146102e657806315e03506146102ee57806316e0459014610314575b600080fd5b6102c0600480360360208110156102b057600080fd5b50356001600160a01b0316610883565b005b6102ca6109ba565b604080516001600160a01b039092168252519081900360200190f35b6102c06109c9565b6102c06004803603602081101561030457600080fd5b50356001600160a01b03166109f1565b6102c06004803603604081101561032a57600080fd5b506001600160a01b038135169060200135610a23565b6102c0610f3e565b61036e6004803603602081101561035e57600080fd5b50356001600160a01b0316610f68565b60408051918252519081900360200190f35b6102c06004803603602081101561039657600080fd5b50356001600160a01b031661137d565b6103cc600480360360208110156103bc57600080fd5b50356001600160a01b03166113b0565b604080519115158252519081900360200190f35b6102ca611448565b6103cc600480360360208110156103fe57600080fd5b50356001600160a01b0316611457565b6103cc6004803603604081101561042457600080fd5b506001600160a01b03813516906020013561156d565b6102c06004803603604081101561045057600080fd5b506001600160a01b038135169060200135611980565b6102c06004803603602081101561047c57600080fd5b50356001600160a01b0316611a1b565b6102ca611e79565b6102c0611e88565b6102c0600480360360208110156104b257600080fd5b50356001600160a01b0316611eb2565b6102c0600480360360208110156104d857600080fd5b50356001600160a01b0316611ee5565b6102c0611f18565b6102ca611f42565b6102c06004803603602081101561050e57600080fd5b50356001600160a01b0316611f51565b6102c06004803603602081101561053457600080fd5b50356001600160a01b0316611f84565b61036e6004803603602081101561055a57600080fd5b50356001600160a01b03166121cd565b6102c06004803603604081101561058057600080fd5b506001600160a01b0381351690602001356122b1565b6102c0600480360360408110156105ac57600080fd5b506001600160a01b03813516906020013561232f565b6102c0600480360360408110156105d857600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561060357600080fd5b82018360208201111561061557600080fd5b8035906020019184602083028401116401000000008311171561063757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506127ce945050505050565b6102c061315b565b6102c0613185565b6102ca6131af565b6103cc600480360360208110156106a357600080fd5b50356001600160a01b03166131be565b6102ca61324e565b6102c061325d565b6102ca613287565b6102c0600480360360208110156106e157600080fd5b50356001600160a01b0316613296565b6102ca6133cd565b6102c06004803603604081101561070f57600080fd5b506001600160a01b03813581169160200135166133dc565b6102c06004803603604081101561073d57600080fd5b506001600160a01b0381358116916020013516613f26565b6102c06004803603602081101561076b57600080fd5b50356001600160a01b0316614174565b6102c06141a7565b6102c06004803603602081101561079957600080fd5b50356001600160a01b03166141ce565b6102ca614485565b6102c0600480360360208110156107c757600080fd5b50356001600160a01b0316614494565b6103cc600480360360208110156107ed57600080fd5b50356001600160a01b031661503d565b6102c06004803603604081101561081357600080fd5b506001600160a01b0381351690602001356150c9565b6102c06004803603604081101561083f57600080fd5b506001600160a01b03813516906020013561541c565b6102ca615c81565b6103cc6004803603602081101561087357600080fd5b50356001600160a01b0316615c90565b6000546001600160a01b03163314806108a657506001546001600160a01b031633145b806108bb57506002546001600160a01b031633145b806108d057506003546001600160a01b031633145b806108e557506004546001600160a01b031633145b806108fa57506005546001600160a01b031633145b8061090f57506006546001600160a01b031633145b61091857600080fd5b60085460408051639ecdacd560e01b81526001600160a01b0384811660048301526000602483018190529251931692639ecdacd59260448084019391929182900301818387803b15801561096b57600080fd5b505af115801561097f573d6000803e3d6000fd5b50506040516001600160a01b03841692507fe7350d8803dc045eccf56b2301c0d420846527386dd46d244674a9d6f730313c9150600090a250565b6009546001600160a01b031681565b6007546001600160a01b031632141561029557600080546001600160a01b031916331790555b565b6007546001600160a01b031632141561029557600380546001600160a01b0319166001600160a01b0383161790555b50565b6000546001600160a01b0316331480610a4657506001546001600160a01b031633145b80610a5b57506002546001600160a01b031633145b80610a7057506003546001600160a01b031633145b80610a8557506004546001600160a01b031633145b80610a9a57506005546001600160a01b031633145b80610aaf57506006546001600160a01b031633145b610ab857600080fd5b610ac1826131be565b8015610b43575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b158015610b1557600080fd5b505afa158015610b29573d6000803e3d6000fd5b505050506040513d6020811015610b3f57600080fd5b5051155b15610295576008546040805163d050a90560e01b815290516000926001600160a01b03169163d050a905916004808301926020929190829003018186803b158015610b8d57600080fd5b505afa158015610ba1573d6000803e3d6000fd5b505050506040513d6020811015610bb757600080fd5b505160085460408051633238268960e01b815290516001600160a01b0390921691633238268991600480820192602092909190829003018186803b158015610bfe57600080fd5b505afa158015610c12573d6000803e3d6000fd5b505050506040513d6020811015610c2857600080fd5b5051019050818114610c7a576040805162461bcd60e51b81526020600482015260166024820152752877656956616c756520213d20746f74616c4665652960501b604482015290519081900360640190fd5b60085460408051633f109fcb60e11b81526001600160a01b03868116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b158015610cce57600080fd5b505af1158015610ce2573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03888116600483015260036024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015610d3b57600080fd5b505af1158015610d4f573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925086918491633a4418f8916004808301926020929190829003018186803b158015610da157600080fd5b505afa158015610db5573d6000803e3d6000fd5b505050506040513d6020811015610dcb57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015610e1b57600080fd5b505af1158015610e2f573d6000803e3d6000fd5b505060085460408051635a0f903760e11b815290516001600160a01b0390921693506312e447329250839163b41f206e91600480820192602092909190829003018186803b158015610e8057600080fd5b505afa158015610e94573d6000803e3d6000fd5b505050506040513d6020811015610eaa57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015610eec57600080fd5b505af1158015610f00573d6000803e3d6000fd5b50506040516001600160a01b03861692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2505b5050565b6007546001600160a01b031632141561029557600180546001600160a01b031916331790556109ef565b6000610f7382611457565b15611260576008546040805163a794676f60e01b81526001600160a01b0385811660048301529151600093929092169163a794676f91602480820192602092909190829003018186803b158015610fc957600080fd5b505afa158015610fdd573d6000803e3d6000fd5b505050506040513d6020811015610ff357600080fd5b505160085460408051631041ab4f60e11b81529051439390930393506001600160a01b0390911691632083569e91600480820192602092909190829003018186803b15801561104157600080fd5b505afa158015611055573d6000803e3d6000fd5b505050506040513d602081101561106b57600080fd5b505181106110f557600854604080516327e235e360e01b81526001600160a01b038681166004830152915191909216916327e235e3916024808301926020929190829003018186803b1580156110c057600080fd5b505afa1580156110d4573d6000803e3d6000fd5b505050506040513d60208110156110ea57600080fd5b505191506113789050565b6008546040805163147aab3160e21b8152905183926001600160a01b0316916351eaacc4916004808301926020929190829003018186803b15801561113957600080fd5b505afa15801561114d573d6000803e3d6000fd5b505050506040513d602081101561116357600080fd5b505160085460408051630748831f60e31b8152905193909202926001600160a01b0390911691633a4418f8916004808301926020929190829003018186803b1580156111ae57600080fd5b505afa1580156111c2573d6000803e3d6000fd5b505050506040513d60208110156111d857600080fd5b5051600854604080516327e235e360e01b81526001600160a01b038881166004830152915194909303939116916327e235e3916024808301926020929190829003018186803b15801561122a57600080fd5b505afa15801561123e573d6000803e3d6000fd5b505050506040513d602081101561125457600080fd5b50510391506113789050565b611269826131be565b806112ef57506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b1580156112bc57600080fd5b505afa1580156112d0573d6000803e3d6000fd5b505050506040513d60208110156112e657600080fd5b505160ff166004145b156112fc57506000611378565b600854604080516327e235e360e01b81526001600160a01b038581166004830152915191909216916327e235e3916024808301926020929190829003018186803b15801561134957600080fd5b505afa15801561135d573d6000803e3d6000fd5b505050506040513d602081101561137357600080fd5b505190505b919050565b6007546001600160a01b031632141561029557600080546001600160a01b0319166001600160a01b038316179055610a20565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561140157600080fd5b505afa158015611415573d6000803e3d6000fd5b505050506040513d602081101561142b57600080fd5b505160ff166002141561144057506001611378565b506000611378565b6006546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b505050506040513d60208110156114d257600080fd5b505160ff166002148061156057506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b15801561152d57600080fd5b505afa158015611541573d6000803e3d6000fd5b505050506040513d602081101561155757600080fd5b505160ff166003145b1561144057506001611378565b600080546001600160a01b031633148061159157506001546001600160a01b031633145b806115a657506002546001600160a01b031633145b806115bb57506003546001600160a01b031633145b806115d057506004546001600160a01b031633145b806115e557506005546001600160a01b031633145b806115fa57506006546001600160a01b031633145b61160357600080fd5b60085460408051631e0808f560e21b81526001600160a01b0386811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561165057600080fd5b505afa158015611664573d6000803e3d6000fd5b505050506040513d602081101561167a57600080fd5b5051156116b85760405162461bcd60e51b8152600401808060200182810382526023815260200180615d9b6023913960400191505060405180910390fd5b60085460408051635dd5e70160e01b81526001600160a01b03868116600483015291519190921691635dd5e701916024808301926020929190829003018186803b15801561170557600080fd5b505afa158015611719573d6000803e3d6000fd5b505050506040513d602081101561172f57600080fd5b50511561176d5760405162461bcd60e51b8152600401808060200182810382526022815260200180615d796022913960400191505060405180910390fd5b8161177784610f68565b1061029557600854604080516327e235e360e01b81526001600160a01b038681166004830152915191909216916371273083918691869185916327e235e3916024808301926020929190829003018186803b1580156117d557600080fd5b505afa1580156117e9573d6000803e3d6000fd5b505050506040513d60208110156117ff57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561184f57600080fd5b505af1158015611863573d6000803e3d6000fd5b50506008546040805163959af4f360e01b815290516001600160a01b03909216935063208b99cf92508591849163959af4f3916004808301926020929190829003018186803b1580156118b557600080fd5b505afa1580156118c9573d6000803e3d6000fd5b505050506040513d60208110156118df57600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b15801561192057600080fd5b505af1158015611934573d6000803e3d6000fd5b50506040805185815290516001600160a01b03871693507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca592509081900360200190a250600192915050565b806104d21461198e57600080fd5b6007546001600160a01b031633141561029557600980546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b1580156119fe57600080fd5b505af1158015611a12573d6000803e3d6000fd5b50505050610f3a565b6000546001600160a01b0316331480611a3e57506001546001600160a01b031633145b80611a5357506002546001600160a01b031633145b80611a6857506003546001600160a01b031633145b80611a7d57506004546001600160a01b031633145b80611a9257506005546001600160a01b031633145b80611aa757506006546001600160a01b031633145b611ab057600080fd5b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151919092169163324884a9916024808301926020929190829003018186803b158015611afd57600080fd5b505afa158015611b11573d6000803e3d6000fd5b505050506040513d6020811015611b2757600080fd5b505160ff166004148015611bb1575060085460408051631e0808f560e21b81526001600160a01b0384811660048301529151919092169163782023d4916024808301926020929190829003018186803b158015611b8357600080fd5b505afa158015611b97573d6000803e3d6000fd5b505050506040513d6020811015611bad57600080fd5b5051155b156102955760085460408051633f109fcb60e11b81526001600160a01b03848116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b158015611c0a57600080fd5b505af1158015611c1e573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03868116600483015260036024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015611c7757600080fd5b505af1158015611c8b573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925084918491633a4418f8916004808301926020929190829003018186803b158015611cdd57600080fd5b505afa158015611cf1573d6000803e3d6000fd5b505050506040513d6020811015611d0757600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015611d5757600080fd5b505af1158015611d6b573d6000803e3d6000fd5b50506008546040805163ed054ea560e01b815290516001600160a01b039092169350630e7c5d479250839163ed054ea591600480820192602092909190829003018186803b158015611dbc57600080fd5b505afa158015611dd0573d6000803e3d6000fd5b505050506040513d6020811015611de657600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015611e2857600080fd5b505af1158015611e3c573d6000803e3d6000fd5b50506040516001600160a01b03841692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2610a20565b6005546001600160a01b031681565b6007546001600160a01b031632141561029557600280546001600160a01b031916331790556109ef565b6007546001600160a01b031632141561029557600580546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031632141561029557600480546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031632141561029557600580546001600160a01b031916331790556109ef565b6001546001600160a01b031681565b6007546001600160a01b031632141561029557600280546001600160a01b0319166001600160a01b038316179055610a20565b6000546001600160a01b0316331480611fa757506001546001600160a01b031633145b80611fbc57506002546001600160a01b031633145b80611fd157506003546001600160a01b031633145b80611fe657506004546001600160a01b031633145b80611ffb57506005546001600160a01b031633145b8061201057506006546001600160a01b031633145b61201957600080fd5b6120228161503d565b15612074576040805162461bcd60e51b815260206004820152601f60248201527f696620286973416e7947656e6573697341646472657373285f66726f6d292900604482015290519081900360640190fd5b60085460408051633870c3c360e21b81526001600160a01b0384811660048301529151919092169163e1c30f0c916024808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b5051156121295760405162461bcd60e51b8152600401808060200182810382526026815260200180615e876026913960400191505060405180910390fd5b60085460408051639ecdacd560e01b81526001600160a01b0384811660048301526001602483015291519190921691639ecdacd591604480830192600092919082900301818387803b15801561217e57600080fd5b505af1158015612192573d6000803e3d6000fd5b50506040516001600160a01b03841692507f0412df9226744ac4be5600a9b7cd22de690645a8472e7c78f5a50effcef9f8b79150600090a250565b60006121d8826131be565b8061225e57506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b15801561222b57600080fd5b505afa15801561223f573d6000803e3d6000fd5b505050506040513d602081101561225557600080fd5b505160ff166004145b156112fc57600860009054906101000a90046001600160a01b03166001600160a01b0316633a4418f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561134957600080fd5b806104d2146122bf57600080fd5b6007546001600160a01b031633141561029557600880546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b1580156119fe57600080fd5b6000546001600160a01b031633148061235257506001546001600160a01b031633145b8061236757506002546001600160a01b031633145b8061237c57506003546001600160a01b031633145b8061239157506004546001600160a01b031633145b806123a657506005546001600160a01b031633145b806123bb57506006546001600160a01b031633145b6123c457600080fd5b6123cd826131be565b801561244f575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561242157600080fd5b505afa158015612435573d6000803e3d6000fd5b505050506040513d602081101561244b57600080fd5b5051155b1561029557600860009054906101000a90046001600160a01b03166001600160a01b031663323826896040518163ffffffff1660e01b815260040160206040518083038186803b1580156124a257600080fd5b505afa1580156124b6573d6000803e3d6000fd5b505050506040513d60208110156124cc57600080fd5b5051811461250b5760405162461bcd60e51b815260040180806020018281038252602a815260200180615e5d602a913960400191505060405180910390fd5b60085460408051633f109fcb60e11b81526001600160a01b03858116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b15801561255f57600080fd5b505af1158015612573573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03878116600483015260026024830152915191909216935063e5327c139250604480830192600092919082900301818387803b1580156125cc57600080fd5b505af11580156125e0573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925085918491633a4418f8916004808301926020929190829003018186803b15801561263257600080fd5b505afa158015612646573d6000803e3d6000fd5b505050506040513d602081101561265c57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b1580156126ac57600080fd5b505af11580156126c0573d6000803e3d6000fd5b505060085460408051632343992d60e11b815290516001600160a01b03909216935063834046dc92508391634687325a91600480820192602092909190829003018186803b15801561271157600080fd5b505afa158015612725573d6000803e3d6000fd5b505050506040513d602081101561273b57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b15801561277d57600080fd5b505af1158015612791573d6000803e3d6000fd5b50506040516001600160a01b03851692507f25f51c6bcb054917efc74db09bb453e792bfd7d9f2d331a42a4f45f27351ce3d9150600090a2610f3a565b6000546001600160a01b03163314806127f157506001546001600160a01b031633145b8061280657506002546001600160a01b031633145b8061281b57506003546001600160a01b031633145b8061283057506004546001600160a01b031633145b8061284557506005546001600160a01b031633145b8061285a57506006546001600160a01b031633145b61286357600080fd5b60005b81518160ff1610156131565760085482516001600160a01b03808616921690636baf966d90859060ff861690811061289a57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156128e857600080fd5b505afa1580156128fc573d6000803e3d6000fd5b505050506040513d602081101561291257600080fd5b50516001600160a01b0316146129595760405162461bcd60e51b8152600401808060200182810382526046815260200180615e176046913960600191505060405180910390fd5b60085482516001600160a01b039091169063782023d490849060ff851690811061297f57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156129cd57600080fd5b505afa1580156129e1573d6000803e3d6000fd5b505050506040513d60208110156129f757600080fd5b505115612a355760405162461bcd60e51b8152600401808060200182810382526038815260200180615d416038913960400191505060405180910390fd5b612a54828260ff1681518110612a4757fe5b6020026020010151615c90565b612a8f5760405162461bcd60e51b8152600401808060200182810382526035815260200180615d0c6035913960400191505060405180910390fd5b60085482516001600160a01b039091169063e5327c1390849060ff8516908110612ab557fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018260ff16815260200192505050600060405180830381600087803b158015612b1157600080fd5b505af1158015612b25573d6000803e3d6000fd5b50506008548451600093506001600160a01b0390911691506327e235e390859060ff8616908110612b5257fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612ba057600080fd5b505afa158015612bb4573d6000803e3d6000fd5b505050506040513d6020811015612bca57600080fd5b505160085484519192506001600160a01b031690637127308390859060ff8616908110612bf357fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612c4c57600080fd5b505af1158015612c60573d6000803e3d6000fd5b505060085485516001600160a01b039091169250637e213f969150859060ff8616908110612c8a57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612ce357600080fd5b505af1158015612cf7573d6000803e3d6000fd5b505060085485516001600160a01b039091169250636117a0c09150859060ff8616908110612d2157fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018215151515815260200192505050600060405180830381600087803b158015612d7e57600080fd5b505af1158015612d92573d6000803e3d6000fd5b505060085485516001600160a01b0390911692506324c7c9dc9150859060ff8616908110612dbc57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612e1557600080fd5b505af1158015612e29573d6000803e3d6000fd5b505060085485516001600160a01b039091169250638eb84dd29150859060ff8616908110612e5357fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015612ebe57600080fd5b505af1158015612ed2573d6000803e3d6000fd5b505060085460408051631430e3dd60e01b815290516001600160a01b039092169350639db86dc992508391631430e3dd91600480820192602092909190829003018186803b158015612f2357600080fd5b505afa158015612f37573d6000803e3d6000fd5b505050506040513d6020811015612f4d57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015612f8f57600080fd5b505af1158015612fa3573d6000803e3d6000fd5b505060085460408051630ae0e84560e01b815290516001600160a01b03909216935063492f4a6392508391630ae0e84591600480820192602092909190829003018186803b158015612ff457600080fd5b505afa158015613008573d6000803e3d6000fd5b505050506040513d602081101561301e57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b15801561306057600080fd5b505af1158015613074573d6000803e3d6000fd5b505060085460408051638c19011160e01b815290516001600160a01b03909216935063ce8b0afb925084918491638c190111916004808301926020929190829003018186803b1580156130c657600080fd5b505afa1580156130da573d6000803e3d6000fd5b505050506040513d60208110156130f057600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b15801561313157600080fd5b505af1158015613145573d6000803e3d6000fd5b505060019093019250612866915050565b505050565b6007546001600160a01b031632141561029557600380546001600160a01b031916331790556109ef565b6007546001600160a01b031632141561029557600480546001600160a01b031916331790556109ef565b6004546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561320f57600080fd5b505afa158015613223573d6000803e3d6000fd5b505050506040513d602081101561323957600080fd5b505160ff166001141561144057506001611378565b6000546001600160a01b031681565b6007546001600160a01b031632141561029557600680546001600160a01b031916331790556109ef565b6002546001600160a01b031681565b6000546001600160a01b03163314806132b957506001546001600160a01b031633145b806132ce57506002546001600160a01b031633145b806132e357506003546001600160a01b031633145b806132f857506004546001600160a01b031633145b8061330d57506005546001600160a01b031633145b8061332257506006546001600160a01b031633145b61332b57600080fd5b6008546040805163475c26e960e11b81526001600160a01b0384811660048301526000602483018190529251931692638eb84dd29260448084019391929182900301818387803b15801561337e57600080fd5b505af1158015613392573d6000803e3d6000fd5b50506040516001600160a01b03841692507f2263d898cb6c9fee937fbc6fd4217347263549929ec4ccc3f8501b1a5943846a9150600090a250565b6003546001600160a01b031681565b6000546001600160a01b03163314806133ff57506001546001600160a01b031633145b8061341457506002546001600160a01b031633145b8061342957506003546001600160a01b031633145b8061343e57506004546001600160a01b031633145b8061345357506005546001600160a01b031633145b8061346857506006546001600160a01b031633145b61347157600080fd5b61347a82611457565b6134b55760405162461bcd60e51b8152600401808060200182810382526023815260200180615dbe6023913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b03161415613515576040805162461bcd60e51b81526020600482015260166024820152752821285f66726f6d20213d205f61646472657373292960501b604482015290519081900360640190fd5b60085460408051633870c3c360e21b81526001600160a01b0384811660048301529151919092169163e1c30f0c916024808301926020929190829003018186803b15801561356257600080fd5b505afa158015613576573d6000803e3d6000fd5b505050506040513d602081101561358c57600080fd5b50516135c95760405162461bcd60e51b8152600401808060200182810382526027815260200180615ead6027913960400191505060405180910390fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561361657600080fd5b505afa15801561362a573d6000803e3d6000fd5b505050506040513d602081101561364057600080fd5b50511561367e5760405162461bcd60e51b8152600401808060200182810382526023815260200180615d9b6023913960400191505060405180910390fd5b6000613689826121cd565b11156136d3576040805162461bcd60e51b81526020600482015260146024820152732862616c616e63654f66285f746f29203e20302960601b604482015290519081900360640190fd5b6136dc8161503d565b1561372e576040805162461bcd60e51b815260206004820152601a60248201527f286973416e7947656e6573697341646472657373285f746f2929000000000000604482015290519081900360640190fd5b600854604080516327e235e360e01b81526001600160a01b03858116600483015291519190921691637127308391849184916327e235e391602480820192602092909190829003018186803b15801561378657600080fd5b505afa15801561379a573d6000803e3d6000fd5b505050506040513d60208110156137b057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561380057600080fd5b505af1158015613814573d6000803e3d6000fd5b505060085460408051637127308360e01b81526001600160a01b038781166004830152600060248301819052925193169450637127308393506044808201939182900301818387803b15801561386957600080fd5b505af115801561387d573d6000803e3d6000fd5b50506008546040805163a794676f60e01b81526001600160a01b0387811660048301529151919092169350637e213f9692508491849163a794676f91602480820192602092909190829003018186803b1580156138d957600080fd5b505afa1580156138ed573d6000803e3d6000fd5b505050506040513d602081101561390357600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561395357600080fd5b505af1158015613967573d6000803e3d6000fd5b505060085460408051633f109fcb60e11b81526001600160a01b038781166004830152600060248301819052925193169450637e213f9693506044808201939182900301818387803b1580156139bc57600080fd5b505af11580156139d0573d6000803e3d6000fd5b50506008546040805163324884a960e01b81526001600160a01b038781166004830152915191909216935063e5327c1392508491849163324884a991602480820192602092909190829003018186803b158015613a2c57600080fd5b505afa158015613a40573d6000803e3d6000fd5b505050506040513d6020811015613a5657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260ff909116602483015251604480830192600092919082900301818387803b158015613aa857600080fd5b505af1158015613abc573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03878116600483015260006024830181905292519316945063e5327c1393506044808201939182900301818387803b158015613b1157600080fd5b505af1158015613b25573d6000803e3d6000fd5b505060085460408051630931f27760e21b81526001600160a01b0387811660048301526000602483018190529251931694506324c7c9dc93506044808201939182900301818387803b158015613b7a57600080fd5b505af1158015613b8e573d6000803e3d6000fd5b5050600854604080516301845e8360e61b81526001600160a01b038781166004830152600060248301819052925193169450636117a0c093506044808201939182900301818387803b158015613be357600080fd5b505af1158015613bf7573d6000803e3d6000fd5b50506008546040805163475c26e960e11b81526001600160a01b038681166004830152600060248301819052925193169450638eb84dd293506044808201939182900301818387803b158015613c4c57600080fd5b505af1158015613c60573d6000803e3d6000fd5b50506008546040805163475c26e960e11b81526001600160a01b038781166004830152600060248301819052925193169450638eb84dd293506044808201939182900301818387803b158015613cb557600080fd5b505af1158015613cc9573d6000803e3d6000fd5b505060085460408051639ecdacd560e01b81526001600160a01b038781166004830152600060248301819052925193169450639ecdacd593506044808201939182900301818387803b158015613d1e57600080fd5b505af1158015613d32573d6000803e3d6000fd5b505060085460408051639ecdacd560e01b81526001600160a01b038681166004830152600060248301819052925193169450639ecdacd593506044808201939182900301818387803b158015613d8757600080fd5b505af1158015613d9b573d6000803e3d6000fd5b50506008546040805163c8db1dfb60e01b815290516001600160a01b039092169350636e01eebf9250839163c8db1dfb91600480820192602092909190829003018186803b158015613dec57600080fd5b505afa158015613e00573d6000803e3d6000fd5b505050506040513d6020811015613e1657600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015613e5857600080fd5b505af1158015613e6c573d6000803e3d6000fd5b5050600854604080516327e235e360e01b81526001600160a01b0380871660048301819052925192955087811694507fee7d92b81df7f3765a7a94daa038cdf6a79eea8c67e639d910c796258e60a0ac9316916327e235e391602480820192602092909190829003018186803b158015613ee557600080fd5b505afa158015613ef9573d6000803e3d6000fd5b505050506040513d6020811015613f0f57600080fd5b505160408051918252519081900360200190a35050565b6000546001600160a01b0316331480613f4957506001546001600160a01b031633145b80613f5e57506002546001600160a01b031633145b80613f7357506003546001600160a01b031633145b80613f8857506004546001600160a01b031633145b80613f9d57506005546001600160a01b031633145b80613fb257506006546001600160a01b031633145b613fbb57600080fd5b613fc482615c90565b614015576040805162461bcd60e51b815260206004820181905260248201527f2821697347656e65736973416464726573734c6576656c33285f66726f6d2929604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561406257600080fd5b505afa158015614076573d6000803e3d6000fd5b505050506040513d602081101561408c57600080fd5b5051156140ca5760405162461bcd60e51b8152600401808060200182810382526023815260200180615d9b6023913960400191505060405180910390fd5b6008546040805163475c26e960e11b81526001600160a01b038581166004830152848116602483015291519190921691638eb84dd291604480830192600092919082900301818387803b15801561412057600080fd5b505af1158015614134573d6000803e3d6000fd5b50506040516001600160a01b038085169350851691507f5f64e9e37e747b504e4a092fb841b2e337d1cc05cb42dbfb06301a28da47163090600090a35050565b6007546001600160a01b031632141561029557600180546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031661029557600780546001600160a01b031916331790556109ef565b6000546001600160a01b03163314806141f157506001546001600160a01b031633145b8061420657506002546001600160a01b031633145b8061421b57506003546001600160a01b031633145b8061423057506004546001600160a01b031633145b8061424557506005546001600160a01b031633145b8061425a57506006546001600160a01b031633145b61426357600080fd5b61426c8161503d565b6142bd576040805162461bcd60e51b815260206004820152601d60248201527f28216973416e7947656e6573697341646472657373285f66726f6d2929000000604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0384811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561430a57600080fd5b505afa15801561431e573d6000803e3d6000fd5b505050506040513d602081101561433457600080fd5b50516143715760405162461bcd60e51b8152600401808060200182810382526023815260200180615ed46023913960400191505060405180910390fd5b60085460408051630931f27760e21b81526001600160a01b03848116600483015260006024830181905292519316926324c7c9dc9260448084019391929182900301818387803b1580156143c457600080fd5b505af11580156143d8573d6000803e3d6000fd5b5050600854604080516301845e8360e61b81526001600160a01b038681166004830152600060248301819052925193169450636117a0c093506044808201939182900301818387803b15801561442d57600080fd5b505af1158015614441573d6000803e3d6000fd5b5050505061444e81614494565b6040516001600160a01b038216907fd845195bcf18cb22dcacb0b3a23aa06d2573b2508c9f47f9dc96bce2f5381b5490600090a250565b6008546001600160a01b031681565b6000546001600160a01b03163314806144b757506001546001600160a01b031633145b806144cc57506002546001600160a01b031633145b806144e157506003546001600160a01b031633145b806144f657506004546001600160a01b031633145b8061450b57506005546001600160a01b031633145b8061452057506006546001600160a01b031633145b61452957600080fd5b614532816131be565b156148e55760006001600960009054906101000a90046001600160a01b03166001600160a01b0316634eb046366040518163ffffffff1660e01b815260040160206040518083038186803b15801561458957600080fd5b505afa15801561459d573d6000803e3d6000fd5b505050506040513d60208110156145b357600080fd5b5051039050801561480c5760095460408051631d7b351b60e21b81526004810184905290516000926001600160a01b0316916375ecd46c916024808301926020929190829003018186803b15801561460a57600080fd5b505afa15801561461e573d6000803e3d6000fd5b505050506040513d602081101561463457600080fd5b50516008546040805163e768ad7b60e01b81526001600160a01b03878116600483015291519394509116916321ea432a918491849163e768ad7b916024808301926020929190829003018186803b15801561468e57600080fd5b505afa1580156146a2573d6000803e3d6000fd5b505050506040513d60208110156146b857600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561470857600080fd5b505af115801561471c573d6000803e3d6000fd5b50506009546008546040805163e768ad7b60e01b81526001600160a01b0389811660048301529151938216955063cde29b5c945091169163e768ad7b91602480820192602092909190829003018186803b15801561477957600080fd5b505afa15801561478d573d6000803e3d6000fd5b505050506040513d60208110156147a357600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b1580156147f257600080fd5b505af1158015614806573d6000803e3d6000fd5b50505050505b600854604080516310f5219560e11b81526001600160a01b03858116600483015260006024830181905292519316926321ea432a9260448084019391929182900301818387803b15801561485f57600080fd5b505af1158015614873573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b031663fc0b1fb66040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156148c757600080fd5b505af11580156148db573d6000803e3d6000fd5b5050505050610a20565b6148ee816113b0565b15614c835760006001600960009054906101000a90046001600160a01b03166001600160a01b031663a3c092dd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561494557600080fd5b505afa158015614959573d6000803e3d6000fd5b505050506040513d602081101561496f57600080fd5b50510390508015614bc85760095460408051633e100d1160e11b81526004810184905290516000926001600160a01b031691637c201a22916024808301926020929190829003018186803b1580156149c657600080fd5b505afa1580156149da573d6000803e3d6000fd5b505050506040513d60208110156149f057600080fd5b50516008546040805163c68cfc1560e01b81526001600160a01b0387811660048301529151939450911691635113404c918491849163c68cfc15916024808301926020929190829003018186803b158015614a4a57600080fd5b505afa158015614a5e573d6000803e3d6000fd5b505050506040513d6020811015614a7457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015614ac457600080fd5b505af1158015614ad8573d6000803e3d6000fd5b50506009546008546040805163c68cfc1560e01b81526001600160a01b0389811660048301529151938216955063db22b4c8945091169163c68cfc1591602480820192602092909190829003018186803b158015614b3557600080fd5b505afa158015614b49573d6000803e3d6000fd5b505050506040513d6020811015614b5f57600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015614bae57600080fd5b505af1158015614bc2573d6000803e3d6000fd5b50505050505b60085460408051631444d01360e21b81526001600160a01b0385811660048301526000602483018190529251931692635113404c9260448084019391929182900301818387803b158015614c1b57600080fd5b505af1158015614c2f573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b0316631b16d78d6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156148c757600080fd5b614c8c81615c90565b15610a205760006001600960009054906101000a90046001600160a01b03166001600160a01b031663e0cf13a36040518163ffffffff1660e01b815260040160206040518083038186803b158015614ce357600080fd5b505afa158015614cf7573d6000803e3d6000fd5b505050506040513d6020811015614d0d57600080fd5b50510390508015614f6657600954604080516336b49b7960e01b81526004810184905290516000926001600160a01b0316916336b49b79916024808301926020929190829003018186803b158015614d6457600080fd5b505afa158015614d78573d6000803e3d6000fd5b505050506040513d6020811015614d8e57600080fd5b50516008546040805163a094db5360e01b81526001600160a01b03878116600483015291519394509116916362dfdea9918491849163a094db53916024808301926020929190829003018186803b158015614de857600080fd5b505afa158015614dfc573d6000803e3d6000fd5b505050506040513d6020811015614e1257600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015614e6257600080fd5b505af1158015614e76573d6000803e3d6000fd5b50506009546008546040805163a094db5360e01b81526001600160a01b038981166004830152915193821695506349c334f2945091169163a094db5391602480820192602092909190829003018186803b158015614ed357600080fd5b505afa158015614ee7573d6000803e3d6000fd5b505050506040513d6020811015614efd57600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015614f4c57600080fd5b505af1158015614f60573d6000803e3d6000fd5b50505050505b600854604080516362dfdea960e01b81526001600160a01b03858116600483015260006024830181905292519316926362dfdea99260448084019391929182900301818387803b158015614fb957600080fd5b505af1158015614fcd573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b0316630e29d6aa6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561502157600080fd5b505af1158015615035573d6000803e3d6000fd5b505050505050565b6008546040805163324884a960e01b81526001600160a01b03848116600483015291516000938493169163324884a9916024808301926020929190829003018186803b15801561508c57600080fd5b505afa1580156150a0573d6000803e3d6000fd5b505050506040513d60208110156150b657600080fd5b505160ff16111561144057506001611378565b6000546001600160a01b03163314806150ec57506001546001600160a01b031633145b8061510157506002546001600160a01b031633145b8061511657506003546001600160a01b031633145b8061512b57506004546001600160a01b031633145b8061514057506005546001600160a01b031633145b8061515557506006546001600160a01b031633145b61515e57600080fd5b615167826113b0565b80156151e9575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156151bb57600080fd5b505afa1580156151cf573d6000803e3d6000fd5b505050506040513d60208110156151e557600080fd5b5051155b1561029557600860009054906101000a90046001600160a01b03166001600160a01b031663d050a9056040518163ffffffff1660e01b815260040160206040518083038186803b15801561523c57600080fd5b505afa158015615250573d6000803e3d6000fd5b505050506040513d602081101561526657600080fd5b505181146152a55760405162461bcd60e51b815260040180806020018281038252602a815260200180615ce2602a913960400191505060405180910390fd5b6008546040805163e5327c1360e01b81526001600160a01b038581166004830152600360248301529151919092169163e5327c1391604480830192600092919082900301818387803b1580156152fa57600080fd5b505af115801561530e573d6000803e3d6000fd5b5050600854604080516366dd0d5760e01b815290516001600160a01b03909216935063f4b8cb37925083916366dd0d5791600480820192602092909190829003018186803b15801561535f57600080fd5b505afa158015615373573d6000803e3d6000fd5b505050506040513d602081101561538957600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156153cb57600080fd5b505af11580156153df573d6000803e3d6000fd5b50506040516001600160a01b03851692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2610f3a565b6000546001600160a01b031633148061543f57506001546001600160a01b031633145b8061545457506002546001600160a01b031633145b8061546957506003546001600160a01b031633145b8061547e57506004546001600160a01b031633145b8061549357506005546001600160a01b031633145b806154a857506006546001600160a01b031633145b6154b157600080fd5b600a811080156154c557506154c533611457565b156155015760405162461bcd60e51b8152600401808060200182810382526036815260200180615de16036913960400191505060405180910390fd5b61550a8261503d565b61555b576040805162461bcd60e51b815260206004820152601d60248201527f28216973416e7947656e6573697341646472657373285f66726f6d2929000000604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156155a857600080fd5b505afa1580156155bc573d6000803e3d6000fd5b505050506040513d60208110156155d257600080fd5b5051156156105760405162461bcd60e51b8152600401808060200182810382526023815260200180615d9b6023913960400191505060405180910390fd5b615619826121cd565b61566a576040805162461bcd60e51b815260206004820152601760248201527f2862616c616e63654f66285f66726f6d29203d3d203029000000000000000000604482015290519081900360640190fd5b61567382611457565b15615a9d578015615a575760085460408051630931f27760e21b81526001600160a01b03858116600483015260248201859052915191909216916324c7c9dc91604480830192600092919082900301818387803b1580156156d357600080fd5b505af11580156156e7573d6000803e3d6000fd5b505050506156f482615c90565b1561584a5760095460408051632106abf360e11b81526001600160a01b0385811660048301529151919092169163420d57e691602480830192600092919082900301818387803b15801561574757600080fd5b505af115801561575b573d6000803e3d6000fd5b50506008546009546040805163e0cf13a360e01b815290516001600160a01b0393841695506362dfdea994508793600193169163e0cf13a3916004808301926020929190829003018186803b1580156157b357600080fd5b505afa1580156157c7573d6000803e3d6000fd5b505050506040513d60208110156157dd57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561582d57600080fd5b505af1158015615841573d6000803e3d6000fd5b50505050615997565b6009546040805163efd4da9f60e01b81526001600160a01b0385811660048301529151919092169163efd4da9f91602480830192600092919082900301818387803b15801561589857600080fd5b505af11580156158ac573d6000803e3d6000fd5b50506008546009546040805163a3c092dd60e01b815290516001600160a01b039384169550635113404c94508793600193169163a3c092dd916004808301926020929190829003018186803b15801561590457600080fd5b505afa158015615918573d6000803e3d6000fd5b505050506040513d602081101561592e57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561597e57600080fd5b505af1158015615992573d6000803e3d6000fd5b505050505b6008546040805163324884a960e01b81526001600160a01b0385811660048301819052925192937f933f4cdff1259b68b6bef69435776ccf345ec12edb9fdaacf499408bb0075d6f938693929091169163324884a9916024808301926020929190829003018186803b158015615a0c57600080fd5b505afa158015615a20573d6000803e3d6000fd5b505050506040513d6020811015615a3657600080fd5b50516040805192835260ff90911660208301528051918290030190a2615a98565b6040805162461bcd60e51b8152602060048201526011602482015270050726963652063616e6e6f74206265203607c1b604482015290519081900360640190fd5b615c2c565b615aa6826131be565b15615c2c576009546040805163bb96be0960e01b81526001600160a01b0385811660048301529151919092169163bb96be0991602480830192600092919082900301818387803b158015615af957600080fd5b505af1158015615b0d573d6000803e3d6000fd5b505060085460095460408051632758231b60e11b815290516001600160a01b0393841695506321ea432a945087936001931691634eb04636916004808301926020929190829003018186803b158015615b6557600080fd5b505afa158015615b79573d6000803e3d6000fd5b505050506040513d6020811015615b8f57600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015615bdf57600080fd5b505af1158015615bf3573d6000803e3d6000fd5b50506040516001600160a01b03851692507f7f0ccf6984bbd751bead36cbc00ed99529f6067592114335d7ad05917a5223b29150600090a25b600854604080516301845e8360e61b81526001600160a01b0385811660048301526001602483015291519190921691636117a0c091604480830192600092919082900301818387803b15801561502157600080fd5b6007546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561152d57600080fdfe2877656956616c756520213d2070632e657468466565546f55706772616465546f4c6576656c332829292821697347656e65736973416464726573734c6576656c33285f67656e65736973416464726573736573546f4275726e5b695d29292870632e697347656e6573697341646472657373466f7253616c65285f67656e65736973416464726573736573546f4275726e5b695d29292870632e69734e6f726d616c41646472657373466f7253616c65285f66726f6d29292870632e697347656e6573697341646472657373466f7253616c65285f66726f6d29292821697347656e65736973416464726573734c6576656c324f7233285f66726f6d29297765695072696365203c20313020262620697347656e65736973416464726573734c6576656c324f7233286d73672e73656e646572292870632e616c6c6f7741646472657373546f44657374726f7947656e65736973285f67656e65736973416464726573736573546f4275726e5b695d2920213d205f66726f6d292877656956616c756520213d2070632e657468466565546f55706772616465546f4c6576656c3228292970632e616c6c6f775265636569766547656e657369735472616e7366657273285f66726f6d29282170632e616c6c6f775265636569766547656e657369735472616e7366657273285f746f29292170632e697347656e6573697341646472657373466f7253616c65285f66726f6d2929a26469706673582212208b7571f9556456f0591e1d9b3e01d9368bdcd8d722c8c679df91098cb672a9f564736f6c63430006010033

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

00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000805385fba3f03a24d793721f4583be53d3abf86b

-----Decoded View---------------
Arg [0] : _publicCallsAddress (address): 0x90E340e2d11E6Eb1D99E34D122D6fE0fEF3213fd
Arg [1] : _publicArraysAddress (address): 0x805385fba3F03A24d793721f4583BE53d3aBf86b

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd
Arg [1] : 000000000000000000000000805385fba3f03a24d793721f4583be53d3abf86b


Deployed Bytecode Sourcemap

16192:16108:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16192:16108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26298:182;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26298:182:0;-1:-1:-1;;;;;26298:182:0;;:::i;:::-;;19885:22;;;:::i;:::-;;;;-1:-1:-1;;;;;19885:22:0;;;;;;;;;;;;;;18812:117;;;:::i;18248:139::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18248:139:0;-1:-1:-1;;;;;18248:139:0;;:::i;28084:645::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;28084:645:0;;;;;;;;:::i;18933:121::-;;;:::i;29690:542::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29690:542:0;-1:-1:-1;;;;;29690:542:0;;:::i;:::-;;;;;;;;;;;;;;;;17845:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17845:125:0;-1:-1:-1;;;;;17845:125:0;;:::i;20891:171::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20891:171:0;-1:-1:-1;;;;;20891:171:0;;:::i;:::-;;;;;;;;;;;;;;;;;;16686:69;;;:::i;21241:212::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21241:212:0;-1:-1:-1;;;;;21241:212:0;;:::i;30477:517::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;30477:517:0;;;;;;;;:::i;20341:200::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20341:200:0;;;;;;;;:::i;29214:472::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29214:472:0;-1:-1:-1;;;;;29214:472:0;;:::i;16605:78::-;;;:::i;19058:135::-;;;:::i;18526:143::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18526:143:0;-1:-1:-1;;;;;18526:143:0;;:::i;18389:135::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18389:135:0;-1:-1:-1;;;;;18389:135:0;;:::i;18673:::-;;;:::i;16294:71::-;;;:::i;18103:143::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18103:143:0;-1:-1:-1;;;;;18103:143:0;;:::i;25951:343::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25951:343:0;-1:-1:-1;;;;;25951:343:0;;:::i;30236:237::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30236:237:0;-1:-1:-1;;;;;30236:237:0;;:::i;20141:198::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20141:198:0;;;;;;;;:::i;27482:598::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;27482:598:0;;;;;;;;:::i;30998:1299::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;30998:1299:0;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;30998:1299:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;30998:1299:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;30998:1299:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;30998:1299:0;;-1:-1:-1;30998:1299:0;;-1:-1:-1;;;;;30998:1299:0:i;19197:131::-;;;:::i;19332:127::-;;;:::i;16528:74::-;;;:::i;20716:171::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20716:171:0;-1:-1:-1;;;;;20716:171:0;;:::i;16222:69::-;;;:::i;19463:122::-;;;:::i;16368:78::-;;;:::i;27264:214::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27264:214:0;-1:-1:-1;;;;;27264:214:0;;:::i;16449:76::-;;;:::i;21457:1332::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21457:1332:0;;;;;;;;;;:::i;26895:365::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;26895:365:0;;;;;;;;;;:::i;17972:129::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17972:129:0;-1:-1:-1;;;;;17972:129:0;;:::i;17703:140::-;;;:::i;26484:407::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26484:407:0;-1:-1:-1;;;;;26484:407:0;;:::i;19861:21::-;;;:::i;24163:1784::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24163:1784:0;-1:-1:-1;;;;;24163:1784:0;;:::i;20545:167::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20545:167:0;-1:-1:-1;;;;;20545:167:0;;:::i;28733:477::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;28733:477:0;;;;;;;;:::i;22793:1366::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22793:1366:0;;;;;;;;:::i;17626:74::-;;;:::i;21066:171::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21066:171:0;-1:-1:-1;;;;;21066:171:0;;:::i;26298:182::-;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;26379:2:::1;::::0;:47:::1;::::0;;-1:-1:-1;;;26379:47:0;;-1:-1:-1;;;;;26379:47:0;;::::1;;::::0;::::1;::::0;:2:::1;:47:::0;;;;;;;;:2;::::1;::::0;:34:::1;::::0;:47;;;;;:2;;:47;;;;;;:2;;:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;26379:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;26435:41:0::1;::::0;-1:-1:-1;;;;;26435:41:0;::::1;::::0;-1:-1:-1;26435:41:0::1;::::0;-1:-1:-1;26435:41:0;;::::1;26298:182:::0;:::o;19885:22::-;;;-1:-1:-1;;;;;19885:22:0;;:::o;18812:117::-;18864:14;;-1:-1:-1;;;;;18864:14:0;18851:9;:27;18847:78;;;18883:9;:22;;-1:-1:-1;;;;;;18883:22:0;18895:10;18883:22;;;18847:78;18812:117::o;18248:139::-;18327:14;;-1:-1:-1;;;;;18327:14:0;18314:9;:27;18310:75;;;18343:16;:27;;-1:-1:-1;;;;;;18343:27:0;-1:-1:-1;;;;;18343:27:0;;;;;18310:75;18248:139;:::o;28084:645::-;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;28180:32:::1;28203:8;28180:22;:32::i;:::-;:73;;;;-1:-1:-1::0;28217:2:0::1;::::0;:36:::1;::::0;;-1:-1:-1;;;28217:36:0;;-1:-1:-1;;;;;28217:36:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:36;;;;;::::1;::::0;;;;;;;;:2;:36;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28217:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28217:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28217:36:0;28216:37:::1;28180:73;28176:550;;;28313:2;::::0;:28:::1;::::0;;-1:-1:-1;;;28313:28:0;;;;28262:16:::1;::::0;-1:-1:-1;;;;;28313:2:0::1;::::0;:26:::1;::::0;:28:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28313:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28313:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28313:28:0;28282:2:::1;::::0;:28:::1;::::0;;-1:-1:-1;;;28282:28:0;;;;-1:-1:-1;;;;;28282:2:0;;::::1;::::0;:26:::1;::::0;:28:::1;::::0;;::::1;::::0;28313::::1;::::0;28282;;;;;;;;:2;:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28282:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28282:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28282:28:0;:59:::1;::::0;-1:-1:-1;28351:20:0;;::::1;28347:58;;28373:32;::::0;;-1:-1:-1;;;28373:32:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;28373:32:0;;;;;;;;;;;;;::::1;28347:58;28410:2;::::0;:57:::1;::::0;;-1:-1:-1;;;28410:57:0;;-1:-1:-1;;;;;28410:57:0;;::::1;;::::0;::::1;::::0;28454:12:::1;28410:57:::0;;;;;;:2;;;::::1;::::0;:33:::1;::::0;:57;;;;;:2:::1;::::0;:57;;;;;;;:2;;:57;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28410:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;28472:2:0::1;::::0;:35:::1;::::0;;-1:-1:-1;;;28472:35:0;;-1:-1:-1;;;;;28472:35:0;;::::1;;::::0;::::1;::::0;28505:1:::1;28472:35:::0;;;;;;:2;;;::::1;::::0;-1:-1:-1;28472:22:0::1;::::0;-1:-1:-1;28472:35:0;;;;;:2:::1;::::0;:35;;;;;;;:2;;:35;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28472:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;28513:2:0::1;::::0;28538:28:::1;::::0;;-1:-1:-1;;;28538:28:0;;;;-1:-1:-1;;;;;28513:2:0;;::::1;::::0;-1:-1:-1;28513:14:0::1;::::0;-1:-1:-1;28528:8:0;;28513:2;;28538:26:::1;::::0;:28:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;28513:2;28538:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28538:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28538:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28538:28:0;28513:54:::1;::::0;;-1:-1:-1;;;;;;28513:54:0::1;::::0;;;;;;-1:-1:-1;;;;;28513:54:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;28513:54:0;;;;;;;-1:-1:-1;28513:54:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28513:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;28572:2:0::1;::::0;28611:37:::1;::::0;;-1:-1:-1;;;28611:37:0;;;;-1:-1:-1;;;;;28572:2:0;;::::1;::::0;-1:-1:-1;28572:38:0::1;::::0;-1:-1:-1;28572:2:0;;28611:35:::1;::::0;:37:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;28572:2;28611:37;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28611:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28611:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28611:37:0;28572:79:::1;::::0;;-1:-1:-1;;;;;;28572:79:0::1;::::0;;;;;;28649:1:::1;28611:39:::0;;::::1;28572:79;::::0;::::1;::::0;;;;;;;-1:-1:-1;;28572:79:0;;;;;;;-1:-1:-1;28572:79:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28572:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;28663:30:0::1;::::0;-1:-1:-1;;;;;28663:30:0;::::1;::::0;-1:-1:-1;28663:30:0::1;::::0;-1:-1:-1;28663:30:0;;::::1;28176:550;;28084:645:::0;;:::o;18933:121::-;18987:14;;-1:-1:-1;;;;;18987:14:0;18974:9;:27;18970:80;;;19006:11;:24;;-1:-1:-1;;;;;;19006:24:0;19020:10;19006:24;;;18970:80;;29690:542;29757:15;29783:35;29809:8;29783:25;:35::i;:::-;29779:449;;;29861:2;;:40;;;-1:-1:-1;;;29861:40:0;;-1:-1:-1;;;;;29861:40:0;;;;;;;;;29827:16;;29861:2;;;;;:30;;:40;;;;;;;;;;;;;;;:2;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;29861:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29861:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29861:40:0;29929:2;;:14;;;-1:-1:-1;;;29929:14:0;;;;29846:12;:55;;;;;-1:-1:-1;;;;;;29929:2:0;;;;:12;;:14;;;;;29861:40;;29929:14;;;;;;;;:2;:14;;;5:2:-1;;;;30:1;27;20:12;5:2;29929:14:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29929:14:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29929:14:0;29914:29;;29910:63;;29952:2;;:21;;;-1:-1:-1;;;29952:21:0;;-1:-1:-1;;;;;29952:21:0;;;;;;;;;:2;;;;;:11;;:21;;;;;;;;;;;;;;:2;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;29952:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29952:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29952:21:0;;-1:-1:-1;29945:28:0;;-1:-1:-1;29945:28:0;29910:63;30048:2;;:26;;;-1:-1:-1;;;30048:26:0;;;;30075:11;;-1:-1:-1;;;;;30048:2:0;;:24;;:26;;;;;;;;;;;;;;:2;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;30048:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30048:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30048:26:0;30016:2;;:28;;;-1:-1:-1;;;30016:28:0;;;;30048:38;;;;;-1:-1:-1;;;;;30016:2:0;;;;:26;;:28;;;;;30048:26;;30016:28;;;;;;;:2;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;30016:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30016:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30016:28:0;29991:2;;:21;;;-1:-1:-1;;;29991:21:0;;-1:-1:-1;;;;;29991:21:0;;;;;;;;;30016:71;;;;;29991:2;;;:11;;:21;;;;;30016:28;;29991:21;;;;;;;:2;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;29991:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29991:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29991:21:0;:97;;-1:-1:-1;29984:104:0;;-1:-1:-1;29984:104:0;29779:449;30105:32;30128:8;30105:22;:32::i;:::-;:70;;;-1:-1:-1;30141:2:0;;:29;;;-1:-1:-1;;;30141:29:0;;-1:-1:-1;;;;;30141:29:0;;;;;;;;;:2;;;;;:19;;:29;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;30141:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30141:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30141:29:0;:34;;30174:1;30141:34;30105:70;30101:127;;;-1:-1:-1;30187:1:0;30180:8;;30101:127;30207:2;;:21;;;-1:-1:-1;;;30207:21:0;;-1:-1:-1;;;;;30207:21:0;;;;;;;;;:2;;;;;:11;;:21;;;;;;;;;;;;;;:2;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;30207:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30207:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30207:21:0;;-1:-1:-1;30101:127:0;29690:542;;;:::o;17845:125::-;17917:14;;-1:-1:-1;;;;;17917:14:0;17904:9;:27;17900:68;;;17933:9;:20;;-1:-1:-1;;;;;;17933:20:0;-1:-1:-1;;;;;17933:20:0;;;;;17900:68;;20891:171;20984:2;;:29;;;-1:-1:-1;;;20984:29:0;;-1:-1:-1;;;;;20984:29:0;;;;;;;;;20962:12;;20984:2;;;;;:19;;:29;;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;20984:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20984:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20984:29:0;:34;;21017:1;20984:34;20980:78;;;-1:-1:-1;21030:4:0;21023:11;;20980:78;-1:-1:-1;21053:5:0;21046:12;;16686:69;;;-1:-1:-1;;;;;16686:69:0;;:::o;21241:212::-;21337:2;;:29;;;-1:-1:-1;;;21337:29:0;;-1:-1:-1;;;;;21337:29:0;;;;;;;;;21315:12;;21337:2;;;;;:19;;:29;;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;21337:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21337:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21337:29:0;:34;;21370:1;21337:34;;:72;;-1:-1:-1;21375:2:0;;:29;;;-1:-1:-1;;;21375:29:0;;-1:-1:-1;;;;;21375:29:0;;;;;;;;;:2;;;;;:19;;:29;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;21375:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21375:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21375:29:0;:34;;21408:1;21375:34;21337:72;21333:116;;;-1:-1:-1;21421:4:0;21414:11;;30477:517;30557:12;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;30580:2:::1;::::0;:33:::1;::::0;;-1:-1:-1;;;30580:33:0;;-1:-1:-1;;;;;30580:33:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:33;;;;;::::1;::::0;;;;;;;;:2;:33;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30580:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;30580:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;30580:33:0;30576:84:::1;;;30615:45;;-1:-1:-1::0;;;30615:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30576:84;30671:2;::::0;:32:::1;::::0;;-1:-1:-1;;;30671:32:0;;-1:-1:-1;;;;;30671:32:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:25:::1;::::0;:32;;;;;::::1;::::0;;;;;;;;:2;:32;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30671:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;30671:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;30671:32:0;30667:82:::1;;;30705:44;;-1:-1:-1::0;;;30705:44:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30667:82;30789:9;30760:25;30779:5;30760:18;:25::i;:::-;:38;30756:220;;30807:2;::::0;30829:18:::1;::::0;;-1:-1:-1;;;30829:18:0;;-1:-1:-1;;;;;30829:18:0;;::::1;;::::0;::::1;::::0;;;30807:2;;;::::1;::::0;:14:::1;::::0;30822:5;;30850:9;;30807:2;;30829:11:::1;::::0;:18;;;;;::::1;::::0;;;;;;;;30807:2;30829:18;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30829:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;30829:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;30829:18:0;30807:53:::1;::::0;;-1:-1:-1;;;;;;30807:53:0::1;::::0;;;;;;-1:-1:-1;;;;;30807:53:0;;::::1;;::::0;::::1;::::0;30829:30;;::::1;30807:53:::0;;;;;;;;;;-1:-1:-1;;30807:53:0;;;;;;;-1:-1:-1;30807:53:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30807:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;30865:2:0::1;::::0;30881:14:::1;::::0;;-1:-1:-1;;;30881:14:0;;;;-1:-1:-1;;;;;30865:2:0;;::::1;::::0;-1:-1:-1;30865:15:0::1;::::0;-1:-1:-1;30898:9:0;;30865:2;;30881:12:::1;::::0;:14:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;30865:2;30881:14;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30881:14:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;30881:14:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;30881:14:0;30865:43:::1;::::0;;-1:-1:-1;;;;;;30865:43:0::1;::::0;;;;;;30881:26;;;::::1;30865:43;::::0;::::1;::::0;;;;;;;-1:-1:-1;;30865:43:0;;;;;;;-1:-1:-1;30865:43:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30865:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;30918:22:0::1;::::0;;;;;;;-1:-1:-1;;;;;30918:22:0;::::1;::::0;-1:-1:-1;30918:22:0::1;::::0;-1:-1:-1;30918:22:0;;;;::::1;::::0;;::::1;-1:-1:-1::0;30986:4:0::1;30477:517:::0;;;;:::o;20341:200::-;20413:4;20421;20413:12;20407:29;;20428:8;;;20407:29;20457:14;;-1:-1:-1;;;;;20457:14:0;20443:10;:28;20439:100;;;20474:2;:27;;-1:-1:-1;;;;;;20474:27:0;-1:-1:-1;;;;;20474:27:0;;;;;;;;;;;20503:20;;;-1:-1:-1;;;20503:20:0;;;;:2;;;;;:18;;:20;;;;;-1:-1:-1;;20503:20:0;;;;;;;;-1:-1:-1;20503:2:0;:20;;;5:2:-1;;;;30:1;27;20:12;5:2;20503:20:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20503:20:0;;;;20439:100;;29214:472;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;29289:2:::1;::::0;:29:::1;::::0;;-1:-1:-1;;;29289:29:0;;-1:-1:-1;;;;;29289:29:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:19:::1;::::0;:29;;;;;::::1;::::0;;;;;;;;:2;:29;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29289:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29289:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29289:29:0;:34:::1;;29322:1;29289:34;:75:::0;::::1;;;-1:-1:-1::0;29328:2:0::1;::::0;:36:::1;::::0;;-1:-1:-1;;;29328:36:0;;-1:-1:-1;;;;;29328:36:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:36;;;;;::::1;::::0;;;;;;;;:2;:36;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29328:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29328:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29328:36:0;29327:37:::1;29289:75;29285:398;;;29373:2;::::0;:57:::1;::::0;;-1:-1:-1;;;29373:57:0;;-1:-1:-1;;;;;29373:57:0;;::::1;;::::0;::::1;::::0;29417:12:::1;29373:57:::0;;;;;;:2;;;::::1;::::0;:33:::1;::::0;:57;;;;;:2:::1;::::0;:57;;;;;;;:2;;:57;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29373:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;29435:2:0::1;::::0;:35:::1;::::0;;-1:-1:-1;;;29435:35:0;;-1:-1:-1;;;;;29435:35:0;;::::1;;::::0;::::1;::::0;29468:1:::1;29435:35:::0;;;;;;:2;;;::::1;::::0;-1:-1:-1;29435:22:0::1;::::0;-1:-1:-1;29435:35:0;;;;;:2:::1;::::0;:35;;;;;;;:2;;:35;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29435:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;29476:2:0::1;::::0;29501:28:::1;::::0;;-1:-1:-1;;;29501:28:0;;;;-1:-1:-1;;;;;29476:2:0;;::::1;::::0;-1:-1:-1;29476:14:0::1;::::0;-1:-1:-1;29491:8:0;;29476:2;;29501:26:::1;::::0;:28:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;29476:2;29501:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29501:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29501:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29501:28:0;29476:54:::1;::::0;;-1:-1:-1;;;;;;29476:54:0::1;::::0;;;;;;-1:-1:-1;;;;;29476:54:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;29476:54:0;;;;;;;-1:-1:-1;29476:54:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29476:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;29535:2:0::1;::::0;29571:34:::1;::::0;;-1:-1:-1;;;29571:34:0;;;;-1:-1:-1;;;;;29535:2:0;;::::1;::::0;-1:-1:-1;29535:35:0::1;::::0;-1:-1:-1;29535:2:0;;29571:32:::1;::::0;:34:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;29535:2;29571:34;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29571:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29571:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29571:34:0;29535:73:::1;::::0;;-1:-1:-1;;;;;;29535:73:0::1;::::0;;;;;;29606:1:::1;29571:36:::0;;::::1;29535:73;::::0;::::1;::::0;;;;;;;-1:-1:-1;;29535:73:0;;;;;;;-1:-1:-1;29535:73:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29535:73:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;29620:30:0::1;::::0;-1:-1:-1;;;;;29620:30:0;::::1;::::0;-1:-1:-1;29620:30:0::1;::::0;-1:-1:-1;29620:30:0;;::::1;29285:398;;16605:78:::0;;;-1:-1:-1;;;;;16605:78:0;;:::o;19058:135::-;19119:14;;-1:-1:-1;;;;;19119:14:0;19106:9;:27;19102:87;;;19138:18;:31;;-1:-1:-1;;;;;;19138:31:0;19159:10;19138:31;;;19102:87;;18526:143;18607:14;;-1:-1:-1;;;;;18607:14:0;18594:9;:27;18590:77;;;18623:18;:29;;-1:-1:-1;;;;;;18623:29:0;-1:-1:-1;;;;;18623:29:0;;;;;18590:77;;18389:135;18466:14;;-1:-1:-1;;;;;18466:14:0;18453:9;:27;18449:73;;;18482:14;:25;;-1:-1:-1;;;;;;18482:25:0;-1:-1:-1;;;;;18482:25:0;;;;;18449:73;;18673:135;18734:14;;-1:-1:-1;;;;;18734:14:0;18721:9;:27;18717:87;;;18753:18;:31;;-1:-1:-1;;;;;;18753:31:0;18774:10;18753:31;;;18717:87;;16294:71;;;-1:-1:-1;;;;;16294:71:0;;:::o;18103:143::-;18184:14;;-1:-1:-1;;;;;18184:14:0;18171:9;:27;18167:77;;;18200:18;:29;;-1:-1:-1;;;;;;18200:29:0;-1:-1:-1;;;;;18200:29:0;;;;;18167:77;;25951:343;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;26030:26:::1;26050:5;26030:19;:26::i;:::-;26026:73;;;26058:41;::::0;;-1:-1:-1;;;26058:41:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;26026:73;26107:2;::::0;:38:::1;::::0;;-1:-1:-1;;;26107:38:0;;-1:-1:-1;;;;;26107:38:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:31:::1;::::0;:38;;;;;::::1;::::0;;;;;;;;:2;:38;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;26107:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;26107:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;26107:38:0;26103:92:::1;;;26147:48;;-1:-1:-1::0;;;26147:48:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26103:92;26199:2;::::0;:47:::1;::::0;;-1:-1:-1;;;26199:47:0;;-1:-1:-1;;;;;26199:47:0;;::::1;;::::0;::::1;::::0;:2;:47;;;;;;:2;;;::::1;::::0;:34:::1;::::0;:47;;;;;:2:::1;::::0;:47;;;;;;;:2;;:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;26199:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;26255:35:0::1;::::0;-1:-1:-1;;;;;26255:35:0;::::1;::::0;-1:-1:-1;26255:35:0::1;::::0;-1:-1:-1;26255:35:0;;::::1;25951:343:::0;:::o;30236:237::-;30294:15;30319:32;30342:8;30319:22;:32::i;:::-;:70;;;-1:-1:-1;30355:2:0;;:29;;;-1:-1:-1;;;30355:29:0;;-1:-1:-1;;;;;30355:29:0;;;;;;;;;:2;;;;;:19;;:29;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;30355:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30355:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30355:29:0;:34;;30388:1;30355:34;30319:70;30315:154;;;30401:2;;;;;;;;;-1:-1:-1;;;;;30401:2:0;-1:-1:-1;;;;;30401:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;20141:198:0;20212:4;20220;20212:12;20206:29;;20227:8;;;20206:29;20256:14;;-1:-1:-1;;;;;20256:14:0;20242:10;:28;20238:99;;;20273:2;:26;;-1:-1:-1;;;;;;20273:26:0;-1:-1:-1;;;;;20273:26:0;;;;;;;;;;;20301:20;;;-1:-1:-1;;;20301:20:0;;;;:2;;;;;:18;;:20;;;;;-1:-1:-1;;20301:20:0;;;;;;;;-1:-1:-1;20301:2:0;:20;;;5:2:-1;;;;30:1;27;20:12;27482:598:0;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;27578:32:::1;27601:8;27578:22;:32::i;:::-;:73;;;;-1:-1:-1::0;27615:2:0::1;::::0;:36:::1;::::0;;-1:-1:-1;;;27615:36:0;;-1:-1:-1;;;;;27615:36:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:36;;;;;::::1;::::0;;;;;;;;:2;:36;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27615:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;27615:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;27615:36:0;27614:37:::1;27578:73;27574:503;;;27676:2;;;;;;;;;-1:-1:-1::0;;;;;27676:2:0::1;-1:-1:-1::0;;;;;27676:26:0::1;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;27676:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;27676:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;27676:28:0;27664:40;::::1;27660:98;;27706:52;;-1:-1:-1::0;;;27706:52:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27660:98;27763:2;::::0;:57:::1;::::0;;-1:-1:-1;;;27763:57:0;;-1:-1:-1;;;;;27763:57:0;;::::1;;::::0;::::1;::::0;27807:12:::1;27763:57:::0;;;;;;:2;;;::::1;::::0;:33:::1;::::0;:57;;;;;:2:::1;::::0;:57;;;;;;;:2;;:57;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27763:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;27825:2:0::1;::::0;:35:::1;::::0;;-1:-1:-1;;;27825:35:0;;-1:-1:-1;;;;;27825:35:0;;::::1;;::::0;::::1;::::0;27858:1:::1;27825:35:::0;;;;;;:2;;;::::1;::::0;-1:-1:-1;27825:22:0::1;::::0;-1:-1:-1;27825:35:0;;;;;:2:::1;::::0;:35;;;;;;;:2;;:35;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27825:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;27866:2:0::1;::::0;27891:28:::1;::::0;;-1:-1:-1;;;27891:28:0;;;;-1:-1:-1;;;;;27866:2:0;;::::1;::::0;-1:-1:-1;27866:14:0::1;::::0;-1:-1:-1;27881:8:0;;27866:2;;27891:26:::1;::::0;:28:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;27866:2;27891:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27891:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;27891:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;27891:28:0;27866:54:::1;::::0;;-1:-1:-1;;;;;;27866:54:0::1;::::0;;;;;;-1:-1:-1;;;;;27866:54:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;27866:54:0;;;;;;;-1:-1:-1;27866:54:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27866:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;27925:2:0::1;::::0;27964:37:::1;::::0;;-1:-1:-1;;;27964:37:0;;;;-1:-1:-1;;;;;27925:2:0;;::::1;::::0;-1:-1:-1;27925:38:0::1;::::0;-1:-1:-1;27925:2:0;;27964:35:::1;::::0;:37:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;27925:2;27964:37;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27964:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;27964:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;27964:37:0;27925:79:::1;::::0;;-1:-1:-1;;;;;;27925:79:0::1;::::0;;;;;;28002:1:::1;27964:39:::0;;::::1;27925:79;::::0;::::1;::::0;;;;;;;-1:-1:-1;;27925:79:0;;;;;;;-1:-1:-1;27925:79:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27925:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;28014:30:0::1;::::0;-1:-1:-1;;;;;28014:30:0;::::1;::::0;-1:-1:-1;28014:30:0::1;::::0;-1:-1:-1;28014:30:0;;::::1;27574:503;;30998:1299:::0;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;31106:7:::1;31122:1172;31132:23;:30;31128:1;:34;;;31122:1172;;;31175:2;::::0;31207:26;;-1:-1:-1;;;;;31175:68:0;;::::1;::::0;:2:::1;::::0;:31:::1;::::0;31207:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31175:59;;;;;;;;;;;;;-1:-1:-1::0;;;;;31175:59:0::1;-1:-1:-1::0;;;;;31175:59:0::1;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31175:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;31175:59:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;31175:59:0;-1:-1:-1;;;;;31175:68:0::1;;31171:154;;31245:80;;-1:-1:-1::0;;;31245:80:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31171:154;31334:2;::::0;31361:26;;-1:-1:-1;;;;;31334:2:0;;::::1;::::0;:26:::1;::::0;31361:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31334:54;;;;;;;;;;;;;-1:-1:-1::0;;;;;31334:54:0::1;-1:-1:-1::0;;;;;31334:54:0::1;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31334:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;31334:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;31334:54:0;31330:126:::1;;;31390:66;;-1:-1:-1::0;;;31390:66:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31330:126;31466:50;31489:23;31513:1;31489:26;;;;;;;;;;;;;;;;31466:22;:50::i;:::-;31461:120;;31518:63;;-1:-1:-1::0;;;31518:63:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31461:120;31586:2;::::0;31609:26;;-1:-1:-1;;;;;31586:2:0;;::::1;::::0;:22:::1;::::0;31609:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31637:1;31586:53;;;;;;;;;;;;;-1:-1:-1::0;;;;;31586:53:0::1;-1:-1:-1::0;;;;;31586:53:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31586:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;31672:2:0::1;::::0;31684:26;;31644:25:::1;::::0;-1:-1:-1;;;;;;31672:2:0;;::::1;::::0;-1:-1:-1;31672:11:0::1;::::0;31684:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31672:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;31672:39:0::1;-1:-1:-1::0;;;;;31672:39:0::1;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31672:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;31672:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;31672:39:0;31716:2:::1;::::0;31731:26;;31672:39;;-1:-1:-1;;;;;;31716:2:0::1;::::0;:14:::1;::::0;31731:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31759:1;31716:45;;;;;;;;;;;;;-1:-1:-1::0;;;;;31716:45:0::1;-1:-1:-1::0;;;;;31716:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31716:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;31766:2:0::1;::::0;31800:26;;-1:-1:-1;;;;;31766:2:0;;::::1;::::0;-1:-1:-1;31766:33:0::1;::::0;-1:-1:-1;31800:23:0;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31828:1;31766:64;;;;;;;;;;;;;-1:-1:-1::0;;;;;31766:64:0::1;-1:-1:-1::0;;;;;31766:64:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31766:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;31835:2:0::1;::::0;31865:26;;-1:-1:-1;;;;;31835:2:0;;::::1;::::0;-1:-1:-1;31835:29:0::1;::::0;-1:-1:-1;31865:23:0;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31893:5;31835:64;;;;;;;;;;;;;-1:-1:-1::0;;;;;31835:64:0::1;-1:-1:-1::0;;;;;31835:64:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31835:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;31904:2:0::1;::::0;31926:26;;-1:-1:-1;;;;;31904:2:0;;::::1;::::0;-1:-1:-1;31904:21:0::1;::::0;-1:-1:-1;31926:23:0;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31954:1;31904:52;;;;;;;;;;;;;-1:-1:-1::0;;;;;31904:52:0::1;-1:-1:-1::0;;;;;31904:52:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31904:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;31963:2:0::1;::::0;31998:26;;-1:-1:-1;;;;;31963:2:0;;::::1;::::0;-1:-1:-1;31963:34:0::1;::::0;-1:-1:-1;31998:23:0;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;32026:42;31963:106;;;;;;;;;;;;;-1:-1:-1::0;;;;;31963:106:0::1;-1:-1:-1::0;;;;;31963:106:0::1;;;;;;-1:-1:-1::0;;;;;31963:106:0::1;-1:-1:-1::0;;;;;31963:106:0::1;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31963:106:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;32074:2:0::1;::::0;32105:29:::1;::::0;;-1:-1:-1;;;32105:29:0;;;;-1:-1:-1;;;;;32074:2:0;;::::1;::::0;-1:-1:-1;32074:30:0::1;::::0;-1:-1:-1;32074:2:0;;32105:27:::1;::::0;:29:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;32074:2;32105:29;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32105:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32105:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;32105:29:0;32074:65:::1;::::0;;-1:-1:-1;;;;;;32074:65:0::1;::::0;;;;;;32137:1:::1;32105:33:::0;;::::1;32074:65;::::0;::::1;::::0;;;;;;;-1:-1:-1;;32074:65:0;;;;;;;-1:-1:-1;32074:65:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32074:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;32144:2:0::1;::::0;32167:21:::1;::::0;;-1:-1:-1;;;32167:21:0;;;;-1:-1:-1;;;;;32144:2:0;;::::1;::::0;-1:-1:-1;32144:22:0::1;::::0;-1:-1:-1;32144:2:0;;32167:19:::1;::::0;:21:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;32144:2;32167:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32167:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32167:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;32167:21:0;32144:49:::1;::::0;;-1:-1:-1;;;;;;32144:49:0::1;::::0;;;;;;32191:1:::1;32167:25:::0;;::::1;32144:49;::::0;::::1;::::0;;;;;;;-1:-1:-1;;32144:49:0;;;;;;;-1:-1:-1;32144:49:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32144:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;32198:2:0::1;::::0;32230:30:::1;::::0;;-1:-1:-1;;;32230:30:0;;;;-1:-1:-1;;;;;32198:2:0;;::::1;::::0;-1:-1:-1;32198:31:0::1;::::0;-1:-1:-1;32263:17:0;;32198:2;;32230:28:::1;::::0;:30:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;32198:2;32230:30;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32230:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32230:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;32230:30:0;32198:83:::1;::::0;;-1:-1:-1;;;;;;32198:83:0::1;::::0;;;;;;32230:50;;;::::1;32198:83;::::0;::::1;::::0;;;;;;;-1:-1:-1;;32198:83:0;;;;;;;-1:-1:-1;32198:83:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32198:83:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;32286:3:0::1;::::0;;::::1;::::0;-1:-1:-1;31122:1172:0::1;::::0;-1:-1:-1;;31122:1172:0::1;;19850:1;30998:1299:::0;;:::o;19197:131::-;19256:14;;-1:-1:-1;;;;;19256:14:0;19243:9;:27;19239:85;;;19275:16;:29;;-1:-1:-1;;;;;;19275:29:0;19294:10;19275:29;;;19239:85;;19332:127;19389:14;;-1:-1:-1;;;;;19389:14:0;19376:9;:27;19372:83;;;19408:14;:27;;-1:-1:-1;;;;;;19408:27:0;19425:10;19408:27;;;19372:83;;16528:74;;;-1:-1:-1;;;;;16528:74:0;;:::o;20716:171::-;20809:2;;:29;;;-1:-1:-1;;;20809:29:0;;-1:-1:-1;;;;;20809:29:0;;;;;;;;;20787:12;;20809:2;;;;;:19;;:29;;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;20809:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20809:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20809:29:0;:34;;20842:1;20809:34;20805:78;;;-1:-1:-1;20855:4:0;20848:11;;16222:69;;;-1:-1:-1;;;;;16222:69:0;;:::o;19463:122::-;19520:14;;-1:-1:-1;;;;;19520:14:0;19507:9;:27;19503:78;;;19539:9;:22;;-1:-1:-1;;;;;;19539:22:0;19551:10;19539:22;;;19503:78;;16368;;;-1:-1:-1;;;;;16368:78:0;;:::o;27264:214::-;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;27345:2:::1;::::0;:85:::1;::::0;;-1:-1:-1;;;27345:85:0;;-1:-1:-1;;;;;27345:85:0;;::::1;;::::0;::::1;::::0;:2:::1;:85:::0;;;;;;;;:2;::::1;::::0;:34:::1;::::0;:85;;;;;:2;;:85;;;;;;:2;;:85;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27345:85:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;27439:32:0::1;::::0;-1:-1:-1;;;;;27439:32:0;::::1;::::0;-1:-1:-1;27439:32:0::1;::::0;-1:-1:-1;27439:32:0;;::::1;27264:214:::0;:::o;16449:76::-;;;-1:-1:-1;;;;;16449:76:0;;:::o;21457:1332::-;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;21537:32:::1;21563:5;21537:25;:32::i;:::-;21532:84;;21571:45;;-1:-1:-1::0;;;21571:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21532:84;21638:3;-1:-1:-1::0;;;;;21629:12:0::1;:5;-1:-1:-1::0;;;;;21629:12:0::1;;;21623:53;;21644:32;::::0;;-1:-1:-1;;;21644:32:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21644:32:0;;;;;;;;;;;;;::::1;21623:53;21688:2;::::0;:36:::1;::::0;;-1:-1:-1;;;21688:36:0;;-1:-1:-1;;;;;21688:36:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:31:::1;::::0;:36;;;;;::::1;::::0;;;;;;;;:2;:36;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;21688:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;21688:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;21688:36:0;21683:92:::1;;21726:49;;-1:-1:-1::0;;;21726:49:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21683:92;21786:2;::::0;:33:::1;::::0;;-1:-1:-1;;;21786:33:0;;-1:-1:-1;;;;;21786:33:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:33;;;;;::::1;::::0;;;;;;;;:2;:33;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;21786:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;21786:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;21786:33:0;21782:84:::1;;;21821:45;;-1:-1:-1::0;;;21821:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21782:84;21894:1;21877:14;21887:3;21877:9;:14::i;:::-;:18;21873:54;;;21897:30;::::0;;-1:-1:-1;;;21897:30:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21897:30:0;;;;;;;;;;;;;::::1;21873:54;21938:24;21958:3;21938:19;:24::i;:::-;21934:66;;;21964:36;::::0;;-1:-1:-1;;;21964:36:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;21934:66;22009:2;::::0;22029:18:::1;::::0;;-1:-1:-1;;;22029:18:0;;-1:-1:-1;;;;;22029:18:0;;::::1;;::::0;::::1;::::0;;;22009:2;;;::::1;::::0;:14:::1;::::0;22024:3;;22009:2;;22029:11:::1;::::0;:18;;;;;::::1;::::0;;;;;;;;;22009:2;22029:18;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22029:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22029:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22029:18:0;22009:39:::1;::::0;;-1:-1:-1;;;;;;22009:39:0::1;::::0;;;;;;-1:-1:-1;;;;;22009:39:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;22009:39:0;;;;;;;-1:-1:-1;22009:39:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22009:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22053:2:0::1;::::0;:24:::1;::::0;;-1:-1:-1;;;22053:24:0;;-1:-1:-1;;;;;22053:24:0;;::::1;;::::0;::::1;::::0;:2:::1;:24:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22053:14:0::1;::::0;-1:-1:-1;22053:24:0;;;;;;;;;;;:2;;:24;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22053:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22081:2:0::1;::::0;22120:37:::1;::::0;;-1:-1:-1;;;22120:37:0;;-1:-1:-1;;;;;22120:37:0;;::::1;;::::0;::::1;::::0;;;22081:2;;;::::1;::::0;-1:-1:-1;22081:33:0::1;::::0;-1:-1:-1;22115:3:0;;22081:2;;22120:30:::1;::::0;:37;;;;;::::1;::::0;;;;;;;;;22081:2;22120:37;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22120:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22120:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22120:37:0;22081:77:::1;::::0;;-1:-1:-1;;;;;;22081:77:0::1;::::0;;;;;;-1:-1:-1;;;;;22081:77:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;22081:77:0;;;;;;;-1:-1:-1;22081:77:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22081:77:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22162:2:0::1;::::0;:43:::1;::::0;;-1:-1:-1;;;22162:43:0;;-1:-1:-1;;;;;22162:43:0;;::::1;;::::0;::::1;::::0;:2:::1;:43:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22162:33:0::1;::::0;-1:-1:-1;22162:43:0;;;;;;;;;;;:2;;:43;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22162:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22209:2:0::1;::::0;22237:26:::1;::::0;;-1:-1:-1;;;22237:26:0;;-1:-1:-1;;;;;22237:26:0;;::::1;;::::0;::::1;::::0;;;22209:2;;;::::1;::::0;-1:-1:-1;22209:22:0::1;::::0;-1:-1:-1;22232:3:0;;22209:2;;22237:19:::1;::::0;:26;;;;;::::1;::::0;;;;;;;;;22209:2;22237:26;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22237:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22237:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22237:26:0;22209:55:::1;::::0;;-1:-1:-1;;;;;;22209:55:0::1;::::0;;;;;;-1:-1:-1;;;;;22209:55:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;;;;;;;-1:-1:-1;;22209:55:0;;;;;;;-1:-1:-1;22209:55:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22209:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22268:2:0::1;::::0;:32:::1;::::0;;-1:-1:-1;;;22268:32:0;;-1:-1:-1;;;;;22268:32:0;;::::1;;::::0;::::1;::::0;:2:::1;:32:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22268:22:0::1;::::0;-1:-1:-1;22268:32:0;;;;;;;;;;;:2;;:32;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22268:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22304:2:0::1;::::0;:31:::1;::::0;;-1:-1:-1;;;22304:31:0;;-1:-1:-1;;;;;22304:31:0;;::::1;;::::0;::::1;::::0;:2:::1;:31:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22304:21:0::1;::::0;-1:-1:-1;22304:31:0;;;;;;;;;;;:2;;:31;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22304:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22339:2:0::1;::::0;:43:::1;::::0;;-1:-1:-1;;;22339:43:0;;-1:-1:-1;;;;;22339:43:0;;::::1;;::::0;::::1;::::0;:2:::1;:43:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22339:29:0::1;::::0;-1:-1:-1;22339:43:0;;;;;;;;;;;:2;;:43;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22339:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22387:2:0::1;::::0;:83:::1;::::0;;-1:-1:-1;;;22387:83:0;;-1:-1:-1;;;;;22387:83:0;;::::1;;::::0;::::1;::::0;:2:::1;:83:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22387:34:0::1;::::0;-1:-1:-1;22387:83:0;;;;;;;;;;;:2;;:83;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22387:83:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22474:2:0::1;::::0;:85:::1;::::0;;-1:-1:-1;;;22474:85:0;;-1:-1:-1;;;;;22474:85:0;;::::1;;::::0;::::1;::::0;:2:::1;:85:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22474:34:0::1;::::0;-1:-1:-1;22474:85:0;;;;;;;;;;;:2;;:85;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22474:85:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22563:2:0::1;::::0;:48:::1;::::0;;-1:-1:-1;;;22563:48:0;;-1:-1:-1;;;;;22563:48:0;;::::1;;::::0;::::1;::::0;:2:::1;:48:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22563:34:0::1;::::0;-1:-1:-1;22563:48:0;;;;;;;;;;;:2;;:48;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22563:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22615:2:0::1;::::0;:46:::1;::::0;;-1:-1:-1;;;22615:46:0;;-1:-1:-1;;;;;22615:46:0;;::::1;;::::0;::::1;::::0;:2:::1;:46:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22615:34:0::1;::::0;-1:-1:-1;22615:46:0;;;;;;;;;;;:2;;:46;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22615:46:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22665:2:0::1;::::0;22693:26:::1;::::0;;-1:-1:-1;;;22693:26:0;;;;-1:-1:-1;;;;;22665:2:0;;::::1;::::0;-1:-1:-1;22665:27:0::1;::::0;-1:-1:-1;22665:2:0;;22693:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;22665:2;22693:26;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22693:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22693:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22693:26:0;22665:59:::1;::::0;;-1:-1:-1;;;;;;22665:59:0::1;::::0;;;;;;22722:1:::1;22693:30:::0;;::::1;22665:59;::::0;::::1;::::0;;;;;;;-1:-1:-1;;22665:59:0;;;;;;;-1:-1:-1;22665:59:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22665:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;22768:2:0::1;::::0;:16:::1;::::0;;-1:-1:-1;;;22768:16:0;;-1:-1:-1;;;;;22733:52:0;;::::1;22768:16;::::0;::::1;::::0;;;;;22733:52;;-1:-1:-1;22733:52:0;;::::1;::::0;-1:-1:-1;22733:52:0::1;::::0;22768:2:::1;::::0;:11:::1;::::0;:16;;;;;::::1;::::0;;;;;;;;;:2;:16;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22768:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22768:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22768:16:0;22733:52:::1;::::0;;;;;;;;;;22768:16:::1;22733:52:::0;;::::1;21457:1332:::0;;:::o;26895:365::-;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;26993:29:::1;27016:5;26993:22;:29::i;:::-;26988:78;;27024:42;::::0;;-1:-1:-1;;;27024:42:0;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;26988:78;27074:2;::::0;:33:::1;::::0;;-1:-1:-1;;;27074:33:0;;-1:-1:-1;;;;;27074:33:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:33;;;;;::::1;::::0;;;;;;;;:2;:33;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27074:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;27074:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;27074:33:0;27070:84:::1;;;27109:45;;-1:-1:-1::0;;;27109:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27070:84;27159:2;::::0;:51:::1;::::0;;-1:-1:-1;;;27159:51:0;;-1:-1:-1;;;;;27159:51:0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;:2;;;::::1;::::0;:34:::1;::::0;:51;;;;;:2:::1;::::0;:51;;;;;;;:2;;:51;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27159:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;27219:36:0::1;::::0;-1:-1:-1;;;;;27219:36:0;;::::1;::::0;-1:-1:-1;27219:36:0;::::1;::::0;-1:-1:-1;27219:36:0::1;::::0;;;::::1;26895:365:::0;;:::o;17972:129::-;18046:14;;-1:-1:-1;;;;;18046:14:0;18033:9;:27;18029:70;;;18062:11;:22;;-1:-1:-1;;;;;;18062:22:0;-1:-1:-1;;;;;18062:22:0;;;;;18029:70;;17703:140;17737:14;;-1:-1:-1;;;;;17737:14:0;17733:108;;17799:14;:27;;-1:-1:-1;;;;;;17799:27:0;17816:10;17799:27;;;17733:108;;26484:407;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;26563:26:::1;26583:5;26563:19;:26::i;:::-;26558:72;;26591:39;::::0;;-1:-1:-1;;;26591:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;26558:72;26639:2;::::0;:33:::1;::::0;;-1:-1:-1;;;26639:33:0;;-1:-1:-1;;;;;26639:33:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:33;;;;;::::1;::::0;;;;;;;;:2;:33;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;26639:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;26639:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;26639:33:0;26634:85:::1;;26674:45;;-1:-1:-1::0;;;26674:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26634:85;26723:2;::::0;:31:::1;::::0;;-1:-1:-1;;;26723:31:0;;-1:-1:-1;;;;;26723:31:0;;::::1;;::::0;::::1;::::0;:2:::1;:31:::0;;;;;;;;:2;::::1;::::0;:21:::1;::::0;:31;;;;;:2;;:31;;;;;;:2;;:31;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;26723:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;26758:2:0::1;::::0;:43:::1;::::0;;-1:-1:-1;;;26758:43:0;;-1:-1:-1;;;;;26758:43:0;;::::1;;::::0;::::1;::::0;:2:::1;:43:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;26758:29:0::1;::::0;-1:-1:-1;26758:43:0;;;;;;;;;;;:2;;:43;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;26758:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;26758:43:0;;;;26806:39;26839:5;26806:32;:39::i;:::-;26855:31;::::0;-1:-1:-1;;;;;26855:31:0;::::1;::::0;::::1;::::0;;;::::1;26484:407:::0;:::o;19861:21::-;;;-1:-1:-1;;;;;19861:21:0;;:::o;24163:1784::-;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;24249:32:::1;24272:8;24249:22;:32::i;:::-;24245:1697;;;24292:14;24352:1;24309:2;;;;;;;;;-1:-1:-1::0;;;;;24309:2:0::1;-1:-1:-1::0;;;;;24309:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;24309:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24309:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24309:40:0;:44:::1;::::0;-1:-1:-1;24363:13:0;;24359:336:::1;;24416:2;::::0;:43:::1;::::0;;-1:-1:-1;;;24416:43:0;;::::1;::::0;::::1;::::0;;;;;24389:24:::1;::::0;-1:-1:-1;;;;;24416:2:0::1;::::0;:32:::1;::::0;:43;;;;;::::1;::::0;;;;;;;;:2;:43;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24416:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24416:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24416:43:0;24466:2:::1;::::0;24525:47:::1;::::0;;-1:-1:-1;;;24525:47:0;;-1:-1:-1;;;;;24525:47:0;;::::1;;::::0;::::1;::::0;;;24416:43;;-1:-1:-1;24466:2:0;::::1;::::0;:40:::1;::::0;24416:43;;24466:2;;24525:37:::1;::::0;:47;;;;;24416:43:::1;::::0;24525:47;;;;;;;24466:2;24525:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24525:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24525:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24525:47:0;24466:107:::1;::::0;;-1:-1:-1;;;;;;24466:107:0::1;::::0;;;;;;-1:-1:-1;;;;;24466:107:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;24466:107:0;;;;;;;-1:-1:-1;24466:107:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24466:107:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;24580:2:0::1;::::0;24618::::1;::::0;:47:::1;::::0;;-1:-1:-1;;;24618:47:0;;-1:-1:-1;;;;;24618:47:0;;::::1;;::::0;::::1;::::0;;;24580:2;;::::1;::::0;-1:-1:-1;24580:37:0::1;::::0;-1:-1:-1;24618:2:0;::::1;::::0;:37:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;:2;:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24618:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24618:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24618:47:0;24580:104:::1;::::0;;-1:-1:-1;;;;;;24580:104:0::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;24580:104:0;::::1;::::0;;;;;;;;;;-1:-1:-1;;24580:104:0;;;;;;;-1:-1:-1;24580:104:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24580:104:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24580:104:0;;;;24359:336;;24700:2;::::0;:53:::1;::::0;;-1:-1:-1;;;24700:53:0;;-1:-1:-1;;;;;24700:53:0;;::::1;;::::0;::::1;::::0;:2:::1;:53:::0;;;;;;;;:2;::::1;::::0;:40:::1;::::0;:53;;;;;:2;;:53;;;;;;:2;;:53;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24700:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24700:53:0;;;;24759:2;;;;;;;;;-1:-1:-1::0;;;;;24759:2:0::1;-1:-1:-1::0;;;;;24759:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;24759:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24759:40:0;;;;24245:1697;;;;24818:32;24841:8;24818:22;:32::i;:::-;24814:1128;;;24861:14;24921:1;24878:2;;;;;;;;;-1:-1:-1::0;;;;;24878:2:0::1;-1:-1:-1::0;;;;;24878:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;24878:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24878:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24878:40:0;:44:::1;::::0;-1:-1:-1;24932:13:0;;24928:335:::1;;24985:2;::::0;:43:::1;::::0;;-1:-1:-1;;;24985:43:0;;::::1;::::0;::::1;::::0;;;;;24958:24:::1;::::0;-1:-1:-1;;;;;24985:2:0::1;::::0;:32:::1;::::0;:43;;;;;::::1;::::0;;;;;;;;:2;:43;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24985:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24985:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24985:43:0;25035:2:::1;::::0;25094:47:::1;::::0;;-1:-1:-1;;;25094:47:0;;-1:-1:-1;;;;;25094:47:0;;::::1;;::::0;::::1;::::0;;;24985:43;;-1:-1:-1;25035:2:0;::::1;::::0;:40:::1;::::0;24985:43;;25035:2;;25094:37:::1;::::0;:47;;;;;24985:43:::1;::::0;25094:47;;;;;;;25035:2;25094:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25094:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25094:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25094:47:0;25035:107:::1;::::0;;-1:-1:-1;;;;;;25035:107:0::1;::::0;;;;;;-1:-1:-1;;;;;25035:107:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;25035:107:0;;;;;;;-1:-1:-1;25035:107:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25035:107:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;25149:2:0::1;::::0;25187::::1;::::0;:47:::1;::::0;;-1:-1:-1;;;25187:47:0;;-1:-1:-1;;;;;25187:47:0;;::::1;;::::0;::::1;::::0;;;25149:2;;::::1;::::0;-1:-1:-1;25149:37:0::1;::::0;-1:-1:-1;25187:2:0;::::1;::::0;:37:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;:2;:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25187:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25187:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25187:47:0;25149:103:::1;::::0;;-1:-1:-1;;;;;;25149:103:0::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;25149:103:0;::::1;::::0;;;;;;;;;;-1:-1:-1;;25149:103:0;;;;;;;-1:-1:-1;25149:103:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25149:103:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25149:103:0;;;;24928:335;;25268:2;::::0;:53:::1;::::0;;-1:-1:-1;;;25268:53:0;;-1:-1:-1;;;;;25268:53:0;;::::1;;::::0;::::1;::::0;:2:::1;:53:::0;;;;;;;;:2;::::1;::::0;:40:::1;::::0;:53;;;;;:2;;:53;;;;;;:2;;:53;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25268:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25268:53:0;;;;25327:2;;;;;;;;;-1:-1:-1::0;;;;;25327:2:0::1;-1:-1:-1::0;;;;;25327:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;24814:1128:0;25386:32;25409:8;25386:22;:32::i;:::-;25382:560;;;25429:14;25489:1;25446:2;;;;;;;;;-1:-1:-1::0;;;;;25446:2:0::1;-1:-1:-1::0;;;;;25446:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;25446:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25446:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25446:40:0;:44:::1;::::0;-1:-1:-1;25500:13:0;;25496:336:::1;;25553:2;::::0;:43:::1;::::0;;-1:-1:-1;;;25553:43:0;;::::1;::::0;::::1;::::0;;;;;25526:24:::1;::::0;-1:-1:-1;;;;;25553:2:0::1;::::0;:32:::1;::::0;:43;;;;;::::1;::::0;;;;;;;;:2;:43;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25553:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25553:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25553:43:0;25603:2:::1;::::0;25662:47:::1;::::0;;-1:-1:-1;;;25662:47:0;;-1:-1:-1;;;;;25662:47:0;;::::1;;::::0;::::1;::::0;;;25553:43;;-1:-1:-1;25603:2:0;::::1;::::0;:40:::1;::::0;25553:43;;25603:2;;25662:37:::1;::::0;:47;;;;;25553:43:::1;::::0;25662:47;;;;;;;25603:2;25662:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25662:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25662:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25662:47:0;25603:107:::1;::::0;;-1:-1:-1;;;;;;25603:107:0::1;::::0;;;;;;-1:-1:-1;;;;;25603:107:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;25603:107:0;;;;;;;-1:-1:-1;25603:107:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25603:107:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;25717:2:0::1;::::0;25755::::1;::::0;:47:::1;::::0;;-1:-1:-1;;;25755:47:0;;-1:-1:-1;;;;;25755:47:0;;::::1;;::::0;::::1;::::0;;;25717:2;;::::1;::::0;-1:-1:-1;25717:37:0::1;::::0;-1:-1:-1;25755:2:0;::::1;::::0;:37:::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;:2;:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25755:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25755:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25755:47:0;25717:104:::1;::::0;;-1:-1:-1;;;;;;25717:104:0::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;25717:104:0;::::1;::::0;;;;;;;;;;-1:-1:-1;;25717:104:0;;;;;;;-1:-1:-1;25717:104:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25717:104:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25717:104:0;;;;25496:336;;25837:2;::::0;:53:::1;::::0;;-1:-1:-1;;;25837:53:0;;-1:-1:-1;;;;;25837:53:0;;::::1;;::::0;::::1;::::0;:2:::1;:53:::0;;;;;;;;:2;::::1;::::0;:40:::1;::::0;:53;;;;;:2;;:53;;;;;;:2;;:53;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25837:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25837:53:0;;;;25896:2;;;;;;;;;-1:-1:-1::0;;;;;25896:2:0::1;-1:-1:-1::0;;;;;25896:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;25896:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25896:40:0;;;;25382:560;24163:1784:::0;:::o;20545:167::-;20635:2;;:29;;;-1:-1:-1;;;20635:29:0;;-1:-1:-1;;;;;20635:29:0;;;;;;;;;20613:12;;;;20635:2;;:19;;:29;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;20635:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20635:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20635:29:0;:33;;;20631:77;;;-1:-1:-1;20680:4:0;20673:11;;28733:477;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;28829:32:::1;28852:8;28829:22;:32::i;:::-;:73;;;;-1:-1:-1::0;28866:2:0::1;::::0;:36:::1;::::0;;-1:-1:-1;;;28866:36:0;;-1:-1:-1;;;;;28866:36:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:36;;;;;::::1;::::0;;;;;;;;:2;:36;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28866:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28866:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28866:36:0;28865:37:::1;28829:73;28825:382;;;28927:2;;;;;;;;;-1:-1:-1::0;;;;;28927:2:0::1;-1:-1:-1::0;;;;;28927:26:0::1;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;28927:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28927:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28927:28:0;28915:40;::::1;28911:98;;28957:52;;-1:-1:-1::0;;;28957:52:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28911:98;29014:2;::::0;:35:::1;::::0;;-1:-1:-1;;;29014:35:0;;-1:-1:-1;;;;;29014:35:0;;::::1;;::::0;::::1;::::0;29047:1:::1;29014:35:::0;;;;;;:2;;;::::1;::::0;:22:::1;::::0;:35;;;;;:2:::1;::::0;:35;;;;;;;:2;;:35;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29014:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;29055:2:0::1;::::0;29094:37:::1;::::0;;-1:-1:-1;;;29094:37:0;;;;-1:-1:-1;;;;;29055:2:0;;::::1;::::0;-1:-1:-1;29055:38:0::1;::::0;-1:-1:-1;29055:2:0;;29094:35:::1;::::0;:37:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;29055:2;29094:37;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29094:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29094:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29094:37:0;29055:79:::1;::::0;;-1:-1:-1;;;;;;29055:79:0::1;::::0;;;;;;29132:1:::1;29094:39:::0;;::::1;29055:79;::::0;::::1;::::0;;;;;;;-1:-1:-1;;29055:79:0;;;;;;;-1:-1:-1;29055:79:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29055:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;29144:30:0::1;::::0;-1:-1:-1;;;;;29144:30:0;::::1;::::0;-1:-1:-1;29144:30:0::1;::::0;-1:-1:-1;29144:30:0;;::::1;28825:382;;22793:1366:::0;19638:9;;-1:-1:-1;;;;;19638:9:0;19624:10;:23;;:52;;-1:-1:-1;19665:11:0;;-1:-1:-1;;;;;19665:11:0;19651:10;:25;19624:52;:88;;;-1:-1:-1;19694:18:0;;-1:-1:-1;;;;;19694:18:0;19680:10;:32;19624:88;:122;;;-1:-1:-1;19730:16:0;;-1:-1:-1;;;;;19730:16:0;19716:10;:30;19624:122;:154;;;-1:-1:-1;19764:14:0;;-1:-1:-1;;;;;19764:14:0;19750:10;:28;19624:154;:190;;;-1:-1:-1;19796:18:0;;-1:-1:-1;;;;;19796:18:0;19782:10;:32;19624:190;:217;;;-1:-1:-1;19832:9:0;;-1:-1:-1;;;;;19832:9:0;19818:10;:23;19624:217;19616:226;;;;;;22892:2:::1;22881:8;:13;:54;;;;;22898:37;22924:10;22898:25;:37::i;:::-;22877:124;;;22937:64;;-1:-1:-1::0;;;22937:64:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22877:124;23013:26;23033:5;23013:19;:26::i;:::-;23008:72;;23041:39;::::0;;-1:-1:-1;;;23041:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;23008:72;23091:2;::::0;:33:::1;::::0;;-1:-1:-1;;;23091:33:0;;-1:-1:-1;;;;;23091:33:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:26:::1;::::0;:33;;;;;::::1;::::0;;;;;;;;:2;:33;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23091:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23091:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;23091:33:0;23087:84:::1;;;23126:45;;-1:-1:-1::0;;;23126:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23087:84;23182:16;23192:5;23182:9;:16::i;:::-;23178:60;;23205:33;::::0;;-1:-1:-1;;;23205:33:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;23178:60;23249:32;23275:5;23249:25;:32::i;:::-;23245:860;;;23295:12:::0;;23291:566:::1;;23318:2;::::0;:38:::1;::::0;;-1:-1:-1;;;23318:38:0;;-1:-1:-1;;;;;23318:38:0;;::::1;;::::0;::::1;::::0;;;;;;;;;:2;;;::::1;::::0;:21:::1;::::0;:38;;;;;:2:::1;::::0;:38;;;;;;;:2;;:38;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23318:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23318:38:0;;;;23367:29;23390:5;23367:22;:29::i;:::-;23363:367;;;23409:2;::::0;:42:::1;::::0;;-1:-1:-1;;;23409:42:0;;-1:-1:-1;;;;;23409:42:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:35:::1;::::0;:42;;;;;:2:::1;::::0;:42;;;;;;;:2;;:42;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23409:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;23458:2:0::1;::::0;23506::::1;::::0;:40:::1;::::0;;-1:-1:-1;;;23506:40:0;;;;-1:-1:-1;;;;;23458:2:0;;::::1;::::0;-1:-1:-1;23458:40:0::1;::::0;-1:-1:-1;23499:5:0;;23458:2;;23506::::1;::::0;:38:::1;::::0;:40:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:40;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23506:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23506:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;23506:40:0;23458:93:::1;::::0;;-1:-1:-1;;;;;;23458:93:0::1;::::0;;;;;;-1:-1:-1;;;;;23458:93:0;;::::1;;::::0;::::1;::::0;23506:44;;::::1;23458:93:::0;;;;;;;;;;-1:-1:-1;;23458:93:0;;;;;;;-1:-1:-1;23458:93:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23458:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23458:93:0;;;;23363:367;;;23580:2;::::0;:42:::1;::::0;;-1:-1:-1;;;23580:42:0;;-1:-1:-1;;;;;23580:42:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:35:::1;::::0;:42;;;;;:2:::1;::::0;:42;;;;;;;:2;;:42;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23580:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;23629:2:0::1;::::0;23677::::1;::::0;:40:::1;::::0;;-1:-1:-1;;;23677:40:0;;;;-1:-1:-1;;;;;23629:2:0;;::::1;::::0;-1:-1:-1;23629:40:0::1;::::0;-1:-1:-1;23670:5:0;;23629:2;;23677::::1;::::0;:38:::1;::::0;:40:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:40;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23677:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23677:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;23677:40:0;23629:93:::1;::::0;;-1:-1:-1;;;;;;23629:93:0::1;::::0;;;;;;-1:-1:-1;;;;;23629:93:0;;::::1;;::::0;::::1;::::0;23677:44;;::::1;23629:93:::0;;;;;;;;;;-1:-1:-1;;23629:93:0;;;;;;;-1:-1:-1;23629:93:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23629:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23629:93:0;;;;23363:367;23781:2;::::0;:26:::1;::::0;;-1:-1:-1;;;23781:26:0;;-1:-1:-1;;;;;23741:67:0;;::::1;23781:26;::::0;::::1;::::0;;;;;23741:67;;::::1;::::0;23771:8;;23781:2;;;::::1;::::0;:19:::1;::::0;:26;;;;;::::1;::::0;;;;;;;;:2;:26;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23781:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23781:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;23781:26:0;23741:67:::1;::::0;;;;;::::1;::::0;;::::1;23781:26;23741:67:::0;::::1;::::0;;;;;;;;;::::1;23291:566;;;23830:27;::::0;;-1:-1:-1;;;23830:27:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;23830:27:0;;;;;;;;;;;;;::::1;23291:566;23245:860;;;23875:29;23898:5;23875:22;:29::i;:::-;23871:234;;;23913:2;::::0;:42:::1;::::0;;-1:-1:-1;;;23913:42:0;;-1:-1:-1;;;;;23913:42:0;;::::1;;::::0;::::1;::::0;;;:2;;;::::1;::::0;:35:::1;::::0;:42;;;;;:2:::1;::::0;:42;;;;;;;:2;;:42;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23913:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;23960:2:0::1;::::0;24008::::1;::::0;:40:::1;::::0;;-1:-1:-1;;;24008:40:0;;;;-1:-1:-1;;;;;23960:2:0;;::::1;::::0;-1:-1:-1;23960:40:0::1;::::0;-1:-1:-1;24001:5:0;;23960:2;;24008::::1;::::0;:38:::1;::::0;:40:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:2;:40;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24008:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24008:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24008:40:0;23960:93:::1;::::0;;-1:-1:-1;;;;;;23960:93:0::1;::::0;;;;;;-1:-1:-1;;;;;23960:93:0;;::::1;;::::0;::::1;::::0;24008:44;;::::1;23960:93:::0;;;;;;;;;;-1:-1:-1;;23960:93:0;;;;;;;-1:-1:-1;23960:93:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23960:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;24066:34:0::1;::::0;-1:-1:-1;;;;;24066:34:0;::::1;::::0;-1:-1:-1;24066:34:0::1;::::0;-1:-1:-1;24066:34:0;;::::1;23871:234;24111:2;::::0;:42:::1;::::0;;-1:-1:-1;;;24111:42:0;;-1:-1:-1;;;;;24111:42:0;;::::1;;::::0;::::1;::::0;:2;:42;;;;;;:2;;;::::1;::::0;:29:::1;::::0;:42;;;;;:2:::1;::::0;:42;;;;;;;:2;;:42;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;17626:74:0::0;;;-1:-1:-1;;;;;17626:74:0;;:::o;21066:171::-;21159:2;;:29;;;-1:-1:-1;;;21159:29:0;;-1:-1:-1;;;;;21159:29:0;;;;;;;;;21137:12;;21159:2;;;;;:19;;:29;;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12

Swarm Source

ipfs://8b7571f9556456f0591e1d9b3e01d9368bdcd8d722c8c679df91098cb672a9f5

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.