For users who participated in the Minereum V2 airdrop, there is an activation Ether fee required to activate token transfers for the claimed addresses.
Overview
Max Total Supply
38,329,603,001.72238289 MNE
Holders
1,199,280 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Balance
31,430 MNEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Minereum
Compiler Version
v0.6.1+commit.e6f7d5a4
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-05-06 */ 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 NormalAddressBuyPricePerMNE ( address ) external view returns ( uint256 ); function NormalAddressBuyPricePerMNESet ( address _address, uint256 _NormalAddressBuyPricePerMNE ) external; function NormalAddressFeeCount ( ) external view returns ( uint256 ); function NormalAddressFeeCountSet ( uint256 _NormalAddressFeeCount ) external; function NormalAddressSalesCount ( ) external view returns ( uint256 ); function NormalAddressSalesCountSet ( uint256 _NormalAddressSalesCount ) external; function NormalAddressSalesPriceCount ( ) external view returns ( uint256 ); function NormalAddressSalesPriceCountSet ( uint256 _NormalAddressSalesPriceCount ) external; function NormalBalanceImported ( ) external view returns ( uint256 ); function NormalBalanceImportedSet ( uint256 _NormalBalanceImported ) external; function NormalImportedAmountCount ( ) external view returns ( uint256 ); function NormalImportedAmountCountSet ( uint256 _NormalImportedAmountCount ) 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 availableBalance ( ) external view returns ( uint256 ); function availableBalanceSet ( uint256 _availableBalance ) 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 normalAddressesForSaleIndex ( address ) external view returns ( uint256 ); function normalAddressesForSaleIndexSet ( address _address, uint256 _normalAddressesForSaleIndex ) 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; function stakeBalances ( address ) external view returns ( uint256 ); function stakeBalancesSet ( address _address, uint256 _stakeBalances ) external; function stakeBuyPrice ( address ) external view returns ( uint256 ); function stakeBuyPriceSet ( address _address, uint256 _stakeBuyPrice ) external; function stakeDecimals ( ) external view returns ( uint256 ); function stakeDecimalsSet ( address _from, uint256 _stakeDecimals ) external; function stakeHoldersImported ( ) external view returns ( uint256 ); function stakeHoldersImportedSet ( uint256 _stakeHoldersImported ) external; function stakeHoldersListIndex ( address ) external view returns ( uint256 ); function stakeHoldersListIndexSet ( address _address, uint256 _stakeHoldersListIndex ) external; function stakeMneBurnCount ( ) external view returns ( uint256 ); function stakeMneBurnCountSet ( uint256 _stakeMneBurnCount ) external; function stakeMneTransferBurnCount ( ) external view returns ( uint256 ); function stakeMneTransferBurnCountSet ( uint256 _stakeMneTransferBurnCount ) external; function stakesForSaleIndex ( address ) external view returns ( uint256 ); function stakesForSaleIndexSet ( address _address, uint256 _stakesForSaleIndex ) external; function tokenCreated ( address, uint256 ) external view returns ( address ); function tokenCreatedSet ( address _address, address _tokenCreated ) external; function tokenICOCreated ( address, uint256 ) external view returns ( address ); function tokenICOCreatedSet ( address _address, address _tokenICOCreated ) external; function totalMaxAvailableAmount ( ) external view returns ( uint256 ); function totalMaxAvailableAmountSet ( uint256 _totalMaxAvailableAmount ) external; function totalPaidStakeHolders ( ) external view returns ( uint256 ); function totalPaidStakeHoldersSet ( uint256 _totalPaidStakeHolders ) external; function transferStakeGenesisCount ( ) external view returns ( uint256 ); function transferStakeGenesisCountSet ( uint256 _transferStakeGenesisCount ) external; function transferStakeMNECount ( ) external view returns ( uint256 ); function transferStakeMNECountSet ( uint256 _transferStakeMNECount ) 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 MNETradeHistoryAmountETH ( uint256 ) external view returns ( uint256 ); function MNETradeHistoryAmountETHFee ( uint256 ) external view returns ( uint256 ); function MNETradeHistoryAmountETHFeeLength ( ) external view returns ( uint256 len ); function MNETradeHistoryAmountETHFeeSet ( uint256 _MNETradeHistoryAmountETHFee ) external; function MNETradeHistoryAmountETHLength ( ) external view returns ( uint256 len ); function MNETradeHistoryAmountETHSet ( uint256 _MNETradeHistoryAmountETH ) external; function MNETradeHistoryAmountMNE ( uint256 ) external view returns ( uint256 ); function MNETradeHistoryAmountMNELength ( ) external view returns ( uint256 len ); function MNETradeHistoryAmountMNESet ( uint256 _MNETradeHistoryAmountMNE ) external; function MNETradeHistoryBuyer ( uint256 ) external view returns ( address ); function MNETradeHistoryBuyerLength ( ) external view returns ( uint256 len ); function MNETradeHistoryBuyerSet ( address _MNETradeHistoryBuyer ) external; function MNETradeHistoryDate ( uint256 ) external view returns ( uint256 ); function MNETradeHistoryDateLength ( ) external view returns ( uint256 len ); function MNETradeHistoryDateSet ( uint256 _MNETradeHistoryDate ) external; function MNETradeHistorySeller ( uint256 ) external view returns ( address ); function MNETradeHistorySellerLength ( ) external view returns ( uint256 len ); function MNETradeHistorySellerSet ( address _MNETradeHistorySeller ) external; function StakeTradeHistoryBuyer ( uint256 ) external view returns ( address ); function StakeTradeHistoryBuyerLength ( ) external view returns ( uint256 len ); function StakeTradeHistoryBuyerSet ( address _StakeTradeHistoryBuyer ) external; function StakeTradeHistoryDate ( uint256 ) external view returns ( uint256 ); function StakeTradeHistoryDateLength ( ) external view returns ( uint256 len ); function StakeTradeHistoryDateSet ( uint256 _StakeTradeHistoryDate ) external; function StakeTradeHistoryETHFee ( uint256 ) external view returns ( uint256 ); function StakeTradeHistoryETHFeeLength ( ) external view returns ( uint256 len ); function StakeTradeHistoryETHFeeSet ( uint256 _StakeTradeHistoryETHFee ) external; function StakeTradeHistoryETHPrice ( uint256 ) external view returns ( uint256 ); function StakeTradeHistoryETHPriceLength ( ) external view returns ( uint256 len ); function StakeTradeHistoryETHPriceSet ( uint256 _StakeTradeHistoryETHPrice ) external; function StakeTradeHistoryMNEGenesisBurned ( uint256 ) external view returns ( uint256 ); function StakeTradeHistoryMNEGenesisBurnedLength ( ) external view returns ( uint256 len ); function StakeTradeHistoryMNEGenesisBurnedSet ( uint256 _StakeTradeHistoryMNEGenesisBurned ) external; function StakeTradeHistorySeller ( uint256 ) external view returns ( address ); function StakeTradeHistorySellerLength ( ) external view returns ( uint256 len ); function StakeTradeHistorySellerSet ( address _StakeTradeHistorySeller ) external; function StakeTradeHistoryStakeAmount ( uint256 ) external view returns ( uint256 ); function StakeTradeHistoryStakeAmountLength ( ) external view returns ( uint256 len ); function StakeTradeHistoryStakeAmountSet ( uint256 _StakeTradeHistoryStakeAmount ) 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 genesisAddressesForSaleLevel1SetAt ( uint256 i, address _address ) external; function genesisAddressesForSaleLevel2 ( uint256 ) external view returns ( address ); function genesisAddressesForSaleLevel2Length ( ) external view returns ( uint256 len ); function genesisAddressesForSaleLevel2Set ( address _genesisAddressesForSaleLevel2 ) external; function genesisAddressesForSaleLevel2SetAt ( uint256 i, address _address ) external; function genesisAddressesForSaleLevel3 ( uint256 ) external view returns ( address ); function genesisAddressesForSaleLevel3Length ( ) external view returns ( uint256 len ); function genesisAddressesForSaleLevel3Set ( address _genesisAddressesForSaleLevel3 ) external; function genesisAddressesForSaleLevel3SetAt ( uint256 i, address _address ) external; function normalAddressesForSale ( uint256 ) external view returns ( address ); function normalAddressesForSaleLength ( ) external view returns ( uint256 len ); function normalAddressesForSaleSet ( address _normalAddressesForSale ) external; function normalAddressesForSaleSetAt ( uint256 i, address _address ) 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 setOwnerGenesis ( ) external; function setOwnerGenesisBuys ( ) external; function setOwnerMain ( ) external; function setOwnerNormalAddress ( ) external; function setOwnerStakeBuys ( ) external; function setOwnerStakes ( ) external; function stakeHoldersList ( uint256 ) external view returns ( address ); function stakeHoldersListAt ( uint256 i, address _address ) external; function stakeHoldersListLength ( ) external view returns ( uint256 len ); function stakeHoldersListSet ( address _stakeHoldersList ) external; function stakesForSale ( uint256 ) external view returns ( address ); function stakesForSaleLength ( ) external view returns ( uint256 len ); function stakesForSaleSet ( address _stakesForSale ) external; function stakesForSaleSetAt ( uint256 i, address _address ) external; } interface genesisCalls { function AllowAddressToDestroyGenesis ( address _from, address _address ) external; function AllowReceiveGenesisTransfers ( address _from ) external; function BurnTokens ( address _from, uint256 mneToBurn ) external returns ( bool success ); function RemoveAllowAddressToDestroyGenesis ( address _from ) external; function RemoveAllowReceiveGenesisTransfers ( address _from ) external; function RemoveGenesisAddressFromSale ( address _from ) external; function SetGenesisForSale ( address _from, uint256 weiPrice ) external; function TransferGenesis ( address _from, address _to ) external; function UpgradeToLevel2FromLevel1 ( address _address, uint256 weiValue ) external; function UpgradeToLevel3FromDev ( address _address ) external; function UpgradeToLevel3FromLevel1 ( address _address, uint256 weiValue ) external; function UpgradeToLevel3FromLevel2 ( address _address, uint256 weiValue ) external; function availableBalanceOf ( address _address ) external view returns ( uint256 Balance ); function balanceOf ( address _address ) external view returns ( uint256 balance ); function deleteAddressFromGenesisSaleList ( address _address ) external; function isAnyGenesisAddress ( address _address ) external view returns ( bool success ); function isGenesisAddressLevel1 ( address _address ) external view returns ( bool success ); function isGenesisAddressLevel2 ( address _address ) external view returns ( bool success ); function isGenesisAddressLevel2Or3 ( address _address ) external view returns ( bool success ); function isGenesisAddressLevel3 ( address _address ) external view returns ( bool success ); 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 setGenesisCallerAddress ( address _caller ) external returns ( bool success ); function setOwnerGenesisBuys ( ) external; function setOwnerMain ( ) external; function setOwnerNormalAddress ( ) external; function setOwnerStakeBuys ( ) external; function setOwnerStakes ( ) external; function BurnGenesisAddresses ( address _from, address[] calldata _genesisAddressesToBurn ) external; } interface normalAddress { function BuyNormalAddress ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _totalToSend ); function RemoveNormalAddressFromSale ( address _address ) external; function setBalanceNormalAddress ( address _from, address _address, uint256 balance ) external; function SetNormalAddressForSale ( address _from, uint256 weiPricePerMNE ) external; function setOwnerMain ( ) external; function ownerMain ( ) external view returns ( address ); } interface stakes { function RemoveStakeFromSale ( address _from ) external; function SetStakeForSale ( address _from, uint256 priceInWei ) external; function StakeTransferGenesis ( address _from, address _to, uint256 _value, address[] calldata _genesisAddressesToBurn ) external; function StakeTransferMNE ( address _from, address _to, uint256 _value ) external returns ( uint256 _mneToBurn ); function ownerMain ( ) external view returns ( address ); function setBalanceStakes ( address _from, address _address, uint256 balance ) external; function setOwnerMain ( ) external; } interface stakeBuys { function BuyStakeGenesis ( address _from, address _address, address[] calldata _genesisAddressesToBurn, uint256 _msgvalue ) external returns ( uint256 _feesToPayToSeller ); function BuyStakeMNE ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _mneToBurn, uint256 _feesToPayToSeller ); function ownerMain ( ) external view returns ( address ); function setOwnerMain ( ) external; } interface genesisBuys { function BuyGenesisLevel1FromNormal ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _totalToSend ); function BuyGenesisLevel2FromNormal ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _totalToSend ); function BuyGenesisLevel3FromNormal ( address _from, address _address, uint256 _msgvalue ) external returns ( uint256 _totalToSend ); function ownerMain ( ) external view returns ( address ); function setOwnerMain ( ) external; } interface tokenService { function CreateToken ( address _from, uint256 _msgvalue ) external returns ( uint256 _mneToBurn, address _contract ); function CreateTokenICO ( address _from, uint256 _msgvalue ) external returns ( uint256 _mneToBurn, address _contract ); function ownerMain ( ) external view returns ( address ); function setOwnerMain ( ) external; } interface baseTransfers { function setOwnerMain ( ) external; function transfer ( address _from, address _to, uint256 _value ) external; function transferFrom ( address _sender, address _from, address _to, uint256 _amount ) external returns ( bool success ); function stopSetup ( address _from ) external returns ( bool success ); function totalSupply ( ) external view returns ( uint256 TotalSupply ); } interface mneStaking { function startStaking(address _sender, uint256 _amountToStake, address[] calldata _addressList, uint256[] calldata uintList) external; } interface luckyDraw { function BuyTickets(address _sender, uint256[] calldata _max) payable external returns ( uint256 ); } interface externalService { function externalFunction(address _sender, address[] calldata _addressList, uint256[] calldata _uintList) payable external returns ( uint256 ); } interface externalReceiver { function externalFunction(address _sender, uint256 _mneAmount, address[] calldata _addressList, uint256[] calldata _uintList) payable external; } contract Minereum { string public name; string public symbol; uint8 public decimals; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event LogStakeHolderSends(address indexed to, uint balance, uint amountToSend); event LogFailedStakeHolderSends(address indexed to, uint balance, uint amountToSend); event TokenCreation(address indexed from, address contractAdd); event TokenCreationICO(address indexed from, address contractAdd); event StakeTransfer(address indexed from, address indexed to, uint256 value); publicCalls public pc; publicArrays public pa; genesisCalls public gn; normalAddress public na; stakes public st; stakeBuys public stb; genesisBuys public gnb; tokenService public tks; baseTransfers public bst; mneStaking public mneStk; luckyDraw public lkd; externalService public extS1; externalReceiver public extR1; address public updaterAddress = 0x0000000000000000000000000000000000000000; function setUpdater() public {if (updaterAddress == 0x0000000000000000000000000000000000000000) updaterAddress = msg.sender; else revert();} address public payoutOwner = 0x0000000000000000000000000000000000000000; bool public payoutBlocked = false; address payable public secondaryPayoutAddress = 0x0000000000000000000000000000000000000000; constructor(address _publicCallsAddress, address _publicArraysAddress, address _genesisCallsAddress, address _normalAddressAddress, address _stakesAddress, address _stakesBuysAddress,address _genesisBuysAddress, address _tokenServiceAddress, address _baseTransfersAddress) public { name = "Minereum"; symbol = "MNE"; decimals = 8; setUpdater(); pc = publicCalls(_publicCallsAddress); pc.setOwnerMain(); pa = publicArrays(_publicArraysAddress); pa.setOwnerMain(); gn = genesisCalls(_genesisCallsAddress); gn.setOwnerMain(); na = normalAddress(_normalAddressAddress); na.setOwnerMain(); st = stakes(_stakesAddress); st.setOwnerMain(); stb = stakeBuys(_stakesBuysAddress); stb.setOwnerMain(); gnb = genesisBuys(_genesisBuysAddress); gnb.setOwnerMain(); tks = tokenService(_tokenServiceAddress); tks.setOwnerMain(); bst = baseTransfers(_baseTransfersAddress); bst.setOwnerMain(); } function reloadGenesis(address _address) public { if (msg.sender == updaterAddress) {gn = genesisCalls(_address); gn.setOwnerMain(); } else revert();} function reloadNormalAddress(address _address) public { if (msg.sender == updaterAddress) {na = normalAddress(_address); na.setOwnerMain(); } else revert();} function reloadStakes(address _address) public { if (msg.sender == updaterAddress) {st = stakes(_address); st.setOwnerMain(); } else revert();} function reloadStakeBuys(address _address) public { if (msg.sender == updaterAddress) {stb = stakeBuys(_address); stb.setOwnerMain(); } else revert();} function reloadGenesisBuys(address _address) public { if (msg.sender == updaterAddress) {gnb = genesisBuys(_address); gnb.setOwnerMain(); } else revert();} function reloadTokenService(address _address) public { if (msg.sender == updaterAddress) {tks = tokenService(_address); tks.setOwnerMain(); } else revert();} function reloadBaseTransfers(address _address) public { if (msg.sender == updaterAddress) {bst = baseTransfers(_address); bst.setOwnerMain(); } else revert();} function reloadPublicCalls(address _address, uint code) public { if (!(code == 1234)) revert(); if (msg.sender == updaterAddress) {pc = publicCalls(_address); pc.setOwnerMain();} else revert();} function reloadPublicArrays(address _address, uint code) public { if (!(code == 1234)) revert(); if (msg.sender == updaterAddress) {pa = publicArrays(_address); pa.setOwnerMain();} else revert();} function loadMNEStaking(address _address) public { if (msg.sender == updaterAddress) {mneStk = mneStaking(_address); } else revert();} function loadLuckyDraw(address _address) public { if (msg.sender == updaterAddress) {lkd = luckyDraw(_address); } else revert();} function externalService1(address _address) public { if (msg.sender == updaterAddress) {extS1 = externalService(_address); } else revert();} function externalReceiver1(address _address) public { if (msg.sender == updaterAddress) {extR1 = externalReceiver(_address); } else revert();} function setPayoutOwner() public { if(payoutOwner == 0x0000000000000000000000000000000000000000) payoutOwner = msg.sender; else revert(); } function setSecondaryPayoutAddress(address payable _address) public { if(msg.sender == payoutOwner) secondaryPayoutAddress = _address; else revert(); } function SetBlockPayouts(bool toBlock) public { if(msg.sender == payoutOwner) { payoutBlocked = toBlock; } } function currentEthBlock() public view returns (uint256 blockNumber) { return block.number; } function currentBlock() public view returns (uint256 blockNumber) { return block.number - pc.initialBlockCount(); } function availableBalanceOf(address _address) public view returns (uint256 Balance) { return gn.availableBalanceOf(_address); } function totalSupply() public view returns (uint256 TotalSupply) { return bst.totalSupply(); } function transfer(address _to, uint256 _value) public { if (_to == address(this)) revert('if (_to == address(this))'); bst.transfer(msg.sender, _to, _value); emit Transfer(msg.sender, _to, _value); } function transferFrom( address _from, address _to, uint256 _amount ) public returns (bool success) { bool result = bst.transferFrom(msg.sender, _from, _to, _amount); if (result) emit Transfer(_from, _to, _amount); return result; } function approve(address _spender, uint256 _amount) public returns (bool success) { pc.allowedSet(msg.sender,_spender, _amount); emit Approval(msg.sender, _spender, _amount); return true; } function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return pc.allowed(_owner,_spender); } function balanceOf(address _address) public view returns (uint256 balance) { return gn.balanceOf(_address); } function stakeBalanceOf(address _address) public view returns (uint256 balance) { return pc.stakeBalances(_address); } function TransferGenesis(address _to) public { emit Transfer(msg.sender, _to, balanceOf(msg.sender)); if (_to == address(this)) revert('if (_to == address(this))'); gn.TransferGenesis(msg.sender, _to); } function SetGenesisForSale(uint256 weiPrice) public { gn.SetGenesisForSale(msg.sender, weiPrice); } function AllowReceiveGenesisTransfers() public { gn.AllowReceiveGenesisTransfers(msg.sender); } function RemoveAllowReceiveGenesisTransfers() public { gn.RemoveAllowReceiveGenesisTransfers(msg.sender); } function RemoveGenesisAddressFromSale() public { gn.RemoveGenesisAddressFromSale(msg.sender); } function AllowAddressToDestroyGenesis(address _address) public { gn.AllowAddressToDestroyGenesis(msg.sender, _address); } function RemoveAllowAddressToDestroyGenesis() public { gn.RemoveAllowAddressToDestroyGenesis(msg.sender); } function UpgradeToLevel2FromLevel1() public payable { gn.UpgradeToLevel2FromLevel1(msg.sender, msg.value); } function UpgradeToLevel3FromLevel1() public payable { gn.UpgradeToLevel3FromLevel1(msg.sender, msg.value); } function UpgradeToLevel3FromLevel2() public payable { gn.UpgradeToLevel3FromLevel2(msg.sender, msg.value); } function UpgradeToLevel3FromDev() public { gn.UpgradeToLevel3FromDev(msg.sender); } function UpgradeOthersToLevel2FromLevel1(address[] memory _addresses) public payable { uint count = _addresses.length; if (msg.value != (pc.ethFeeToUpgradeToLevel2()*count)) revert('(msg.value != pc.ethFeeToUpgradeToLevel2()*count)'); uint i = 0; while (i < count) { gn.UpgradeToLevel2FromLevel1(_addresses[i], pc.ethFeeToUpgradeToLevel2()); i++; } } function UpgradeOthersToLevel3FromLevel1(address[] memory _addresses) public payable { uint count = _addresses.length; if (msg.value != ((pc.ethFeeToUpgradeToLevel2() + pc.ethFeeToUpgradeToLevel3())*count)) revert('(weiValue != ((msg.value + pc.ethFeeToUpgradeToLevel3())*count))'); uint i = 0; while (i < count) { gn.UpgradeToLevel3FromLevel1(_addresses[i], (pc.ethFeeToUpgradeToLevel2() + pc.ethFeeToUpgradeToLevel3())); i++; } } function UpgradeOthersToLevel3FromLevel2(address[] memory _addresses) public payable { uint count = _addresses.length; if (msg.value != (pc.ethFeeToUpgradeToLevel3()*count)) revert('(msg.value != (pc.ethFeeToUpgradeToLevel3()*count))'); uint i = 0; while (i < count) { gn.UpgradeToLevel3FromLevel2(_addresses[i], pc.ethFeeToUpgradeToLevel3()); i++; } } function UpgradeOthersToLevel3FromDev(address[] memory _addresses) public { uint count = _addresses.length; uint i = 0; while (i < count) { gn.UpgradeToLevel3FromDev(_addresses[i]); i++; } } function BuyGenesisAddress(address payable _address) public payable { if (gn.isGenesisAddressLevel1(_address)) BuyGenesisLevel1FromNormal(_address); else if (gn.isGenesisAddressLevel2(_address)) BuyGenesisLevel2FromNormal(_address); else if (gn.isGenesisAddressLevel3(_address)) BuyGenesisLevel3FromNormal(_address); else revert('Address not for sale'); } function SetNormalAddressForSale(uint256 weiPricePerMNE) public { na.SetNormalAddressForSale(msg.sender, weiPricePerMNE); } function RemoveNormalAddressFromSale() public { na.RemoveNormalAddressFromSale(msg.sender); } function BuyNormalAddress(address payable _address) public payable{ emit Transfer(_address, msg.sender, balanceOf(_address)); uint256 feesToPayToSeller = na.BuyNormalAddress(msg.sender, address(_address), msg.value); if(!_address.send(feesToPayToSeller)) revert('(!_address.send(feesToPayToSeller))'); } function setBalanceNormalAddress(address _address, uint256 _balance) public { na.setBalanceNormalAddress(msg.sender, _address, _balance); emit Transfer(address(this), _address, _balance); } function ContractTransferAllFundsOut() public { //in case of hack, funds can be transfered out to another addresses and transferred to the stake holders from there if (payoutBlocked) if(!secondaryPayoutAddress.send(address(this).balance)) revert(); } function PayoutStakeHolders() public { require(msg.sender == tx.origin); //For security reasons this line is to prevent smart contract calls if (payoutBlocked) revert('Payouts Blocked'); //In case of hack, payouts can be blocked uint contractBalance = address(this).balance; if (!(contractBalance > 0)) revert('(!(contractBalance > 0))'); uint i; uint max; i = 0; max = pa.stakeHoldersListLength(); while (i < max) { address payable add = payable(pa.stakeHoldersList(i)); uint balance = pc.stakeBalances(add); uint amountToSend = contractBalance * balance / pc.stakeDecimals(); if (amountToSend > 0) { if (!add.send(amountToSend)) emit LogFailedStakeHolderSends(add, balance, amountToSend); else { pc.totalPaidStakeHoldersSet(pc.totalPaidStakeHolders() + amountToSend); } } i++; } } function stopSetup() public returns (bool success) { return bst.stopSetup(msg.sender); } function BurnTokens(uint256 mneToBurn) public returns (bool success) { gn.BurnTokens(msg.sender, mneToBurn); emit Transfer(msg.sender, 0x0000000000000000000000000000000000000000, mneToBurn); return true; } function SetStakeForSale(uint256 priceInWei) public { st.SetStakeForSale(msg.sender, priceInWei); } function RemoveStakeFromSale() public { st.RemoveStakeFromSale(msg.sender); } function StakeTransferMNE(address _to, uint256 _value) public { if (_to == address(this)) revert('if (_to == address(this))'); BurnTokens(st.StakeTransferMNE(msg.sender, _to, _value)); emit StakeTransfer(msg.sender, _to, _value); } function BurnGenesisAddresses(address[] memory _genesisAddressesToBurn) public { uint i = 0; while(i < _genesisAddressesToBurn.length) { emit Transfer(_genesisAddressesToBurn[i], 0x0000000000000000000000000000000000000000, balanceOf(_genesisAddressesToBurn[i])); i++; } gn.BurnGenesisAddresses(msg.sender, _genesisAddressesToBurn); } function StakeTransferGenesis(address _to, uint256 _value, address[] memory _genesisAddressesToBurn) public { if (_to == address(this)) revert('if (_to == address(this))'); uint i = 0; while(i < _genesisAddressesToBurn.length) { emit Transfer(_genesisAddressesToBurn[i], 0x0000000000000000000000000000000000000000, balanceOf(_genesisAddressesToBurn[i])); i++; } st.StakeTransferGenesis(msg.sender, _to, _value, _genesisAddressesToBurn); emit StakeTransfer(msg.sender, _to, _value); } function setBalanceStakes(address _address, uint256 balance) public { st.setBalanceStakes(msg.sender, _address, balance); } function BuyGenesisLevel1FromNormal(address payable _address) public payable { emit Transfer(_address, msg.sender, balanceOf(_address)); uint256 feesToPayToSeller = gnb.BuyGenesisLevel1FromNormal(msg.sender, address(_address), msg.value); if(!_address.send(feesToPayToSeller)) revert('(!_address.send(feesToPayToSeller))'); } function BuyGenesisLevel2FromNormal(address payable _address) public payable{ emit Transfer(_address, msg.sender, balanceOf(_address)); uint256 feesToPayToSeller = gnb.BuyGenesisLevel2FromNormal(msg.sender, address(_address), msg.value); if(!_address.send(feesToPayToSeller)) revert('(!_address.send(feesToPayToSeller))'); } function BuyGenesisLevel3FromNormal(address payable _address) public payable{ emit Transfer(_address, msg.sender, balanceOf(_address)); uint256 feesToPayToSeller = gnb.BuyGenesisLevel3FromNormal(msg.sender, address(_address), msg.value); if(!_address.send(feesToPayToSeller)) revert('(!_address.send(feesToPayToSeller))'); } function BuyStakeMNE(address payable _address) public payable { uint256 balanceToSend = pc.stakeBalances(_address); (uint256 mneToBurn, uint256 feesToPayToSeller) = stb.BuyStakeMNE(msg.sender, address(_address), msg.value); BurnTokens(mneToBurn); if(!_address.send(feesToPayToSeller)) revert('(!_address.send(feesToPayToSeller))'); emit StakeTransfer(_address, msg.sender, balanceToSend); } function BuyStakeGenesis(address payable _address, address[] memory _genesisAddressesToBurn) public payable { uint256 balanceToSend = pc.stakeBalances(_address); uint i = 0; while(i < _genesisAddressesToBurn.length) { emit Transfer(_genesisAddressesToBurn[i], 0x0000000000000000000000000000000000000000, balanceOf(_genesisAddressesToBurn[i])); i++; } uint256 feesToPayToSeller = stb.BuyStakeGenesis(msg.sender, address(_address), _genesisAddressesToBurn, msg.value); if(!_address.send(feesToPayToSeller)) revert(); emit StakeTransfer(_address, msg.sender, balanceToSend); } function CreateToken() public payable { (uint256 _mneToBurn, address tokenAdderss) = tks.CreateToken(msg.sender, msg.value); BurnTokens(_mneToBurn); emit TokenCreation(msg.sender, tokenAdderss); } function CreateTokenICO() public payable { (uint256 _mneToBurn, address tokenAdderss) = tks.CreateTokenICO(msg.sender, msg.value); BurnTokens(_mneToBurn); emit TokenCreationICO(msg.sender, tokenAdderss); } function Payment() public payable { } function BuyLuckyDrawTickets(uint256[] memory max) public payable { uint256 _mneToBurn = lkd.BuyTickets.value(msg.value)(msg.sender, max); if (_mneToBurn > 0) BurnTokens(_mneToBurn); } function Staking(uint256 _amountToStake, address[] memory _addressList, uint256[] memory uintList) public { if (_amountToStake > 0) { bst.transfer(msg.sender, address(mneStk), _amountToStake); emit Transfer(msg.sender, address(mneStk), _amountToStake); } mneStk.startStaking(msg.sender, _amountToStake, _addressList, uintList); } function isAnyGenesisAddress(address _address) public view returns (bool success) { return gn.isAnyGenesisAddress(_address); } function isGenesisAddressLevel1(address _address) public view returns (bool success) { return gn.isGenesisAddressLevel1(_address); } function isGenesisAddressLevel2(address _address) public view returns (bool success) { return gn.isGenesisAddressLevel2(_address); } function isGenesisAddressLevel3(address _address) public view returns (bool success) { return gn.isGenesisAddressLevel3(_address); } function isGenesisAddressLevel2Or3(address _address) public view returns (bool success) { return gn.isGenesisAddressLevel2Or3(_address); } function registerAddresses(address[] memory _addressList) public { uint i = 0; if (pc.setupRunning() && msg.sender == pc.genesisCallerAddress()) { while(i < _addressList.length) { emit Transfer(address(this), _addressList[i], gn.balanceOf(_addressList[i])); i++; } } else { revert(); } } function registerAddressesValue(address[] memory _addressList, uint _value) public { uint i = 0; if (pc.setupRunning() && msg.sender == pc.genesisCallerAddress()) { while(i < _addressList.length) { emit Transfer(address(this), _addressList[i], _value); i++; } } else { revert(); } } function ethFeeToUpgradeToLevel2Set(uint256 _ethFeeToUpgradeToLevel2) public {pc.ethFeeToUpgradeToLevel2Set(msg.sender, _ethFeeToUpgradeToLevel2);} function ethFeeToUpgradeToLevel3Set(uint256 _ethFeeToUpgradeToLevel3) public {pc.ethFeeToUpgradeToLevel3Set(msg.sender, _ethFeeToUpgradeToLevel3);} function ethFeeToBuyLevel1Set(uint256 _ethFeeToBuyLevel1) public {pc.ethFeeToBuyLevel1Set(msg.sender, _ethFeeToBuyLevel1);} function ethFeeForSellerLevel1Set(uint256 _ethFeeForSellerLevel1) public {pc.ethFeeForSellerLevel1Set(msg.sender, _ethFeeForSellerLevel1);} function ethFeeForTokenSet(uint256 _ethFeeForToken) public {pc.ethFeeForTokenSet(msg.sender, _ethFeeForToken);} function ethFeeForTokenICOSet(uint256 _ethFeeForTokenICO) public {pc.ethFeeForTokenICOSet(msg.sender, _ethFeeForTokenICO);} function ethPercentFeeGenesisExchangeSet(uint256 _ethPercentFeeGenesisExchange) public {pc.ethPercentFeeGenesisExchangeSet(msg.sender, _ethPercentFeeGenesisExchange);} function ethPercentFeeNormalExchangeSet(uint256 _ethPercentFeeNormalExchange) public {pc.ethPercentFeeNormalExchangeSet(msg.sender, _ethPercentFeeNormalExchange);} function ethPercentStakeExchangeSet(uint256 _ethPercentStakeExchange) public {pc.ethPercentStakeExchangeSet(msg.sender, _ethPercentStakeExchange);} function amountOfGenesisToBuyStakesSet(uint256 _amountOfGenesisToBuyStakes) public {pc.amountOfGenesisToBuyStakesSet(msg.sender, _amountOfGenesisToBuyStakes);} function amountOfMNEToBuyStakesSet(uint256 _amountOfMNEToBuyStakes) public {pc.amountOfMNEToBuyStakesSet(msg.sender, _amountOfMNEToBuyStakes);} function amountOfMNEForTokenSet(uint256 _amountOfMNEForToken) public {pc.amountOfMNEForTokenSet(msg.sender, _amountOfMNEForToken);} function amountOfMNEForTokenICOSet(uint256 _amountOfMNEForTokenICO) public {pc.amountOfMNEForTokenICOSet(msg.sender, _amountOfMNEForTokenICO);} function amountOfMNEToTransferStakesSet(uint256 _amountOfMNEToTransferStakes) public {pc.amountOfMNEToTransferStakesSet(msg.sender, _amountOfMNEToTransferStakes);} function amountOfGenesisToTransferStakesSet(uint256 _amountOfGenesisToTransferStakes) public {pc.amountOfGenesisToTransferStakesSet(msg.sender, _amountOfGenesisToTransferStakes);} function stakeDecimalsSet(uint256 _stakeDecimals) public {pc.stakeDecimalsSet(msg.sender, _stakeDecimals);} function ServiceFunction1(address[] memory _addressList, uint256[] memory _uintList) public payable { uint256 _mneToBurn = extS1.externalFunction.value(msg.value)(msg.sender, _addressList, _uintList); if (_mneToBurn > 0) BurnTokens(_mneToBurn); } function ReceiverFunction1(uint256 _mneAmount, address[] memory _addressList, uint256[] memory _uintList) public payable { if (_mneAmount > 0) { bst.transfer(msg.sender, address(extR1), _mneAmount); emit Transfer(msg.sender, address(extR1), _mneAmount); } extR1.externalFunction.value(msg.value)(msg.sender, _mneAmount, _addressList, _uintList); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_publicCallsAddress","type":"address"},{"internalType":"address","name":"_publicArraysAddress","type":"address"},{"internalType":"address","name":"_genesisCallsAddress","type":"address"},{"internalType":"address","name":"_normalAddressAddress","type":"address"},{"internalType":"address","name":"_stakesAddress","type":"address"},{"internalType":"address","name":"_stakesBuysAddress","type":"address"},{"internalType":"address","name":"_genesisBuysAddress","type":"address"},{"internalType":"address","name":"_tokenServiceAddress","type":"address"},{"internalType":"address","name":"_baseTransfersAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToSend","type":"uint256"}],"name":"LogFailedStakeHolderSends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountToSend","type":"uint256"}],"name":"LogStakeHolderSends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"StakeTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"address","name":"contractAdd","type":"address"}],"name":"TokenCreation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"address","name":"contractAdd","type":"address"}],"name":"TokenCreationICO","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"AllowAddressToDestroyGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AllowReceiveGenesisTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_genesisAddressesToBurn","type":"address[]"}],"name":"BurnGenesisAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"mneToBurn","type":"uint256"}],"name":"BurnTokens","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"BuyGenesisAddress","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"BuyGenesisLevel1FromNormal","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"BuyGenesisLevel2FromNormal","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"BuyGenesisLevel3FromNormal","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"max","type":"uint256[]"}],"name":"BuyLuckyDrawTickets","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"BuyNormalAddress","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"},{"internalType":"address[]","name":"_genesisAddressesToBurn","type":"address[]"}],"name":"BuyStakeGenesis","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"BuyStakeMNE","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"ContractTransferAllFundsOut","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"CreateToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"CreateTokenICO","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"Payment","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"PayoutStakeHolders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mneAmount","type":"uint256"},{"internalType":"address[]","name":"_addressList","type":"address[]"},{"internalType":"uint256[]","name":"_uintList","type":"uint256[]"}],"name":"ReceiverFunction1","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"RemoveAllowAddressToDestroyGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveAllowReceiveGenesisTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveGenesisAddressFromSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveNormalAddressFromSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"RemoveStakeFromSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addressList","type":"address[]"},{"internalType":"uint256[]","name":"_uintList","type":"uint256[]"}],"name":"ServiceFunction1","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bool","name":"toBlock","type":"bool"}],"name":"SetBlockPayouts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiPrice","type":"uint256"}],"name":"SetGenesisForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiPricePerMNE","type":"uint256"}],"name":"SetNormalAddressForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"priceInWei","type":"uint256"}],"name":"SetStakeForSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"address[]","name":"_genesisAddressesToBurn","type":"address[]"}],"name":"StakeTransferGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"StakeTransferMNE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountToStake","type":"uint256"},{"internalType":"address[]","name":"_addressList","type":"address[]"},{"internalType":"uint256[]","name":"uintList","type":"uint256[]"}],"name":"Staking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"TransferGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"UpgradeOthersToLevel2FromLevel1","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"UpgradeOthersToLevel3FromDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"UpgradeOthersToLevel3FromLevel1","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"UpgradeOthersToLevel3FromLevel2","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"UpgradeToLevel2FromLevel1","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"UpgradeToLevel3FromDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"UpgradeToLevel3FromLevel1","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"UpgradeToLevel3FromLevel2","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountOfGenesisToBuyStakes","type":"uint256"}],"name":"amountOfGenesisToBuyStakesSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountOfGenesisToTransferStakes","type":"uint256"}],"name":"amountOfGenesisToTransferStakesSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountOfMNEForTokenICO","type":"uint256"}],"name":"amountOfMNEForTokenICOSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountOfMNEForToken","type":"uint256"}],"name":"amountOfMNEForTokenSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountOfMNEToBuyStakes","type":"uint256"}],"name":"amountOfMNEToBuyStakesSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountOfMNEToTransferStakes","type":"uint256"}],"name":"amountOfMNEToTransferStakesSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"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":[],"name":"bst","outputs":[{"internalType":"contract baseTransfers","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentBlock","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentEthBlock","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethFeeForSellerLevel1","type":"uint256"}],"name":"ethFeeForSellerLevel1Set","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethFeeForTokenICO","type":"uint256"}],"name":"ethFeeForTokenICOSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethFeeForToken","type":"uint256"}],"name":"ethFeeForTokenSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethFeeToBuyLevel1","type":"uint256"}],"name":"ethFeeToBuyLevel1Set","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethFeeToUpgradeToLevel2","type":"uint256"}],"name":"ethFeeToUpgradeToLevel2Set","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethFeeToUpgradeToLevel3","type":"uint256"}],"name":"ethFeeToUpgradeToLevel3Set","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethPercentFeeGenesisExchange","type":"uint256"}],"name":"ethPercentFeeGenesisExchangeSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethPercentFeeNormalExchange","type":"uint256"}],"name":"ethPercentFeeNormalExchangeSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ethPercentStakeExchange","type":"uint256"}],"name":"ethPercentStakeExchangeSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"extR1","outputs":[{"internalType":"contract externalReceiver","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"extS1","outputs":[{"internalType":"contract externalService","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"externalReceiver1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"externalService1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gn","outputs":[{"internalType":"contract genesisCalls","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gnb","outputs":[{"internalType":"contract genesisBuys","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":"lkd","outputs":[{"internalType":"contract luckyDraw","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"loadLuckyDraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"loadMNEStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mneStk","outputs":[{"internalType":"contract mneStaking","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"na","outputs":[{"internalType":"contract normalAddress","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pa","outputs":[{"internalType":"contract publicArrays","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payoutBlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payoutOwner","outputs":[{"internalType":"address","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":"_addressList","type":"address[]"}],"name":"registerAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addressList","type":"address[]"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"registerAddressesValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadBaseTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadGenesis","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadGenesisBuys","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadNormalAddress","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadStakeBuys","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadStakes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"reloadTokenService","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"secondaryPayoutAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"_balance","type":"uint256"}],"name":"setBalanceNormalAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"setBalanceStakes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPayoutOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_address","type":"address"}],"name":"setSecondaryPayoutAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setUpdater","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"st","outputs":[{"internalType":"contract stakes","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"stakeBalanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_stakeDecimals","type":"uint256"}],"name":"stakeDecimalsSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stb","outputs":[{"internalType":"contract stakeBuys","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stopSetup","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tks","outputs":[{"internalType":"contract tokenService","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"TotalSupply","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updaterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052600f80546001600160a01b0319908116909155601080546001600160a81b03191690556011805490911690553480156200003d57600080fd5b50604051620065653803806200656583398181016040526101208110156200006457600080fd5b5080516020808301516040808501516060860151608087015160a088015160c089015160e08a0151610100909a015186518088019097526008808852674d696e657265756d60c01b9790990196875298999698949793969295919490939091620000d29160009190620005a2565b50604080518082019091526003808252624d4e4560e81b6020909201918252620000ff91600191620005a2565b506002805460ff19166008179055620001206001600160e01b036200057216565b88600260016101000a8154816001600160a01b0302191690836001600160a01b03160217905550600260019054906101000a90046001600160a01b03166001600160a01b03166313b9f0c76040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200019857600080fd5b505af1158015620001ad573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b038c81169190911791829055604080516313b9f0c760e01b815290519290911693506313b9f0c7925060048082019260009290919082900301818387803b1580156200020f57600080fd5b505af115801562000224573d6000803e3d6000fd5b5050600480546001600160a01b0319166001600160a01b038b811691909117808355604080516313b9f0c760e01b815290519190921694506313b9f0c793508183019260009282900301818387803b1580156200028057600080fd5b505af115801562000295573d6000803e3d6000fd5b5050600580546001600160a01b0319166001600160a01b038a81169190911791829055604080516313b9f0c760e01b815290519290911693506313b9f0c7925060048082019260009290919082900301818387803b158015620002f757600080fd5b505af11580156200030c573d6000803e3d6000fd5b5050600680546001600160a01b0319166001600160a01b038981169190911791829055604080516313b9f0c760e01b815290519290911693506313b9f0c7925060048082019260009290919082900301818387803b1580156200036e57600080fd5b505af115801562000383573d6000803e3d6000fd5b5050600780546001600160a01b0319166001600160a01b038881169190911791829055604080516313b9f0c760e01b815290519290911693506313b9f0c7925060048082019260009290919082900301818387803b158015620003e557600080fd5b505af1158015620003fa573d6000803e3d6000fd5b5050600880546001600160a01b0319166001600160a01b038781169190911791829055604080516313b9f0c760e01b815290519290911693506313b9f0c7925060048082019260009290919082900301818387803b1580156200045c57600080fd5b505af115801562000471573d6000803e3d6000fd5b5050600980546001600160a01b0319166001600160a01b038681169190911791829055604080516313b9f0c760e01b815290519290911693506313b9f0c7925060048082019260009290919082900301818387803b158015620004d357600080fd5b505af1158015620004e8573d6000803e3d6000fd5b5050600a80546001600160a01b0319166001600160a01b038581169190911791829055604080516313b9f0c760e01b815290519290911693506313b9f0c7925060048082019260009290919082900301818387803b1580156200054a57600080fd5b505af11580156200055f573d6000803e3d6000fd5b5050505050505050505050505062000647565b600f546001600160a01b03166200059b57600f80546001600160a01b03191633179055620005a0565b600080fd5b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005e557805160ff191683800117855562000615565b8280016001018555821562000615579182015b8281111562000615578251825591602001919060010190620005f8565b506200062392915062000627565b5090565b6200064491905b808211156200062357600081556001016200062e565b90565b615f0e80620006576000396000f3fe6080604052600436106106d35760003560e01c806374a72e411161037a578063bd65fc4c116101d1578063ddcbfce011610102578063e69919ae116100a0578063ef3dd5c81161007a578063ef3dd5c814611f05578063fd3c763814611f38578063fdbc653014611f6b578063ffc4b16814611f80576106d3565b8063e69919ae14611e0f578063e9095e5c14611e24578063eb0fbbad14611ed2576106d3565b8063e12ed13c116100dc578063e12ed13c14611d9d578063e241263014611db2578063e33eaaf714611dc7578063e4c4b47c14611ddc576106d3565b8063ddcbfce014611d2b578063df02f1db14611d55578063df462a4714611d88576106d3565b8063d4f745791161016f578063db59ab3a11610149578063db59ab3a14611b65578063dc8689fc14611c9c578063dd2c455c14611cc6578063dd62ed3e14611cf0576106d3565b8063d4f7457914611afc578063dae487ca14611b26578063db16cb5b14611b3b576106d3565b8063c1696533116101ab578063c169653314611950578063c3536e8b14611a13578063c92f146a14611ab4578063cf91e33114611ac9576106d3565b8063bd65fc4c146118f3578063bdbdcd7514611908578063c0ea2e771461193b576106d3565b8063a2ea2aaf116102ab578063aede090f11610249578063b3e9047611610223578063b3e904761461186c578063b4e85ec814611896578063b9c25cae146118ab578063bad0f934146118c0576106d3565b8063aede090f14611701578063aee1fabc14611824578063af46aa0814611839576106d3565b8063a5094f8f11610285578063a5094f8f14611656578063a9059cbb14611680578063aa13504e146116b9578063ac0f738f146116ec576106d3565b8063a2ea2aaf1461163e578063a330915114611646578063a33b12601461164e576106d3565b80638af8edfc1161031857806392cca541116102f257806392cca541146115ae57806393c63b9d146115c357806395d89b41146115f657806397b5e5541461160b576106d3565b80638af8edfc146114b55780638ccb0023146114ca5780639055a23e1461157b576106d3565b806380167ebf1161035457806380167ebf1461133c5780638278188a146113dd578063846153b5146113f25780638a670113146114a0576106d3565b806374a72e41146112515780637b411ca5146113015780637d20a24f14611316576106d3565b8063429069091161052e5780636af434701161045f5780637050ec89116103fd5780637347060c116103d75780637347060c146111b357806373668817146111d957806373f0cc2d14611212578063742ec16414611227576106d3565b80637050ec891461113f57806370a082311461117857806370a8a2e6146111ab576106d3565b80636c2f12e6116104395780636c2f12e61461101b5780636dcb9800146110bc5780636e3ee8f1146110e65780637022c79e1461110c576106d3565b80636af4347014610fd85780636b3b280014610fe05780636be2ca4314611006576106d3565b8063542aa99f116104cc5780635b65268f116104a65780635b65268f14610f5e57806361a3be8014610f735780636338655114610f8857806366a497b714610fae576106d3565b8063542aa99f14610ee657806357e08c6014610efb5780635b48a88414610f34576106d3565b80634955d7f0116105085780634955d7f014610e2f57806350ac2f6914610e59578063522c628f14610e835780635339689314610ebc576106d3565b80634290690914610de8578063474b07bf14610e125780634890bb5114610e27576106d3565b806321df8098116106085780633118f543116105a657806333d599341161058057806333d5993414610d3d57806336d6991014610d675780633c64cfc614610d9a578063416e860414610dd3576106d3565b80633118f54314610cd7578063313ce56714610cec5780633181a5a714610d17576106d3565b806324ac57b7116105e257806324ac57b714610c3257806325d998bb14610c475780632940187a14610c7a5780632cd3fd7014610cad576106d3565b806321df809814610b9057806323b872dd14610bc357806323e46e7c14610c06576106d3565b80630d061e7511610675578063177e48d01161064f578063177e48d014610a7d57806318160ddd14610b1e5780631d2cb86114610b335780631ec32a6614610b66576106d3565b80630d061e7514610a0b578063124d83d814610a20578063128fb93014610a4a576106d3565b8063095ea7b3116106b1578063095ea7b3146108b857806309ae18441461090557806309f6c607146109b35780630a63361c146109da576106d3565b806306fdde03146106d857806307c5c18e14610762578063088c35fd1461088e575b600080fd5b3480156106e457600080fd5b506106ed611fb3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561072757818101518382015260200161070f565b50505050905090810190601f1680156107545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61088c6004803603606081101561077857600080fd5b81359190810190604081016020820135600160201b81111561079957600080fd5b8201836020820111156107ab57600080fd5b803590602001918460208302840111600160201b831117156107cc57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561081b57600080fd5b82018360208201111561082d57600080fd5b803590602001918460208302840111600160201b8311171561084e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612041945050505050565b005b34801561089a57600080fd5b5061088c600480360360208110156108b157600080fd5b50356121f2565b3480156108c457600080fd5b506108f1600480360360408110156108db57600080fd5b506001600160a01b038135169060200135612264565b604080519115158252519081900360200190f35b34801561091157600080fd5b5061088c6004803603602081101561092857600080fd5b810190602081018135600160201b81111561094257600080fd5b82018360208201111561095457600080fd5b803590602001918460208302840111600160201b8311171561097557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612327945050505050565b3480156109bf57600080fd5b506109c861244d565b60408051918252519081900360200190f35b3480156109e657600080fd5b506109ef612451565b604080516001600160a01b039092168252519081900360200190f35b348015610a1757600080fd5b506109ef612460565b348015610a2c57600080fd5b5061088c60048036036020811015610a4357600080fd5b503561246f565b348015610a5657600080fd5b5061088c60048036036020811015610a6d57600080fd5b50356001600160a01b03166124c6565b61088c60048036036020811015610a9357600080fd5b810190602081018135600160201b811115610aad57600080fd5b820183602082011115610abf57600080fd5b803590602001918460208302840111600160201b83111715610ae057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506124f8945050505050565b348015610b2a57600080fd5b506109c86126d4565b348015610b3f57600080fd5b5061088c60048036036020811015610b5657600080fd5b50356001600160a01b031661274a565b348015610b7257600080fd5b5061088c60048036036020811015610b8957600080fd5b503561277d565b348015610b9c57600080fd5b5061088c60048036036020811015610bb357600080fd5b50356001600160a01b03166127d4565b348015610bcf57600080fd5b506108f160048036036060811015610be657600080fd5b506001600160a01b03813581169160208101359091169060400135612861565b348015610c1257600080fd5b5061088c60048036036020811015610c2957600080fd5b5035151561293c565b348015610c3e57600080fd5b506109ef61296b565b348015610c5357600080fd5b506109c860048036036020811015610c6a57600080fd5b50356001600160a01b031661297a565b348015610c8657600080fd5b506108f160048036036020811015610c9d57600080fd5b50356001600160a01b03166129ff565b348015610cb957600080fd5b506108f160048036036020811015610cd057600080fd5b5035612a52565b348015610ce357600080fd5b506109ef612b03565b348015610cf857600080fd5b50610d01612b12565b6040805160ff9092168252519081900360200190f35b61088c60048036036020811015610d2d57600080fd5b50356001600160a01b0316612b1b565b348015610d4957600080fd5b5061088c60048036036020811015610d6057600080fd5b5035612d08565b348015610d7357600080fd5b506108f160048036036020811015610d8a57600080fd5b50356001600160a01b0316612d5f565b348015610da657600080fd5b5061088c60048036036040811015610dbd57600080fd5b506001600160a01b038135169060200135612db2565b348015610ddf57600080fd5b506109ef612e0d565b348015610df457600080fd5b5061088c60048036036020811015610e0b57600080fd5b5035612e1c565b348015610e1e57600080fd5b506109ef612e73565b61088c612e82565b348015610e3b57600080fd5b5061088c60048036036020811015610e5257600080fd5b5035612eef565b348015610e6557600080fd5b5061088c60048036036020811015610e7c57600080fd5b5035612f46565b348015610e8f57600080fd5b5061088c60048036036040811015610ea657600080fd5b506001600160a01b038135169060200135612f9d565b348015610ec857600080fd5b5061088c60048036036020811015610edf57600080fd5b503561301f565b348015610ef257600080fd5b506108f1613076565b348015610f0757600080fd5b5061088c60048036036040811015610f1e57600080fd5b506001600160a01b0381351690602001356130d6565b348015610f4057600080fd5b5061088c60048036036020811015610f5757600080fd5b503561317b565b348015610f6a57600080fd5b5061088c6131ce565b348015610f7f57600080fd5b5061088c61321b565b61088c60048036036020811015610f9e57600080fd5b50356001600160a01b0316613268565b348015610fba57600080fd5b5061088c60048036036020811015610fd157600080fd5b503561341d565b61088c613474565b61088c60048036036020811015610ff657600080fd5b50356001600160a01b03166134c7565b34801561101257600080fd5b5061088c6135e8565b61088c6004803603602081101561103157600080fd5b810190602081018135600160201b81111561104b57600080fd5b82018360208201111561105d57600080fd5b803590602001918460208302840111600160201b8311171561107e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613634945050505050565b3480156110c857600080fd5b5061088c600480360360208110156110df57600080fd5b503561380b565b61088c600480360360208110156110fc57600080fd5b50356001600160a01b0316613862565b34801561111857600080fd5b5061088c6004803603602081101561112f57600080fd5b50356001600160a01b03166138f4565b34801561114b57600080fd5b5061088c6004803603604081101561116257600080fd5b506001600160a01b038135169060200135613964565b34801561118457600080fd5b506109c86004803603602081101561119b57600080fd5b50356001600160a01b0316613a83565b61088c613ad6565b61088c600480360360208110156111c957600080fd5b50356001600160a01b0316613b29565b3480156111e557600080fd5b5061088c600480360360408110156111fc57600080fd5b506001600160a01b038135169060200135613bbb565b34801561121e57600080fd5b506109ef613c53565b34801561123357600080fd5b5061088c6004803603602081101561124a57600080fd5b5035613c62565b34801561125d57600080fd5b5061088c6004803603604081101561127457600080fd5b810190602081018135600160201b81111561128e57600080fd5b8201836020820111156112a057600080fd5b803590602001918460208302840111600160201b831117156112c157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250613cb6915050565b34801561130d57600080fd5b5061088c613e21565b61088c6004803603602081101561132c57600080fd5b50356001600160a01b0316614232565b61088c6004803603602081101561135257600080fd5b810190602081018135600160201b81111561136c57600080fd5b82018360208201111561137e57600080fd5b803590602001918460208302840111600160201b8311171561139f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506142c4945050505050565b3480156113e957600080fd5b506109ef614393565b3480156113fe57600080fd5b5061088c6004803603602081101561141557600080fd5b810190602081018135600160201b81111561142f57600080fd5b82018360208201111561144157600080fd5b803590602001918460208302840111600160201b8311171561146257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506143a2945050505050565b3480156114ac57600080fd5b506109ef6145b2565b3480156114c157600080fd5b506109ef6145c1565b61088c600480360360408110156114e057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561150a57600080fd5b82018360208201111561151c57600080fd5b803590602001918460208302840111600160201b8311171561153d57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506145d0945050505050565b34801561158757600080fd5b506108f16004803603602081101561159e57600080fd5b50356001600160a01b03166147f8565b3480156115ba57600080fd5b5061088c61484b565b3480156115cf57600080fd5b5061088c600480360360208110156115e657600080fd5b50356001600160a01b0316614870565b34801561160257600080fd5b506106ed6148dc565b34801561161757600080fd5b5061088c6004803603602081101561162e57600080fd5b50356001600160a01b0316614936565b61088c6149a6565b61088c614a7d565b61088c61486e565b34801561166257600080fd5b5061088c6004803603602081101561167957600080fd5b5035614b54565b34801561168c57600080fd5b5061088c600480360360408110156116a357600080fd5b506001600160a01b038135169060200135614bab565b3480156116c557600080fd5b5061088c600480360360208110156116dc57600080fd5b50356001600160a01b0316614caa565b3480156116f857600080fd5b5061088c614cdd565b61088c6004803603604081101561171757600080fd5b810190602081018135600160201b81111561173157600080fd5b82018360208201111561174357600080fd5b803590602001918460208302840111600160201b8311171561176457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156117b357600080fd5b8201836020820111156117c557600080fd5b803590602001918460208302840111600160201b831117156117e657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550614d2a945050505050565b34801561183057600080fd5b506109ef614e42565b34801561184557600080fd5b506109c86004803603602081101561185c57600080fd5b50356001600160a01b0316614e51565b34801561187857600080fd5b5061088c6004803603602081101561188f57600080fd5b5035614ea6565b3480156118a257600080fd5b5061088c614efd565b3480156118b757600080fd5b5061088c614f49565b3480156118cc57600080fd5b5061088c600480360360208110156118e357600080fd5b50356001600160a01b0316614f96565b3480156118ff57600080fd5b506109ef615006565b34801561191457600080fd5b5061088c6004803603602081101561192b57600080fd5b50356001600160a01b0316615015565b34801561194757600080fd5b506108f1615085565b34801561195c57600080fd5b5061088c6004803603606081101561197357600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156119a257600080fd5b8201836020820111156119b457600080fd5b803590602001918460208302840111600160201b831117156119d557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550615095945050505050565b61088c60048036036020811015611a2957600080fd5b810190602081018135600160201b811115611a4357600080fd5b820183602082011115611a5557600080fd5b803590602001918460208302840111600160201b83111715611a7657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061524b945050505050565b348015611ac057600080fd5b5061088c61550c565b348015611ad557600080fd5b5061088c60048036036020811015611aec57600080fd5b50356001600160a01b0316615559565b348015611b0857600080fd5b5061088c60048036036020811015611b1f57600080fd5b503561563c565b348015611b3257600080fd5b506109ef615693565b348015611b4757600080fd5b5061088c60048036036020811015611b5e57600080fd5b50356156a2565b348015611b7157600080fd5b5061088c60048036036060811015611b8857600080fd5b81359190810190604081016020820135600160201b811115611ba957600080fd5b820183602082011115611bbb57600080fd5b803590602001918460208302840111600160201b83111715611bdc57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115611c2b57600080fd5b820183602082011115611c3d57600080fd5b803590602001918460208302840111600160201b83111715611c5e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506156f5945050505050565b348015611ca857600080fd5b5061088c60048036036020811015611cbf57600080fd5b50356158a5565b348015611cd257600080fd5b5061088c60048036036020811015611ce957600080fd5b50356158fc565b348015611cfc57600080fd5b506109c860048036036040811015611d1357600080fd5b506001600160a01b0381358116916020013516615953565b348015611d3757600080fd5b5061088c60048036036020811015611d4e57600080fd5b50356159e3565b348015611d6157600080fd5b5061088c60048036036020811015611d7857600080fd5b50356001600160a01b0316615a3a565b348015611d9457600080fd5b506109ef615a6d565b348015611da957600080fd5b506109c8615a7c565b348015611dbe57600080fd5b5061088c615aff565b348015611dd357600080fd5b5061088c615b26565b348015611de857600080fd5b5061088c60048036036020811015611dff57600080fd5b50356001600160a01b0316615b69565b348015611e1b57600080fd5b506109ef615b9c565b348015611e3057600080fd5b5061088c60048036036020811015611e4757600080fd5b810190602081018135600160201b811115611e6157600080fd5b820183602082011115611e7357600080fd5b803590602001918460208302840111600160201b83111715611e9457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550615bb0945050505050565b348015611ede57600080fd5b506108f160048036036020811015611ef557600080fd5b50356001600160a01b0316615c54565b348015611f1157600080fd5b5061088c60048036036020811015611f2857600080fd5b50356001600160a01b0316615ca7565b348015611f4457600080fd5b5061088c60048036036020811015611f5b57600080fd5b50356001600160a01b0316615cfc565b348015611f7757600080fd5b506109ef615d6c565b348015611f8c57600080fd5b506108f160048036036020811015611fa357600080fd5b50356001600160a01b0316615d7b565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156120395780601f1061200e57610100808354040283529160200191612039565b820191906000526020600020905b81548152906001019060200180831161201c57829003601f168201915b505050505081565b82156120f157600a54600e54604080516317d5759960e31b81523360048201526001600160a01b039283166024820152604481018790529051919092169163beabacc891606480830192600092919082900301818387803b1580156120a557600080fd5b505af11580156120b9573d6000803e3d6000fd5b5050600e546040805187815290516001600160a01b039092169350339250600080516020615e88833981519152919081900360200190a35b600e54604051632433a49160e11b81523360048201818152602483018790526080604484019081528651608485015286516001600160a01b03909516946348674922943494938a938a938a93606481019160a4909101906020808801910280838360005b8381101561216d578181015183820152602001612155565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156121ac578181015183820152602001612194565b5050505090500196505050505050506000604051808303818588803b1580156121d457600080fd5b505af11580156121e8573d6000803e3d6000fd5b5050505050505050565b600254604080516305de45bd60e11b81523360048201526024810184905290516101009092046001600160a01b031691630bbc8b7a9160448082019260009290919082900301818387803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b5050505050565b6002546040805163779a859960e11b81523360048201526001600160a01b03858116602483015260448201859052915160009361010090049092169163ef350b3291606480820192869290919082900301818387803b1580156122c657600080fd5b505af11580156122da573d6000803e3d6000fd5b50506040805185815290516001600160a01b03871693503392507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360200190a350600192915050565b60005b815181101561239f5760006001600160a01b031682828151811061234a57fe5b60200260200101516001600160a01b0316600080516020615e8883398151915261238685858151811061237957fe5b6020026020010151613a83565b60408051918252519081900360200190a360010161232a565b6004805460408051633ca4fe7b60e11b815233938101848152602482019283528651604483015286516001600160a01b0390941694637949fcf6949093889390916064909101906020808601910280838360005b8381101561240b5781810151838201526020016123f3565b505050509050019350505050600060405180830381600087803b15801561243157600080fd5b505af1158015612445573d6000803e3d6000fd5b505050505050565b4390565b6003546001600160a01b031681565b6011546001600160a01b031681565b60025460408051633429fca760e21b81523360048201526024810184905290516101009092046001600160a01b03169163d0a7f29c9160448082019260009290919082900301818387803b15801561224957600080fd5b600f546001600160a01b03163314156106d357600b80546001600160a01b0319166001600160a01b0383161790555b50565b805160025460408051633238268960e01b81529051839261010090046001600160a01b0316916332382689916004808301926020929190829003018186803b15801561254357600080fd5b505afa158015612557573d6000803e3d6000fd5b505050506040513d602081101561256d57600080fd5b50510234146125ad5760405162461bcd60e51b8152600401808060200182810382526031815260200180615ea86031913960400191505060405180910390fd5b60005b818110156126cf5760045483516001600160a01b03909116906376067e67908590849081106125db57fe5b6020026020010151600260019054906101000a90046001600160a01b03166001600160a01b031663323826896040518163ffffffff1660e01b815260040160206040518083038186803b15801561263157600080fd5b505afa158015612645573d6000803e3d6000fd5b505050506040513d602081101561265b57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b1580156126ab57600080fd5b505af11580156126bf573d6000803e3d6000fd5b5050600190920191506125b09050565b505050565b600a54604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561271957600080fd5b505afa15801561272d573d6000803e3d6000fd5b505050506040513d602081101561274357600080fd5b5051905090565b600f546001600160a01b03163314156106d357600e80546001600160a01b0319166001600160a01b0383161790556124f5565b600254604080516372a4edd560e01b81523360048201526024810184905290516101009092046001600160a01b0316916372a4edd59160448082019260009290919082900301818387803b15801561224957600080fd5b600f546001600160a01b03163314156106d357600780546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b505af1158015612858573d6000803e3d6000fd5b505050506124f5565b600a5460408051630aed65f560e11b81523360048201526001600160a01b0386811660248301528581166044830152606482018590529151600093849316916315dacbea91608480830192602092919082900301818787803b1580156128c657600080fd5b505af11580156128da573d6000803e3d6000fd5b505050506040513d60208110156128f057600080fd5b50519050801561293457836001600160a01b0316856001600160a01b0316600080516020615e88833981519152856040518082815260200191505060405180910390a35b949350505050565b6010546001600160a01b03163314156124f55760108054821515600160a01b0260ff60a01b1990911617905550565b600b546001600160a01b031681565b60048054604080516325d998bb60e01b81526001600160a01b03858116948201949094529051600093909216916325d998bb91602480820192602092909190829003018186803b1580156129cd57600080fd5b505afa1580156129e1573d6000803e3d6000fd5b505050506040513d60208110156129f757600080fd5b505192915050565b60048054604080516314a00c3d60e11b81526001600160a01b0385811694820194909452905160009390921691632940187a91602480820192602092909190829003018186803b1580156129cd57600080fd5b6004805460408051631c46b08160e11b8152339381019390935260248301849052516000926001600160a01b039092169163388d610291604480830192602092919082900301818787803b158015612aa957600080fd5b505af1158015612abd573d6000803e3d6000fd5b505050506040513d6020811015612ad357600080fd5b50506040805183815290516000913391600080516020615e888339815191529181900360200190a3506001919050565b6004546001600160a01b031681565b60025460ff1681565b600480546040805163482ad11f60e11b81526001600160a01b038581169482019490945290519290911691639055a23e91602480820192602092909190829003018186803b158015612b6c57600080fd5b505afa158015612b80573d6000803e3d6000fd5b505050506040513d6020811015612b9657600080fd5b505115612bab57612ba6816134c7565b6124f5565b60048054604080516314a00c3d60e11b81526001600160a01b038581169482019490945290519290911691632940187a91602480820192602092909190829003018186803b158015612bfc57600080fd5b505afa158015612c10573d6000803e3d6000fd5b505050506040513d6020811015612c2657600080fd5b505115612c3657612ba681613b29565b60048054604080516001620769d360e31b031981526001600160a01b03858116948201949094529051929091169163ffc4b16891602480820192602092909190829003018186803b158015612c8a57600080fd5b505afa158015612c9e573d6000803e3d6000fd5b505050506040513d6020811015612cb457600080fd5b505115612cc457612ba681613862565b6040805162461bcd60e51b815260206004820152601460248201527341646472657373206e6f7420666f722073616c6560601b604482015290519081900360640190fd5b6002546040805163f5d1858560e01b81523360048201526024810184905290516101009092046001600160a01b03169163f5d185859160448082019260009290919082900301818387803b15801561224957600080fd5b600480546040805163036d699160e41b81526001600160a01b03858116948201949094529051600093909216916336d6991091602480820192602092909190829003018186803b1580156129cd57600080fd5b6006546040805163f8e4df0f60e01b81523360048201526001600160a01b038581166024830152604482018590529151919092169163f8e4df0f91606480830192600092919082900301818387803b15801561243157600080fd5b6005546001600160a01b031681565b600254604080516304e49a5f60e51b81523360048201526024810184905290516101009092046001600160a01b031691639c934be09160448082019260009290919082900301818387803b15801561224957600080fd5b600e546001600160a01b031681565b60048054604080516376067e6760e01b81523393810193909352346024840152516001600160a01b03909116916376067e6791604480830192600092919082900301818387803b158015612ed557600080fd5b505af1158015612ee9573d6000803e3d6000fd5b50505050565b60025460408051632f89629160e21b81523360048201526024810184905290516101009092046001600160a01b03169163be258a449160448082019260009290919082900301818387803b15801561224957600080fd5b6002546040805163c226832b60e01b81523360048201526024810184905290516101009092046001600160a01b03169163c226832b9160448082019260009290919082900301818387803b15801561224957600080fd5b806104d214612fab57600080fd5b600f546001600160a01b03163314156106d357600380546001600160a01b0319166001600160a01b038481169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561243157600080fd5b5050565b600254604080516312b0e54d60e31b81523360048201526024810184905290516101009092046001600160a01b0316916395872a689160448082019260009290919082900301818387803b15801561224957600080fd5b600a5460408051633b8d674f60e01b815233600482015290516000926001600160a01b031691633b8d674f91602480830192602092919082900301818787803b1580156130c257600080fd5b505af115801561272d573d6000803e3d6000fd5b60055460408051631e4eb16d60e31b81523360048201526001600160a01b038581166024830152604482018590529151919092169163f2758b6891606480830192600092919082900301818387803b15801561313157600080fd5b505af1158015613145573d6000803e3d6000fd5b50506040805184815290516001600160a01b0386169350309250600080516020615e888339815191529181900360200190a35050565b60055460408051631d90fdf560e31b81523360048201526024810184905290516001600160a01b039092169163ec87efa89160448082019260009290919082900301818387803b15801561224957600080fd5b60048054604080516306baf26360e01b81523393810193909352516001600160a01b03909116916306baf26391602480830192600092919082900301818387803b158015612ed557600080fd5b60048054604080516352ba171d60e01b81523393810193909352516001600160a01b03909116916352ba171d91602480830192600092919082900301818387803b158015612ed557600080fd5b60025460408051633b317dab60e01b81526001600160a01b0384811660048301529151600093610100900490921691633b317dab91602480820192602092909190829003018186803b1580156132bd57600080fd5b505afa1580156132d1573d6000803e3d6000fd5b505050506040513d60208110156132e757600080fd5b505160075460408051632bfac20f60e01b81523360048201526001600160a01b038681166024830152346044830152825194955060009485949190911692632bfac20f926064808201939182900301818787803b15801561334757600080fd5b505af115801561335b573d6000803e3d6000fd5b505050506040513d604081101561337157600080fd5b508051602090910151909250905061338882612a52565b506040516001600160a01b0385169082156108fc029083906000818181858888f193505050506133e95760405162461bcd60e51b8152600401808060200182810382526023815260200180615e326023913960400191505060405180910390fd5b60408051848152905133916001600160a01b03871691600080516020615e128339815191529181900360200190a350505050565b60025460408051637626dfcf60e01b81523360048201526024810184905290516101009092046001600160a01b031691637626dfcf9160448082019260009290919082900301818387803b15801561224957600080fd5b600480546040805163ecc517f160e01b81523393810193909352346024840152516001600160a01b039091169163ecc517f191604480830192600092919082900301818387803b158015612ed557600080fd5b336001600160a01b038216600080516020615e888339815191526134ea84613a83565b60408051918252519081900360200190a36008546040805163eb19110d60e01b81523360048201526001600160a01b0384811660248301523460448301529151600093929092169163eb19110d9160648082019260209290919082900301818787803b15801561355957600080fd5b505af115801561356d573d6000803e3d6000fd5b505050506040513d602081101561358357600080fd5b50516040519091506001600160a01b0383169082156108fc029083906000818181858888f1935050505061301b5760405162461bcd60e51b8152600401808060200182810382526023815260200180615e326023913960400191505060405180910390fd5b6005546040805163062199f760e31b815233600482015290516001600160a01b039092169163310ccfb89160248082019260009290919082900301818387803b158015612ed557600080fd5b80516002546040805163d050a90560e01b81529051839261010090046001600160a01b03169163d050a905916004808301926020929190829003018186803b15801561367f57600080fd5b505afa158015613693573d6000803e3d6000fd5b505050506040513d60208110156136a957600080fd5b50510234146136e95760405162461bcd60e51b8152600401808060200182810382526033815260200180615e556033913960400191505060405180910390fd5b60005b818110156126cf5760045483516001600160a01b039091169063ecc517f19085908490811061371757fe5b6020026020010151600260019054906101000a90046001600160a01b03166001600160a01b031663d050a9056040518163ffffffff1660e01b815260040160206040518083038186803b15801561376d57600080fd5b505afa158015613781573d6000803e3d6000fd5b505050506040513d602081101561379757600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b1580156137e757600080fd5b505af11580156137fb573d6000803e3d6000fd5b5050600190920191506136ec9050565b6002546040805163225e453360e21b81523360048201526024810184905290516101009092046001600160a01b03169163897914cc9160448082019260009290919082900301818387803b15801561224957600080fd5b336001600160a01b038216600080516020615e8883398151915261388584613a83565b60408051918252519081900360200190a36008546040805163e7cba43360e01b81523360048201526001600160a01b0384811660248301523460448301529151600093929092169163e7cba4339160648082019260209290919082900301818787803b15801561355957600080fd5b600f546001600160a01b03163314156106d357600580546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b6001600160a01b0382163014156139be576040805162461bcd60e51b8152602060048201526019602482015278696620285f746f203d3d20616464726573732874686973292960381b604482015290519081900360640190fd5b60065460408051631c1b2e5560e21b81523360048201526001600160a01b038581166024830152604482018590529151613a5093929092169163706cb954916064808201926020929091908290030181600087803b158015613a1f57600080fd5b505af1158015613a33573d6000803e3d6000fd5b505050506040513d6020811015613a4957600080fd5b5051612a52565b506040805182815290516001600160a01b038416913391600080516020615e128339815191529181900360200190a35050565b60048054604080516370a0823160e01b81526001600160a01b03858116948201949094529051600093909216916370a0823191602480820192602092909190829003018186803b1580156129cd57600080fd5b600480546040805163016e045960e41b81523393810193909352346024840152516001600160a01b03909116916316e0459091604480830192600092919082900301818387803b158015612ed557600080fd5b336001600160a01b038216600080516020615e88833981519152613b4c84613a83565b60408051918252519081900360200190a3600854604080516345b4f43b60e01b81523360048201526001600160a01b038481166024830152346044830152915160009392909216916345b4f43b9160648082019260209290919082900301818787803b15801561355957600080fd5b806104d214613bc957600080fd5b600f546001600160a01b03163314156106d35781600260016101000a8154816001600160a01b0302191690836001600160a01b03160217905550600260019054906101000a90046001600160a01b03166001600160a01b03166313b9f0c76040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561243157600080fd5b6006546001600160a01b031681565b600480546040805163ed401ac360e01b8152339381019390935260248301849052516001600160a01b039091169163ed401ac391604480830192600092919082900301818387803b15801561224957600080fd5b600254604080516349ca9db360e01b8152905160009261010090046001600160a01b0316916349ca9db3916004808301926020929190829003018186803b158015613d0057600080fd5b505afa158015613d14573d6000803e3d6000fd5b505050506040513d6020811015613d2a57600080fd5b50518015613db95750600260019054906101000a90046001600160a01b03166001600160a01b031663fb6560676040518163ffffffff1660e01b815260040160206040518083038186803b158015613d8157600080fd5b505afa158015613d95573d6000803e3d6000fd5b505050506040513d6020811015613dab57600080fd5b50516001600160a01b031633145b156106d3575b8251811015613e1c57828181518110613dd457fe5b60200260200101516001600160a01b0316306001600160a01b0316600080516020615e88833981519152846040518082815260200191505060405180910390a3600101613dbf565b6126cf565b333214613e2d57600080fd5b601054600160a01b900460ff1615613e7e576040805162461bcd60e51b815260206004820152600f60248201526e14185e5bdd5d1cc8109b1bd8dad959608a1b604482015290519081900360640190fd5b4780613ed1576040805162461bcd60e51b815260206004820152601860248201527f282128636f6e747261637442616c616e6365203e203029290000000000000000604482015290519081900360640190fd5b6003546040805163643a943160e01b8152905160009283926001600160a01b039091169163643a943191600480820192602092909190829003018186803b158015613f1b57600080fd5b505afa158015613f2f573d6000803e3d6000fd5b505050506040513d6020811015613f4557600080fd5b505190505b808210156126cf576003546040805163124183a760e31b81526004810185905290516000926001600160a01b03169163920c1d38916024808301926020929190829003018186803b158015613f9e57600080fd5b505afa158015613fb2573d6000803e3d6000fd5b505050506040513d6020811015613fc857600080fd5b505160025460408051633b317dab60e01b81526001600160a01b038085166004830152915193945060009361010090930490911691633b317dab91602480820192602092909190829003018186803b15801561402357600080fd5b505afa158015614037573d6000803e3d6000fd5b505050506040513d602081101561404d57600080fd5b50516002546040805163433ad96960e11b815290519293506000926101009092046001600160a01b031691638675b2d291600480820192602092909190829003018186803b15801561409e57600080fd5b505afa1580156140b2573d6000803e3d6000fd5b505050506040513d60208110156140c857600080fd5b5051868302816140d457fe5b0490508015614224576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505061414e57604080518381526020810183905281516001600160a01b038616927f50a6033bb1b577c577f67a1425e1ac9939c9382b114ae85b5274fd3e76a7f7df928290030190a2614224565b6002546040805163028f4a6960e41b815290516101009092046001600160a01b031691631eeb57ec91849184916328f4a690916004808301926020929190829003018186803b1580156141a057600080fd5b505afa1580156141b4573d6000803e3d6000fd5b505050506040513d60208110156141ca57600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b15801561420b57600080fd5b505af115801561421f573d6000803e3d6000fd5b505050505b505060019092019150613f4a565b336001600160a01b038216600080516020615e8883398151915261425584613a83565b60408051918252519081900360200190a360055460408051636311a8d360e11b81523360048201526001600160a01b0384811660248301523460448301529151600093929092169163c62351a69160648082019260209290919082900301818787803b15801561355957600080fd5b600c5460408051631a3a8c1f60e21b81523360048201818152602483019384528551604484015285516000956001600160a01b0316946368ea307c94349493899390929160640190602080860191028083838d5b83811015614330578181015183820152602001614318565b5050505090500193505050506020604051808303818588803b15801561435557600080fd5b505af1158015614369573d6000803e3d6000fd5b50505050506040513d602081101561438057600080fd5b50519050801561301b576126cf81612a52565b6008546001600160a01b031681565b600254604080516349ca9db360e01b8152905160009261010090046001600160a01b0316916349ca9db3916004808301926020929190829003018186803b1580156143ec57600080fd5b505afa158015614400573d6000803e3d6000fd5b505050506040513d602081101561441657600080fd5b505180156144a55750600260019054906101000a90046001600160a01b03166001600160a01b031663fb6560676040518163ffffffff1660e01b815260040160206040518083038186803b15801561446d57600080fd5b505afa158015614481573d6000803e3d6000fd5b505050506040513d602081101561449757600080fd5b50516001600160a01b031633145b156106d3575b81518110156145ad578181815181106144c057fe5b60200260200101516001600160a01b0316306001600160a01b0316600080516020615e88833981519152600460009054906101000a90046001600160a01b03166001600160a01b03166370a0823186868151811061451a57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561456857600080fd5b505afa15801561457c573d6000803e3d6000fd5b505050506040513d602081101561459257600080fd5b505160408051918252519081900360200190a36001016144ab565b61301b565b6010546001600160a01b031681565b600a546001600160a01b031681565b60025460408051633b317dab60e01b81526001600160a01b0385811660048301529151600093610100900490921691633b317dab91602480820192602092909190829003018186803b15801561462557600080fd5b505afa158015614639573d6000803e3d6000fd5b505050506040513d602081101561464f57600080fd5b5051905060005b82518110156146be5760006001600160a01b031683828151811061467657fe5b60200260200101516001600160a01b0316600080516020615e888339815191526146a586858151811061237957fe5b60408051918252519081900360200190a3600101614656565b6007546040516367711a5960e01b815233600482018181526001600160a01b038881166024850152346064850181905260806044860190815289516084870152895160009793909316956367711a5995948c948c9493919260a40190602080870191028083838e5b8381101561473e578181015183820152602001614726565b5050505090500195505050505050602060405180830381600087803b15801561476657600080fd5b505af115801561477a573d6000803e3d6000fd5b505050506040513d602081101561479057600080fd5b50516040519091506001600160a01b0386169082156108fc029083906000818181858888f193505050506147c357600080fd5b60408051848152905133916001600160a01b03881691600080516020615e128339815191529181900360200190a35050505050565b600480546040805163482ad11f60e11b81526001600160a01b0385811694820194909452905160009390921691639055a23e91602480820192602092909190829003018186803b1580156129cd57600080fd5b6010546001600160a01b03166106d357601080546001600160a01b031916331790555b565b600f546001600160a01b03163314156106d357600480546001600160a01b0319166001600160a01b0383811691909117808355604080516313b9f0c760e01b8152905191909216926313b9f0c79280820192600092909182900301818387803b15801561284457600080fd5b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156120395780601f1061200e57610100808354040283529160200191612039565b600f546001600160a01b03163314156106d357600980546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b6009546040805163b378e89b60e01b8152336004820152346024820152815160009384936001600160a01b039091169263b378e89b926044808301939282900301818787803b1580156149f857600080fd5b505af1158015614a0c573d6000803e3d6000fd5b505050506040513d6040811015614a2257600080fd5b5080516020909101519092509050614a3982612a52565b50604080516001600160a01b0383168152905133917fc372ae39394d4f0b2ac49b0e0c2200b3e9a7e66b3c52d01aef930695f1296804919081900360200190a25050565b6009546040805163291c964760e21b8152336004820152346024820152815160009384936001600160a01b039091169263a472591c926044808301939282900301818787803b158015614acf57600080fd5b505af1158015614ae3573d6000803e3d6000fd5b505050506040513d6040811015614af957600080fd5b5080516020909101519092509050614b1082612a52565b50604080516001600160a01b0383168152905133917f1f4d287b617c59dd118975b7dd7525ab82bb32e7a6db7023cf41bf6af3c21494919081900360200190a25050565b60025460408051634ea8c93760e11b81523360048201526024810184905290516101009092046001600160a01b031691639d51926e9160448082019260009290919082900301818387803b15801561224957600080fd5b6001600160a01b038216301415614c05576040805162461bcd60e51b8152602060048201526019602482015278696620285f746f203d3d20616464726573732874686973292960381b604482015290519081900360640190fd5b600a54604080516317d5759960e31b81523360048201526001600160a01b038581166024830152604482018590529151919092169163beabacc891606480830192600092919082900301818387803b158015614c6057600080fd5b505af1158015614c74573d6000803e3d6000fd5b50506040805184815290516001600160a01b0386169350339250600080516020615e888339815191529181900360200190a35050565b600f546001600160a01b03163314156106d357600d80546001600160a01b0319166001600160a01b0383161790556124f5565b600480546040805163ca02eb9d60e01b81523393810193909352516001600160a01b039091169163ca02eb9d91602480830192600092919082900301818387803b158015612ed557600080fd5b600d5460405163fe942a2d60e01b815233600482018181526060602484019081528651606485015286516000956001600160a01b03169463fe942a2d94349490938a938a936044810191608490910190602080880191028083838f5b83811015614d9e578181015183820152602001614d86565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015614ddd578181015183820152602001614dc5565b50505050905001955050505050506020604051808303818588803b158015614e0457600080fd5b505af1158015614e18573d6000803e3d6000fd5b50505050506040513d6020811015614e2f57600080fd5b5051905080156126cf57612ee981612a52565b600d546001600160a01b031681565b60025460408051633b317dab60e01b81526001600160a01b0384811660048301529151600093610100900490921691633b317dab91602480820192602092909190829003018186803b1580156129cd57600080fd5b600254604080516344c077ab60e11b81523360048201526024810184905290516101009092046001600160a01b031691638980ef569160448082019260009290919082900301818387803b15801561224957600080fd5b6006546040805163ac39285b60e01b815233600482015290516001600160a01b039092169163ac39285b9160248082019260009290919082900301818387803b158015612ed557600080fd5b600480546040805163034043e160e51b81523393810193909352516001600160a01b03909116916368087c2091602480830192600092919082900301818387803b158015612ed557600080fd5b600f546001600160a01b03163314156106d357600880546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b6007546001600160a01b031681565b600f546001600160a01b03163314156106d357600680546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b601054600160a01b900460ff1681565b6001600160a01b0383163014156150ef576040805162461bcd60e51b8152602060048201526019602482015278696620285f746f203d3d20616464726573732874686973292960381b604482015290519081900360640190fd5b60005b815181101561515a5760006001600160a01b031682828151811061511257fe5b60200260200101516001600160a01b0316600080516020615e8883398151915261514185858151811061237957fe5b60408051918252519081900360200190a36001016150f2565b600654604051632464a27d60e01b815233600482018181526001600160a01b038881166024850152604484018890526080606485019081528751608486015287519190951694632464a27d948a938a938a93919260a401906020808601910280838360005b838110156151d75781810151838201526020016151bf565b5050505090500195505050505050600060405180830381600087803b1580156151ff57600080fd5b505af1158015615213573d6000803e3d6000fd5b50506040805186815290516001600160a01b0388169350339250600080516020615e128339815191529181900360200190a350505050565b80516002546040805163d050a90560e01b81529051839261010090046001600160a01b03169163d050a905916004808301926020929190829003018186803b15801561529657600080fd5b505afa1580156152aa573d6000803e3d6000fd5b505050506040513d60208110156152c057600080fd5b505160025460408051633238268960e01b815290516101009092046001600160a01b031691633238268991600480820192602092909190829003018186803b15801561530b57600080fd5b505afa15801561531f573d6000803e3d6000fd5b505050506040513d602081101561533557600080fd5b5051010234146153765760405162461bcd60e51b8152600401808060200182810382526040815260200180615dd26040913960400191505060405180910390fd5b60005b818110156126cf5760045483516001600160a01b03909116906316e04590908590849081106153a457fe5b6020026020010151600260019054906101000a90046001600160a01b03166001600160a01b031663d050a9056040518163ffffffff1660e01b815260040160206040518083038186803b1580156153fa57600080fd5b505afa15801561540e573d6000803e3d6000fd5b505050506040513d602081101561542457600080fd5b505160025460408051633238268960e01b815290516101009092046001600160a01b031691633238268991600480820192602092909190829003018186803b15801561546f57600080fd5b505afa158015615483573d6000803e3d6000fd5b505050506040513d602081101561549957600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b0390941660048501529101602483015251604480830192600092919082900301818387803b1580156154e857600080fd5b505af11580156154fc573d6000803e3d6000fd5b5050600190920191506153799050565b60048054604080516371681de560e11b81523393810193909352516001600160a01b039091169163e2d03bca91602480830192600092919082900301818387803b158015612ed557600080fd5b6001600160a01b03811633600080516020615e8883398151915261557c82613a83565b60408051918252519081900360200190a36001600160a01b0381163014156155e7576040805162461bcd60e51b8152602060048201526019602482015278696620285f746f203d3d20616464726573732874686973292960381b604482015290519081900360640190fd5b60048054604080516334d5831d60e21b815233938101939093526001600160a01b038481166024850152905191169163d3560c7491604480830192600092919082900301818387803b15801561224957600080fd5b60025460408051631d25fd5560e01b81523360048201526024810184905290516101009092046001600160a01b031691631d25fd559160448082019260009290919082900301818387803b15801561224957600080fd5b6009546001600160a01b031681565b60065460408051637cb6d17b60e11b81523360048201526024810184905290516001600160a01b039092169163f96da2f69160448082019260009290919082900301818387803b15801561224957600080fd5b82156157a557600a54600b54604080516317d5759960e31b81523360048201526001600160a01b039283166024820152604481018790529051919092169163beabacc891606480830192600092919082900301818387803b15801561575957600080fd5b505af115801561576d573d6000803e3d6000fd5b5050600b546040805187815290516001600160a01b039092169350339250600080516020615e88833981519152919081900360200190a35b600b54604051630a67889360e01b81523360048201818152602483018790526080604484019081528651608485015286516001600160a01b0390951694630a6788939489938993899391929091606482019160a401906020808801910280838360005b83811015615820578181015183820152602001615808565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561585f578181015183820152602001615847565b505050509050019650505050505050600060405180830381600087803b15801561588857600080fd5b505af115801561589c573d6000803e3d6000fd5b50505050505050565b600254604080516333dfca3560e21b81523360048201526024810184905290516101009092046001600160a01b03169163cf7f28d49160448082019260009290919082900301818387803b15801561224957600080fd5b6002546040805163124e91b960e01b81523360048201526024810184905290516101009092046001600160a01b03169163124e91b99160448082019260009290919082900301818387803b15801561224957600080fd5b60025460408051635c65816560e01b81526001600160a01b03858116600483015284811660248301529151600093610100900490921691635c65816591604480820192602092909190829003018186803b1580156159b057600080fd5b505afa1580156159c4573d6000803e3d6000fd5b505050506040513d60208110156159da57600080fd5b50519392505050565b60025460408051633bb868dd60e21b81523360048201526024810184905290516101009092046001600160a01b03169163eee1a3749160448082019260009290919082900301818387803b15801561224957600080fd5b6010546001600160a01b03163314156106d357601180546001600160a01b0319166001600160a01b0383161790556124f5565b600c546001600160a01b031681565b6000600260019054906101000a90046001600160a01b03166001600160a01b031663e5f65c716040518163ffffffff1660e01b815260040160206040518083038186803b158015615acc57600080fd5b505afa158015615ae0573d6000803e3d6000fd5b505050506040513d6020811015615af657600080fd5b50514303905090565b600f546001600160a01b03166106d357600f80546001600160a01b0319163317905561486e565b601054600160a01b900460ff161561486e576011546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505061486e57600080fd5b600f546001600160a01b03163314156106d357600c80546001600160a01b0319166001600160a01b0383161790556124f5565b60025461010090046001600160a01b031681565b805160005b818110156126cf5760045483516001600160a01b03909116906352ba171d90859084908110615be057fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015615c3057600080fd5b505af1158015615c44573d6000803e3d6000fd5b505060019092019150615bb59050565b600480546040805163eb0fbbad60e01b81526001600160a01b038581169482019490945290516000939092169163eb0fbbad91602480820192602092909190829003018186803b1580156129cd57600080fd5b600480546040805163d42e1c2f60e01b815233938101939093526001600160a01b038481166024850152905191169163d42e1c2f91604480830192600092919082900301818387803b15801561224957600080fd5b600f546001600160a01b03163314156106d357600a80546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b600f546001600160a01b031681565b60048054604080516001620769d360e31b031981526001600160a01b038581169482019490945290516000939092169163ffc4b16891602480820192602092909190829003018186803b1580156129cd57600080fdfe2877656956616c756520213d2028286d73672e76616c7565202b2070632e657468466565546f55706772616465546f4c6576656c332829292a636f756e742929cc6ddb19d323297cc6ed8f3dbda06395f6f153d24bf678f36305752ab635e10928215f616464726573732e73656e642866656573546f506179546f53656c6c65722929286d73672e76616c756520213d202870632e657468466565546f55706772616465546f4c6576656c3328292a636f756e742929ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef286d73672e76616c756520213d2070632e657468466565546f55706772616465546f4c6576656c3228292a636f756e7429a2646970667358221220fbe85c3a6fa0919c93491c769155cdfad5809a0a4845bd3d867d33fbea239d1764736f6c6343000601003300000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000805385fba3f03a24d793721f4583be53d3abf86b000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c000000000000000000000000905139d0b050157d5786ba55cbb7c0bb23de48a20000000000000000000000000b11403debdef5eb2b094d71b39c2f71339933e4000000000000000000000000955c475da7a43247b10874dd610e113991b8c220000000000000000000000000e9a4319702b271765fdd9a2134e511bdc4d2a2c800000000000000000000000067d817f7d61d14b0308854cb277011d7ac024d2d0000000000000000000000007766b5f6fc12ef01ac9fe52ed550d854b0375d5f
Deployed Bytecode
0x6080604052600436106106d35760003560e01c806374a72e411161037a578063bd65fc4c116101d1578063ddcbfce011610102578063e69919ae116100a0578063ef3dd5c81161007a578063ef3dd5c814611f05578063fd3c763814611f38578063fdbc653014611f6b578063ffc4b16814611f80576106d3565b8063e69919ae14611e0f578063e9095e5c14611e24578063eb0fbbad14611ed2576106d3565b8063e12ed13c116100dc578063e12ed13c14611d9d578063e241263014611db2578063e33eaaf714611dc7578063e4c4b47c14611ddc576106d3565b8063ddcbfce014611d2b578063df02f1db14611d55578063df462a4714611d88576106d3565b8063d4f745791161016f578063db59ab3a11610149578063db59ab3a14611b65578063dc8689fc14611c9c578063dd2c455c14611cc6578063dd62ed3e14611cf0576106d3565b8063d4f7457914611afc578063dae487ca14611b26578063db16cb5b14611b3b576106d3565b8063c1696533116101ab578063c169653314611950578063c3536e8b14611a13578063c92f146a14611ab4578063cf91e33114611ac9576106d3565b8063bd65fc4c146118f3578063bdbdcd7514611908578063c0ea2e771461193b576106d3565b8063a2ea2aaf116102ab578063aede090f11610249578063b3e9047611610223578063b3e904761461186c578063b4e85ec814611896578063b9c25cae146118ab578063bad0f934146118c0576106d3565b8063aede090f14611701578063aee1fabc14611824578063af46aa0814611839576106d3565b8063a5094f8f11610285578063a5094f8f14611656578063a9059cbb14611680578063aa13504e146116b9578063ac0f738f146116ec576106d3565b8063a2ea2aaf1461163e578063a330915114611646578063a33b12601461164e576106d3565b80638af8edfc1161031857806392cca541116102f257806392cca541146115ae57806393c63b9d146115c357806395d89b41146115f657806397b5e5541461160b576106d3565b80638af8edfc146114b55780638ccb0023146114ca5780639055a23e1461157b576106d3565b806380167ebf1161035457806380167ebf1461133c5780638278188a146113dd578063846153b5146113f25780638a670113146114a0576106d3565b806374a72e41146112515780637b411ca5146113015780637d20a24f14611316576106d3565b8063429069091161052e5780636af434701161045f5780637050ec89116103fd5780637347060c116103d75780637347060c146111b357806373668817146111d957806373f0cc2d14611212578063742ec16414611227576106d3565b80637050ec891461113f57806370a082311461117857806370a8a2e6146111ab576106d3565b80636c2f12e6116104395780636c2f12e61461101b5780636dcb9800146110bc5780636e3ee8f1146110e65780637022c79e1461110c576106d3565b80636af4347014610fd85780636b3b280014610fe05780636be2ca4314611006576106d3565b8063542aa99f116104cc5780635b65268f116104a65780635b65268f14610f5e57806361a3be8014610f735780636338655114610f8857806366a497b714610fae576106d3565b8063542aa99f14610ee657806357e08c6014610efb5780635b48a88414610f34576106d3565b80634955d7f0116105085780634955d7f014610e2f57806350ac2f6914610e59578063522c628f14610e835780635339689314610ebc576106d3565b80634290690914610de8578063474b07bf14610e125780634890bb5114610e27576106d3565b806321df8098116106085780633118f543116105a657806333d599341161058057806333d5993414610d3d57806336d6991014610d675780633c64cfc614610d9a578063416e860414610dd3576106d3565b80633118f54314610cd7578063313ce56714610cec5780633181a5a714610d17576106d3565b806324ac57b7116105e257806324ac57b714610c3257806325d998bb14610c475780632940187a14610c7a5780632cd3fd7014610cad576106d3565b806321df809814610b9057806323b872dd14610bc357806323e46e7c14610c06576106d3565b80630d061e7511610675578063177e48d01161064f578063177e48d014610a7d57806318160ddd14610b1e5780631d2cb86114610b335780631ec32a6614610b66576106d3565b80630d061e7514610a0b578063124d83d814610a20578063128fb93014610a4a576106d3565b8063095ea7b3116106b1578063095ea7b3146108b857806309ae18441461090557806309f6c607146109b35780630a63361c146109da576106d3565b806306fdde03146106d857806307c5c18e14610762578063088c35fd1461088e575b600080fd5b3480156106e457600080fd5b506106ed611fb3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561072757818101518382015260200161070f565b50505050905090810190601f1680156107545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61088c6004803603606081101561077857600080fd5b81359190810190604081016020820135600160201b81111561079957600080fd5b8201836020820111156107ab57600080fd5b803590602001918460208302840111600160201b831117156107cc57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561081b57600080fd5b82018360208201111561082d57600080fd5b803590602001918460208302840111600160201b8311171561084e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612041945050505050565b005b34801561089a57600080fd5b5061088c600480360360208110156108b157600080fd5b50356121f2565b3480156108c457600080fd5b506108f1600480360360408110156108db57600080fd5b506001600160a01b038135169060200135612264565b604080519115158252519081900360200190f35b34801561091157600080fd5b5061088c6004803603602081101561092857600080fd5b810190602081018135600160201b81111561094257600080fd5b82018360208201111561095457600080fd5b803590602001918460208302840111600160201b8311171561097557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612327945050505050565b3480156109bf57600080fd5b506109c861244d565b60408051918252519081900360200190f35b3480156109e657600080fd5b506109ef612451565b604080516001600160a01b039092168252519081900360200190f35b348015610a1757600080fd5b506109ef612460565b348015610a2c57600080fd5b5061088c60048036036020811015610a4357600080fd5b503561246f565b348015610a5657600080fd5b5061088c60048036036020811015610a6d57600080fd5b50356001600160a01b03166124c6565b61088c60048036036020811015610a9357600080fd5b810190602081018135600160201b811115610aad57600080fd5b820183602082011115610abf57600080fd5b803590602001918460208302840111600160201b83111715610ae057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506124f8945050505050565b348015610b2a57600080fd5b506109c86126d4565b348015610b3f57600080fd5b5061088c60048036036020811015610b5657600080fd5b50356001600160a01b031661274a565b348015610b7257600080fd5b5061088c60048036036020811015610b8957600080fd5b503561277d565b348015610b9c57600080fd5b5061088c60048036036020811015610bb357600080fd5b50356001600160a01b03166127d4565b348015610bcf57600080fd5b506108f160048036036060811015610be657600080fd5b506001600160a01b03813581169160208101359091169060400135612861565b348015610c1257600080fd5b5061088c60048036036020811015610c2957600080fd5b5035151561293c565b348015610c3e57600080fd5b506109ef61296b565b348015610c5357600080fd5b506109c860048036036020811015610c6a57600080fd5b50356001600160a01b031661297a565b348015610c8657600080fd5b506108f160048036036020811015610c9d57600080fd5b50356001600160a01b03166129ff565b348015610cb957600080fd5b506108f160048036036020811015610cd057600080fd5b5035612a52565b348015610ce357600080fd5b506109ef612b03565b348015610cf857600080fd5b50610d01612b12565b6040805160ff9092168252519081900360200190f35b61088c60048036036020811015610d2d57600080fd5b50356001600160a01b0316612b1b565b348015610d4957600080fd5b5061088c60048036036020811015610d6057600080fd5b5035612d08565b348015610d7357600080fd5b506108f160048036036020811015610d8a57600080fd5b50356001600160a01b0316612d5f565b348015610da657600080fd5b5061088c60048036036040811015610dbd57600080fd5b506001600160a01b038135169060200135612db2565b348015610ddf57600080fd5b506109ef612e0d565b348015610df457600080fd5b5061088c60048036036020811015610e0b57600080fd5b5035612e1c565b348015610e1e57600080fd5b506109ef612e73565b61088c612e82565b348015610e3b57600080fd5b5061088c60048036036020811015610e5257600080fd5b5035612eef565b348015610e6557600080fd5b5061088c60048036036020811015610e7c57600080fd5b5035612f46565b348015610e8f57600080fd5b5061088c60048036036040811015610ea657600080fd5b506001600160a01b038135169060200135612f9d565b348015610ec857600080fd5b5061088c60048036036020811015610edf57600080fd5b503561301f565b348015610ef257600080fd5b506108f1613076565b348015610f0757600080fd5b5061088c60048036036040811015610f1e57600080fd5b506001600160a01b0381351690602001356130d6565b348015610f4057600080fd5b5061088c60048036036020811015610f5757600080fd5b503561317b565b348015610f6a57600080fd5b5061088c6131ce565b348015610f7f57600080fd5b5061088c61321b565b61088c60048036036020811015610f9e57600080fd5b50356001600160a01b0316613268565b348015610fba57600080fd5b5061088c60048036036020811015610fd157600080fd5b503561341d565b61088c613474565b61088c60048036036020811015610ff657600080fd5b50356001600160a01b03166134c7565b34801561101257600080fd5b5061088c6135e8565b61088c6004803603602081101561103157600080fd5b810190602081018135600160201b81111561104b57600080fd5b82018360208201111561105d57600080fd5b803590602001918460208302840111600160201b8311171561107e57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613634945050505050565b3480156110c857600080fd5b5061088c600480360360208110156110df57600080fd5b503561380b565b61088c600480360360208110156110fc57600080fd5b50356001600160a01b0316613862565b34801561111857600080fd5b5061088c6004803603602081101561112f57600080fd5b50356001600160a01b03166138f4565b34801561114b57600080fd5b5061088c6004803603604081101561116257600080fd5b506001600160a01b038135169060200135613964565b34801561118457600080fd5b506109c86004803603602081101561119b57600080fd5b50356001600160a01b0316613a83565b61088c613ad6565b61088c600480360360208110156111c957600080fd5b50356001600160a01b0316613b29565b3480156111e557600080fd5b5061088c600480360360408110156111fc57600080fd5b506001600160a01b038135169060200135613bbb565b34801561121e57600080fd5b506109ef613c53565b34801561123357600080fd5b5061088c6004803603602081101561124a57600080fd5b5035613c62565b34801561125d57600080fd5b5061088c6004803603604081101561127457600080fd5b810190602081018135600160201b81111561128e57600080fd5b8201836020820111156112a057600080fd5b803590602001918460208302840111600160201b831117156112c157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250613cb6915050565b34801561130d57600080fd5b5061088c613e21565b61088c6004803603602081101561132c57600080fd5b50356001600160a01b0316614232565b61088c6004803603602081101561135257600080fd5b810190602081018135600160201b81111561136c57600080fd5b82018360208201111561137e57600080fd5b803590602001918460208302840111600160201b8311171561139f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506142c4945050505050565b3480156113e957600080fd5b506109ef614393565b3480156113fe57600080fd5b5061088c6004803603602081101561141557600080fd5b810190602081018135600160201b81111561142f57600080fd5b82018360208201111561144157600080fd5b803590602001918460208302840111600160201b8311171561146257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506143a2945050505050565b3480156114ac57600080fd5b506109ef6145b2565b3480156114c157600080fd5b506109ef6145c1565b61088c600480360360408110156114e057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561150a57600080fd5b82018360208201111561151c57600080fd5b803590602001918460208302840111600160201b8311171561153d57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506145d0945050505050565b34801561158757600080fd5b506108f16004803603602081101561159e57600080fd5b50356001600160a01b03166147f8565b3480156115ba57600080fd5b5061088c61484b565b3480156115cf57600080fd5b5061088c600480360360208110156115e657600080fd5b50356001600160a01b0316614870565b34801561160257600080fd5b506106ed6148dc565b34801561161757600080fd5b5061088c6004803603602081101561162e57600080fd5b50356001600160a01b0316614936565b61088c6149a6565b61088c614a7d565b61088c61486e565b34801561166257600080fd5b5061088c6004803603602081101561167957600080fd5b5035614b54565b34801561168c57600080fd5b5061088c600480360360408110156116a357600080fd5b506001600160a01b038135169060200135614bab565b3480156116c557600080fd5b5061088c600480360360208110156116dc57600080fd5b50356001600160a01b0316614caa565b3480156116f857600080fd5b5061088c614cdd565b61088c6004803603604081101561171757600080fd5b810190602081018135600160201b81111561173157600080fd5b82018360208201111561174357600080fd5b803590602001918460208302840111600160201b8311171561176457600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156117b357600080fd5b8201836020820111156117c557600080fd5b803590602001918460208302840111600160201b831117156117e657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550614d2a945050505050565b34801561183057600080fd5b506109ef614e42565b34801561184557600080fd5b506109c86004803603602081101561185c57600080fd5b50356001600160a01b0316614e51565b34801561187857600080fd5b5061088c6004803603602081101561188f57600080fd5b5035614ea6565b3480156118a257600080fd5b5061088c614efd565b3480156118b757600080fd5b5061088c614f49565b3480156118cc57600080fd5b5061088c600480360360208110156118e357600080fd5b50356001600160a01b0316614f96565b3480156118ff57600080fd5b506109ef615006565b34801561191457600080fd5b5061088c6004803603602081101561192b57600080fd5b50356001600160a01b0316615015565b34801561194757600080fd5b506108f1615085565b34801561195c57600080fd5b5061088c6004803603606081101561197357600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156119a257600080fd5b8201836020820111156119b457600080fd5b803590602001918460208302840111600160201b831117156119d557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550615095945050505050565b61088c60048036036020811015611a2957600080fd5b810190602081018135600160201b811115611a4357600080fd5b820183602082011115611a5557600080fd5b803590602001918460208302840111600160201b83111715611a7657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061524b945050505050565b348015611ac057600080fd5b5061088c61550c565b348015611ad557600080fd5b5061088c60048036036020811015611aec57600080fd5b50356001600160a01b0316615559565b348015611b0857600080fd5b5061088c60048036036020811015611b1f57600080fd5b503561563c565b348015611b3257600080fd5b506109ef615693565b348015611b4757600080fd5b5061088c60048036036020811015611b5e57600080fd5b50356156a2565b348015611b7157600080fd5b5061088c60048036036060811015611b8857600080fd5b81359190810190604081016020820135600160201b811115611ba957600080fd5b820183602082011115611bbb57600080fd5b803590602001918460208302840111600160201b83111715611bdc57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115611c2b57600080fd5b820183602082011115611c3d57600080fd5b803590602001918460208302840111600160201b83111715611c5e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506156f5945050505050565b348015611ca857600080fd5b5061088c60048036036020811015611cbf57600080fd5b50356158a5565b348015611cd257600080fd5b5061088c60048036036020811015611ce957600080fd5b50356158fc565b348015611cfc57600080fd5b506109c860048036036040811015611d1357600080fd5b506001600160a01b0381358116916020013516615953565b348015611d3757600080fd5b5061088c60048036036020811015611d4e57600080fd5b50356159e3565b348015611d6157600080fd5b5061088c60048036036020811015611d7857600080fd5b50356001600160a01b0316615a3a565b348015611d9457600080fd5b506109ef615a6d565b348015611da957600080fd5b506109c8615a7c565b348015611dbe57600080fd5b5061088c615aff565b348015611dd357600080fd5b5061088c615b26565b348015611de857600080fd5b5061088c60048036036020811015611dff57600080fd5b50356001600160a01b0316615b69565b348015611e1b57600080fd5b506109ef615b9c565b348015611e3057600080fd5b5061088c60048036036020811015611e4757600080fd5b810190602081018135600160201b811115611e6157600080fd5b820183602082011115611e7357600080fd5b803590602001918460208302840111600160201b83111715611e9457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550615bb0945050505050565b348015611ede57600080fd5b506108f160048036036020811015611ef557600080fd5b50356001600160a01b0316615c54565b348015611f1157600080fd5b5061088c60048036036020811015611f2857600080fd5b50356001600160a01b0316615ca7565b348015611f4457600080fd5b5061088c60048036036020811015611f5b57600080fd5b50356001600160a01b0316615cfc565b348015611f7757600080fd5b506109ef615d6c565b348015611f8c57600080fd5b506108f160048036036020811015611fa357600080fd5b50356001600160a01b0316615d7b565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156120395780601f1061200e57610100808354040283529160200191612039565b820191906000526020600020905b81548152906001019060200180831161201c57829003601f168201915b505050505081565b82156120f157600a54600e54604080516317d5759960e31b81523360048201526001600160a01b039283166024820152604481018790529051919092169163beabacc891606480830192600092919082900301818387803b1580156120a557600080fd5b505af11580156120b9573d6000803e3d6000fd5b5050600e546040805187815290516001600160a01b039092169350339250600080516020615e88833981519152919081900360200190a35b600e54604051632433a49160e11b81523360048201818152602483018790526080604484019081528651608485015286516001600160a01b03909516946348674922943494938a938a938a93606481019160a4909101906020808801910280838360005b8381101561216d578181015183820152602001612155565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156121ac578181015183820152602001612194565b5050505090500196505050505050506000604051808303818588803b1580156121d457600080fd5b505af11580156121e8573d6000803e3d6000fd5b5050505050505050565b600254604080516305de45bd60e11b81523360048201526024810184905290516101009092046001600160a01b031691630bbc8b7a9160448082019260009290919082900301818387803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b5050505050565b6002546040805163779a859960e11b81523360048201526001600160a01b03858116602483015260448201859052915160009361010090049092169163ef350b3291606480820192869290919082900301818387803b1580156122c657600080fd5b505af11580156122da573d6000803e3d6000fd5b50506040805185815290516001600160a01b03871693503392507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259181900360200190a350600192915050565b60005b815181101561239f5760006001600160a01b031682828151811061234a57fe5b60200260200101516001600160a01b0316600080516020615e8883398151915261238685858151811061237957fe5b6020026020010151613a83565b60408051918252519081900360200190a360010161232a565b6004805460408051633ca4fe7b60e11b815233938101848152602482019283528651604483015286516001600160a01b0390941694637949fcf6949093889390916064909101906020808601910280838360005b8381101561240b5781810151838201526020016123f3565b505050509050019350505050600060405180830381600087803b15801561243157600080fd5b505af1158015612445573d6000803e3d6000fd5b505050505050565b4390565b6003546001600160a01b031681565b6011546001600160a01b031681565b60025460408051633429fca760e21b81523360048201526024810184905290516101009092046001600160a01b03169163d0a7f29c9160448082019260009290919082900301818387803b15801561224957600080fd5b600f546001600160a01b03163314156106d357600b80546001600160a01b0319166001600160a01b0383161790555b50565b805160025460408051633238268960e01b81529051839261010090046001600160a01b0316916332382689916004808301926020929190829003018186803b15801561254357600080fd5b505afa158015612557573d6000803e3d6000fd5b505050506040513d602081101561256d57600080fd5b50510234146125ad5760405162461bcd60e51b8152600401808060200182810382526031815260200180615ea86031913960400191505060405180910390fd5b60005b818110156126cf5760045483516001600160a01b03909116906376067e67908590849081106125db57fe5b6020026020010151600260019054906101000a90046001600160a01b03166001600160a01b031663323826896040518163ffffffff1660e01b815260040160206040518083038186803b15801561263157600080fd5b505afa158015612645573d6000803e3d6000fd5b505050506040513d602081101561265b57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b1580156126ab57600080fd5b505af11580156126bf573d6000803e3d6000fd5b5050600190920191506125b09050565b505050565b600a54604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561271957600080fd5b505afa15801561272d573d6000803e3d6000fd5b505050506040513d602081101561274357600080fd5b5051905090565b600f546001600160a01b03163314156106d357600e80546001600160a01b0319166001600160a01b0383161790556124f5565b600254604080516372a4edd560e01b81523360048201526024810184905290516101009092046001600160a01b0316916372a4edd59160448082019260009290919082900301818387803b15801561224957600080fd5b600f546001600160a01b03163314156106d357600780546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b505af1158015612858573d6000803e3d6000fd5b505050506124f5565b600a5460408051630aed65f560e11b81523360048201526001600160a01b0386811660248301528581166044830152606482018590529151600093849316916315dacbea91608480830192602092919082900301818787803b1580156128c657600080fd5b505af11580156128da573d6000803e3d6000fd5b505050506040513d60208110156128f057600080fd5b50519050801561293457836001600160a01b0316856001600160a01b0316600080516020615e88833981519152856040518082815260200191505060405180910390a35b949350505050565b6010546001600160a01b03163314156124f55760108054821515600160a01b0260ff60a01b1990911617905550565b600b546001600160a01b031681565b60048054604080516325d998bb60e01b81526001600160a01b03858116948201949094529051600093909216916325d998bb91602480820192602092909190829003018186803b1580156129cd57600080fd5b505afa1580156129e1573d6000803e3d6000fd5b505050506040513d60208110156129f757600080fd5b505192915050565b60048054604080516314a00c3d60e11b81526001600160a01b0385811694820194909452905160009390921691632940187a91602480820192602092909190829003018186803b1580156129cd57600080fd5b6004805460408051631c46b08160e11b8152339381019390935260248301849052516000926001600160a01b039092169163388d610291604480830192602092919082900301818787803b158015612aa957600080fd5b505af1158015612abd573d6000803e3d6000fd5b505050506040513d6020811015612ad357600080fd5b50506040805183815290516000913391600080516020615e888339815191529181900360200190a3506001919050565b6004546001600160a01b031681565b60025460ff1681565b600480546040805163482ad11f60e11b81526001600160a01b038581169482019490945290519290911691639055a23e91602480820192602092909190829003018186803b158015612b6c57600080fd5b505afa158015612b80573d6000803e3d6000fd5b505050506040513d6020811015612b9657600080fd5b505115612bab57612ba6816134c7565b6124f5565b60048054604080516314a00c3d60e11b81526001600160a01b038581169482019490945290519290911691632940187a91602480820192602092909190829003018186803b158015612bfc57600080fd5b505afa158015612c10573d6000803e3d6000fd5b505050506040513d6020811015612c2657600080fd5b505115612c3657612ba681613b29565b60048054604080516001620769d360e31b031981526001600160a01b03858116948201949094529051929091169163ffc4b16891602480820192602092909190829003018186803b158015612c8a57600080fd5b505afa158015612c9e573d6000803e3d6000fd5b505050506040513d6020811015612cb457600080fd5b505115612cc457612ba681613862565b6040805162461bcd60e51b815260206004820152601460248201527341646472657373206e6f7420666f722073616c6560601b604482015290519081900360640190fd5b6002546040805163f5d1858560e01b81523360048201526024810184905290516101009092046001600160a01b03169163f5d185859160448082019260009290919082900301818387803b15801561224957600080fd5b600480546040805163036d699160e41b81526001600160a01b03858116948201949094529051600093909216916336d6991091602480820192602092909190829003018186803b1580156129cd57600080fd5b6006546040805163f8e4df0f60e01b81523360048201526001600160a01b038581166024830152604482018590529151919092169163f8e4df0f91606480830192600092919082900301818387803b15801561243157600080fd5b6005546001600160a01b031681565b600254604080516304e49a5f60e51b81523360048201526024810184905290516101009092046001600160a01b031691639c934be09160448082019260009290919082900301818387803b15801561224957600080fd5b600e546001600160a01b031681565b60048054604080516376067e6760e01b81523393810193909352346024840152516001600160a01b03909116916376067e6791604480830192600092919082900301818387803b158015612ed557600080fd5b505af1158015612ee9573d6000803e3d6000fd5b50505050565b60025460408051632f89629160e21b81523360048201526024810184905290516101009092046001600160a01b03169163be258a449160448082019260009290919082900301818387803b15801561224957600080fd5b6002546040805163c226832b60e01b81523360048201526024810184905290516101009092046001600160a01b03169163c226832b9160448082019260009290919082900301818387803b15801561224957600080fd5b806104d214612fab57600080fd5b600f546001600160a01b03163314156106d357600380546001600160a01b0319166001600160a01b038481169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561243157600080fd5b5050565b600254604080516312b0e54d60e31b81523360048201526024810184905290516101009092046001600160a01b0316916395872a689160448082019260009290919082900301818387803b15801561224957600080fd5b600a5460408051633b8d674f60e01b815233600482015290516000926001600160a01b031691633b8d674f91602480830192602092919082900301818787803b1580156130c257600080fd5b505af115801561272d573d6000803e3d6000fd5b60055460408051631e4eb16d60e31b81523360048201526001600160a01b038581166024830152604482018590529151919092169163f2758b6891606480830192600092919082900301818387803b15801561313157600080fd5b505af1158015613145573d6000803e3d6000fd5b50506040805184815290516001600160a01b0386169350309250600080516020615e888339815191529181900360200190a35050565b60055460408051631d90fdf560e31b81523360048201526024810184905290516001600160a01b039092169163ec87efa89160448082019260009290919082900301818387803b15801561224957600080fd5b60048054604080516306baf26360e01b81523393810193909352516001600160a01b03909116916306baf26391602480830192600092919082900301818387803b158015612ed557600080fd5b60048054604080516352ba171d60e01b81523393810193909352516001600160a01b03909116916352ba171d91602480830192600092919082900301818387803b158015612ed557600080fd5b60025460408051633b317dab60e01b81526001600160a01b0384811660048301529151600093610100900490921691633b317dab91602480820192602092909190829003018186803b1580156132bd57600080fd5b505afa1580156132d1573d6000803e3d6000fd5b505050506040513d60208110156132e757600080fd5b505160075460408051632bfac20f60e01b81523360048201526001600160a01b038681166024830152346044830152825194955060009485949190911692632bfac20f926064808201939182900301818787803b15801561334757600080fd5b505af115801561335b573d6000803e3d6000fd5b505050506040513d604081101561337157600080fd5b508051602090910151909250905061338882612a52565b506040516001600160a01b0385169082156108fc029083906000818181858888f193505050506133e95760405162461bcd60e51b8152600401808060200182810382526023815260200180615e326023913960400191505060405180910390fd5b60408051848152905133916001600160a01b03871691600080516020615e128339815191529181900360200190a350505050565b60025460408051637626dfcf60e01b81523360048201526024810184905290516101009092046001600160a01b031691637626dfcf9160448082019260009290919082900301818387803b15801561224957600080fd5b600480546040805163ecc517f160e01b81523393810193909352346024840152516001600160a01b039091169163ecc517f191604480830192600092919082900301818387803b158015612ed557600080fd5b336001600160a01b038216600080516020615e888339815191526134ea84613a83565b60408051918252519081900360200190a36008546040805163eb19110d60e01b81523360048201526001600160a01b0384811660248301523460448301529151600093929092169163eb19110d9160648082019260209290919082900301818787803b15801561355957600080fd5b505af115801561356d573d6000803e3d6000fd5b505050506040513d602081101561358357600080fd5b50516040519091506001600160a01b0383169082156108fc029083906000818181858888f1935050505061301b5760405162461bcd60e51b8152600401808060200182810382526023815260200180615e326023913960400191505060405180910390fd5b6005546040805163062199f760e31b815233600482015290516001600160a01b039092169163310ccfb89160248082019260009290919082900301818387803b158015612ed557600080fd5b80516002546040805163d050a90560e01b81529051839261010090046001600160a01b03169163d050a905916004808301926020929190829003018186803b15801561367f57600080fd5b505afa158015613693573d6000803e3d6000fd5b505050506040513d60208110156136a957600080fd5b50510234146136e95760405162461bcd60e51b8152600401808060200182810382526033815260200180615e556033913960400191505060405180910390fd5b60005b818110156126cf5760045483516001600160a01b039091169063ecc517f19085908490811061371757fe5b6020026020010151600260019054906101000a90046001600160a01b03166001600160a01b031663d050a9056040518163ffffffff1660e01b815260040160206040518083038186803b15801561376d57600080fd5b505afa158015613781573d6000803e3d6000fd5b505050506040513d602081101561379757600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b1580156137e757600080fd5b505af11580156137fb573d6000803e3d6000fd5b5050600190920191506136ec9050565b6002546040805163225e453360e21b81523360048201526024810184905290516101009092046001600160a01b03169163897914cc9160448082019260009290919082900301818387803b15801561224957600080fd5b336001600160a01b038216600080516020615e8883398151915261388584613a83565b60408051918252519081900360200190a36008546040805163e7cba43360e01b81523360048201526001600160a01b0384811660248301523460448301529151600093929092169163e7cba4339160648082019260209290919082900301818787803b15801561355957600080fd5b600f546001600160a01b03163314156106d357600580546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b6001600160a01b0382163014156139be576040805162461bcd60e51b8152602060048201526019602482015278696620285f746f203d3d20616464726573732874686973292960381b604482015290519081900360640190fd5b60065460408051631c1b2e5560e21b81523360048201526001600160a01b038581166024830152604482018590529151613a5093929092169163706cb954916064808201926020929091908290030181600087803b158015613a1f57600080fd5b505af1158015613a33573d6000803e3d6000fd5b505050506040513d6020811015613a4957600080fd5b5051612a52565b506040805182815290516001600160a01b038416913391600080516020615e128339815191529181900360200190a35050565b60048054604080516370a0823160e01b81526001600160a01b03858116948201949094529051600093909216916370a0823191602480820192602092909190829003018186803b1580156129cd57600080fd5b600480546040805163016e045960e41b81523393810193909352346024840152516001600160a01b03909116916316e0459091604480830192600092919082900301818387803b158015612ed557600080fd5b336001600160a01b038216600080516020615e88833981519152613b4c84613a83565b60408051918252519081900360200190a3600854604080516345b4f43b60e01b81523360048201526001600160a01b038481166024830152346044830152915160009392909216916345b4f43b9160648082019260209290919082900301818787803b15801561355957600080fd5b806104d214613bc957600080fd5b600f546001600160a01b03163314156106d35781600260016101000a8154816001600160a01b0302191690836001600160a01b03160217905550600260019054906101000a90046001600160a01b03166001600160a01b03166313b9f0c76040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561243157600080fd5b6006546001600160a01b031681565b600480546040805163ed401ac360e01b8152339381019390935260248301849052516001600160a01b039091169163ed401ac391604480830192600092919082900301818387803b15801561224957600080fd5b600254604080516349ca9db360e01b8152905160009261010090046001600160a01b0316916349ca9db3916004808301926020929190829003018186803b158015613d0057600080fd5b505afa158015613d14573d6000803e3d6000fd5b505050506040513d6020811015613d2a57600080fd5b50518015613db95750600260019054906101000a90046001600160a01b03166001600160a01b031663fb6560676040518163ffffffff1660e01b815260040160206040518083038186803b158015613d8157600080fd5b505afa158015613d95573d6000803e3d6000fd5b505050506040513d6020811015613dab57600080fd5b50516001600160a01b031633145b156106d3575b8251811015613e1c57828181518110613dd457fe5b60200260200101516001600160a01b0316306001600160a01b0316600080516020615e88833981519152846040518082815260200191505060405180910390a3600101613dbf565b6126cf565b333214613e2d57600080fd5b601054600160a01b900460ff1615613e7e576040805162461bcd60e51b815260206004820152600f60248201526e14185e5bdd5d1cc8109b1bd8dad959608a1b604482015290519081900360640190fd5b4780613ed1576040805162461bcd60e51b815260206004820152601860248201527f282128636f6e747261637442616c616e6365203e203029290000000000000000604482015290519081900360640190fd5b6003546040805163643a943160e01b8152905160009283926001600160a01b039091169163643a943191600480820192602092909190829003018186803b158015613f1b57600080fd5b505afa158015613f2f573d6000803e3d6000fd5b505050506040513d6020811015613f4557600080fd5b505190505b808210156126cf576003546040805163124183a760e31b81526004810185905290516000926001600160a01b03169163920c1d38916024808301926020929190829003018186803b158015613f9e57600080fd5b505afa158015613fb2573d6000803e3d6000fd5b505050506040513d6020811015613fc857600080fd5b505160025460408051633b317dab60e01b81526001600160a01b038085166004830152915193945060009361010090930490911691633b317dab91602480820192602092909190829003018186803b15801561402357600080fd5b505afa158015614037573d6000803e3d6000fd5b505050506040513d602081101561404d57600080fd5b50516002546040805163433ad96960e11b815290519293506000926101009092046001600160a01b031691638675b2d291600480820192602092909190829003018186803b15801561409e57600080fd5b505afa1580156140b2573d6000803e3d6000fd5b505050506040513d60208110156140c857600080fd5b5051868302816140d457fe5b0490508015614224576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505061414e57604080518381526020810183905281516001600160a01b038616927f50a6033bb1b577c577f67a1425e1ac9939c9382b114ae85b5274fd3e76a7f7df928290030190a2614224565b6002546040805163028f4a6960e41b815290516101009092046001600160a01b031691631eeb57ec91849184916328f4a690916004808301926020929190829003018186803b1580156141a057600080fd5b505afa1580156141b4573d6000803e3d6000fd5b505050506040513d60208110156141ca57600080fd5b5051604080516001600160e01b031960e086901b16815292909101600483015251602480830192600092919082900301818387803b15801561420b57600080fd5b505af115801561421f573d6000803e3d6000fd5b505050505b505060019092019150613f4a565b336001600160a01b038216600080516020615e8883398151915261425584613a83565b60408051918252519081900360200190a360055460408051636311a8d360e11b81523360048201526001600160a01b0384811660248301523460448301529151600093929092169163c62351a69160648082019260209290919082900301818787803b15801561355957600080fd5b600c5460408051631a3a8c1f60e21b81523360048201818152602483019384528551604484015285516000956001600160a01b0316946368ea307c94349493899390929160640190602080860191028083838d5b83811015614330578181015183820152602001614318565b5050505090500193505050506020604051808303818588803b15801561435557600080fd5b505af1158015614369573d6000803e3d6000fd5b50505050506040513d602081101561438057600080fd5b50519050801561301b576126cf81612a52565b6008546001600160a01b031681565b600254604080516349ca9db360e01b8152905160009261010090046001600160a01b0316916349ca9db3916004808301926020929190829003018186803b1580156143ec57600080fd5b505afa158015614400573d6000803e3d6000fd5b505050506040513d602081101561441657600080fd5b505180156144a55750600260019054906101000a90046001600160a01b03166001600160a01b031663fb6560676040518163ffffffff1660e01b815260040160206040518083038186803b15801561446d57600080fd5b505afa158015614481573d6000803e3d6000fd5b505050506040513d602081101561449757600080fd5b50516001600160a01b031633145b156106d3575b81518110156145ad578181815181106144c057fe5b60200260200101516001600160a01b0316306001600160a01b0316600080516020615e88833981519152600460009054906101000a90046001600160a01b03166001600160a01b03166370a0823186868151811061451a57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561456857600080fd5b505afa15801561457c573d6000803e3d6000fd5b505050506040513d602081101561459257600080fd5b505160408051918252519081900360200190a36001016144ab565b61301b565b6010546001600160a01b031681565b600a546001600160a01b031681565b60025460408051633b317dab60e01b81526001600160a01b0385811660048301529151600093610100900490921691633b317dab91602480820192602092909190829003018186803b15801561462557600080fd5b505afa158015614639573d6000803e3d6000fd5b505050506040513d602081101561464f57600080fd5b5051905060005b82518110156146be5760006001600160a01b031683828151811061467657fe5b60200260200101516001600160a01b0316600080516020615e888339815191526146a586858151811061237957fe5b60408051918252519081900360200190a3600101614656565b6007546040516367711a5960e01b815233600482018181526001600160a01b038881166024850152346064850181905260806044860190815289516084870152895160009793909316956367711a5995948c948c9493919260a40190602080870191028083838e5b8381101561473e578181015183820152602001614726565b5050505090500195505050505050602060405180830381600087803b15801561476657600080fd5b505af115801561477a573d6000803e3d6000fd5b505050506040513d602081101561479057600080fd5b50516040519091506001600160a01b0386169082156108fc029083906000818181858888f193505050506147c357600080fd5b60408051848152905133916001600160a01b03881691600080516020615e128339815191529181900360200190a35050505050565b600480546040805163482ad11f60e11b81526001600160a01b0385811694820194909452905160009390921691639055a23e91602480820192602092909190829003018186803b1580156129cd57600080fd5b6010546001600160a01b03166106d357601080546001600160a01b031916331790555b565b600f546001600160a01b03163314156106d357600480546001600160a01b0319166001600160a01b0383811691909117808355604080516313b9f0c760e01b8152905191909216926313b9f0c79280820192600092909182900301818387803b15801561284457600080fd5b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156120395780601f1061200e57610100808354040283529160200191612039565b600f546001600160a01b03163314156106d357600980546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b6009546040805163b378e89b60e01b8152336004820152346024820152815160009384936001600160a01b039091169263b378e89b926044808301939282900301818787803b1580156149f857600080fd5b505af1158015614a0c573d6000803e3d6000fd5b505050506040513d6040811015614a2257600080fd5b5080516020909101519092509050614a3982612a52565b50604080516001600160a01b0383168152905133917fc372ae39394d4f0b2ac49b0e0c2200b3e9a7e66b3c52d01aef930695f1296804919081900360200190a25050565b6009546040805163291c964760e21b8152336004820152346024820152815160009384936001600160a01b039091169263a472591c926044808301939282900301818787803b158015614acf57600080fd5b505af1158015614ae3573d6000803e3d6000fd5b505050506040513d6040811015614af957600080fd5b5080516020909101519092509050614b1082612a52565b50604080516001600160a01b0383168152905133917f1f4d287b617c59dd118975b7dd7525ab82bb32e7a6db7023cf41bf6af3c21494919081900360200190a25050565b60025460408051634ea8c93760e11b81523360048201526024810184905290516101009092046001600160a01b031691639d51926e9160448082019260009290919082900301818387803b15801561224957600080fd5b6001600160a01b038216301415614c05576040805162461bcd60e51b8152602060048201526019602482015278696620285f746f203d3d20616464726573732874686973292960381b604482015290519081900360640190fd5b600a54604080516317d5759960e31b81523360048201526001600160a01b038581166024830152604482018590529151919092169163beabacc891606480830192600092919082900301818387803b158015614c6057600080fd5b505af1158015614c74573d6000803e3d6000fd5b50506040805184815290516001600160a01b0386169350339250600080516020615e888339815191529181900360200190a35050565b600f546001600160a01b03163314156106d357600d80546001600160a01b0319166001600160a01b0383161790556124f5565b600480546040805163ca02eb9d60e01b81523393810193909352516001600160a01b039091169163ca02eb9d91602480830192600092919082900301818387803b158015612ed557600080fd5b600d5460405163fe942a2d60e01b815233600482018181526060602484019081528651606485015286516000956001600160a01b03169463fe942a2d94349490938a938a936044810191608490910190602080880191028083838f5b83811015614d9e578181015183820152602001614d86565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015614ddd578181015183820152602001614dc5565b50505050905001955050505050506020604051808303818588803b158015614e0457600080fd5b505af1158015614e18573d6000803e3d6000fd5b50505050506040513d6020811015614e2f57600080fd5b5051905080156126cf57612ee981612a52565b600d546001600160a01b031681565b60025460408051633b317dab60e01b81526001600160a01b0384811660048301529151600093610100900490921691633b317dab91602480820192602092909190829003018186803b1580156129cd57600080fd5b600254604080516344c077ab60e11b81523360048201526024810184905290516101009092046001600160a01b031691638980ef569160448082019260009290919082900301818387803b15801561224957600080fd5b6006546040805163ac39285b60e01b815233600482015290516001600160a01b039092169163ac39285b9160248082019260009290919082900301818387803b158015612ed557600080fd5b600480546040805163034043e160e51b81523393810193909352516001600160a01b03909116916368087c2091602480830192600092919082900301818387803b158015612ed557600080fd5b600f546001600160a01b03163314156106d357600880546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b6007546001600160a01b031681565b600f546001600160a01b03163314156106d357600680546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b601054600160a01b900460ff1681565b6001600160a01b0383163014156150ef576040805162461bcd60e51b8152602060048201526019602482015278696620285f746f203d3d20616464726573732874686973292960381b604482015290519081900360640190fd5b60005b815181101561515a5760006001600160a01b031682828151811061511257fe5b60200260200101516001600160a01b0316600080516020615e8883398151915261514185858151811061237957fe5b60408051918252519081900360200190a36001016150f2565b600654604051632464a27d60e01b815233600482018181526001600160a01b038881166024850152604484018890526080606485019081528751608486015287519190951694632464a27d948a938a938a93919260a401906020808601910280838360005b838110156151d75781810151838201526020016151bf565b5050505090500195505050505050600060405180830381600087803b1580156151ff57600080fd5b505af1158015615213573d6000803e3d6000fd5b50506040805186815290516001600160a01b0388169350339250600080516020615e128339815191529181900360200190a350505050565b80516002546040805163d050a90560e01b81529051839261010090046001600160a01b03169163d050a905916004808301926020929190829003018186803b15801561529657600080fd5b505afa1580156152aa573d6000803e3d6000fd5b505050506040513d60208110156152c057600080fd5b505160025460408051633238268960e01b815290516101009092046001600160a01b031691633238268991600480820192602092909190829003018186803b15801561530b57600080fd5b505afa15801561531f573d6000803e3d6000fd5b505050506040513d602081101561533557600080fd5b5051010234146153765760405162461bcd60e51b8152600401808060200182810382526040815260200180615dd26040913960400191505060405180910390fd5b60005b818110156126cf5760045483516001600160a01b03909116906316e04590908590849081106153a457fe5b6020026020010151600260019054906101000a90046001600160a01b03166001600160a01b031663d050a9056040518163ffffffff1660e01b815260040160206040518083038186803b1580156153fa57600080fd5b505afa15801561540e573d6000803e3d6000fd5b505050506040513d602081101561542457600080fd5b505160025460408051633238268960e01b815290516101009092046001600160a01b031691633238268991600480820192602092909190829003018186803b15801561546f57600080fd5b505afa158015615483573d6000803e3d6000fd5b505050506040513d602081101561549957600080fd5b5051604080516001600160e01b031960e087901b1681526001600160a01b0390941660048501529101602483015251604480830192600092919082900301818387803b1580156154e857600080fd5b505af11580156154fc573d6000803e3d6000fd5b5050600190920191506153799050565b60048054604080516371681de560e11b81523393810193909352516001600160a01b039091169163e2d03bca91602480830192600092919082900301818387803b158015612ed557600080fd5b6001600160a01b03811633600080516020615e8883398151915261557c82613a83565b60408051918252519081900360200190a36001600160a01b0381163014156155e7576040805162461bcd60e51b8152602060048201526019602482015278696620285f746f203d3d20616464726573732874686973292960381b604482015290519081900360640190fd5b60048054604080516334d5831d60e21b815233938101939093526001600160a01b038481166024850152905191169163d3560c7491604480830192600092919082900301818387803b15801561224957600080fd5b60025460408051631d25fd5560e01b81523360048201526024810184905290516101009092046001600160a01b031691631d25fd559160448082019260009290919082900301818387803b15801561224957600080fd5b6009546001600160a01b031681565b60065460408051637cb6d17b60e11b81523360048201526024810184905290516001600160a01b039092169163f96da2f69160448082019260009290919082900301818387803b15801561224957600080fd5b82156157a557600a54600b54604080516317d5759960e31b81523360048201526001600160a01b039283166024820152604481018790529051919092169163beabacc891606480830192600092919082900301818387803b15801561575957600080fd5b505af115801561576d573d6000803e3d6000fd5b5050600b546040805187815290516001600160a01b039092169350339250600080516020615e88833981519152919081900360200190a35b600b54604051630a67889360e01b81523360048201818152602483018790526080604484019081528651608485015286516001600160a01b0390951694630a6788939489938993899391929091606482019160a401906020808801910280838360005b83811015615820578181015183820152602001615808565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561585f578181015183820152602001615847565b505050509050019650505050505050600060405180830381600087803b15801561588857600080fd5b505af115801561589c573d6000803e3d6000fd5b50505050505050565b600254604080516333dfca3560e21b81523360048201526024810184905290516101009092046001600160a01b03169163cf7f28d49160448082019260009290919082900301818387803b15801561224957600080fd5b6002546040805163124e91b960e01b81523360048201526024810184905290516101009092046001600160a01b03169163124e91b99160448082019260009290919082900301818387803b15801561224957600080fd5b60025460408051635c65816560e01b81526001600160a01b03858116600483015284811660248301529151600093610100900490921691635c65816591604480820192602092909190829003018186803b1580156159b057600080fd5b505afa1580156159c4573d6000803e3d6000fd5b505050506040513d60208110156159da57600080fd5b50519392505050565b60025460408051633bb868dd60e21b81523360048201526024810184905290516101009092046001600160a01b03169163eee1a3749160448082019260009290919082900301818387803b15801561224957600080fd5b6010546001600160a01b03163314156106d357601180546001600160a01b0319166001600160a01b0383161790556124f5565b600c546001600160a01b031681565b6000600260019054906101000a90046001600160a01b03166001600160a01b031663e5f65c716040518163ffffffff1660e01b815260040160206040518083038186803b158015615acc57600080fd5b505afa158015615ae0573d6000803e3d6000fd5b505050506040513d6020811015615af657600080fd5b50514303905090565b600f546001600160a01b03166106d357600f80546001600160a01b0319163317905561486e565b601054600160a01b900460ff161561486e576011546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505061486e57600080fd5b600f546001600160a01b03163314156106d357600c80546001600160a01b0319166001600160a01b0383161790556124f5565b60025461010090046001600160a01b031681565b805160005b818110156126cf5760045483516001600160a01b03909116906352ba171d90859084908110615be057fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015615c3057600080fd5b505af1158015615c44573d6000803e3d6000fd5b505060019092019150615bb59050565b600480546040805163eb0fbbad60e01b81526001600160a01b038581169482019490945290516000939092169163eb0fbbad91602480820192602092909190829003018186803b1580156129cd57600080fd5b600480546040805163d42e1c2f60e01b815233938101939093526001600160a01b038481166024850152905191169163d42e1c2f91604480830192600092919082900301818387803b15801561224957600080fd5b600f546001600160a01b03163314156106d357600a80546001600160a01b0319166001600160a01b038381169190911791829055604080516313b9f0c760e01b8152905192909116916313b9f0c79160048082019260009290919082900301818387803b15801561284457600080fd5b600f546001600160a01b031681565b60048054604080516001620769d360e31b031981526001600160a01b038581169482019490945290516000939092169163ffc4b16891602480820192602092909190829003018186803b1580156129cd57600080fdfe2877656956616c756520213d2028286d73672e76616c7565202b2070632e657468466565546f55706772616465546f4c6576656c332829292a636f756e742929cc6ddb19d323297cc6ed8f3dbda06395f6f153d24bf678f36305752ab635e10928215f616464726573732e73656e642866656573546f506179546f53656c6c65722929286d73672e76616c756520213d202870632e657468466565546f55706772616465546f4c6576656c3328292a636f756e742929ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef286d73672e76616c756520213d2070632e657468466565546f55706772616465546f4c6576656c3228292a636f756e7429a2646970667358221220fbe85c3a6fa0919c93491c769155cdfad5809a0a4845bd3d867d33fbea239d1764736f6c63430006010033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd000000000000000000000000805385fba3f03a24d793721f4583be53d3abf86b000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c000000000000000000000000905139d0b050157d5786ba55cbb7c0bb23de48a20000000000000000000000000b11403debdef5eb2b094d71b39c2f71339933e4000000000000000000000000955c475da7a43247b10874dd610e113991b8c220000000000000000000000000e9a4319702b271765fdd9a2134e511bdc4d2a2c800000000000000000000000067d817f7d61d14b0308854cb277011d7ac024d2d0000000000000000000000007766b5f6fc12ef01ac9fe52ed550d854b0375d5f
-----Decoded View---------------
Arg [0] : _publicCallsAddress (address): 0x90E340e2d11E6Eb1D99E34D122D6fE0fEF3213fd
Arg [1] : _publicArraysAddress (address): 0x805385fba3F03A24d793721f4583BE53d3aBf86b
Arg [2] : _genesisCallsAddress (address): 0xa6be27538A28114Fe03EB7ADE9AdfE53164f2a4c
Arg [3] : _normalAddressAddress (address): 0x905139d0b050157D5786bA55cBb7c0BB23DE48A2
Arg [4] : _stakesAddress (address): 0x0B11403DEbDeF5eB2b094d71b39c2F71339933E4
Arg [5] : _stakesBuysAddress (address): 0x955c475dA7a43247b10874DD610E113991b8c220
Arg [6] : _genesisBuysAddress (address): 0xe9A4319702B271765fDd9A2134E511BDC4d2A2C8
Arg [7] : _tokenServiceAddress (address): 0x67D817F7d61d14B0308854CB277011d7Ac024d2d
Arg [8] : _baseTransfersAddress (address): 0x7766b5f6Fc12Ef01AC9fE52ed550D854B0375d5f
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000090e340e2d11e6eb1d99e34d122d6fe0fef3213fd
Arg [1] : 000000000000000000000000805385fba3f03a24d793721f4583be53d3abf86b
Arg [2] : 000000000000000000000000a6be27538a28114fe03eb7ade9adfe53164f2a4c
Arg [3] : 000000000000000000000000905139d0b050157d5786ba55cbb7c0bb23de48a2
Arg [4] : 0000000000000000000000000b11403debdef5eb2b094d71b39c2f71339933e4
Arg [5] : 000000000000000000000000955c475da7a43247b10874dd610e113991b8c220
Arg [6] : 000000000000000000000000e9a4319702b271765fdd9a2134e511bdc4d2a2c8
Arg [7] : 00000000000000000000000067d817f7d61d14b0308854cb277011d7ac024d2d
Arg [8] : 0000000000000000000000007766b5f6fc12ef01ac9fe52ed550d854b0375d5f
Deployed Bytecode Sourcemap
30439:20423:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30461:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30461:18:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;30461:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50495:364;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;50495:364:0;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;50495:364:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;50495:364:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;50495:364:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;50495:364:0;;;;;;;;-1:-1:-1;50495:364:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;50495:364:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;50495:364:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;50495:364:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;50495:364:0;;-1:-1:-1;50495:364:0;;-1:-1:-1;;;;;50495:364:0:i;:::-;;48209:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48209:123:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;48209:123:0;;:::i;36191:205::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36191:205:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;36191:205:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;42534:353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42534:353:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;42534:353:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;42534:353:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;42534:353:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;42534:353:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;42534:353:0;;-1:-1:-1;42534:353:0;;-1:-1:-1;;;;;42534:353:0:i;35230:98::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35230:98:0;;;:::i;:::-;;;;;;;;;;;;;;;;31098:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31098:22:0;;;:::i;:::-;;;;-1:-1:-1;;;;;31098:22:0;;;;;;;;;;;;;;31738:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31738:90:0;;;:::i;48334:139::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48334:139:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;48334:139:0;;:::i;34224:134::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34224:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34224:134:0;-1:-1:-1;;;;;34224:134:0;;:::i;38108:369::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;38108:369:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;38108:369:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;38108:369:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;38108:369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;38108:369:0;;-1:-1:-1;38108:369:0;;-1:-1:-1;;;;;38108:369:0:i;35590:99::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35590:99:0;;;:::i;34635:142::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34635:142:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34635:142:0;-1:-1:-1;;;;;34635:142:0;;:::i;48713:167::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48713:167:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;48713:167:0;;:::i;33198:151::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33198:151:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33198:151:0;-1:-1:-1;;;;;33198:151:0;;:::i;35903:284::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35903:284:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;35903:284:0;;;;;;;;;;;;;;;;;:::i;35105:119::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35105:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;35105:119:0;;;;:::i;31294:24::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31294:24:0;;;:::i;35455:131::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35455:131:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;35455:131:0;-1:-1:-1;;;;;35455:131:0;;:::i;46839:135::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46839:135:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;46839:135:0;-1:-1:-1;;;;;46839:135:0;;:::i;41882:213::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;41882:213:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;41882:213:0;;:::i;31123:22::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31123:22:0;;;:::i;30507:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30507:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;39522:377;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39522:377:0;-1:-1:-1;;;;;39522:377:0;;:::i;49780:163::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49780:163:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;49780:163:0;;:::i;47117:141::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;47117:141:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;47117:141:0;-1:-1:-1;;;;;47117:141:0;;:::i;43402:126::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;43402:126:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;43402:126:0;;;;;;;;:::i;31148:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31148:23:0;;;:::i;48588:123::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48588:123:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;48588:123:0;;:::i;31375:29::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31375:29:0;;;:::i;37673:111::-;;;:::i;49635:143::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49635:143:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;49635:143:0;;:::i;47911:147::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;47911:147:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;47911:147:0;;:::i;34025:197::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34025:197:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;34025:197:0;;;;;;;;:::i;48475:111::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48475:111:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;48475:111:0;;:::i;41786:92::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;41786:92:0;;;:::i;40455:196::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;40455:196:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;40455:196:0;;;;;;;;:::i;39903:127::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;39903:127:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39903:127:0;;:::i;37210:111::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37210:111:0;;;:::i;38018:86::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38018:86:0;;;:::i;44547:403::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;44547:403:0;-1:-1:-1;;;;;44547:403:0;;:::i;49047:147::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49047:147:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;49047:147:0;;:::i;37903:111::-;;;:::i;43532:336::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43532:336:0;-1:-1:-1;;;;;43532:336:0;;:::i;40034:97::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;40034:97:0;;;:::i;38935:371::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;38935:371:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;38935:371:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;38935:371:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;38935:371:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;38935:371:0;;-1:-1:-1;38935:371:0;;-1:-1:-1;;;;;38935:371:0:i;50126:107::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;50126:107:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;50126:107:0;;:::i;44209:334::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;44209:334:0;-1:-1:-1;;;;;44209:334:0;;:::i;32894:157::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32894:157:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32894:157:0;-1:-1:-1;;;;;32894:157:0;;:::i;42291:239::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42291:239:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;42291:239:0;;;;;;;;:::i;36542:112::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36542:112:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;36542:112:0;-1:-1:-1;;;;;36542:112:0;;:::i;37788:111::-;;;:::i;43872:333::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43872:333:0;-1:-1:-1;;;;;43872:333:0;;:::i;33828:195::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33828:195:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;33828:195:0;;;;;;;;:::i;31174:16::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31174:16:0;;;:::i;37000:103::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37000:103:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;37000:103:0;;:::i;47589:318::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;47589:318:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;47589:318:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;47589:318:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;47589:318:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;47589:318:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;47589:318:0;;-1:-1:-1;;47589:318:0;;;-1:-1:-1;47589:318:0;;-1:-1:-1;;47589:318:0:i;40918:864::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;40918:864:0;;;:::i;40135:316::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;40135:316:0;-1:-1:-1;;;;;40135:316:0;;:::i;46025:189::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;46025:189:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;46025:189:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;46025:189:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;46025:189:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;46025:189:0;;-1:-1:-1;46025:189:0;;-1:-1:-1;;;;;46025:189:0:i;31216:22::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31216:22:0;;;:::i;47262:323::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;47262:323:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;47262:323:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;47262:323:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;47262:323:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;47262:323:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;47262:323:0;;-1:-1:-1;47262:323:0;;-1:-1:-1;;;;;47262:323:0:i;31628:71::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31628:71:0;;;:::i;31267:24::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31267:24:0;;;:::i;44954:599::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;44954:599:0;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;44954:599:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;44954:599:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;44954:599:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;44954:599:0;;-1:-1:-1;44954:599:0;;-1:-1:-1;;;;;44954:599:0:i;46700:135::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46700:135:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;46700:135:0;-1:-1:-1;;;;;46700:135:0;;:::i;34783:151::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34783:151:0;;;:::i;32742:150::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32742:150:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;32742:150:0;-1:-1:-1;;;;;32742:150:0;;:::i;30483:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30483:20:0;;;:::i;33508:157::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33508:157:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33508:157:0;-1:-1:-1;;;;;33508:157:0;;:::i;45557:203::-;;;:::i;45764:212::-;;;:::i;45980:41::-;;;:::i;49945:179::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49945:179:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;49945:179:0;;:::i;35693:206::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35693:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;35693:206:0;;;;;;;;:::i;34493:140::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34493:140:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34493:140:0;-1:-1:-1;;;;;34493:140:0;;:::i;37558:111::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37558:111:0;;;:::i;50239:252::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;50239:252:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;50239:252:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;50239:252:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;50239:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;50239:252:0;;;;;;;;-1:-1:-1;50239:252:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;50239:252:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;50239:252:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;50239:252:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;50239:252:0;;-1:-1:-1;50239:252:0;;-1:-1:-1;;;;;50239:252:0:i;31344:28::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31344:28:0;;;:::i;36658:121::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36658:121:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;36658:121:0;-1:-1:-1;;;;;36658:121:0;;:::i;49357:143::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49357:143:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;49357:143:0;;:::i;42207:80::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42207:80:0;;;:::i;37107:99::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37107:99:0;;;:::i;33351:155::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33351:155:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33351:155:0;-1:-1:-1;;;;;33351:155:0;;:::i;31193:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31193:20:0;;;:::i;33053:143::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33053:143:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33053:143:0;-1:-1:-1;;;;;33053:143:0;;:::i;31702:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31702:33:0;;;:::i;42891:507::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42891:507:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;42891:507:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;42891:507:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;42891:507:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;42891:507:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;42891:507:0;;-1:-1:-1;42891:507:0;;-1:-1:-1;;;;;42891:507:0:i;38481:450::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;38481:450:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;38481:450:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;38481:450:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;38481:450:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;38481:450:0;;-1:-1:-1;38481:450:0;;-1:-1:-1;;;;;38481:450:0:i;37325:99::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37325:99:0;;;:::i;36783:213::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36783:213:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;36783:213:0;-1:-1:-1;;;;;36783:213:0;;:::i;49196:159::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49196:159:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;49196:159:0;;:::i;31241:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31241:23:0;;;:::i;42099:104::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42099:104:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;42099:104:0;;:::i;46218:345::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46218:345:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;46218:345:0;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;46218:345:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;46218:345:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;46218:345:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;46218:345:0;;;;;;;;-1:-1:-1;46218:345:0;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;46218:345:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;46218:345:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;46218:345:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;46218:345:0;;-1:-1:-1;46218:345:0;;-1:-1:-1;;;;;46218:345:0:i;49502:131::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49502:131:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;49502:131:0;;:::i;48060:147::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48060:147:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;48060:147:0;;:::i;36400:138::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;36400:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;36400:138:0;;;;;;;;;;:::i;48882:163::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48882:163:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;48882:163:0;;:::i;34938:::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34938:163:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34938:163:0;-1:-1:-1;;;;;34938:163:0;;:::i;31321:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31321:20:0;;;:::i;35332:119::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35332:119:0;;;:::i;31486:140::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31486:140:0;;;:::i;40655:259::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;40655:259:0;;;:::i;34360:129::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34360:129:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;34360:129:0;-1:-1:-1;;;;;34360:129:0;;:::i;31074:21::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31074:21:0;;;:::i;39310:208::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;39310:208:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;39310:208:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;39310:208:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;39310:208:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;39310:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;39310:208:0;;-1:-1:-1;39310:208:0;;-1:-1:-1;;;;;39310:208:0:i;46567:129::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46567:129:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;46567:129:0;-1:-1:-1;;;;;46567:129:0;;:::i;37428:126::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;37428:126:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;37428:126:0;-1:-1:-1;;;;;37428:126:0;;:::i;33667:159::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33667:159:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33667:159:0;-1:-1:-1;;;;;33667:159:0;;:::i;31409:74::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31409:74:0;;;:::i;46978:135::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46978:135:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;46978:135:0;-1:-1:-1;;;;;46978:135:0;;:::i;30461:18::-;;;;;;;;;;;;;;;-1:-1:-1;;30461:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;50495:364::-;50624:14;;50620:143;;50647:3;;50680:5;;50647:52;;;-1:-1:-1;;;50647:52:0;;50660:10;50647:52;;;;-1:-1:-1;;;;;50680:5:0;;;50647:52;;;;;;;;;;;;:3;;;;;:12;;:52;;;;;:3;;:52;;;;;;;:3;;:52;;;5:2:-1;;;;30:1;27;20:12;5:2;50647:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;50738:5:0;;50709:48;;;;;;;;-1:-1:-1;;;;;50738:5:0;;;;-1:-1:-1;50718:10:0;;-1:-1:-1;;;;;;;;;;;;50709:48:0;;;;;;;;;50620:143;50766:5;;:88;;-1:-1:-1;;;50766:88:0;;50806:10;50766:88;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;50766:5:0;;;;:22;;50795:9;;50806:10;50818;;50830:12;;50844:9;;50766:88;;;;;;;;;;;;;;;;;;:5;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;50766:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;50766:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;50766:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;50766:88:0;;;;;50495:364;;;:::o;48209:123::-;48275:2;;:55;;;-1:-1:-1;;;48275:55:0;;48299:10;48275:55;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;48275:2:0;;:23;;:55;;;;;-1:-1:-1;;48275:55:0;;;;;;;;-1:-1:-1;48275:2:0;:55;;;5:2:-1;;;;30:1;27;20:12;5:2;48275:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;48275:55:0;;;;48209:123;:::o;36191:205::-;36280:2;;:43;;;-1:-1:-1;;;36280:43:0;;36294:10;36280:43;;;;-1:-1:-1;;;;;36280:43:0;;;;;;;;;;;;;;;-1:-1:-1;;36280:2:0;;;;;;;:13;;:43;;;;;-1:-1:-1;;36280:43:0;;;;;;;;-1:-1:-1;36280:2:0;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;36280:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;36335:39:0;;;;;;;;-1:-1:-1;;;;;36335:39:0;;;-1:-1:-1;36344:10:0;;-1:-1:-1;36335:39:0;;;;;;;;;-1:-1:-1;36388:4:0;36191:205;;;;:::o;42534:353::-;42618:6;42633:186;42643:23;:30;42639:1;:34;42633:186;;;42724:42;-1:-1:-1;;;;;42687:119:0;42696:23;42720:1;42696:26;;;;;;;;;;;;;;-1:-1:-1;;;;;42687:119:0;-1:-1:-1;;;;;;;;;;;42768:37:0;42778:23;42802:1;42778:26;;;;;;;;;;;;;;42768:9;:37::i;:::-;42687:119;;;;;;;;;;;;;;;42811:3;;42633:186;;;42822:2;;;:60;;;-1:-1:-1;;;42822:60:0;;42846:10;42822:60;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;42822:2:0;;;;:23;;42846:10;;42858:23;;42822:60;;;;;;;;;;;;;;;;:2;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;42822:60:0;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;42822:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;42822:60:0;;;;42534:353;;:::o;35230:98::-;35312:12;35230:98;:::o;31098:22::-;;;-1:-1:-1;;;;;31098:22:0;;:::o;31738:90::-;;;-1:-1:-1;;;;;31738:90:0;;:::o;48334:139::-;48408:2;;:63;;;-1:-1:-1;;;48408:63:0;;48436:10;48408:63;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;48408:2:0;;:27;;:63;;;;;-1:-1:-1;;48408:63:0;;;;;;;;-1:-1:-1;48408:2:0;:63;;;5:2:-1;;;;30:1;27;20:12;34224:134:0;34293:14;;-1:-1:-1;;;;;34293:14:0;34279:10;:28;34275:81;;;34310:6;:29;;-1:-1:-1;;;;;;34310:29:0;-1:-1:-1;;;;;34310:29:0;;;;;34275:81;34224:134;:::o;38108:369::-;38210:17;;38249:2;;:28;;;-1:-1:-1;;;38249:28:0;;;;38210:17;;38249:2;;;-1:-1:-1;;;;;38249:2:0;;:26;;:28;;;;;;;;;;;;;;:2;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;38249:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;38249:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;38249:28:0;:34;38235:9;:49;38231:114;;38286:59;;-1:-1:-1;;;38286:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38231:114;38349:6;38363:111;38374:5;38370:1;:9;38363:111;;;38388:2;;38417:13;;-1:-1:-1;;;;;38388:2:0;;;;:28;;38417:10;;38428:1;;38417:13;;;;;;;;;;;;38432:2;;;;;;;;;-1:-1:-1;;;;;38432:2:0;-1:-1:-1;;;;;38432:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38432:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;38432:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;38432:28:0;38388:73;;;-1:-1:-1;;;;;;38388:73:0;;;;;;;-1:-1:-1;;;;;38388:73:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;38388:73:0;;;;;;;-1:-1:-1;38388:73:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;38388:73:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;38466:3:0;;;;;-1:-1:-1;38363:111:0;;-1:-1:-1;38363:111:0;;38108:369;;;:::o;35590:99::-;35668:3;;:17;;;-1:-1:-1;;;35668:17:0;;;;35634:19;;-1:-1:-1;;;;;35668:3:0;;:15;;:17;;;;;;;;;;;;;;:3;:17;;;5:2:-1;;;;30:1;27;20:12;5:2;35668:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;35668:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;35668:17:0;;-1:-1:-1;35590:99:0;:::o;34635:142::-;34707:14;;-1:-1:-1;;;;;34707:14:0;34693:10;:28;34689:86;;;34724:5;:34;;-1:-1:-1;;;;;;34724:34:0;-1:-1:-1;;;;;34724:34:0;;;;;34689:86;;48713:167;48801:2;;:77;;;-1:-1:-1;;;48801:77:0;;48836:10;48801:77;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;48801:2:0;;:34;;:77;;;;;-1:-1:-1;;48801:77:0;;;;;;;;-1:-1:-1;48801:2:0;:77;;;5:2:-1;;;;30:1;27;20:12;33198:151:0;33268:14;;-1:-1:-1;;;;;33268:14:0;33254:10;:28;33250:97;;;33285:3;:25;;-1:-1:-1;;;;;;33285:25:0;-1:-1:-1;;;;;33285:25:0;;;;;;;;;;;33312:18;;;-1:-1:-1;;;33312:18:0;;;;:3;;;;;:16;;:18;;;;;-1:-1:-1;;33312:18:0;;;;;;;;-1:-1:-1;33312:3:0;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;33312:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;33312:18:0;;;;33250:97;;35903:284;36049:3;;:49;;;-1:-1:-1;;;36049:49:0;;36066:10;36049:49;;;;-1:-1:-1;;;;;36049:49:0;;;;;;;;;;;;;;;;;;;;;;36016:12;;;;36049:3;;:16;;:49;;;;;;;;;;;;;;36016:12;36049:3;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;36049:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;36049:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;36049:49:0;;-1:-1:-1;36109:46:0;;;;36142:3;-1:-1:-1;;;;;36126:29:0;36135:5;-1:-1:-1;;;;;36126:29:0;-1:-1:-1;;;;;;;;;;;36147:7:0;36126:29;;;;;;;;;;;;;;;;;;36109:46;36173:6;35903:284;-1:-1:-1;;;;35903:284:0:o;35105:119::-;35173:11;;-1:-1:-1;;;;;35173:11:0;35159:10;:25;35156:65;;;35193:13;:23;;;;;-1:-1:-1;;;35193:23:0;-1:-1:-1;;;;35193:23:0;;;;;;35105:119;:::o;31294:24::-;;;-1:-1:-1;;;;;31294:24:0;;:::o;35455:131::-;35551:2;;;:31;;;-1:-1:-1;;;35551:31:0;;-1:-1:-1;;;;;35551:31:0;;;;;;;;;;;;35522:15;;35551:2;;;;:21;;:31;;;;;;;;;;;;;;;:2;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;35551:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;35551:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;35551:31:0;;35455:131;-1:-1:-1;;35455:131:0:o;46839:135::-;46935:2;;;:35;;;-1:-1:-1;;;46935:35:0;;-1:-1:-1;;;;;46935:35:0;;;;;;;;;;;;46910:12;;46935:2;;;;:25;;:35;;;;;;;;;;;;;;;:2;:35;;;5:2:-1;;;;30:1;27;20:12;41882:213:0;41956:2;;;:36;;;-1:-1:-1;;;41956:36:0;;41970:10;41956:36;;;;;;;;;;;;;;41937:12;;-1:-1:-1;;;;;41956:2:0;;;;:13;;:36;;;;;;;;;;;;;;41937:12;41956:2;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;41956:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;41956:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;42001:75:0;;;;;;;;42022:42;;42010:10;;-1:-1:-1;;;;;;;;;;;42001:75:0;;;;41956:36;42001:75;;;-1:-1:-1;42087:4:0;41882:213;;;:::o;31123:22::-;;;-1:-1:-1;;;;;31123:22:0;;:::o;30507:21::-;;;;;;:::o;39522:377::-;39599:2;;;:35;;;-1:-1:-1;;;39599:35:0;;-1:-1:-1;;;;;39599:35:0;;;;;;;;;;;;:2;;;;;:25;;:35;;;;;;;;;;;;;;;:2;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;39599:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;39599:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39599:35:0;39595:300;;;39639:36;39666:8;39639:26;:36::i;:::-;39595:300;;;39688:2;;;:35;;;-1:-1:-1;;;39688:35:0;;-1:-1:-1;;;;;39688:35:0;;;;;;;;;;;;:2;;;;;:25;;:35;;;;;;;;;;;;;;;:2;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;39688:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;39688:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39688:35:0;39684:211;;;39728:36;39755:8;39728:26;:36::i;39684:211::-;39777:2;;;:35;;;-1:-1:-1;;;;;;39777:35:0;;-1:-1:-1;;;;;39777:35:0;;;;;;;;;;;;:2;;;;;:25;;:35;;;;;;;;;;;;;;;:2;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;39777:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;39777:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39777:35:0;39773:122;;;39817:36;39844:8;39817:26;:36::i;39773:122::-;39865:30;;;-1:-1:-1;;;39865:30:0;;;;;;;;;;;;-1:-1:-1;;;39865:30:0;;;;;;;;;;;;;;49780:163;49866:2;;:75;;;-1:-1:-1;;;49866:75:0;;49900:10;49866:75;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;49866:2:0;;:33;;:75;;;;;-1:-1:-1;;49866:75:0;;;;;;;;-1:-1:-1;49866:2:0;:75;;;5:2:-1;;;;30:1;27;20:12;47117:141:0;47216:2;;;:38;;;-1:-1:-1;;;47216:38:0;;-1:-1:-1;;;;;47216:38:0;;;;;;;;;;;;47191:12;;47216:2;;;;:28;;:38;;;;;;;;;;;;;;;:2;:38;;;5:2:-1;;;;30:1;27;20:12;43402:126:0;43474:2;;:50;;;-1:-1:-1;;;43474:50:0;;43494:10;43474:50;;;;-1:-1:-1;;;;;43474:50:0;;;;;;;;;;;;;;;:2;;;;;:19;;:50;;;;;:2;;:50;;;;;;;:2;;:50;;;5:2:-1;;;;30:1;27;20:12;31148:23:0;;;-1:-1:-1;;;;;31148:23:0;;:::o;48588:123::-;48654:2;;:55;;;-1:-1:-1;;;48654:55:0;;48678:10;48654:55;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;48654:2:0;;:23;;:55;;;;;-1:-1:-1;;48654:55:0;;;;;;;;-1:-1:-1;48654:2:0;:55;;;5:2:-1;;;;30:1;27;20:12;31375:29:0;;;-1:-1:-1;;;;;31375:29:0;;:::o;37673:111::-;37729:2;;;:51;;;-1:-1:-1;;;37729:51:0;;37758:10;37729:51;;;;;;;37770:9;37729:51;;;;;-1:-1:-1;;;;;37729:2:0;;;;:28;;:51;;;;;:2;;:51;;;;;;;:2;;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;37729:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;37729:51:0;;;;37673:111::o;49635:143::-;49711:2;;:65;;;-1:-1:-1;;;49711:65:0;;49740:10;49711:65;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;49711:2:0;;:28;;:65;;;;;-1:-1:-1;;49711:65:0;;;;;;;;-1:-1:-1;49711:2:0;:65;;;5:2:-1;;;;30:1;27;20:12;47911:147:0;47989:2;;:67;;;-1:-1:-1;;;47989:67:0;;48019:10;47989:67;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;47989:2:0;;:29;;:67;;;;;-1:-1:-1;;47989:67:0;;;;;;;;-1:-1:-1;47989:2:0;:67;;;5:2:-1;;;;30:1;27;20:12;34025:197:0;34097:4;34105;34097:12;34091:29;;34112:8;;;34091:29;34141:14;;-1:-1:-1;;;;;34141:14:0;34127:10;:28;34123:97;;;34158:2;:27;;-1:-1:-1;;;;;;34158:27:0;-1:-1:-1;;;;;34158:27:0;;;;;;;;;;;34187:17;;;-1:-1:-1;;;34187:17:0;;;;:2;;;;;:15;;:17;;;;;-1:-1:-1;;34187:17:0;;;;;;;;-1:-1:-1;34187:2:0;:17;;;5:2:-1;;;;30:1;27;20:12;34123:97:0;34025:197;;:::o;48475:111::-;48535:2;;:49;;;-1:-1:-1;;;48535:49:0;;48556:10;48535:49;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;48535:2:0;;:20;;:49;;;;;-1:-1:-1;;48535:49:0;;;;;;;;-1:-1:-1;48535:2:0;:49;;;5:2:-1;;;;30:1;27;20:12;41786:92:0;41849:3;;:25;;;-1:-1:-1;;;41849:25:0;;41863:10;41849:25;;;;;;41823:12;;-1:-1:-1;;;;;41849:3:0;;:13;;:25;;;;;;;;;;;;;;41823:12;41849:3;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;41849:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;40455:196:0;40536:2;;:58;;;-1:-1:-1;;;40536:58:0;;40563:10;40536:58;;;;-1:-1:-1;;;;;40536:58:0;;;;;;;;;;;;;;;:2;;;;;:26;;:58;;;;;:2;;:58;;;;;;;:2;;:58;;;5:2:-1;;;;30:1;27;20:12;5:2;40536:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;40603:43:0;;;;;;;;-1:-1:-1;;;;;40603:43:0;;;-1:-1:-1;40620:4:0;;-1:-1:-1;;;;;;;;;;;;40603:43:0;;;;;;;;40455:196;;:::o;39903:127::-;39972:2;;:54;;;-1:-1:-1;;;39972:54:0;;39999:10;39972:54;;;;;;;;;;;;-1:-1:-1;;;;;39972:2:0;;;;:26;;:54;;;;;:2;;:54;;;;;;;;:2;;:54;;;5:2:-1;;;;30:1;27;20:12;37210:111:0;37268:2;;;:49;;;-1:-1:-1;;;37268:49:0;;37306:10;37268:49;;;;;;;;-1:-1:-1;;;;;37268:2:0;;;;:37;;:49;;;;;:2;;:49;;;;;;;:2;;:49;;;5:2:-1;;;;30:1;27;20:12;38018:86:0;38063:2;;;:37;;;-1:-1:-1;;;38063:37:0;;38089:10;38063:37;;;;;;;;-1:-1:-1;;;;;38063:2:0;;;;:25;;:37;;;;;:2;;:37;;;;;;;:2;;:37;;;5:2:-1;;;;30:1;27;20:12;44547:403:0;44637:2;;:26;;;-1:-1:-1;;;44637:26:0;;-1:-1:-1;;;;;44637:26:0;;;;;;;;;-1:-1:-1;;44637:2:0;;;;;;;:16;;:26;;;;;;;;;;;;;;;:2;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;44637:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;44637:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;44637:26:0;44716:3;;:57;;;-1:-1:-1;;;44716:57:0;;44732:10;44716:57;;;;-1:-1:-1;;;;;44716:57:0;;;;;;;44763:9;44716:57;;;;;;44637:26;;-1:-1:-1;44668:17:0;;;;44716:3;;;;;:15;;:57;;;;;;;;;;;44668:17;44716:3;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;44716:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;44716:57:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;44716:57:0;;;;;;;;;-1:-1:-1;44716:57:0;-1:-1:-1;44777:21:0;44716:57;44777:10;:21::i;:::-;-1:-1:-1;44806:32:0;;-1:-1:-1;;;;;44806:13:0;;;:32;;;;;44820:17;;44806:32;;;;44820:17;44806:13;:32;;;;;;;44802:83;;44840:45;;-1:-1:-1;;;44840:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44802:83;44895:50;;;;;;;;44919:10;;-1:-1:-1;;;;;44895:50:0;;;-1:-1:-1;;;;;;;;;;;44895:50:0;;;;;;;;44547:403;;;;:::o;49047:147::-;49125:2;;:67;;;-1:-1:-1;;;49125:67:0;;49155:10;49125:67;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;49125:2:0;;:29;;:67;;;;;-1:-1:-1;;49125:67:0;;;;;;;;-1:-1:-1;49125:2:0;:67;;;5:2:-1;;;;30:1;27;20:12;37903:111:0;37959:2;;;:51;;;-1:-1:-1;;;37959:51:0;;37988:10;37959:51;;;;;;;38000:9;37959:51;;;;;-1:-1:-1;;;;;37959:2:0;;;;:28;;:51;;;;;:2;;:51;;;;;;;:2;;:51;;;5:2:-1;;;;30:1;27;20:12;43532:336:0;43637:10;-1:-1:-1;;;;;43618:51:0;;-1:-1:-1;;;;;;;;;;;43649:19:0;43627:8;43649:9;:19::i;:::-;43618:51;;;;;;;;;;;;;;;43701:3;;:72;;;-1:-1:-1;;;43701:72:0;;43732:10;43701:72;;;;-1:-1:-1;;;;;43701:72:0;;;;;;;43763:9;43701:72;;;;;;43673:25;;43701:3;;;;;:30;;:72;;;;;;;;;;;;;;;43673:25;43701:3;:72;;;5:2:-1;;;;30:1;27;20:12;5:2;43701:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;43701:72:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;43701:72:0;43781:32;;43701:72;;-1:-1:-1;;;;;;43781:13:0;;;:32;;;;;43701:72;;43781:32;;;;43701:72;43781:13;:32;;;;;;;43777:83;;43815:45;;-1:-1:-1;;;43815:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40034:97;40085:2;;:42;;;-1:-1:-1;;;40085:42:0;;40116:10;40085:42;;;;;;-1:-1:-1;;;;;40085:2:0;;;;:30;;:42;;;;;:2;;:42;;;;;;;;:2;;:42;;;5:2:-1;;;;30:1;27;20:12;38935:371:0;39037:17;;39076:2;;:28;;;-1:-1:-1;;;39076:28:0;;;;39037:17;;39076:2;;;-1:-1:-1;;;;;39076:2:0;;:26;;:28;;;;;;;;;;;;;;:2;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;39076:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;39076:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39076:28:0;:34;39062:9;:49;39058:116;;39113:61;;-1:-1:-1;;;39113:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39058:116;39178:6;39192:111;39203:5;39199:1;:9;39192:111;;;39217:2;;39246:13;;-1:-1:-1;;;;;39217:2:0;;;;:28;;39246:10;;39257:1;;39246:13;;;;;;;;;;;;39261:2;;;;;;;;;-1:-1:-1;;;;;39261:2:0;-1:-1:-1;;;;;39261:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;39261:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;39261:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;39261:28:0;39217:73;;;-1:-1:-1;;;;;;39217:73:0;;;;;;;-1:-1:-1;;;;;39217:73:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;39217:73:0;;;;;;;-1:-1:-1;39217:73:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;39217:73:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;39295:3:0;;;;;-1:-1:-1;39192:111:0;;-1:-1:-1;39192:111:0;50126:107;50184:2;;:47;;;-1:-1:-1;;;50184:47:0;;50204:10;50184:47;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;50184:2:0;;:19;;:47;;;;;-1:-1:-1;;50184:47:0;;;;;;;;-1:-1:-1;50184:2:0;:47;;;5:2:-1;;;;30:1;27;20:12;44209:334:0;44313:10;-1:-1:-1;;;;;44294:51:0;;-1:-1:-1;;;;;;;;;;;44325:19:0;44303:8;44325:9;:19::i;:::-;44294:51;;;;;;;;;;;;;;;44377:3;;:72;;;-1:-1:-1;;;44377:72:0;;44408:10;44377:72;;;;-1:-1:-1;;;;;44377:72:0;;;;;;;44439:9;44377:72;;;;;;44349:25;;44377:3;;;;;:30;;:72;;;;;;;;;;;;;;;44349:25;44377:3;:72;;;5:2:-1;;;;30:1;27;20:12;32894:157:0;32968:14;;-1:-1:-1;;;;;32968:14:0;32954:10;:28;32950:99;;;32985:2;:28;;-1:-1:-1;;;;;;32985:28:0;-1:-1:-1;;;;;32985:28:0;;;;;;;;;;;33015:17;;;-1:-1:-1;;;33015:17:0;;;;:2;;;;;:15;;:17;;;;;-1:-1:-1;;33015:17:0;;;;;;;;-1:-1:-1;33015:2:0;:17;;;5:2:-1;;;;30:1;27;20:12;42291:239:0;-1:-1:-1;;;;;42361:20:0;;42376:4;42361:20;42357:61;;;42383:35;;;-1:-1:-1;;;42383:35:0;;;;;;;;;;;;-1:-1:-1;;;42383:35:0;;;;;;;;;;;;;;42357:61;42433:2;;:44;;;-1:-1:-1;;;42433:44:0;;42453:10;42433:44;;;;-1:-1:-1;;;;;42433:44:0;;;;;;;;;;;;;;;42422:56;;42433:2;;;;;:19;;:44;;;;;;;;;;;;;;;:2;;:44;;;5:2:-1;;;;30:1;27;20:12;5:2;42433:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;42433:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;42433:44:0;42422:10;:56::i;:::-;-1:-1:-1;42487:38:0;;;;;;;;-1:-1:-1;;;;;42487:38:0;;;42501:10;;-1:-1:-1;;;;;;;;;;;42487:38:0;;;;;;;;42291:239;;:::o;36542:112::-;36628:2;;;:22;;;-1:-1:-1;;;36628:22:0;;-1:-1:-1;;;;;36628:22:0;;;;;;;;;;;;36600:15;;36628:2;;;;:12;;:22;;;;;;;;;;;;;;;:2;:22;;;5:2:-1;;;;30:1;27;20:12;37788:111:0;37844:2;;;:51;;;-1:-1:-1;;;37844:51:0;;37873:10;37844:51;;;;;;;37885:9;37844:51;;;;;-1:-1:-1;;;;;37844:2:0;;;;:28;;:51;;;;;:2;;:51;;;;;;;:2;;:51;;;5:2:-1;;;;30:1;27;20:12;43872:333:0;43976:10;-1:-1:-1;;;;;43957:51:0;;-1:-1:-1;;;;;;;;;;;43988:19:0;43966:8;43988:9;:19::i;:::-;43957:51;;;;;;;;;;;;;;;44040:3;;:72;;;-1:-1:-1;;;44040:72:0;;44071:10;44040:72;;;;-1:-1:-1;;;;;44040:72:0;;;;;;;44102:9;44040:72;;;;;;44012:25;;44040:3;;;;;:30;;:72;;;;;;;;;;;;;;;44012:25;44040:3;:72;;;5:2:-1;;;;30:1;27;20:12;33828:195:0;33899:4;33907;33899:12;33893:29;;33914:8;;;33893:29;33943:14;;-1:-1:-1;;;;;33943:14:0;33929:10;:28;33925:96;;;33977:8;33960:2;;:26;;;;;-1:-1:-1;;;;;33960:26:0;;;;;-1:-1:-1;;;;;33960:26:0;;;;;;33988:2;;;;;;;;;-1:-1:-1;;;;;33988:2:0;-1:-1:-1;;;;;33988:15:0;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;31174:16:0;;;-1:-1:-1;;;;;31174:16:0;;:::o;37000:103::-;37057:2;;;:42;;;-1:-1:-1;;;37057:42:0;;37078:10;37057:42;;;;;;;;;;;;;;-1:-1:-1;;;;;37057:2:0;;;;:20;;:42;;;;;:2;;:42;;;;;;;:2;;:42;;;5:2:-1;;;;30:1;27;20:12;47589:318:0;47694:2;;:17;;;-1:-1:-1;;;47694:17:0;;;;47676:6;;47694:2;;;-1:-1:-1;;;;;47694:2:0;;:15;;:17;;;;;;;;;;;;;;:2;:17;;;5:2:-1;;;;30:1;27;20:12;5:2;47694:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;47694:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;47694:17:0;:60;;;;;47729:2;;;;;;;;;-1:-1:-1;;;;;47729:2:0;-1:-1:-1;;;;;47729:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;47729:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;47729:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;47729:25:0;-1:-1:-1;;;;;47715:39:0;:10;:39;47694:60;47690:214;;;47763:108;47773:12;:19;47769:1;:23;47763:108;;;47832:12;47845:1;47832:15;;;;;;;;;;;;;;-1:-1:-1;;;;;47808:48:0;47825:4;-1:-1:-1;;;;;47808:48:0;-1:-1:-1;;;;;;;;;;;47849:6:0;47808:48;;;;;;;;;;;;;;;;;;47862:3;;47763:108;;;47690:214;;40918:864;40967:10;40981:9;40967:23;40959:32;;;;;;41067:13;;-1:-1:-1;;;41067:13:0;;;;41063:44;;;41082:25;;;-1:-1:-1;;;41082:25:0;;;;;;;;;;;;-1:-1:-1;;;41082:25:0;;;;;;;;;;;;;;41063:44;41176:21;41207:19;41201:62;;41229:34;;;-1:-1:-1;;;41229:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;41201:62;41307:2;;:27;;;-1:-1:-1;;;41307:27:0;;;;41267:6;;;;-1:-1:-1;;;;;41307:2:0;;;;:25;;:27;;;;;;;;;;;;;;;:2;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;41307:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;41307:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;41307:27:0;;-1:-1:-1;41340:439:0;41351:3;41347:1;:7;41340:439;;;41393:2;;:22;;;-1:-1:-1;;;41393:22:0;;;;;;;;;;41363:19;;-1:-1:-1;;;;;41393:2:0;;:19;;:22;;;;;;;;;;;;;;:2;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;41393:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;41393:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;41393:22:0;41436:2;;:21;;;-1:-1:-1;;;41436:21:0;;-1:-1:-1;;;;;41436:21:0;;;;;;;;;41393:22;;-1:-1:-1;;;41436:2:0;;;;;;;;:16;;:21;;;;;41393:22;;41436:21;;;;;;;;:2;:21;;;5:2:-1;;;;30:1;27;20:12;5:2;41436:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;41436:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;41436:21:0;41510:2;;:18;;;-1:-1:-1;;;41510:18:0;;;;41436:21;;-1:-1:-1;41462:17:0;;41510:2;;;;-1:-1:-1;;;;;41510:2:0;;:16;;:18;;;;;41436:21;;41510:18;;;;;;;;:2;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;41510:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;41510:18:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;41510:18:0;41482:25;;;41510:18;41482:46;;;;;;-1:-1:-1;41537:16:0;;41533:234;;41569:22;;-1:-1:-1;;;;;41569:8:0;;;:22;;;;;41578:12;;41569:22;;;;41578:12;41569:8;:22;;;;;;;41564:195;;41603:53;;;;;;;;;;;;;;-1:-1:-1;;;;;41603:53:0;;;;;;;;;;;41564:195;;;41678:2;;41706:26;;;-1:-1:-1;;;41706:26:0;;;;41678:2;;;;-1:-1:-1;;;;;41678:2:0;;:27;;41735:12;;41678:2;;41706:24;;:26;;;;;;;;;;;;;;41678:2;41706:26;;;5:2:-1;;;;30:1;27;20:12;5:2;41706:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;41706:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;41706:26:0;41678:70;;;-1:-1:-1;;;;;;41678:70:0;;;;;;;41706:41;;;;41678:70;;;;;;;;;;-1:-1:-1;;41678:70:0;;;;;;;-1:-1:-1;41678:70:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;41678:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;41678:70:0;;;;41564:195;-1:-1:-1;;41771:3:0;;;;;-1:-1:-1;41340:439:0;;40135:316;40229:10;-1:-1:-1;;;;;40210:51:0;;-1:-1:-1;;;;;;;;;;;40241:19:0;40219:8;40241:9;:19::i;:::-;40210:51;;;;;;;;;;;;;;;40293:2;;:61;;;-1:-1:-1;;;40293:61:0;;40313:10;40293:61;;;;-1:-1:-1;;;;;40293:61:0;;;;;;;40344:9;40293:61;;;;;;40265:25;;40293:2;;;;;:19;;:61;;;;;;;;;;;;;;;40265:25;40293:2;:61;;;5:2:-1;;;;30:1;27;20:12;46025:189:0;46116:3;;:48;;;-1:-1:-1;;;46116:48:0;;46148:10;46116:48;;;;;;;;;;;;;;;;;;;;46095:18;;-1:-1:-1;;;;;46116:3:0;;:14;;46137:9;;46148:10;46160:3;;46116:48;;;;;;;;;;;;;;;46095:18;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;46116:48:0;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46116:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;46116:48:0;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;46116:48:0;;-1:-1:-1;46172:14:0;;46168:42;;46188:22;46199:10;46188;:22::i;31216:::-;;;-1:-1:-1;;;;;31216:22:0;;:::o;47262:323::-;47349:2;;:17;;;-1:-1:-1;;;47349:17:0;;;;47331:6;;47349:2;;;-1:-1:-1;;;;;47349:2:0;;:15;;:17;;;;;;;;;;;;;;:2;:17;;;5:2:-1;;;;30:1;27;20:12;5:2;47349:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;47349:17:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;47349:17:0;:60;;;;;47384:2;;;;;;;;;-1:-1:-1;;;;;47384:2:0;-1:-1:-1;;;;;47384:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;47384:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;47384:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;47384:25:0;-1:-1:-1;;;;;47370:39:0;:10;:39;47349:60;47345:237;;;47418:131;47428:12;:19;47424:1;:23;47418:131;;;47487:12;47500:1;47487:15;;;;;;;;;;;;;;-1:-1:-1;;;;;47463:71:0;47480:4;-1:-1:-1;;;;;47463:71:0;-1:-1:-1;;;;;;;;;;;47504:2:0;;;;;;;;;-1:-1:-1;;;;;47504:2:0;-1:-1:-1;;;;;47504:12:0;;47517;47530:1;47517:15;;;;;;;;;;;;;;47504:29;;;;;;;;;;;;;-1:-1:-1;;;;;47504:29:0;-1:-1:-1;;;;;47504:29:0;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;47504:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;47504:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;47504:29:0;47463:71;;;;;;;;;;;47504:29;47463:71;;;47540:3;;47418:131;;;47345:237;;31628:71;;;-1:-1:-1;;;;;31628:71:0;;:::o;31267:24::-;;;-1:-1:-1;;;;;31267:24:0;;:::o;44954:599::-;45090:2;;:26;;;-1:-1:-1;;;45090:26:0;;-1:-1:-1;;;;;45090:26:0;;;;;;;;;-1:-1:-1;;45090:2:0;;;;;;;:16;;:26;;;;;;;;;;;;;;;:2;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;45090:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;45090:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;45090:26:0;;-1:-1:-1;45120:6:0;45134:186;45144:23;:30;45140:1;:34;45134:186;;;45225:42;-1:-1:-1;;;;;45188:119:0;45197:23;45221:1;45197:26;;;;;;;;;;;;;;-1:-1:-1;;;;;45188:119:0;-1:-1:-1;;;;;;;;;;;45269:37:0;45279:23;45303:1;45279:26;;;;;;;45269:37;45188:119;;;;;;;;;;;;;;;45312:3;;45134:186;;;45351:3;;:86;;-1:-1:-1;;;45351:86:0;;45371:10;45351:86;;;;;;-1:-1:-1;;;;;45351:86:0;;;;;;;45427:9;45351:86;;;;;;;;;;;;;;;;;;;;;45323:25;;45351:3;;;;;:19;;45371:10;45391:8;;45402:23;;45427:9;45351:86;;;;;;;;;;;;;;45323:25;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;45351:86:0;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45351:86:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;45351:86:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;45351:86:0;45445:32;;45351:86;;-1:-1:-1;;;;;;45445:13:0;;;:32;;;;;45351:86;;45445:32;;;;45351:86;45445:13;:32;;;;;;;45441:46;;45479:8;;;45441:46;45498:50;;;;;;;;45522:10;;-1:-1:-1;;;;;45498:50:0;;;-1:-1:-1;;;;;;;;;;;45498:50:0;;;;;;;;44954:599;;;;;:::o;46700:135::-;46796:2;;;:35;;;-1:-1:-1;;;46796:35:0;;-1:-1:-1;;;;;46796:35:0;;;;;;;;;;;;46771:12;;46796:2;;;;:25;;:35;;;;;;;;;;;;;;;:2;:35;;;5:2:-1;;;;30:1;27;20:12;34783:151:0;34824:11;;-1:-1:-1;;;;;34824:11:0;34821:109;;34886:11;:24;;-1:-1:-1;;;;;;34886:24:0;34900:10;34886:24;;;34821:109;34783:151::o;32742:150::-;32810:14;;-1:-1:-1;;;;;32810:14:0;32796:10;:28;32792:98;;;32827:2;:27;;-1:-1:-1;;;;;;32827:27:0;-1:-1:-1;;;;;32827:27:0;;;;;;;;;;32856:17;;;-1:-1:-1;;;32856:17:0;;;;:2;;;;;:15;;:17;;;;-1:-1:-1;;32856:17:0;;;;;;;-1:-1:-1;32856:2:0;:17;;;5:2:-1;;;;30:1;27;20:12;30483:20:0;;;;;;;;;;;;;;;-1:-1:-1;;30483:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33508:157;33581:14;;-1:-1:-1;;;;;33581:14:0;33567:10;:28;33563:100;;;33598:3;:28;;-1:-1:-1;;;;;;33598:28:0;-1:-1:-1;;;;;33598:28:0;;;;;;;;;;;33628:18;;;-1:-1:-1;;;33628:18:0;;;;:3;;;;;:16;;:18;;;;;-1:-1:-1;;33628:18:0;;;;;;;;-1:-1:-1;33628:3:0;:18;;;5:2:-1;;;;30:1;27;20:12;45557:203:0;45644:3;;:38;;;-1:-1:-1;;;45644:38:0;;45660:10;45644:38;;;;45672:9;45644:38;;;;;;45600:18;;;;-1:-1:-1;;;;;45644:3:0;;;;:15;;:38;;;;;;;;;;;45600:18;45644:3;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;45644:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;45644:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;45644:38:0;;;;;;;;;-1:-1:-1;45644:38:0;-1:-1:-1;45686:22:0;45644:38;45686:10;:22::i;:::-;-1:-1:-1;45717:39:0;;;-1:-1:-1;;;;;45717:39:0;;;;;;45731:10;;45717:39;;;;;;;;;;45557:203;;:::o;45764:212::-;45854:3;;:41;;;-1:-1:-1;;;45854:41:0;;45873:10;45854:41;;;;45885:9;45854:41;;;;;;45810:18;;;;-1:-1:-1;;;;;45854:3:0;;;;:18;;:41;;;;;;;;;;;45810:18;45854:3;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;45854:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;45854:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;45854:41:0;;;;;;;;;-1:-1:-1;45854:41:0;-1:-1:-1;45899:22:0;45854:41;45899:10;:22::i;:::-;-1:-1:-1;45930:42:0;;;-1:-1:-1;;;;;45930:42:0;;;;;;45947:10;;45930:42;;;;;;;;;;45764:212;;:::o;49945:179::-;50039:2;;:83;;;-1:-1:-1;;;50039:83:0;;50077:10;50039:83;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;50039:2:0;;:37;;:83;;;;;-1:-1:-1;;50039:83:0;;;;;;;;-1:-1:-1;50039:2:0;:83;;;5:2:-1;;;;30:1;27;20:12;35693:206:0;-1:-1:-1;;;;;35756:20:0;;35771:4;35756:20;35752:61;;;35778:35;;;-1:-1:-1;;;35778:35:0;;;;;;;;;;;;-1:-1:-1;;;35778:35:0;;;;;;;;;;;;;;35752:61;35816:3;;:37;;;-1:-1:-1;;;35816:37:0;;35829:10;35816:37;;;;-1:-1:-1;;;;;35816:37:0;;;;;;;;;;;;;;;:3;;;;;:12;;:37;;;;;:3;;:37;;;;;;;:3;;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;35816:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;35861:33:0;;;;;;;;-1:-1:-1;;;;;35861:33:0;;;-1:-1:-1;35870:10:0;;-1:-1:-1;;;;;;;;;;;;35861:33:0;;;;;;;;35693:206;;:::o;34493:140::-;34564:14;;-1:-1:-1;;;;;34564:14:0;34550:10;:28;34546:85;;;34581:5;:33;;-1:-1:-1;;;;;;34581:33:0;-1:-1:-1;;;;;34581:33:0;;;;;34546:85;;37558:111;37616:2;;;:49;;;-1:-1:-1;;;37616:49:0;;37654:10;37616:49;;;;;;;;-1:-1:-1;;;;;37616:2:0;;;;:37;;:49;;;;;:2;;:49;;;;;;;:2;;:49;;;5:2:-1;;;;30:1;27;20:12;50239:252:0;50364:5;;:76;;-1:-1:-1;;;50364:76:0;;50404:10;50364:76;;;;;;;;;;;;;;;;;;;;;50343:18;;-1:-1:-1;;;;;50364:5:0;;:22;;50393:9;;50404:10;;50416:12;;50430:9;;50364:76;;;;;;;;;;;;;;;;;;50343:18;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;50364:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;50364:76:0;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;50364:76:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;50364:76:0;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;50364:76:0;;-1:-1:-1;50448:14:0;;50444:42;;50464:22;50475:10;50464;:22::i;31344:28::-;;;-1:-1:-1;;;;;31344:28:0;;:::o;36658:121::-;36749:2;;:26;;;-1:-1:-1;;;36749:26:0;;-1:-1:-1;;;;;36749:26:0;;;;;;;;;-1:-1:-1;;36749:2:0;;;;;;;:16;;:26;;;;;;;;;;;;;;;:2;:26;;;5:2:-1;;;;30:1;27;20:12;49357:143:0;49433:2;;:65;;;-1:-1:-1;;;49433:65:0;;49462:10;49433:65;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;49433:2:0;;:28;;:65;;;;;-1:-1:-1;;49433:65:0;;;;;;;;-1:-1:-1;49433:2:0;:65;;;5:2:-1;;;;30:1;27;20:12;42207:80:0;42249:2;;:34;;;-1:-1:-1;;;42249:34:0;;42272:10;42249:34;;;;;;-1:-1:-1;;;;;42249:2:0;;;;:22;;:34;;;;;:2;;:34;;;;;;;;:2;;:34;;;5:2:-1;;;;30:1;27;20:12;37107:99:0;37159:2;;;:43;;;-1:-1:-1;;;37159:43:0;;37191:10;37159:43;;;;;;;;-1:-1:-1;;;;;37159:2:0;;;;:31;;:43;;;;;:2;;:43;;;;;;;:2;;:43;;;5:2:-1;;;;30:1;27;20:12;33351:155:0;33423:14;;-1:-1:-1;;;;;33423:14:0;33409:10;:28;33405:99;;;33440:3;:27;;-1:-1:-1;;;;;;33440:27:0;-1:-1:-1;;;;;33440:27:0;;;;;;;;;;;33469:18;;;-1:-1:-1;;;33469:18:0;;;;:3;;;;;:16;;:18;;;;;-1:-1:-1;;33469:18:0;;;;;;;;-1:-1:-1;33469:3:0;:18;;;5:2:-1;;;;30:1;27;20:12;31193:20:0;;;-1:-1:-1;;;;;31193:20:0;;:::o;33053:143::-;33120:14;;-1:-1:-1;;;;;33120:14:0;33106:10;:28;33102:92;;;33137:2;:21;;-1:-1:-1;;;;;;33137:21:0;-1:-1:-1;;;;;33137:21:0;;;;;;;;;;;33160:17;;;-1:-1:-1;;;33160:17:0;;;;:2;;;;;:15;;:17;;;;;-1:-1:-1;;33160:17:0;;;;;;;;-1:-1:-1;33160:2:0;:17;;;5:2:-1;;;;30:1;27;20:12;31702:33:0;;;-1:-1:-1;;;31702:33:0;;;;;:::o;42891:507::-;-1:-1:-1;;;;;43007:20:0;;43022:4;43007:20;43003:61;;;43029:35;;;-1:-1:-1;;;43029:35:0;;;;;;;;;;;;-1:-1:-1;;;43029:35:0;;;;;;;;;;;;;;43003:61;43068:6;43083:186;43093:23;:30;43089:1;:34;43083:186;;;43174:42;-1:-1:-1;;;;;43137:119:0;43146:23;43170:1;43146:26;;;;;;;;;;;;;;-1:-1:-1;;;;;43137:119:0;-1:-1:-1;;;;;;;;;;;43218:37:0;43228:23;43252:1;43228:26;;;;;;;43218:37;43137:119;;;;;;;;;;;;;;;43261:3;;43083:186;;;43272:2;;:73;;-1:-1:-1;;;43272:73:0;;43296:10;43272:73;;;;;;-1:-1:-1;;;;;43272:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:2;;;;;:23;;43308:3;;43313:6;;43321:23;;43272:73;;;;;;;;;;;;;;:2;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;43272:73:0;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;43272:73:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;43355:38:0;;;;;;;;-1:-1:-1;;;;;43355:38:0;;;-1:-1:-1;43369:10:0;;-1:-1:-1;;;;;;;;;;;;43355:38:0;;;;;;;;42891:507;;;;:::o;38481:450::-;38583:17;;38654:2;;:28;;;-1:-1:-1;;;38654:28:0;;;;38583:17;;38654:2;;;-1:-1:-1;;;;;38654:2:0;;:26;;:28;;;;;;;;;;;;;;:2;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;38654:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;38654:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;38654:28:0;38623:2;;:28;;;-1:-1:-1;;;38623:28:0;;;;:2;;;;-1:-1:-1;;;;;38623:2:0;;:26;;:28;;;;;38654;;38623;;;;;;;;:2;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;38623:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;38623:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;38623:28:0;:59;38622:67;38608:9;:82;38604:162;;38692:74;;-1:-1:-1;;;38692:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38604:162;38770:6;38784:144;38795:5;38791:1;:9;38784:144;;;38809:2;;38838:13;;-1:-1:-1;;;;;38809:2:0;;;;:28;;38838:10;;38849:1;;38838:13;;;;;;;;;;;;38885:2;;;;;;;;;-1:-1:-1;;;;;38885:2:0;-1:-1:-1;;;;;38885:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;38885:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;38885:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;38885:28:0;38854:2;;:28;;;-1:-1:-1;;;38854:28:0;;;;:2;;;;-1:-1:-1;;;;;38854:2:0;;:26;;:28;;;;;38885;;38854;;;;;;;;:2;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;38854:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;38854:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;38854:28:0;38809:106;;;-1:-1:-1;;;;;;38809:106:0;;;;;;;-1:-1:-1;;;;;38809:106:0;;;;;;;38854:59;;38809:106;;;;;;;;;;-1:-1:-1;;38809:106:0;;;;;;;-1:-1:-1;38809:106:0;;;;5:2:-1;;;;30:1;27;20:12;5:2;38809:106:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;38920:3:0;;;;;-1:-1:-1;38784:144:0;;-1:-1:-1;38784:144:0;37325:99;37377:2;;;:43;;;-1:-1:-1;;;37377:43:0;;37409:10;37377:43;;;;;;;;-1:-1:-1;;;;;37377:2:0;;;;:31;;:43;;;;;:2;;:43;;;;;;;:2;;:43;;;5:2:-1;;;;30:1;27;20:12;36783:213:0;-1:-1:-1;;;;;36837:48:0;;36846:10;-1:-1:-1;;;;;;;;;;;36863:21:0;36846:10;36863:9;:21::i;:::-;36837:48;;;;;;;;;;;;;;;-1:-1:-1;;;;;36894:20:0;;36909:4;36894:20;36890:61;;;36916:35;;;-1:-1:-1;;;36916:35:0;;;;;;;;;;;;-1:-1:-1;;;36916:35:0;;;;;;;;;;;;;;36890:61;36956:2;;;:35;;;-1:-1:-1;;;36956:35:0;;36975:10;36956:35;;;;;;;-1:-1:-1;;;;;36956:35:0;;;;;;;;;:2;;;:18;;:35;;;;;:2;;:35;;;;;;;:2;;:35;;;5:2:-1;;;;30:1;27;20:12;49196:159:0;49280:2;;:73;;;-1:-1:-1;;;49280:73:0;;49313:10;49280:73;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;49280:2:0;;:32;;:73;;;;;-1:-1:-1;;49280:73:0;;;;;;;;-1:-1:-1;49280:2:0;:73;;;5:2:-1;;;;30:1;27;20:12;31241:23:0;;;-1:-1:-1;;;;;31241:23:0;;:::o;42099:104::-;42157:2;;:42;;;-1:-1:-1;;;42157:42:0;;42176:10;42157:42;;;;;;;;;;;;-1:-1:-1;;;;;42157:2:0;;;;:18;;:42;;;;;:2;;:42;;;;;;;;:2;;:42;;;5:2:-1;;;;30:1;27;20:12;46218:345:0;46332:18;;46328:157;;46359:3;;46392:6;;46359:57;;;-1:-1:-1;;;46359:57:0;;46372:10;46359:57;;;;-1:-1:-1;;;;;46392:6:0;;;46359:57;;;;;;;;;;;;:3;;;;;:12;;:57;;;;;:3;;:57;;;;;;;:3;;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;46359:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;46455:6:0;;46426:53;;;;;;;;-1:-1:-1;;;;;46455:6:0;;;;-1:-1:-1;46435:10:0;;-1:-1:-1;;;;;;;;;;;;46426:53:0;;;;;;;;;46328:157;46488:6;;:71;;-1:-1:-1;;;46488:71:0;;46508:10;46488:71;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;46488:6:0;;;;:19;;46520:14;;46536:12;;46550:8;;46488:71;;;;;;;;;;;;;;;;;;;;:6;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;46488:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;46488:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46488:71:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;46488:71:0;;;;46218:345;;;:::o;49502:131::-;49572:2;;:59;;;-1:-1:-1;;;49572:59:0;;49598:10;49572:59;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;49572:2:0;;:25;;:59;;;;;-1:-1:-1;;49572:59:0;;;;;;;;-1:-1:-1;49572:2:0;:59;;;5:2:-1;;;;30:1;27;20:12;48060:147:0;48138:2;;:67;;;-1:-1:-1;;;48138:67:0;;48168:10;48138:67;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;48138:2:0;;:29;;:67;;;;;-1:-1:-1;;48138:67:0;;;;;;;;-1:-1:-1;48138:2:0;:67;;;5:2:-1;;;;30:1;27;20:12;36400:138:0;36507:2;;:27;;;-1:-1:-1;;;36507:27:0;;-1:-1:-1;;;;;36507:27:0;;;;;;;;;;;;;;;;-1:-1:-1;;36507:2:0;;;;;;;:10;;:27;;;;;;;;;;;;;;;:2;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;36507:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;36507:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;36507:27:0;;36400:138;-1:-1:-1;;;36400:138:0:o;48882:163::-;48968:2;;:75;;;-1:-1:-1;;;48968:75:0;;49002:10;48968:75;;;;;;;;;;;;:2;;;;-1:-1:-1;;;;;48968:2:0;;:33;;:75;;;;;-1:-1:-1;;48968:75:0;;;;;;;;-1:-1:-1;48968:2:0;:75;;;5:2:-1;;;;30:1;27;20:12;34938:163:0;35028:11;;-1:-1:-1;;;;;35028:11:0;35014:10;:25;35011:86;;;35044:22;:33;;-1:-1:-1;;;;;;35044:33:0;-1:-1:-1;;;;;35044:33:0;;;;;35011:86;;31321:20;;;-1:-1:-1;;;;;31321:20:0;;:::o;35332:119::-;35377:19;35425:2;;;;;;;;;-1:-1:-1;;;;;35425:2:0;-1:-1:-1;;;;;35425:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35425:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;35425:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;35425:22:0;35410:12;:37;;-1:-1:-1;35332:119:0;:::o;31486:140::-;31520:14;;-1:-1:-1;;;;;31520:14:0;31516:108;;31582:14;:27;;-1:-1:-1;;;;;;31582:27:0;31599:10;31582:27;;;31516:108;;40655:259;40828:13;;-1:-1:-1;;;40828:13:0;;;;40824:86;;;40850:22;;:50;;-1:-1:-1;;;;;40850:22:0;;;;40878:21;40850:50;;;;;:22;:50;:22;:50;40878:21;40850:22;:50;;;;;;;40846:64;;40902:8;;;34360:129;34428:14;;-1:-1:-1;;;;;34428:14:0;34414:10;:28;34410:77;;;34445:3;:25;;-1:-1:-1;;;;;;34445:25:0;-1:-1:-1;;;;;34445:25:0;;;;;34410:77;;31074:21;;;;;;-1:-1:-1;;;;;31074:21:0;;:::o;39310:208::-;39401:17;;39388:10;39437:78;39448:5;39444:1;:9;39437:78;;;39462:2;;39488:13;;-1:-1:-1;;;;;39462:2:0;;;;:25;;39488:10;;39499:1;;39488:13;;;;;;;;;;;;39462:40;;;;;;;;;;;;;-1:-1:-1;;;;;39462:40:0;-1:-1:-1;;;;;39462:40:0;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;39462:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;39507:3:0;;;;;-1:-1:-1;39437:78:0;;-1:-1:-1;39437:78:0;46567:129;46660:2;;;:32;;;-1:-1:-1;;;46660:32:0;;-1:-1:-1;;;;;46660:32:0;;;;;;;;;;;;46635:12;;46660:2;;;;:22;;:32;;;;;;;;;;;;;;;:2;:32;;;5:2:-1;;;;30:1;27;20:12;37428:126:0;37497:2;;;:53;;;-1:-1:-1;;;37497:53:0;;37529:10;37497:53;;;;;;;-1:-1:-1;;;;;37497:53:0;;;;;;;;;:2;;;:31;;:53;;;;;:2;;:53;;;;;;;:2;;:53;;;5:2:-1;;;;30:1;27;20:12;33667:159:0;33741:14;;-1:-1:-1;;;;;33741:14:0;33727:10;:28;33723:101;;;33758:3;:29;;-1:-1:-1;;;;;;33758:29:0;-1:-1:-1;;;;;33758:29:0;;;;;;;;;;;33789:18;;;-1:-1:-1;;;33789:18:0;;;;:3;;;;;:16;;:18;;;;;-1:-1:-1;;33789:18:0;;;;;;;;-1:-1:-1;33789:3:0;:18;;;5:2:-1;;;;30:1;27;20:12;31409:74:0;;;-1:-1:-1;;;;;31409:74:0;;:::o;46978:135::-;47074:2;;;:35;;;-1:-1:-1;;;;;;47074:35:0;;-1:-1:-1;;;;;47074:35:0;;;;;;;;;;;;47049:12;;47074:2;;;;:25;;:35;;;;;;;;;;;;;;;:2;:35;;;5:2:-1;;;;30:1;27;20:12
Swarm Source
ipfs://fbe85c3a6fa0919c93491c769155cdfad5809a0a4845bd3d867d33fbea239d17
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.