2k txs
2k calls
constructor
constructor(uint256 _startTime, uint256 _endTime)
functions
convertUSDTtoBNB
viewfunction convertUSDTtoBNB(uint256 amountUSDT) view returns (uint256)
endTimeSale
viewfunction endTimeSale() view returns (uint256)
getContractBNBBalance
viewfunction getContractBNBBalance() view returns (uint256)
getLatestPriceBNBPerUSD
viewfunction getLatestPriceBNBPerUSD() view returns (uint256)
getLatestPriceUSDTPerUSD
viewfunction getLatestPriceUSDTPerUSD() view returns (uint256)
getNetBNBForOwner
viewfunction getNetBNBForOwner() view returns (uint256)
getPriceInUSD
viewfunction getPriceInUSD() view returns (uint256)
getReferralPoolBalance
viewfunction getReferralPoolBalance() view returns (uint256)
getTokenAmountBNB
viewfunction getTokenAmountBNB(uint256 amountBNB) view returns (uint256)
getTokenAmountUSDT
viewfunction getTokenAmountUSDT(uint256 amountUSDT) view returns (uint256)
getTotalReferralBonusesPaid
viewfunction getTotalReferralBonusesPaid() view returns (uint256)
getTotalUSDRaised
viewfunction getTotalUSDRaised() view returns (uint256)
isPaused
viewfunction isPaused() view returns (bool)
minPurchaseUSD
viewfunction minPurchaseUSD() view returns (uint256)
owner
viewfunction owner() view returns (address)
preSupply
viewfunction preSupply() view returns (uint256)
priceFeedBNB
viewfunction priceFeedBNB() view returns (address)
priceFeedUSDT
viewfunction priceFeedUSDT() view returns (address)
referBonus
viewfunction referBonus() view returns (uint256)
referralsCount
viewfunction referralsCount(address) view returns (uint256)
refTotalAmounts
viewfunction refTotalAmounts(address) view returns (uint256)
startTimeSale
viewfunction startTimeSale() view returns (uint256)
token
viewfunction token() view returns (address)
tokenSold
viewfunction tokenSold() view returns (uint256)
tokenTotalSold
viewfunction tokenTotalSold() view returns (uint256)
totalBNBRaised
viewfunction totalBNBRaised() view returns (uint256)
totalReferralBonusesPaid
viewfunction totalReferralBonusesPaid() view returns (uint256)
usdRate
viewfunction usdRate() view returns (uint256)
usdtToken
viewfunction usdtToken() view returns (address)
userInfo
viewfunction userInfo(address) view returns (uint256 totalAmount)
buyTokensWithBNB
payablefunction buyTokensWithBNB(address referrer) payable
buyTokensWithUSDT
nonpayablefunction buyTokensWithUSDT(uint256 usdtAmount, address referrer)
fundReferralPool
payablefunction fundReferralPool() payable
pauseSales
nonpayablefunction pauseSales()
recoverWrongTokens
nonpayablefunction recoverWrongTokens(address _tokenAddress)
renounceOwnership
nonpayablefunction renounceOwnership()
setEndTime
nonpayablefunction setEndTime(uint256 _endTime)
setStartTime
nonpayablefunction setStartTime(uint256 _startTime)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpauseSales
nonpayablefunction unpauseSales()
updateContractAddresses
nonpayablefunction updateContractAddresses(address _newPriceFeedBNB, address _newPriceFeedUSDT)
updateMinPurchaseUSD
nonpayablefunction updateMinPurchaseUSD(uint256 _minPurchaseUSD)
updateReferBonus
nonpayablefunction updateReferBonus(uint256 _referBonus)
updateSupply
nonpayablefunction updateSupply(uint256 _presupply)
updateUsdRate
nonpayablefunction updateUsdRate(uint256 _usdRate)
withdrawBNB
nonpayablefunction withdrawBNB()
withdrawLeftToken
nonpayablefunction withdrawLeftToken()
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RateSet
event RateSet(uint256 newRate, address indexed owner)
ReceivedBNB
event ReceivedBNB(address indexed sender, uint256 amount)
TokensPurchased
event TokensPurchased(address indexed buyer, uint256 amount, uint256 payamount, string currency)
TokensRecovered
event TokensRecovered(address indexed sender, address indexed tokenAddress, uint256 amount)
UserRefer
event UserRefer(address indexed user, address indexed refer, uint256 amount, uint256 payamount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x6080604052736112668f9ba8cf8e870aeb230d815fa8ccb8aaa9600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507355d398326f99059ff775485246999027b3197955600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550730567f2323251f0aab15c8dfb1967e4e8a7d42aee600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b97ad0e74fa7d920791e90258a6e2085088b4320600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801562000161575f80fd5b5060405162003ed538038062003ed5833981810160405281019062000187919062000336565b620001a76200019b6200023260201b60201c565b6200023960201b60201c565b6001808190555081600281905550806003819055506702fbd55c62b580006007819055506a94e47b8d681715340000006008819055505f6009819055506005600a81905550680340aad21b3b700000600b819055505f6004819055505f6005819055505f6006819055505f600c5f6101000a81548160ff02191690831515021790555050506200037b565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f819050919050565b6200031281620002fe565b81146200031d575f80fd5b50565b5f81519050620003308162000307565b92915050565b5f80604083850312156200034f576200034e620002fa565b5b5f6200035e8582860162000320565b9250506020620003718582860162000320565b9150509250929050565b613b4c80620003895f395ff3fe60806040526004361061028b575f3560e01c80636c5e0611116101595780639cf45307116100c0578063d74e6ccc11610079578063d74e6ccc1461097a578063e1aa603614610990578063efa4168a146109ba578063f2fde38b146109e4578063fc0c546a14610a0c578063fdb5d14414610a36576102e0565b80639cf4530714610882578063a98ad46c146108ac578063acb03d43146108d6578063b187bd2614610912578063b379a5591461093c578063ccb98ffc14610952576102e0565b80638708ef0e116101125780638708ef0e146107885780638da5cb5b146107b05780638da7878c146107da57806399131e7e1461080457806399fd8bf01461082e5780639b5f8bdc14610858576102e0565b80636c5e0611146106b05780636eb769d2146106da578063715018a614610704578063746268cc1461071a57806378c490561461074257806379b37a861461075e576102e0565b80633e0a322d116101fd57806352b2e72a116101b657806352b2e72a146105ba57806362a469e9146105e25780636483338e1461060c578063652ee5e6146106365780636b366c661461064c5780636bd0804914610688576102e0565b80633e0a322d146104b057806349d47b64146104d85780634e6f773b146105145780634fa70e2e1461053e578063519ee19e1461056657806351b7e9bc14610590576102e0565b80631959a0021161024f5780631959a002146103a85780631d111d13146103e45780631ff6dc5b146103fa5780632f6c446914610422578063336314b71461044a5780633cf4c11614610486576102e0565b806307d94e4a146102e457806307ebe1861461030e57806309ddaa97146103185780631600bef6146103425780631832d8b61461036c576102e0565b366102e0573373ffffffffffffffffffffffffffffffffffffffff167f8e7347e5946371bc8248a4d0f5af4c2be6630590ae53fb4e979e4bcdb90a140d346040516102d691906129d3565b60405180910390a2005b5f80fd5b3480156102ef575f80fd5b506102f8610a60565b60405161030591906129d3565b60405180910390f35b610316610a67565b005b348015610323575f80fd5b5061032c610b01565b60405161033991906129d3565b60405180910390f35b34801561034d575f80fd5b50610356610b07565b60405161036391906129d3565b60405180910390f35b348015610377575f80fd5b50610392600480360381019061038d9190612a1a565b610b0e565b60405161039f91906129d3565b60405180910390f35b3480156103b3575f80fd5b506103ce60048036038101906103c99190612a9f565b610b49565b6040516103db91906129d3565b60405180910390f35b3480156103ef575f80fd5b506103f8610b63565b005b348015610405575f80fd5b50610420600480360381019061041b9190612aca565b610c5d565b005b34801561042d575f80fd5b5061044860048036038101906104439190612a1a565b610dc5565b005b348015610455575f80fd5b50610470600480360381019061046b9190612a9f565b610e19565b60405161047d91906129d3565b60405180910390f35b348015610491575f80fd5b5061049a610e2e565b6040516104a791906129d3565b60405180910390f35b3480156104bb575f80fd5b506104d660048036038101906104d19190612a1a565b610e34565b005b3480156104e3575f80fd5b506104fe60048036038101906104f99190612a1a565b610e46565b60405161050b91906129d3565b60405180910390f35b34801561051f575f80fd5b50610528610e90565b60405161053591906129d3565b60405180910390f35b348015610549575f80fd5b50610564600480360381019061055f9190612a1a565b610e96565b005b348015610571575f80fd5b5061057a610eea565b60405161058791906129d3565b60405180910390f35b34801561059b575f80fd5b506105a4610ef0565b6040516105b191906129d3565b60405180910390f35b3480156105c5575f80fd5b506105e060048036038101906105db9190612a1a565b610ef6565b005b3480156105ed575f80fd5b506105f6610f98565b6040516106039190612b63565b60405180910390f35b348015610617575f80fd5b50610620610fbd565b60405161062d91906129d3565b60405180910390f35b348015610641575f80fd5b5061064a61106d565b005b348015610657575f80fd5b50610672600480360381019061066d9190612a9f565b6111ab565b60405161067f91906129d3565b60405180910390f35b348015610693575f80fd5b506106ae60048036038101906106a99190612a1a565b6111c0565b005b3480156106bb575f80fd5b506106c46111d2565b6040516106d191906129d3565b60405180910390f35b3480156106e5575f80fd5b506106ee611209565b6040516106fb91906129d3565b60405180910390f35b34801561070f575f80fd5b5061071861120f565b005b348015610725575f80fd5b50610740600480360381019061073b9190612a9f565b611222565b005b61075c60048036038101906107579190612a9f565b611416565b005b348015610769575f80fd5b50610772611ad5565b60405161077f91906129d3565b60405180910390f35b348015610793575f80fd5b506107ae60048036038101906107a99190612b7c565b611adb565b005b3480156107bb575f80fd5b506107c46121dd565b6040516107d19190612bc9565b60405180910390f35b3480156107e5575f80fd5b506107ee612204565b6040516107fb91906129d3565b60405180910390f35b34801561080f575f80fd5b5061081861220a565b6040516108259190612b63565b60405180910390f35b348015610839575f80fd5b5061084261222f565b60405161084f91906129d3565b60405180910390f35b348015610863575f80fd5b5061086c61224c565b60405161087991906129d3565b60405180910390f35b34801561088d575f80fd5b50610896612252565b6040516108a391906129d3565b60405180910390f35b3480156108b7575f80fd5b506108c061225b565b6040516108cd9190612c02565b60405180910390f35b3480156108e1575f80fd5b506108fc60048036038101906108f79190612a1a565b612280565b60405161090991906129d3565b60405180910390f35b34801561091d575f80fd5b506109266122bb565b6040516109339190612c35565b60405180910390f35b348015610947575f80fd5b506109506122cd565b005b34801561095d575f80fd5b5061097860048036038101906109739190612a1a565b6122f1565b005b348015610985575f80fd5b5061098e612303565b005b34801561099b575f80fd5b506109a4612326565b6040516109b191906129d3565b60405180910390f35b3480156109c5575f80fd5b506109ce61232f565b6040516109db91906129d3565b60405180910390f35b3480156109ef575f80fd5b50610a0a6004803603810190610a059190612a9f565b612335565b005b348015610a17575f80fd5b50610a206123b7565b604051610a2d9190612c02565b60405180910390f35b348015610a41575f80fd5b50610a4a6123dd565b604051610a5791906129d3565b60405180910390f35b5f47905090565b610a6f61248d565b5f3411610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa890612cce565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167f8e7347e5946371bc8248a4d0f5af4c2be6630590ae53fb4e979e4bcdb90a140d34604051610af791906129d3565b60405180910390a2565b60035481565b5f47905090565b5f80610b186123dd565b9050610b41600754610b33838661250b90919063ffffffff16565b61252090919063ffffffff16565b915050919050565b6010602052805f5260405f205f91509050805f0154905081565b610b6b61248d565b5f4790505f8111610bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba890612d36565b60405180910390fd5b5f3373ffffffffffffffffffffffffffffffffffffffff1682604051610bd690612d81565b5f6040518083038185875af1925050503d805f8114610c10576040519150601f19603f3d011682016040523d82523d5f602084013e610c15565b606091505b5050905080610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5090612ddf565b60405180910390fd5b5050565b610c6561248d565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cca90612e6d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3890612efb565b60405180910390fd5b81600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b610dcd61248d565b5f8111610e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0690612f89565b60405180910390fd5b80600a8190555050565b6012602052805f5260405f205f915090505481565b60065481565b610e3c61248d565b8060028190555050565b5f80610e50610fbd565b90505f610e5b6123dd565b90505f610e8383610e75848861250b90919063ffffffff16565b61252090919063ffffffff16565b9050809350505050919050565b600a5481565b610e9e61248d565b5f8111610ee0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed790613017565b60405180910390fd5b80600b8190555050565b60095481565b60055481565b610efe61248d565b5f8111610f40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f37906130a5565b60405180910390fd5b806007819055503373ffffffffffffffffffffffffffffffffffffffff167f9b99a353b29d5d6fbc314b0fab43a754b967b3d52b1d19472c5d9b19f3992df182604051610f8d91906129d3565b60405180910390a250565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611029573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104d9190613149565b5050509150506402540be4008161106491906131ed565b90508091505090565b61107561248d565b5f600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110d19190612bc9565b602060405180830381865afa1580156110ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111109190613263565b90505f8111611154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114b906132d8565b60405180910390fd5b6111a861115f6121dd565b82600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166125359092919063ffffffff16565b50565b6011602052805f5260405f205f915090505481565b6111c861248d565b8060088190555050565b5f611204670de0b6b3a76400006111f660095460075461250b90919063ffffffff16565b61252090919063ffffffff16565b905090565b60045481565b61121761248d565b6112205f6125b4565b565b61122a61248d565b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016112689190612bc9565b602060405180830381865afa158015611283573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a79190613263565b90505f81116112eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e290613340565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61130f6121dd565b836040518363ffffffff1660e01b815260040161132d92919061335e565b6020604051808303815f875af1158015611349573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136d91906133af565b6113ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a390613424565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe68360405161140991906129d3565b60405180910390a3505050565b61141e612675565b600c5f9054906101000a900460ff161561146d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114649061348c565b60405180910390fd5b6002544210156114b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a9906134f4565b60405180910390fd5b6003544211156114f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ee9061355c565b60405180910390fd5b5f3411611539576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611530906135c4565b60405180910390fd5b5f3490505f611546610fbd565b90505f611576670de0b6b3a7640000611568848661250b90919063ffffffff16565b61252090919063ffffffff16565b9050600b548110156115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b490613652565b60405180910390fd5b5f6115c784612280565b90505f811161160b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611602906135c4565b60405180910390fd5b5f60095460085461161c9190613670565b905080821115611661576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611658906136ed565b60405180910390fd5b5f60105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f8073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415801561170a57503373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1561173a576117376064611729600a548a61250b90919063ffffffff16565b61252090919063ffffffff16565b90505b61174f876005546126bb90919063ffffffff16565b6005819055506117a23385600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166125359092919063ffffffff16565b6117b884835f01546126bb90919063ffffffff16565b825f01819055506117d4846009546126bb90919063ffffffff16565b6009819055506117ef846004546126bb90919063ffffffff16565b6004819055505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415801561185d57503373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15611a73576118b28160125f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126bb90919063ffffffff16565b60125f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160115f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611940919061370b565b9250508190555061195c816006546126bb90919063ffffffff16565b6006819055505f8873ffffffffffffffffffffffffffffffffffffffff168260405161198790612d81565b5f6040518083038185875af1925050503d805f81146119c1576040519150601f19603f3d011682016040523d82523d5f602084013e6119c6565b606091505b5050905080611a0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0190613788565b60405180910390fd5b8873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f641d0efd970410657d02e8f72b25fd73b4d961d13452244c5f46c2d5888dab55848b604051611a699291906137a6565b60405180910390a3505b3373ffffffffffffffffffffffffffffffffffffffff167fe8e3aa9086f33aa1d89447fc3a792fafabd987374e660b040e31787d68b5fe068589604051611abb929190613817565b60405180910390a250505050505050611ad26126d0565b50565b60075481565b611ae3612675565b600c5f9054906101000a900460ff1615611b32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b299061348c565b60405180910390fd5b600254421015611b77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6e906134f4565b60405180910390fd5b600354421115611bbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb39061355c565b60405180910390fd5b5f8211611bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf5906135c4565b60405180910390fd5b5f611c076123dd565b90505f611c37670de0b6b3a7640000611c29848761250b90919063ffffffff16565b61252090919063ffffffff16565b9050600b54811015611c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7590613652565b60405180910390fd5b5f611c8885610b0e565b90505f8111611ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc3906135c4565b60405180910390fd5b5f600954600854611cdd9190613670565b905080821115611d22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d19906136ed565b60405180910390fd5b5f60105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f8073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015611dcb57503373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b15611e08575f611dda89610e46565b9050611e046064611df6600a548461250b90919063ffffffff16565b61252090919063ffffffff16565b9150505b611e5d33611e146121dd565b8a600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166126d9909392919063ffffffff16565b611eaa3385600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166125359092919063ffffffff16565b611ec084835f01546126bb90919063ffffffff16565b825f0181905550611edc846009546126bb90919063ffffffff16565b600981905550611ef7846004546126bb90919063ffffffff16565b6004819055505f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614158015611f6557503373ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b1561217b57611fba8160125f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546126bb90919063ffffffff16565b60125f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160115f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612048919061370b565b92505081905550612064816006546126bb90919063ffffffff16565b6006819055505f8773ffffffffffffffffffffffffffffffffffffffff168260405161208f90612d81565b5f6040518083038185875af1925050503d805f81146120c9576040519150601f19603f3d011682016040523d82523d5f602084013e6120ce565b606091505b5050905080612112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210990613788565b60405180910390fd5b8773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f641d0efd970410657d02e8f72b25fd73b4d961d13452244c5f46c2d5888dab55848c6040516121719291906137a6565b60405180910390a3505b3373ffffffffffffffffffffffffffffffffffffffff167fe8e3aa9086f33aa1d89447fc3a792fafabd987374e660b040e31787d68b5fe06858a6040516121c392919061389b565b60405180910390a25050505050506121d96126d0565b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60025481565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61224760065460055461275b90919063ffffffff16565b905090565b600b5481565b5f600654905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8061228a610fbd565b90506122b36007546122a5838661250b90919063ffffffff16565b61252090919063ffffffff16565b915050919050565b600c5f9054906101000a900460ff1681565b6122d561248d565b6001600c5f6101000a81548160ff021916908315150217905550565b6122f961248d565b8060038190555050565b61230b61248d565b5f600c5f6101000a81548160ff021916908315150217905550565b5f600754905090565b60085481565b61233d61248d565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a290613945565b60405180910390fd5b6123b4816125b4565b50565b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015612449573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246d9190613149565b5050509150506402540be4008161248491906131ed565b90508091505090565b612495612770565b73ffffffffffffffffffffffffffffffffffffffff166124b36121dd565b73ffffffffffffffffffffffffffffffffffffffff1614612509576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612500906139ad565b60405180910390fd5b565b5f818361251891906139cb565b905092915050565b5f818361252d9190613a39565b905092915050565b6125af838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb858560405160240161256892919061335e565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612777565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6002600154036126b1576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b5f81836126c8919061370b565b905092915050565b60018081905550565b612755848573ffffffffffffffffffffffffffffffffffffffff166323b872dd86868660405160240161270e93929190613a69565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612777565b50505050565b5f81836127689190613670565b905092915050565b5f33905090565b5f6127a1828473ffffffffffffffffffffffffffffffffffffffff1661280c90919063ffffffff16565b90505f8151141580156127c55750808060200190518101906127c391906133af565b155b1561280757826040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016127fe9190612bc9565b60405180910390fd5b505050565b606061281983835f612821565b905092915050565b60608147101561286857306040517fcd78605900000000000000000000000000000000000000000000000000000000815260040161285f9190612bc9565b60405180910390fd5b5f808573ffffffffffffffffffffffffffffffffffffffff1684866040516128909190613b00565b5f6040518083038185875af1925050503d805f81146128ca576040519150601f19603f3d011682016040523d82523d5f602084013e6128cf565b606091505b50915091506128df8683836128ea565b925050509392505050565b6060826128ff576128fa82612977565b61296f565b5f825114801561292557505f8473ffffffffffffffffffffffffffffffffffffffff163b145b1561296757836040517f9996b31500000000000000000000000000000000000000000000000000000000815260040161295e9190612bc9565b60405180910390fd5b819050612970565b5b9392505050565b5f815111156129895780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f819050919050565b6129cd816129bb565b82525050565b5f6020820190506129e65f8301846129c4565b92915050565b5f80fd5b6129f9816129bb565b8114612a03575f80fd5b50565b5f81359050612a14816129f0565b92915050565b5f60208284031215612a2f57612a2e6129ec565b5b5f612a3c84828501612a06565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a6e82612a45565b9050919050565b612a7e81612a64565b8114612a88575f80fd5b50565b5f81359050612a9981612a75565b92915050565b5f60208284031215612ab457612ab36129ec565b5b5f612ac184828501612a8b565b91505092915050565b5f8060408385031215612ae057612adf6129ec565b5b5f612aed85828601612a8b565b9250506020612afe85828601612a8b565b9150509250929050565b5f819050919050565b5f612b2b612b26612b2184612a45565b612b08565b612a45565b9050919050565b5f612b3c82612b11565b9050919050565b5f612b4d82612b32565b9050919050565b612b5d81612b43565b82525050565b5f602082019050612b765f830184612b54565b92915050565b5f8060408385031215612b9257612b916129ec565b5b5f612b9f85828601612a06565b9250506020612bb085828601612a8b565b9150509250929050565b612bc381612a64565b82525050565b5f602082019050612bdc5f830184612bba565b92915050565b5f612bec82612b32565b9050919050565b612bfc81612be2565b82525050565b5f602082019050612c155f830184612bf3565b92915050565b5f8115159050919050565b612c2f81612c1b565b82525050565b5f602082019050612c485f830184612c26565b92915050565b5f82825260208201905092915050565b7f4d7573742073656e6420424e4220746f2066756e6420726566657272616c20705f8201527f6f6f6c0000000000000000000000000000000000000000000000000000000000602082015250565b5f612cb8602383612c4e565b9150612cc382612c5e565b604082019050919050565b5f6020820190508181035f830152612ce581612cac565b9050919050565b7f4e6f20424e4220746f20776974686472617700000000000000000000000000005f82015250565b5f612d20601283612c4e565b9150612d2b82612cec565b602082019050919050565b5f6020820190508181035f830152612d4d81612d14565b9050919050565b5f81905092915050565b50565b5f612d6c5f83612d54565b9150612d7782612d5e565b5f82019050919050565b5f612d8b82612d61565b9150819050919050565b7f424e42207769746864726177616c206661696c656400000000000000000000005f82015250565b5f612dc9601583612c4e565b9150612dd482612d95565b602082019050919050565b5f6020820190508181035f830152612df681612dbd565b9050919050565b7f424e42207072696365206665656420616464726573732063616e6e6f742062655f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612e57602583612c4e565b9150612e6282612dfd565b604082019050919050565b5f6020820190508181035f830152612e8481612e4b565b9050919050565b7f55534454207072696365206665656420616464726573732063616e6e6f7420625f8201527f65207a65726f0000000000000000000000000000000000000000000000000000602082015250565b5f612ee5602683612c4e565b9150612ef082612e8b565b604082019050919050565b5f6020820190508181035f830152612f1281612ed9565b9050919050565b7f526566657220626f6e7573206d7573742062652067726561746572207468616e5f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612f73602583612c4e565b9150612f7e82612f19565b604082019050919050565b5f6020820190508181035f830152612fa081612f67565b9050919050565b7f4d696e696d756d20707572636861736520616d6f756e74206d757374206265205f8201527f67726561746572207468616e207a65726f000000000000000000000000000000602082015250565b5f613001603183612c4e565b915061300c82612fa7565b604082019050919050565b5f6020820190508181035f83015261302e81612ff5565b9050919050565b7f5553442072617465206d7573742062652067726561746572207468616e207a655f8201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b5f61308f602283612c4e565b915061309a82613035565b604082019050919050565b5f6020820190508181035f8301526130bc81613083565b9050919050565b5f69ffffffffffffffffffff82169050919050565b6130e1816130c3565b81146130eb575f80fd5b50565b5f815190506130fc816130d8565b92915050565b5f819050919050565b61311481613102565b811461311e575f80fd5b50565b5f8151905061312f8161310b565b92915050565b5f81519050613143816129f0565b92915050565b5f805f805f60a08688031215613162576131616129ec565b5b5f61316f888289016130ee565b955050602061318088828901613121565b945050604061319188828901613135565b93505060606131a288828901613135565b92505060806131b3888289016130ee565b9150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6131f782613102565b915061320283613102565b925082820261321081613102565b91507f800000000000000000000000000000000000000000000000000000000000000084145f84121615613247576132466131c0565b5b828205841483151761325c5761325b6131c0565b5b5092915050565b5f60208284031215613278576132776129ec565b5b5f61328584828501613135565b91505092915050565b7f4e6f20746f6b656e7300000000000000000000000000000000000000000000005f82015250565b5f6132c2600983612c4e565b91506132cd8261328e565b602082019050919050565b5f6020820190508181035f8301526132ef816132b6565b9050919050565b7f4e6f20746f6b656e7320746f207265636f7665720000000000000000000000005f82015250565b5f61332a601483612c4e565b9150613335826132f6565b602082019050919050565b5f6020820190508181035f8301526133578161331e565b9050919050565b5f6040820190506133715f830185612bba565b61337e60208301846129c4565b9392505050565b61338e81612c1b565b8114613398575f80fd5b50565b5f815190506133a981613385565b92915050565b5f602082840312156133c4576133c36129ec565b5b5f6133d18482850161339b565b91505092915050565b7f546f6b656e207265636f76657279206661696c656400000000000000000000005f82015250565b5f61340e601583612c4e565b9150613419826133da565b602082019050919050565b5f6020820190508181035f83015261343b81613402565b9050919050565b7f53616c6573206172652063757272656e746c79207061757365640000000000005f82015250565b5f613476601a83612c4e565b915061348182613442565b602082019050919050565b5f6020820190508181035f8301526134a38161346a565b9050919050565b7f50726573616c6520686173206e6f7420737461727465642079657400000000005f82015250565b5f6134de601b83612c4e565b91506134e9826134aa565b602082019050919050565b5f6020820190508181035f83015261350b816134d2565b9050919050565b7f50726573616c652068617320656e6465640000000000000000000000000000005f82015250565b5f613546601183612c4e565b915061355182613512565b602082019050919050565b5f6020820190508181035f8301526135738161353a565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f5f82015250565b5f6135ae602083612c4e565b91506135b98261357a565b602082019050919050565b5f6020820190508181035f8301526135db816135a2565b9050919050565b7f507572636861736520616d6f756e74206d757374206265206174206c656173745f8201527f2024313520555344000000000000000000000000000000000000000000000000602082015250565b5f61363c602883612c4e565b9150613647826135e2565b604082019050919050565b5f6020820190508181035f83015261366981613630565b9050919050565b5f61367a826129bb565b9150613685836129bb565b925082820390508181111561369d5761369c6131c0565b5b92915050565b7f4e6f7420656e6f75676820746f6b656e7320617661696c61626c6500000000005f82015250565b5f6136d7601b83612c4e565b91506136e2826136a3565b602082019050919050565b5f6020820190508181035f830152613704816136cb565b9050919050565b5f613715826129bb565b9150613720836129bb565b9250828201905080821115613738576137376131c0565b5b92915050565b7f424e42207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f613772601383612c4e565b915061377d8261373e565b602082019050919050565b5f6020820190508181035f83015261379f81613766565b9050919050565b5f6040820190506137b95f8301856129c4565b6137c660208301846129c4565b9392505050565b7f424e4200000000000000000000000000000000000000000000000000000000005f82015250565b5f613801600383612c4e565b915061380c826137cd565b602082019050919050565b5f60608201905061382a5f8301856129c4565b61383760208301846129c4565b8181036040830152613848816137f5565b90509392505050565b7f55534454000000000000000000000000000000000000000000000000000000005f82015250565b5f613885600483612c4e565b915061389082613851565b602082019050919050565b5f6060820190506138ae5f8301856129c4565b6138bb60208301846129c4565b81810360408301526138cc81613879565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61392f602683612c4e565b915061393a826138d5565b604082019050919050565b5f6020820190508181035f83015261395c81613923565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613997602083612c4e565b91506139a282613963565b602082019050919050565b5f6020820190508181035f8301526139c48161398b565b9050919050565b5f6139d5826129bb565b91506139e0836129bb565b92508282026139ee816129bb565b91508282048414831517613a0557613a046131c0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613a43826129bb565b9150613a4e836129bb565b925082613a5e57613a5d613a0c565b5b828204905092915050565b5f606082019050613a7c5f830186612bba565b613a896020830185612bba565b613a9660408301846129c4565b949350505050565b5f81519050919050565b5f5b83811015613ac5578082015181840152602081019050613aaa565b5f8484015250505050565b5f613ada82613a9e565b613ae48185612d54565b9350613af4818560208601613aa8565b80840191505092915050565b5f613b0b8284613ad0565b91508190509291505056fea2646970667358221220ababc24552683943ec0731254c5f3cf2de90861c9f4004c52c63edfd3dfc289b64736f6c63430008180033000000000000000000000000000000000000000000000000000000006861bfa40000000000000000000000000000000000000000000000000000000068aa4224