MATIC Price: $0.729854 (-1.28%)
Gas: 30 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value
0x60806040188608282021-09-07 21:46:38993 days ago1631051198IN
 Create: GenesisAddresses
0 MATIC0.2738823550

Parent Transaction Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GenesisAddresses

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2021-09-17
*/

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 || pc.isGenesisAddress(_address) > 1)
		return true;
	else
		return false;
}

function isGenesisAddressLevel1(address _address) public view returns (bool success) {
	if (pc.isGenesisAddress(_address) == 0)
		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, 1);
	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 (isGenesisAddressLevel1(_from))
		revert('ERROR: You must destroy your Level 1 first');
	else 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('RemoveFromSaleFirst');
	
	if (pc.isNormalAddressForSale(_from)) revert('RemoveFromSaleFirst');
	
	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('AllowDestroy not set');
		if (pc.isGenesisAddressForSale(_genesisAddressesToBurn[i])) revert('Must remove from sale');
		if (!isGenesisAddressLevel3(_genesisAddressesToBurn[i])) revert('not level 3');
		pc.isGenesisAddressSet(_genesisAddressesToBurn[i], 1);
		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"}]

6080604052600080546001600160a01b03199081169091556001805482169055600280548216905560038054821690556004805482169055600580548216905560068054821690556007805490911690553480156200005d57600080fd5b506040516200615b3803806200615b833981810160405260408110156200008357600080fd5b5080516020909101516200009f6001600160e01b036200019516565b600880546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b158015620000fd57600080fd5b505af115801562000112573d6000803e3d6000fd5b5050600980546001600160a01b0319166001600160a01b03858116919091179182905560408051631087cce760e21b8152905192909116935063421f339c925060048082019260009290919082900301818387803b1580156200017457600080fd5b505af115801562000189573d6000803e3d6000fd5b505050505050620001c5565b6007546001600160a01b0316620001be57600780546001600160a01b03191633179055620001c3565b600080fd5b565b615f8680620001d56000396000f3fe608060405234801561001057600080fd5b50600436106102955760003560e01c80637366881711610167578063d3560c74116100ce578063e8d5097f11610087578063e8d5097f146107b1578063eb0fbbad146107d7578063ecc517f1146107fd578063ed401ac314610829578063fdbc653014610855578063ffc4b1681461085d57610295565b8063d3560c74146106f9578063d42e1c2f14610727578063e09f58bd14610755578063e24126301461077b578063e2d03bca14610783578063e69919ae146107a957610295565b80639055a23e116101205780639055a23e1461068d578063919e0b79146106b3578063adb7898d146106bb578063b4c26870146106c3578063ca02eb9d146106cb578063cbb12e53146106f157610295565b8063736688171461056a57806376067e67146105965780637949fcf6146105c25780637bffdb0c146106755780638c2814cf1461067d5780638e01bfca1461068557610295565b8063388d61021161020b5780635e80969b116101c45780635e80969b146104c25780635ed33885146104e857806360744859146104f057806362591c58146104f857806368087c201461051e57806370a082311461054457610295565b8063388d61021461040e578063522c628f1461043a57806352ba171d1461046657806355df07a81461048c578063579b9a761461049457806357ec26d61461049c57610295565b806325bb06981161025d57806325bb06981461034057806325d998bb1461034857806327d4da0e146103805780632940187a146103a65780632fb933ff146103e057806336d69910146103e857610295565b806306baf2631461029a5780630a63361c146102c257806313b9f0c7146102e657806315e03506146102ee57806316e0459014610314575b600080fd5b6102c0600480360360208110156102b057600080fd5b50356001600160a01b0316610883565b005b6102ca6109ba565b604080516001600160a01b039092168252519081900360200190f35b6102c06109c9565b6102c06004803603602081101561030457600080fd5b50356001600160a01b03166109f1565b6102c06004803603604081101561032a57600080fd5b506001600160a01b038135169060200135610a23565b6102c0610f3e565b61036e6004803603602081101561035e57600080fd5b50356001600160a01b0316610f68565b60408051918252519081900360200190f35b6102c06004803603602081101561039657600080fd5b50356001600160a01b031661137d565b6103cc600480360360208110156103bc57600080fd5b50356001600160a01b03166113b0565b604080519115158252519081900360200190f35b6102ca611448565b6103cc600480360360208110156103fe57600080fd5b50356001600160a01b0316611457565b6103cc6004803603604081101561042457600080fd5b506001600160a01b03813516906020013561156d565b6102c06004803603604081101561045057600080fd5b506001600160a01b038135169060200135611998565b6102c06004803603602081101561047c57600080fd5b50356001600160a01b0316611a33565b6102ca611e91565b6102c0611ea0565b6102c0600480360360208110156104b257600080fd5b50356001600160a01b0316611eca565b6102c0600480360360208110156104d857600080fd5b50356001600160a01b0316611efd565b6102c0611f30565b6102ca611f5a565b6102c06004803603602081101561050e57600080fd5b50356001600160a01b0316611f69565b6102c06004803603602081101561053457600080fd5b50356001600160a01b0316611f9c565b61036e6004803603602081101561055a57600080fd5b50356001600160a01b031661222a565b6102c06004803603604081101561058057600080fd5b506001600160a01b03813516906020013561230e565b6102c0600480360360408110156105ac57600080fd5b506001600160a01b03813516906020013561238c565b6102c0600480360360408110156105d857600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561060357600080fd5b82018360208201111561061557600080fd5b8035906020019184602083028401116401000000008311171561063757600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061282b945050505050565b6102c06131d7565b6102c0613201565b6102ca61322b565b6103cc600480360360208110156106a357600080fd5b50356001600160a01b031661323a565b6102ca6132c6565b6102c06132d5565b6102ca6132ff565b6102c0600480360360208110156106e157600080fd5b50356001600160a01b031661330e565b6102ca613445565b6102c06004803603604081101561070f57600080fd5b506001600160a01b0381358116916020013516613454565b6102c06004803603604081101561073d57600080fd5b506001600160a01b0381358116916020013516613fa2565b6102c06004803603602081101561076b57600080fd5b50356001600160a01b03166141f0565b6102c0614223565b6102c06004803603602081101561079957600080fd5b50356001600160a01b031661424a565b6102ca614501565b6102c0600480360360208110156107c757600080fd5b50356001600160a01b0316614510565b6103cc600480360360208110156107ed57600080fd5b50356001600160a01b03166150b9565b6102c06004803603604081101561081357600080fd5b506001600160a01b0381351690602001356151ce565b6102c06004803603604081101561083f57600080fd5b506001600160a01b038135169060200135615521565b6102ca615d86565b6103cc6004803603602081101561087357600080fd5b50356001600160a01b0316615d95565b6000546001600160a01b03163314806108a657506001546001600160a01b031633145b806108bb57506002546001600160a01b031633145b806108d057506003546001600160a01b031633145b806108e557506004546001600160a01b031633145b806108fa57506005546001600160a01b031633145b8061090f57506006546001600160a01b031633145b61091857600080fd5b60085460408051639ecdacd560e01b81526001600160a01b0384811660048301526000602483018190529251931692639ecdacd59260448084019391929182900301818387803b15801561096b57600080fd5b505af115801561097f573d6000803e3d6000fd5b50506040516001600160a01b03841692507fe7350d8803dc045eccf56b2301c0d420846527386dd46d244674a9d6f730313c9150600090a250565b6009546001600160a01b031681565b6007546001600160a01b031632141561029557600080546001600160a01b031916331790555b565b6007546001600160a01b031632141561029557600380546001600160a01b0319166001600160a01b0383161790555b50565b6000546001600160a01b0316331480610a4657506001546001600160a01b031633145b80610a5b57506002546001600160a01b031633145b80610a7057506003546001600160a01b031633145b80610a8557506004546001600160a01b031633145b80610a9a57506005546001600160a01b031633145b80610aaf57506006546001600160a01b031633145b610ab857600080fd5b610ac18261323a565b8015610b43575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b158015610b1557600080fd5b505afa158015610b29573d6000803e3d6000fd5b505050506040513d6020811015610b3f57600080fd5b5051155b15610295576008546040805163d050a90560e01b815290516000926001600160a01b03169163d050a905916004808301926020929190829003018186803b158015610b8d57600080fd5b505afa158015610ba1573d6000803e3d6000fd5b505050506040513d6020811015610bb757600080fd5b505160085460408051633238268960e01b815290516001600160a01b0390921691633238268991600480820192602092909190829003018186803b158015610bfe57600080fd5b505afa158015610c12573d6000803e3d6000fd5b505050506040513d6020811015610c2857600080fd5b5051019050818114610c7a576040805162461bcd60e51b81526020600482015260166024820152752877656956616c756520213d20746f74616c4665652960501b604482015290519081900360640190fd5b60085460408051633f109fcb60e11b81526001600160a01b03868116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b158015610cce57600080fd5b505af1158015610ce2573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03888116600483015260036024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015610d3b57600080fd5b505af1158015610d4f573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925086918491633a4418f8916004808301926020929190829003018186803b158015610da157600080fd5b505afa158015610db5573d6000803e3d6000fd5b505050506040513d6020811015610dcb57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015610e1b57600080fd5b505af1158015610e2f573d6000803e3d6000fd5b505060085460408051635a0f903760e11b815290516001600160a01b0390921693506312e447329250839163b41f206e91600480820192602092909190829003018186803b158015610e8057600080fd5b505afa158015610e94573d6000803e3d6000fd5b505050506040513d6020811015610eaa57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015610eec57600080fd5b505af1158015610f00573d6000803e3d6000fd5b50506040516001600160a01b03861692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2505b5050565b6007546001600160a01b031632141561029557600180546001600160a01b031916331790556109ef565b6000610f7382611457565b15611260576008546040805163a794676f60e01b81526001600160a01b0385811660048301529151600093929092169163a794676f91602480820192602092909190829003018186803b158015610fc957600080fd5b505afa158015610fdd573d6000803e3d6000fd5b505050506040513d6020811015610ff357600080fd5b505160085460408051631041ab4f60e11b81529051439390930393506001600160a01b0390911691632083569e91600480820192602092909190829003018186803b15801561104157600080fd5b505afa158015611055573d6000803e3d6000fd5b505050506040513d602081101561106b57600080fd5b505181106110f557600854604080516327e235e360e01b81526001600160a01b038681166004830152915191909216916327e235e3916024808301926020929190829003018186803b1580156110c057600080fd5b505afa1580156110d4573d6000803e3d6000fd5b505050506040513d60208110156110ea57600080fd5b505191506113789050565b6008546040805163147aab3160e21b8152905183926001600160a01b0316916351eaacc4916004808301926020929190829003018186803b15801561113957600080fd5b505afa15801561114d573d6000803e3d6000fd5b505050506040513d602081101561116357600080fd5b505160085460408051630748831f60e31b8152905193909202926001600160a01b0390911691633a4418f8916004808301926020929190829003018186803b1580156111ae57600080fd5b505afa1580156111c2573d6000803e3d6000fd5b505050506040513d60208110156111d857600080fd5b5051600854604080516327e235e360e01b81526001600160a01b038881166004830152915194909303939116916327e235e3916024808301926020929190829003018186803b15801561122a57600080fd5b505afa15801561123e573d6000803e3d6000fd5b505050506040513d602081101561125457600080fd5b50510391506113789050565b6112698261323a565b806112ef57506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b1580156112bc57600080fd5b505afa1580156112d0573d6000803e3d6000fd5b505050506040513d60208110156112e657600080fd5b505160ff166004145b156112fc57506000611378565b600854604080516327e235e360e01b81526001600160a01b038581166004830152915191909216916327e235e3916024808301926020929190829003018186803b15801561134957600080fd5b505afa15801561135d573d6000803e3d6000fd5b505050506040513d602081101561137357600080fd5b505190505b919050565b6007546001600160a01b031632141561029557600080546001600160a01b0319166001600160a01b038316179055610a20565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561140157600080fd5b505afa158015611415573d6000803e3d6000fd5b505050506040513d602081101561142b57600080fd5b505160ff166002141561144057506001611378565b506000611378565b6006546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b505050506040513d60208110156114d257600080fd5b505160ff166002148061156057506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b15801561152d57600080fd5b505afa158015611541573d6000803e3d6000fd5b505050506040513d602081101561155757600080fd5b505160ff166003145b1561144057506001611378565b600080546001600160a01b031633148061159157506001546001600160a01b031633145b806115a657506002546001600160a01b031633145b806115bb57506003546001600160a01b031633145b806115d057506004546001600160a01b031633145b806115e557506005546001600160a01b031633145b806115fa57506006546001600160a01b031633145b61160357600080fd5b60085460408051631e0808f560e21b81526001600160a01b0386811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561165057600080fd5b505afa158015611664573d6000803e3d6000fd5b505050506040513d602081101561167a57600080fd5b5051156116c4576040805162461bcd60e51b815260206004820152601360248201527214995b5bdd99519c9bdb54d85b19519a5c9cdd606a1b604482015290519081900360640190fd5b60085460408051635dd5e70160e01b81526001600160a01b03868116600483015291519190921691635dd5e701916024808301926020929190829003018186803b15801561171157600080fd5b505afa158015611725573d6000803e3d6000fd5b505050506040513d602081101561173b57600080fd5b505115611785576040805162461bcd60e51b815260206004820152601360248201527214995b5bdd99519c9bdb54d85b19519a5c9cdd606a1b604482015290519081900360640190fd5b8161178f84610f68565b1061029557600854604080516327e235e360e01b81526001600160a01b038681166004830152915191909216916371273083918691869185916327e235e3916024808301926020929190829003018186803b1580156117ed57600080fd5b505afa158015611801573d6000803e3d6000fd5b505050506040513d602081101561181757600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561186757600080fd5b505af115801561187b573d6000803e3d6000fd5b50506008546040805163959af4f360e01b815290516001600160a01b03909216935063208b99cf92508591849163959af4f3916004808301926020929190829003018186803b1580156118cd57600080fd5b505afa1580156118e1573d6000803e3d6000fd5b505050506040513d60208110156118f757600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b15801561193857600080fd5b505af115801561194c573d6000803e3d6000fd5b50506040805185815290516001600160a01b03871693507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca592509081900360200190a250600192915050565b806104d2146119a657600080fd5b6007546001600160a01b031633141561029557600980546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b158015611a1657600080fd5b505af1158015611a2a573d6000803e3d6000fd5b50505050610f3a565b6000546001600160a01b0316331480611a5657506001546001600160a01b031633145b80611a6b57506002546001600160a01b031633145b80611a8057506003546001600160a01b031633145b80611a9557506004546001600160a01b031633145b80611aaa57506005546001600160a01b031633145b80611abf57506006546001600160a01b031633145b611ac857600080fd5b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151919092169163324884a9916024808301926020929190829003018186803b158015611b1557600080fd5b505afa158015611b29573d6000803e3d6000fd5b505050506040513d6020811015611b3f57600080fd5b505160ff166004148015611bc9575060085460408051631e0808f560e21b81526001600160a01b0384811660048301529151919092169163782023d4916024808301926020929190829003018186803b158015611b9b57600080fd5b505afa158015611baf573d6000803e3d6000fd5b505050506040513d6020811015611bc557600080fd5b5051155b156102955760085460408051633f109fcb60e11b81526001600160a01b03848116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b158015611c2257600080fd5b505af1158015611c36573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03868116600483015260036024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015611c8f57600080fd5b505af1158015611ca3573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925084918491633a4418f8916004808301926020929190829003018186803b158015611cf557600080fd5b505afa158015611d09573d6000803e3d6000fd5b505050506040513d6020811015611d1f57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015611d6f57600080fd5b505af1158015611d83573d6000803e3d6000fd5b50506008546040805163ed054ea560e01b815290516001600160a01b039092169350630e7c5d479250839163ed054ea591600480820192602092909190829003018186803b158015611dd457600080fd5b505afa158015611de8573d6000803e3d6000fd5b505050506040513d6020811015611dfe57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015611e4057600080fd5b505af1158015611e54573d6000803e3d6000fd5b50506040516001600160a01b03841692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2610a20565b6005546001600160a01b031681565b6007546001600160a01b031632141561029557600280546001600160a01b031916331790556109ef565b6007546001600160a01b031632141561029557600580546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031632141561029557600480546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031632141561029557600580546001600160a01b031916331790556109ef565b6001546001600160a01b031681565b6007546001600160a01b031632141561029557600280546001600160a01b0319166001600160a01b038316179055610a20565b6000546001600160a01b0316331480611fbf57506001546001600160a01b031633145b80611fd457506002546001600160a01b031633145b80611fe957506003546001600160a01b031633145b80611ffe57506004546001600160a01b031633145b8061201357506005546001600160a01b031633145b8061202857506006546001600160a01b031633145b61203157600080fd5b61203a8161323a565b156120765760405162461bcd60e51b815260040180806020018281038252602a815260200180615e57602a913960400191505060405180910390fd5b61207f816150b9565b156120d1576040805162461bcd60e51b815260206004820152601f60248201527f696620286973416e7947656e6573697341646472657373285f66726f6d292900604482015290519081900360640190fd5b60085460408051633870c3c360e21b81526001600160a01b0384811660048301529151919092169163e1c30f0c916024808301926020929190829003018186803b15801561211e57600080fd5b505afa158015612132573d6000803e3d6000fd5b505050506040513d602081101561214857600080fd5b5051156121865760405162461bcd60e51b8152600401808060200182810382526026815260200180615ee16026913960400191505060405180910390fd5b60085460408051639ecdacd560e01b81526001600160a01b0384811660048301526001602483015291519190921691639ecdacd591604480830192600092919082900301818387803b1580156121db57600080fd5b505af11580156121ef573d6000803e3d6000fd5b50506040516001600160a01b03841692507f0412df9226744ac4be5600a9b7cd22de690645a8472e7c78f5a50effcef9f8b79150600090a250565b60006122358261323a565b806122bb57506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b15801561228857600080fd5b505afa15801561229c573d6000803e3d6000fd5b505050506040513d60208110156122b257600080fd5b505160ff166004145b156112fc57600860009054906101000a90046001600160a01b03166001600160a01b0316633a4418f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561134957600080fd5b806104d21461231c57600080fd5b6007546001600160a01b031633141561029557600880546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b158015611a1657600080fd5b6000546001600160a01b03163314806123af57506001546001600160a01b031633145b806123c457506002546001600160a01b031633145b806123d957506003546001600160a01b031633145b806123ee57506004546001600160a01b031633145b8061240357506005546001600160a01b031633145b8061241857506006546001600160a01b031633145b61242157600080fd5b61242a8261323a565b80156124ac575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561247e57600080fd5b505afa158015612492573d6000803e3d6000fd5b505050506040513d60208110156124a857600080fd5b5051155b1561029557600860009054906101000a90046001600160a01b03166001600160a01b031663323826896040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ff57600080fd5b505afa158015612513573d6000803e3d6000fd5b505050506040513d602081101561252957600080fd5b505181146125685760405162461bcd60e51b815260040180806020018281038252602a815260200180615eb7602a913960400191505060405180910390fd5b60085460408051633f109fcb60e11b81526001600160a01b03858116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b1580156125bc57600080fd5b505af11580156125d0573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03878116600483015260026024830152915191909216935063e5327c139250604480830192600092919082900301818387803b15801561262957600080fd5b505af115801561263d573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925085918491633a4418f8916004808301926020929190829003018186803b15801561268f57600080fd5b505afa1580156126a3573d6000803e3d6000fd5b505050506040513d60208110156126b957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561270957600080fd5b505af115801561271d573d6000803e3d6000fd5b505060085460408051632343992d60e11b815290516001600160a01b03909216935063834046dc92508391634687325a91600480820192602092909190829003018186803b15801561276e57600080fd5b505afa158015612782573d6000803e3d6000fd5b505050506040513d602081101561279857600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156127da57600080fd5b505af11580156127ee573d6000803e3d6000fd5b50506040516001600160a01b03851692507f25f51c6bcb054917efc74db09bb453e792bfd7d9f2d331a42a4f45f27351ce3d9150600090a2610f3a565b6000546001600160a01b031633148061284e57506001546001600160a01b031633145b8061286357506002546001600160a01b031633145b8061287857506003546001600160a01b031633145b8061288d57506004546001600160a01b031633145b806128a257506005546001600160a01b031633145b806128b757506006546001600160a01b031633145b6128c057600080fd5b60005b81518160ff1610156131d25760085482516001600160a01b03808616921690636baf966d90859060ff86169081106128f757fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561294557600080fd5b505afa158015612959573d6000803e3d6000fd5b505050506040513d602081101561296f57600080fd5b50516001600160a01b0316146129c3576040805162461bcd60e51b8152602060048201526014602482015273105b1b1bddd1195cdd1c9bde481b9bdd081cd95d60621b604482015290519081900360640190fd5b60085482516001600160a01b039091169063782023d490849060ff85169081106129e957fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612a3757600080fd5b505afa158015612a4b573d6000803e3d6000fd5b505050506040513d6020811015612a6157600080fd5b505115612aad576040805162461bcd60e51b81526020600482015260156024820152744d7573742072656d6f76652066726f6d2073616c6560581b604482015290519081900360640190fd5b612acc828260ff1681518110612abf57fe5b6020026020010151615d95565b612b0b576040805162461bcd60e51b815260206004820152600b60248201526a6e6f74206c6576656c203360a81b604482015290519081900360640190fd5b60085482516001600160a01b039091169063e5327c1390849060ff8516908110612b3157fe5b602002602001015160016040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018260ff16815260200192505050600060405180830381600087803b158015612b8d57600080fd5b505af1158015612ba1573d6000803e3d6000fd5b50506008548451600093506001600160a01b0390911691506327e235e390859060ff8616908110612bce57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612c1c57600080fd5b505afa158015612c30573d6000803e3d6000fd5b505050506040513d6020811015612c4657600080fd5b505160085484519192506001600160a01b031690637127308390859060ff8616908110612c6f57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612cc857600080fd5b505af1158015612cdc573d6000803e3d6000fd5b505060085485516001600160a01b039091169250637e213f969150859060ff8616908110612d0657fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612d5f57600080fd5b505af1158015612d73573d6000803e3d6000fd5b505060085485516001600160a01b039091169250636117a0c09150859060ff8616908110612d9d57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018215151515815260200192505050600060405180830381600087803b158015612dfa57600080fd5b505af1158015612e0e573d6000803e3d6000fd5b505060085485516001600160a01b0390911692506324c7c9dc9150859060ff8616908110612e3857fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612e9157600080fd5b505af1158015612ea5573d6000803e3d6000fd5b505060085485516001600160a01b039091169250638eb84dd29150859060ff8616908110612ecf57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015612f3a57600080fd5b505af1158015612f4e573d6000803e3d6000fd5b505060085460408051631430e3dd60e01b815290516001600160a01b039092169350639db86dc992508391631430e3dd91600480820192602092909190829003018186803b158015612f9f57600080fd5b505afa158015612fb3573d6000803e3d6000fd5b505050506040513d6020811015612fc957600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b15801561300b57600080fd5b505af115801561301f573d6000803e3d6000fd5b505060085460408051630ae0e84560e01b815290516001600160a01b03909216935063492f4a6392508391630ae0e84591600480820192602092909190829003018186803b15801561307057600080fd5b505afa158015613084573d6000803e3d6000fd5b505050506040513d602081101561309a57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156130dc57600080fd5b505af11580156130f0573d6000803e3d6000fd5b505060085460408051638c19011160e01b815290516001600160a01b03909216935063ce8b0afb925084918491638c190111916004808301926020929190829003018186803b15801561314257600080fd5b505afa158015613156573d6000803e3d6000fd5b505050506040513d602081101561316c57600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b1580156131ad57600080fd5b505af11580156131c1573d6000803e3d6000fd5b5050600190930192506128c3915050565b505050565b6007546001600160a01b031632141561029557600380546001600160a01b031916331790556109ef565b6007546001600160a01b031632141561029557600480546001600160a01b031916331790556109ef565b6004546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561328b57600080fd5b505afa15801561329f573d6000803e3d6000fd5b505050506040513d60208110156132b557600080fd5b505160ff1661144057506001611378565b6000546001600160a01b031681565b6007546001600160a01b031632141561029557600680546001600160a01b031916331790556109ef565b6002546001600160a01b031681565b6000546001600160a01b031633148061333157506001546001600160a01b031633145b8061334657506002546001600160a01b031633145b8061335b57506003546001600160a01b031633145b8061337057506004546001600160a01b031633145b8061338557506005546001600160a01b031633145b8061339a57506006546001600160a01b031633145b6133a357600080fd5b6008546040805163475c26e960e11b81526001600160a01b0384811660048301526000602483018190529251931692638eb84dd29260448084019391929182900301818387803b1580156133f657600080fd5b505af115801561340a573d6000803e3d6000fd5b50506040516001600160a01b03841692507f2263d898cb6c9fee937fbc6fd4217347263549929ec4ccc3f8501b1a5943846a9150600090a250565b6003546001600160a01b031681565b6000546001600160a01b031633148061347757506001546001600160a01b031633145b8061348c57506002546001600160a01b031633145b806134a157506003546001600160a01b031633145b806134b657506004546001600160a01b031633145b806134cb57506005546001600160a01b031633145b806134e057506006546001600160a01b031633145b6134e957600080fd5b6134f282611457565b61352d5760405162461bcd60e51b8152600401808060200182810382526023815260200180615e346023913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b0316141561358d576040805162461bcd60e51b81526020600482015260166024820152752821285f66726f6d20213d205f61646472657373292960501b604482015290519081900360640190fd5b60085460408051633870c3c360e21b81526001600160a01b0384811660048301529151919092169163e1c30f0c916024808301926020929190829003018186803b1580156135da57600080fd5b505afa1580156135ee573d6000803e3d6000fd5b505050506040513d602081101561360457600080fd5b50516136415760405162461bcd60e51b8152600401808060200182810382526027815260200180615f076027913960400191505060405180910390fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561368e57600080fd5b505afa1580156136a2573d6000803e3d6000fd5b505050506040513d60208110156136b857600080fd5b5051156136f65760405162461bcd60e51b8152600401808060200182810382526023815260200180615e116023913960400191505060405180910390fd5b60006137018261222a565b111561374b576040805162461bcd60e51b81526020600482015260146024820152732862616c616e63654f66285f746f29203e20302960601b604482015290519081900360640190fd5b613754816150b9565b156137a6576040805162461bcd60e51b815260206004820152601a60248201527f286973416e7947656e6573697341646472657373285f746f2929000000000000604482015290519081900360640190fd5b600854604080516327e235e360e01b81526001600160a01b03858116600483015291519190921691637127308391849184916327e235e391602480820192602092909190829003018186803b1580156137fe57600080fd5b505afa158015613812573d6000803e3d6000fd5b505050506040513d602081101561382857600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561387857600080fd5b505af115801561388c573d6000803e3d6000fd5b505060085460408051637127308360e01b81526001600160a01b038781166004830152600060248301819052925193169450637127308393506044808201939182900301818387803b1580156138e157600080fd5b505af11580156138f5573d6000803e3d6000fd5b50506008546040805163a794676f60e01b81526001600160a01b0387811660048301529151919092169350637e213f9692508491849163a794676f91602480820192602092909190829003018186803b15801561395157600080fd5b505afa158015613965573d6000803e3d6000fd5b505050506040513d602081101561397b57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b1580156139cb57600080fd5b505af11580156139df573d6000803e3d6000fd5b505060085460408051633f109fcb60e11b81526001600160a01b038781166004830152600060248301819052925193169450637e213f9693506044808201939182900301818387803b158015613a3457600080fd5b505af1158015613a48573d6000803e3d6000fd5b50506008546040805163324884a960e01b81526001600160a01b038781166004830152915191909216935063e5327c1392508491849163324884a991602480820192602092909190829003018186803b158015613aa457600080fd5b505afa158015613ab8573d6000803e3d6000fd5b505050506040513d6020811015613ace57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260ff909116602483015251604480830192600092919082900301818387803b158015613b2057600080fd5b505af1158015613b34573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03878116600483015260016024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015613b8d57600080fd5b505af1158015613ba1573d6000803e3d6000fd5b505060085460408051630931f27760e21b81526001600160a01b0387811660048301526000602483018190529251931694506324c7c9dc93506044808201939182900301818387803b158015613bf657600080fd5b505af1158015613c0a573d6000803e3d6000fd5b5050600854604080516301845e8360e61b81526001600160a01b038781166004830152600060248301819052925193169450636117a0c093506044808201939182900301818387803b158015613c5f57600080fd5b505af1158015613c73573d6000803e3d6000fd5b50506008546040805163475c26e960e11b81526001600160a01b038681166004830152600060248301819052925193169450638eb84dd293506044808201939182900301818387803b158015613cc857600080fd5b505af1158015613cdc573d6000803e3d6000fd5b50506008546040805163475c26e960e11b81526001600160a01b038781166004830152600060248301819052925193169450638eb84dd293506044808201939182900301818387803b158015613d3157600080fd5b505af1158015613d45573d6000803e3d6000fd5b505060085460408051639ecdacd560e01b81526001600160a01b038781166004830152600060248301819052925193169450639ecdacd593506044808201939182900301818387803b158015613d9a57600080fd5b505af1158015613dae573d6000803e3d6000fd5b505060085460408051639ecdacd560e01b81526001600160a01b038681166004830152600060248301819052925193169450639ecdacd593506044808201939182900301818387803b158015613e0357600080fd5b505af1158015613e17573d6000803e3d6000fd5b50506008546040805163c8db1dfb60e01b815290516001600160a01b039092169350636e01eebf9250839163c8db1dfb91600480820192602092909190829003018186803b158015613e6857600080fd5b505afa158015613e7c573d6000803e3d6000fd5b505050506040513d6020811015613e9257600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015613ed457600080fd5b505af1158015613ee8573d6000803e3d6000fd5b5050600854604080516327e235e360e01b81526001600160a01b0380871660048301819052925192955087811694507fee7d92b81df7f3765a7a94daa038cdf6a79eea8c67e639d910c796258e60a0ac9316916327e235e391602480820192602092909190829003018186803b158015613f6157600080fd5b505afa158015613f75573d6000803e3d6000fd5b505050506040513d6020811015613f8b57600080fd5b505160408051918252519081900360200190a35050565b6000546001600160a01b0316331480613fc557506001546001600160a01b031633145b80613fda57506002546001600160a01b031633145b80613fef57506003546001600160a01b031633145b8061400457506004546001600160a01b031633145b8061401957506005546001600160a01b031633145b8061402e57506006546001600160a01b031633145b61403757600080fd5b61404082615d95565b614091576040805162461bcd60e51b815260206004820181905260248201527f2821697347656e65736973416464726573734c6576656c33285f66726f6d2929604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156140de57600080fd5b505afa1580156140f2573d6000803e3d6000fd5b505050506040513d602081101561410857600080fd5b5051156141465760405162461bcd60e51b8152600401808060200182810382526023815260200180615e116023913960400191505060405180910390fd5b6008546040805163475c26e960e11b81526001600160a01b038581166004830152848116602483015291519190921691638eb84dd291604480830192600092919082900301818387803b15801561419c57600080fd5b505af11580156141b0573d6000803e3d6000fd5b50506040516001600160a01b038085169350851691507f5f64e9e37e747b504e4a092fb841b2e337d1cc05cb42dbfb06301a28da47163090600090a35050565b6007546001600160a01b031632141561029557600180546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031661029557600780546001600160a01b031916331790556109ef565b6000546001600160a01b031633148061426d57506001546001600160a01b031633145b8061428257506002546001600160a01b031633145b8061429757506003546001600160a01b031633145b806142ac57506004546001600160a01b031633145b806142c157506005546001600160a01b031633145b806142d657506006546001600160a01b031633145b6142df57600080fd5b6142e8816150b9565b614339576040805162461bcd60e51b815260206004820152601d60248201527f28216973416e7947656e6573697341646472657373285f66726f6d2929000000604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0384811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561438657600080fd5b505afa15801561439a573d6000803e3d6000fd5b505050506040513d60208110156143b057600080fd5b50516143ed5760405162461bcd60e51b8152600401808060200182810382526023815260200180615f2e6023913960400191505060405180910390fd5b60085460408051630931f27760e21b81526001600160a01b03848116600483015260006024830181905292519316926324c7c9dc9260448084019391929182900301818387803b15801561444057600080fd5b505af1158015614454573d6000803e3d6000fd5b5050600854604080516301845e8360e61b81526001600160a01b038681166004830152600060248301819052925193169450636117a0c093506044808201939182900301818387803b1580156144a957600080fd5b505af11580156144bd573d6000803e3d6000fd5b505050506144ca81614510565b6040516001600160a01b038216907fd845195bcf18cb22dcacb0b3a23aa06d2573b2508c9f47f9dc96bce2f5381b5490600090a250565b6008546001600160a01b031681565b6000546001600160a01b031633148061453357506001546001600160a01b031633145b8061454857506002546001600160a01b031633145b8061455d57506003546001600160a01b031633145b8061457257506004546001600160a01b031633145b8061458757506005546001600160a01b031633145b8061459c57506006546001600160a01b031633145b6145a557600080fd5b6145ae8161323a565b156149615760006001600960009054906101000a90046001600160a01b03166001600160a01b0316634eb046366040518163ffffffff1660e01b815260040160206040518083038186803b15801561460557600080fd5b505afa158015614619573d6000803e3d6000fd5b505050506040513d602081101561462f57600080fd5b505103905080156148885760095460408051631d7b351b60e21b81526004810184905290516000926001600160a01b0316916375ecd46c916024808301926020929190829003018186803b15801561468657600080fd5b505afa15801561469a573d6000803e3d6000fd5b505050506040513d60208110156146b057600080fd5b50516008546040805163e768ad7b60e01b81526001600160a01b03878116600483015291519394509116916321ea432a918491849163e768ad7b916024808301926020929190829003018186803b15801561470a57600080fd5b505afa15801561471e573d6000803e3d6000fd5b505050506040513d602081101561473457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561478457600080fd5b505af1158015614798573d6000803e3d6000fd5b50506009546008546040805163e768ad7b60e01b81526001600160a01b0389811660048301529151938216955063cde29b5c945091169163e768ad7b91602480820192602092909190829003018186803b1580156147f557600080fd5b505afa158015614809573d6000803e3d6000fd5b505050506040513d602081101561481f57600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b15801561486e57600080fd5b505af1158015614882573d6000803e3d6000fd5b50505050505b600854604080516310f5219560e11b81526001600160a01b03858116600483015260006024830181905292519316926321ea432a9260448084019391929182900301818387803b1580156148db57600080fd5b505af11580156148ef573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b031663fc0b1fb66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561494357600080fd5b505af1158015614957573d6000803e3d6000fd5b5050505050610a20565b61496a816113b0565b15614cff5760006001600960009054906101000a90046001600160a01b03166001600160a01b031663a3c092dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156149c157600080fd5b505afa1580156149d5573d6000803e3d6000fd5b505050506040513d60208110156149eb57600080fd5b50510390508015614c445760095460408051633e100d1160e11b81526004810184905290516000926001600160a01b031691637c201a22916024808301926020929190829003018186803b158015614a4257600080fd5b505afa158015614a56573d6000803e3d6000fd5b505050506040513d6020811015614a6c57600080fd5b50516008546040805163c68cfc1560e01b81526001600160a01b0387811660048301529151939450911691635113404c918491849163c68cfc15916024808301926020929190829003018186803b158015614ac657600080fd5b505afa158015614ada573d6000803e3d6000fd5b505050506040513d6020811015614af057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015614b4057600080fd5b505af1158015614b54573d6000803e3d6000fd5b50506009546008546040805163c68cfc1560e01b81526001600160a01b0389811660048301529151938216955063db22b4c8945091169163c68cfc1591602480820192602092909190829003018186803b158015614bb157600080fd5b505afa158015614bc5573d6000803e3d6000fd5b505050506040513d6020811015614bdb57600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015614c2a57600080fd5b505af1158015614c3e573d6000803e3d6000fd5b50505050505b60085460408051631444d01360e21b81526001600160a01b0385811660048301526000602483018190529251931692635113404c9260448084019391929182900301818387803b158015614c9757600080fd5b505af1158015614cab573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b0316631b16d78d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561494357600080fd5b614d0881615d95565b15610a205760006001600960009054906101000a90046001600160a01b03166001600160a01b031663e0cf13a36040518163ffffffff1660e01b815260040160206040518083038186803b158015614d5f57600080fd5b505afa158015614d73573d6000803e3d6000fd5b505050506040513d6020811015614d8957600080fd5b50510390508015614fe257600954604080516336b49b7960e01b81526004810184905290516000926001600160a01b0316916336b49b79916024808301926020929190829003018186803b158015614de057600080fd5b505afa158015614df4573d6000803e3d6000fd5b505050506040513d6020811015614e0a57600080fd5b50516008546040805163a094db5360e01b81526001600160a01b03878116600483015291519394509116916362dfdea9918491849163a094db53916024808301926020929190829003018186803b158015614e6457600080fd5b505afa158015614e78573d6000803e3d6000fd5b505050506040513d6020811015614e8e57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015614ede57600080fd5b505af1158015614ef2573d6000803e3d6000fd5b50506009546008546040805163a094db5360e01b81526001600160a01b038981166004830152915193821695506349c334f2945091169163a094db5391602480820192602092909190829003018186803b158015614f4f57600080fd5b505afa158015614f63573d6000803e3d6000fd5b505050506040513d6020811015614f7957600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015614fc857600080fd5b505af1158015614fdc573d6000803e3d6000fd5b50505050505b600854604080516362dfdea960e01b81526001600160a01b03858116600483015260006024830181905292519316926362dfdea99260448084019391929182900301818387803b15801561503557600080fd5b505af1158015615049573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b0316630e29d6aa6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561509d57600080fd5b505af11580156150b1573d6000803e3d6000fd5b505050505050565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561510a57600080fd5b505afa15801561511e573d6000803e3d6000fd5b505050506040513d602081101561513457600080fd5b505160ff16158061156057506008546040805163324884a960e01b81526001600160a01b0385811660048301529151600193929092169163324884a991602480820192602092909190829003018186803b15801561519157600080fd5b505afa1580156151a5573d6000803e3d6000fd5b505050506040513d60208110156151bb57600080fd5b505160ff16111561144057506001611378565b6000546001600160a01b03163314806151f157506001546001600160a01b031633145b8061520657506002546001600160a01b031633145b8061521b57506003546001600160a01b031633145b8061523057506004546001600160a01b031633145b8061524557506005546001600160a01b031633145b8061525a57506006546001600160a01b031633145b61526357600080fd5b61526c826113b0565b80156152ee575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156152c057600080fd5b505afa1580156152d4573d6000803e3d6000fd5b505050506040513d60208110156152ea57600080fd5b5051155b1561029557600860009054906101000a90046001600160a01b03166001600160a01b031663d050a9056040518163ffffffff1660e01b815260040160206040518083038186803b15801561534157600080fd5b505afa158015615355573d6000803e3d6000fd5b505050506040513d602081101561536b57600080fd5b505181146153aa5760405162461bcd60e51b815260040180806020018281038252602a815260200180615de7602a913960400191505060405180910390fd5b6008546040805163e5327c1360e01b81526001600160a01b038581166004830152600360248301529151919092169163e5327c1391604480830192600092919082900301818387803b1580156153ff57600080fd5b505af1158015615413573d6000803e3d6000fd5b5050600854604080516366dd0d5760e01b815290516001600160a01b03909216935063f4b8cb37925083916366dd0d5791600480820192602092909190829003018186803b15801561546457600080fd5b505afa158015615478573d6000803e3d6000fd5b505050506040513d602081101561548e57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156154d057600080fd5b505af11580156154e4573d6000803e3d6000fd5b50506040516001600160a01b03851692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2610f3a565b6000546001600160a01b031633148061554457506001546001600160a01b031633145b8061555957506002546001600160a01b031633145b8061556e57506003546001600160a01b031633145b8061558357506004546001600160a01b031633145b8061559857506005546001600160a01b031633145b806155ad57506006546001600160a01b031633145b6155b657600080fd5b600a811080156155ca57506155ca33611457565b156156065760405162461bcd60e51b8152600401808060200182810382526036815260200180615e816036913960400191505060405180910390fd5b61560f826150b9565b615660576040805162461bcd60e51b815260206004820152601d60248201527f28216973416e7947656e6573697341646472657373285f66726f6d2929000000604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156156ad57600080fd5b505afa1580156156c1573d6000803e3d6000fd5b505050506040513d60208110156156d757600080fd5b5051156157155760405162461bcd60e51b8152600401808060200182810382526023815260200180615e116023913960400191505060405180910390fd5b61571e8261222a565b61576f576040805162461bcd60e51b815260206004820152601760248201527f2862616c616e63654f66285f66726f6d29203d3d203029000000000000000000604482015290519081900360640190fd5b61577882611457565b15615ba2578015615b5c5760085460408051630931f27760e21b81526001600160a01b03858116600483015260248201859052915191909216916324c7c9dc91604480830192600092919082900301818387803b1580156157d857600080fd5b505af11580156157ec573d6000803e3d6000fd5b505050506157f982615d95565b1561594f5760095460408051632106abf360e11b81526001600160a01b0385811660048301529151919092169163420d57e691602480830192600092919082900301818387803b15801561584c57600080fd5b505af1158015615860573d6000803e3d6000fd5b50506008546009546040805163e0cf13a360e01b815290516001600160a01b0393841695506362dfdea994508793600193169163e0cf13a3916004808301926020929190829003018186803b1580156158b857600080fd5b505afa1580156158cc573d6000803e3d6000fd5b505050506040513d60208110156158e257600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561593257600080fd5b505af1158015615946573d6000803e3d6000fd5b50505050615a9c565b6009546040805163efd4da9f60e01b81526001600160a01b0385811660048301529151919092169163efd4da9f91602480830192600092919082900301818387803b15801561599d57600080fd5b505af11580156159b1573d6000803e3d6000fd5b50506008546009546040805163a3c092dd60e01b815290516001600160a01b039384169550635113404c94508793600193169163a3c092dd916004808301926020929190829003018186803b158015615a0957600080fd5b505afa158015615a1d573d6000803e3d6000fd5b505050506040513d6020811015615a3357600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015615a8357600080fd5b505af1158015615a97573d6000803e3d6000fd5b505050505b6008546040805163324884a960e01b81526001600160a01b0385811660048301819052925192937f933f4cdff1259b68b6bef69435776ccf345ec12edb9fdaacf499408bb0075d6f938693929091169163324884a9916024808301926020929190829003018186803b158015615b1157600080fd5b505afa158015615b25573d6000803e3d6000fd5b505050506040513d6020811015615b3b57600080fd5b50516040805192835260ff90911660208301528051918290030190a2615b9d565b6040805162461bcd60e51b8152602060048201526011602482015270050726963652063616e6e6f74206265203607c1b604482015290519081900360640190fd5b615d31565b615bab8261323a565b15615d31576009546040805163bb96be0960e01b81526001600160a01b0385811660048301529151919092169163bb96be0991602480830192600092919082900301818387803b158015615bfe57600080fd5b505af1158015615c12573d6000803e3d6000fd5b505060085460095460408051632758231b60e11b815290516001600160a01b0393841695506321ea432a945087936001931691634eb04636916004808301926020929190829003018186803b158015615c6a57600080fd5b505afa158015615c7e573d6000803e3d6000fd5b505050506040513d6020811015615c9457600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015615ce457600080fd5b505af1158015615cf8573d6000803e3d6000fd5b50506040516001600160a01b03851692507f7f0ccf6984bbd751bead36cbc00ed99529f6067592114335d7ad05917a5223b29150600090a25b600854604080516301845e8360e61b81526001600160a01b0385811660048301526001602483015291519190921691636117a0c091604480830192600092919082900301818387803b15801561509d57600080fd5b6007546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561152d57600080fdfe2877656956616c756520213d2070632e657468466565546f55706772616465546f4c6576656c332829292870632e697347656e6573697341646472657373466f7253616c65285f66726f6d29292821697347656e65736973416464726573734c6576656c324f7233285f66726f6d29294552524f523a20596f75206d7573742064657374726f7920796f7572204c6576656c20312066697273747765695072696365203c20313020262620697347656e65736973416464726573734c6576656c324f7233286d73672e73656e646572292877656956616c756520213d2070632e657468466565546f55706772616465546f4c6576656c3228292970632e616c6c6f775265636569766547656e657369735472616e7366657273285f66726f6d29282170632e616c6c6f775265636569766547656e657369735472616e7366657273285f746f29292170632e697347656e6573697341646472657373466f7253616c65285f66726f6d2929a2646970667358221220cc46158c056757835a31ecdbd3510adff2ddf0e270c2c65fa626db626a881ba164736f6c634300060000330000000000000000000000000e35a9caef5f24e1802c51ee935836af07d73b3300000000000000000000000012c60985421f3ea92ac4997e2cec8b1bbf33ee66

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102955760003560e01c80637366881711610167578063d3560c74116100ce578063e8d5097f11610087578063e8d5097f146107b1578063eb0fbbad146107d7578063ecc517f1146107fd578063ed401ac314610829578063fdbc653014610855578063ffc4b1681461085d57610295565b8063d3560c74146106f9578063d42e1c2f14610727578063e09f58bd14610755578063e24126301461077b578063e2d03bca14610783578063e69919ae146107a957610295565b80639055a23e116101205780639055a23e1461068d578063919e0b79146106b3578063adb7898d146106bb578063b4c26870146106c3578063ca02eb9d146106cb578063cbb12e53146106f157610295565b8063736688171461056a57806376067e67146105965780637949fcf6146105c25780637bffdb0c146106755780638c2814cf1461067d5780638e01bfca1461068557610295565b8063388d61021161020b5780635e80969b116101c45780635e80969b146104c25780635ed33885146104e857806360744859146104f057806362591c58146104f857806368087c201461051e57806370a082311461054457610295565b8063388d61021461040e578063522c628f1461043a57806352ba171d1461046657806355df07a81461048c578063579b9a761461049457806357ec26d61461049c57610295565b806325bb06981161025d57806325bb06981461034057806325d998bb1461034857806327d4da0e146103805780632940187a146103a65780632fb933ff146103e057806336d69910146103e857610295565b806306baf2631461029a5780630a63361c146102c257806313b9f0c7146102e657806315e03506146102ee57806316e0459014610314575b600080fd5b6102c0600480360360208110156102b057600080fd5b50356001600160a01b0316610883565b005b6102ca6109ba565b604080516001600160a01b039092168252519081900360200190f35b6102c06109c9565b6102c06004803603602081101561030457600080fd5b50356001600160a01b03166109f1565b6102c06004803603604081101561032a57600080fd5b506001600160a01b038135169060200135610a23565b6102c0610f3e565b61036e6004803603602081101561035e57600080fd5b50356001600160a01b0316610f68565b60408051918252519081900360200190f35b6102c06004803603602081101561039657600080fd5b50356001600160a01b031661137d565b6103cc600480360360208110156103bc57600080fd5b50356001600160a01b03166113b0565b604080519115158252519081900360200190f35b6102ca611448565b6103cc600480360360208110156103fe57600080fd5b50356001600160a01b0316611457565b6103cc6004803603604081101561042457600080fd5b506001600160a01b03813516906020013561156d565b6102c06004803603604081101561045057600080fd5b506001600160a01b038135169060200135611998565b6102c06004803603602081101561047c57600080fd5b50356001600160a01b0316611a33565b6102ca611e91565b6102c0611ea0565b6102c0600480360360208110156104b257600080fd5b50356001600160a01b0316611eca565b6102c0600480360360208110156104d857600080fd5b50356001600160a01b0316611efd565b6102c0611f30565b6102ca611f5a565b6102c06004803603602081101561050e57600080fd5b50356001600160a01b0316611f69565b6102c06004803603602081101561053457600080fd5b50356001600160a01b0316611f9c565b61036e6004803603602081101561055a57600080fd5b50356001600160a01b031661222a565b6102c06004803603604081101561058057600080fd5b506001600160a01b03813516906020013561230e565b6102c0600480360360408110156105ac57600080fd5b506001600160a01b03813516906020013561238c565b6102c0600480360360408110156105d857600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561060357600080fd5b82018360208201111561061557600080fd5b8035906020019184602083028401116401000000008311171561063757600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061282b945050505050565b6102c06131d7565b6102c0613201565b6102ca61322b565b6103cc600480360360208110156106a357600080fd5b50356001600160a01b031661323a565b6102ca6132c6565b6102c06132d5565b6102ca6132ff565b6102c0600480360360208110156106e157600080fd5b50356001600160a01b031661330e565b6102ca613445565b6102c06004803603604081101561070f57600080fd5b506001600160a01b0381358116916020013516613454565b6102c06004803603604081101561073d57600080fd5b506001600160a01b0381358116916020013516613fa2565b6102c06004803603602081101561076b57600080fd5b50356001600160a01b03166141f0565b6102c0614223565b6102c06004803603602081101561079957600080fd5b50356001600160a01b031661424a565b6102ca614501565b6102c0600480360360208110156107c757600080fd5b50356001600160a01b0316614510565b6103cc600480360360208110156107ed57600080fd5b50356001600160a01b03166150b9565b6102c06004803603604081101561081357600080fd5b506001600160a01b0381351690602001356151ce565b6102c06004803603604081101561083f57600080fd5b506001600160a01b038135169060200135615521565b6102ca615d86565b6103cc6004803603602081101561087357600080fd5b50356001600160a01b0316615d95565b6000546001600160a01b03163314806108a657506001546001600160a01b031633145b806108bb57506002546001600160a01b031633145b806108d057506003546001600160a01b031633145b806108e557506004546001600160a01b031633145b806108fa57506005546001600160a01b031633145b8061090f57506006546001600160a01b031633145b61091857600080fd5b60085460408051639ecdacd560e01b81526001600160a01b0384811660048301526000602483018190529251931692639ecdacd59260448084019391929182900301818387803b15801561096b57600080fd5b505af115801561097f573d6000803e3d6000fd5b50506040516001600160a01b03841692507fe7350d8803dc045eccf56b2301c0d420846527386dd46d244674a9d6f730313c9150600090a250565b6009546001600160a01b031681565b6007546001600160a01b031632141561029557600080546001600160a01b031916331790555b565b6007546001600160a01b031632141561029557600380546001600160a01b0319166001600160a01b0383161790555b50565b6000546001600160a01b0316331480610a4657506001546001600160a01b031633145b80610a5b57506002546001600160a01b031633145b80610a7057506003546001600160a01b031633145b80610a8557506004546001600160a01b031633145b80610a9a57506005546001600160a01b031633145b80610aaf57506006546001600160a01b031633145b610ab857600080fd5b610ac18261323a565b8015610b43575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b158015610b1557600080fd5b505afa158015610b29573d6000803e3d6000fd5b505050506040513d6020811015610b3f57600080fd5b5051155b15610295576008546040805163d050a90560e01b815290516000926001600160a01b03169163d050a905916004808301926020929190829003018186803b158015610b8d57600080fd5b505afa158015610ba1573d6000803e3d6000fd5b505050506040513d6020811015610bb757600080fd5b505160085460408051633238268960e01b815290516001600160a01b0390921691633238268991600480820192602092909190829003018186803b158015610bfe57600080fd5b505afa158015610c12573d6000803e3d6000fd5b505050506040513d6020811015610c2857600080fd5b5051019050818114610c7a576040805162461bcd60e51b81526020600482015260166024820152752877656956616c756520213d20746f74616c4665652960501b604482015290519081900360640190fd5b60085460408051633f109fcb60e11b81526001600160a01b03868116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b158015610cce57600080fd5b505af1158015610ce2573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03888116600483015260036024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015610d3b57600080fd5b505af1158015610d4f573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925086918491633a4418f8916004808301926020929190829003018186803b158015610da157600080fd5b505afa158015610db5573d6000803e3d6000fd5b505050506040513d6020811015610dcb57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015610e1b57600080fd5b505af1158015610e2f573d6000803e3d6000fd5b505060085460408051635a0f903760e11b815290516001600160a01b0390921693506312e447329250839163b41f206e91600480820192602092909190829003018186803b158015610e8057600080fd5b505afa158015610e94573d6000803e3d6000fd5b505050506040513d6020811015610eaa57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015610eec57600080fd5b505af1158015610f00573d6000803e3d6000fd5b50506040516001600160a01b03861692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2505b5050565b6007546001600160a01b031632141561029557600180546001600160a01b031916331790556109ef565b6000610f7382611457565b15611260576008546040805163a794676f60e01b81526001600160a01b0385811660048301529151600093929092169163a794676f91602480820192602092909190829003018186803b158015610fc957600080fd5b505afa158015610fdd573d6000803e3d6000fd5b505050506040513d6020811015610ff357600080fd5b505160085460408051631041ab4f60e11b81529051439390930393506001600160a01b0390911691632083569e91600480820192602092909190829003018186803b15801561104157600080fd5b505afa158015611055573d6000803e3d6000fd5b505050506040513d602081101561106b57600080fd5b505181106110f557600854604080516327e235e360e01b81526001600160a01b038681166004830152915191909216916327e235e3916024808301926020929190829003018186803b1580156110c057600080fd5b505afa1580156110d4573d6000803e3d6000fd5b505050506040513d60208110156110ea57600080fd5b505191506113789050565b6008546040805163147aab3160e21b8152905183926001600160a01b0316916351eaacc4916004808301926020929190829003018186803b15801561113957600080fd5b505afa15801561114d573d6000803e3d6000fd5b505050506040513d602081101561116357600080fd5b505160085460408051630748831f60e31b8152905193909202926001600160a01b0390911691633a4418f8916004808301926020929190829003018186803b1580156111ae57600080fd5b505afa1580156111c2573d6000803e3d6000fd5b505050506040513d60208110156111d857600080fd5b5051600854604080516327e235e360e01b81526001600160a01b038881166004830152915194909303939116916327e235e3916024808301926020929190829003018186803b15801561122a57600080fd5b505afa15801561123e573d6000803e3d6000fd5b505050506040513d602081101561125457600080fd5b50510391506113789050565b6112698261323a565b806112ef57506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b1580156112bc57600080fd5b505afa1580156112d0573d6000803e3d6000fd5b505050506040513d60208110156112e657600080fd5b505160ff166004145b156112fc57506000611378565b600854604080516327e235e360e01b81526001600160a01b038581166004830152915191909216916327e235e3916024808301926020929190829003018186803b15801561134957600080fd5b505afa15801561135d573d6000803e3d6000fd5b505050506040513d602081101561137357600080fd5b505190505b919050565b6007546001600160a01b031632141561029557600080546001600160a01b0319166001600160a01b038316179055610a20565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561140157600080fd5b505afa158015611415573d6000803e3d6000fd5b505050506040513d602081101561142b57600080fd5b505160ff166002141561144057506001611378565b506000611378565b6006546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b1580156114a857600080fd5b505afa1580156114bc573d6000803e3d6000fd5b505050506040513d60208110156114d257600080fd5b505160ff166002148061156057506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b15801561152d57600080fd5b505afa158015611541573d6000803e3d6000fd5b505050506040513d602081101561155757600080fd5b505160ff166003145b1561144057506001611378565b600080546001600160a01b031633148061159157506001546001600160a01b031633145b806115a657506002546001600160a01b031633145b806115bb57506003546001600160a01b031633145b806115d057506004546001600160a01b031633145b806115e557506005546001600160a01b031633145b806115fa57506006546001600160a01b031633145b61160357600080fd5b60085460408051631e0808f560e21b81526001600160a01b0386811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561165057600080fd5b505afa158015611664573d6000803e3d6000fd5b505050506040513d602081101561167a57600080fd5b5051156116c4576040805162461bcd60e51b815260206004820152601360248201527214995b5bdd99519c9bdb54d85b19519a5c9cdd606a1b604482015290519081900360640190fd5b60085460408051635dd5e70160e01b81526001600160a01b03868116600483015291519190921691635dd5e701916024808301926020929190829003018186803b15801561171157600080fd5b505afa158015611725573d6000803e3d6000fd5b505050506040513d602081101561173b57600080fd5b505115611785576040805162461bcd60e51b815260206004820152601360248201527214995b5bdd99519c9bdb54d85b19519a5c9cdd606a1b604482015290519081900360640190fd5b8161178f84610f68565b1061029557600854604080516327e235e360e01b81526001600160a01b038681166004830152915191909216916371273083918691869185916327e235e3916024808301926020929190829003018186803b1580156117ed57600080fd5b505afa158015611801573d6000803e3d6000fd5b505050506040513d602081101561181757600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561186757600080fd5b505af115801561187b573d6000803e3d6000fd5b50506008546040805163959af4f360e01b815290516001600160a01b03909216935063208b99cf92508591849163959af4f3916004808301926020929190829003018186803b1580156118cd57600080fd5b505afa1580156118e1573d6000803e3d6000fd5b505050506040513d60208110156118f757600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b15801561193857600080fd5b505af115801561194c573d6000803e3d6000fd5b50506040805185815290516001600160a01b03871693507fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca592509081900360200190a250600192915050565b806104d2146119a657600080fd5b6007546001600160a01b031633141561029557600980546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b158015611a1657600080fd5b505af1158015611a2a573d6000803e3d6000fd5b50505050610f3a565b6000546001600160a01b0316331480611a5657506001546001600160a01b031633145b80611a6b57506002546001600160a01b031633145b80611a8057506003546001600160a01b031633145b80611a9557506004546001600160a01b031633145b80611aaa57506005546001600160a01b031633145b80611abf57506006546001600160a01b031633145b611ac857600080fd5b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151919092169163324884a9916024808301926020929190829003018186803b158015611b1557600080fd5b505afa158015611b29573d6000803e3d6000fd5b505050506040513d6020811015611b3f57600080fd5b505160ff166004148015611bc9575060085460408051631e0808f560e21b81526001600160a01b0384811660048301529151919092169163782023d4916024808301926020929190829003018186803b158015611b9b57600080fd5b505afa158015611baf573d6000803e3d6000fd5b505050506040513d6020811015611bc557600080fd5b5051155b156102955760085460408051633f109fcb60e11b81526001600160a01b03848116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b158015611c2257600080fd5b505af1158015611c36573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03868116600483015260036024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015611c8f57600080fd5b505af1158015611ca3573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925084918491633a4418f8916004808301926020929190829003018186803b158015611cf557600080fd5b505afa158015611d09573d6000803e3d6000fd5b505050506040513d6020811015611d1f57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015611d6f57600080fd5b505af1158015611d83573d6000803e3d6000fd5b50506008546040805163ed054ea560e01b815290516001600160a01b039092169350630e7c5d479250839163ed054ea591600480820192602092909190829003018186803b158015611dd457600080fd5b505afa158015611de8573d6000803e3d6000fd5b505050506040513d6020811015611dfe57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015611e4057600080fd5b505af1158015611e54573d6000803e3d6000fd5b50506040516001600160a01b03841692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2610a20565b6005546001600160a01b031681565b6007546001600160a01b031632141561029557600280546001600160a01b031916331790556109ef565b6007546001600160a01b031632141561029557600580546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031632141561029557600480546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031632141561029557600580546001600160a01b031916331790556109ef565b6001546001600160a01b031681565b6007546001600160a01b031632141561029557600280546001600160a01b0319166001600160a01b038316179055610a20565b6000546001600160a01b0316331480611fbf57506001546001600160a01b031633145b80611fd457506002546001600160a01b031633145b80611fe957506003546001600160a01b031633145b80611ffe57506004546001600160a01b031633145b8061201357506005546001600160a01b031633145b8061202857506006546001600160a01b031633145b61203157600080fd5b61203a8161323a565b156120765760405162461bcd60e51b815260040180806020018281038252602a815260200180615e57602a913960400191505060405180910390fd5b61207f816150b9565b156120d1576040805162461bcd60e51b815260206004820152601f60248201527f696620286973416e7947656e6573697341646472657373285f66726f6d292900604482015290519081900360640190fd5b60085460408051633870c3c360e21b81526001600160a01b0384811660048301529151919092169163e1c30f0c916024808301926020929190829003018186803b15801561211e57600080fd5b505afa158015612132573d6000803e3d6000fd5b505050506040513d602081101561214857600080fd5b5051156121865760405162461bcd60e51b8152600401808060200182810382526026815260200180615ee16026913960400191505060405180910390fd5b60085460408051639ecdacd560e01b81526001600160a01b0384811660048301526001602483015291519190921691639ecdacd591604480830192600092919082900301818387803b1580156121db57600080fd5b505af11580156121ef573d6000803e3d6000fd5b50506040516001600160a01b03841692507f0412df9226744ac4be5600a9b7cd22de690645a8472e7c78f5a50effcef9f8b79150600090a250565b60006122358261323a565b806122bb57506008546040805163324884a960e01b81526001600160a01b0385811660048301529151919092169163324884a9916024808301926020929190829003018186803b15801561228857600080fd5b505afa15801561229c573d6000803e3d6000fd5b505050506040513d60208110156122b257600080fd5b505160ff166004145b156112fc57600860009054906101000a90046001600160a01b03166001600160a01b0316633a4418f86040518163ffffffff1660e01b815260040160206040518083038186803b15801561134957600080fd5b806104d21461231c57600080fd5b6007546001600160a01b031633141561029557600880546001600160a01b0319166001600160a01b03848116919091179182905560408051631087cce760e21b81529051929091169163421f339c9160048082019260009290919082900301818387803b158015611a1657600080fd5b6000546001600160a01b03163314806123af57506001546001600160a01b031633145b806123c457506002546001600160a01b031633145b806123d957506003546001600160a01b031633145b806123ee57506004546001600160a01b031633145b8061240357506005546001600160a01b031633145b8061241857506006546001600160a01b031633145b61242157600080fd5b61242a8261323a565b80156124ac575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561247e57600080fd5b505afa158015612492573d6000803e3d6000fd5b505050506040513d60208110156124a857600080fd5b5051155b1561029557600860009054906101000a90046001600160a01b03166001600160a01b031663323826896040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ff57600080fd5b505afa158015612513573d6000803e3d6000fd5b505050506040513d602081101561252957600080fd5b505181146125685760405162461bcd60e51b815260040180806020018281038252602a815260200180615eb7602a913960400191505060405180910390fd5b60085460408051633f109fcb60e11b81526001600160a01b03858116600483015243602483015291519190921691637e213f9691604480830192600092919082900301818387803b1580156125bc57600080fd5b505af11580156125d0573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03878116600483015260026024830152915191909216935063e5327c139250604480830192600092919082900301818387803b15801561262957600080fd5b505af115801561263d573d6000803e3d6000fd5b505060085460408051630748831f60e31b815290516001600160a01b0390921693506371273083925085918491633a4418f8916004808301926020929190829003018186803b15801561268f57600080fd5b505afa1580156126a3573d6000803e3d6000fd5b505050506040513d60208110156126b957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561270957600080fd5b505af115801561271d573d6000803e3d6000fd5b505060085460408051632343992d60e11b815290516001600160a01b03909216935063834046dc92508391634687325a91600480820192602092909190829003018186803b15801561276e57600080fd5b505afa158015612782573d6000803e3d6000fd5b505050506040513d602081101561279857600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156127da57600080fd5b505af11580156127ee573d6000803e3d6000fd5b50506040516001600160a01b03851692507f25f51c6bcb054917efc74db09bb453e792bfd7d9f2d331a42a4f45f27351ce3d9150600090a2610f3a565b6000546001600160a01b031633148061284e57506001546001600160a01b031633145b8061286357506002546001600160a01b031633145b8061287857506003546001600160a01b031633145b8061288d57506004546001600160a01b031633145b806128a257506005546001600160a01b031633145b806128b757506006546001600160a01b031633145b6128c057600080fd5b60005b81518160ff1610156131d25760085482516001600160a01b03808616921690636baf966d90859060ff86169081106128f757fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561294557600080fd5b505afa158015612959573d6000803e3d6000fd5b505050506040513d602081101561296f57600080fd5b50516001600160a01b0316146129c3576040805162461bcd60e51b8152602060048201526014602482015273105b1b1bddd1195cdd1c9bde481b9bdd081cd95d60621b604482015290519081900360640190fd5b60085482516001600160a01b039091169063782023d490849060ff85169081106129e957fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612a3757600080fd5b505afa158015612a4b573d6000803e3d6000fd5b505050506040513d6020811015612a6157600080fd5b505115612aad576040805162461bcd60e51b81526020600482015260156024820152744d7573742072656d6f76652066726f6d2073616c6560581b604482015290519081900360640190fd5b612acc828260ff1681518110612abf57fe5b6020026020010151615d95565b612b0b576040805162461bcd60e51b815260206004820152600b60248201526a6e6f74206c6576656c203360a81b604482015290519081900360640190fd5b60085482516001600160a01b039091169063e5327c1390849060ff8516908110612b3157fe5b602002602001015160016040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018260ff16815260200192505050600060405180830381600087803b158015612b8d57600080fd5b505af1158015612ba1573d6000803e3d6000fd5b50506008548451600093506001600160a01b0390911691506327e235e390859060ff8616908110612bce57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612c1c57600080fd5b505afa158015612c30573d6000803e3d6000fd5b505050506040513d6020811015612c4657600080fd5b505160085484519192506001600160a01b031690637127308390859060ff8616908110612c6f57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612cc857600080fd5b505af1158015612cdc573d6000803e3d6000fd5b505060085485516001600160a01b039091169250637e213f969150859060ff8616908110612d0657fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612d5f57600080fd5b505af1158015612d73573d6000803e3d6000fd5b505060085485516001600160a01b039091169250636117a0c09150859060ff8616908110612d9d57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018215151515815260200192505050600060405180830381600087803b158015612dfa57600080fd5b505af1158015612e0e573d6000803e3d6000fd5b505060085485516001600160a01b0390911692506324c7c9dc9150859060ff8616908110612e3857fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612e9157600080fd5b505af1158015612ea5573d6000803e3d6000fd5b505060085485516001600160a01b039091169250638eb84dd29150859060ff8616908110612ecf57fe5b602002602001015160006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015612f3a57600080fd5b505af1158015612f4e573d6000803e3d6000fd5b505060085460408051631430e3dd60e01b815290516001600160a01b039092169350639db86dc992508391631430e3dd91600480820192602092909190829003018186803b158015612f9f57600080fd5b505afa158015612fb3573d6000803e3d6000fd5b505050506040513d6020811015612fc957600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b15801561300b57600080fd5b505af115801561301f573d6000803e3d6000fd5b505060085460408051630ae0e84560e01b815290516001600160a01b03909216935063492f4a6392508391630ae0e84591600480820192602092909190829003018186803b15801561307057600080fd5b505afa158015613084573d6000803e3d6000fd5b505050506040513d602081101561309a57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156130dc57600080fd5b505af11580156130f0573d6000803e3d6000fd5b505060085460408051638c19011160e01b815290516001600160a01b03909216935063ce8b0afb925084918491638c190111916004808301926020929190829003018186803b15801561314257600080fd5b505afa158015613156573d6000803e3d6000fd5b505050506040513d602081101561316c57600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b1580156131ad57600080fd5b505af11580156131c1573d6000803e3d6000fd5b5050600190930192506128c3915050565b505050565b6007546001600160a01b031632141561029557600380546001600160a01b031916331790556109ef565b6007546001600160a01b031632141561029557600480546001600160a01b031916331790556109ef565b6004546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561328b57600080fd5b505afa15801561329f573d6000803e3d6000fd5b505050506040513d60208110156132b557600080fd5b505160ff1661144057506001611378565b6000546001600160a01b031681565b6007546001600160a01b031632141561029557600680546001600160a01b031916331790556109ef565b6002546001600160a01b031681565b6000546001600160a01b031633148061333157506001546001600160a01b031633145b8061334657506002546001600160a01b031633145b8061335b57506003546001600160a01b031633145b8061337057506004546001600160a01b031633145b8061338557506005546001600160a01b031633145b8061339a57506006546001600160a01b031633145b6133a357600080fd5b6008546040805163475c26e960e11b81526001600160a01b0384811660048301526000602483018190529251931692638eb84dd29260448084019391929182900301818387803b1580156133f657600080fd5b505af115801561340a573d6000803e3d6000fd5b50506040516001600160a01b03841692507f2263d898cb6c9fee937fbc6fd4217347263549929ec4ccc3f8501b1a5943846a9150600090a250565b6003546001600160a01b031681565b6000546001600160a01b031633148061347757506001546001600160a01b031633145b8061348c57506002546001600160a01b031633145b806134a157506003546001600160a01b031633145b806134b657506004546001600160a01b031633145b806134cb57506005546001600160a01b031633145b806134e057506006546001600160a01b031633145b6134e957600080fd5b6134f282611457565b61352d5760405162461bcd60e51b8152600401808060200182810382526023815260200180615e346023913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b0316141561358d576040805162461bcd60e51b81526020600482015260166024820152752821285f66726f6d20213d205f61646472657373292960501b604482015290519081900360640190fd5b60085460408051633870c3c360e21b81526001600160a01b0384811660048301529151919092169163e1c30f0c916024808301926020929190829003018186803b1580156135da57600080fd5b505afa1580156135ee573d6000803e3d6000fd5b505050506040513d602081101561360457600080fd5b50516136415760405162461bcd60e51b8152600401808060200182810382526027815260200180615f076027913960400191505060405180910390fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561368e57600080fd5b505afa1580156136a2573d6000803e3d6000fd5b505050506040513d60208110156136b857600080fd5b5051156136f65760405162461bcd60e51b8152600401808060200182810382526023815260200180615e116023913960400191505060405180910390fd5b60006137018261222a565b111561374b576040805162461bcd60e51b81526020600482015260146024820152732862616c616e63654f66285f746f29203e20302960601b604482015290519081900360640190fd5b613754816150b9565b156137a6576040805162461bcd60e51b815260206004820152601a60248201527f286973416e7947656e6573697341646472657373285f746f2929000000000000604482015290519081900360640190fd5b600854604080516327e235e360e01b81526001600160a01b03858116600483015291519190921691637127308391849184916327e235e391602480820192602092909190829003018186803b1580156137fe57600080fd5b505afa158015613812573d6000803e3d6000fd5b505050506040513d602081101561382857600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561387857600080fd5b505af115801561388c573d6000803e3d6000fd5b505060085460408051637127308360e01b81526001600160a01b038781166004830152600060248301819052925193169450637127308393506044808201939182900301818387803b1580156138e157600080fd5b505af11580156138f5573d6000803e3d6000fd5b50506008546040805163a794676f60e01b81526001600160a01b0387811660048301529151919092169350637e213f9692508491849163a794676f91602480820192602092909190829003018186803b15801561395157600080fd5b505afa158015613965573d6000803e3d6000fd5b505050506040513d602081101561397b57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b1580156139cb57600080fd5b505af11580156139df573d6000803e3d6000fd5b505060085460408051633f109fcb60e11b81526001600160a01b038781166004830152600060248301819052925193169450637e213f9693506044808201939182900301818387803b158015613a3457600080fd5b505af1158015613a48573d6000803e3d6000fd5b50506008546040805163324884a960e01b81526001600160a01b038781166004830152915191909216935063e5327c1392508491849163324884a991602480820192602092909190829003018186803b158015613aa457600080fd5b505afa158015613ab8573d6000803e3d6000fd5b505050506040513d6020811015613ace57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260ff909116602483015251604480830192600092919082900301818387803b158015613b2057600080fd5b505af1158015613b34573d6000803e3d6000fd5b50506008546040805163e5327c1360e01b81526001600160a01b03878116600483015260016024830152915191909216935063e5327c139250604480830192600092919082900301818387803b158015613b8d57600080fd5b505af1158015613ba1573d6000803e3d6000fd5b505060085460408051630931f27760e21b81526001600160a01b0387811660048301526000602483018190529251931694506324c7c9dc93506044808201939182900301818387803b158015613bf657600080fd5b505af1158015613c0a573d6000803e3d6000fd5b5050600854604080516301845e8360e61b81526001600160a01b038781166004830152600060248301819052925193169450636117a0c093506044808201939182900301818387803b158015613c5f57600080fd5b505af1158015613c73573d6000803e3d6000fd5b50506008546040805163475c26e960e11b81526001600160a01b038681166004830152600060248301819052925193169450638eb84dd293506044808201939182900301818387803b158015613cc857600080fd5b505af1158015613cdc573d6000803e3d6000fd5b50506008546040805163475c26e960e11b81526001600160a01b038781166004830152600060248301819052925193169450638eb84dd293506044808201939182900301818387803b158015613d3157600080fd5b505af1158015613d45573d6000803e3d6000fd5b505060085460408051639ecdacd560e01b81526001600160a01b038781166004830152600060248301819052925193169450639ecdacd593506044808201939182900301818387803b158015613d9a57600080fd5b505af1158015613dae573d6000803e3d6000fd5b505060085460408051639ecdacd560e01b81526001600160a01b038681166004830152600060248301819052925193169450639ecdacd593506044808201939182900301818387803b158015613e0357600080fd5b505af1158015613e17573d6000803e3d6000fd5b50506008546040805163c8db1dfb60e01b815290516001600160a01b039092169350636e01eebf9250839163c8db1dfb91600480820192602092909190829003018186803b158015613e6857600080fd5b505afa158015613e7c573d6000803e3d6000fd5b505050506040513d6020811015613e9257600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b158015613ed457600080fd5b505af1158015613ee8573d6000803e3d6000fd5b5050600854604080516327e235e360e01b81526001600160a01b0380871660048301819052925192955087811694507fee7d92b81df7f3765a7a94daa038cdf6a79eea8c67e639d910c796258e60a0ac9316916327e235e391602480820192602092909190829003018186803b158015613f6157600080fd5b505afa158015613f75573d6000803e3d6000fd5b505050506040513d6020811015613f8b57600080fd5b505160408051918252519081900360200190a35050565b6000546001600160a01b0316331480613fc557506001546001600160a01b031633145b80613fda57506002546001600160a01b031633145b80613fef57506003546001600160a01b031633145b8061400457506004546001600160a01b031633145b8061401957506005546001600160a01b031633145b8061402e57506006546001600160a01b031633145b61403757600080fd5b61404082615d95565b614091576040805162461bcd60e51b815260206004820181905260248201527f2821697347656e65736973416464726573734c6576656c33285f66726f6d2929604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156140de57600080fd5b505afa1580156140f2573d6000803e3d6000fd5b505050506040513d602081101561410857600080fd5b5051156141465760405162461bcd60e51b8152600401808060200182810382526023815260200180615e116023913960400191505060405180910390fd5b6008546040805163475c26e960e11b81526001600160a01b038581166004830152848116602483015291519190921691638eb84dd291604480830192600092919082900301818387803b15801561419c57600080fd5b505af11580156141b0573d6000803e3d6000fd5b50506040516001600160a01b038085169350851691507f5f64e9e37e747b504e4a092fb841b2e337d1cc05cb42dbfb06301a28da47163090600090a35050565b6007546001600160a01b031632141561029557600180546001600160a01b0319166001600160a01b038316179055610a20565b6007546001600160a01b031661029557600780546001600160a01b031916331790556109ef565b6000546001600160a01b031633148061426d57506001546001600160a01b031633145b8061428257506002546001600160a01b031633145b8061429757506003546001600160a01b031633145b806142ac57506004546001600160a01b031633145b806142c157506005546001600160a01b031633145b806142d657506006546001600160a01b031633145b6142df57600080fd5b6142e8816150b9565b614339576040805162461bcd60e51b815260206004820152601d60248201527f28216973416e7947656e6573697341646472657373285f66726f6d2929000000604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0384811660048301529151919092169163782023d4916024808301926020929190829003018186803b15801561438657600080fd5b505afa15801561439a573d6000803e3d6000fd5b505050506040513d60208110156143b057600080fd5b50516143ed5760405162461bcd60e51b8152600401808060200182810382526023815260200180615f2e6023913960400191505060405180910390fd5b60085460408051630931f27760e21b81526001600160a01b03848116600483015260006024830181905292519316926324c7c9dc9260448084019391929182900301818387803b15801561444057600080fd5b505af1158015614454573d6000803e3d6000fd5b5050600854604080516301845e8360e61b81526001600160a01b038681166004830152600060248301819052925193169450636117a0c093506044808201939182900301818387803b1580156144a957600080fd5b505af11580156144bd573d6000803e3d6000fd5b505050506144ca81614510565b6040516001600160a01b038216907fd845195bcf18cb22dcacb0b3a23aa06d2573b2508c9f47f9dc96bce2f5381b5490600090a250565b6008546001600160a01b031681565b6000546001600160a01b031633148061453357506001546001600160a01b031633145b8061454857506002546001600160a01b031633145b8061455d57506003546001600160a01b031633145b8061457257506004546001600160a01b031633145b8061458757506005546001600160a01b031633145b8061459c57506006546001600160a01b031633145b6145a557600080fd5b6145ae8161323a565b156149615760006001600960009054906101000a90046001600160a01b03166001600160a01b0316634eb046366040518163ffffffff1660e01b815260040160206040518083038186803b15801561460557600080fd5b505afa158015614619573d6000803e3d6000fd5b505050506040513d602081101561462f57600080fd5b505103905080156148885760095460408051631d7b351b60e21b81526004810184905290516000926001600160a01b0316916375ecd46c916024808301926020929190829003018186803b15801561468657600080fd5b505afa15801561469a573d6000803e3d6000fd5b505050506040513d60208110156146b057600080fd5b50516008546040805163e768ad7b60e01b81526001600160a01b03878116600483015291519394509116916321ea432a918491849163e768ad7b916024808301926020929190829003018186803b15801561470a57600080fd5b505afa15801561471e573d6000803e3d6000fd5b505050506040513d602081101561473457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b15801561478457600080fd5b505af1158015614798573d6000803e3d6000fd5b50506009546008546040805163e768ad7b60e01b81526001600160a01b0389811660048301529151938216955063cde29b5c945091169163e768ad7b91602480820192602092909190829003018186803b1580156147f557600080fd5b505afa158015614809573d6000803e3d6000fd5b505050506040513d602081101561481f57600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b15801561486e57600080fd5b505af1158015614882573d6000803e3d6000fd5b50505050505b600854604080516310f5219560e11b81526001600160a01b03858116600483015260006024830181905292519316926321ea432a9260448084019391929182900301818387803b1580156148db57600080fd5b505af11580156148ef573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b031663fc0b1fb66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561494357600080fd5b505af1158015614957573d6000803e3d6000fd5b5050505050610a20565b61496a816113b0565b15614cff5760006001600960009054906101000a90046001600160a01b03166001600160a01b031663a3c092dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156149c157600080fd5b505afa1580156149d5573d6000803e3d6000fd5b505050506040513d60208110156149eb57600080fd5b50510390508015614c445760095460408051633e100d1160e11b81526004810184905290516000926001600160a01b031691637c201a22916024808301926020929190829003018186803b158015614a4257600080fd5b505afa158015614a56573d6000803e3d6000fd5b505050506040513d6020811015614a6c57600080fd5b50516008546040805163c68cfc1560e01b81526001600160a01b0387811660048301529151939450911691635113404c918491849163c68cfc15916024808301926020929190829003018186803b158015614ac657600080fd5b505afa158015614ada573d6000803e3d6000fd5b505050506040513d6020811015614af057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015614b4057600080fd5b505af1158015614b54573d6000803e3d6000fd5b50506009546008546040805163c68cfc1560e01b81526001600160a01b0389811660048301529151938216955063db22b4c8945091169163c68cfc1591602480820192602092909190829003018186803b158015614bb157600080fd5b505afa158015614bc5573d6000803e3d6000fd5b505050506040513d6020811015614bdb57600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015614c2a57600080fd5b505af1158015614c3e573d6000803e3d6000fd5b50505050505b60085460408051631444d01360e21b81526001600160a01b0385811660048301526000602483018190529251931692635113404c9260448084019391929182900301818387803b158015614c9757600080fd5b505af1158015614cab573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b0316631b16d78d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561494357600080fd5b614d0881615d95565b15610a205760006001600960009054906101000a90046001600160a01b03166001600160a01b031663e0cf13a36040518163ffffffff1660e01b815260040160206040518083038186803b158015614d5f57600080fd5b505afa158015614d73573d6000803e3d6000fd5b505050506040513d6020811015614d8957600080fd5b50510390508015614fe257600954604080516336b49b7960e01b81526004810184905290516000926001600160a01b0316916336b49b79916024808301926020929190829003018186803b158015614de057600080fd5b505afa158015614df4573d6000803e3d6000fd5b505050506040513d6020811015614e0a57600080fd5b50516008546040805163a094db5360e01b81526001600160a01b03878116600483015291519394509116916362dfdea9918491849163a094db53916024808301926020929190829003018186803b158015614e6457600080fd5b505afa158015614e78573d6000803e3d6000fd5b505050506040513d6020811015614e8e57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015614ede57600080fd5b505af1158015614ef2573d6000803e3d6000fd5b50506009546008546040805163a094db5360e01b81526001600160a01b038981166004830152915193821695506349c334f2945091169163a094db5391602480820192602092909190829003018186803b158015614f4f57600080fd5b505afa158015614f63573d6000803e3d6000fd5b505050506040513d6020811015614f7957600080fd5b5051604080516001600160e01b031960e085901b16815260048101929092526001600160a01b038516602483015251604480830192600092919082900301818387803b158015614fc857600080fd5b505af1158015614fdc573d6000803e3d6000fd5b50505050505b600854604080516362dfdea960e01b81526001600160a01b03858116600483015260006024830181905292519316926362dfdea99260448084019391929182900301818387803b15801561503557600080fd5b505af1158015615049573d6000803e3d6000fd5b50505050600960009054906101000a90046001600160a01b03166001600160a01b0316630e29d6aa6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561509d57600080fd5b505af11580156150b1573d6000803e3d6000fd5b505050505050565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561510a57600080fd5b505afa15801561511e573d6000803e3d6000fd5b505050506040513d602081101561513457600080fd5b505160ff16158061156057506008546040805163324884a960e01b81526001600160a01b0385811660048301529151600193929092169163324884a991602480820192602092909190829003018186803b15801561519157600080fd5b505afa1580156151a5573d6000803e3d6000fd5b505050506040513d60208110156151bb57600080fd5b505160ff16111561144057506001611378565b6000546001600160a01b03163314806151f157506001546001600160a01b031633145b8061520657506002546001600160a01b031633145b8061521b57506003546001600160a01b031633145b8061523057506004546001600160a01b031633145b8061524557506005546001600160a01b031633145b8061525a57506006546001600160a01b031633145b61526357600080fd5b61526c826113b0565b80156152ee575060085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156152c057600080fd5b505afa1580156152d4573d6000803e3d6000fd5b505050506040513d60208110156152ea57600080fd5b5051155b1561029557600860009054906101000a90046001600160a01b03166001600160a01b031663d050a9056040518163ffffffff1660e01b815260040160206040518083038186803b15801561534157600080fd5b505afa158015615355573d6000803e3d6000fd5b505050506040513d602081101561536b57600080fd5b505181146153aa5760405162461bcd60e51b815260040180806020018281038252602a815260200180615de7602a913960400191505060405180910390fd5b6008546040805163e5327c1360e01b81526001600160a01b038581166004830152600360248301529151919092169163e5327c1391604480830192600092919082900301818387803b1580156153ff57600080fd5b505af1158015615413573d6000803e3d6000fd5b5050600854604080516366dd0d5760e01b815290516001600160a01b03909216935063f4b8cb37925083916366dd0d5791600480820192602092909190829003018186803b15801561546457600080fd5b505afa158015615478573d6000803e3d6000fd5b505050506040513d602081101561548e57600080fd5b5051604080516001600160e01b031960e085901b1681526001909201600483015251602480830192600092919082900301818387803b1580156154d057600080fd5b505af11580156154e4573d6000803e3d6000fd5b50506040516001600160a01b03851692507fde96c8a6fe1c6b7977465341e8fa8874e1617aa754ccb9a32ffc45d15667cf8f9150600090a2610f3a565b6000546001600160a01b031633148061554457506001546001600160a01b031633145b8061555957506002546001600160a01b031633145b8061556e57506003546001600160a01b031633145b8061558357506004546001600160a01b031633145b8061559857506005546001600160a01b031633145b806155ad57506006546001600160a01b031633145b6155b657600080fd5b600a811080156155ca57506155ca33611457565b156156065760405162461bcd60e51b8152600401808060200182810382526036815260200180615e816036913960400191505060405180910390fd5b61560f826150b9565b615660576040805162461bcd60e51b815260206004820152601d60248201527f28216973416e7947656e6573697341646472657373285f66726f6d2929000000604482015290519081900360640190fd5b60085460408051631e0808f560e21b81526001600160a01b0385811660048301529151919092169163782023d4916024808301926020929190829003018186803b1580156156ad57600080fd5b505afa1580156156c1573d6000803e3d6000fd5b505050506040513d60208110156156d757600080fd5b5051156157155760405162461bcd60e51b8152600401808060200182810382526023815260200180615e116023913960400191505060405180910390fd5b61571e8261222a565b61576f576040805162461bcd60e51b815260206004820152601760248201527f2862616c616e63654f66285f66726f6d29203d3d203029000000000000000000604482015290519081900360640190fd5b61577882611457565b15615ba2578015615b5c5760085460408051630931f27760e21b81526001600160a01b03858116600483015260248201859052915191909216916324c7c9dc91604480830192600092919082900301818387803b1580156157d857600080fd5b505af11580156157ec573d6000803e3d6000fd5b505050506157f982615d95565b1561594f5760095460408051632106abf360e11b81526001600160a01b0385811660048301529151919092169163420d57e691602480830192600092919082900301818387803b15801561584c57600080fd5b505af1158015615860573d6000803e3d6000fd5b50506008546009546040805163e0cf13a360e01b815290516001600160a01b0393841695506362dfdea994508793600193169163e0cf13a3916004808301926020929190829003018186803b1580156158b857600080fd5b505afa1580156158cc573d6000803e3d6000fd5b505050506040513d60208110156158e257600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b15801561593257600080fd5b505af1158015615946573d6000803e3d6000fd5b50505050615a9c565b6009546040805163efd4da9f60e01b81526001600160a01b0385811660048301529151919092169163efd4da9f91602480830192600092919082900301818387803b15801561599d57600080fd5b505af11580156159b1573d6000803e3d6000fd5b50506008546009546040805163a3c092dd60e01b815290516001600160a01b039384169550635113404c94508793600193169163a3c092dd916004808301926020929190829003018186803b158015615a0957600080fd5b505afa158015615a1d573d6000803e3d6000fd5b505050506040513d6020811015615a3357600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015615a8357600080fd5b505af1158015615a97573d6000803e3d6000fd5b505050505b6008546040805163324884a960e01b81526001600160a01b0385811660048301819052925192937f933f4cdff1259b68b6bef69435776ccf345ec12edb9fdaacf499408bb0075d6f938693929091169163324884a9916024808301926020929190829003018186803b158015615b1157600080fd5b505afa158015615b25573d6000803e3d6000fd5b505050506040513d6020811015615b3b57600080fd5b50516040805192835260ff90911660208301528051918290030190a2615b9d565b6040805162461bcd60e51b8152602060048201526011602482015270050726963652063616e6e6f74206265203607c1b604482015290519081900360640190fd5b615d31565b615bab8261323a565b15615d31576009546040805163bb96be0960e01b81526001600160a01b0385811660048301529151919092169163bb96be0991602480830192600092919082900301818387803b158015615bfe57600080fd5b505af1158015615c12573d6000803e3d6000fd5b505060085460095460408051632758231b60e11b815290516001600160a01b0393841695506321ea432a945087936001931691634eb04636916004808301926020929190829003018186803b158015615c6a57600080fd5b505afa158015615c7e573d6000803e3d6000fd5b505050506040513d6020811015615c9457600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b039094166004850152919003602483015251604480830192600092919082900301818387803b158015615ce457600080fd5b505af1158015615cf8573d6000803e3d6000fd5b50506040516001600160a01b03851692507f7f0ccf6984bbd751bead36cbc00ed99529f6067592114335d7ad05917a5223b29150600090a25b600854604080516301845e8360e61b81526001600160a01b0385811660048301526001602483015291519190921691636117a0c091604480830192600092919082900301818387803b15801561509d57600080fd5b6007546001600160a01b031681565b6008546040805163324884a960e01b81526001600160a01b0384811660048301529151600093929092169163324884a991602480820192602092909190829003018186803b15801561152d57600080fdfe2877656956616c756520213d2070632e657468466565546f55706772616465546f4c6576656c332829292870632e697347656e6573697341646472657373466f7253616c65285f66726f6d29292821697347656e65736973416464726573734c6576656c324f7233285f66726f6d29294552524f523a20596f75206d7573742064657374726f7920796f7572204c6576656c20312066697273747765695072696365203c20313020262620697347656e65736973416464726573734c6576656c324f7233286d73672e73656e646572292877656956616c756520213d2070632e657468466565546f55706772616465546f4c6576656c3228292970632e616c6c6f775265636569766547656e657369735472616e7366657273285f66726f6d29282170632e616c6c6f775265636569766547656e657369735472616e7366657273285f746f29292170632e697347656e6573697341646472657373466f7253616c65285f66726f6d2929a2646970667358221220cc46158c056757835a31ecdbd3510adff2ddf0e270c2c65fa626db626a881ba164736f6c63430006000033

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

0000000000000000000000000e35a9caef5f24e1802c51ee935836af07d73b3300000000000000000000000012c60985421f3ea92ac4997e2cec8b1bbf33ee66

-----Decoded View---------------
Arg [0] : _publicCallsAddress (address): 0x0E35A9caEf5f24e1802C51EE935836af07D73b33
Arg [1] : _publicArraysAddress (address): 0x12C60985421F3ea92Ac4997E2CEc8B1BBf33Ee66

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000e35a9caef5f24e1802c51ee935836af07d73b33
Arg [1] : 00000000000000000000000012c60985421f3ea92ac4997e2cec8b1bbf33ee66


Deployed Bytecode Sourcemap

16192:16093:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16192:16093:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26441:182;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26441:182:0;-1:-1:-1;;;;;26441: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;28227:645::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;28227:645:0;;;;;;;;:::i;18933:121::-;;;:::i;29833:542::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29833:542:0;-1:-1:-1;;;;;29833: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;20929:171::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20929:171:0;-1:-1:-1;;;;;20929:171:0;;:::i;:::-;;;;;;;;;;;;;;;;;;16686:69;;;:::i;21279:212::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21279:212:0;-1:-1:-1;;;;;21279:212:0;;:::i;30620:486::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;30620:486: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;29357:472::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;29357:472:0;-1:-1:-1;;;;;29357: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;25989:448::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25989:448:0;-1:-1:-1;;;;;25989:448:0;;:::i;30379:237::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30379:237:0;-1:-1:-1;;;;;30379: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;27625:598::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;27625:598:0;;;;;;;;:::i;31110:1172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;31110:1172:0;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;31110:1172:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;31110:1172: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;31110:1172:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;31110:1172:0;;-1:-1:-1;31110:1172:0;;-1:-1:-1;;;;;31110:1172:0:i;19197:131::-;;;:::i;19332:127::-;;;:::i;16528:74::-;;;:::i;20754:171::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20754:171:0;-1:-1:-1;;;;;20754:171:0;;:::i;16222:69::-;;;:::i;19463:122::-;;;:::i;16368:78::-;;;:::i;27407:214::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;27407:214:0;-1:-1:-1;;;;;27407:214:0;;:::i;16449:76::-;;;:::i;21495:1332::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21495:1332:0;;;;;;;;;;:::i;27038:365::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;27038: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;26627:407::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;26627:407:0;-1:-1:-1;;;;;26627:407:0;;:::i;19861:21::-;;;:::i;24201:1784::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24201:1784:0;-1:-1:-1;;;;;24201:1784:0;;:::i;20545:205::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20545:205:0;-1:-1:-1;;;;;20545:205:0;;:::i;28876:477::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;28876:477:0;;;;;;;;:::i;22831:1366::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22831:1366:0;;;;;;;;:::i;17626:74::-;;;:::i;21104:171::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21104:171:0;-1:-1:-1;;;;;21104:171:0;;:::i;26441: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;;;;;;26522:2:::1;::::0;:47:::1;::::0;;-1:-1:-1;;;26522:47:0;;-1:-1:-1;;;;;26522: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;26522: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;;26578:41:0::1;::::0;-1:-1:-1;;;;;26578:41:0;::::1;::::0;-1:-1:-1;26578:41:0::1;::::0;-1:-1:-1;26578:41:0;;::::1;26441: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;28227: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;;;;;;28323:32:::1;28346:8;28323:22;:32::i;:::-;:73;;;;-1:-1:-1::0;28360:2:0::1;::::0;:36:::1;::::0;;-1:-1:-1;;;28360:36:0;;-1:-1:-1;;;;;28360: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;28360:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28360:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28360:36:0;28359:37:::1;28323:73;28319:550;;;28456:2;::::0;:28:::1;::::0;;-1:-1:-1;;;28456:28:0;;;;28405:16:::1;::::0;-1:-1:-1;;;;;28456: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;28456:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28456:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28456:28:0;28425:2:::1;::::0;:28:::1;::::0;;-1:-1:-1;;;28425:28:0;;;;-1:-1:-1;;;;;28425:2:0;;::::1;::::0;:26:::1;::::0;:28:::1;::::0;;::::1;::::0;28456::::1;::::0;28425;;;;;;;;:2;:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28425:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28425:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28425:28:0;:59:::1;::::0;-1:-1:-1;28494:20:0;;::::1;28490:58;;28516:32;::::0;;-1:-1:-1;;;28516:32:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;28516:32:0;;;;;;;;;;;;;::::1;28490:58;28553:2;::::0;:57:::1;::::0;;-1:-1:-1;;;28553:57:0;;-1:-1:-1;;;;;28553:57:0;;::::1;;::::0;::::1;::::0;28597:12:::1;28553: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;28553: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;;28615:2:0::1;::::0;:35:::1;::::0;;-1:-1:-1;;;28615:35:0;;-1:-1:-1;;;;;28615:35:0;;::::1;;::::0;::::1;::::0;28648:1:::1;28615:35:::0;;;;;;:2;;;::::1;::::0;-1:-1:-1;28615:22:0::1;::::0;-1:-1:-1;28615:35:0;;;;;:2:::1;::::0;:35;;;;;;;:2;;:35;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28615: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;;28656:2:0::1;::::0;28681:28:::1;::::0;;-1:-1:-1;;;28681:28:0;;;;-1:-1:-1;;;;;28656:2:0;;::::1;::::0;-1:-1:-1;28656:14:0::1;::::0;-1:-1:-1;28671:8:0;;28656:2;;28681:26:::1;::::0;:28:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;28656:2;28681:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28681:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28681:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28681:28:0;28656:54:::1;::::0;;-1:-1:-1;;;;;;28656:54:0::1;::::0;;;;;;-1:-1:-1;;;;;28656:54:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;28656:54:0;;;;;;;-1:-1:-1;28656:54:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28656: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;;28715:2:0::1;::::0;28754:37:::1;::::0;;-1:-1:-1;;;28754:37:0;;;;-1:-1:-1;;;;;28715:2:0;;::::1;::::0;-1:-1:-1;28715:38:0::1;::::0;-1:-1:-1;28715:2:0;;28754:35:::1;::::0;:37:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;28715:2;28754:37;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28754:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28754:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28754:37:0;28715:79:::1;::::0;;-1:-1:-1;;;;;;28715:79:0::1;::::0;;;;;;28792:1:::1;28754:39:::0;;::::1;28715:79;::::0;::::1;::::0;;;;;;;-1:-1:-1;;28715:79:0;;;;;;;-1:-1:-1;28715:79:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28715: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;;28806:30:0::1;::::0;-1:-1:-1;;;;;28806:30:0;::::1;::::0;-1:-1:-1;28806:30:0::1;::::0;-1:-1:-1;28806:30:0;;::::1;28319:550;;28227: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;;29833:542;29900:15;29926:35;29952:8;29926:25;:35::i;:::-;29922:449;;;30004:2;;:40;;;-1:-1:-1;;;30004:40:0;;-1:-1:-1;;;;;30004:40:0;;;;;;;;;29970:16;;30004:2;;;;;:30;;:40;;;;;;;;;;;;;;;:2;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;30004:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30004:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30004:40:0;30072:2;;:14;;;-1:-1:-1;;;30072:14:0;;;;29989:12;:55;;;;;-1:-1:-1;;;;;;30072:2:0;;;;:12;;:14;;;;;30004:40;;30072:14;;;;;;;;:2;:14;;;5:2:-1;;;;30:1;27;20:12;5:2;30072:14:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30072:14:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30072:14:0;30057:29;;30053:63;;30095:2;;:21;;;-1:-1:-1;;;30095:21:0;;-1:-1:-1;;;;;30095:21:0;;;;;;;;;:2;;;;;:11;;:21;;;;;;;;;;;;;;:2;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;30095:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30095:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30095:21:0;;-1:-1:-1;30088:28:0;;-1:-1:-1;30088:28:0;30053:63;30191:2;;:26;;;-1:-1:-1;;;30191:26:0;;;;30218:11;;-1:-1:-1;;;;;30191:2:0;;:24;;:26;;;;;;;;;;;;;;:2;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;30191:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30191:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30191:26:0;30159:2;;:28;;;-1:-1:-1;;;30159:28:0;;;;30191:38;;;;;-1:-1:-1;;;;;30159:2:0;;;;:26;;:28;;;;;30191:26;;30159:28;;;;;;;:2;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;30159:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30159:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30159:28:0;30134:2;;:21;;;-1:-1:-1;;;30134:21:0;;-1:-1:-1;;;;;30134:21:0;;;;;;;;;30159:71;;;;;30134:2;;;:11;;:21;;;;;30159:28;;30134:21;;;;;;;:2;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;30134:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30134:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30134:21:0;:97;;-1:-1:-1;30127:104:0;;-1:-1:-1;30127:104:0;29922:449;30248:32;30271:8;30248:22;:32::i;:::-;:70;;;-1:-1:-1;30284:2:0;;:29;;;-1:-1:-1;;;30284:29:0;;-1:-1:-1;;;;;30284:29:0;;;;;;;;;:2;;;;;:19;;:29;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;30284:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30284:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30284:29:0;:34;;30317:1;30284:34;30248:70;30244:127;;;-1:-1:-1;30330:1:0;30323:8;;30244:127;30350:2;;:21;;;-1:-1:-1;;;30350:21:0;;-1:-1:-1;;;;;30350:21:0;;;;;;;;;:2;;;;;:11;;:21;;;;;;;;;;;;;;:2;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;30350:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30350:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30350:21:0;;-1:-1:-1;30244:127:0;29833: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;;20929:171;21022:2;;:29;;;-1:-1:-1;;;21022:29:0;;-1:-1:-1;;;;;21022:29:0;;;;;;;;;21000:12;;21022:2;;;;;:19;;:29;;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;21022:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21022:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21022:29:0;:34;;21055:1;21022:34;21018:78;;;-1:-1:-1;21068:4:0;21061:11;;21018:78;-1:-1:-1;21091:5:0;21084:12;;16686:69;;;-1:-1:-1;;;;;16686:69:0;;:::o;21279:212::-;21375:2;;:29;;;-1:-1:-1;;;21375:29:0;;-1:-1:-1;;;;;21375:29:0;;;;;;;;;21353:12;;21375: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;;:72;;-1:-1:-1;21413:2:0;;:29;;;-1:-1:-1;;;21413:29:0;;-1:-1:-1;;;;;21413:29:0;;;;;;;;;:2;;;;;:19;;:29;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;21413:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21413:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21413:29:0;:34;;21446:1;21413:34;21375:72;21371:116;;;-1:-1:-1;21459:4:0;21452:11;;30620:486;30700: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;;;;;;30723:2:::1;::::0;:33:::1;::::0;;-1:-1:-1;;;30723:33:0;;-1:-1:-1;;;;;30723: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;30723:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;30723:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;30723:33:0;30719:68:::1;;;30758:29;::::0;;-1:-1:-1;;;30758:29:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;30758:29:0;;;;;;;;;;;;;::::1;30719:68;30798:2;::::0;:32:::1;::::0;;-1:-1:-1;;;30798:32:0;;-1:-1:-1;;;;;30798: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;30798:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;30798:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;30798:32:0;30794:67:::1;;;30832:29;::::0;;-1:-1:-1;;;30832:29:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;30832:29:0;;;;;;;;;;;;;::::1;30794:67;30901:9;30872:25;30891:5;30872:18;:25::i;:::-;:38;30868:220;;30919:2;::::0;30941:18:::1;::::0;;-1:-1:-1;;;30941:18:0;;-1:-1:-1;;;;;30941:18:0;;::::1;;::::0;::::1;::::0;;;30919:2;;;::::1;::::0;:14:::1;::::0;30934:5;;30962:9;;30919:2;;30941:11:::1;::::0;:18;;;;;::::1;::::0;;;;;;;;30919:2;30941:18;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30941:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;30941:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;30941:18:0;30919:53:::1;::::0;;-1:-1:-1;;;;;;30919:53:0::1;::::0;;;;;;-1:-1:-1;;;;;30919:53:0;;::::1;;::::0;::::1;::::0;30941:30;;::::1;30919:53:::0;;;;;;;;;;-1:-1:-1;;30919:53:0;;;;;;;-1:-1:-1;30919:53:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30919: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;;30977:2:0::1;::::0;30993:14:::1;::::0;;-1:-1:-1;;;30993:14:0;;;;-1:-1:-1;;;;;30977:2:0;;::::1;::::0;-1:-1:-1;30977:15:0::1;::::0;-1:-1:-1;31010:9:0;;30977:2;;30993:12:::1;::::0;:14:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;30977:2;30993:14;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30993:14:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;30993:14:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;30993:14:0;30977:43:::1;::::0;;-1:-1:-1;;;;;;30977:43:0::1;::::0;;;;;;30993:26;;;::::1;30977:43;::::0;::::1;::::0;;;;;;;-1:-1:-1;;30977:43:0;;;;;;;-1:-1:-1;30977:43:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;30977: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;;31030:22:0::1;::::0;;;;;;;-1:-1:-1;;;;;31030:22:0;::::1;::::0;-1:-1:-1;31030:22:0::1;::::0;-1:-1:-1;31030:22:0;;;;::::1;::::0;;::::1;-1:-1:-1::0;31098:4:0::1;30620:486:::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;;29357: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;;;;;;29432:2:::1;::::0;:29:::1;::::0;;-1:-1:-1;;;29432:29:0;;-1:-1:-1;;;;;29432: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;29432:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29432:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29432:29:0;:34:::1;;29465:1;29432:34;:75:::0;::::1;;;-1:-1:-1::0;29471:2:0::1;::::0;:36:::1;::::0;;-1:-1:-1;;;29471:36:0;;-1:-1:-1;;;;;29471: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;29471:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29471:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29471:36:0;29470:37:::1;29432:75;29428:398;;;29516:2;::::0;:57:::1;::::0;;-1:-1:-1;;;29516:57:0;;-1:-1:-1;;;;;29516:57:0;;::::1;;::::0;::::1;::::0;29560:12:::1;29516: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;29516: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;;29578:2:0::1;::::0;:35:::1;::::0;;-1:-1:-1;;;29578:35:0;;-1:-1:-1;;;;;29578:35:0;;::::1;;::::0;::::1;::::0;29611:1:::1;29578:35:::0;;;;;;:2;;;::::1;::::0;-1:-1:-1;29578:22:0::1;::::0;-1:-1:-1;29578:35:0;;;;;:2:::1;::::0;:35;;;;;;;:2;;:35;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29578: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;;29619:2:0::1;::::0;29644:28:::1;::::0;;-1:-1:-1;;;29644:28:0;;;;-1:-1:-1;;;;;29619:2:0;;::::1;::::0;-1:-1:-1;29619:14:0::1;::::0;-1:-1:-1;29634:8:0;;29619:2;;29644:26:::1;::::0;:28:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;29619:2;29644:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29644:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29644:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29644:28:0;29619:54:::1;::::0;;-1:-1:-1;;;;;;29619:54:0::1;::::0;;;;;;-1:-1:-1;;;;;29619:54:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;29619:54:0;;;;;;;-1:-1:-1;29619:54:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29619: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;;29678:2:0::1;::::0;29714:34:::1;::::0;;-1:-1:-1;;;29714:34:0;;;;-1:-1:-1;;;;;29678:2:0;;::::1;::::0;-1:-1:-1;29678:35:0::1;::::0;-1:-1:-1;29678:2:0;;29714:32:::1;::::0;:34:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;29678:2;29714:34;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29714:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29714:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29714:34:0;29678:73:::1;::::0;;-1:-1:-1;;;;;;29678:73:0::1;::::0;;;;;;29749:1:::1;29714:36:::0;;::::1;29678:73;::::0;::::1;::::0;;;;;;;-1:-1:-1;;29678:73:0;;;;;;;-1:-1:-1;29678:73:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29678: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;;29763:30:0::1;::::0;-1:-1:-1;;;;;29763:30:0;::::1;::::0;-1:-1:-1;29763:30:0::1;::::0;-1:-1:-1;29763:30:0;;::::1;29428: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;;25989:448;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;;;;;;26068:29:::1;26091:5;26068:22;:29::i;:::-;26064:175;;;26102:52;;-1:-1:-1::0;;;26102:52:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26064:175;26167:26;26187:5;26167:19;:26::i;:::-;26163:76;;;26198:41;::::0;;-1:-1:-1;;;26198:41:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;26163:76;26250:2;::::0;:38:::1;::::0;;-1:-1:-1;;;26250:38:0;;-1:-1:-1;;;;;26250: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;26250:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;26250:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;26250:38:0;26246:92:::1;;;26290:48;;-1:-1:-1::0;;;26290:48:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26246:92;26342:2;::::0;:47:::1;::::0;;-1:-1:-1;;;26342:47:0;;-1:-1:-1;;;;;26342: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;26342: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;;26398:35:0::1;::::0;-1:-1:-1;;;;;26398:35:0;::::1;::::0;-1:-1:-1;26398:35:0::1;::::0;-1:-1:-1;26398:35:0;;::::1;25989:448:::0;:::o;30379:237::-;30437:15;30462:32;30485:8;30462:22;:32::i;:::-;:70;;;-1:-1:-1;30498:2:0;;:29;;;-1:-1:-1;;;30498:29:0;;-1:-1:-1;;;;;30498:29:0;;;;;;;;;:2;;;;;:19;;:29;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;30498:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;30498:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;30498:29:0;:34;;30531:1;30498:34;30462:70;30458:154;;;30544:2;;;;;;;;;-1:-1:-1;;;;;30544:2:0;-1:-1:-1;;;;;30544: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;27625: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;;;;;;27721:32:::1;27744:8;27721:22;:32::i;:::-;:73;;;;-1:-1:-1::0;27758:2:0::1;::::0;:36:::1;::::0;;-1:-1:-1;;;27758:36:0;;-1:-1:-1;;;;;27758: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;27758:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;27758:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;27758:36:0;27757:37:::1;27721:73;27717:503;;;27819:2;;;;;;;;;-1:-1:-1::0;;;;;27819:2:0::1;-1:-1:-1::0;;;;;27819:26:0::1;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;27819:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;27819:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;27819:28:0;27807:40;::::1;27803:98;;27849:52;;-1:-1:-1::0;;;27849:52:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27803:98;27906:2;::::0;:57:::1;::::0;;-1:-1:-1;;;27906:57:0;;-1:-1:-1;;;;;27906:57:0;;::::1;;::::0;::::1;::::0;27950:12:::1;27906: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;27906: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;;27968:2:0::1;::::0;:35:::1;::::0;;-1:-1:-1;;;27968:35:0;;-1:-1:-1;;;;;27968:35:0;;::::1;;::::0;::::1;::::0;28001:1:::1;27968:35:::0;;;;;;:2;;;::::1;::::0;-1:-1:-1;27968:22:0::1;::::0;-1:-1:-1;27968:35:0;;;;;:2:::1;::::0;:35;;;;;;;:2;;:35;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;27968: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;;28009:2:0::1;::::0;28034:28:::1;::::0;;-1:-1:-1;;;28034:28:0;;;;-1:-1:-1;;;;;28009:2:0;;::::1;::::0;-1:-1:-1;28009:14:0::1;::::0;-1:-1:-1;28024:8:0;;28009:2;;28034:26:::1;::::0;:28:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;28009:2;28034:28;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28034:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28034:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28034:28:0;28009:54:::1;::::0;;-1:-1:-1;;;;;;28009:54:0::1;::::0;;;;;;-1:-1:-1;;;;;28009:54:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;28009:54:0;;;;;;;-1:-1:-1;28009:54:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28009: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;;28068:2:0::1;::::0;28107:37:::1;::::0;;-1:-1:-1;;;28107:37:0;;;;-1:-1:-1;;;;;28068:2:0;;::::1;::::0;-1:-1:-1;28068:38:0::1;::::0;-1:-1:-1;28068:2:0;;28107:35:::1;::::0;:37:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;28068:2;28107:37;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28107:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;28107:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;28107:37:0;28068:79:::1;::::0;;-1:-1:-1;;;;;;28068:79:0::1;::::0;;;;;;28145:1:::1;28107:39:::0;;::::1;28068:79;::::0;::::1;::::0;;;;;;;-1:-1:-1;;28068:79:0;;;;;;;-1:-1:-1;28068:79:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;28068: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;;28157:30:0::1;::::0;-1:-1:-1;;;;;28157:30:0;::::1;::::0;-1:-1:-1;28157:30:0::1;::::0;-1:-1:-1;28157:30:0;;::::1;27717:503;;31110:1172:::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;;;;;;31218:7:::1;31234:1045;31244:23;:30;31240:1;:34;;;31234:1045;;;31287:2;::::0;31319:26;;-1:-1:-1;;;;;31287:68:0;;::::1;::::0;:2:::1;::::0;:31:::1;::::0;31319:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31287:59;;;;;;;;;;;;;-1:-1:-1::0;;;;;31287:59:0::1;-1:-1:-1::0;;;;;31287:59:0::1;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31287:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;31287:59:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;31287:59:0;-1:-1:-1;;;;;31287:68:0::1;;31283:104;;31357:30;::::0;;-1:-1:-1;;;31357:30:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;31357:30:0;;;;;;;;;;;;;::::1;31283:104;31396:2;::::0;31423:26;;-1:-1:-1;;;;;31396:2:0;;::::1;::::0;:26:::1;::::0;31423:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31396:54;;;;;;;;;;;;;-1:-1:-1::0;;;;;31396:54:0::1;-1:-1:-1::0;;;;;31396:54:0::1;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31396:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;31396:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;31396:54:0;31392:91:::1;;;31452:31;::::0;;-1:-1:-1;;;31452:31:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;31452:31:0;;;;;;;;;;;;;::::1;31392:91;31493:50;31516:23;31540:1;31516:26;;;;;;;;;;;;;;;;31493:22;:50::i;:::-;31488:78;;31545:21;::::0;;-1:-1:-1;;;31545:21:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;31545:21:0;;;;;;;;;;;;;::::1;31488:78;31571:2;::::0;31594:26;;-1:-1:-1;;;;;31571:2:0;;::::1;::::0;:22:::1;::::0;31594:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31622:1;31571:53;;;;;;;;;;;;;-1:-1:-1::0;;;;;31571:53:0::1;-1:-1:-1::0;;;;;31571:53:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31571: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;;31657:2:0::1;::::0;31669:26;;31629:25:::1;::::0;-1:-1:-1;;;;;;31657:2:0;;::::1;::::0;-1:-1:-1;31657:11:0::1;::::0;31669:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31657:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;31657:39:0::1;-1:-1:-1::0;;;;;31657:39:0::1;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31657:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;31657:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;31657:39:0;31701:2:::1;::::0;31716:26;;31657:39;;-1:-1:-1;;;;;;31701:2:0::1;::::0;:14:::1;::::0;31716:23;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31744:1;31701:45;;;;;;;;;;;;;-1:-1:-1::0;;;;;31701:45:0::1;-1:-1:-1::0;;;;;31701:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31701: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;;31751:2:0::1;::::0;31785:26;;-1:-1:-1;;;;;31751:2:0;;::::1;::::0;-1:-1:-1;31751:33:0::1;::::0;-1:-1:-1;31785:23:0;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31813:1;31751:64;;;;;;;;;;;;;-1:-1:-1::0;;;;;31751:64:0::1;-1:-1:-1::0;;;;;31751:64:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31751: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;;31820:2:0::1;::::0;31850:26;;-1:-1:-1;;;;;31820:2:0;;::::1;::::0;-1:-1:-1;31820:29:0::1;::::0;-1:-1:-1;31850:23:0;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31878:5;31820:64;;;;;;;;;;;;;-1:-1:-1::0;;;;;31820:64:0::1;-1:-1:-1::0;;;;;31820:64:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31820: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;;31889:2:0::1;::::0;31911:26;;-1:-1:-1;;;;;31889:2:0;;::::1;::::0;-1:-1:-1;31889:21:0::1;::::0;-1:-1:-1;31911:23:0;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;31939:1;31889:52;;;;;;;;;;;;;-1:-1:-1::0;;;;;31889:52:0::1;-1:-1:-1::0;;;;;31889:52:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31889: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;;31948:2:0::1;::::0;31983:26;;-1:-1:-1;;;;;31948:2:0;;::::1;::::0;-1:-1:-1;31948:34:0::1;::::0;-1:-1:-1;31983:23:0;;:26:::1;::::0;::::1;::::0;;::::1;;;;;;;;;;;32011:42;31948:106;;;;;;;;;;;;;-1:-1:-1::0;;;;;31948:106:0::1;-1:-1:-1::0;;;;;31948:106:0::1;;;;;;-1:-1:-1::0;;;;;31948:106:0::1;-1:-1:-1::0;;;;;31948:106:0::1;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;31948: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;;32059:2:0::1;::::0;32090:29:::1;::::0;;-1:-1:-1;;;32090:29:0;;;;-1:-1:-1;;;;;32059:2:0;;::::1;::::0;-1:-1:-1;32059:30:0::1;::::0;-1:-1:-1;32059:2:0;;32090:27:::1;::::0;:29:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;32059:2;32090:29;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32090:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32090:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;32090:29:0;32059:65:::1;::::0;;-1:-1:-1;;;;;;32059:65:0::1;::::0;;;;;;32122:1:::1;32090:33:::0;;::::1;32059:65;::::0;::::1;::::0;;;;;;;-1:-1:-1;;32059:65:0;;;;;;;-1:-1:-1;32059:65:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32059: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;;32129:2:0::1;::::0;32152:21:::1;::::0;;-1:-1:-1;;;32152:21:0;;;;-1:-1:-1;;;;;32129:2:0;;::::1;::::0;-1:-1:-1;32129:22:0::1;::::0;-1:-1:-1;32129:2:0;;32152:19:::1;::::0;:21:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;32129:2;32152:21;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32152:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32152:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;32152:21:0;32129:49:::1;::::0;;-1:-1:-1;;;;;;32129:49:0::1;::::0;;;;;;32176:1:::1;32152:25:::0;;::::1;32129:49;::::0;::::1;::::0;;;;;;;-1:-1:-1;;32129:49:0;;;;;;;-1:-1:-1;32129:49:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32129: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;;32183:2:0::1;::::0;32215:30:::1;::::0;;-1:-1:-1;;;32215:30:0;;;;-1:-1:-1;;;;;32183:2:0;;::::1;::::0;-1:-1:-1;32183:31:0::1;::::0;-1:-1:-1;32248:17:0;;32183:2;;32215:28:::1;::::0;:30:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;32183:2;32215:30;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32215:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;32215:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;32215:30:0;32183:83:::1;::::0;;-1:-1:-1;;;;;;32183:83:0::1;::::0;;;;;;32215:50;;;::::1;32183:83;::::0;::::1;::::0;;;;;;;-1:-1:-1;;32183:83:0;;;;;;;-1:-1:-1;32183:83:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;32183: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;;32271:3:0::1;::::0;;::::1;::::0;-1:-1:-1;31234:1045:0::1;::::0;-1:-1:-1;;31234:1045:0::1;;19850:1;31110:1172:::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;20754:171::-;20847:2;;:29;;;-1:-1:-1;;;20847:29:0;;-1:-1:-1;;;;;20847:29:0;;;;;;;;;20825:12;;20847:2;;;;;:19;;:29;;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;20847:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20847:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20847:29:0;:34;;20843:78;;-1:-1:-1;20893:4:0;20886: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;27407: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;;;;;;27488:2:::1;::::0;:85:::1;::::0;;-1:-1:-1;;;27488:85:0;;-1:-1:-1;;;;;27488: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;27488: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;;27582:32:0::1;::::0;-1:-1:-1;;;;;27582:32:0;::::1;::::0;-1:-1:-1;27582:32:0::1;::::0;-1:-1:-1;27582:32:0;;::::1;27407:214:::0;:::o;16449:76::-;;;-1:-1:-1;;;;;16449:76:0;;:::o;21495: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;;;;;;21575:32:::1;21601:5;21575:25;:32::i;:::-;21570:84;;21609:45;;-1:-1:-1::0;;;21609:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21570:84;21676:3;-1:-1:-1::0;;;;;21667:12:0::1;:5;-1:-1:-1::0;;;;;21667:12:0::1;;;21661:53;;21682:32;::::0;;-1:-1:-1;;;21682:32:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21682:32:0;;;;;;;;;;;;;::::1;21661:53;21726:2;::::0;:36:::1;::::0;;-1:-1:-1;;;21726:36:0;;-1:-1:-1;;;;;21726: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;21726:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;21726:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;21726:36:0;21721:92:::1;;21764:49;;-1:-1:-1::0;;;21764:49:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21721:92;21824:2;::::0;:33:::1;::::0;;-1:-1:-1;;;21824:33:0;;-1:-1:-1;;;;;21824: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;21824:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;21824:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;21824:33:0;21820:84:::1;;;21859:45;;-1:-1:-1::0;;;21859:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21820:84;21932:1;21915:14;21925:3;21915:9;:14::i;:::-;:18;21911:54;;;21935:30;::::0;;-1:-1:-1;;;21935:30:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;21935:30:0;;;;;;;;;;;;;::::1;21911:54;21976:24;21996:3;21976:19;:24::i;:::-;21972:66;;;22002:36;::::0;;-1:-1:-1;;;22002:36:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;21972:66;22047:2;::::0;22067:18:::1;::::0;;-1:-1:-1;;;22067:18:0;;-1:-1:-1;;;;;22067:18:0;;::::1;;::::0;::::1;::::0;;;22047:2;;;::::1;::::0;:14:::1;::::0;22062:3;;22047:2;;22067:11:::1;::::0;:18;;;;;::::1;::::0;;;;;;;;;22047:2;22067:18;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22067:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22067:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22067:18:0;22047:39:::1;::::0;;-1:-1:-1;;;;;;22047:39:0::1;::::0;;;;;;-1:-1:-1;;;;;22047:39:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;22047:39:0;;;;;;;-1:-1:-1;22047:39:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22047: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;;22091:2:0::1;::::0;:24:::1;::::0;;-1:-1:-1;;;22091:24:0;;-1:-1:-1;;;;;22091:24:0;;::::1;;::::0;::::1;::::0;:2:::1;:24:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22091:14:0::1;::::0;-1:-1:-1;22091:24:0;;;;;;;;;;;:2;;:24;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22091: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;;22119:2:0::1;::::0;22158:37:::1;::::0;;-1:-1:-1;;;22158:37:0;;-1:-1:-1;;;;;22158:37:0;;::::1;;::::0;::::1;::::0;;;22119:2;;;::::1;::::0;-1:-1:-1;22119:33:0::1;::::0;-1:-1:-1;22153:3:0;;22119:2;;22158:30:::1;::::0;:37;;;;;::::1;::::0;;;;;;;;;22119:2;22158:37;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22158:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22158:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22158:37:0;22119:77:::1;::::0;;-1:-1:-1;;;;;;22119:77:0::1;::::0;;;;;;-1:-1:-1;;;;;22119:77:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;22119:77:0;;;;;;;-1:-1:-1;22119:77:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22119: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;;22200:2:0::1;::::0;:43:::1;::::0;;-1:-1:-1;;;22200:43:0;;-1:-1:-1;;;;;22200:43:0;;::::1;;::::0;::::1;::::0;:2:::1;:43:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22200:33:0::1;::::0;-1:-1:-1;22200:43:0;;;;;;;;;;;:2;;:43;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22200: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;;22247:2:0::1;::::0;22275:26:::1;::::0;;-1:-1:-1;;;22275:26:0;;-1:-1:-1;;;;;22275:26:0;;::::1;;::::0;::::1;::::0;;;22247:2;;;::::1;::::0;-1:-1:-1;22247:22:0::1;::::0;-1:-1:-1;22270:3:0;;22247:2;;22275:19:::1;::::0;:26;;;;;::::1;::::0;;;;;;;;;22247:2;22275:26;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22275:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22275:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22275:26:0;22247:55:::1;::::0;;-1:-1:-1;;;;;;22247:55:0::1;::::0;;;;;;-1:-1:-1;;;;;22247:55:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;;;;;;;-1:-1:-1;;22247:55:0;;;;;;;-1:-1:-1;22247:55:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22247: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;;22306:2:0::1;::::0;:32:::1;::::0;;-1:-1:-1;;;22306:32:0;;-1:-1:-1;;;;;22306:32:0;;::::1;;::::0;::::1;::::0;:2;:32;;;;;;:2;;;::::1;::::0;-1:-1:-1;22306:22:0::1;::::0;-1:-1:-1;22306:32:0;;;;;:2:::1;::::0;:32;;;;;;;:2;;:32;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22306: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;;22342:2:0::1;::::0;:31:::1;::::0;;-1:-1:-1;;;22342:31:0;;-1:-1:-1;;;;;22342:31:0;;::::1;;::::0;::::1;::::0;:2:::1;:31:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22342:21:0::1;::::0;-1:-1:-1;22342:31:0;;;;;;;;;;;:2;;:31;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22342: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;;22377:2:0::1;::::0;:43:::1;::::0;;-1:-1:-1;;;22377:43:0;;-1:-1:-1;;;;;22377:43:0;;::::1;;::::0;::::1;::::0;:2:::1;:43:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22377:29:0::1;::::0;-1:-1:-1;22377:43:0;;;;;;;;;;;:2;;:43;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22377: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;;22425:2:0::1;::::0;:83:::1;::::0;;-1:-1:-1;;;22425:83:0;;-1:-1:-1;;;;;22425:83:0;;::::1;;::::0;::::1;::::0;:2:::1;:83:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22425:34:0::1;::::0;-1:-1:-1;22425:83:0;;;;;;;;;;;:2;;:83;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22425: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;;22512:2:0::1;::::0;:85:::1;::::0;;-1:-1:-1;;;22512:85:0;;-1:-1:-1;;;;;22512:85:0;;::::1;;::::0;::::1;::::0;:2:::1;:85:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22512:34:0::1;::::0;-1:-1:-1;22512:85:0;;;;;;;;;;;:2;;:85;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22512: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;;22601:2:0::1;::::0;:48:::1;::::0;;-1:-1:-1;;;22601:48:0;;-1:-1:-1;;;;;22601:48:0;;::::1;;::::0;::::1;::::0;:2:::1;:48:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22601:34:0::1;::::0;-1:-1:-1;22601:48:0;;;;;;;;;;;:2;;:48;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22601: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;;22653:2:0::1;::::0;:46:::1;::::0;;-1:-1:-1;;;22653:46:0;;-1:-1:-1;;;;;22653:46:0;;::::1;;::::0;::::1;::::0;:2:::1;:46:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;22653:34:0::1;::::0;-1:-1:-1;22653:46:0;;;;;;;;;;;:2;;:46;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22653: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;;22703:2:0::1;::::0;22731:26:::1;::::0;;-1:-1:-1;;;22731:26:0;;;;-1:-1:-1;;;;;22703:2:0;;::::1;::::0;-1:-1:-1;22703:27:0::1;::::0;-1:-1:-1;22703:2:0;;22731:24:::1;::::0;:26:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;22703:2;22731:26;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22731:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22731:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22731:26:0;22703:59:::1;::::0;;-1:-1:-1;;;;;;22703:59:0::1;::::0;;;;;;22760:1:::1;22731:30:::0;;::::1;22703:59;::::0;::::1;::::0;;;;;;;-1:-1:-1;;22703:59:0;;;;;;;-1:-1:-1;22703:59:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;22703: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;;22806:2:0::1;::::0;:16:::1;::::0;;-1:-1:-1;;;22806:16:0;;-1:-1:-1;;;;;22771:52:0;;::::1;22806:16;::::0;::::1;::::0;;;;;22771:52;;-1:-1:-1;22771:52:0;;::::1;::::0;-1:-1:-1;22771:52:0::1;::::0;22806: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;22806:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;22806:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;22806:16:0;22771:52:::1;::::0;;;;;;;;;;22806:16:::1;22771:52:::0;;::::1;21495:1332:::0;;:::o;27038: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;;;;;;27136:29:::1;27159:5;27136:22;:29::i;:::-;27131:78;;27167:42;::::0;;-1:-1:-1;;;27167:42:0;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;27131:78;27217:2;::::0;:33:::1;::::0;;-1:-1:-1;;;27217:33:0;;-1:-1:-1;;;;;27217: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;27217:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;27217:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;27217:33:0;27213:84:::1;;;27252:45;;-1:-1:-1::0;;;27252:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27213:84;27302:2;::::0;:51:::1;::::0;;-1:-1:-1;;;27302:51:0;;-1:-1:-1;;;;;27302: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;27302: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;;27362:36:0::1;::::0;-1:-1:-1;;;;;27362:36:0;;::::1;::::0;-1:-1:-1;27362:36:0;::::1;::::0;-1:-1:-1;27362:36:0::1;::::0;;;::::1;27038: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;;26627: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;;;;;;26706:26:::1;26726:5;26706:19;:26::i;:::-;26701:72;;26734:39;::::0;;-1:-1:-1;;;26734:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;26701:72;26782:2;::::0;:33:::1;::::0;;-1:-1:-1;;;26782:33:0;;-1:-1:-1;;;;;26782: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;26782:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;26782:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;26782:33:0;26777:85:::1;;26817:45;;-1:-1:-1::0;;;26817:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26777:85;26866:2;::::0;:31:::1;::::0;;-1:-1:-1;;;26866:31:0;;-1:-1:-1;;;;;26866: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;26866: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;;26901:2:0::1;::::0;:43:::1;::::0;;-1:-1:-1;;;26901:43:0;;-1:-1:-1;;;;;26901:43:0;;::::1;;::::0;::::1;::::0;:2:::1;:43:::0;;;;;;;;:2;::::1;::::0;-1:-1:-1;26901:29:0::1;::::0;-1:-1:-1;26901:43:0;;;;;;;;;;;:2;;:43;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;26901:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;26901:43:0;;;;26949:39;26982:5;26949:32;:39::i;:::-;26998:31;::::0;-1:-1:-1;;;;;26998:31:0;::::1;::::0;::::1;::::0;;;::::1;26627:407:::0;:::o;19861:21::-;;;-1:-1:-1;;;;;19861:21:0;;:::o;24201: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;;;;;;24287:32:::1;24310:8;24287:22;:32::i;:::-;24283:1697;;;24330:14;24390:1;24347:2;;;;;;;;;-1:-1:-1::0;;;;;24347:2:0::1;-1:-1:-1::0;;;;;24347:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;24347:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24347:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24347:40:0;:44:::1;::::0;-1:-1:-1;24401:13:0;;24397:336:::1;;24454:2;::::0;:43:::1;::::0;;-1:-1:-1;;;24454:43:0;;::::1;::::0;::::1;::::0;;;;;24427:24:::1;::::0;-1:-1:-1;;;;;24454: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;24454:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24454:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24454:43:0;24504:2:::1;::::0;24563:47:::1;::::0;;-1:-1:-1;;;24563:47:0;;-1:-1:-1;;;;;24563:47:0;;::::1;;::::0;::::1;::::0;;;24454:43;;-1:-1:-1;24504:2:0;::::1;::::0;:40:::1;::::0;24454:43;;24504:2;;24563:37:::1;::::0;:47;;;;;24454:43:::1;::::0;24563:47;;;;;;;24504:2;24563:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24563:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24563:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24563:47:0;24504:107:::1;::::0;;-1:-1:-1;;;;;;24504:107:0::1;::::0;;;;;;-1:-1:-1;;;;;24504:107:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;24504:107:0;;;;;;;-1:-1:-1;24504:107:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24504: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;;24618:2:0::1;::::0;24656::::1;::::0;:47:::1;::::0;;-1:-1:-1;;;24656:47:0;;-1:-1:-1;;;;;24656:47:0;;::::1;;::::0;::::1;::::0;;;24618:2;;::::1;::::0;-1:-1:-1;24618:37:0::1;::::0;-1:-1:-1;24656: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;24656:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24656:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24656:47:0;24618:104:::1;::::0;;-1:-1:-1;;;;;;24618:104:0::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;24618:104:0;::::1;::::0;;;;;;;;;;-1:-1:-1;;24618:104:0;;;;;;;-1:-1:-1;24618:104:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24618:104:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24618:104:0;;;;24397:336;;24738:2;::::0;:53:::1;::::0;;-1:-1:-1;;;24738:53:0;;-1:-1:-1;;;;;24738: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;24738:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24738:53:0;;;;24797:2;;;;;;;;;-1:-1:-1::0;;;;;24797:2:0::1;-1:-1:-1::0;;;;;24797:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;24797:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24797:40:0;;;;24283:1697;;;;24856:32;24879:8;24856:22;:32::i;:::-;24852:1128;;;24899:14;24959:1;24916:2;;;;;;;;;-1:-1:-1::0;;;;;24916:2:0::1;-1:-1:-1::0;;;;;24916:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;24916:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24916:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24916:40:0;:44:::1;::::0;-1:-1:-1;24970:13:0;;24966:335:::1;;25023:2;::::0;:43:::1;::::0;;-1:-1:-1;;;25023:43:0;;::::1;::::0;::::1;::::0;;;;;24996:24:::1;::::0;-1:-1:-1;;;;;25023: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;25023:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25023:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25023:43:0;25073:2:::1;::::0;25132:47:::1;::::0;;-1:-1:-1;;;25132:47:0;;-1:-1:-1;;;;;25132:47:0;;::::1;;::::0;::::1;::::0;;;25023:43;;-1:-1:-1;25073:2:0;::::1;::::0;:40:::1;::::0;25023:43;;25073:2;;25132:37:::1;::::0;:47;;;;;25023:43:::1;::::0;25132:47;;;;;;;25073:2;25132:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25132:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25132:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25132:47:0;25073:107:::1;::::0;;-1:-1:-1;;;;;;25073:107:0::1;::::0;;;;;;-1:-1:-1;;;;;25073:107:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;25073:107:0;;;;;;;-1:-1:-1;25073:107:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25073: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;;25187:2:0::1;::::0;25225::::1;::::0;:47:::1;::::0;;-1:-1:-1;;;25225:47:0;;-1:-1:-1;;;;;25225:47:0;;::::1;;::::0;::::1;::::0;;;25187:2;;::::1;::::0;-1:-1:-1;25187:37:0::1;::::0;-1:-1:-1;25225: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;25225:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25225:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25225:47:0;25187:103:::1;::::0;;-1:-1:-1;;;;;;25187:103:0::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;25187:103:0;::::1;::::0;;;;;;;;;;-1:-1:-1;;25187:103:0;;;;;;;-1:-1:-1;25187:103:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25187:103:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25187:103:0;;;;24966:335;;25306:2;::::0;:53:::1;::::0;;-1:-1:-1;;;25306:53:0;;-1:-1:-1;;;;;25306: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;25306:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25306:53:0;;;;25365:2;;;;;;;;;-1:-1:-1::0;;;;;25365:2:0::1;-1:-1:-1::0;;;;;25365:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;24852:1128:0;25424:32;25447:8;25424:22;:32::i;:::-;25420:560;;;25467:14;25527:1;25484:2;;;;;;;;;-1:-1:-1::0;;;;;25484:2:0::1;-1:-1:-1::0;;;;;25484:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;25484:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25484:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25484:40:0;:44:::1;::::0;-1:-1:-1;25538:13:0;;25534:336:::1;;25591:2;::::0;:43:::1;::::0;;-1:-1:-1;;;25591:43:0;;::::1;::::0;::::1;::::0;;;;;25564:24:::1;::::0;-1:-1:-1;;;;;25591: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;25591:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25591:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25591:43:0;25641:2:::1;::::0;25700:47:::1;::::0;;-1:-1:-1;;;25700:47:0;;-1:-1:-1;;;;;25700:47:0;;::::1;;::::0;::::1;::::0;;;25591:43;;-1:-1:-1;25641:2:0;::::1;::::0;:40:::1;::::0;25591:43;;25641:2;;25700:37:::1;::::0;:47;;;;;25591:43:::1;::::0;25700:47;;;;;;;25641:2;25700:47;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25700:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25700:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25700:47:0;25641:107:::1;::::0;;-1:-1:-1;;;;;;25641:107:0::1;::::0;;;;;;-1:-1:-1;;;;;25641:107:0;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;-1:-1:-1;;25641:107:0;;;;;;;-1:-1:-1;25641:107:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25641: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;;25755:2:0::1;::::0;25793::::1;::::0;:47:::1;::::0;;-1:-1:-1;;;25793:47:0;;-1:-1:-1;;;;;25793:47:0;;::::1;;::::0;::::1;::::0;;;25755:2;;::::1;::::0;-1:-1:-1;25755:37:0::1;::::0;-1:-1:-1;25793: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;25793:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25793:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;25793:47:0;25755:104:::1;::::0;;-1:-1:-1;;;;;;25755:104:0::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;;;25755:104:0;::::1;::::0;;;;;;;;;;-1:-1:-1;;25755:104:0;;;;;;;-1:-1:-1;25755:104:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;25755:104:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25755:104:0;;;;25534:336;;25875:2;::::0;:53:::1;::::0;;-1:-1:-1;;;25875:53:0;;-1:-1:-1;;;;;25875: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;25875:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25875:53:0;;;;25934:2;;;;;;;;;-1:-1:-1::0;;;;;25934:2:0::1;-1:-1:-1::0;;;;;25934:38:0::1;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;25934:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;25934:40:0;;;;25420:560;24201:1784:::0;:::o;20545:205::-;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;:34;;;;:71;;-1:-1:-1;20673:2:0;;:29;;;-1:-1:-1;;;20673:29:0;;-1:-1:-1;;;;;20673:29:0;;;;;;;;;20705:1;;20673:2;;;;;:19;;:29;;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;20673:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20673:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20673:29:0;:33;;;20631:115;;;-1:-1:-1;20718:4:0;20711:11;;28876: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;;;;;;28972:32:::1;28995:8;28972:22;:32::i;:::-;:73;;;;-1:-1:-1::0;29009:2:0::1;::::0;:36:::1;::::0;;-1:-1:-1;;;29009:36:0;;-1:-1:-1;;;;;29009: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;29009:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29009:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29009:36:0;29008:37:::1;28972:73;28968:382;;;29070:2;;;;;;;;;-1:-1:-1::0;;;;;29070:2:0::1;-1:-1:-1::0;;;;;29070:26:0::1;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;29070:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29070:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29070:28:0;29058:40;::::1;29054:98;;29100:52;;-1:-1:-1::0;;;29100:52:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29054:98;29157:2;::::0;:35:::1;::::0;;-1:-1:-1;;;29157:35:0;;-1:-1:-1;;;;;29157:35:0;;::::1;;::::0;::::1;::::0;29190:1:::1;29157: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;29157: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;;29198:2:0::1;::::0;29237:37:::1;::::0;;-1:-1:-1;;;29237:37:0;;;;-1:-1:-1;;;;;29198:2:0;;::::1;::::0;-1:-1:-1;29198:38:0::1;::::0;-1:-1:-1;29198:2:0;;29237:35:::1;::::0;:37:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;29198:2;29237:37;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29237:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;29237:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;29237:37:0;29198:79:::1;::::0;;-1:-1:-1;;;;;;29198:79:0::1;::::0;;;;;;29275:1:::1;29237:39:::0;;::::1;29198:79;::::0;::::1;::::0;;;;;;;-1:-1:-1;;29198:79:0;;;;;;;-1:-1:-1;29198:79:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;29198: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;;29287:30:0::1;::::0;-1:-1:-1;;;;;29287:30:0;::::1;::::0;-1:-1:-1;29287:30:0::1;::::0;-1:-1:-1;29287:30:0;;::::1;28968:382;;22831: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;;;;;;22930:2:::1;22919:8;:13;:54;;;;;22936:37;22962:10;22936:25;:37::i;:::-;22915:124;;;22975:64;;-1:-1:-1::0;;;22975:64:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22915:124;23051:26;23071:5;23051:19;:26::i;:::-;23046:72;;23079:39;::::0;;-1:-1:-1;;;23079:39:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;23046:72;23129:2;::::0;:33:::1;::::0;;-1:-1:-1;;;23129:33:0;;-1:-1:-1;;;;;23129: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;23129:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23129:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;23129:33:0;23125:84:::1;;;23164:45;;-1:-1:-1::0;;;23164:45:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23125:84;23220:16;23230:5;23220:9;:16::i;:::-;23216:60;;23243:33;::::0;;-1:-1:-1;;;23243:33:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;23216:60;23287:32;23313:5;23287:25;:32::i;:::-;23283:860;;;23333:12:::0;;23329:566:::1;;23356:2;::::0;:38:::1;::::0;;-1:-1:-1;;;23356:38:0;;-1:-1:-1;;;;;23356: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;23356:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23356:38:0;;;;23405:29;23428:5;23405:22;:29::i;:::-;23401:367;;;23447:2;::::0;:42:::1;::::0;;-1:-1:-1;;;23447:42:0;;-1:-1:-1;;;;;23447: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;23447: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;;23496:2:0::1;::::0;23544::::1;::::0;:40:::1;::::0;;-1:-1:-1;;;23544:40:0;;;;-1:-1:-1;;;;;23496:2:0;;::::1;::::0;-1:-1:-1;23496:40:0::1;::::0;-1:-1:-1;23537:5:0;;23496:2;;23544::::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;23544:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23544:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;23544:40:0;23496:93:::1;::::0;;-1:-1:-1;;;;;;23496:93:0::1;::::0;;;;;;-1:-1:-1;;;;;23496:93:0;;::::1;;::::0;::::1;::::0;23544:44;;::::1;23496:93:::0;;;;;;;;;;-1:-1:-1;;23496:93:0;;;;;;;-1:-1:-1;23496:93:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23496:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23496:93:0;;;;23401:367;;;23618:2;::::0;:42:::1;::::0;;-1:-1:-1;;;23618:42:0;;-1:-1:-1;;;;;23618: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;23618: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;;23667:2:0::1;::::0;23715::::1;::::0;:40:::1;::::0;;-1:-1:-1;;;23715:40:0;;;;-1:-1:-1;;;;;23667:2:0;;::::1;::::0;-1:-1:-1;23667:40:0::1;::::0;-1:-1:-1;23708:5:0;;23667:2;;23715::::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;23715:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23715:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;23715:40:0;23667:93:::1;::::0;;-1:-1:-1;;;;;;23667:93:0::1;::::0;;;;;;-1:-1:-1;;;;;23667:93:0;;::::1;;::::0;::::1;::::0;23715:44;;::::1;23667:93:::0;;;;;;;;;;-1:-1:-1;;23667:93:0;;;;;;;-1:-1:-1;23667:93:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23667:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23667:93:0;;;;23401:367;23819:2;::::0;:26:::1;::::0;;-1:-1:-1;;;23819:26:0;;-1:-1:-1;;;;;23779:67:0;;::::1;23819:26;::::0;::::1;::::0;;;;;23779:67;;::::1;::::0;23809:8;;23819: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;23819:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;23819:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;23819:26:0;23779:67:::1;::::0;;;;;::::1;::::0;;::::1;23819:26;23779:67:::0;::::1;::::0;;;;;;;;;::::1;23329:566;;;23868:27;::::0;;-1:-1:-1;;;23868:27:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;23868:27:0;;;;;;;;;;;;;::::1;23329:566;23283:860;;;23913:29;23936:5;23913:22;:29::i;:::-;23909:234;;;23951:2;::::0;:42:::1;::::0;;-1:-1:-1;;;23951:42:0;;-1:-1:-1;;;;;23951: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;23951: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;;23998:2:0::1;::::0;24046::::1;::::0;:40:::1;::::0;;-1:-1:-1;;;24046:40:0;;;;-1:-1:-1;;;;;23998:2:0;;::::1;::::0;-1:-1:-1;23998:40:0::1;::::0;-1:-1:-1;24039:5:0;;23998:2;;24046::::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;24046:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24046:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24046:40:0;23998:93:::1;::::0;;-1:-1:-1;;;;;;23998:93:0::1;::::0;;;;;;-1:-1:-1;;;;;23998:93:0;;::::1;;::::0;::::1;::::0;24046:44;;::::1;23998:93:::0;;;;;;;;;;-1:-1:-1;;23998:93:0;;;;;;;-1:-1:-1;23998:93:0;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;23998: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;;24104:34:0::1;::::0;-1:-1:-1;;;;;24104:34:0;::::1;::::0;-1:-1:-1;24104:34:0::1;::::0;-1:-1:-1;24104:34:0;;::::1;23909:234;24149:2;::::0;:42:::1;::::0;;-1:-1:-1;;;24149:42:0;;-1:-1:-1;;;;;24149: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;21104:171::-;21197:2;;:29;;;-1:-1:-1;;;21197:29:0;;-1:-1:-1;;;;;21197:29:0;;;;;;;;;21175:12;;21197:2;;;;;:19;;:29;;;;;;;;;;;;;;;:2;:29;;;5:2:-1;;;;30:1;27;20:12

Swarm Source

ipfs://cc46158c056757835a31ecdbd3510adff2ddf0e270c2c65fa626db626a881ba1

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.