0 txs
4k calls
constructor
constructor(address _undyHq, address _ripeToken, address _ripeRegistry, uint256 _ripeLockDuration)
functions
canMintUndy
viewfunction canMintUndy() view returns (bool)
claimableAssets
viewfunction claimableAssets(address arg0, uint256 arg1) view returns (address)
claimableLoot
viewfunction claimableLoot(address arg0, address arg1) view returns (uint256)
depositRewards
viewfunction depositRewards() view returns (tuple)
getAddys
viewfunction getAddys() view returns (tuple)
getClaimableDepositRewards
viewfunction getClaimableDepositRewards(address _user) view returns (uint256)
getClaimableLootForAsset
viewfunction getClaimableLootForAsset(address _user, address _asset) view returns (uint256)
getLatestDepositPoints
viewfunction getLatestDepositPoints(uint256 _usdValue, uint256 _lastUpdate) view returns (uint256)
getLootDistroConfig
viewfunction getLootDistroConfig(address _wallet, address _asset, bool _shouldGetLegoInfo) view returns (tuple)
getLootDistroConfig
viewfunction getLootDistroConfig(address _wallet, address _asset) view returns (tuple)
getRewardsFee
viewfunction getRewardsFee(address _user, address _asset, address _missionControl) view returns (uint256)
getRewardsFee
viewfunction getRewardsFee(address _user, address _asset) view returns (uint256)
getSwapFee
viewfunction getSwapFee(address _user, address _tokenIn, address _tokenOut, address _missionControl) view returns (uint256)
getSwapFee
viewfunction getSwapFee(address _user, address _tokenIn, address _tokenOut) view returns (uint256)
getTotalClaimableAssets
viewfunction getTotalClaimableAssets(address _user) view returns (uint256)
getUndyHq
viewfunction getUndyHq() view returns (address)
indexOfClaimableAsset
viewfunction indexOfClaimableAsset(address arg0, address arg1) view returns (uint256)
isPaused
viewfunction isPaused() view returns (bool)
isValidWalletConfig
viewfunction isValidWalletConfig(address _wallet, address _caller) view returns (bool)
lastClaim
viewfunction lastClaim(address arg0) view returns (uint256)
numClaimableAssets
viewfunction numClaimableAssets(address arg0) view returns (uint256)
RIPE_REGISTRY
viewfunction RIPE_REGISTRY() view returns (address)
RIPE_TOKEN
viewfunction RIPE_TOKEN() view returns (address)
ripeLockDuration
viewfunction ripeLockDuration() view returns (uint256)
totalClaimableLoot
viewfunction totalClaimableLoot(address arg0) view returns (uint256)
validateCanClaimLoot
viewfunction validateCanClaimLoot(address _user, address _caller) view returns (bool)
addDepositRewards
nonpayablefunction addDepositRewards(address _asset, uint256 _amount)
addLootFromSwapOrRewards
nonpayablefunction addLootFromSwapOrRewards(address _asset, uint256 _feeAmount, uint256 _action, address _missionControl)
addLootFromSwapOrRewards
nonpayablefunction addLootFromSwapOrRewards(address _asset, uint256 _feeAmount, uint256 _action)
addLootFromYieldProfit
nonpayablefunction addLootFromYieldProfit(address _asset, uint256 _feeAmount, uint256 _yieldRealized, address _missionControl, address _appraiser, address _legoBook)
addLootFromYieldProfit
nonpayablefunction addLootFromYieldProfit(address _asset, uint256 _feeAmount, uint256 _yieldRealized, address _missionControl, address _appraiser)
addLootFromYieldProfit
nonpayablefunction addLootFromYieldProfit(address _asset, uint256 _feeAmount, uint256 _yieldRealized, address _missionControl)
addLootFromYieldProfit
nonpayablefunction addLootFromYieldProfit(address _asset, uint256 _feeAmount, uint256 _yieldRealized)
adjustLoot
nonpayablefunction adjustLoot(address _user, address _asset, uint256 _newClaimable) returns (bool)
claimAllLoot
nonpayablefunction claimAllLoot(address _user) returns (bool)
claimDepositRewards
nonpayablefunction claimDepositRewards(address _user) returns (uint256)
claimRevShareAndBonusLoot
nonpayablefunction claimRevShareAndBonusLoot(address _user) returns (uint256)
pause
nonpayablefunction pause(bool _shouldPause)
recoverDepositRewards
nonpayablefunction recoverDepositRewards(address _recipient)
recoverFunds
nonpayablefunction recoverFunds(address _recipient, address _asset)
recoverFundsMany
nonpayablefunction recoverFundsMany(address _recipient, address[] _assets)
setRipeLockDuration
nonpayablefunction setRipeLockDuration(uint256 _ripeLockDuration)
updateDepositPoints
nonpayablefunction updateDepositPoints(address _user)
updateDepositPointsOnEjection
nonpayablefunction updateDepositPointsOnEjection(address _user)
updateDepositPointsWithNewValue
nonpayablefunction updateDepositPointsWithNewValue(address _user, uint256 _newUsdValue)
events
AmbassadorTxFeePaid
event AmbassadorTxFeePaid(address indexed asset, uint256 totalFee, uint256 ambassadorFeeRatio, uint256 ambassadorFee, address indexed ambassador, uint256 action)
DepartmentFundsRecovered
event DepartmentFundsRecovered(address indexed asset, address indexed recipient, uint256 balance)
DepartmentPauseModified
event DepartmentPauseModified(bool isPaused)
DepositRewardsAdded
event DepositRewardsAdded(address indexed asset, uint256 addedAmount, uint256 newTotalAmount, address indexed adder)
DepositRewardsClaimed
event DepositRewardsClaimed(address indexed user, address indexed asset, uint256 userRewards, uint256 remainingRewards)
DepositRewardsRecovered
event DepositRewardsRecovered(address indexed asset, address indexed recipient, uint256 amount)
LootAdjusted
event LootAdjusted(address indexed user, address indexed asset, uint256 newClaimable)
LootClaimed
event LootClaimed(address indexed user, address indexed asset, uint256 amount)
RipeLockDurationSet
event RipeLockDurationSet(uint256 lockDuration)
TransactionFeePaid
event TransactionFeePaid(address indexed user, address indexed asset, uint256 feeAmount, uint256 action)
YieldBonusPaid
event YieldBonusPaid(address indexed bonusAsset, uint256 bonusAmount, uint256 bonusRatio, uint256 yieldRealized, address indexed recipient, bool isAmbassador)
YieldPerformanceFeePaid
event YieldPerformanceFeePaid(address indexed user, address indexed asset, uint256 feeAmount, uint256 yieldRealized)
errors
No errors.
creation bytecode
0x6143cf5150346100ac5760206144575f395f518060a01c6100ac5760805260206144775f395f518060a01c6100ac5760a05260206144975f395f518060a01c6100ac5760c05260805160405261005361008d565b60403660403761006161009e565b60a0516143af5260c0516143cf5260206144b75f395f5160095561436f6100b0610000396143ef610000f35b604051156100ac5760405161436f52565b6040515f5560605161438f52565b5f80fd5f3560e01c6002602a820660011b61431b01601e395f51565b63a5c7434a811861003b573461431757610160610036610420611d61565b610420f35b635e12d6f88118611d5d57606436103417614317576044358060a01c6143175760e0525b6004358060a01c6143175760a0526024358060a01c6143175760c05260e0516101005260e05161009d57610094610120612340565b61012051610100525b602061010051633c0390b66101205260c051610140526020610120602461013c845afa6100cc573d5f5f3e3d5ffd5b60203d10614317576101209050f35b6392975f0a81186100fb57346143175760206100f76040612115565b6040f35b6369a23e9a8118611d5d57606436103417614317576044358060011c61431757610640525b6004358060a01c61431757610600526024358060a01c61431757610620526101496106806122e4565b6106805161066052610660516328ce48a06106a052610600516106c05260206106a060246106bc845afa61017f573d5f5f3e3d5ffd5b3d602081183d6020100218806106a0016106c011614317576106a0518060a01c614317576106e052506106e0905051610680526101606106005161084052610680516108605261062051610880526101d86106a0612340565b6106a0516108a0526101eb6106c061239c565b6106c0516108c052610660516108e052610640516109005260e061084060a05e6102166106e06123f8565b6106e0f35b637122252e8118610239573461431757602061438f60403960206040f35b63f87fa44e8118611d5d57604436103417614317576004358060a01c614317576106e0525f54614317576101603661042037610276610860612f60565b610860610160816107005e50610760516304089e65610880526020610880600461089c845afa6102a8573d5f5f3e3d5ffd5b3d602081183d602010021880610880016108a01161431757610880518060a01c614317576108c052506108c0905051610860526106e051610860511861431757600754610880526008546108a052610880511561030a576108a051151561030c565b5f5b1561031f57610860516108805118614317575b602435610860516370a082316108e052336109005260206108e060246108fc845afa61034d573d5f5f3e3d5ffd5b60203d10614317576108e0905051808281188284100218905090506108c0526108c0511561431757610860516323b872dd6108e052336109005230610920526108c0516109405260206108e060646108fc5f855af16103ae573d5f5f3e3d5ffd5b3d6103c557803b15614317576001610960526103ef565b3d602081183d6020100218806108e00161090011614317576108e0518060011c6143175761096052505b610960905051156143175761086051610880526108a0516108c05180820182811061431757905090506108a052610880516007556108a05160085533610860517fdbafd179b95d388cd6c5288e9ef49fb490d1490134f52c2e97708623d02488c16108c0516108e0526108a0516109005260406108e0a3005b6302329a298118611d5d57602436103417614317576004358060011c6143175760e0523360405261049a61010061211f565b6101005115614317575f5460e051146143175760e0515f557fdd3e5b8936c85b0f24d27616bb5cd2bc155c70d2d372e734a6e1a5be777acd9b60e051610100526020610100a1005b6324ae6a278118611d5d57604436103417614317576004358060a01c61431757610120526024358060a01c61431757610140523360405261052461016061211f565b610160511561431757604061012060405e61053d6121e1565b005b637053a18f811861061457604436103417614317576004358060a01c614317576101205260243560040160148135116143175780355f81601481116143175780156105ac57905b8060051b6020850101358060a01c614317578160051b6101600152600101818118610586575b505080610140525050336040526105c46103e061211f565b6103e05115614317575f610140516014811161431757801561061057905b8060051b61016001516103e052610120516040526103e0516060526106056121e1565b6001018181186105e2575b5050005b637a5d47278118611d5d57604436103417614317576004358060a01c614317576040526024358060a01c6143175760605260036040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b63b187bd2681186106875734614317575f5460405260206040f35b63b8827d5e81186106a557346143175760206143af60403960206040f35b6358b5c7568118611d5d57346143175760206143cf60403960206040f35b63bf14c4ed8118611d5d57606436103417614317575f61064052610707565b63b669a382811861098957608436103417614317576064358060a01c61431757610640525b6004358060a01c61431757610600526044358060131c61431757610620525f54610987576107366106806122e4565b6106805161066052610660516342af624e61068052336106a0526020610680602461069c845afa610769573d5f5f3e3d5ffd5b3d602081183d602010021880610680016106a01161431757610680518060011c614317576106c052506106c09050511561431757602435610600516370a082316106a052336106c05260206106a060246106bc845afa6107cb573d5f5f3e3d5ffd5b60203d10614317576106a09050518082811882841002189050905061068052610680511561098757610600516323b872dd6106a052336106c052306106e052610680516107005260206106a060646106bc5f855af161082c573d5f5f3e3d5ffd5b3d61084357803b156143175760016107205261086d565b3d602081183d6020100218806106a0016106c011614317576106a0518060011c6143175761072052505b610720905051156143175761060051337fa089347a8c52fba08bf894c1914d78780d87ae1a0853f71df132dda78e85624d6024356106a052610620516106c05260406106a0a3610660516328ce48a06106c052336106e05260206106c060246106dc845afa6108de573d5f5f3e3d5ffd5b3d602081183d6020100218806106c0016106e011614317576106c0518060a01c6143175761070052506107009050516106a0526106a05115610987573360a0526106a05160c0526106005160e05261064051610100525f6101205261066051610140525f610160526109516108206123f8565b610820610160816106c05e506106005161010052610680516101205261062051610140526101606106c06101605e6109876127df565b005b63dc8a540681186109e157604436103417614317576004358060a01c614317576040526024358060a01c6143175760605260056040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b631c1f74ba8118611d5d57602436103417614317576004358060a01c6143175760405260066040516020525f5260405f205460605260206060f35b63b4ac565c8118611d5d576064361034176143175760603661072037610c91565b63feed69d68118610a6d57608436103417614317576064358060a01c614317576107205260403661074037610c91565b63e26d90a08118611d5d57602436103417614317576004358060a01c614317576132e0525f54614317576101603661042037610aaa613460612f60565b613460610160816133005e50306133e05118614317576132e05160e052336101005260406133406101205e610ae0613460613052565b61346051156143175760206143cf5f395f5163d81f84b76134805260116134a0526020613480602461349c845afa610b1a573d5f5f3e3d5ffd5b3d602081183d602010021880613480016134a01161431757613480518060a01c614317576134c052506134c090505161346052600954613480526132e05161038052613460516103a052613480516103c052613340516103e052610b7f6134c0613edf565b6134c0516134a0526134a05115614317574360016132e0516020525f5260405f205560206134a0f35b639bde23128118610be55760a436103417614317576064358060a01c61431757610720526084358060a01c61431757610740525f61076052610c91565b636834b4828118611d5d57604436103417614317576004358060a01c61431757610120526024358060a01c6143175761014052602060406101206101a05e610c2e6101606122e4565b610160516101e05260606101a060405e610c49610180613e22565b610180f35b634bb865c48118611d5d5760c436103417614317576064358060a01c61431757610720526084358060a01c614317576107405260a4358060a01c61431757610760525b6004358060a01c61431757610700525f54610ed257610cb16107a06122e4565b6107a05161078052610780516342af624e6107a052336107c05260206107a060246107bc845afa610ce4573d5f5f3e3d5ffd5b3d602081183d6020100218806107a0016107c011614317576107a0518060011c614317576107e052506107e0905051156143175761070051337fe337ee0cac254f7323844c19835dab8e3f92e5fc26c6abdff81721caf1d85ce2604060246107a03760406107a0a3610780516328ce48a06107c052336107e05260206107c060246107dc845afa610d77573d5f5f3e3d5ffd5b3d602081183d6020100218806107c0016107e011614317576107c0518060a01c6143175761080052506108009050516107a0523360a0526107a05160c0526107005160e052610720516101005261076051610120526107805161014052600161016052610de56109206123f8565b610920610160816107c05e5060243515610e04576107a0511515610e06565b5f5b15610e31576107005161010052602435610120525f610140526101606107c06101605e610e316127df565b6109005115610e9c5761090051633940640b6109205261070051610940526020610920602461093c845afa610e68573d5f5f3e3d5ffd5b3d602081183d602010021880610920016109401161431757610920518060011c614317576109605250610960905051610e9e565b5f5b15610ed257336103605261070051610380526044356103a0526101606107c06103c05e60806107206105205e610ed2612cd4565b005b63cc647f7c8118610ffd57602436103417614317576004358060a01c614317576132e0526101603661042037610f0b613460612f60565b613460610160816133005e505f54614317576132e05160e052336101005260406133406101205e610f3d613460613052565b61346051156143175760206143cf5f395f5163d81f84b76134805260116134a0526020613480602461349c845afa610f77573d5f5f3e3d5ffd5b3d602081183d602010021880613480016134a01161431757613480518060a01c614317576134c052506134c090505161346052600954613480526132e0516101a052613460516101c052613480516101e052610fd46134c0613a9d565b6134c0516134a0526134a05115614317574360016132e0516020525f5260405f205560206134a0f35b63afaff928811861109b57604436103417614317576004358060a01c614317576040526024358060a01c6143175760605260036040516020525f5260405f20806060516020525f5260405f209050546080526080516060516370a0823160a0523060c052602060a0602460bc845afa611078573d5f5f3e3d5ffd5b60203d106143175760a09050518082811882841002189050905060e052602060e0f35b6393742a768118611d5d57604436103417614317576004358060a01c614317576132e0526024358060a01c614317576133005261016036610420376110e1613480612f60565b613480610160816133205e50602060406132e060e05e60406133606101205e61110b613480613052565b613480f35b632260a9448118611d5d57602436103417614317576004358060a01c6143175760405260066040516020525f5260405f2054606052606051611159575f60805260206080611262565b5f608052600160605180600111614317576001810390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811161431757801561125b578101905b8060a05260046040516020525f5260405f208060a0516020525f5260405f2090505460c05260c051156112505760036040516020525f5260405f208060c0516020525f5260405f2090505460c0516370a082316101005230610120526020610100602461011c845afa611216573d5f5f3e3d5ffd5b60203d10614317576101009050518082811882841002189050905060e05260e0511561125057608051600181018181106143175790506080525b6001018181186111a1575b5050602060805bf35b632234cfd9811861141057606436103417614317576004358060a01c61431757610100526024358060a01c6143175761012052336040526112a661014061211f565b6101405115614317575f5461431757610100516112c45760016112ca565b61012051155b156112de575f61016052602061016061140e565b6003610100516020525f5260405f2080610120516020525f5260405f20905054610140526101405161131157600161131b565b6101405160443510155b1561132f575f61016052602061016061140e565b6044356003610100516020525f5260405f2080610120516020525f5260405f209050556002610120516020525f5260405f205461016052610160516101405180820382811161431757905090506101605261016051604435808201828110614317579050905061016052610160516002610120516020525f5260405f20556044356113cc57604061010060405e6113c761018061398f565b610180505b61012051610100517ff7d96808b93cdccef8f9aad2a50a25f9810c182388ace4bb7c53dcb8aa046419604435610180526020610180a360016101805260206101805bf35b63abff8b958118611d5d57602436103417614317576004358060a01c6143175761038052336040526114436103a061211f565b6103a05115614317575f5461148857610380516103c0525f6103e0526001610400526114706103a06122e4565b6103a0516104205260806103c060a05e611488613cba565b005b63f5460680811861150a57602436103417614317576004358060a01c614317576106e05261016036610420376114c1610860612f60565b610860610160816107005e50336040526114dc61086061211f565b6108605115614317575f54614317576106e05160a05260403660c0376107405161010052611508613cba565b005b639deacc4c811861152857604436103417614317575f60e05261005f565b639df2d03a8118611d5d57602436103417614317575f54614317573360405261155160e061211f565b60e05115614317576004356009557f12db5b6085bce0ae7254c28090c72d29eb8a173f429b93aed21b142fb2e71c7460043560e052602060e0a1005b631ad98057811861167357604436103417614317576004358060a01c61431757610380526115bc6103c06122e4565b6103c0516103a0526103a0516342af624e6103c052336103e05260206103c060246103dc845afa6115ef573d5f5f3e3d5ffd5b3d602081183d6020100218806103c0016103e011614317576103c0518060011c6143175761040052506104009050516116495761038051604052336060526103a05160805261163f610420613e22565b6104205115614317575b5f54611671576103805160a05260243560c052600160e0526103a05161010052611671613cba565b005b635edd9daf8118611d5d57346143175760095460405260206040f35b63b20245b48118611d5d57604436103417614317576020604060046040376116b760a0613c47565b60a0f35b63027770af8118611d5d57602436103417614317576004358060a01c6143175760a05260c03660c0376116ef6101806122e4565b61018051632728f6726101a05260a0516101c05260c06101a060246101bc845afa61171c573d5f5f3e3d5ffd5b60c03d10614317576101a0905060c0816102805e50606061028060c05e60606102e06101205e60e05160c0516040526101005160605261175d610180613c47565b61018051808201828110614317579050905060e05261014051610120516040526101605160605261178f610180613c47565b6101805180820182811061431757905090506101405260e0516117b35760016117b9565b61014051155b156117cd575f610180526020610180611888565b600754610180526008546101a052610180516117ea5760016117f0565b6101a051155b15611804575f6101c05260206101c0611888565b6101a051610180516370a082316101e052306102005260206101e060246101fc845afa611833573d5f5f3e3d5ffd5b60203d10614317576101e0905051808281188284100218905090506101c0526101c05160e051808202811583838304141715614317579050905061014051801561431757808204905090506101e05260206101e05bf35b624f31718118611d5d57602436103417614317576004358060a01c6143175760e0525f5461431757336040526118c161010061211f565b610100511561431757600754610100526008546101205261010051156143175761012051610100516370a082316101605230610180526020610160602461017c845afa611910573d5f5f3e3d5ffd5b60203d1061431757610160905051808281188284100218905090506101405261014051156119bb576101005163a9059cbb6101605260e05161018052610140516101a0526020610160604461017c5f855af161196e573d5f5f3e3d5ffd5b3d61198557803b156143175760016101c0526119af565b3d602081183d602010021880610160016101801161431757610160518060011c614317576101c052505b6101c090505115614317575b5f6007555f60085560e051610100517fa496e24cb91effebdc817a145775cdcc921336dfc049be498ad8f0fa68b38aec61014051610160526020610160a3005b6371204cff8118611a1a57606436103417614317575f61010052611a5e565b63756a29d78118611d5d57604436103417614317575f61064052610120565b6348c2c9a98118611d5d57608436103417614317576064358060a01c61431757610100525b6004358060a01c6143175760a0526024358060a01c6143175760c0526044358060a01c6143175760e052610100516101205261010051611aac57611aa3610140612340565b61014051610120525b602061012051632de192dc61014052604060c06101605e6020610140604461015c845afa611adc573d5f5f3e3d5ffd5b60203d10614317576101409050f35b6355ad95c58118611d5d57602436103417614317576004358060a01c614317576132e0525f54614317576101603661042037611b28613460612f60565b613460610160816133005e506132e05160e052336101005260406133406101205e611b54613460613052565b61346051156143175760206143cf5f395f5163d81f84b76134805260116134a0526020613480602461349c845afa611b8e573d5f5f3e3d5ffd5b3d602081183d602010021880613480016134a01161431757613480518060a01c614317576134c052506134c090505161346052600954613480526132e0516101a052613460516101c052613480516101e052611beb6134c0613a9d565b6134c0516134a052306133e05118611c4f576132e05161038052613460516103a052613480516103c052613340516103e052611c286134e0613edf565b6134e0516134c0526134c05115611c4f576134a051600181018181106143175790506134a0525b6134a05115611c6a574360016132e0516020525f5260405f20555b6134a05115156134c05260206134c0f35b635c16e15e8118611d5d57602436103417614317576004358060a01c6143175760405260016040516020525f5260405f205460605260206060f35b63c8387a6f8118611d5d57602436103417614317576004358060a01c6143175760405260026040516020525f5260405f205460605260206060f35b63ad2cbec48118611d5d57604436103417614317576004358060a01c6143175760405260046040516020525f5260405f20806024356020525f5260405f2090505460605260206060f35b63152111f78118611d5d57346143175760075460405260085460605260406040f35b5f5ffd5b602061436f604039604051815260405163e40fe496606052602060606004607c845afa611d90573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011614317576060518060a01c6143175760a0525060a0905051602082015260405163d81f84b760c052600160e052602060c0602460dc845afa611de6573d5f5f3e3d5ffd5b3d602081183d60201002188060c00160e0116143175760c0518060a01c614317576101005250610100905051604082015260405163d81f84b7610120526002610140526020610120602461013c845afa611e42573d5f5f3e3d5ffd5b3d602081183d602010021880610120016101401161431757610120518060a01c614317576101605250610160905051606082015260405163d81f84b76101805260036101a0526020610180602461019c845afa611ea1573d5f5f3e3d5ffd5b3d602081183d602010021880610180016101a01161431757610180518060a01c614317576101c052506101c0905051608082015260405163d81f84b76101e05260046102005260206101e060246101fc845afa611f00573d5f5f3e3d5ffd5b3d602081183d6020100218806101e00161020011614317576101e0518060a01c61431757610220525061022090505160a082015260405163d81f84b7610240526005610260526020610240602461025c845afa611f5f573d5f5f3e3d5ffd5b3d602081183d602010021880610240016102601161431757610240518060a01c61431757610280525061028090505160c082015260405163d81f84b76102a05260066102c05260206102a060246102bc845afa611fbe573d5f5f3e3d5ffd5b3d602081183d6020100218806102a0016102c011614317576102a0518060a01c614317576102e052506102e090505160e082015260405163d81f84b7610300526007610320526020610300602461031c845afa61201d573d5f5f3e3d5ffd5b3d602081183d602010021880610300016103201161431757610300518060a01c61431757610340525061034090505161010082015260405163d81f84b7610360526008610380526020610360602461037c845afa61207d573d5f5f3e3d5ffd5b3d602081183d602010021880610360016103801161431757610360518060a01c614317576103a052506103a090505161012082015260405163d81f84b76103c05260096103e05260206103c060246103dc845afa6120dd573d5f5f3e3d5ffd5b3d602081183d6020100218806103c0016103e011614317576103c0518060a01c61431757610400525061040090505161014082015250565b602061436f823950565b602061436f5f395f5163d81f84b7608052600460a052602060806024609c845afa61214c573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011614317576080518060a01c6143175760c0525060c0905051606052606051612189575f8152506121df565b606051632ba0309360805260405160a052602060806024609c845afa6121b1573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011614317576080518060011c6143175760c0525060c09050518152505b565b604051156121f35760605115156121f5565b5f5b15614317576060516370a0823160a0523060c052602060a0602460bc845afa612220573d5f5f3e3d5ffd5b60203d106143175760a0905051608052608051156143175760605163a9059cbb60a05260405160c05260805160e052602060a0604460bc5f855af1612267573d5f5f3e3d5ffd5b3d61227e57803b15614317576001610100526122a5565b3d602081183d60201002188060a00160c0116143175760a0518060011c6143175761010052505b61010090505115614317576040516060517fc2bfa18928a62b432789c9dda1f6bb4c519799a6b51f4dc2f74374e8f34207cf60805160a052602060a0a3565b602061436f5f395f5163d81f84b76040526001606052602060406024605c845afa612311573d5f5f3e3d5ffd5b3d602081183d602010021880604001606011614317576040518060a01c61431757608052506080905051815250565b602061436f5f395f5163d81f84b76040526002606052602060406024605c845afa61236d573d5f5f3e3d5ffd5b3d602081183d602010021880604001606011614317576040518060a01c61431757608052506080905051815250565b602061436f5f395f5163d81f84b76040526003606052602060406024605c845afa6123c9573d5f5f3e3d5ffd5b3d602081183d602010021880604001606011614317576040518060a01c61431757608052506080905051815250565b61010051610180526101005161241c576124136101a0612340565b6101a051610180525b610120516101a05261012051612440576124376101c061239c565b6101c0516101a0525b61018051632de5c0296103205260e05161034052610160610320602461033c845afa61246e573d5f5f3e3d5ffd5b3d61016081183d6101601002188061032001610480116143175780610320016104801161431757610320518060a01c614317576104a05280610320016103a0116143175760606103406104c05e60406103a06105205e6103e0518060a01c6143175761056052610400518060a01c614317576105805260406104206105a05e610460518060a01c614317576105e052506104a09050610160816101c05e5060c0516101c0526102c0516125cd576101405163b3deb9586103a05260e0516103c05260806103a060246103bc845afa612548573d5f5f3e3d5ffd5b3d608081183d6080100218806103a0016104201161431757806103a00161042011614317576103a051610440526103c0518060a01c61431757610460526103e05161048052610400518060011c614317576104a0525061044090506080816103205e5061034051156125cd57610360516102c052610340516102a052610320516102e0525b610160516125db575f6125ff565b6102e051156125fd576101a051156125f75761030051156125ff565b5f6125ff565b5f5b15612666576101a05163d81f84b7610320526102e051610340526020610320602461033c845afa612632573d5f5f3e3d5ffd5b3d602081183d602010021880610320016103401161431757610320518060a01c614317576103605250610360905051610300525b6102c0516126c75760e05163313ce567610320526020610320600461033c845afa612693573d5f5f3e3d5ffd5b3d602081183d602010021880610320016103401161431757610320518060081c6143175761036052506103609050516102c0525b6101606101c0825e50565b60056040516020525f5260405f20806060516020525f5260405f209050546127755760066040516020525f5260405f20546080526080516127135760016080525b60605160046040516020525f5260405f20806080516020525f5260405f2090505560805160056040516020525f5260405f20806060516020525f5260405f209050556080516001810181811061431757905060066040516020525f5260405f20555b565b600260c0516020525f5260405f20805460e0518082018281106143175790509050815550600360a0516020525f5260405f208060c0516020525f5260405f209050805460e0518082018281106143175790509050815550604060a060405e6127dd6126d2565b565b6101c0516102c052601061014051186127ff57610180516102c052612814565b6108006101405118612814576101a0516102c0525b6102c0516127108181186127108310021890506102e052610120516102e051808202811583838304141715614317579050905061271081049050610100516370a082316103205230610340526020610320602461033c845afa612879573d5f5f3e3d5ffd5b60203d10614317576103209050518082811882841002189050905061030052610300511561290e576101605160a0526101005160c0526103005160e0526128be612777565b61016051610100517fe50d51274274ba0b32fd42839e9a4f4bd668c4145d5c0725860a0a3aff9080f161012051610320526102c05161034052610300516103605261014051610380526080610320a35b565b602061436f5f395f5163d81f84b76040526007606052602060406024605c845afa61293d573d5f5f3e3d5ffd5b3d602081183d602010021880604001606011614317576040518060a01c61431757608052506080905051815250565b604051610260526101605115612a655761020051633718ce806102a052610160516102c0526101e0516102e05260406102206103005e60206102a060846102bc845afa6129bb573d5f5f3e3d5ffd5b60203d10614317576102a0905051610280526101605163313ce5676102c05260206102c060046102dc845afa6129f3573d5f5f3e3d5ffd5b3d602081183d6020100218806102c0016102e011614317576102c0518060081c6143175761030052506103009050516102a0526102805160405180820281158383830414171561431757905090506102a051604d81116143175780600a0a905080156143175780820490509050610260525b61026051606051808202811583838304141715614317579050905061018051604d81116143175780600a0a9050801561431757808204905090506102805261028051612ab4575f815250612bae565b6102005163d8069b916102c052610140516102e0526101e0516103005260406102206103205e60206102c060846102dc845afa612af3573d5f5f3e3d5ffd5b60203d10614317576102c09050516102a0526102a051612b16575f815250612bae565b6101405163313ce5676102e05260206102e060046102fc845afa612b3c573d5f5f3e3d5ffd5b3d602081183d6020100218806102e00161030011614317576102e0518060081c6143175761032052506103209050516102c052610280516102c051604d81116143175780600a0a905080820281158383830414171561431757905090506102a051801561431757808204905090508152505b565b610140516101605180820281158383830414171561431757905090506127108104905061014051808281188284100218905090506101e0525f610200526002610120516020525f5260405f20546101c051808201828110614317579050905061022052610220516101a0511115612c3c576101a051610220518082038281116143175790509050610200525b6101e05161020051808281188284100218905090506101e0526101e05115612ccb576101805160a0526101205160c0526101e05160e052612c7b612777565b61018051610120517f16651e4a5c9e43877aa8923b7fd9a522d55396ba49000ede809d8902ad5d36506101e0516102405261016051610260526101405161028052610100516102a0526080610240a35b6101e051815250565b610520516105a05261052051612cf857612cef6105c0612340565b6105c0516105a0525b610540516105c05261054051612d1c57612d136105e0612910565b6105e0516105c0525b610560516105e05261056051612d4057612d3761060061239c565b610600516105e0525b6105c051638b6123f26106205261038051610640526105a051610660526105e05161068052610580516106a0526020610620608461063c845afa612d86573d5f5f3e3d5ffd5b60203d1061431757610620905051610600526106005115612f5e5760406103806106205e6104805115612dfb576104805161062052610600516040526103a0516060526101606103c060805e60606105a06101e05e6105805161024052612dee61066061296c565b6106605161064052612e4c565b6104a05115612e4c576104a051610620526103a0516106005180820281158383830414171561431757905090506104c051604d81116143175780600a0a905080156143175780820490509050610640525b610620516370a0823161068052306106a0526020610680602461069c845afa612e77573d5f5f3e3d5ffd5b60203d10614317576106809050516106605261064051612e98576001612e9e565b61066051155b612f5e575f610680526007546106a0526008546106c0526106a0516106205118612ecb576106c051610680525b6104605115612f0b575f6101005260406106206101205e6104605161016052610360516101805260406106606101a05e612f066106e0612bb0565b6106e0505b6103c05115612f1f57610440511515612f21565b5f5b15612f5e5760016101005260406106206101205e61044051610160526103c0516101805260406106606101a05e612f596106e0612bb0565b6106e0505b565b6104205115612f7757610160610420825e50612f8e565b612f82610580611d61565b61058061016081835e50505b565b602061436f5f395f5163d81f84b7608052600360a052602060806024609c845afa612fbd573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011614317576080518060a01c6143175760c0525060c0905051606052606051612ffa575f815250613050565b606051637fb353a160805260405160a052602060806024609c845afa613022573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011614317576080518060011c6143175760c0525060c09050518152505b565b610120516342af624e6101605260e051610180526020610160602461017c845afa61307f573d5f5f3e3d5ffd5b3d602081183d602010021880610160016101801161431757610160518060011c614317576101a052506101a09050516130bb575f815250613661565b610100516040526130cd61018061211f565b61018051610160526101605161316957600160e0516020525f5260405f20546101805261014051639dc8b4996101c05260206101c060046101dc845afa613116573d5f5f3e3d5ffd5b60203d10614317576101c09050516101a052610180511561313c576101a051151561313e565b5f5b156131695743610180516101a05180820182811061431757905090501115613169575f815250613661565b6101005160405261317b610180612f90565b610180511561318e576001815250613661565b60e05163d34ddc056101a05260206101a060046101bc845afa6131b3573d5f5f3e3d5ffd5b3d602081183d6020100218806101a0016101c011614317576101a0518060a01c614317576101e052506101e09050516101805261018051638da5cb5b6101a05260206101a060046101bc845afa61320c573d5f5f3e3d5ffd5b3d602081183d6020100218806101a0016101c011614317576101a0518060a01c614317576101e052506101e0905051610100511861324e576001815250613661565b61018051637cf47ccd6111c052610100516111e0526110e06111c060246111dc845afa61327d573d5f5f3e3d5ffd5b3d6110e081183d6110e0100218806111c0016111e011614317576111c06111c0516111c00110614317576111c0516111c001816111c0016102008201116143175780516122c05260208101516122e05260408101826111c00160c08201116143175780516123005260208101516123205260408101516123405260608101516123605260808101516123805260a08101518060011c614317576123a0525080610100820151820110614317576101008101518101826111c00160c08201116143175780518060011c614317576123c05260208101518060011c614317576123e05260408101518060011c614317576124005260608101518060011c614317576124205260808101518060011c61431757612440528060a08201518201106143175760a08101518101836111c001815160051b60200182011161431757601981511161431757805160208160051b0180836124605e505050506101208101826111c00160808201116143175780518060011c614317576127a05260208101518060011c614317576127c05260408101518060011c614317576127e05260608101518060011c614317576128005250806101a0820151820110614317576101a08101518101826111c00160808201116143175780518060011c614317576128205260208101518060011c614317576128405260408101518060011c61431757612860528060608201518201106143175760608101518101836111c001815160051b6020018201116143175760288151116143175780515f81602881116143175780156134e957905b8060051b6020850101518060a01c614317578160051b6128a001526001018181186134c3575b50508061288052505050806101c0820151820110614317576101c08101518101826111c001815160051b6020018201116143175760288151116143175780515f816028811161431757801561356057905b8060051b6020850101518060a01c614317578160051b612dc0015260010181811861353a575b505080612da05250506101e08101518060011c614317576132c05250506122c0905080516101a05260208101516101c0526040810160c0816101e05e50610100810180516102a05260208101516102c05260408101516102e05260608101516103005260808101516103205260a08101805160208160051b0180836103405e505050506104e081016080816106805e50610560810180516107005260208101516107205260408101516107405260608101805160208160051b0180836107605e50505050610ae08101805160208160051b018083610c805e5050506110008101516111a052506111a05115613659576001815250613661565b610160518152505b565b60036040516020525f5260405f20806060516020525f5260405f2090505460c05260c05161369b575f8152600160208201525061398d565b60c0516060516370a082316101005230610120526020610100602461011c845afa6136c8573d5f5f3e3d5ffd5b60203d10614317576101009050518082811882841002189050905060e05260e0516136fc575f81525f60208201525061398d565b608051156137175760206143af5f395f516060511815613719565b5f5b6137a25760605163a9059cbb610100526040516101205260e051610140526020610100604461011c5f855af1613751573d5f5f3e3d5ffd5b3d61376857803b1561431757600161016052613792565b3d602081183d602010021880610100016101201161431757610100518060011c6143175761016052505b61016090505115614317576138f0565b60605163095ea7b3610100526080516101205260e051610140526020610100604461011c5f855af16137d6573d5f5f3e3d5ffd5b3d6137ed57803b1561431757600161016052613817565b3d602081183d602010021880610100016101201161431757610100518060011c6143175761016052505b610160905051156143175760805163dd74b310610100526060516101205260e0516101405260a05161016052604051610180526020610100608461011c5f855af1613864573d5f5f3e3d5ffd5b60203d1061431757610100505060605163095ea7b361010052608051610120525f610140526020610100604461011c5f855af16138a3573d5f5f3e3d5ffd5b3d6138ba57803b15614317576001610160526138e4565b3d602081183d602010021880610100016101201161431757610100518060011c6143175761016052505b61016090505115614317575b60026060516020525f5260405f20805460e051808203828111614317579050905081555060036040516020525f5260405f20806060516020525f5260405f209050805460e05180820382811161431757905090508155506060516040517f0d3598d2d1d2aa8163365e3fabd9992a08f2a452b4158bbfb567f9fcc316ac1a60e051610100526020610100a36001815260e05160c051146020820152505b565b60066040516020525f5260405f20546080526080516139b1575f815250613a9b565b60056040516020525f5260405f20806060516020525f5260405f2090505460a05260a0516139e2575f815250613a9b565b6080516001810381811161431757905060c05260c05160066040516020525f5260405f20555f60056040516020525f5260405f20806060516020525f5260405f2090505560c05160a05114613a955760046040516020525f5260405f208060c0516020525f5260405f2090505460e05260e05160046040516020525f5260405f208060a0516020525f5260405f2090505560a05160056040516020525f5260405f208060e0516020525f5260405f209050555b60018152505b565b60066101a0516020525f5260405f20546102005261020051613ac2575f815250613c45565b6040366102203760016102005180600111614317576001810390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111614317578015613be5578101905b806104e05260046101a0516020525f5260405f20806104e0516020525f5260405f20905054610500526105005115613bda57604036610520376101a0516040526105005160605260406101c060805e613b68610560613663565b6105606040816105a05e5060406105a06105205e6105205115613b9b576102205160018101818110614317579050610220525b61054051613ba9575f613bb2565b60136102405111155b15613bda57610240516013811161431757610500518160051b61026001526001810161024052505b600101818118613b0e575b50506102405115613c3d575f6102405160148111614317578015613c3a57905b8060051b61026001516104e0526101a0516040526104e051606052613c2b61050061398f565b61050050600101818118613c05575b50505b610220518152505b565b604051613c55576001613c6a565b606051613c63576001613c6a565b6060514311155b15613c78575f815250613cb8565b6040514360605180820382811161431757905090508082028115838383041417156143175790509050608052608051670de0b6b3a7640000810490508152505b565b60c0366101203761010051632728f6726101e05260a0516102005260c06101e060246101fc845afa613cee573d5f5f3e3d5ffd5b60c03d10614317576101e0905060c0816102c05e5060606102c06101205e60606103206101805e610120516101e052610140516101e05160405261016051606052613d3a610200613c47565b61020051808201828110614317579050905061014052436101605260e05115613d655760c051610120525b6101a051610180516040526101c051606052613d82610200613c47565b6102005180820182811061431757905090506101a052436101c05260e05115613dd957610180516101e0518082038281116143175790509050610180526101805160c0518082018281106143175790509050610180525b610100516314648c5c6102005260a0516102205260606101206102405e60606101806102a05e803b15614317575f61020060e461021c5f855af1613e1f573d5f5f3e3d5ffd5b50565b6080516342af624e60a05260405160c052602060a0602460bc845afa613e4a573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c0116143175760a0518060011c6143175760e0525060e0905051613e81575f815250613edd565b60405163d34ddc0560c052602060c0600460dc845afa613ea3573d5f5f3e3d5ffd5b3d602081183d60201002188060c00160e0116143175760c0518060a01c61431757610100525061010090505160a05260605160a051148152505b565b6103805160a05260403660c0376103e05161010052613efc613cba565b60c036610400376103e051632728f6726104c052610380516104e05260c06104c060246104dc845afa613f31573d5f5f3e3d5ffd5b60c03d10614317576104c0905060c0816105a05e5060606105a06104005e60606106006104605e61042051613f67576001613f6d565b61048051155b15613f7b575f815250614315565b6007546104c0526008546104e0526104c051613f98576001613f9e565b6104e051155b15613fac575f815250614315565b6104e0516104c0516370a082316105205230610540526020610520602461053c845afa613fdb573d5f5f3e3d5ffd5b60203d10614317576105209050518082811882841002189050905061050052610500516104205180820281158383830414171561431757905090506104805180156143175780820490509050610520526105205161403c575f815250614315565b6103a051156140595760206143af5f395f516104c051181561405b565b5f5b6140e7576104c05163a9059cbb61054052610380516105605261052051610580526020610540604461055c5f855af1614096573d5f5f3e3d5ffd5b3d6140ad57803b156143175760016105a0526140d7565b3d602081183d602010021880610540016105601161431757610540518060011c614317576105a052505b6105a0905051156143175761423f565b6104c05163095ea7b3610540526103a0516105605261052051610580526020610540604461055c5f855af161411e573d5f5f3e3d5ffd5b3d61413557803b156143175760016105a05261415f565b3d602081183d602010021880610540016105601161431757610540518060011c614317576105a052505b6105a090505115614317576103a05163dd74b310610540526104c0516105605261052051610580526103c0516105a052610380516105c0526020610540608461055c5f855af16141b1573d5f5f3e3d5ffd5b60203d106143175761054050506104c05163095ea7b3610540526103a051610560525f610580526020610540604461055c5f855af16141f2573d5f5f3e3d5ffd5b3d61420957803b156143175760016105a052614233565b3d602081183d602010021880610540016105601161431757610540518060011c614317576105a052505b6105a090505115614317575b6104e0516105205180820382811161431757905090506104e0526104c0516007556104e05160085561048051610420518082038281116143175790509050610480525f610420526103e0516314648c5c61054052610380516105605260606104006105805e60606104606105e05e803b15614317575f61054060e461055c5f855af16142cd573d5f5f3e3d5ffd5b506104c051610380517f5adfee76c295317c2ad349a53a5747f67004744e8082cd6a237400e47f54671661052051610540526104e051610560526040610540a3610520518152505b565b5f80fd0ed4053f066c1d3b11101d5d1cf104e20a1c16bb1c7b1d5d00db1aeb1d5d1cb600181d5d0a3d188a1d5d12640ba8158d1d5d1d5d148a1d5d0c4e19fb1d5d0468021b1a391d5d1d5d168f1d5d1d5d1d5d06e206c385582019b438cf71516ffa76fc0065d90a57995b7b83f2cb378f86e9e270bb1b58dee419436f8118541880a165767970657283000403003800000000000000000000000044cf3c4f000dfd76a35d03298049d37be688d6f90000000000000000000000002a0a59d6b975828e781ecac125dba40d7ee5ddc00000000000000000000000006162df1b329e157479f8f1407e888260e0ec3d2b000000000000000000000000000000000000000000000000000000000076a700