85 txs
138 calls
constructor
constructor(address _owner, address _devWallet, address _element280BB, address _holderVault, uint256 _dailyAuctionLimit, uint256 _distributionLimit, uint256 _minStakeAmount)
functions
claimRewardsIncentiveFee
viewfunction claimRewardsIncentiveFee() view returns (uint32)
dailyAuctionLimit
viewfunction dailyAuctionLimit() view returns (uint256)
DevWallet
viewfunction DevWallet() view returns (address)
distributeTreasuryIncentiveFee
viewfunction distributeTreasuryIncentiveFee() view returns (uint32)
distributionInterval
viewfunction distributionInterval() view returns (uint32)
distributionLimit
viewfunction distributionLimit() view returns (uint256)
distributionWhitelist
viewfunction distributionWhitelist(address account) view returns (bool)
ELMNT_BB
viewfunction ELMNT_BB() view returns (address)
getNextTreasuryDistribution
viewfunction getNextTreasuryDistribution() view returns (uint256)
getStakesClaimableRewardsPerId
viewfunction getStakesClaimableRewardsPerId(uint160[] stakeIds) view returns (uint256[] rewards)
getTitanXForAuctions
viewfunction getTitanXForAuctions() view returns (uint256)
heliosDeviation
viewfunction heliosDeviation() view returns (uint32)
HolderVault
viewfunction HolderVault() view returns (address)
infernoDeviation
viewfunction infernoDeviation() view returns (uint32)
isAuctionAvailable
viewfunction isAuctionAvailable() view returns (bool)
lastAuctionDay
viewfunction lastAuctionDay() view returns (uint32)
lastDistribution
viewfunction lastDistribution() view returns (uint32)
lastStakeDay
viewfunction lastStakeDay() view returns (uint32)
minStakeAmount
viewfunction minStakeAmount() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
secondsAgo
viewfunction secondsAgo() view returns (uint32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
treasury777Balance
viewfunction treasury777Balance() view returns (uint256)
treasuryBalance
viewfunction treasuryBalance() view returns (uint256)
acceptOwnership
nonpayablefunction acceptOwnership()
claimAuctions
nonpayablefunction claimAuctions(uint64[] ids)
claimRewards
nonpayablefunction claimRewards(uint160[] ids)
distribute777Treasury
nonpayablefunction distribute777Treasury(uint256 infernoMinAmountOut, uint256 heliosMinAmountOut, uint256 e280MinAmountOut, uint256 deadline)
distributeTreasury
nonpayablefunction distributeTreasury(uint256 infernoMinAmountOut, uint256 heliosMinAmountOut, uint256 e280MinAmountOut, uint256 deadline)
enterAuction
nonpayablefunction enterAuction()
onBurn
nonpayablefunction onBurn(address, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setClaimRewardsIncentiveFee
nonpayablefunction setClaimRewardsIncentiveFee(uint32 size)
setDailyAuctionLimit
nonpayablefunction setDailyAuctionLimit(uint256 limit)
setDistributeTreasuryIncentiveFee
nonpayablefunction setDistributeTreasuryIncentiveFee(uint32 size)
setDistributionInterval
nonpayablefunction setDistributionInterval(uint32 limit)
setDistributionLimit
nonpayablefunction setDistributionLimit(uint256 limit)
setDistributionWhitelist
nonpayablefunction setDistributionWhitelist(address[] accounts, bool isAllowed)
setE280BuyBurn
nonpayablefunction setE280BuyBurn(address _address)
setHeliosDeviation
nonpayablefunction setHeliosDeviation(uint32 limit)
setInfernoDeviation
nonpayablefunction setInfernoDeviation(uint32 limit)
setMinStakeAmount
nonpayablefunction setMinStakeAmount(uint256 limit)
setSecondsAgo
nonpayablefunction setSecondsAgo(uint32 limit)
startStake
nonpayablefunction startStake()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
AuctionEntered
event AuctionEntered()
AuctionsClaimed
event AuctionsClaimed()
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
RewardsClaimed
event RewardsClaimed()
StakeCreated
event StakeCreated()
TreasuryDistributed
event TreasuryDistributed()
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
Cooldown
error Cooldown()
FailedInnerCall
error FailedInnerCall()
HubInactive
error HubInactive()
MathOverflowedMulDiv
error MathOverflowedMulDiv()
NoAllocation
error NoAllocation()
NotAvailable
error NotAvailable()
NothingToClaim
error NothingToClaim()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
Prohibited
error Prohibited()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
T
error T()
TWAP
error TWAP()
ZeroAddress
error ZeroAddress()
ZeroInput
error ZeroInput()
creation bytecode
0x60c0346101fa57601f6146cc38819003918201601f19168301916001600160401b038311848410176101ff5780849260e0946040528339810103126101fa5761004781610215565b61005360208301610215565b9161006060408201610215565b9261006d60608301610215565b9060808301519160c060a08501519401519460018060a01b03169586156101e457600180546001600160a01b0319908116909155600080549182168917815560405198916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36007805463ffffffff1916610384179055600980547107d0000007d00000012c0000012c0000012c6001600160a01b03199091161790556000906001600160a01b038416156101d5576001600160a01b03169081156101c6576001600160a01b038316156101c65784156101b75785156101b75786156101b75750600280546001600160a01b03191691909117905560805260a0526005556006556008556144a2908161022a82396080518181816102b4015281816108ef01528181611586015261193d015260a051818181610a1c0152612aab0152f35b63af458c0760e01b8152600490fd5b63d92e233d60e01b8152600490fd5b63d92e233d60e01b8252600482fd5b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101fa5756fe60e080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a714611b2d575080630513436214611a575780631ad7b12714611a05578063209164cb1461189d57806328e9d35b146117d15780632c9354671461178f578063313dab201461177157806333016eb71461146a5780633929a4af14611443578063403755f5146113a957806345a1b92c1461138b5780635fb5689614611370578063633dd1451461134957806364c4540914611320578063653a34e2146112f957806368215fcb146110d257806371201a0e146110ae578063715018a61461104957806374f7cd4e14610d9057806379ba509714610d0b578063816b44fd14610ce2578063833be38414610c9d57806385c9c05114610c455780638b05c53814610c1f5780638da5cb5b14610bf85780638e805a7c14610b9d578063947b43f314610b7f5780639aa695e114610b405780639d81359314610b1c578063a717639c14610af6578063ab2da61014610a4b578063b115e4df14610a06578063ba29281c146109df578063d5472a9c146109b8578063db1992b31461099a578063ddbe3c1d14610841578063df3851e314610823578063e30c3978146107fa578063e37750e5146107d1578063eb4af04514610799578063f1127f1a146103cd578063f1887684146103af578063f22bb62e14610350578063f2fde38b146102e3578063f7cc662d1461029e5763fca2086b1461021b57600080fd5b3461029b57602036600319011261029b5760043563ffffffff811680820361029757610245611e8c565b80156102885761271010610279576009805463ffffffff60601b191660609290921b63ffffffff60601b1691909117905580f35b632b0039c760e21b8252600482fd5b63af458c0760e01b8352600483fd5b8280fd5b80fd5b503461029b578060031936011261029b576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461029b57602036600319011261029b576102fd611bd0565b610305611e8c565b600180546001600160a01b0319166001600160a01b0392831690811790915582549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b503461029b57602036600319011261029b5760043563ffffffff81168082036102975761037b611e8c565b80156102885761271010610279576009805463ffffffff60801b191660809290921b63ffffffff60801b1691909117905580f35b503461029b578060031936011261029b576020600854604051908152f35b503461029b57602036600319011261029b576004356001600160401b038111610702576103fe903690600401611ba0565b8015801561078f575b610780576040516370a0823160e01b81523060048201529160208360248160008051602061444d8339815191525afa928315610775578493610741575b5073d605a87187563c94c577a6e57e4a36ec8433b9ae3b1561073d579083916040519163024ff33160e21b835280604484016040600486015252606483019190845b818110610711575050508180849230602483015203818373d605a87187563c94c577a6e57e4a36ec8433b9ae5af18015610706576106ed575b50506040516370a0823160e01b81523060048201529060208260248160008051602061444d8339815191525afa801561069a5783906106b4575b6105039250611c64565b80156106a5576105226105279163ffffffff60095460201c1690611ede565b6140f0565b60405163175c979560e31b81526366f04d10600482015260208160248173bbf25ca275325ef4682851a12bd8e9aa714da2f45af490811561069a578391610658575b5063ffffffff600191160163ffffffff81116106445763ffffffff1663ffffffff610309820416908115159182610639575b826105f3575b5050156105df576105b490600454613c53565b6004555b7f68e2c7e09a4a7d4fed2367771ceaa06623fb2e3f8b90065b2473b3f9752f99688180a180f35b6105eb90600354613c53565b6003556105b8565b6103099192500263ffffffff81169081036106255760030163ffffffff81116106255763ffffffff16101538806105a1565b634e487b7160e01b84526011600452602484fd5b60058110925061059b565b634e487b7160e01b83526011600452602483fd5b90506020813d602011610692575b8161067360209383611c18565b810103126102975763ffffffff61068b600192611db2565b9150610569565b3d9150610666565b6040513d85823e3d90fd5b6312d37ee560e31b8252600482fd5b506020823d6020116106e5575b816106ce60209383611c18565b810103126106e05761050391516104f9565b600080fd5b3d91506106c1565b816106f791611c18565b6107025781386104bf565b5080fd5b6040513d84823e3d90fd5b9193945091602080600192838060a01b0361072b88611c50565b16815201940191019186949392610486565b8380fd5b9092506020813d60201161076d575b8161075d60209383611c18565b810103126106e057519138610444565b3d9150610750565b6040513d86823e3d90fd5b632b0039c760e21b8352600483fd5b5060648111610407565b503461029b57602036600319011261029b576004356107b6611e8c565b80156107c25760085580f35b63af458c0760e01b8252600482fd5b503461029b57602036600319011261029b576004356107ee611e8c565b80156107c25760065580f35b503461029b578060031936011261029b576001546040516001600160a01b039091168152602090f35b503461029b578060031936011261029b576020600654604051908152f35b503461029b5761085036611b82565b91333b15801590610990575b61098157610868611d4e565b63ffffffff42161061097257600354801561096357338652600a60205260ff60408720541615610954579261091a926108c89261092296956006549081811160001461094c5750955b6108c363ffffffff6009541688611ede565b611f06565b9060075467ffffffff000000004260201b169067ffffffff000000001916176007556109157f00000000000000000000000000000000000000000000000000000000000000009182613aab565b613aff565b600354611c64565b6003557f8eb6cb374f3c3afaeacaeb762e4b89e530913c32c88c07c6f8cad6833f047e2a8180a180f35b9050956108b1565b632b0039c760e21b8652600486fd5b63d9b9141960e01b8652600486fd5b63b0782df760e01b8552600485fd5b632b0039c760e21b8552600485fd5b503233141561085c565b503461029b578060031936011261029b576020600554604051908152f35b503461029b578060031936011261029b57602063ffffffff60095460801c16604051908152f35b503461029b578060031936011261029b57602063ffffffff60025460c01c16604051908152f35b503461029b578060031936011261029b576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461029b578060031936011261029b576040516370a0823160e01b815230600482015260208160248160008051602061444d8339815191525afa918215610aea5791610ab6575b6020610aae610aa58460035490611c64565b60045490611c64565b604051908152f35b90506020813d602011610ae2575b81610ad160209383611c18565b810103126106e05751610aae610a93565b3d9150610ac4565b604051903d90823e3d90fd5b503461029b578060031936011261029b57602063ffffffff600754821c16604051908152f35b503461029b578060031936011261029b57602063ffffffff60095416604051908152f35b503461029b57602036600319011261029b5760209060ff906040906001600160a01b03610b6b611bd0565b168152600a84522054166040519015158152f35b503461029b578060031936011261029b576020600454604051908152f35b503461029b57602036600319011261029b57610bb7611bd0565b610bbf611e8c565b6001600160a01b03168015610be9576bffffffffffffffffffffffff60a01b600254161760025580f35b63d92e233d60e01b8252600482fd5b503461029b578060031936011261029b57546040516001600160a01b039091168152602090f35b503461029b578060031936011261029b57602063ffffffff600954821c16604051908152f35b503461029b57602036600319011261029b5760043563ffffffff81168082036102975761271090610c74611e8c565b116102795767ffffffff000000006009549160201b169067ffffffff0000000019161760095580f35b503461029b57602036600319011261029b5760043563ffffffff811680910361070257610cc8611e8c565b61271081116102795763ffffffff19600954161760095580f35b503461029b578060031936011261029b576002546040516001600160a01b039091168152602090f35b503461029b578060031936011261029b57600154336001600160a01b0390911603610d7d57600180546001600160a01b0319908116909155815433918116821783556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b63118cdaa760e01b815233600452602490fd5b503461029b578060031936011261029b57610da9613fac565b90801561103a57604051636eb1769f60e11b81523060048201527336e5a8105f000029d4b3b99d0c3d0e24aaa52adf602482015283919060208160448160008051602061444d8339815191525afa90811561069a578391611003575b5081610e1091613c53565b828060405192602084019063095ea7b360e01b82527336e5a8105f000029d4b3b99d0c3d0e24aaa52adf6024860152604485015260448452610e53606485611c18565b8351908260008051602061444d8339815191525af1610e7061411c565b81610fcc575b5080610fb4575b15610f54575b507336e5a8105f000029d4b3b99d0c3d0e24aaa52adf3b1561070257604051630547902760e21b81526001600160c01b0390911660048201528181602481837336e5a8105f000029d4b3b99d0c3d0e24aaa52adf5af1801561070657610f3f575b505060025490610f0563ffffffff60a01b9163ffffffff8460a01c16611cce565b60a01b169063ffffffff60a01b1916176002557f88844d6865965563acd5b25451a33d44f4600e733b6c5afa2a2827a79c6354818180a180f35b81610f4991611c18565b610702578138610ee4565b610fae90610f9a60405163095ea7b360e01b60208201527336e5a8105f000029d4b3b99d0c3d0e24aaa52adf602482015285604482015260448152610f9a606482611c18565b60008051602061444d83398151915261407a565b38610e83565b5060008051602061444d8339815191523b1515610e7d565b8051801592508215610fe1575b505038610e76565b819250906020918101031261073d576020610ffc910161406d565b3880610fd9565b9250506020823d602011611032575b8161101f60209383611c18565b810103126106e057905183919081610e05565b3d9150611012565b632fc532ad60e11b8352600483fd5b503461029b578060031936011261029b57611062611e8c565b600180546001600160a01b03199081169091558154908116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461029b578060031936011261029b57602063ffffffff60075416604051908152f35b503461029b57602036600319011261029b576004356001600160401b03811161070257366023820112156107025780600401359061110f82611c39565b9161111d6040519384611c18565b8083526024602084019160051b830101913683116112f557602401905b8282106112dd57505050805161116861115282611c39565b916111606040519384611c18565b808352611c39565b602082019290601f19013684376040938451916111858684611c18565b600183526020830190601f198701368337825b8151811015611296576001600160a01b036111b38284611d9e565b51166111be86611d6b565b5287519063367b97ef60e11b825281602481016020600483015287518091526044820190869088905b808210611271575050509080602092038173d605a87187563c94c577a6e57e4a36ec8433b9ae5afa8015611267578590611231575b6001925061122a8289611d9e565b5201611198565b509060203d8111611260575b6112478183611c18565b6020826000928101031261029b5750906001915161121c565b503d61123d565b89513d87823e3d90fd5b82516001600160a01b03168452869450602093840193909201916001909101906111e7565b505050905092919092825193849360208501916020865251809252840192915b8181106112c4575050500390f35b82518452859450602093840193909201916001016112b6565b602080916112ea84611c50565b81520191019061113a565b8480fd5b503461029b578060031936011261029b57602063ffffffff60025460a01c16604051908152f35b503461029b57602036600319011261029b5760043561133d611e8c565b80156107c25760055580f35b503461029b578060031936011261029b57602063ffffffff60095460401c16604051908152f35b503461029b578060031936011261029b576020610aae611d4e565b503461029b57604036600319011261029b576113a5611bd0565b5080f35b503461029b57604036600319011261029b576004356001600160401b038111610702576113da903690600401611ba0565b6024359182151580930361073d576113f3929192611e8c565b60ff849216915b8381101561143f57600581901b8201356001600160a01b038116919082900361143b57908552600a60205260408520805460ff1916841790556001016113fa565b8580fd5b8480f35b503461029b578060031936011261029b57602063ffffffff60095460601c16604051908152f35b503461029b57602036600319011261029b576004356001600160401b0381116107025761149b903690600401611ba0565b9081156107805760405191633791e82360e11b835230600484015260406024840152602083806114cf604482018587611ce8565b03817336e5a8105f000029d4b3b99d0c3d0e24aaa52adf5afa92831561077557849361173d575b50821561172e579083917336e5a8105f000029d4b3b99d0c3d0e24aaa52adf3b1561029757604051630147c1f960e71b8152602060048201529183918391829161154591602484019190611ce8565b0381837336e5a8105f000029d4b3b99d0c3d0e24aaa52adf5af1801561070657611719575b505060405163a9059cbb60e01b60208201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602482015260019190911c60448201526115eb906115d181606481015b03601f198101835282611c18565b73bfde5ac4f5adb419a931a5bf64b0f3bb5a623d0661407a565b6040516370a0823160e01b815230600482015260208160248173bfde5ac4f5adb419a931a5bf64b0f3bb5a623d065afa9081156107065782916116e6575b5060408161163961166b93613c60565b8151635cacc5fb60e11b8152630edf6c0060048201526001600160a01b03909116602482015291829081906044820190565b03818573d605a87187563c94c577a6e57e4a36ec8433b9ae5af18015610706576116b8575b507fa35dd573ba89f5b4572ac75031f4eb81cffe1e7d86f25d6b82011c8c70d9b42c8180a180f35b6116d99060403d6040116116df575b6116d18183611c18565b810190611c87565b50611690565b503d6116c7565b90506020813d602011611711575b8161170160209383611c18565b810103126106e057516040611629565b3d91506116f4565b8161172391611c18565b61070257813861156a565b6312d37ee560e31b8452600484fd5b9092506020813d602011611769575b8161175960209383611c18565b810103126106e0575191386114f6565b3d915061174c565b503461029b578060031936011261029b576020600354604051908152f35b503461029b57602036600319011261029b5760043563ffffffff8116809103610702576117ba611e8c565b80156107c25763ffffffff19600754161760075580f35b503461029b578060031936011261029b576117ea613b8b565b90801561103a5760408161163961180093613c60565b03818673d605a87187563c94c577a6e57e4a36ec8433b9ae5af1801561069a5761187f575b506002549061184563ffffffff60c01b9163ffffffff8460c01c16611cce565b60c01b169063ffffffff60c01b1916176002557f20af3ebfa4072e782df60fec636554cc396357f543596cce54e8ed62403108698180a180f35b6118979060403d6040116116df576116d18183611c18565b50611825565b503461029b576118ac36611b82565b91333b158015906119fb575b610981576118c4611d4e565b63ffffffff42161061097257600454801561096357338652600a60205260ff604087205416156109545791859391611918936006549081811160001461094c5750956108c363ffffffff6009541688611ede565b6007805467ffffffff0000000019164260201b67ffffffff00000000161790559091907f00000000000000000000000000000000000000000000000000000000000000006119668482613aab565b6119708282613aff565b6001600160a01b031692833b15610297576044908360405195869485936348d24d6f60e01b8552600485015260248401525af1801561069a576119e5575b506119bb90600454611c64565b6004557f8eb6cb374f3c3afaeacaeb762e4b89e530913c32c88c07c6f8cad6833f047e2a8180a180f35b916119f4816119bb9394611c18565b91906119ae565b50323314156118b8565b503461029b57602036600319011261029b5760043563ffffffff811680820361029757611a30611e8c565b156107c25763ffffffff60401b6009549160401b169063ffffffff60401b19161760095580f35b503461029b578060031936011261029b57611a7c63ffffffff60025460a01c16611df5565b6040516370a0823160e01b815230600482015260208160248160008051602061444d8339815191525afa928315610aea578093611af0575b505063ffffffff611acd610aa560209460035490611c64565b911615159081611ae3575b506040519015158152f35b9050600554111538611ad8565b9092506020833d602011611b25575b81611b0c60209383611c18565b8101031261029b575090519063ffffffff611acd611ab4565b3d9150611aff565b9050346107025760203660031901126107025760043563ffffffff60e01b811680910361029757602092506301ffc9a760e01b8114908115611b71575b5015158152f35b6311686e4b60e21b14905038611b6a565b60809060031901126106e05760043590602435906044359060643590565b9181601f840112156106e0578235916001600160401b0383116106e0576020808501948460051b0101116106e057565b600435906001600160a01b03821682036106e057565b61010081019081106001600160401b03821117611c0257604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b03821117611c0257604052565b6001600160401b038111611c025760051b60200190565b35906001600160a01b03821682036106e057565b91908203918211611c7157565b634e487b7160e01b600052601160045260246000fd5b91908260409103126106e05781516bffffffffffffffffffffffff811681036106e05760209092015171ffffffffffffffffffffffffffffffffffff811681036106e05790565b9063ffffffff8091169116019063ffffffff8211611c7157565b916020908281520191906000905b808210611d035750505090565b9091928335906001600160401b0382168092036106e057602081600193829352019401920190611cf6565b8115611d38570490565b634e487b7160e01b600052601260045260246000fd5b63ffffffff611d67600754828082169160201c16611cce565b1690565b805115611d785760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015611d785760400190565b8051821015611d785760209160051b010190565b519063ffffffff821682036106e057565b63ffffffff16612710039063ffffffff8211611c7157565b9063ffffffff8091169116039063ffffffff8211611c7157565b60405163175c979560e31b815263673f671060048201529060208260248173bbf25ca275325ef4682851a12bd8e9aa714da2f45af48015611e8057600090611e45575b611e429250611ddb565b90565b506020823d602011611e78575b81611e5f60209383611c18565b810103126106e057611e73611e4292611db2565b611e38565b3d9150611e52565b6040513d6000823e3d90fd5b6000546001600160a01b03163303611ea057565b63118cdaa760e01b6000523360045260246000fd5b908160041b9180830460101490151715611c7157565b81810292918115918404141715611c7157565b620186a0611ef563ffffffff611e42941683611ecb565b0490611f018233613b52565b611c64565b949392919460a0526064611f1b60a051611eb5565b0492611f3684600254600060c05260018060a01b0316613b52565b60a051602a81810291801590830490911417156132835760c05160095460408051633850c7bd60e01b815292979082901c63ffffffff9081169691946064900493919260601c1690731e90b67149e688dfb95fd73acacd8adefd16d88d9060e081600481855afa8015612d6c5760c051918291613a1b575b5061ffff169081156134b65761ffff60019116019061ffff82116132835760405163252c09d760e01b815261ffff928316919091069091166004820152608081602481855afa908115612d6c5760c0519060c051926139f6575b50901561399a575b6120209063ffffffff4216611ddb565b8763ffffffff821610613992575b5063ffffffff8716156133f3576040516060979061204c8982611c18565b600281526020810190601f198a0136833763ffffffff831661206d82611d6b565b5260c05161207a82611d8e565b5260405193849163883bdbfd60e01b83526024830190602060048501525180915260448301939060c0515b81811061397357505050818060c0519403915afa918215612d6c5760c0519060c0519361385f575b506120e46120da82611d8e565b5160060b91611d6b565b5160060b900391667fffffffffffff198312667fffffffffffff841317613283576001600160a01b0361211682611d8e565b5116906001600160a01b039061212b90611d6b565b51169003906001600160a01b0382116132835763ffffffff811660060b156130325760001963ffffffff821660060b14667fffffffffffff198460060b14166132835763ffffffff811660060b8360060b0560020b9260c0518160060b12908161383f575b50613829575b63ffffffff166001600160a01b038082026001600160c01b03169190910490036132835760201b640100000000600160c01b0316156130325760020b60c0515060c0518112600014613823578060c05103905b620d89e8821161326a576001821615613811576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b1691600281166137f5575b600481166137d9575b600881166137bd575b601081166137a1575b60208116613785575b60408116613769575b6080811661374d575b6101008116613731575b6102008116613715575b61040081166136f9575b61080081166136dd575b61100081166136c1575b61200081166136a5575b6140008116613689575b618000811661366d575b620100008116613651575b620200008116613636575b62040000811661361b575b6208000016613603575b60c051126135f4575b63ffffffff81166135ec5760c051905b6001600160801b038581169260209290921c60ff92909216919091016001600160a01b03169081116135c4579163ffffffff61234761234e936123318661271097611ecb565b8d15612fe857906123419161439c565b92611dc3565b1690611ecb565b0481106135b557866040519161236383611be6565b60008051602061444d83398151915283526020830172f116ac0c304c570daaa68fa6c30a86a04b5c5f815260408401612710815288850130815262ffffff60808701928a845260a088019489865260c0890196875260e089019788526123c88a613e0f565b60405163414bf38960e01b815298516001600160a01b0390811660048b01529051811660248a0152905191909116604488015290518116606487015290516084860152905160a4850152905160c484015290511660e4820152602081610104818a73e592427a0aece92de3edee1f18e0157c058615645af1968715610aea5796613581575b50606461245987611eb5565b0460805272f116ac0c304c570daaa68fa6c30a86a04b5c5f3b15612d9257604051630852cd8d60e31b8152608051600482015260c051909290836024818372f116ac0c304c570daaa68fa6c30a86a04b5c5f5af1908115612d6c576124ca93611f019261356f575b5060a051611c64565b60095460408051633850c7bd60e01b815298929163ffffffff608082901c811692732c83c54c5612bfd62a78124d4a0ea001278a689c92901c1660e08b600481855afa8015612d6c5760c0519b8c916134e0575b5061ffff169a8b156134b65761ffff600191160161ffff81116132835761ffff60009c816040519363252c09d760e01b85521606166004820152608081602481865afa908115612d6c5760c0519060c05192613491575b509015613425575b61258d9063ffffffff4216611ddb565b8163ffffffff82161061341d575b5063ffffffff8116156133f3576040516125b58882611c18565b600281526020810190601f19890136833763ffffffff83166125d682611d6b565b5260c0516125e382611d8e565b5260405193849163883bdbfd60e01b83526024830190602060048501525180915260448301939060c0515b8181106133d457505050818060c0519403915afa918215612d6c5760c0519060c051936132c0575b506126436120da82611d8e565b5160060b900391667fffffffffffff198312667fffffffffffff841317613283576001600160a01b0361267582611d8e565b5116906001600160a01b039061268a90611d6b565b51169003906001600160a01b0382116132835763ffffffff811660060b9260060b831561303257667fffffffffffff1981146000198514166132835783810560020b9360c051821291826132b1575b505061329b575b63ffffffff166001600160a01b038082026001600160c01b03169190910490036132835760201b640100000000600160c01b0316156130325760020b60c0515060c051811260001461327d578060c05103905b620d89e8821161326a576001821615613258576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b16916002811661323c575b60048116613220575b60088116613204575b601081166131e8575b602081166131cc575b604081166131b0575b60808116613194575b6101008116613178575b610200811661315c575b6104008116613140575b6108008116613124575b6110008116613108575b61200081166130ec575b61400081166130d0575b61800081166130b4575b620100008116613098575b62020000811661307d575b620400008116613062575b620800001661304a575b60c05112613023575b6127109161288b9163ffffffff906123479080831661301b5760c051905b6001600160801b038881169260209290921c60ff92909216919091016001600160a01b0316908111612ff6578061287991611ecb565b60c05115612fe857906123419161439c565b048210612fd5576040519161289f83611be6565b60008051602061444d833981519152835260208301732614f29c39de46468a921fd0b41fdd99a01f2edf815260408401612710815286850130815262ffffff608087019288845260a088019487865260c0890196875261290760e08a019860c0518a52613e0f565b60405163414bf38960e01b815298516001600160a01b0390811660048b01529051811660248a0152905191909116604488015290518116606487015290516084860152905160a4850152905160c484015290511660e482015260c051602090829061010490829073e592427a0aece92de3edee1f18e0157c058615645af1908115612d6c5760c05191612f9f575b5060646129a182611eb5565b604051636eb1769f60e11b81523060048201819052602482015291900490602081604481732614f29c39de46468a921fd0b41fdd99a01f2edf5afa8015612d6c5760c0518391612f69575b6129f69250613c53565b60405163095ea7b360e01b6020820190815230602483015260448083019390935291815290612a26606483611c18565b60c0518251909182919082732614f29c39de46468a921fd0b41fdd99a01f2edf5af1612a5061411c565b81612f32575b5080612f14575b15612eda575b50732614f29c39de46468a921fd0b41fdd99a01f2edf3b15612d925760405163067e7faf60e31b81523060048201526024810182905260c080516044830152600860648301527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166084830152518160a48183732614f29c39de46468a921fd0b41fdd99a01f2edf5af18015612d6c57612ec1575b50612b0a91611c64565b8315612eae57604051612b1d8482611c18565b600281526020810193601f1901368537732614f29c39de46468a921fd0b41fdd99a01f2edf612b4b82611d6b565b5273e9a53c43a0b58706e67341c4055de861e29ee943612b6a82611d8e565b52604051636eb1769f60e11b8152306004820152737a250d5630b4cf539739df2c5dacb4c659f2488d6024820152602081604481732614f29c39de46468a921fd0b41fdd99a01f2edf5afa8015612d6c5760c0518491612e74575b612bcf9250613c53565b60405163095ea7b360e01b60208201908152737a250d5630b4cf539739df2c5dacb4c659f2488d602483015260448083019390935291815290612c13606483611c18565b60c0518251909182919082732614f29c39de46468a921fd0b41fdd99a01f2edf5af1612c3d61411c565b81612e3d575b5080612e1f575b15612db7575b50737a250d5630b4cf539739df2c5dacb4c659f2488d3b15612d925760405194635c11d79560e01b865260a48601926004870152602486015260a060448601525180915260c48401929060c0515b818110612d98575050503060648401526084830152818060c05192038160c051737a250d5630b4cf539739df2c5dacb4c659f2488d5af18015612d6c57612d79575b506040516370a0823160e01b815230600482015260208160248173e9a53c43a0b58706e67341c4055de861e29ee9435afa938415612d6c5760c05194612d33575b5050608051612d2f91611c64565b9190565b909193506020823d602011612d64575b81612d5060209383611c18565b8101031261029b57505191612d2f38612d21565b3d9150612d43565b6040513d60c051823e3d90fd5b60c051612d8591611c18565b60c051612d925738612ce0565b60c05180fd5b82516001600160a01b0316855260209485019490920191600101612c9e565b612e1990612dff60405163095ea7b360e01b6020820152737a250d5630b4cf539739df2c5dacb4c659f2488d602482015260c051604482015260448152612dff606482611c18565b732614f29c39de46468a921fd0b41fdd99a01f2edf61407a565b38612c50565b50732614f29c39de46468a921fd0b41fdd99a01f2edf3b1515612c4a565b8051801592508215612e52575b505038612c43565b8192509060209181010312612d92576020612e6d910161406d565b3880612e4a565b50506020813d602011612ea6575b81612e8f60209383611c18565b81010312612ea25782612bcf9151612bc5565b8880fd5b3d9150612e82565b63af458c0760e01b60c05152600460c051fd5b60c051612ecd91611c18565b60c051612d925738612b00565b612f0e90612dff60405163095ea7b360e01b602082015230602482015260c051604482015260448152612dff606482611c18565b38612a63565b50732614f29c39de46468a921fd0b41fdd99a01f2edf3b1515612a5d565b8051801592508215612f47575b505038612a56565b8192509060209181010312612d92576020612f62910161406d565b3880612f3f565b50506020813d602011612f97575b81612f8460209383611c18565b81010312612ea257816129f691516129ec565b3d9150612f77565b90506020813d602011612fcd575b81612fba60209383611c18565b81010312612fc9575138612995565b8680fd5b3d9150612fad565b63431653f160e11b60c05152600460c051fd5b612ff191614317565b612341565b80613000916141c7565b60c051156130125790612341916142c8565b612ff191614226565b600190612843565b80156130325760001904612825565b634e487b7160e01b60c051526012600452602460c051fd5b906b048a170391f7dc42444e8fa20260801c9061281c565b6d2216e584f5fa1ea926041bedfe9890920260801c91612812565b916e5d6af8dedb81196699c329225ee6040260801c91612807565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c916127fc565b916f31be135f97d08fd981231505542fcfa60260801c916127f1565b916f70d869a156d2a1b890bb3df62baf32f70260801c916127e7565b916fa9f746462d870fdf8a65dc1f90e061e50260801c916127dd565b916fd097f3bdfd2022b8845ad8f792aa58250260801c916127d3565b916fe7159475a2c29b7443b29c7fa6e889d90260801c916127c9565b916ff3392b0822b70005940c7a398e4b70f30260801c916127bf565b916ff987a7253ac413176f2b074cf7815e540260801c916127b5565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c916127ab565b916ffe5dee046a99a2a811c461f1969c30530260801c916127a1565b916fff2ea16466c96a3843ec78b326b528610260801c91612798565b916fff973b41fa98c081472e6896dfb254c00260801c9161278f565b916fffcb9843d60f6159c9db58835c9266440260801c91612786565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c9161277d565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c91612774565b916ffff97272373d413259a46990580e213a0260801c9161276b565b6001600160881b03600160801b612760565b6315e4079d60e11b60c05152600460c051fd5b80612733565b634e487b7160e01b60c051526011600452602460c051fd5b91627fffff1981146132835760001901916126e0565b0760060b1515905038806126d9565b9250503d8060c051843e6132d48184611c18565b820191604081840312612d925780516001600160401b038111612d925781019083601f83011215612d925781519161330b83611c39565b926133196040519485611c18565b80845260208085019160051b83010191868311612d9257602001905b8282106133bc575050506020810151906001600160401b038211612d9257019280601f85011215612d9257835161336b81611c39565b946133796040519687611c18565b81865260208087019260051b820101928311612d9257602001905b8282106133a45750505038612636565b602080916133b18461415b565b815201910190613394565b602080916133c98461417e565b815201910190613335565b825163ffffffff1686526020958601958895509092019160010161260e565b60405162461bcd60e51b8152602060048201526002602482015261042560f41b6044820152606490fd5b90503861259b565b5060405163252c09d760e01b815260c0516004820152608081602481865afa8015612d6c5761258d9160c0519161345f575b50905061257d565b613481915060803d60801161348a575b6134798183611c18565b81019061418c565b50505038613457565b503d61346f565b90506134ac915060803d60801161348a576134798183611c18565b9291505038612575565b60405162461bcd60e51b81526020600482015260026024820152614e4960f01b6044820152606490fd5b9b505060e08b3d60e011613567575b816134fc60e09383611c18565b81010312612d925761350d8b61415b565b5060208b01518060020b03612d925761352860408c0161416f565b9a61353488820161416f565b9b6135416080830161416f565b5060a082015160ff811603612d925761355f60c061ffff930161406d565b509b9061251e565b3d91506134ef565b60c05161357b91611c18565b386124c1565b9095506020813d6020116135ad575b8161359d60209383611c18565b81010312612d925751943861244d565b3d9150613590565b63431653f160e11b8752600487fd5b61234e9199509163ffffffff6123476123416135e386612710976141c7565b60c0519d614226565b6001906122eb565b801561303257600019046122db565b906b048a170391f7dc42444e8fa20260801c906122d2565b6d2216e584f5fa1ea926041bedfe9890920260801c916122c8565b916e5d6af8dedb81196699c329225ee6040260801c916122bd565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c916122b2565b916f31be135f97d08fd981231505542fcfa60260801c916122a7565b916f70d869a156d2a1b890bb3df62baf32f70260801c9161229d565b916fa9f746462d870fdf8a65dc1f90e061e50260801c91612293565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91612289565b916fe7159475a2c29b7443b29c7fa6e889d90260801c9161227f565b916ff3392b0822b70005940c7a398e4b70f30260801c91612275565b916ff987a7253ac413176f2b074cf7815e540260801c9161226b565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c91612261565b916ffe5dee046a99a2a811c461f1969c30530260801c91612257565b916fff2ea16466c96a3843ec78b326b528610260801c9161224e565b916fff973b41fa98c081472e6896dfb254c00260801c91612245565b916fffcb9843d60f6159c9db58835c9266440260801c9161223c565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c91612233565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c9161222a565b916ffff97272373d413259a46990580e213a0260801c91612221565b6001600160881b03600160801b612216565b806121e9565b91627fffff198114613283576000190191612196565b905060c0515063ffffffff821660060b9060060b0760060b151538612190565b9250503d8060c051843e6138738184611c18565b820191604081840312612d925780516001600160401b038111612d925781019083601f83011215612d92578151916138aa83611c39565b926138b86040519485611c18565b80845260208085019160051b83010191868311612d9257602001905b82821061395b575050506020810151906001600160401b038211612d9257019280601f85011215612d9257835161390a81611c39565b946139186040519687611c18565b81865260208087019260051b820101928311612d9257602001905b82821061394357505050386120cd565b602080916139508461415b565b815201910190613933565b602080916139688461417e565b8152019101906138d4565b825163ffffffff168652602095860195889550909201916001016120a5565b96503861202e565b5060405163252c09d760e01b815260c0516004820152608081602481855afa8015612d6c576120209160c051916139d4575b509050612010565b6139ed915060803d60801161348a576134798183611c18565b505050386139cc565b9050613a11915060803d60801161348a576134798183611c18565b9291505038612008565b91505060e0813d60e011613aa3575b81613a3760e09383611c18565b81010312612d9257613a488161415b565b5060208101518060020b03612d9257613a636040820161416f565b90613a706060820161416f565b91613a7d6080830161416f565b5060a082015160ff811603612d9257613a9b60c061ffff930161406d565b509190611fae565b3d9150613a2a565b60405163a9059cbb60e01b60208201526001600160a01b0390911660248201526044810191909152613afd90613ae481606481016115c3565b72f116ac0c304c570daaa68fa6c30a86a04b5c5f61407a565b565b60405163a9059cbb60e01b60208201526001600160a01b0390911660248201526044810191909152613afd90613b3881606481016115c3565b73e9a53c43a0b58706e67341c4055de861e29ee94361407a565b60405163a9059cbb60e01b60208201526001600160a01b0390911660248201526044810191909152613afd90610f9a81606481016115c3565b63673f67104210613c4257613baa63ffffffff60025460c01c16611df5565b9063ffffffff821615613c3a576040516370a0823160e01b815230600482015260208160248173bfde5ac4f5adb419a931a5bf64b0f3bb5a623d065afa908115611e8057600091613c08575b50600854811015612d2f575060009190565b906020823d602011613c32575b81613c2260209383611c18565b8101031261029b57505138613bf6565b3d9150613c15565b600091508190565b636396a26f60e01b60005260046000fd5b91908201809211611c7157565b604051636eb1769f60e11b815230600482015273d605a87187563c94c577a6e57e4a36ec8433b9ae60248201529060208260448173bfde5ac4f5adb419a931a5bf64b0f3bb5a623d065afa8015611e8057600090613ddb575b613cc39250613c53565b60008060405192602084019063095ea7b360e01b825273d605a87187563c94c577a6e57e4a36ec8433b9ae6024860152604485015260448452613d07606485611c18565b8351908273bfde5ac4f5adb419a931a5bf64b0f3bb5a623d065af1613d2a61411c565b81613da4575b5080613d86575b15613d3f5750565b613afd906115d160405163095ea7b360e01b602082015273d605a87187563c94c577a6e57e4a36ec8433b9ae602482015260006044820152604481526115d1606482611c18565b5073bfde5ac4f5adb419a931a5bf64b0f3bb5a623d063b1515613d37565b8051801592508215613db9575b505038613d30565b81925090602091810103126106e0576020613dd4910161406d565b3880613db1565b506020823d602011613e07575b81613df560209383611c18565b810103126106e057613cc39151613cb9565b3d9150613de8565b604051636eb1769f60e11b815230600482015273e592427a0aece92de3edee1f18e0157c0586156460248201529060208260448160008051602061444d8339815191525afa8015611e8057600090613f78575b613e6c9250613c53565b60008060405192602084019063095ea7b360e01b825273e592427a0aece92de3edee1f18e0157c058615646024860152604485015260448452613eb0606485611c18565b8351908260008051602061444d8339815191525af1613ecd61411c565b81613f41575b5080613f29575b15613ee25750565b613afd90610f9a60405163095ea7b360e01b602082015273e592427a0aece92de3edee1f18e0157c0586156460248201526000604482015260448152610f9a606482611c18565b5060008051602061444d8339815191523b1515613eda565b8051801592508215613f56575b505038613ed3565b81925090602091810103126106e0576020613f71910161406d565b3880613f4e565b506020823d602011613fa4575b81613f9260209383611c18565b810103126106e057613e6c9151613e62565b3d9150613f85565b63673f67104210613c4257613fcb63ffffffff60025460a01c16611df5565b9063ffffffff821615613c3a576040516370a0823160e01b815230600482015260208160248160008051602061444d8339815191525afa908115611e8057600091614039575b50610aa56140229160035490611c64565b600554809110614030579190565b50600091508190565b90506020813d602011614065575b8161405460209383611c18565b810103126106e05751610aa5614011565b3d9150614047565b519081151582036106e057565b6000806140a39260018060a01b03169360208151910182865af161409c61411c565b90836143eb565b80519081151591826140cd575b50506140b95750565b635274afe760e01b60005260045260246000fd5b81925090602091810103126106e05760206140e8910161406d565b1538806140b0565b6372f165904263ffffffff161015611e4257604681029080820460461490151715611c71576064900490565b3d15614156573d906001600160401b038211611c02576040519161414a601f8201601f191660200184611c18565b82523d6000602084013e565b606090565b51906001600160a01b03821682036106e057565b519061ffff821682036106e057565b51908160060b82036106e057565b91908260809103126106e0576141a182611db2565b916141ae6020820161417e565b91611e4260606141c06040850161415b565b930161406d565b818102916000916000198282099284808510940393808503941461421b5783600160401b111561420c575090600160401b910990828211900360c01b910360401c1790565b63227bc15360e01b8152600490fd5b925050505060401c90565b90608082901b9060001983600160801b09928280851094039380850394146142bc57838211156142ab578190600160801b09816000038216809204600281600302188082026002030280820260020302808202600203028082026002030280820260020302809102600203029360018380600003040190848311900302920304170290565b63227bc15360e01b60005260046000fd5b5090611e429250611d2e565b600090828102926000198183099284808510940393808503941461430c57600160801b84101561420c5750600160801b910990828211900360801b910360801c1790565b925050505060801c90565b9060c082901b9060001983600160c01b09928280851094039380850394146142bc57838211156142ab578190600160c01b09816000038216809204600281600302188082026002030280820260020302808202600203028082026002030280820260020302809102600203029360018380600003040190848311900302920304170290565b60009082810292600019818309928480851094039380850394146143e057600160c01b84101561420c5750600160c01b910990828211900360401b910360c01c1790565b925050505060c01c90565b90614411575080511561440057805190602001fd5b630a12f52160e11b60005260046000fd5b81511580614443575b614422575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b1561441a56fe000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b1a26469706673582212201e61217d017939db987212284ca5f9e24b50b6efa0a5f7f111d306feb1afef3464736f6c634300081a00330000000000000000000000003408db118057909a62c805c3d38500f9e0ea601a0000000000000000000000002d28cfb0a0928ca0d29fae64275569f503fc0acc00000000000000000000000088bb363b333a6291cf7cf5931efe7a1e2d9783250000000000000000000000004e3dbd6333e649af13c823daacdd14f8507ecbc50000000000000000000000000000000000000000409f9cbc7c4a04c22000000000000000000000000000000000000000000000000d92289838d21a9968000000000000000000000000000000000000000000000c9f2c9cd04674edea40000000