27.2k txs
90.4k calls
constructor
constructor()
functions
_operationLock
viewfunction _operationLock(address) view returns (bool)
allowampam
viewfunction allowampam() view returns (bool)
allowaret
viewfunction allowaret() view returns (bool)
allowmining
viewfunction allowmining() view returns (bool)
AmountAllMining
viewfunction AmountAllMining() view returns (uint256)
average
viewfunction average(uint256) view returns (uint256)
calculateInterval
viewfunction calculateInterval(address MyAddress, uint256 timestamp) view returns (uint256)
calculateMaxAmount
viewfunction calculateMaxAmount(uint256 minerlevsy, uint256 interval) view returns (uint256)
calculateResult
viewfunction calculateResult(uint256 input) view returns (uint256)
CashInUsdtday
viewfunction CashInUsdtday(uint256) view returns (uint256)
CashOutUsdtday
viewfunction CashOutUsdtday(uint256) view returns (uint256)
earningsAll
viewfunction earningsAll() view returns (uint256)
earningsDay
viewfunction earningsDay(uint256) view returns (uint256)
getBatchUserOrderSN
viewfunction getBatchUserOrderSN(address[] userAddresses, uint256[] orderIds) view returns (uint256[])
getDaiAmount
viewfunction getDaiAmount(address user) view returns (uint256 daiAmount_value)
getNonceIds
viewfunction getNonceIds(address[] addresses) view returns (uint256[])
getPrice
viewfunction getPrice() view returns (uint256)
getRates
viewfunction getRates(uint256 level) view returns (uint256 minRate, uint256 maxRate, uint256 avgRate)
getRemoveTimes
viewfunction getRemoveTimes(address userAddress) view returns (uint256)
getToday
viewfunction getToday() view returns (uint256)
getTTInfo
viewfunction getTTInfo(address userAdd) view returns (uint256 amount, uint256 requesttime, bool allow, uint256 interval, uint256 daiAmount)
getUserOrderSN
viewfunction getUserOrderSN(address userAddress, uint256 orderId) view returns (uint256)
getUUInfo
viewfunction getUUInfo(address userAdd) view returns (uint256 amount, uint256 requesttime, bool allow, uint256 interval)
getValue1
viewfunction getValue1() view returns (uint256)
getValue2
viewfunction getValue2() view returns (uint256)
getValue3
viewfunction getValue3() view returns (uint256)
impawnallow
viewfunction impawnallow(address) view returns (bool)
isTTable
viewfunction isTTable(address userAdd) view returns (bool)
isUUable
viewfunction isUUable(address userAdd) view returns (bool)
mainAddress
viewfunction mainAddress(address) view returns (bool)
maxlev
viewfunction maxlev() view returns (uint256)
maxoutamountday
viewfunction maxoutamountday() view returns (uint256)
Maxrate
viewfunction Maxrate(uint256) view returns (uint256)
maxsec
viewfunction maxsec() view returns (uint256)
MinAddress
viewfunction MinAddress() view returns (address)
minerAmount
viewfunction minerAmount(address) view returns (uint256)
minerIm
viewfunction minerIm(uint256) view returns (uint256)
minerlev
viewfunction minerlev(address) view returns (uint256)
minerUsdtNow
viewfunction minerUsdtNow() view returns (uint256)
miningfallow
viewfunction miningfallow(address) view returns (bool)
mininggetbnb
viewfunction mininggetbnb(address) view returns (bool)
Minrate
viewfunction Minrate(uint256) view returns (uint256)
minsec
viewfunction minsec() view returns (uint256)
nonceid
viewfunction nonceid(address) view returns (uint256)
NoOutAddress
viewfunction NoOutAddress(address) view returns (uint256)
oldAddress
viewfunction oldAddress(address) view returns (bool)
oldNOAddress
viewfunction oldNOAddress(address) view returns (bool)
order_snm
viewfunction order_snm(address, uint256) view returns (uint256)
owner
viewfunction owner() view returns (address)
PerBot
viewfunction PerBot() view returns (address)
price
viewfunction price() view returns (uint256)
priceamp
viewfunction priceamp() view returns (uint256)
recoverAddress
purefunction recoverAddress(uint256 amount, address recipient, uint256 nonce, uint256 timestamp, uint256 timestamp2, uint256 order_sn, address contract_address, address token_address, bytes signature) pure returns (address)
regC
viewfunction regC() view returns (address)
removetimes
viewfunction removetimes(address) view returns (uint256)
returnallow
viewfunction returnallow(address) view returns (bool)
reusdt
viewfunction reusdt() view returns (uint256)
reUsdtAll
viewfunction reUsdtAll() view returns (uint256)
startTime
viewfunction startTime(address) view returns (uint256)
toImpaw
viewfunction toImpaw(address) view returns (uint256)
toImpawAll
viewfunction toImpawAll() view returns (uint256)
toImpawnper
viewfunction toImpawnper() view returns (uint256)
tominingAmounts
viewfunction tominingAmounts(address) view returns (uint256 requesttime, uint256 Amount, uint256 daiAmount, bool allow)
tomininginterval
viewfunction tomininginterval() view returns (uint256)
toUsdtAmounts
viewfunction toUsdtAmounts(address) view returns (uint256 requesttime, uint256 Amount, bool allow)
TTLAddress
viewfunction TTLAddress() view returns (address)
upEC
viewfunction upEC() view returns (address)
upECAddress
viewfunction upECAddress() view returns (address)
usdtAddress
viewfunction usdtAddress() view returns (address)
ValueAddress2
viewfunction ValueAddress2() view returns (address)
WithAmount
viewfunction WithAmount(address) view returns (uint256)
WithAmounttop
viewfunction WithAmounttop(address) view returns (uint256)
WithAmountx
viewfunction WithAmountx(address) view returns (uint256)
batchSetDaiAmount
nonpayablefunction batchSetDaiAmount(address[] users, uint256[] amounts)
batchSetMinerLevel
nonpayablefunction batchSetMinerLevel(address[] usersList, uint256[] levelList)
batchSetNoOutAddress
nonpayablefunction batchSetNoOutAddress(address[] addresses, uint256 value)
changeusdt
nonpayablefunction changeusdt(address userAddr)
getAmountFromDai
nonpayablefunction getAmountFromDai()
getMining
nonpayablefunction getMining()
getUSDT
nonpayablefunction getUSDT()
impawn
payablefunction impawn(uint256 minerlevs, uint256 amount, address recipient, uint256 nonce, uint256 timestamp, uint256 timestamp2, uint256 order_sn, address contract_address, address token_address, bytes signature) payable returns (uint256)
Miningf
payablefunction Miningf(uint256 amount, address recipient, uint256 nonce, uint256 timestamp, uint256 timestamp2, uint256 order_sn, address contract_address, address token_address, bytes signature) payable
renounceOwnership
nonpayablefunction renounceOwnership()
returnMiner
payablefunction returnMiner(uint256 amount, address recipient, uint256 nonce, uint256 timestamp, uint256 timestamp2, uint256 order_sn, address contract_address, address token_address, bytes signature) payable
sePerBot
nonpayablefunction sePerBot(address _PerBot)
setallowampam
nonpayablefunction setallowampam(bool _allowampam)
setallowaret
nonpayablefunction setallowaret(bool _allowaret)
setallowmining
nonpayablefunction setallowmining(bool _allowmining)
setAmountAllMining
nonpayablefunction setAmountAllMining(uint256 _AmountAllMining)
setGetValue1
nonpayablefunction setGetValue1(uint256 newValue)
setGetValue2
nonpayablefunction setGetValue2(uint256 newValue)
setGetValue3
nonpayablefunction setGetValue3(uint256 newValue)
setImpawnAllowBatch
nonpayablefunction setImpawnAllowBatch(address[] addrs, bool status)
setIupEarnings
nonpayablefunction setIupEarnings(address _addr)
setMainAddress
nonpayablefunction setMainAddress(address target, bool status)
setmaxlev
nonpayablefunction setmaxlev(uint256 _maxlev)
setmaxoutamountday
nonpayablefunction setmaxoutamountday(uint256 _maxoutamountday)
setMinAddress
nonpayablefunction setMinAddress(address _addr)
setMinerIm
nonpayablefunction setMinerIm(uint256 level, uint256 amount)
setMiningfAllowBatch
nonpayablefunction setMiningfAllowBatch(address[] addrs, bool status)
setMiningInterval
nonpayablefunction setMiningInterval(uint256 _minsec, uint256 _maxsec)
setOldAddressBatch
nonpayablefunction setOldAddressBatch(address[] addrs, bool status)
setOldNOAddressBatch
nonpayablefunction setOldNOAddressBatch(address[] addrs, bool status)
setPrice
nonpayablefunction setPrice(uint256 _price)
setPriceAmp
nonpayablefunction setPriceAmp(uint256 _priceamp)
setRates
nonpayablefunction setRates(uint256 level, uint256 minRate, uint256 maxRate, uint256 avgRate)
setRegisted
nonpayablefunction setRegisted(address _addr)
setReturnAllowBatch
nonpayablefunction setReturnAllowBatch(address[] addrs, bool status)
setReusdt
nonpayablefunction setReusdt(uint256 newReusdt)
settoImpawnper
nonpayablefunction settoImpawnper(uint256 _toImpawnper)
setTokenAddress
nonpayablefunction setTokenAddress(address _usdtAddress, address _TTLAddress)
setTominingAmount
nonpayablefunction setTominingAmount(address useradd, uint256 newAmount, uint256 newRequestTime, uint256 newDaiAmount, bool isAllowed)
settomininginterval
nonpayablefunction settomininginterval(uint256 _tomininginterval)
setToUsdtAmount
nonpayablefunction setToUsdtAmount(address useradd, uint256 newAmount, uint256 newRequestTime, bool isAllowed)
setValueAddress2
nonpayablefunction setValueAddress2(address newAddress)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawBNB
nonpayablefunction withdrawBNB(address to, uint256 amount)
withdrawTokens
nonpayablefunction withdrawTokens(address _token, uint256 _amount, address _to)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
No errors.
creation bytecode
0x6080604052660aa87bee5380006008819055663ff2e795f50000600955600a55600b80546001600160a01b031990811673c550b05ff37c58d4d1fcacfbcfe4d2371bb4ba211790915560dc600f5561010460105560006011819055620151806016556129046018556021805483167349e10b98c94f9a8c759e90af856d32c3ba657e4f1790556023805483167355d398326f99059ff775485246999027b31979551790556024805490921673dfd60f55a86c98e8d35735eebce7311c0402ff5a17909155600560255569d3c21bcecceda1000000602655602d55603480546201010162ffffff199091161790556b014adf4b7320334b90000000603555662386f26fc100006036553480156200011457600080fd5b50620001203362000456565b68056bc75e2d631000007ff36d6bc9642eb6fb6ee9998b09ce990566df752ab06e11f8de7ab633bbd57b8f55683635c9adc5dea000007fc52df653038b2ad477d8d97f1ddd63cfd138847b628ad8a7b89c109c3f8782ca5568a2a15d09519be000007fd8b2bced50346359af71f91110b86cdf684b6ab1c6ca64a7583c044d5c24de5c5569010f0cf064dd592000007f68052a315987b3c92fe6f7df77391bc5a825cabe4950d34f36f8f4e8a6abcb4d5569021e19e0c9bab24000007f70266c3d5b8b2375fded59c72bf5f0d74bbb12fdf645a4c8630629f0191fb317557f9cc4ef9e08103d1aefd76c605cf6e91f109ca2de15d997e4f17b8381a001600e805460ff19166001179055608c7fd421a5181c571bba3f01190c922c3b2a896fc1d84e86c9f17ac10e67ebef8b5c5560a07ffd54ff1ed53f34a900b24c5ba64f85761163b5d82d98a47b9bd80e45466993c55560967fa7c5ba7114a813b50159add3a36832908dc83db71d0b9a24c2ad0f83be9582075560737f5d6016397a73f5e079297ac5a36fef17b4d9c3831618e63ab105738020ddd72055607d7f10a81eed9d63d16face5e76357905348e6253d3394086026bb2bf2145d7cc2495560787f9adb202b1492743bc00c81d33cdc6423fa8c79109027eb6a845391e8fc1f048155605f7fc0da782485e77ae272268ae0a3ff44c1552ecb60b3743924de17a815e0a3cfd75560697f26b4a10d0f0b04925c23bd4480ee147c916e5e87a7d68206a533dad160ac81e25560647fe0283e559c29e31ee7f56467acc9dd307779c843a883aeeb3bf5c6128c9081445560567f5b84bb9e0f5aa9cc45a8bb66468db5d4816d1e75ff86b5e1f1dd8d144dab809755605e7fafafe8948a4ed9d478b1e9a5780b119b5edd00ea7d07bc35bef7c814824eb94b55605a7fa1d6913cd9e08c872be3e7525cca82e4fc0fc298a783f19022be725b19be685a556005600052604c7f2cd9ebf6ff19cdd7ffcc447d7c7d47b5991f5c7392a04512134e765802361fa65560547fa5049387d9cb649c59f4bda666105ba636c2a103d8e2b232ba4d125737cd214955600e60205260507fb9bec7e2561f624fe753ff070f1599b306cbf59fafd4e8d5a8184a1ea1841bce55620004a6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6155c380620004b66000396000f3fe6080604052600436106107155760003560e01c8063873ca2521161039b578063c57e906b116101e7578063e069a6211161010d578063f2fde38b116100ab578063f93f20e91161007a578063f93f20e9146117ec578063fa1ebf0014611819578063fe11e77a14611846578063fe59f5571461186657600080fd5b8063f2fde38b1461175c578063f63a74571461177c578063f6c8b125146117a9578063f8006f50146117bf57600080fd5b8063e699d38a116100e7578063e699d38a146116e0578063e8768e5b14611700578063eea35dbd14611716578063f2d14b001461174657600080fd5b8063e069a6211461168a578063e3a0489a146116a0578063e4efb9d4146116c057600080fd5b8063d3e82e0511610185578063dc34f63211610154578063dc34f632146115ed578063df441c501461160d578063df82223e1461163a578063e02797f31461165a57600080fd5b8063d3e82e0514611555578063d5a68ad61461156f578063d87f1fb6146115a7578063d92980a7146115bd57600080fd5b8063c7a94ddd116101c1578063c7a94ddd146114d5578063c7afe9f214611502578063c90fd15c14611522578063ca9a5ea41461153557600080fd5b8063c57e906b1461145f578063c76203f01461147f578063c790732d1461149f57600080fd5b80639dbea720116102cc578063a97af1f21161026a578063bad0b40311610239578063bad0b403146113e9578063bcf6bde214611409578063bfc1727f14611429578063c515205d1461144957600080fd5b8063a97af1f214611349578063ac9d762814611369578063b0e1e12c14611389578063b23b3afa146113b957600080fd5b8063a035b1fe116102a6578063a035b1fe146112e8578063a1e456fb146112fe578063a4f3fa1014611314578063a6f40f221461132957600080fd5b80639dbea7201461129d5780639f25b072146112b35780639f957ca7146112c857600080fd5b806391b7f5ed1161033957806396c4eff81161031357806396c4eff81461122857806398d5fdca146112485780639ab4a4451461125d5780639bc5c5091461127d57600080fd5b806391b7f5ed1461114e578063938a87ba1461116e5780639485092a1461118157600080fd5b80638ce6e85e116103755780638ce6e85e146110cd5780638da5cb5b146110fa5780638e085e2a146111185780638ffb48391461112e57600080fd5b8063873ca2521461106d57806388082ee51461108d5780638c51fedb146110ad57600080fd5b8063537231b311610565578063712705821161048b578063781784a4116104295780637c62d1bb116103f85780637c62d1bb14610fdd57806380bc97301461100d578063829ee9e51461102057806383f551841461104d57600080fd5b8063781784a414610f0957806378590f7e14610f295780637aede32714610f905780637c60672514610fbd57600080fd5b806373dd27eb1161046557806373dd27eb14610e9157806374a4b4b614610eb157806376ce396c14610ede57806376e6dca214610ef457600080fd5b80637127058214610e46578063715018a614610e6657806373121bc814610e7b57600080fd5b80636931bb58116105035780636c578de0116104d25780636c578de014610da95780636e1dc66e14610dd65780636ed8727814610e035780637027598414610e3057600080fd5b80636931bb5814610d295780636971b1a414610d495780636b06842e14610d695780636b5183ce14610d8957600080fd5b80635d7e1c9a1161053f5780635d7e1c9a14610cb357806360d586f814610cd357806363db7c0914610ce95780636744355d14610d0957600080fd5b8063537231b314610c3b578063581592f114610c5b5780635cbf3f5614610c7057600080fd5b80632a5e31911161064a57806339ee3ebf116105e857806348c702ac116105b757806348c702ac14610ba35780634faee84614610bdc5780635161c4d614610bfc5780635244818714610c1b57600080fd5b806339ee3ebf14610b2a5780633c1be80c14610b405780633fdf7d4014610b6d57806347e4358014610b8357600080fd5b806334e366481161062457806334e3664814610a2e578063351a753e14610a4e57806335d0669214610a6e57806338299f1914610afd57600080fd5b80632a5e3191146109b45780632cad7e89146109e157806333a7280214610a0157600080fd5b80631e1dd56b116106b757806323e6f2f31161069157806323e6f2f314610924578063279ce5351461094457806327c27dac14610974578063286ee05f1461099457600080fd5b80631e1dd56b146108b7578063207406b5146108d757806321167402146108f757600080fd5b8063081802b1116106f3578063081802b1146107c1578063093230d114610820578063096d6d45146108585780630d43c4841461088857600080fd5b806302200fe81461071a57806304a63ecb14610743578063054814e71461079f575b600080fd5b34801561072657600080fd5b5061073060105481565b6040519081526020015b60405180910390f35b34801561074f57600080fd5b5061078261075e366004614cd3565b60156020526000908152604090208054600182015460029092015490919060ff1683565b60408051938452602084019290925215159082015260600161073a565b3480156107ab57600080fd5b506107bf6107ba366004614cee565b611886565b005b3480156107cd57600080fd5b506108056107dc366004614cee565b6000818152600c6020908152604080832054600d835281842054600e9093529220549193909250565b6040805193845260208401929092529082015260600161073a565b34801561082c57600080fd5b50600254610840906001600160a01b031681565b6040516001600160a01b03909116815260200161073a565b34801561086457600080fd5b50610878610873366004614cd3565b611893565b604051901515815260200161073a565b34801561089457600080fd5b506108786108a3366004614cd3565b602080526000908152604090205460ff1681565b3480156108c357600080fd5b506107bf6108d2366004614cd3565b6118f2565b3480156108e357600080fd5b506107bf6108f2366004614d15565b611a92565b34801561090357600080fd5b50610730610912366004614cd3565b601d6020526000908152604090205481565b34801561093057600080fd5b5061087861093f366004614cd3565b611ac4565b34801561095057600080fd5b5061087861095f366004614cd3565b602f6020526000908152604090205460ff1681565b34801561098057600080fd5b506107bf61098f366004614cd3565b611b21565b3480156109a057600080fd5b506107bf6109af366004614d97565b611b4b565b3480156109c057600080fd5b506107306109cf366004614cd3565b601c6020526000908152604090205481565b3480156109ed57600080fd5b506107bf6109fc366004614cee565b611bc0565b348015610a0d57600080fd5b50610730610a1c366004614cee565b60176020526000908152604090205481565b348015610a3a57600080fd5b506107bf610a49366004614cd3565b611bcd565b348015610a5a57600080fd5b506107bf610a69366004614cee565b611bf7565b348015610a7a57600080fd5b50610ad7610a89366004614cd3565b6001600160a01b031660009081526015602090815260409182902082516060810184528154808252600183015493820184905260029092015460ff1615159301839052601654919390929190565b60408051948552602085019390935290151591830191909152606082015260800161073a565b348015610b0957600080fd5b50610b1d610b18366004614ecc565b611c04565b60405161073a9190614f08565b348015610b3657600080fd5b5061073060265481565b348015610b4c57600080fd5b50610730610b5b366004614cee565b602a6020526000908152604090205481565b348015610b7957600080fd5b5061073060315481565b348015610b8f57600080fd5b506107bf610b9e366004614d97565b611cc4565b348015610baf57600080fd5b50610730610bbe366004614cd3565b6001600160a01b031660009081526014602052604090206002015490565b348015610be857600080fd5b506107bf610bf7366004614cd3565b611d33565b348015610c0857600080fd5b5060345461087890610100900460ff1681565b348015610c2757600080fd5b506107bf610c36366004614f4c565b611d5d565b348015610c4757600080fd5b50610730610c56366004614f69565b611d7f565b348015610c6757600080fd5b506107bf611e65565b348015610c7c57600080fd5b50610730610c8b366004614f69565b6001600160a01b03919091166000908152601f60209081526040808320938352929052205490565b348015610cbf57600080fd5b506107bf610cce366004614f93565b611f9e565b348015610cdf57600080fd5b5061073060085481565b348015610cf557600080fd5b506107bf610d04366004614cee565b611fd0565b348015610d1557600080fd5b50610840610d24366004615034565b611fdd565b348015610d3557600080fd5b506107bf610d44366004614cee565b6121ce565b348015610d5557600080fd5b506107bf610d64366004614f4c565b6121db565b348015610d7557600080fd5b50610730610d843660046150d3565b6121ff565b348015610d9557600080fd5b506107bf610da43660046150d3565b61232c565b348015610db557600080fd5b50610730610dc4366004614cd3565b60126020526000908152604090205481565b348015610de257600080fd5b50610730610df1366004614cd3565b601e6020526000908152604090205481565b348015610e0f57600080fd5b50610730610e1e366004614cd3565b60306020526000908152604090205481565b348015610e3c57600080fd5b5061073060285481565b348015610e5257600080fd5b506107bf610e61366004614d97565b612346565b348015610e7257600080fd5b506107bf6123b5565b348015610e8757600080fd5b5061073060255481565b348015610e9d57600080fd5b50600354610840906001600160a01b031681565b348015610ebd57600080fd5b50610730610ecc366004614cee565b602b6020526000908152604090205481565b348015610eea57600080fd5b5061073060135481565b348015610f0057600080fd5b506107bf6123c7565b348015610f1557600080fd5b506107bf610f24366004614cee565b6125c9565b348015610f3557600080fd5b50610f6e610f44366004614cd3565b60146020526000908152604090208054600182015460028301546003909301549192909160ff1684565b604080519485526020850193909352918301521515606082015260800161073a565b348015610f9c57600080fd5b50610730610fab366004614cd3565b60046020526000908152604090205481565b348015610fc957600080fd5b506107bf610fd8366004614d97565b6125d6565b348015610fe957600080fd5b50610878610ff8366004614cd3565b60276020526000908152604090205460ff1681565b6107bf61101b366004615034565b612645565b34801561102c57600080fd5b5061073061103b366004614cee565b600e6020526000908152604090205481565b34801561105957600080fd5b506107bf6110683660046150f5565b612c57565b34801561107957600080fd5b506107bf611088366004614cee565b612cc6565b34801561109957600080fd5b50600154610840906001600160a01b031681565b3480156110b957600080fd5b506107306110c8366004614cee565b612cd3565b3480156110d957600080fd5b506107306110e8366004614cee565b600d6020526000908152604090205481565b34801561110657600080fd5b506000546001600160a01b0316610840565b34801561112457600080fd5b5061073060165481565b34801561113a57600080fd5b506107bf611149366004614f4c565b612e12565b34801561115a57600080fd5b506107bf611169366004614cee565b612e2d565b6107bf61117c366004615034565b612e8a565b34801561118d57600080fd5b506111f961119c366004614cd3565b6001600160a01b0316600090815260146020908152604091829020825160808101845281548082526001830154938201849052600283015494820185905260039092015460ff161515606090910181905260165492949193909291565b60405161073a959493929190948552602085019390935290151560408401526060830152608082015260a00190565b34801561123457600080fd5b50610b1d611243366004615149565b613454565b34801561125457600080fd5b50603654610730565b34801561126957600080fd5b50602354610840906001600160a01b031681565b34801561128957600080fd5b506107bf611298366004615203565b61359c565b3480156112a957600080fd5b50610730602d5481565b3480156112bf57600080fd5b506107bf613789565b3480156112d457600080fd5b50602154610840906001600160a01b031681565b3480156112f457600080fd5b5061073060365481565b34801561130a57600080fd5b50610730602c5481565b34801561132057600080fd5b50610730613812565b34801561133557600080fd5b506034546108789062010000900460ff1681565b34801561135557600080fd5b506107bf611364366004614f69565b61386e565b34801561137557600080fd5b506107bf611384366004614cee565b6139b0565b34801561139557600080fd5b506108786113a4366004614cd3565b60076020526000908152604090205460ff1681565b3480156113c557600080fd5b506108786113d4366004614cd3565b60056020526000908152604090205460ff1681565b3480156113f557600080fd5b50600b54610840906001600160a01b031681565b34801561141557600080fd5b506107bf61142436600461523f565b6139bd565b34801561143557600080fd5b506107bf611444366004614cd3565b613a87565b34801561145557600080fd5b5061073060095481565b34801561146b57600080fd5b506107bf61147a366004614cee565b613abb565b34801561148b57600080fd5b506107bf61149a366004614cd3565b613ac8565b3480156114ab57600080fd5b506107306114ba366004614cd3565b6001600160a01b031660009081526004602052604090205490565b3480156114e157600080fd5b506107306114f0366004614cd3565b60296020526000908152604090205481565b34801561150e57600080fd5b506107bf61151d3660046152aa565b613af2565b6107306115303660046152dd565b613b28565b34801561154157600080fd5b50602454610840906001600160a01b031681565b34801561156157600080fd5b506034546108789060ff1681565b34801561157b57600080fd5b5061073061158a366004614f69565b601f60209081526000928352604080842090915290825290205481565b3480156115b357600080fd5b50610730600f5481565b3480156115c957600080fd5b506108786115d8366004614cd3565b60066020526000908152604090205460ff1681565b3480156115f957600080fd5b506107bf611608366004615387565b613dd3565b34801561161957600080fd5b50610730611628366004614cd3565b601a6020526000908152604090205481565b34801561164657600080fd5b506107bf61165536600461523f565b613e34565b34801561166657600080fd5b50610878611675366004614cd3565b60336020526000908152604090205460ff1681565b34801561169657600080fd5b5061073060355481565b3480156116ac57600080fd5b506107bf6116bb366004614d97565b61423e565b3480156116cc57600080fd5b50602254610840906001600160a01b031681565b3480156116ec57600080fd5b506107bf6116fb366004614cee565b6142ad565b34801561170c57600080fd5b5061073060115481565b34801561172257600080fd5b50610878611731366004614cd3565b602e6020526000908152604090205460ff1681565b34801561175257600080fd5b50610730600a5481565b34801561176857600080fd5b506107bf611777366004614cd3565b6142ba565b34801561178857600080fd5b50610730611797366004614cd3565b601b6020526000908152604090205481565b3480156117b557600080fd5b5061073060185481565b3480156117cb57600080fd5b506107306117da366004614cee565b60326020526000908152604090205481565b3480156117f857600080fd5b50610730611807366004614cd3565b60196020526000908152604090205481565b34801561182557600080fd5b50610730611834366004614cee565b600c6020526000908152604090205481565b34801561185257600080fd5b506107bf6118613660046150d3565b614330565b34801561187257600080fd5b506107bf6118813660046153d2565b6143a7565b61188e614408565b602555565b6001600160a01b03811660009081526015602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff1615159181019190915260165490916118e89190615430565b4210159392505050565b6118fa614408565b6001600160a01b0381166000908152602960205260409020546119385760405162461bcd60e51b815260040161192f90615443565b60405180910390fd5b6001600160a01b0381166000908152602960205260409020546028548111156119735760405162461bcd60e51b815260040161192f9061546e565b60365461198882670de0b6b3a76400006154af565b61199291906154c6565b6001600160a01b038316600090815260146020526040812060020180549091906119bd908490615430565b9250508190555080602860008282546119d691906154e8565b90915550506001600160a01b038216600090815260296020908152604080832083905560198252808320839055601e825280832083905560049091528120805460019290611a25908490615430565b90915550506002546040516321b5ee2360e21b81526001600160a01b03909116906386d7b88c90611a5c90859085906004016154fb565b600060405180830381600087803b158015611a7657600080fd5b505af1158015611a8a573d6000803e3d6000fd5b505050505050565b611a9a614408565b6001600160a01b039190911660009081526020805260409020805460ff1916911515919091179055565b6001600160a01b0381166000908152601460209081526040808320815160808101835281548082526001830154948201949094526002820154928101929092526003015460ff161515606082015260165490916118e89190615430565b611b29614408565b602180546001600160a01b0319166001600160a01b0392909216919091179055565b611b53614408565b60005b82811015611bba578160076000868685818110611b7557611b75615514565b9050602002016020810190611b8a9190614cd3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101611b56565b50505050565b611bc8614408565b601155565b611bd5614408565b602280546001600160a01b0319166001600160a01b0392909216919091179055565b611bff614408565b601855565b6060600082516001600160401b03811115611c2157611c21614ded565b604051908082528060200260200182016040528015611c4a578160200160208202803683370190505b50905060005b8351811015611cbd57601d6000858381518110611c6f57611c6f615514565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054828281518110611caa57611caa615514565b6020908102919091010152600101611c50565b5092915050565b611ccc614408565b60005b82811015611bba5781602f6000868685818110611cee57611cee615514565b9050602002016020810190611d039190614cd3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101611ccf565b611d3b614408565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611d65614408565b603480549115156101000261ff0019909216919091179055565b600081421015611dd15760405162461bcd60e51b815260206004820152601b60248201527f626c6f636b2e74696d657374616d70203e2074696d657374616d700000000000604482015260640161192f565b6001600160a01b0383166000908152601e60205260409020548211611e385760405162461bcd60e51b815260206004820181905260248201527f74696d657374616d70203e20737461727454696d655b4d79416464726573735d604482015260640161192f565b6001600160a01b0383166000908152601e6020526040812054611e5b90846154e8565b9150505b92915050565b601654336000908152601560205260409020544291611e8391615430565b11158015611e9f57503360009081526015602052604090205415155b8015611ebe57503360009081526015602052604090206002015460ff16155b15611f9c573360009081526015602090815260408083206001810180549085905590849055602e9092529091205460ff16611f9a57602d54811115611f9a57602d54611f0a90826154e8565b90508060316000828254611f1e9190615430565b909155505060235460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90611f5590339085906004016154fb565b6020604051808303816000875af1158015611f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f98919061552a565b505b505b565b611fa6614408565b6000938452600c6020908152604080862094909455600d815283852092909255600e909152912055565b611fd8614408565b600a55565b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f245c734e6d4ec044daf7beffa09d54d4bafba490113c199734d790b04a7390e5918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152600160808201526001600160a01b03841660a0820152600090819060c00160408051601f1981840301815282825280516020918201207ffa8e255ef7ef8255220744cfb112ec7329df54ce9c0e917f74e45a76be55d2ab918401919091529082018d90526001600160a01b03808d166060840152608083018c905260a083018b905260c083018a905260e08301899052808816610100840152861661012083015290610140016040516020818303038152906040528051906020012060405160200161213892919061190160f01b81526002810192909252602282015260420190565b60408051601f19818403018152828252805160209182012086820151878401516060808a0151600080895295880180885285905290941a948601859052928501819052608085018390529094509290919060019060a0016020604051602081039080840390855afa1580156121b1573d6000803e3d6000fd5b5050604051601f1901519f9e505050505050505050505050505050565b6121d6614408565b602655565b6121e3614408565b60348054911515620100000262ff000019909216919091179055565b600080603654116122525760405162461bcd60e51b815260206004820152601f60248201527f5072696365206d7573742062652067726561746572207468616e207a65726f00604482015260640161192f565b6000838152600d6020908152604080832054601790925282205460185485929161227b916154af565b61228591906154af565b61228f91906154af565b6122a190670de0b6b3a76400006154af565b905060006036546507dba82180006122b991906154af565b9050600081116123195760405162461bcd60e51b815260206004820152602560248201527f44656e6f6d696e61746f72206d7573742062652067726561746572207468616e604482015264207a65726f60d81b606482015260840161192f565b61232381836154c6565b95945050505050565b612334614408565b60009182526017602052604090912055565b61234e614408565b60005b82811015611bba5781602e600086868581811061237057612370615514565b90506020020160208101906123859190614cd3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101612351565b6123bd614408565b611f9c6000614462565b6016543360009081526014602052604090205442916123e591615430565b1115801561240157503360009081526014602052604090205415155b801561242057503360009081526015602052604090206002015460ff16155b15611f9c573360009081526014602052604090206001015460245461244f9082906001600160a01b03166144b2565b600254604051636492d3eb60e11b81526000916001600160a01b03169063c925a7d69061248290339086906004016154fb565b602060405180830381865afa15801561249f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c39190615547565b60245460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb926124fb92169085906004016154fb565b6020604051808303816000875af115801561251a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061253e919061552a565b506002546024805460405163c5f0448360e01b81523360048201529182018590526001600160a01b0390811660448301529091169063c5f0448390606401600060405180830381600087803b15801561259657600080fd5b505af11580156125aa573d6000803e3d6000fd5b5050336000908152601460205260408120600181018290555550505050565b6125d1614408565b602d55565b6125de614408565b60005b82811015611bba57816006600086868581811061260057612600615514565b90506020020160208101906126159190614cd3565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556001016125e1565b33600090815260306020526040902054158061266f57503360009081526030602052604090205442115b6126aa5760405162461bcd60e51b815260206004820152600c60248201526b4e6f4f75744164647265737360a01b604482015260640161192f565b60015460405163c4f561b960e01b81523360048201526001600160a01b039091169063c4f561b990602401602060405180830381865afa1580156126f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612716919061552a565b156127335760405162461bcd60e51b815260040161192f90615560565b60345462010000900460ff166127775760405162461bcd60e51b8152602060048201526009602482015268185b1b1bddd85c995d60ba1b604482015260640161192f565b6001600160a01b03881633146127c65760405162461bcd60e51b81526020600482015260146024820152733932b1b4b834b2b7109eb6b9b39739b2b73232b960611b604482015260640161192f565b3360009081526006602052604090205460ff16156128185760405162461bcd60e51b815260206004820152600f60248201526e6e6f742072657475726e616c6c6f7760881b604482015260640161192f565b336000908152602960205260409020546128445760405162461bcd60e51b815260040161192f90615443565b336000908152602e602052604090205460ff1615806128725750336000908152602f602052604090205460ff165b6128b55760405162461bcd60e51b815260206004820152601460248201527343616c6c6572206973206f6c644164647265737360601b604482015260640161192f565b60006128bf613812565b600954336000908152602e60205260409020549192509060ff16156128e35750600a545b803410156129595760405162461bcd60e51b815260206004820152603760248201527f496e73756666696369656e742066756e64732073656e742e204d696e696d756d60448201527f2072657175697265642069732067657456616c7565322e000000000000000000606482015260840161192f565b60225460405163fc6da1e560e01b81523360048201526001600160a01b039091169063fc6da1e590602401600060405180830381600087803b15801561299e57600080fd5b505af11580156129b2573d6000803e3d6000fd5b5050600b54604051600093506001600160a01b03909116915034908381818185875af1925050503d8060008114612a05576040519150601f19603f3d011682016040523d82523d6000602084013e612a0a565b606091505b5050905080612a4e5760405162461bcd60e51b815260206004820152601060248201526f5472616e73666572206661696c65643360801b604482015260640161192f565b336000908152602e602052604090205460ff1615612a9357336000908152602e60209081526040808320805460ff19908116909155602f909252909120805490911690555b8b15612adc57336000908152603360205260409020805460ff19166001179055612ac48c8c8c8c8c8c8c8c8c612e8a565b336000908152603360205260409020805460ff191690555b336000908152602960209081526040808320546001600160a01b038f16845260159092528220428155600101805491928392612b19908490615430565b9091555050602854811115612b405760405162461bcd60e51b815260040161192f9061546e565b8060286000828254612b5291906154e8565b90915550503360009081526029602052604081208054839290612b769084906154e8565b90915550506000848152602a602052604081208054839290612b99908490615430565b909155505033600090815260296020908152604080832083905560198252808320839055601e825280832083905560049091528120805460019290612bdf908490615430565b90915550506002546040516321b5ee2360e21b81526001600160a01b03909116906386d7b88c90612c1690339085906004016154fb565b600060405180830381600087803b158015612c3057600080fd5b505af1158015612c44573d6000803e3d6000fd5b5050505050505050505050505050505050565b612c5f614408565b604080516080810182529384526020808501958652848201938452911515606085019081526001600160a01b039690961660009081526014909252902091518255915160018201559051600282015590516003909101805460ff1916911515919091179055565b612cce614408565b601655565b600080612710600260009054906101000a90046001600160a01b03166001600160a01b0316635778acc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d509190615547565b612d5c90612710615430565b612d6690856154af565b612d7091906154c6565b600260009054906101000a90046001600160a01b03166001600160a01b031663737bfb056040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de79190615547565b602c54603554612df791906154e8565b612e0191906154e8565b612e0b91906154e8565b9392505050565b612e1a614408565b6034805460ff1916911515919091179055565b612e35614408565b60008111612e855760405162461bcd60e51b815260206004820152601f60248201527f5072696365206d7573742062652067726561746572207468616e207a65726f00604482015260640161192f565b603655565b3360009081526027602052604090205460ff1615612eea5760405162461bcd60e51b815260206004820152601760248201527f5265656e7472616e742063616c6c206465746563746564000000000000000000604482015260640161192f565b336000908152602760205260409020805460ff1916600117905560345460ff16612f445760405162461bcd60e51b815260206004820152600b60248201526a616c6c6f776d696e696e6760a81b604482015260640161192f565b60015460405163c4f561b960e01b81523360048201526001600160a01b039091169063c4f561b990602401602060405180830381865afa158015612f8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fb0919061552a565b15612fcd5760405162461bcd60e51b815260040161192f90615560565b6001600160a01b038816331461301c5760405162461bcd60e51b81526020600482015260146024820152733932b1b4b834b2b7109eb6b9b39739b2b73232b960611b604482015260640161192f565b3360009081526007602052604090205460ff161561306f5760405162461bcd60e51b815260206004820152601060248201526f6e6f74206d696e696e6766616c6c6f7760801b604482015260640161192f565b3360009081526029602052604090205461309b5760405162461bcd60e51b815260040161192f90615443565b6130ad338a8a8a8a8a8a8a8a8a614618565b849550603554600260009054906101000a90046001600160a01b03166001600160a01b031663737bfb056040518163ffffffff1660e01b8152600401602060405180830381865afa158015613106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312a9190615547565b602c54613137908c615430565b6131419190615430565b111561315f5760405162461bcd60e51b815260040161192f9061546e565b3360009081526033602052604090205460ff16613286576008543410156131ee5760405162461bcd60e51b815260206004820152603760248201527f496e73756666696369656e742066756e64732073656e742e204d696e696d756d60448201527f2072657175697265642069732067657456616c7565312e000000000000000000606482015260840161192f565b600b546040516000916001600160a01b03169034908381818185875af1925050503d806000811461323b576040519150601f19603f3d011682016040523d82523d6000602084013e613240565b606091505b50509050806132845760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21960811b604482015260640161192f565b505b336000908152601e602052604090205486116132d25760405162461bcd60e51b815260206004820152600b60248201526a0737461727454696d653d360ac1b604482015260640161192f565b33600081815260196020526040812054916132ed9089611d7f565b905060006132fb83836121ff565b9050808c111561334d5760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e74206578636565647320616c6c6f776564206c696d697400000000604482015260640161192f565b336000908152601e60205260409020546133975760405162461bcd60e51b815260206004820152600b60248201526a0737461727454696d653d360ac1b604482015260640161192f565b336000908152601e602052604090208990556026548c11156133fb5760405162461bcd60e51b815260206004820152601c60248201527f416d6f756e74206c696d6974206d61786f7574616d6f756e7464617900000000604482015260640161192f565b33600090815260146020526040812060010180548e929061341d908490615430565b909155505033600090815260146020908152604080832042905560279091529020805460ff19169055505050505050505050505050565b606081518351146134b35760405162461bcd60e51b8152602060048201526024808201527f557365727320616e64204f72646572496473206c656e677468206d757374206d6044820152630c2e8c6d60e31b606482015260840161192f565b600083516001600160401b038111156134ce576134ce614ded565b6040519080825280602002602001820160405280156134f7578160200160208202803683370190505b50905060005b845181101561359457601f600086838151811061351c5761351c615514565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600085838151811061355857613558615514565b602002602001015181526020019081526020016000205482828151811061358157613581615514565b60209081029190910101526001016134fd565b509392505050565b6135a4614408565b6001600160a01b0381166135fa5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c69642064657374696e6174696f6e20616464726573730000000000604482015260640161192f565b6000821161364a5760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604482015260640161192f565b6040516370a0823160e01b815230600482015283906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015613693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136b79190615547565b9050838110156137185760405162461bcd60e51b815260206004820152602660248201527f496e73756666696369656e7420746f6b656e2062616c616e636520696e20636f6044820152651b9d1c9858dd60d21b606482015260840161192f565b60405163a9059cbb60e01b81526001600160a01b0383169063a9059cbb9061374690869088906004016154fb565b6020604051808303816000875af1158015613765573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a919061552a565b33600090815260146020526040902060028101546137e95760405162461bcd60e51b815260206004820152601860248201527f4e6f20646169416d6f756e7420746f207472616e736665720000000000000000604482015260640161192f565b80600201548160010160008282546138019190615430565b909155505060006002820155429055565b60008061382262015180426154c6565b90506000806000613832846148c8565b91945092509050806138458360646154af565b613851856127106154af565b61385b9190615430565b6138659190615430565b94505050505090565b613876614408565b6001600160a01b0382166138c55760405162461bcd60e51b8152602060048201526016602482015275496e76616c696420746172676574206164647265737360501b604482015260640161192f565b804710156139155760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420636f6e74726163742062616c616e6365000000604482015260640161192f565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613962576040519150601f19603f3d011682016040523d82523d6000602084013e613967565b606091505b50509050806139ab5760405162461bcd60e51b815260206004820152601060248201526f5472616e73666572206661696c65643160801b604482015260640161192f565b505050565b6139b8614408565b603555565b6139c5614408565b828114613a0c5760405162461bcd60e51b8152602060048201526015602482015274092dce0eae840d8cadccee8d040dad2e6dac2e8c6d605b1b604482015260640161192f565b60005b83811015613a8057828282818110613a2957613a29615514565b9050602002013560146000878785818110613a4657613a46615514565b9050602002016020810190613a5b9190614cd3565b6001600160a01b03168152602081019190915260400160002060020155600101613a0f565b5050505050565b613a8f614408565b600280546001600160a01b039092166001600160a01b0319928316811790915560038054909216179055565b613ac3614408565b600855565b613ad0614408565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b613afa614408565b602380546001600160a01b039384166001600160a01b03199182161790915560248054929093169116179055565b603454600090610100900460ff16613b6f5760405162461bcd60e51b815260206004820152600a602482015269616c6c6f77616d70616d60b01b604482015260640161192f565b60015460405163c4f561b960e01b81523360048201526001600160a01b039091169063c4f561b990602401602060405180830381865afa158015613bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bdb919061552a565b15613bf85760405162461bcd60e51b815260040161192f90615560565b6001600160a01b0389163314613c485760405162461bcd60e51b81526020600482015260156024820152743932b1b4b834b2b73a109eb6b9b39739b2b73232b960591b604482015260640161192f565b3360009081526005602052604090205460ff1615613c9a5760405162461bcd60e51b815260206004820152600f60248201526e6e6f7420696d7061776e616c6c6f7760881b604482015260640161192f565b336000908152602e602052604090205460ff161580613cc85750336000908152602f602052604090205460ff165b613d0b5760405162461bcd60e51b815260206004820152601460248201527343616c6c6572206973206f6c644164647265737360601b604482015260640161192f565b8915613d5457336000908152603360205260409020805460ff19166001179055613d3c8a8a8a8a8a8a8a8a8a612e8a565b336000908152603360205260409020805460ff191690555b60018b1115613dbb5760225460405163fc6da1e560e01b81523360048201526001600160a01b039091169063fc6da1e590602401600060405180830381600087803b158015613da257600080fd5b505af1158015613db6573d6000803e3d6000fd5b505050505b613dc48b614a39565b50989998505050505050505050565b613ddb614408565b60005b82811015611bba578160306000868685818110613dfd57613dfd615514565b9050602002016020810190613e129190614cd3565b6001600160a01b03168152602081019190915260400160002055600101613dde565b613e3c614408565b828114613e835760405162461bcd60e51b8152602060048201526015602482015274092dce0eae840d8cadccee8d040dad2e6dac2e8c6d605b1b604482015260640161192f565b60005b83811015613a80576000858583818110613ea257613ea2615514565b9050602002016020810190613eb79190614cd3565b90506000848484818110613ecd57613ecd615514565b905060200201359050600081118015613ee857506025548111155b613f2a5760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b5a5b995c881b195d995b606a1b604482015260640161192f565b6001600160a01b038216613f775760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642075736572206164647265737360601b604482015260640161192f565b6001600160a01b03821660009081526019602090815260408083205480845260179092528083205484845292205490919081811115614071576000613fbc83836154e8565b6001600160a01b038716600090815260296020526040812080549293508392909190613fe9908490615430565b9250508190555080602860008282546140029190615430565b9091555050600254604051635fc61d8360e01b81526001600160a01b0390911690635fc61d839061403990899085906004016154fb565b600060405180830381600087803b15801561405357600080fd5b505af1158015614067573d6000803e3d6000fd5b50505050506141e5565b818110156141e557600061408582846154e8565b6001600160a01b0387166000908152602960205260409020549091508111156140f05760405162461bcd60e51b815260206004820181905260248201527f496e73756666696369656e7420706c6564676520746f20646f776e6772616465604482015260640161192f565b6001600160a01b038616600090815260296020526040812080548392906141189084906154e8565b90915550506028548111156141685760405162461bcd60e51b81526020600482015260166024820152756d696e6572557364744e6f7720756e646572666c6f7760501b604482015260640161192f565b806028600082825461417a91906154e8565b90915550506002546040516321b5ee2360e21b81526001600160a01b03909116906386d7b88c906141b190899085906004016154fb565b600060405180830381600087803b1580156141cb57600080fd5b505af11580156141df573d6000803e3d6000fd5b50505050505b6001600160a01b0385166000908152601960209081526040808320879055601e909152812054900361422d576001600160a01b0385166000908152601e602052604090204290555b505060019093019250613e86915050565b614246614408565b60005b82811015611bba57816005600086868581811061426857614268615514565b905060200201602081019061427d9190614cd3565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101614249565b6142b5614408565b600955565b6142c2614408565b6001600160a01b0381166143275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161192f565b611f9a81614462565b614338614408565b8082111561439c5760405162461bcd60e51b815260206004820152602b60248201527f6d696e736563206d757374206265206c657373207468616e206f72206571756160448201526a6c20746f206d617873656360a81b606482015260840161192f565b600f91909155601055565b6143af614408565b6040805160608101825292835260208084019485529115158382019081526001600160a01b0395909516600090815260159092529020905181559051600182015590516002909101805460ff1916911515919091179055565b6000546001600160a01b03163314611f9c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161192f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000612710601154846144c591906154af565b6144cf91906154c6565b905060006144dd82856154e8565b905081601360008282546144f19190615430565b9250508190555083602c600082825461450a9190615430565b909155506000905061451a613812565b90508460326000838152602001908152602001600020600082825461453f9190615430565b9091555050336000908152601a602052604081208054879290614563908490615430565b909155505060405163a9059cbb60e01b81526001600160a01b0385169063a9059cbb9061459690339086906004016154fb565b6020604051808303816000875af11580156145b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145d9919061552a565b613a805760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21960811b604482015260640161192f565b600061462b8a8a8a8a8a8a8a8a8a611fdd565b6021549091506001600160a01b0380831691161461467f5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015260640161192f565b61468b61012c426154e8565b8610156146ce5760405162461bcd60e51b815260206004820152601160248201527014da59db985d1d5c9948195e1c1a5c9959607a1b604482015260640161192f565b6146da4261012c615430565b86111561471d5760405162461bcd60e51b815260206004820152601160248201527014da59db985d1d5c9948195e1c1a5c9959607a1b604482015260640161192f565b8a6001600160a01b0316896001600160a01b0316146147735760405162461bcd60e51b81526020600482015260126024820152710a4cac6d2e0d2cadce840dad2e6dac2e8c6d60731b604482015260640161192f565b6001600160a01b03841630146147cb5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420636f6e747261637420616464726573730000000000000000604482015260640161192f565b6024546001600160a01b038481169116146148285760405162461bcd60e51b815260206004820152601b60248201527f746f6b656e5f61646472657373203d3d2054544c416464726573730000000000604482015260640161192f565b6001600160a01b038b166000908152601d602052604090205461484c906001615430565b881461488a5760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964206e6f6e636560981b604482015260640161192f565b5050506001600160a01b039097166000908152601d60209081526040808320879055601f825280832096835295905293909320929092555050505050565b60008080806148da8562010bd9615430565b6148e79062253d8c615430565b9050600062023ab16148fa8360046154af565b61490491906154c6565b905060046149158262023ab16154af565b614920906003615430565b61492a91906154c6565b61493490836154e8565b9150600062164b09614947846001615430565b61495390610fa06154af565b61495d91906154c6565b9050600461496d826105b56154af565b61497791906154c6565b61498190846154e8565b61498c90601f615430565b9250600061098f61499e8560506154af565b6149a891906154c6565b9050600060506149ba8361098f6154af565b6149c491906154c6565b6149ce90866154e8565b90506149db600b836154c6565b94506149e885600c6154af565b6149f3836002615430565b6149fd91906154e8565b91508483614a0c6031876154e8565b614a179060646154af565b614a219190615430565b614a2b9190615430565b999198509650945050505050565b336000908152601960205260409020548111614aa35760405162461bcd60e51b8152602060048201526024808201527f6e6f74206d696e65726c657673203e206d696e65726c65765b6d73672e73656e6044820152636465725d60e01b606482015260840161192f565b600081118015614ab557506025548111155b614af75760405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081b5a5b995c881b195d995b606a1b604482015260640161192f565b6000818152601760209081526040808320543384526029909252909120541015614c9757336000908152602960209081526040808320548484526017909252822054614b4391906154e8565b6023546040516323b872dd60e01b8152336004820152306024820152604481018390529192506001600160a01b0316906323b872dd906064016020604051808303816000875af1158015614b9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bbf919061552a565b508060286000828254614bd29190615430565b90915550503360009081526029602052604081208054839290614bf6908490615430565b9091555060009050614c06613812565b905081602b60008381526020019081526020016000206000828254614c2b9190615430565b9091555050600254604051635fc61d8360e01b81526001600160a01b0390911690635fc61d8390614c6290339086906004016154fb565b600060405180830381600087803b158015614c7c57600080fd5b505af1158015614c90573d6000803e3d6000fd5b5050505050505b33600090815260196020908152604080832093909355601e905220429055565b80356001600160a01b0381168114614cce57600080fd5b919050565b600060208284031215614ce557600080fd5b612e0b82614cb7565b600060208284031215614d0057600080fd5b5035919050565b8015158114611f9a57600080fd5b60008060408385031215614d2857600080fd5b614d3183614cb7565b91506020830135614d4181614d07565b809150509250929050565b60008083601f840112614d5e57600080fd5b5081356001600160401b03811115614d7557600080fd5b6020830191508360208260051b8501011115614d9057600080fd5b9250929050565b600080600060408486031215614dac57600080fd5b83356001600160401b03811115614dc257600080fd5b614dce86828701614d4c565b9094509250506020840135614de281614d07565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614e2b57614e2b614ded565b604052919050565b60006001600160401b03821115614e4c57614e4c614ded565b5060051b60200190565b600082601f830112614e6757600080fd5b81356020614e7c614e7783614e33565b614e03565b8083825260208201915060208460051b870101935086841115614e9e57600080fd5b602086015b84811015614ec157614eb481614cb7565b8352918301918301614ea3565b509695505050505050565b600060208284031215614ede57600080fd5b81356001600160401b03811115614ef457600080fd5b614f0084828501614e56565b949350505050565b6020808252825182820181905260009190848201906040850190845b81811015614f4057835183529284019291840191600101614f24565b50909695505050505050565b600060208284031215614f5e57600080fd5b8135612e0b81614d07565b60008060408385031215614f7c57600080fd5b614f8583614cb7565b946020939093013593505050565b60008060008060808587031215614fa957600080fd5b5050823594602084013594506040840135936060013592509050565b600082601f830112614fd657600080fd5b81356001600160401b03811115614fef57614fef614ded565b615002601f8201601f1916602001614e03565b81815284602083860101111561501757600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060006101208a8c03121561505357600080fd5b8935985061506360208b01614cb7565b975060408a0135965060608a0135955060808a0135945060a08a0135935061508d60c08b01614cb7565b925061509b60e08b01614cb7565b91506101008a01356001600160401b038111156150b757600080fd5b6150c38c828d01614fc5565b9150509295985092959850929598565b600080604083850312156150e657600080fd5b50508035926020909101359150565b600080600080600060a0868803121561510d57600080fd5b61511686614cb7565b9450602086013593506040860135925060608601359150608086013561513b81614d07565b809150509295509295909350565b6000806040838503121561515c57600080fd5b82356001600160401b038082111561517357600080fd5b61517f86838701614e56565b935060209150818501358181111561519657600080fd5b85019050601f810186136151a957600080fd5b80356151b7614e7782614e33565b81815260059190911b820183019083810190888311156151d657600080fd5b928401925b828410156151f4578335825292840192908401906151db565b80955050505050509250929050565b60008060006060848603121561521857600080fd5b61522184614cb7565b92506020840135915061523660408501614cb7565b90509250925092565b6000806000806040858703121561525557600080fd5b84356001600160401b038082111561526c57600080fd5b61527888838901614d4c565b9096509450602087013591508082111561529157600080fd5b5061529e87828801614d4c565b95989497509550505050565b600080604083850312156152bd57600080fd5b6152c683614cb7565b91506152d460208401614cb7565b90509250929050565b6000806000806000806000806000806101408b8d0312156152fd57600080fd5b8a35995060208b0135985061531460408c01614cb7565b975060608b0135965060808b0135955060a08b0135945060c08b0135935061533e60e08c01614cb7565b925061534d6101008c01614cb7565b91506101208b01356001600160401b0381111561536957600080fd5b6153758d828e01614fc5565b9150509295989b9194979a5092959850565b60008060006040848603121561539c57600080fd5b83356001600160401b038111156153b257600080fd5b6153be86828701614d4c565b909790965060209590950135949350505050565b600080600080608085870312156153e857600080fd5b6153f185614cb7565b93506020850135925060408501359150606085013561540f81614d07565b939692955090935050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611e5f57611e5f61541a565b6020808252601190820152702737902aa9a22a103a37903932ba3ab93760791b604082015260600190565b60208082526021908201527f496e73756666696369656e74206d696e6572557364744e6f772062616c616e636040820152606560f81b606082015260800190565b8082028115828204841417611e5f57611e5f61541a565b6000826154e357634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611e5f57611e5f61541a565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561553c57600080fd5b8151612e0b81614d07565b60006020828403121561555957600080fd5b5051919050565b602080825260139082015272027b7363c903ab9b2b9399030b2323932b9b99606d1b60408201526060019056fea2646970667358221220dd11a571c7526000e2fd7821ce7d7747eb3ec4c9455d1808e583828790238ea464736f6c63430008180033