@morpho-dev/router 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -176,6 +176,13 @@
176
176
  "when": 1770657576167,
177
177
  "tag": "0025_rename-price-to-tick",
178
178
  "breakpoints": true
179
+ },
180
+ {
181
+ "idx": 26,
182
+ "version": "7",
183
+ "when": 1770804042329,
184
+ "tag": "0026_add-receiver-if-maker-is-seller",
185
+ "breakpoints": true
179
186
  }
180
187
  ]
181
188
  }
@@ -1 +1 @@
1
- 0x60808060405234604e57600980546001600160a01b031916339081179091557f385bc760a35ad4b8b2c11c6a4c6d27daa5e72ce47836b34da36a3f1258ec45ec5f80a2614d8690816100538239f35b5f80fdfe6102606040526004361015610012575f80fd5b5f6080525f3560e01c8063020b13861461353c5780631133e13e146134cc57806312e8d5941461348157806313af4035146133d45780632ccb5f87146132da5780632e63523f1461322e578063408bfb6b1461313d5780634decfa24146130ed57806351d1dce114611acb57806353a6332b14611a6d5780635d23273f1461199657806365e4ad9e1461190157806366a453f7146118785780637aab8588146118115780637c96c142146117745780637cf43d8c1461172557806387cf3ef4146116d25780638da5cb5b1461167f578063920e99841461162657806398017489146115bb5780639e90eb73146114ed578063aab9c9e3146113e8578063ac9650d8146112d3578063ad092b0914611280578063adf51de11461113a578063b19805af14611086578063bd2d116514610fb2578063cc90010214610f31578063cdb5661f14610e5b578063d43151ed14610cc6578063d632fd5d14610c51578063d881a44314610bdd578063e29dfba814610b66578063f246b87c146101c65763ffd389681461019f575f80fd5b346101c05760206101b86101b236613ac4565b906146c2565b604051908152f35b60805180fd5b346101c05760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c05760043567ffffffffffffffff81116101c057610215903690600401613918565b60243567ffffffffffffffff81116101c057366023820112156101c057806004013561024081613900565b9161024e6040519384613835565b81835260246060602085019302820101903682116101c057602401915b818310610b2a5750505061027d613876565b9160643567ffffffffffffffff81116101c05761029e903690600401613af8565b6080519490939185906102b085614215565b9485608051526003602052604060805120602082015151957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061030b6102f589613900565b986103036040519a8b613835565b808a52613900565b01366020890137608051995b602084015180518c101561051f576103318c600492613d6e565b5196602073ffffffffffffffffffffffffffffffffffffffff60408a015116604051938480927fa035b1fe0000000000000000000000000000000000000000000000000000000082525afa918215610512578d90608051936104d7575b5061039a83918c613d6e565b528a6080515260026020526080516040902073ffffffffffffffffffffffffffffffffffffffff8a165f5260205260405f20885173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f5260205260405f20549761040f838a6141e3565b6ec097ce7bc90715b34b9f10000000009004906020015161042f916141e3565b61044591670de0b6b3a764000090910490613d9e565b9661044f906141bf565b670ff59ee833b2ffff8101929083106104a65760019261049e926ec097ce7bc90715b34b9f1000000000916104979161049291670ff59ee833b3000090046141e3565b613d82565b0490613d9e565b9a0199610317565b7f4e487b71000000000000000000000000000000000000000000000000000000006080515260116004526024608051fd5b9250506020823d821161050a575b816104f260209383613835565b81010312610506578c61039a92519261038e565b5f80fd5b3d91506104e5565b6040513d608051823e3d90fd5b5091969297959389908760805152600160205260406080512073ffffffffffffffffffffffffffffffffffffffff87165f5260205260405f20549660408b0190815142118015610b21575b15610ac357881115610a5e5750670ff59ee833b30000965b848103858211026109c2575b60805194855b855187101561078f576105a78787613d6e565b51966105c1602089015160408a0151159015011515613c68565b60408801511561070e576105d860408901516141bf565b978b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101116104a65760408f996106a360208f6001978f6106886104926ec097ce7bc90715b34b9f1000000000926106816106788761067373ffffffffffffffffffffffffffffffffffffffff9c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106989b0190613d9e565b61460d565b918c5190613d6e565b51906141e3565b04878401525b8287015190613d9e565b9c0151845190613d6e565b515116910151908d60805152600260205260406080512073ffffffffffffffffffffffffffffffffffffffff8d165f5260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261070560405f20918254613d2f565b90550195610594565b602088929801519161072181518b613d6e565b516ec097ce7bc90715b34b9f100000000084810294801590860490911417156104a6578f996106a360208f73ffffffffffffffffffffffffffffffffffffffff93670de0b6b3a76400006107856106989361078060409960019d61460d565b6141e3565b048787015261068e565b91928c938b8a969360018f016107a6878254613d9e565b90558160805152600160205260406080512073ffffffffffffffffffffffffffffffffffffffff89165f5260205260405f206107e3878254613d2f565b905560405192606084526107fa606085018b613bb8565b9187602086015280820391110260408401527f72957b3b5072b650e89b97df2431fdcefe88da2a07c2d84753b042b51fa32d6d73ffffffffffffffffffffffffffffffffffffffff8916938033930390a46080515b86518110156108a4578061089e6108686001938a613d6e565b51604073ffffffffffffffffffffffffffffffffffffffff61089060208b0151845190613d6e565b5151169101519033906149aa565b0161084f565b5090919493826108f0575b6108ec856108d88873ffffffffffffffffffffffffffffffffffffffff88511630903390614abc565b604051918291602083526020830190613bb8565b0390f35b333b156101c05761098f9260405193849283927f85626b5c0000000000000000000000000000000000000000000000000000000084526080600485015273ffffffffffffffffffffffffffffffffffffffff61094f608486018b613bb8565b921660248501523360448501527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc84830301606485015260805195614673565b0381608051335af18015610512576109a9575b80806108af565b6080516109b591613835565b6080516101c057836109a2565b8860805152600160205260406080512073ffffffffffffffffffffffffffffffffffffffff88165f5260205260405f20610a03868303878411028254613d2f565b90556fffffffffffffffffffffffffffffffff610a31610a28878403888511026148a3565b828d5416613d3c565b167fffffffffffffffffffffffffffffffff000000000000000000000000000000008b5416178a5561058e565b610a69905142613d2f565b670214e8348c4f000080820291908204036104a6576103849004670de0b6b3a76400000180670de0b6b3a7640000116104a657670ff59ee833b30000811090670ff59ee833b300001802670ff59ee833b300001896610582565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f706f736974696f6e206973206e6f74206c6971756964617461626c65000000006044820152fd5b5080891161056a565b6060833603126101c0576020606091604051610b4581613819565b8535815282860135838201526040860135604082015281520192019161026b565b346101c05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c05773ffffffffffffffffffffffffffffffffffffffff610bb2613899565b1660805152600460205260406080512060243560805152602052602060406080512054604051908152f35b346101c05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c057610c146138bc565b60043560805152600160205273ffffffffffffffffffffffffffffffffffffffff60406080512091165f52602052602060405f2054604051908152f35b346101c05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c057610c886138bc565b6004356080515260805160205273ffffffffffffffffffffffffffffffffffffffff60406080512091165f52602052602060405f2054604051908152f35b346101c057610cd436613b26565b610d5c73ffffffffffffffffffffffffffffffffffffffff8294939416913383148015610e1c575b610d0590613c03565b610d0e86614215565b809681608051526002602052604060805120855f5260205260405f2073ffffffffffffffffffffffffffffffffffffffff87165f5260205260405f20610d55888254613d2f565b9055613dab565b15610dbe576040805133815260208101859052610db89573ffffffffffffffffffffffffffffffffffffffff85169290917f693bbecc00870ebd9e0e1643b313cb8c3c143898083cfcafd7ed452d7eca84a89190a433906149aa565b60805180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e6865616c74687920626f72726f77657200000000000000000000000000006044820152fd5b508260805152600660205260406080512073ffffffffffffffffffffffffffffffffffffffff33165f52602052610d0560ff60405f2054169050610cfc565b346101c05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c05760405160c0908190610e9c8282613835565b36903760043560805152600360205260036040608051200161ffff60405191548181168352818160101c166020840152818160201c166040840152818160301c166060840152818160401c16608084015260501c1660a0820152610f008282613835565b6040519081608051905b60068210610f1757505050f35b60208060019261ffff865116815201930191019091610f0a565b346101c05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c0576004356080515260036020526080604081512080549060ff600260018301549201541690604051926fffffffffffffffffffffffffffffffff81168452841c6020840152604083015215156060820152f35b346101c057610db8610fd0610fc636613b26565b9192939093614215565b908160805152600260205260406080512073ffffffffffffffffffffffffffffffffffffffff82165f5260205260405f2073ffffffffffffffffffffffffffffffffffffffff84165f5260205260405f2061102c858254613d9e565b9055604080513381526020810186905273ffffffffffffffffffffffffffffffffffffffff9283169392851692917f968f3d07613cff19e0b1a7b034a330cfc3c90e73c1112e14495b79f436a4a07491a430903390614abc565b346101c05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c05773ffffffffffffffffffffffffffffffffffffffff6110d2613899565b6110e182600954163314613f58565b16807fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a557f9993507f53024702e2de1be66f6c48c8957ac708927b86b3bdf4e335f5869470608051608051a260805180f35b346101c05760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c057611171613899565b60243561117c613876565b60643567ffffffffffffffff81116101c05761119c903690600401613af8565b9073ffffffffffffffffffffffffffffffffffffffff80861693846040518781527fc76f1b4fe4396ac07a9fa55a415d4ca430e72651d37d3401f3bed7cb13fc4f1260203392a36111ee8633896149aa565b16803b156101c057611246936040518095819482937f4963710d000000000000000000000000000000000000000000000000000000008452600484015288602484015260606044840152608051966064840191614673565b0391608051905af1801561051257611267575b50610db89130903390614abc565b60805161127391613835565b6080516101c05782611259565b346101c0576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c057602073ffffffffffffffffffffffffffffffffffffffff60085416604051908152f35b346101c05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c05760043567ffffffffffffffff81116101c057366023820112156101c057806004013567ffffffffffffffff81116101c0573660248260051b840101116101c05790608051907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd81360301915b83811015610db857600581901b820160240135838112156101c057820160248101359067ffffffffffffffff82116101c0576044019080360382136101c05780604051928337810160805181526080519180608051920390305af46113d1614644565b90156113e0575060010161136e565b602081519101fd5b346101c05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c05761141f613899565b602435907f2cb7a4fb320621d7b2977fde7313cc7cb328cc480110427bc681eb148ee39bfe602073ffffffffffffffffffffffffffffffffffffffff6044359361146e82600a54163314614454565b61147b60058711156144b9565b61148e662386f26fc1000086111561451e565b61149f64e8d4a51000860615614583565b16928360805152600782526114e06114bc86604060805120613a7b565b61ffff64e8d4a510008504169061ffff8084549260031b9316831b921b1916179055565b604051908152a360805180f35b346101c05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c057600435602435907f5d6479813177277ca6f0151919c3210569f698b78e2f3a9f6b5338b8c4dddc53602060443561156c73ffffffffffffffffffffffffffffffffffffffff600a54163314614454565b61157960058611156144b9565b61158c662386f26fc1000082111561451e565b61159d64e8d4a51000820615614583565b8360805152600382526114e06114bc86600360406080512001613a7b565b346101c0576115c936613ac4565b3360805152600460205260406080512082608051526020526040608051206115f2828254613d9e565b90556040519081527f322af69a57c61fbd5f2ea18d9a80f0028196950ffcd8bcbf333e84997994948260203392a360805180f35b346101c05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c05760043567ffffffffffffffff81116101c0576101b861167a6020923690600401613918565b614215565b346101c0576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c057602073ffffffffffffffffffffffffffffffffffffffff60095416604051908152f35b346101c0576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c057602073ffffffffffffffffffffffffffffffffffffffff600a5416604051908152f35b346101c05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c057600435608051526003602052602060016040608051200154604051908152f35b346101c05760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c0576117ab6138bc565b6117b3613876565b9060043560805152600260205273ffffffffffffffffffffffffffffffffffffffff60406080512091165f5260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b346101c05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c05773ffffffffffffffffffffffffffffffffffffffff61185d613899565b16608051526005602052602060406080512054604051908152f35b346101c05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c0576118af613899565b73ffffffffffffffffffffffffffffffffffffffff60243591166080515260076020526040608051209060068110156101c0576118f161ffff91602093613a7b565b90549060031b1c16604051908152f35b346101c05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c057611938613899565b73ffffffffffffffffffffffffffffffffffffffff6119556138bc565b911660805152600660205273ffffffffffffffffffffffffffffffffffffffff60406080512091165f52602052602060ff60405f2054166040519015158152f35b346101c05760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c0576119cd613899565b60243580151591908290036101c05773ffffffffffffffffffffffffffffffffffffffff90336080515260066020526040608051208282165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff851617905560405192835216907fffb9db33c892dd437c7bc38dd6b518266afce7e4ebbe6e5ec6d313cb362553f260203392a360805180f35b346101c05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c05760043560805152600360205260206fffffffffffffffffffffffffffffffff6040608051205416604051908152f35b34610506576101a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105065760843573ffffffffffffffffffffffffffffffffffffffff811681036105065760a43567ffffffffffffffff8111610506576101a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610506576040516101c0526101a06101c051016101c051811067ffffffffffffffff8211176130c057604052806004013567ffffffffffffffff811161050657611ba69060043691840101613918565b6101c05152602481013580151581036105065760206101c0510152611bcd604482016138df565b60406101c0510152606481013560606101c0510152608481013560806101c051015260a481013560a06101c051015260c481013560c06101c051015260e481013560e06101c05101526101048101356101006101c05101526101248101356101206101c05101526101448101356101406101c0510152611c5061016482016138df565b6101606101c05101526101848101359067ffffffffffffffff8211610506576004611c7e9236920101613a35565b6101806101c051015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c36011261050657604051611cbd81613819565b60c43560ff8116810361050657815260e435602082015261010435604082015267ffffffffffffffff6101443511610506573660236101443501121561050657611d0d6101443560040135613900565b611d1a6040519182613835565b6004610144359081013580835260051b01602401602082013682116105065760246101443501905b8282106130b0575050506101643573ffffffffffffffffffffffffffffffffffffffff81168103610506576101843567ffffffffffffffff811161050657611d8e903690600401613a35565b9260643560e0526044356101a05260243561012052600435610240523373ffffffffffffffffffffffffffffffffffffffff861614801561305f575b611dd390613c03565b600260643515604435156024351560043515010101111561300157600160606101c051015160806101c05101519060a06101c0510151159115901501011115612fa35760c06101c05101514210612f455760e06101c05101514211612ee75773ffffffffffffffffffffffffffffffffffffffff60406101c05101511673ffffffffffffffffffffffffffffffffffffffff861614612e63575f6080602092604051848101907f5bcf4b2eaff7fcdeb49f0bda53026b9ebdd93db566fe4c447125cb899e598c90825261012435604082015260408152611eb4606082613835565b519020604051858101907f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218825246604082015230606082015260608152611efb8582613835565b5190209060405190868201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152611f43606282613835565b5190209060ff8151169060408682015191015191604051938452868401526040830152606082015282805260015afa156128bc57611fc45f5173ffffffffffffffffffffffffffffffffffffffff811690611f9f821515613fbd565b5073ffffffffffffffffffffffffffffffffffffffff60406101c05101511614613fbd565b604051602081019060208252612120816120f4611ff26101c051516101a060408501526101e0840190614022565b60206101c05101511515606084015273ffffffffffffffffffffffffffffffffffffffff60406101c051015116608084015260606101c051015160a084015260806101c051015160c084015260a06101c051015160e084015260c06101c051015161010084015260e06101c05101516101208401526101006101c05101516101408401526101206101c05101516101608401526101406101c051015161018084015273ffffffffffffffffffffffffffffffffffffffff6101606101c0510151166101a08401526101806101c05101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08085840301016101c08501526140bb565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613835565b519020935f945b83518610156121955760019061213d8786613d6e565b518082101561217257604051916020830152604082015260408152612163606082613835565b60208151910120950194612127565b90604051916020830152604082015260408152612190606082613835565b612163565b84906101243503612e05576101406101c051015173ffffffffffffffffffffffffffffffffffffffff60406101c0510151165f52600560205260405f205403612da7576121e56101c05151614215565b6101e0525f60a0526101e0515f52600360205260405f2060a05260206101c051015115155f610140525f610200525f610100525f610160525f14612d2f5773ffffffffffffffffffffffffffffffffffffffff60406101c0510151169073ffffffffffffffffffffffffffffffffffffffff6101606101c0510151166101806101c051015192610140529193836102005261010052610160525b6101006101c0510151916103de8311612cd1576123546509184e72a0008065048c27394fff6123016122d273ffffffffffffffffffffffffffffffffffffffff986101ef036657b9cce20682ad02614bd1565b670de0b6b3a763ffff81670de0b6b3a764000001910160011c6ec097ce7bc90715b34b9f10000000000161460d565b5f60805201040261232460406101c051510151428103904210026101e0516146c2565b908160206101c051015115155f610180525f60c0525f14612cc85761234891613d2f565b60c0525b60c051613d9e565b6102205260043515612b6b5761237361022051610673610240516141bf565b6101a05261238d6102205161067360c051610240516141e3565b610120526123d060a051546106736fffffffffffffffffffffffffffffffff806123c4816123bd8660801c613ccd565b9516613ccd565b1692166101a0516141e3565b60e0525b6101c0516060015115612a8a576101c0516020015115612a805761024051905b6124258460406101c05101511673ffffffffffffffffffffffffffffffffffffffff165f52600460205260405f2090565b6101206101c05101515f5260205261244260405f20928354613d9e565b8092556124588260606101c051015110156140fe565b6101e0515f52600160205260405f208461014051165f526020528360405f205415916101e0515f525f60205260405f208261020051165f5260205260405f205415938380612a79575b156128c7576101e0515f525f60205260405f208361014051165f5260205260405f206124d060e0518254613d9e565b90556101e0515f52600160205260405f208361020051165f5260205260405f206124fe6101a0518254613d9e565b905561256161251d61251160e0516148a3565b60a0515460801c613cfd565b60a051906fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b6fffffffffffffffffffffffffffffffff61258c6125816101a0516148a3565b8260a0515416613cfd565b167fffffffffffffffffffffffffffffffff0000000000000000000000000000000060a05154161760a051555b8260406101c0510151169360206101c05101511515956101206101c0510151916040519733895260208901526102405160408901526101205160608901526101a051608089015260e05160a089015260c088015260e087015261010086015261012085015216917f7c49b5bf63d1fd9b1f966b07cd8f693051ff0dc86eba25d49600d9aa0a455c526101406101e05192a4169081612831575b50506101c051515160085461012051610240516126989373ffffffffffffffffffffffffffffffffffffffff90811693169161268d91613d2f565b916101405190614abc565b6101c05151516101205161020051610140516126c99373ffffffffffffffffffffffffffffffffffffffff16614abc565b73ffffffffffffffffffffffffffffffffffffffff610100511680612789575b506126ff610200516101e0516101c05151613dab565b1561272b5760806040516102405181526101205160208201526101a051604082015260e0516060820152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f53656c6c657220697320756e6865616c746879000000000000000000000000006044820152fd5b6101c05151813b1561281c5760405180927f38042f3700000000000000000000000000000000000000000000000000000000825281806127ed6101805195610160519060e051906101a0519061012051906102405190610200519060048901614163565b039161018051905af1801561282357156126e9576101805161280e91613835565b6101805161281c57806126e9565b6101805180fd5b6040513d61018051823e3d90fd5b6101c0515190823b1561050657612892925f92836040518096819582947f801adbfe00000000000000000000000000000000000000000000000000000000845260e051906101a0519061012051906102405190610140519060048901614163565b03925af180156128bc576128a7575b80612652565b5f6128b191613835565b5f61018052806128a1565b6040513d5f823e3d90fd5b8380612a71575b15612930576101e0515f525f60205260405f208361014051165f5260205260405f206128fd60e0518254613d9e565b90556101e0515f525f60205260405f208361020051165f5260205260405f2061292960e0518254613d2f565b90556125b9565b831580612a6a575b15612997576101e0515f52600160205260405f208361014051165f5260205260405f206129696101a0518254613d2f565b90556101e0515f52600160205260405f208361020051165f5260205260405f206129296101a0518254613d9e565b6101e0515f52600160205260405f208361014051165f5260205260405f206129c36101a0518254613d2f565b90556101e0515f525f60205260405f208361020051165f5260205260405f206129ef60e0518254613d2f565b9055612a0e61251d612a0260e0516148a3565b60a0515460801c613d3c565b6fffffffffffffffffffffffffffffffff612a39612a2e6101a0516148a3565b8260a0515416613d3c565b167fffffffffffffffffffffffffffffffff0000000000000000000000000000000060a05154161760a051556125b9565b5084612938565b5084156128ce565b50846124a1565b61012051906123f4565b6101c0516080015115612b0457612ac88360406101c05101511673ffffffffffffffffffffffffffffffffffffffff165f52600460205260405f2090565b6101206101c05101515f5260205260405f2090612ae96101a0518354613d9e565b809255612aff8260806101c051015110156140fe565b612458565b612b358360406101c05101511673ffffffffffffffffffffffffffffffffffffffff165f52600460205260405f2090565b6101206101c05101515f5260205260405f2090612b5560e0518354613d9e565b809255612aff8260a06101c051015110156140fe565b60243515612bd757612b8560c051610673610120516141bf565b6101a052612b9f60c05161067361022051610120516141e3565b61024052612bcf60a051546106736fffffffffffffffffffffffffffffffff806123c4816123bd8660801c613ccd565b60e0526123d4565b60443515612c4657670de0b6b3a7640000612bf8610220516101a0516141e3565b0461024052670de0b6b3a7640000612c1560c0516101a0516141e3565b0461012052612bcf60a051546106736fffffffffffffffffffffffffffffffff806123c4816123bd8660801c613ccd565b612c8460a051546106736fffffffffffffffffffffffffffffffff80612c79612c70828616613ccd565b9460801c613ccd565b1692166064356141e3565b6101a052670de0b6b3a7640000612ca1610220516101a0516141e3565b0461024052670de0b6b3a7640000612cbe60c0516101a0516141e3565b04610120526123d4565b5060c05261234c565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f7469636b206f7574206f662072616e67650000000000000000000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff60406101c0510151169273ffffffffffffffffffffffffffffffffffffffff6101606101c05101511673ffffffffffffffffffffffffffffffffffffffff6101806101c0510151928186166101405216929461020052610100526101605261227f565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f696e76616c69642073657373696f6e00000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f696e76616c69642070726f6f66000000000000000000000000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f627579657220616e642073656c6c65722063616e6e6f7420626520746865207360448201527f616d6500000000000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f6f666665722065787069726564000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6f66666572206e6f7420737461727465640000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f696e636f6e73697374656e74206f6666657220696e70757400000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f696e636f6e73697374656e7420696e70757400000000000000000000000000006044820152fd5b5073ffffffffffffffffffffffffffffffffffffffff85165f52600660205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f52602052611dd360ff60405f2054169050611dca565b8135815260209182019101611d42565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b346105065760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610506576004355f526003602052602060ff600260405f200154166040519015158152f35b34610506575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261050657335f52600560205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4301438111613201576040519060208201928352406040820152604081526131c2606082613835565b519020335f5260056020528060405f20556040519081527fac3cc8bf4b7f91b8e4387ddc50892ce98e15514edb89f53d2b5ecb7fbacd12ff60203392a2005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b346105065760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105065773ffffffffffffffffffffffffffffffffffffffff61327a613899565b61328982600954163314613f58565b16807fffffffffffffffffffffffff000000000000000000000000000000000000000060085416176008557f8d0d37125715161666b8711c79ac750c3d48064efdcdb781d2613102fbfaddbd5f80a2005b346105065760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105065760043567ffffffffffffffff81116105065761332c6133d2913690600401613918565b73ffffffffffffffffffffffffffffffffffffffff6024359161334d613876565b61335682614215565b805f52600160205260405f208483165f5260205260405f20613379868254613d2f565b9055805f526003602052600160405f2001613395868254613d9e565b9055836040519286845216917f15abcbcae3c84bf0dd4d1f9b9593b93fd1008ba43286b5d963030916b438dca760203392a4511630903390614abc565b005b346105065760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610506577fffffffffffffffffffffffff000000000000000000000000000000000000000061342c613899565b73ffffffffffffffffffffffffffffffffffffffff600954916134528284163314613f58565b1691829116176009557f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb55f80a2005b346105065760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610506576004355f526003602052602060405f205460801c604051908152f35b346105065760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105065760043567ffffffffffffffff8111610506576135326135206020923690600401613918565b613528613876565b9060243590613dab565b6040519015158152f35b346105065760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105065760043567ffffffffffffffff81116105065761358b903690600401613918565b602435604435916064359073ffffffffffffffffffffffffffffffffffffffff82168092036105065783918333821480156137f7575b6135ca90613c03565b15926135da861585011515613c68565b6135e383614215565b95865f52600360205260405f2094155f146137a75750508254916136326fffffffffffffffffffffffffffffffff80613629816136228860801c613ccd565b9716613ccd565b169416866141e3565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8401968488116132015761367261379b9561067360409a8a97613d9e565b955b815f525f602052885f20835f52602052885f20613692888254613d2f565b9055600181016136a3868254613d2f565b90556136ff6136be6136b4896148a3565b835460801c613d3c565b82546fffffffffffffffffffffffffffffffff1660809190911b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016178255565b6fffffffffffffffffffffffffffffffff61372561371c876148a3565b82845416613d3c565b167fffffffffffffffffffffffffffffffff0000000000000000000000000000000082541617905587518481528660208201527fec487e328c257226dc653aa36c6f8b365556a9b40957f331e150ec8f3ffd776b893392a473ffffffffffffffffffffffffffffffffffffffff339151166149aa565b82519182526020820152f35b6040969550916137ef859361067361379b96949754916fffffffffffffffffffffffffffffffff806137e66137dd828716613ccd565b9560801c613ccd565b169316906141e3565b958693613674565b505f82815260066020908152604080832033845290915290205460ff166135c1565b6060810190811067ffffffffffffffff8211176130c057604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176130c057604052565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361050657565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361050657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361050657565b359073ffffffffffffffffffffffffffffffffffffffff8216820361050657565b67ffffffffffffffff81116130c05760051b60200190565b919091606081840312610506576040519061393282613819565b819361393d826138df565b8352602082013567ffffffffffffffff811161050657820181601f820112156105065780359061396c82613900565b9261397a6040519485613835565b8284526020606081860194028301019181831161050657602001925b8284106139b157505050506020830152604090810135910152565b6060848303126105065760206060916040516139cc81613819565b6139d5876138df565b815282870135838201526139eb604088016138df565b6040820152815201930192613996565b67ffffffffffffffff81116130c057601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f8201121561050657803590613a4c826139fb565b92613a5a6040519485613835565b8284526020838301011161050657815f926020809301838601378301015290565b9190916006831015613a9757601e908360041c019260011b1690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040910112610506576004359060243590565b9181601f840112156105065782359167ffffffffffffffff8311610506576020838186019501011161050657565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610506576004359067ffffffffffffffff821161050657613b6f91600401613918565b9060243573ffffffffffffffffffffffffffffffffffffffff8116810361050657906044359060643573ffffffffffffffffffffffffffffffffffffffff811681036105065790565b90602080835192838152019201905f5b818110613bd55750505090565b9091926020606060019260408751805183528481015185840152015160408201520194019101919091613bc8565b15613c0a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152fd5b15613c6f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e434f4e53495354454e545f494e50555400000000000000000000000000006044820152fd5b6fffffffffffffffffffffffffffffffff6001911601906fffffffffffffffffffffffffffffffff821161320157565b906fffffffffffffffffffffffffffffffff809116911601906fffffffffffffffffffffffffffffffff821161320157565b9190820391821161320157565b906fffffffffffffffffffffffffffffffff809116911603906fffffffffffffffffffffffffffffffff821161320157565b8051821015613a975760209160051b010190565b906ec097ce7bc90715b34b9f0fffffffff820180921161320157565b9190820180921161320157565b929091825f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f5260205260405f20545f925f935b60208701518051861080613f4f575b15613f425790613e0186600493613d6e565b51602073ffffffffffffffffffffffffffffffffffffffff604083015116604051948580927fa035b1fe0000000000000000000000000000000000000000000000000000000082525afa9283156128bc575f93613f0d575b50610497670de0b6b3a76400009160206ec097ce7bc90715b34b9f1000000000613ed2613edc978d5f526002845260405f2073ffffffffffffffffffffffffffffffffffffffff8d165f52845260405f2073ffffffffffffffffffffffffffffffffffffffff80875116165f52845260405f20546141e3565b04910151906141e3565b937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146132015760010193613de0565b92506020833d8211613f3a575b81613f2760209383613835565b8101031261050657915191610497613e59565b3d9150613f1a565b5093509450925050101590565b50838210613def565b15613f5f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4f6e6c79206f776e6572000000000000000000000000000000000000000000006044820152fd5b15613fc457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f696e76616c6964207369676e61747572650000000000000000000000000000006044820152fd5b90606081019173ffffffffffffffffffffffffffffffffffffffff81511682526020810151926060602084015283518091526020608084019401905f5b8181106140755750505060408091015191015290565b9091946020606060019273ffffffffffffffffffffffffffffffffffffffff60408a5182815116845285810151868501520151166040820152019601910191909161405f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b1561410557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f636f6e73756d65640000000000000000000000000000000000000000000000006044820152fd5b93909273ffffffffffffffffffffffffffffffffffffffff6141946141bc999794989560e0885260e0880190614022565b9716602086015260408501526060840152608083015260a082015260c08184039101526140bb565b90565b90670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561320157565b8181029291811591840414171561320157565b9080821461421157546bffffffffffffffffffffffff169055565b5050565b614220304683614c4d565b6020815191012090815f52600360205260ff600260405f2001541615614244575090565b5f92835b602083015180518610156142eb5773ffffffffffffffffffffffffffffffffffffffff614276878293613d6e565b515116911681111561428d57600190940193614248565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f636f6c6c61746572616c73206e6f7420736f72746564000000000000000000006044820152fd5b50509250815f526003602052600260405f200160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff8151165f52600760205261436160405f20835f526003602052600360405f20016141f6565b73ffffffffffffffffffffffffffffffffffffffff5f614382304685614c4d565b60208151910182f516156143d0577fa5ffe53cdf879af6f5658e553012bc5f4ad0aee3c264091d69830add48f38c5a6143ca8392604051918291602083526020830190614022565b0390a290565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4661696c656420746f20637265617465205353746f72653220636f6e7472616360448201527f74000000000000000000000000000000000000000000000000000000000000006064820152fd5b1561445b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4f6e6c79206665655365747465720000000000000000000000000000000000006044820152fd5b156144c057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c696420696e646578000000000000000000000000000000000000006044820152fd5b1561452557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f54726164696e672066656520746f6f20686967680000000000000000000000006044820152fd5b1561458a57565b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6665652073686f756c642062652061206d756c7469706c65206f66204645455f60448201527f53544550000000000000000000000000000000000000000000000000000000006064820152fd5b8115614617570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b3d1561466e573d90614655826139fb565b916146636040519384613835565b82523d5f602084013e565b606090565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b906006811015613a975760051b0190565b5f526003602052600360405f2001604051905461ffff8116825261ffff8160101c16602083015261ffff8160201c16604083015261ffff8160301c16606083015261ffff8160401c16608083015261ffff60a083019160501c16815261472960c083613835565b62ed4e0083101561487c5750620151808210156147f3575f906201518062ffffff8060ff855b16941691169261ffff61476282856146b1565b51169264e8d4a5100084029380850464e8d4a51000149015171561320157600182018092116132015761ffff91614798916146b1565b511664e8d4a5100081029080820464e8d4a51000149015171561320157846147e16147e7926147d5856147db6147ed986147d56141bc9c8c613d2f565b906141e3565b94613d2f565b90613d9e565b92613d2f565b9061460d565b62093a808210156148195762093a80906201518062ffffff8060ff60015b93959361474f565b62278d0082101561483f5762093a809062278d0062ffffff8060ff60025b959395614811565b6276a700821015614865576276a7009062278d0062ffffff8060ff60035b939593614837565b62ed4e00906276a70062ffffff8060ff600461485d565b905061ffff9150511664e8d4a5100081029080820464e8d4a5100014901517156132015790565b6fffffffffffffffffffffffffffffffff81116148cf576fffffffffffffffffffffffffffffffff1690565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f75696e74323536206f766572666c6f77732075696e74313238000000000000006044820152fd5b1561493457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f6e6f20636f6465000000000000000000000000000000000000000000000000006044820152fd5b90816020910312610506575180151581036105065790565b5f9291836120f4614a1c82956149c2863b151561492d565b60405192839160208301967fa9059cbb000000000000000000000000000000000000000000000000000000008852602484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b51925af1614a28614644565b90156113e0578051908115918215614aa2575b505015614a4457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f7472616e736665722072657475726e65642066616c73650000000000000000006044820152fd5b614ab59250602080918301019101614992565b5f80614a3b565b905f8094938194614acf853b151561492d565b73ffffffffffffffffffffffffffffffffffffffff604051928160208501967f23b872dd000000000000000000000000000000000000000000000000000000008852166024850152166044830152606482015260648152614b31608482613835565b51925af1614b3d614644565b90156113e0578051908115918215614bb7575b505015614b5957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f7472616e7366657246726f6d2072657475726e65642066616c736500000000006044820152fd5b614bca9250602080918301019101614992565b5f80614b50565b5f811215614bfe57614be4905f03614bd1565b8015614617576ec097ce7bc90715b34b9f10000000000490565b670de0b6b3a764000067099e8db03256ce5d6704cf46d8192b672e8301059167099e8db03256ce5d83029003671bc16d674ec80000818002056729a2241af62c00008282020591010101901b90565b6141bc91926020603492604095865193614c678886613835565b600b8552838501977f603f380380603f5f395ff300000000000000000000000000000000000000000089527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000815192614cf984614ccd898201988a8a5286830190614022565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101865285613835565b82519a8b98518091898b015e8801948786015260601b1690830152518092605483015e01015f8382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261383556fea26469706673582212209e240952bdaf7b66010a7fa057bbb98352dd40096e5d590989507912c16380a564736f6c634300081f0033
1
+ 0x60808060405234604e57600980546001600160a01b031916339081179091557f385bc760a35ad4b8b2c11c6a4c6d27daa5e72ce47836b34da36a3f1258ec45ec5f80a2613ccb90816100538239f35b5f80fdfe6102606040526004361015610012575f80fd5b5f6080525f3560e01c80631133e13e14612c5e57806312e8d59414612c3157806313af403514612bbf5780632ccb5f8714612ae15780632e63523f14612a6e57806334df29201461285a578063408bfb6b146127bf5780634decfa241461278d57806353a6332b1461275a5780635d23273f146126d157806365e4ad9e1461267a57806366a453f71461262057806371be9f41146113865780637aab85881461134a5780637c96c142146112e75780637cf43d8c146112b657806387cf3ef41461128c5780638da5cb5b14611262578063920e99841461122857806398017489146111bd5780639e90eb731461111b578063aab9c9e31461103c578063ac9650d814610f66578063ad092b0914610f3c578063adf51de114610e35578063b19805af14610dbb578063bd2d116514610cde578063c3fba21214610b65578063cc90010214610b0b578063cdb5661f14610a53578063d632fd5d14610a0a578063d881a443146109c2578063e29dfba814610976578063f246b87c146101c65763ffd389681461019f575f80fd5b346101c05760206101b86101b236612ef7565b9061372d565b604051908152f35b60805180fd5b346101c05760803660031901126101c0576004356001600160401b0381116101c0576101f6903690600401612d84565b6024356001600160401b0381116101c057366023820112156101c057806004013561022081612d6d565b9161022e6040519384612cca565b81835260246060602085019302820101903682116101c057602401915b81831061093a5750505061025d612ceb565b916064356001600160401b0381116101c05761027d903690600401612f0d565b60805194909391859061028f856133ec565b948560805152600360205260406080512090602081015151956102b187612d6d565b966102bf6040519889612cca565b8088526102ce601f1991612d6d565b01366020890137608051995b602083015180518c101561046f576102f48c600492612f85565b5196602060018060a01b0360408a0151166040519384809263501ad8ff60e11b82525afa918215610462578d9060805193610427575b5061033683918c612f85565b52608080518c90526002602090815290516040908190206001600160a01b038c81165f9081529184528282208c5190911682529092529020549761037a838a6133ba565b6a0c097ce7bc90715b34b9f160241b90049060200151610399916133ba565b6103af91670de0b6b3a764000090910490612fb5565b966103b990613396565b670ff59ee833b2ffff81019290831061040f57600192610407926a0c097ce7bc90715b34b9f160241b91610400916103fb91670ff59ee833b3000090046133ba565b612f99565b0490612fb5565b9a01996102da565b634e487b7160e01b6080515260116004526024608051fd5b9250506020823d821161045a575b8161044260209383612cca565b81010312610456578c61033692519261032a565b5f80fd5b3d9150610435565b6040513d608051823e3d90fd5b5099509197909593928760805152600160205260406080512060018060a01b0387165f5260205260405f2054936040880190815142118015610931575b156108ec578511156108875750670ff59ee833b30000935b8a81038b82110261081a575b6080519a8b5b85518d101561065c578c6104ed6105059e88612f85565b519d8e60406020820151910151159015011515613189565b60408e01518e90156105e857604061051e910151613396565b885f1981011161040f576001928f6020906a0c097ce7bc90715b34b9f160241b6105736103fb8f8f61056361056c9161055e6105819b5f19830190612fb5565b6136af565b91865190612f85565b51906133ba565b04818301525b015190612fb5565b9d604060208d015161059b858060a01b0391845190612f85565b515116910151908d608051526002602052604060805120848060a01b038d165f5260205260405f2090848060a01b03165f526020526105df60405f20918254613141565b9055019b6104d6565b916105f9602084015193518b612f85565b5190608051506a0c097ce7bc90715b34b9f160241b8402938085046a0c097ce7bc90715b34b9f160241b149015171561040f578f602090670de0b6b3a76400006106518d61064c6105819760019a6136af565b6133ba565b046040820152610579565b919289938b8a969360018f01610673878254612fb5565b90558160805152600160205260406080512060018060a01b0389165f5260205260405f206106a2878254613141565b905560405192606084526106b9606085018b612f3a565b9187602086015280820391110260408401527f72957b3b5072b650e89b97df2431fdcefe88da2a07c2d84753b042b51fa32d6d60018060a01b038916938033930390a46080515b865181101561074757806107416107196001938a612f85565b5160406020890151610733868060a01b0391845190612f85565b515116910151903390613a96565b01610700565b50909194938261078a575b8351610786908690610772908990309033906001600160a01b031661395c565b604051918291602083526020830190612f3a565b0390f35b333b156101c0576040516321589ad760e21b81526080600482015292839182916107e791906107bc608485018a612f3a565b6001600160a01b039092166024850152336044850152838203600319016064850152608051956136fc565b0381608051335af1801561046257610801575b8080610752565b60805161080d91612cca565b6080516101c057836107fa565b8860805152600160205260406080512060018060a01b0388165f5260205260405f2061084d8c83038d8411028254613141565b90556001600160801b036108726108698d84118e850302613a37565b828d5416613208565b166001600160801b03198b5416178a556104d0565b610892905142613141565b670214e8348c4f0000808202919082040361040f576103849004670de0b6b3a76400000180670de0b6b3a76400001161040f57670ff59ee833b30000811090670ff59ee833b300001802670ff59ee833b3000018936104c4565b60405162461bcd60e51b815260206004820152601c60248201527f706f736974696f6e206973206e6f74206c6971756964617461626c65000000006044820152606490fd5b508086116104ac565b6060833603126101c057602060609160405161095581612caf565b8535815282860135838201526040860135604082015281520192019161024b565b346101c05760403660031901126101c0576001600160a01b03610997612d01565b1660805152600460205260406080512060243560805152602052602060406080512054604051908152f35b346101c05760403660031901126101c0576109db612d43565b6004356080515260016020526040608051209060018060a01b03165f52602052602060405f2054604051908152f35b346101c05760403660031901126101c057610a23612d43565b600435608051526080516020526040608051209060018060a01b03165f52602052602060405f2054604051908152f35b346101c05760203660031901126101c05760405160c0908190610a768282612cca565b36903760043560805152600360205260036040608051200161ffff60405191548181168352818160101c166020840152818160201c166040840152818160301c166060840152818160401c16608084015260501c1660a0820152610ada8282612cca565b6040519081608051905b60068210610af157505050f35b60208060019261ffff865116815201930191019091610ae4565b346101c05760203660031901126101c0576004356080515260036020526080604081512080549060ff600260018301549201541690604051926001600160801b0381168452841c6020840152604083015215156060820152f35b346101c05760a03660031901126101c0576004356001600160401b0381116101c057610b95903690600401612d84565b610b9d612d43565b60443590610ba9612d17565b90610bb2612d2d565b916001600160a01b03811690610c1e903383148015610cb5575b610bd59061314e565b610bde876133ec565b809781608051526002602052604060805120855f5260205260405f2060018060a01b0387165f5260205260405f20610c17898254613141565b9055612fc2565b15610c7b57610c75946040519033825285602083015260018060a01b03851660408301527f626c0b2bb9d8e812f145a6a7bdb09fe8fb92c53781755f343d5fd65c7e27949a606060018060a01b03861693a4613a96565b60805180f35b60405162461bcd60e51b81526020600482015260126024820152712ab73432b0b63a343c903137b93937bbb2b960711b6044820152606490fd5b5060808051849052600660209081529051604090819020335f908152925290205460ff16610bcc565b346101c05760803660031901126101c0576004356001600160401b0381116101c057610d11610c75913690600401612d84565b610d19612d43565b60443591610d2e610d28612d17565b916133ec565b908160805152600260205260406080512060018060a01b0382165f5260205260405f2060018060a01b0384165f5260205260405f20610d6e858254612fb5565b905560408051338152602081018690526001600160a01b039283169392851692917f968f3d07613cff19e0b1a7b034a330cfc3c90e73c1112e14495b79f436a4a07491a43090339061395c565b346101c05760203660031901126101c057610dd4612d01565b610de960018060a01b03600954163314613108565b600a80546001600160a01b0319166001600160a01b039290921691821790556080517f9993507f53024702e2de1be66f6c48c8957ac708927b86b3bdf4e335f58694709080a260805180f35b346101c05760803660031901126101c057610e4e612d01565b602435610e59612ceb565b6064356001600160401b0381116101c057610e78903690600401612f0d565b9060018060a01b03851692836040518681527fc76f1b4fe4396ac07a9fa55a415d4ca430e72651d37d3401f3bed7cb13fc4f1260203392a3610ebb853388613a96565b6001600160a01b0316803b156101c057610f0293604051809581948293634963710d60e01b84526004840152886024840152606060448401526080519660648401916136fc565b0391608051905af1801561046257610f23575b50610c75913090339061395c565b608051610f2f91612cca565b6080516101c05782610f15565b346101c0576080513660031901126101c0576008546040516001600160a01b039091168152602090f35b346101c05760203660031901126101c0576004356001600160401b0381116101c057366023820112156101c05780600401356001600160401b0381116101c0573660248260051b840101116101c057906080519060421981360301915b83811015610c7557600581901b820160240135838112156101c05782016024810135906001600160401b0382116101c0576044019080360382136101c05780604051928337810160805181526080519180608051920390305af46110256136cd565b90156110345750600101610fc3565b602081519101fd5b346101c05760603660031901126101c057611055612d01565b602435907f2cb7a4fb320621d7b2977fde7313cc7cb328cc480110427bc681eb148ee39bfe60206044359261109560018060a01b03600a5416331461359b565b6110a260058611156135d8565b6110b5662386f26fc10000851115613614565b6110c664e8d4a51000850615613657565b60018060a01b03169283608051526007825261110e6110ea86604060805120612e66565b61ffff64e8d4a510008504169061ffff8084549260031b9316831b921b1916179055565b604051908152a360805180f35b346101c05760603660031901126101c057600435602435907f5d6479813177277ca6f0151919c3210569f698b78e2f3a9f6b5338b8c4dddc53602060443561116e60018060a01b03600a5416331461359b565b61117b60058611156135d8565b61118e662386f26fc10000821115613614565b61119f64e8d4a51000820615613657565b83608051526003825261110e6110ea86600360406080512001612e66565b346101c0576111cb36612ef7565b3360805152600460205260406080512082608051526020526040608051206111f4828254612fb5565b90556040519081527f322af69a57c61fbd5f2ea18d9a80f0028196950ffcd8bcbf333e84997994948260203392a360805180f35b346101c05760203660031901126101c0576004356001600160401b0381116101c0576101b861125d6020923690600401612d84565b6133ec565b346101c0576080513660031901126101c0576009546040516001600160a01b039091168152602090f35b346101c0576080513660031901126101c057600a546040516001600160a01b039091168152602090f35b346101c05760203660031901126101c057600435608051526003602052602060016040608051200154604051908152f35b346101c05760603660031901126101c057611300612d43565b611308612ceb565b906004356080515260026020526040608051209060018060a01b03165f5260205260405f209060018060a01b03165f52602052602060405f2054604051908152f35b346101c05760203660031901126101c0576001600160a01b0361136b612d01565b16608051526005602052602060406080512054604051908152f35b34610456576101c0366003190112610456576113a0612d2d565b60a435906001600160a01b03821682036104565760c4356001600160401b038111610456576113d3903690600401612eb1565b60e435916001600160a01b0383168303610456576001600160401b036101043511610456576101c06101043536036003190112610456576040516101c0526101c08051016101c05181106001600160401b0382111761260c5760405261010435600401356001600160401b038111610456576114589060043691610104350101612d84565b6101c05152602461010435013580151581036104565760206101c051015261148560446101043501612d59565b60406101c0510152606461010435013560606101c0510152608461010435013560806101c051015260a461010435013560a06101c051015260c461010435013560c06101c051015260e461010435013560e06101c0510152610104803501356101006101c05101526101246101043501356101206101c05101526101446101043501356101406101c05101526115216101646101043501612d59565b6101606101c05101526101846101043501356001600160401b038111610456576115549060043691610104350101612eb1565b6101806101c051015261156d6101a46101043501612d59565b6101c0516101a00152606036610123190112610456576040519361159085612caf565b6101243560ff811681036104565785526101443560208601526101643560408601526001600160401b036101a43511610456573660236101a435011215610456576115e16101a43560040135612d6d565b946115ef6040519687612cca565b60046101a4359081013580885260051b01602401602087013682116104565760246101a43501905b8282106125fc5750505060643560c0526044356101a05260243561010052600435610140526001600160a01b038316331480156125d0575b6116589061314e565b600260643515604435156024351560043515010101111561259657600160606101c051015160806101c05101519060a06101c05101511591159015010111156125515760c06101c051015142106125185760e06101c051015142116124e3576101c051604001516001600160a01b03848116911614612492575f6080602092604051848101907f5bcf4b2eaff7fcdeb49f0bda53026b9ebdd93db566fe4c447125cb899e598c90825261018435604082015260408152611719606082612cca565b519020604051858101907f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692188252466040820152306060820152606081526117608582612cca565b51902090604051908682019261190160f01b8452602283015260428201526042815261178d606282612cca565b5190209060ff8151169060408682015191015191604051938452868401526040830152606082015282805260015afa15611fd4575f516117f5906001600160a01b038116906117dd821515613228565b506101c051604001516001600160a01b031614613228565b604051602080820152611910816118ea6118206101c051516101c06040850152610200840190613268565b60206101c05101511515606084015260018060a01b0360406101c051015116608084015260606101c051015160a084015260806101c051015160c084015260a06101c051015160e084015260c06101c051015161010084015260e06101c05101516101208401526101006101c05101516101408401526101206101c05101516101608401526101406101c051015161018084015260018060a01b036101606101c0510151166101a08401526101806101c0510151601f19601f1985840301016101c08501526132ea565b6101c0516101a001516001600160a01b03166101e083015203601f198101835282612cca565b60208151910120925f935b8651851015611989576001906119318689612f85565b518082101561196657604051916020830152604082015260408152611957606082612cca565b6020815191012094019361191b565b90604051916020830152604082015260408152611984606082612cca565b611957565b8590610184350361245d576101406101c051015160406101c051015160018060a01b03165f52600560205260405f205403612426576119cb6101c051516133ec565b6101e0526101e0515f52600360205260405f209160206101c051015115155f610240525f60e0525f610200525f610120525f610160525f146123d65760406101c051015160018060a01b0316936101606101c051015160018060a01b03166101806101c051015195610240529460e05285610200526101205261016052925b6101006101c05101516103de811161239d576509184e72a0008065048c27394fff611ab5611a87611b08956101ef036657b9cce20682ad02613b77565b670de0b6b3a763ffff81670de0b6b3a764000001910160011c6a0c097ce7bc90715b34b9f160241b016136af565b5f608052010402611ad860406101c051510151428103904210026101e05161372d565b908160206101c051015115155f610180525f60a0525f1461239457611afc91613141565b60a0525b60a051612fb5565b610220526004351561225857611b276102205161055e61014051613396565b6101a052611b416102205161055e60a051610140516133ba565b61010052611b79825461055e6001600160801b0380611b6d81611b668660801c6131ca565b95166131ca565b1692166101a0516133ba565b60c0525b6101c051606001511561219f576101c05160200151156121955761014051905b6101c0516040908101516001600160a01b03165f9081526004602052206101206101c05101515f52602052611bd760405f20928354612fb5565b809255611bed8260606101c0510151101561330e565b6101e0515f52600160205260405f2060018060a01b0361024051165f5260205260405f205415916101e0515f525f60205260405f2060018060a01b0361020051165f5260205260405f20541593838061218e575b15611fdf576101e0515f525f60205260405f2060018060a01b0361024051165f5260205260405f20611c7660c0518254612fb5565b90556101e0515f52600160205260405f2060018060a01b0361020051165f5260205260405f20611caa6101a0518254612fb5565b9055611cf0611cc7611cbd60c051613a37565b835460801c6131e8565b82546001600160801b031660809190911b6fffffffffffffffffffffffffffffffff1916178255565b6001600160801b03611d10611d076101a051613a37565b828454166131e8565b166001600160801b03198254161790555b60406101c051015160018060a01b03169260206101c05101511515946101206101c0510151916040519633885260208801526101405160408801526101005160608801526101a051608088015260c05160a088015260c087015260e086015260018060a01b03871661010086015261012085015261014084015260018060a01b0316917fc9a4977a7cf0f1512ef09958cb3657858e06b9f743f76e825e23c64d264db0dc6101606101e05192a46001600160a01b03169081611f58575b6101c05151516008546101005161014051611e399550611e1a936001600160a01b03908116931691611e0f91613141565b91610240519061395c565b6101c051515161010051610240519092916001600160a01b031661395c565b610120516001600160a01b031680611ec9575b50611e62610200516101e0516101c05151612fc2565b15611e8e5760806040516101405181526101005160208201526101a051604082015260c0516060820152f35b60405162461bcd60e51b815260206004820152601360248201527253656c6c657220697320756e6865616c74687960681b6044820152606490fd5b6101c05151813b15611f435760405180926338042f3760e01b82528180611f146101805195610160519060c051906101a0519061010051906101405190610200519060048901613345565b039161018051905af18015611f4a5715611e4c5761018051611f3591612cca565b61018051611f435780611e4c565b6101805180fd5b6040513d61018051823e3d90fd5b6101c0515191803b1561045657611fa55f9391849260405195868094819363400d6dff60e11b835260e0519060c051906101a0519061010051906101405190610240519060048901613345565b03925af1918215611fd457611e3992611fbf575b50611dde565b5f611fc991612cca565b5f6101805282611fb9565b6040513d5f823e3d90fd5b8380612186575b1561205557506101e0515f525f60205260405f2060018060a01b0361024051165f5260205260405f2061201c60c0518254612fb5565b90556101e0515f525f60205260405f2060018060a01b0361020051165f5260205260405f2061204e60c0518254613141565b9055611d21565b83158061217f575b156120c957506101e0515f52600160205260405f2060018060a01b0361024051165f5260205260405f206120956101a0518254613141565b90556101e0515f52600160205260405f2060018060a01b0361020051165f5260205260405f2061204e6101a0518254612fb5565b6101e0515f52600160205260405f2060018060a01b0361024051165f5260205260405f206120fb6101a0518254613141565b90556101e0515f525f60205260405f2060018060a01b0361020051165f5260205260405f2061212d60c0518254613141565b905561214a611cc761214060c051613a37565b835460801c613208565b6001600160801b0361216a6121616101a051613a37565b82845416613208565b166001600160801b0319825416179055611d21565b508461205d565b508415611fe6565b5084611c41565b6101005190611b9d565b6101c0516080015115612205576101c0516040908101516001600160a01b03165f9081526004602052206101206101c05101515f5260205260405f20906121ea6101a0518354612fb5565b8092556122008260806101c0510151101561330e565b611bed565b6101c0516040908101516001600160a01b03165f9081526004602052206101206101c05101515f5260205260405f209061224260c0518354612fb5565b8092556122008260a06101c0510151101561330e565b602435156122b95761227260a05161055e61010051613396565b6101a05261228c60a05161055e61022051610100516133ba565b610140526122b1825461055e6001600160801b0380611b6d81611b668660801c6131ca565b60c052611b7d565b6044351561231d57670de0b6b3a76400006122da610220516101a0516133ba565b0461014052670de0b6b3a76400006122f760a0516101a0516133ba565b04610100526122b1825461055e6001600160801b0380611b6d81611b668660801c6131ca565b612350825461055e6001600160801b038061234561233c8286166131ca565b9460801c6131ca565b1692166064356133ba565b6101a052670de0b6b3a764000061236d610220516101a0516133ba565b0461014052670de0b6b3a764000061238a60a0516101a0516133ba565b0461010052611b7d565b5060a052611b00565b60405162461bcd60e51b81526020600482015260116024820152707469636b206f7574206f662072616e676560781b6044820152606490fd5b6101c0516040810151610160808301516101808401516101a0909401516001600160a01b038a81166102405260e09690965292851661020052841661012052919091528116949316929050611a4a565b60405162461bcd60e51b815260206004820152600f60248201526e34b73b30b634b21039b2b9b9b4b7b760891b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b210383937b7b360991b6044820152606490fd5b60405162461bcd60e51b815260206004820152602360248201527f627579657220616e642073656c6c65722063616e6e6f74206265207468652073604482015262616d6560e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c1bd999995c88195e1c1a5c9959609a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260116024820152701bd999995c881b9bdd081cdd185c9d1959607a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601860248201527f696e636f6e73697374656e74206f6666657220696e70757400000000000000006044820152606490fd5b60405162461bcd60e51b81526020600482015260126024820152711a5b98dbdb9cda5cdd195b9d081a5b9c1d5d60721b6044820152606490fd5b506001600160a01b0383165f90815260066020908152604080832033845290915290205460ff1661164f565b8135815260209182019101611617565b634e487b7160e01b5f52604160045260245ffd5b3461045657604036600319011261045657612639612d01565b6001600160a01b03165f90815260076020526040902060243560068110156104565761266a61ffff91602093612e66565b90549060031b1c16604051908152f35b3461045657604036600319011261045657612693612d01565b61269b612d43565b9060018060a01b03165f52600660205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b34610456576040366003190112610456576126ea612d01565b6024359081151580920361045657335f52600660205260405f2060018060a01b0382165f5260205260405f2060ff1981541660ff841617905560405191825260018060a01b0316907fffb9db33c892dd437c7bc38dd6b518266afce7e4ebbe6e5ec6d313cb362553f260203392a3005b34610456576020366003190112610456576004355f52600360205260206001600160801b0360405f205416604051908152f35b34610456576020366003190112610456576004355f526003602052602060ff600260405f200154166040519015158152f35b34610456575f36600319011261045657335f52600560205260405f20545f19430143811161284657604051906020820192835240604082015260408152612807606082612cca565b519020335f5260056020528060405f20556040519081527fac3cc8bf4b7f91b8e4387ddc50892ce98e15514edb89f53d2b5ecb7fbacd12ff60203392a2005b634e487b7160e01b5f52601160045260245ffd5b346104565760a0366003190112610456576004356001600160401b0381116104565761288a903690600401612d84565b60243590604435612899612d17565b916128a2612d2d565b6001600160a01b0390931693928290843387148015612a4c575b6128c59061314e565b15936128d5831586011515613189565b6128de846133ec565b92835f52600360205260405f2095155f14612a055750508354926129246001600160801b038061291b816129148960801c6131ca565b98166131ca565b169516876133ba565b925f19850197858911612846576129456129f99661055e60409b8b98612fb5565b965b825f525f602052895f20825f52602052895f20612965898254613141565b905560018101612976878254613141565b9055612987611cc76121408a613a37565b6001600160801b0361299b61216188613a37565b166001600160801b0319825416179055885191338352856020840152878a8401527fb0d1635dfdbe5c633488134986d37320944a02fc86bfcfecd77096755a30e104606060018060a01b03871694a4516001600160a01b0316613a96565b82519182526020820152f35b604097965092612a44869461055e6129f997949854916001600160801b0380612a3b612a328287166131ca565b9560801c6131ca565b169316906133ba565b968794612947565b505f87815260066020908152604080832033845290915290205460ff166128bc565b3461045657602036600319011261045657612a87612d01565b612a9c60018060a01b03600954163314613108565b600880546001600160a01b0319166001600160a01b039290921691821790557f8d0d37125715161666b8711c79ac750c3d48064efdcdb781d2613102fbfaddbd5f80a2005b34610456576060366003190112610456576004356001600160401b03811161045657612b14612bbd913690600401612d84565b60243590612b20612ceb565b612b29826133ec565b805f52600160205260405f2060018060a01b0383165f5260205260405f20612b52858254613141565b9055805f526003602052600160405f2001612b6e858254612fb5565b90556040518481526001600160a01b039092169133907f15abcbcae3c84bf0dd4d1f9b9593b93fd1008ba43286b5d963030916b438dca790602090a451309033906001600160a01b031661395c565b005b3461045657602036600319011261045657612bd8612d01565b60095490612bf0336001600160a01b03841614613108565b6001600160a01b03166001600160a01b03199190911681176009557f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb55f80a2005b34610456576020366003190112610456576004355f526003602052602060405f205460801c604051908152f35b34610456576060366003190112610456576004356001600160401b03811161045657612ca5612c936020923690600401612d84565b612c9b612ceb565b9060243590612fc2565b6040519015158152f35b606081019081106001600160401b0382111761260c57604052565b90601f801991011681019081106001600160401b0382111761260c57604052565b604435906001600160a01b038216820361045657565b600435906001600160a01b038216820361045657565b606435906001600160a01b038216820361045657565b608435906001600160a01b038216820361045657565b602435906001600160a01b038216820361045657565b35906001600160a01b038216820361045657565b6001600160401b03811161260c5760051b60200190565b9190916060818403126104565760405190612d9e82612caf565b8193612da982612d59565b835260208201356001600160401b03811161045657820181601f8201121561045657803590612dd782612d6d565b92612de56040519485612cca565b8284526020606081860194028301019181831161045657602001925b828410612e1c57505050506020830152604090810135910152565b606084830312610456576020606091604051612e3781612caf565b612e4087612d59565b81528287013583820152612e5660408801612d59565b6040820152815201930192612e01565b9190916006831015612e8257601e908360041c019260011b1690565b634e487b7160e01b5f52603260045260245ffd5b6001600160401b03811161260c57601f01601f191660200190565b81601f8201121561045657803590612ec882612e96565b92612ed66040519485612cca565b8284526020838301011161045657815f926020809301838601378301015290565b6040906003190112610456576004359060243590565b9181601f84011215610456578235916001600160401b038311610456576020838186019501011161045657565b90602080835192838152019201905f5b818110612f575750505090565b9091926020606060019260408751805183528481015185840152015160408201520194019101919091612f4a565b8051821015612e825760209160051b010190565b906ec097ce7bc90715b34b9f0fffffffff820180921161284657565b9190820180921161284657565b929091825f52600160205260405f2060018060a01b0382165f5260205260405f20545f925f935b602087015180518610806130ff575b156130f2579061300a86600493612f85565b51604080820151905163501ad8ff60e11b81529360209185919082906001600160a01b03165afa928315611fd4575f936130bd575b50610400670de0b6b3a76400009160206a0c097ce7bc90715b34b9f160241b6130a16130ab978d5f526002845260405f2060018060a01b038d165f52845260405f2060018060a01b0386511660018060a01b03165f52845260405f20546133ba565b04910151906133ba565b935f1981146128465760010193612fe9565b92506020833d82116130ea575b816130d760209383612cca565b810103126104565791519161040061303f565b3d91506130ca565b5093509450925050101590565b50838210612ff8565b1561310f57565b60405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b6044820152606490fd5b9190820391821161284657565b1561315557565b60405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b6044820152606490fd5b1561319057565b60405162461bcd60e51b8152602060048201526012602482015271125390d3d394d254d511539517d25394155560721b6044820152606490fd5b6001600160801b036001911601906001600160801b03821161284657565b906001600160801b03809116911601906001600160801b03821161284657565b906001600160801b03809116911603906001600160801b03821161284657565b1561322f57565b60405162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b6044820152606490fd5b90606081019160018060a01b0381511682526020810151926060602084015283518091526020608084019401905f5b8181106132ad5750505060408091015191015290565b825180516001600160a01b039081168852602082810151818a01526040928301519091169188019190915260609096019590920191600101613297565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b1561331557565b60405162461bcd60e51b815260206004820152600860248201526718dbdb9cdd5b595960c21b6044820152606490fd5b939092613361613393989693979460e0875260e0870190613268565b6001600160a01b03909716602086015260408501526060840152608083015260a082015280830360c0909101526132ea565b90565b90670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561284657565b8181029291811591840414171561284657565b908082146133e857546bffffffffffffffffffffffff169055565b5050565b6133f7304683613bf2565b6020815191012090815f52600360205260ff600260405f200154161561341b575090565b5f92835b6020830151805186101561349e576001600160a01b0390613441908790612f85565b515116906001600160a01b03168111156134605760019094019361341f565b60405162461bcd60e51b815260206004820152601660248201527518dbdb1b185d195c985b1cc81b9bdd081cdbdc9d195960521b6044820152606490fd5b50509250815f526003602052600260405f2001600160ff1982541617905560018060a01b038151165f5260076020526134e860405f20835f526003602052600360405f20016133cd565b6134f3304683613bf2565b80516001600160a01b03915f919060200182f5161561354c577fa5ffe53cdf879af6f5658e553012bc5f4ad0aee3c264091d69830add48f38c5a6135468392604051918291602083526020830190613268565b0390a290565b60405162461bcd60e51b815260206004820152602160248201527f4661696c656420746f20637265617465205353746f72653220636f6e747261636044820152601d60fa1b6064820152608490fd5b156135a257565b60405162461bcd60e51b815260206004820152600e60248201526d27b7363c903332b2a9b2ba3a32b960911b6044820152606490fd5b156135df57565b60405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b6044820152606490fd5b1561361b57565b60405162461bcd60e51b81526020600482015260146024820152730a8e4c2c8d2dcce40cccaca40e8dede40d0d2ced60631b6044820152606490fd5b1561365e57565b60405162461bcd60e51b8152602060048201526024808201527f6665652073686f756c642062652061206d756c7469706c65206f66204645455f6044820152630535445560e41b6064820152608490fd5b81156136b9570490565b634e487b7160e01b5f52601260045260245ffd5b3d156136f7573d906136de82612e96565b916136ec6040519384612cca565b82523d5f602084013e565b606090565b908060209392818452848401375f828201840152601f01601f1916010190565b906006811015612e825760051b0190565b5f526003602052600360405f2001604051905461ffff8116825261ffff8160101c16602083015261ffff8160201c16604083015261ffff8160301c16606083015261ffff8160401c16608083015261ffff60a083019160501c16815261379460c083612cca565b62ed4e008310156138e757506201518082101561385e575f906201518062ffffff8060ff855b16941691169261ffff6137cd828561371c565b51169264e8d4a5100084029380850464e8d4a51000149015171561284657600182018092116128465761ffff916138039161371c565b511664e8d4a5100081029080820464e8d4a510001490151715612846578461384c6138529261384085613846613858986138406133939c8c613141565b906133ba565b94613141565b90612fb5565b92613141565b906136af565b62093a808210156138845762093a80906201518062ffffff8060ff60015b9395936137ba565b62278d008210156138aa5762093a809062278d0062ffffff8060ff60025b95939561387c565b6276a7008210156138d0576276a7009062278d0062ffffff8060ff60035b9395936138a2565b62ed4e00906276a70062ffffff8060ff60046138c8565b905061ffff9150511664e8d4a5100081029080820464e8d4a5100014901517156128465790565b1561391557565b60405162461bcd60e51b81526020600482015260076024820152666e6f20636f646560c81b6044820152606490fd5b90816020910312610456575180151581036104565790565b905f809493819461396f853b151561390e565b6040516323b872dd60e01b602082019081526001600160a01b03958616602483015294909216604483015260648083019190915281526139b0608482612cca565b51925af16139bc6136cd565b9015611034578051908115918215613a1d575b5050156139d857565b60405162461bcd60e51b815260206004820152601b60248201527f7472616e7366657246726f6d2072657475726e65642066616c736500000000006044820152606490fd5b613a309250602080918301019101613944565b5f806139cf565b6001600160801b038111613a51576001600160801b031690565b60405162461bcd60e51b815260206004820152601960248201527f75696e74323536206f766572666c6f77732075696e74313238000000000000006044820152606490fd5b5f929183613ae2613af08295613aae863b151561390e565b60405163a9059cbb60e01b602082019081526001600160a01b03909616602482015260448101919091529182906064820190565b03601f198101835282612cca565b51925af1613afc6136cd565b9015611034578051908115918215613b5d575b505015613b1857565b60405162461bcd60e51b815260206004820152601760248201527f7472616e736665722072657475726e65642066616c73650000000000000000006044820152606490fd5b613b709250602080918301019101613944565b5f80613b0f565b5f811215613ba357613b8a905f03613b77565b80156136b9576a0c097ce7bc90715b34b9f160241b0490565b670de0b6b3a764000067099e8db03256ce5d6704cf46d8192b672e8301059167099e8db03256ce5d83029003671bc16d674ec80000818002056729a2241af62c00008282020591010101901b90565b61339391926020603492604095865193613c0c8886612cca565b600b8552838501976a603f380380603f5f395ff360a81b8952805191613c4d83613c3f8882019789895285830190613268565b03601f198101855284612cca565b8151998a97518091888a015e870193868501526bffffffffffffffffffffffff199060601b1690830152518092605483015e01015f838201520301601f198101835282612cca56fea264697066735822122057a0a41d6c3ddb4ad88f836caf11aaf7105e0b1f72ccc7a77a21fa7b6f8a7d4d64736f6c634300081f0033
@@ -36,9 +36,9 @@ declare const CollectorHealth: z.ZodObject<{
36
36
  updated_at: z.ZodNullable<z.ZodString>;
37
37
  lag: z.ZodNullable<z.ZodNumber>;
38
38
  status: z.ZodEnum<{
39
- unknown: "unknown";
40
39
  live: "live";
41
40
  lagging: "lagging";
41
+ unknown: "unknown";
42
42
  }>;
43
43
  initialized: z.ZodBoolean;
44
44
  }, z.core.$strip>;
@@ -49,9 +49,9 @@ declare const CollectorsHealthResponse: z.ZodArray<z.ZodObject<{
49
49
  updated_at: z.ZodNullable<z.ZodString>;
50
50
  lag: z.ZodNullable<z.ZodNumber>;
51
51
  status: z.ZodEnum<{
52
- unknown: "unknown";
53
52
  live: "live";
54
53
  lagging: "lagging";
54
+ unknown: "unknown";
55
55
  }>;
56
56
  initialized: z.ZodBoolean;
57
57
  }, z.core.$strip>>;
@@ -582,7 +582,7 @@ declare const MorphoV2: readonly [{
582
582
  readonly stateMutability: "nonpayable";
583
583
  readonly inputs: readonly [{
584
584
  readonly type: "address";
585
- readonly name: "recipient";
585
+ readonly name: "feeRecipient";
586
586
  }];
587
587
  readonly outputs: readonly [];
588
588
  }, {
@@ -662,6 +662,15 @@ declare const MorphoV2: readonly [{
662
662
  }, {
663
663
  readonly type: "address";
664
664
  readonly name: "taker";
665
+ }, {
666
+ readonly type: "address";
667
+ readonly name: "takerCallback";
668
+ }, {
669
+ readonly type: "bytes";
670
+ readonly name: "takerCallbackData";
671
+ }, {
672
+ readonly type: "address";
673
+ readonly name: "receiverIfTakerIsSeller";
665
674
  }, {
666
675
  readonly type: "tuple";
667
676
  readonly components: readonly [{
@@ -723,6 +732,9 @@ declare const MorphoV2: readonly [{
723
732
  }, {
724
733
  readonly type: "bytes";
725
734
  readonly name: "callbackData";
735
+ }, {
736
+ readonly type: "address";
737
+ readonly name: "receiverIfMakerIsSeller";
726
738
  }];
727
739
  readonly name: "offer";
728
740
  }, {
@@ -744,12 +756,6 @@ declare const MorphoV2: readonly [{
744
756
  }, {
745
757
  readonly type: "bytes32[]";
746
758
  readonly name: "proof";
747
- }, {
748
- readonly type: "address";
749
- readonly name: "takerCallback";
750
- }, {
751
- readonly type: "bytes";
752
- readonly name: "takerCallbackData";
753
759
  }];
754
760
  readonly outputs: readonly [{
755
761
  readonly type: "uint256";
@@ -871,6 +877,9 @@ declare const MorphoV2: readonly [{
871
877
  }, {
872
878
  readonly type: "address";
873
879
  readonly name: "onBehalf";
880
+ }, {
881
+ readonly type: "address";
882
+ readonly name: "receiver";
874
883
  }];
875
884
  readonly outputs: readonly [{
876
885
  readonly type: "uint256";
@@ -913,6 +922,9 @@ declare const MorphoV2: readonly [{
913
922
  }, {
914
923
  readonly type: "address";
915
924
  readonly name: "onBehalf";
925
+ }, {
926
+ readonly type: "address";
927
+ readonly name: "receiver";
916
928
  }];
917
929
  readonly outputs: readonly [];
918
930
  }, {
@@ -1100,7 +1112,7 @@ declare const MorphoV2: readonly [{
1100
1112
  readonly type: "event";
1101
1113
  readonly inputs: readonly [{
1102
1114
  readonly type: "address";
1103
- readonly name: "recipient";
1115
+ readonly name: "feeRecipient";
1104
1116
  readonly indexed: true;
1105
1117
  }];
1106
1118
  }, {
@@ -1175,6 +1187,9 @@ declare const MorphoV2: readonly [{
1175
1187
  }, {
1176
1188
  readonly type: "bool";
1177
1189
  readonly name: "sellerIsBorrower";
1190
+ }, {
1191
+ readonly type: "address";
1192
+ readonly name: "sellerReceiver";
1178
1193
  }, {
1179
1194
  readonly type: "bytes32";
1180
1195
  readonly name: "group";
@@ -1188,7 +1203,6 @@ declare const MorphoV2: readonly [{
1188
1203
  readonly inputs: readonly [{
1189
1204
  readonly type: "address";
1190
1205
  readonly name: "caller";
1191
- readonly indexed: true;
1192
1206
  }, {
1193
1207
  readonly type: "bytes32";
1194
1208
  readonly name: "id";
@@ -1203,6 +1217,10 @@ declare const MorphoV2: readonly [{
1203
1217
  readonly type: "address";
1204
1218
  readonly name: "onBehalf";
1205
1219
  readonly indexed: true;
1220
+ }, {
1221
+ readonly type: "address";
1222
+ readonly name: "receiver";
1223
+ readonly indexed: true;
1206
1224
  }];
1207
1225
  }, {
1208
1226
  readonly name: "WithdrawCollateral";
@@ -1225,6 +1243,9 @@ declare const MorphoV2: readonly [{
1225
1243
  readonly type: "address";
1226
1244
  readonly name: "onBehalf";
1227
1245
  readonly indexed: true;
1246
+ }, {
1247
+ readonly type: "address";
1248
+ readonly name: "receiver";
1228
1249
  }];
1229
1250
  }];
1230
1251
  type MorphoV2 = typeof MorphoV2;
@@ -1958,7 +1979,8 @@ type Offer = {
1958
1979
  readonly callback: {
1959
1980
  readonly address: Address;
1960
1981
  readonly data: Hex;
1961
- };
1982
+ }; /** Receiver of loan token proceeds when maker is seller on `take()`. */
1983
+ readonly receiverIfMakerIsSeller: Address;
1962
1984
  };
1963
1985
  declare enum Status {
1964
1986
  VALID = "VALID",
@@ -1991,6 +2013,7 @@ declare const OfferSchema: () => z$1.ZodObject<{
1991
2013
  address: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
1992
2014
  data: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
1993
2015
  }, z$1.core.$strip>;
2016
+ receiverIfMakerIsSeller: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
1994
2017
  }, z$1.core.$strip>;
1995
2018
  /**
1996
2019
  * Input type for creating offers. Accepts flexible group types that will be coerced to Hex.
@@ -2003,12 +2026,13 @@ declare const OfferSchema: () => z$1.ZodObject<{
2003
2026
  *
2004
2027
  * All values validated to be non-negative and within bytes32 range.
2005
2028
  */
2006
- type OfferInput = Compute<Omit<Offer, "chainId" | "group" | "session" | "obligationUnits" | "obligationShares"> & {
2029
+ type OfferInput = Compute<Omit<Offer, "chainId" | "group" | "session" | "obligationUnits" | "obligationShares" | "receiverIfMakerIsSeller"> & {
2007
2030
  chainId: number;
2008
2031
  group: Hex | bigint | number | string; /** Optional: defaults to zero bytes32. */
2009
2032
  session?: Hex | bigint | number | string; /** Optional: defaults to 0n. Mutually exclusive with assets and obligationShares. */
2010
2033
  obligationUnits?: bigint; /** Optional: defaults to 0n. Mutually exclusive with assets and obligationUnits. */
2011
- obligationShares?: bigint;
2034
+ obligationShares?: bigint; /** Optional: defaults to maker for backward compatibility. */
2035
+ receiverIfMakerIsSeller?: Address;
2012
2036
  }>;
2013
2037
  /**
2014
2038
  * Creates an offer from a plain object.
@@ -2026,9 +2050,9 @@ declare namespace from$10 {
2026
2050
  * @param input - The offer to create.
2027
2051
  * @returns The created offer.
2028
2052
  */
2029
- declare function fromSnakeCase$1(input: Snake<Omit<Offer, "chainId" | "session"> & {
2030
- chainId: number;
2031
- session: string;
2053
+ declare function fromSnakeCase$1(input: Snake<Omit<Offer, "session" | "receiverIfMakerIsSeller"> & {
2054
+ session?: Hex;
2055
+ receiverIfMakerIsSeller?: Address;
2032
2056
  }>): Offer;
2033
2057
  /**
2034
2058
  * Converts an offer to a snake case object.
@@ -2066,6 +2090,7 @@ declare const serialize: (offer: Offer) => {
2066
2090
  address: `0x${string}`;
2067
2091
  data: `0x${string}`;
2068
2092
  };
2093
+ receiverIfMakerIsSeller: `0x${string}`;
2069
2094
  hash: `0x${string}`;
2070
2095
  };
2071
2096
  type RandomConfig = {
@@ -2088,6 +2113,7 @@ type RandomConfig = {
2088
2113
  address: Address;
2089
2114
  data: Hex;
2090
2115
  };
2116
+ receiverIfMakerIsSeller?: Address;
2091
2117
  collaterals?: readonly Collateral[];
2092
2118
  };
2093
2119
  /**
@@ -2158,6 +2184,9 @@ declare const types: {
2158
2184
  }, {
2159
2185
  readonly name: "callback";
2160
2186
  readonly type: "Callback";
2187
+ }, {
2188
+ readonly name: "receiverIfMakerIsSeller";
2189
+ readonly type: "address";
2161
2190
  }];
2162
2191
  readonly Collateral: readonly [{
2163
2192
  readonly name: "asset";
@@ -2256,6 +2285,11 @@ declare const takeEvent: {
2256
2285
  readonly type: "bool";
2257
2286
  readonly indexed: false;
2258
2287
  readonly internalType: "bool";
2288
+ }, {
2289
+ readonly name: "sellerReceiver";
2290
+ readonly type: "address";
2291
+ readonly indexed: false;
2292
+ readonly internalType: "address";
2259
2293
  }, {
2260
2294
  readonly name: "group";
2261
2295
  readonly type: "bytes32";
@@ -2459,26 +2493,26 @@ declare namespace from$8 {
2459
2493
  type ReturnType = Position;
2460
2494
  }
2461
2495
  declare namespace Quote_d_exports {
2462
- export { InvalidQuoteError, Quote, QuoteSchema, from$7 as from, fromSnakeCase, random };
2496
+ export { InvalidQuoteError, Quote, QuoteInput, Side, from$7 as from, fromSnakeCase, random };
2463
2497
  }
2464
- type Quote = {
2498
+ type Side = {
2499
+ /** The best side tick, or null when no active quote exists. */tick: number | null; /** The side price for the obligation. (18 decimals). */
2500
+ price: bigint;
2501
+ };
2502
+ type QuoteInput = {
2465
2503
  /** The obligation id. */obligationId: Hex;
2466
2504
  ask: {
2467
- /** The ask price for the obligation. (18 decimals). */price: bigint;
2505
+ /** The best ask tick, or null when there is no active ask quote. */tick: number | null;
2468
2506
  };
2469
2507
  bid: {
2470
- /** The bid price for the obligation. (18 decimals). */price: bigint;
2508
+ /** The best bid tick, or null when there is no active bid quote. */tick: number | null;
2471
2509
  };
2472
2510
  };
2473
- declare const QuoteSchema: z$1.ZodObject<{
2474
- obligationId: z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>;
2475
- ask: z$1.ZodObject<{
2476
- price: z$1.ZodBigInt;
2477
- }, z$1.core.$strip>;
2478
- bid: z$1.ZodObject<{
2479
- price: z$1.ZodBigInt;
2480
- }, z$1.core.$strip>;
2481
- }, z$1.core.$strip>;
2511
+ type Quote = {
2512
+ /** The obligation id. */obligationId: Hex;
2513
+ ask: Side;
2514
+ bid: Side;
2515
+ };
2482
2516
  /**
2483
2517
  * Creates a quote for a given obligation.
2484
2518
  * @constructor
@@ -2488,12 +2522,12 @@ declare const QuoteSchema: z$1.ZodObject<{
2488
2522
  *
2489
2523
  * @example
2490
2524
  * ```ts
2491
- * const quote = Quote.from({ obligationId: "0x123", ask: { price: 100n }, bid: { price: 100n } });
2525
+ * const quote = Quote.from({ obligationId: "0x123", ask: { tick: 500 }, bid: { tick: 510 } });
2492
2526
  * ```
2493
2527
  */
2494
2528
  declare function from$7(parameters: from$7.Parameters): from$7.ReturnType;
2495
2529
  declare namespace from$7 {
2496
- type Parameters = Quote;
2530
+ type Parameters = QuoteInput;
2497
2531
  type ReturnType = Quote;
2498
2532
  type ErrorType = InvalidQuoteError;
2499
2533
  }
@@ -2505,7 +2539,7 @@ declare namespace from$7 {
2505
2539
  */
2506
2540
  declare function fromSnakeCase(snake: fromSnakeCase.Parameters): fromSnakeCase.ReturnType;
2507
2541
  declare namespace fromSnakeCase {
2508
- type Parameters = Snake<Quote>;
2542
+ type Parameters = Snake<QuoteInput>;
2509
2543
  type ReturnType = Quote;
2510
2544
  type ErrorType = from$7.ErrorType;
2511
2545
  }
@@ -3132,11 +3166,16 @@ interface paths {
3132
3166
  };
3133
3167
  /**
3134
3168
  * List all obligations
3135
- * @description Returns a list of obligations with their current best ask and bid. Obligations are sorted by their id in ascending order by default.
3169
+ * @description Returns a list of obligations with their current best ask and bid. Sorting is customizable with the sort parameter and defaults to id ascending.
3136
3170
  */
3137
3171
  get: {
3138
3172
  parameters: {
3139
3173
  query?: {
3174
+ /**
3175
+ * @description Sort order as comma-separated fields (`id`, `ask`, `bid`, `maturity`). Prefix with `-` for descending order. Max 3 fields.
3176
+ * @example -ask,bid,maturity
3177
+ */
3178
+ sort?: string;
3140
3179
  /**
3141
3180
  * @description Filter by exact maturity timestamps (comma-separated, unix seconds).
3142
3181
  * @example 1761922800,1764524800
@@ -3163,8 +3202,8 @@ interface paths {
3163
3202
  */
3164
3203
  limit?: number;
3165
3204
  /**
3166
- * @description Obligation id cursor for pagination.
3167
- * @example 0x25690ae1aee324a005be565f3bcdd16dbf8daf7969b26c181c8b8f467dad9abc
3205
+ * @description Pagination cursor in base64url-encoded format.
3206
+ * @example eyJzb3J0IjpbImlkIl0sImlkIjoiMHgxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLCJhc2siOiIwIiwiYmlkIjoiMCIsIm1hdHVyaXR5IjoxNzYxOTIyODAwfQ
3168
3207
  */
3169
3208
  cursor?: string;
3170
3209
  };
@@ -3649,7 +3688,8 @@ interface components {
3649
3688
  * "group": "0x000000000000000000000000000000000000000000000000000000000008b8f4",
3650
3689
  * "session": "0x0000000000000000000000000000000000000000000000000000000000000000",
3651
3690
  * "callback": "0x0000000000000000000000000000000000000000",
3652
- * "callback_data": "0x"
3691
+ * "callback_data": "0x",
3692
+ * "receiver_if_maker_is_seller": "0x7b093658BE7f90B63D7c359e8f408e503c2D9401"
3653
3693
  * },
3654
3694
  * "offer_hash": "0xac4bd8318ec914f89f8af913f162230575b0ac0696a19256bc12138c5cfe1427",
3655
3695
  * "obligation_id": "0x25690ae1aee324a005be565f3bcdd16dbf8daf7969b26c181c8b8f467dad9abc",
@@ -3693,7 +3733,8 @@ interface components {
3693
3733
  * "group": "0x000000000000000000000000000000000000000000000000000000000008b8f4",
3694
3734
  * "session": "0x0000000000000000000000000000000000000000000000000000000000000000",
3695
3735
  * "callback": "0x0000000000000000000000000000000000000000",
3696
- * "callback_data": "0x"
3736
+ * "callback_data": "0x",
3737
+ * "receiver_if_maker_is_seller": "0x7b093658BE7f90B63D7c359e8f408e503c2D9401"
3697
3738
  * }
3698
3739
  */
3699
3740
  offer: components["schemas"]["OfferDataResponse"]; /** @example 0xac4bd8318ec914f89f8af913f162230575b0ac0696a19256bc12138c5cfe1427 */
@@ -3739,7 +3780,8 @@ interface components {
3739
3780
  group: string; /** @example 0x0000000000000000000000000000000000000000000000000000000000000000 */
3740
3781
  session: string; /** @example 0x0000000000000000000000000000000000000000 */
3741
3782
  callback: string; /** @example 0x */
3742
- callback_data: string;
3783
+ callback_data: string; /** @example 0x7b093658BE7f90B63D7c359e8f408e503c2D9401 */
3784
+ receiver_if_maker_is_seller: string;
3743
3785
  };
3744
3786
  ObligationOfferResponse: {
3745
3787
  /** @example 0xC9A9C45C0eB717f8b5F193Af6bAa05A1c0Ac5078 */loan_token: string;
@@ -3761,7 +3803,7 @@ interface components {
3761
3803
  oracle: string;
3762
3804
  };
3763
3805
  ObligationListResponse: {
3764
- meta: components["schemas"]["Meta"]; /** @example 0x25690ae1aee324a005be565f3bcdd16dbf8daf7969b26c181c8b8f467dad9abc */
3806
+ meta: components["schemas"]["Meta"]; /** @example eyJzb3J0IjpbImlkIl0sImlkIjoiMHgxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLCJhc2siOiIwIiwiYmlkIjoiMCIsIm1hdHVyaXR5IjoxNzYxOTIyODAwfQ */
3765
3807
  cursor: string | null; /** @description List of obligations with takable offers. */
3766
3808
  data: components["schemas"]["ObligationResponse"][];
3767
3809
  };
@@ -3775,10 +3817,20 @@ interface components {
3775
3817
  bid: components["schemas"]["BidResponse"];
3776
3818
  };
3777
3819
  AskResponse: {
3778
- /** @example 1000000000000000000 */price: string;
3820
+ /**
3821
+ * @description Best ask tick. Null when there is no active ask quote.
3822
+ * @example 500
3823
+ */
3824
+ tick: number | null; /** @example 1000000000000000000 */
3825
+ price: string;
3779
3826
  };
3780
3827
  BidResponse: {
3781
- /** @example 1000000000000000000 */price: string;
3828
+ /**
3829
+ * @description Best bid tick. Null when there is no active bid quote.
3830
+ * @example 500
3831
+ */
3832
+ tick: number | null; /** @example 1000000000000000000 */
3833
+ price: string;
3782
3834
  };
3783
3835
  ObligationSingleSuccessResponse: {
3784
3836
  meta: components["schemas"]["Meta"]; /** @example null */
@@ -3937,7 +3989,8 @@ interface components {
3937
3989
  * "data": "0x"
3938
3990
  * }
3939
3991
  */
3940
- callback: components["schemas"]["ValidateCallbackRequest"];
3992
+ callback: components["schemas"]["ValidateCallbackRequest"]; /** @example 0x7b093658BE7f90B63D7c359e8f408e503c2D9401 */
3993
+ receiver_if_maker_is_seller: string;
3941
3994
  };
3942
3995
  ValidateCollateralRequest: {
3943
3996
  /** @example 0x34Cf890dB685FC536E05652FB41f02090c3fb751 */asset: string; /** @example 0x45093658BE7f90B63D7c359e8f408e503c2D9401 */
@@ -3980,6 +4033,7 @@ type ObligationResponse = paths["/v1/obligations"]["get"]["responses"]["200"]["c
3980
4033
  * Creates an `ObligationResponse` from a `Obligation`.
3981
4034
  * @constructor
3982
4035
  * @param obligation - {@link Obligation}
4036
+ * @param quote - {@link Quote}
3983
4037
  * @returns The created `ObligationResponse`. {@link ObligationResponse}
3984
4038
  */
3985
4039
  declare function from$3(obligation: Obligation, quote: Quote): ObligationResponse;
@@ -4011,6 +4065,7 @@ type Input = Readonly<{
4011
4065
  address: Address;
4012
4066
  data: Hex;
4013
4067
  };
4068
+ receiverIfMakerIsSeller: Address;
4014
4069
  root?: Hex | undefined;
4015
4070
  proof?: Hex[] | undefined;
4016
4071
  signature?: Hex | undefined;
@@ -4132,11 +4187,11 @@ declare const schemas: {
4132
4187
  cursor: z$1.ZodOptional<z$1.ZodString>;
4133
4188
  limit: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodPipe<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<number, string>>, z$1.ZodNumber>>>;
4134
4189
  types: z$1.ZodOptional<z$1.ZodPipe<z$1.ZodTransform<{} | null | undefined, unknown>, z$1.ZodArray<z$1.ZodEnum<{
4135
- oracle: "oracle";
4136
4190
  maturity: "maturity";
4137
4191
  callback: "callback";
4138
4192
  loan_token: "loan_token";
4139
4193
  collateral_token: "collateral_token";
4194
+ oracle: "oracle";
4140
4195
  }>>>>;
4141
4196
  chains: z$1.ZodOptional<z$1.ZodPipe<z$1.ZodTransform<{} | null | undefined, unknown>, z$1.ZodArray<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<number, string>>>>>;
4142
4197
  }, z$1.core.$strip>;
@@ -4168,6 +4223,7 @@ declare const schemas: {
4168
4223
  loan_tokens: z$1.ZodOptional<z$1.ZodPipe<z$1.ZodTransform<{} | null | undefined, unknown>, z$1.ZodArray<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>>>>;
4169
4224
  collateral_tokens: z$1.ZodOptional<z$1.ZodPipe<z$1.ZodTransform<{} | null | undefined, unknown>, z$1.ZodArray<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<`0x${string}`, string>>>>>;
4170
4225
  maturities: z$1.ZodOptional<z$1.ZodPipe<z$1.ZodTransform<{} | null | undefined, unknown>, z$1.ZodArray<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<number, string>>>>>;
4226
+ sort: z$1.ZodOptional<z$1.ZodPipe<z$1.ZodTransform<{} | null | undefined, unknown>, z$1.ZodArray<z$1.ZodString>>>;
4171
4227
  limit: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodPipe<z$1.ZodPipe<z$1.ZodString, z$1.ZodTransform<number, string>>, z$1.ZodNumber>>>;
4172
4228
  }, z$1.core.$strip>;
4173
4229
  readonly get_obligation: z$1.ZodObject<{
@@ -4284,13 +4340,16 @@ declare namespace getOffers {
4284
4340
  }
4285
4341
  declare function getObligations(apiClient: Client<paths>, parameters?: getObligations.Parameters): Promise<getObligations.ReturnType>;
4286
4342
  declare namespace getObligations {
4343
+ type SortField = "id" | "ask" | "bid" | "maturity";
4344
+ type SortEntry = SortField | `-${SortField}`;
4287
4345
  type Parameters = {
4288
- /** Pagination cursor is a 32-byte hex string. */cursor?: Hex; /** Maximum number of obligations to return. @default 20 */
4346
+ /** Pagination cursor in base64url-encoded format. */cursor?: string; /** Maximum number of obligations to return. @default 20 */
4289
4347
  limit?: number; /** Filter by chain IDs (comma-separated). */
4290
4348
  chainIds?: number[]; /** Filter by loan token addresses (comma-separated). */
4291
4349
  loanTokens?: Address[]; /** Filter by collateral tokens (comma-separated, matches any collateral). */
4292
4350
  collateralTokens?: Address[]; /** Filter by exact maturity timestamps (comma-separated, unix seconds). */
4293
- maturities?: number[];
4351
+ maturities?: number[]; /** Sort order entries in priority order. Prefix with '-' for descending. Max 3 fields. */
4352
+ sort?: SortEntry[];
4294
4353
  };
4295
4354
  type ReturnType = {
4296
4355
  obligations: Compute<{