@ercworldio/blockchain-shared 1.0.3-dev.4-PROJ-1296.11 → 1.0.3-dev.4-PROJ-1448.1
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.
- package/build/chains/networks_dev.json +5 -5
- package/build/contracts/Escrow.d.ts +5 -5
- package/build/contracts/EscrowErrors.d.ts +13 -1
- package/build/contracts/EscrowErrors.d.ts.map +1 -1
- package/build/contracts/EscrowErrors.js +12 -0
- package/build/contracts/artifacts/Escrow.json +114 -0
- package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts +34 -5
- package/build/contracts/typechain-types/contracts/escrow/Escrow.d.ts.map +1 -1
- package/build/contracts/typechain-types/contracts/lib/Events.d.ts +1 -4
- package/build/contracts/typechain-types/contracts/lib/Events.d.ts.map +1 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts +13 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.d.ts.map +1 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowAccessControl__factory.js +17 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts +13 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.d.ts.map +1 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowErrors__factory.js +17 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.d.ts +1 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/EscrowSignature__factory.js +1 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts +88 -6
- package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.d.ts.map +1 -1
- package/build/contracts/typechain-types/factories/contracts/escrow/Escrow__factory.js +115 -7
- package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.d.ts +1 -6
- package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.d.ts.map +1 -1
- package/build/contracts/typechain-types/factories/contracts/lib/Events__factory.js +1 -7
- package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.d.ts +45 -1
- package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.d.ts.map +1 -1
- package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.js +59 -1
- package/build/utils/custodial.d.ts.map +1 -1
- package/build/utils/custodial.js +4 -0
- package/package.json +1 -1
|
@@ -54,6 +54,22 @@ const _abi = [
|
|
|
54
54
|
name: "AlreadyCreatedTransaction",
|
|
55
55
|
type: "error",
|
|
56
56
|
},
|
|
57
|
+
{
|
|
58
|
+
inputs: [
|
|
59
|
+
{
|
|
60
|
+
internalType: "uint256",
|
|
61
|
+
name: "request_id",
|
|
62
|
+
type: "uint256",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
internalType: "uint8",
|
|
66
|
+
name: "error_id",
|
|
67
|
+
type: "uint8",
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
name: "BatchError",
|
|
71
|
+
type: "error",
|
|
72
|
+
},
|
|
57
73
|
{
|
|
58
74
|
inputs: [
|
|
59
75
|
{
|
|
@@ -174,6 +190,27 @@ const _abi = [
|
|
|
174
190
|
name: "InsufficientExecutiveSigs",
|
|
175
191
|
type: "error",
|
|
176
192
|
},
|
|
193
|
+
{
|
|
194
|
+
inputs: [
|
|
195
|
+
{
|
|
196
|
+
internalType: "uint256",
|
|
197
|
+
name: "requestId",
|
|
198
|
+
type: "uint256",
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
internalType: "uint256",
|
|
202
|
+
name: "required",
|
|
203
|
+
type: "uint256",
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
internalType: "uint256",
|
|
207
|
+
name: "provided",
|
|
208
|
+
type: "uint256",
|
|
209
|
+
},
|
|
210
|
+
],
|
|
211
|
+
name: "InsufficientExecutiveSigsForRequest",
|
|
212
|
+
type: "error",
|
|
213
|
+
},
|
|
177
214
|
{
|
|
178
215
|
inputs: [
|
|
179
216
|
{
|
|
@@ -206,6 +243,27 @@ const _abi = [
|
|
|
206
243
|
name: "InsufficientManagerSigs",
|
|
207
244
|
type: "error",
|
|
208
245
|
},
|
|
246
|
+
{
|
|
247
|
+
inputs: [
|
|
248
|
+
{
|
|
249
|
+
internalType: "uint256",
|
|
250
|
+
name: "requestId",
|
|
251
|
+
type: "uint256",
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
internalType: "uint256",
|
|
255
|
+
name: "required",
|
|
256
|
+
type: "uint256",
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
internalType: "uint256",
|
|
260
|
+
name: "provided",
|
|
261
|
+
type: "uint256",
|
|
262
|
+
},
|
|
263
|
+
],
|
|
264
|
+
name: "InsufficientManagerSigsForRequest",
|
|
265
|
+
type: "error",
|
|
266
|
+
},
|
|
209
267
|
{
|
|
210
268
|
inputs: [],
|
|
211
269
|
name: "InsufficientReserves",
|
|
@@ -243,6 +301,22 @@ const _abi = [
|
|
|
243
301
|
name: "InvalidMultiSig",
|
|
244
302
|
type: "error",
|
|
245
303
|
},
|
|
304
|
+
{
|
|
305
|
+
inputs: [
|
|
306
|
+
{
|
|
307
|
+
internalType: "uint256",
|
|
308
|
+
name: "requestId",
|
|
309
|
+
type: "uint256",
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
internalType: "uint256",
|
|
313
|
+
name: "sig_idx",
|
|
314
|
+
type: "uint256",
|
|
315
|
+
},
|
|
316
|
+
],
|
|
317
|
+
name: "InvalidMultiSigForRequest",
|
|
318
|
+
type: "error",
|
|
319
|
+
},
|
|
246
320
|
{
|
|
247
321
|
inputs: [
|
|
248
322
|
{
|
|
@@ -777,12 +851,6 @@ const _abi = [
|
|
|
777
851
|
{
|
|
778
852
|
anonymous: false,
|
|
779
853
|
inputs: [
|
|
780
|
-
{
|
|
781
|
-
indexed: false,
|
|
782
|
-
internalType: "address",
|
|
783
|
-
name: "caller",
|
|
784
|
-
type: "address",
|
|
785
|
-
},
|
|
786
854
|
{
|
|
787
855
|
indexed: false,
|
|
788
856
|
internalType: "address",
|
|
@@ -1318,6 +1386,46 @@ const _abi = [
|
|
|
1318
1386
|
stateMutability: "nonpayable",
|
|
1319
1387
|
type: "function",
|
|
1320
1388
|
},
|
|
1389
|
+
{
|
|
1390
|
+
inputs: [
|
|
1391
|
+
{
|
|
1392
|
+
components: [
|
|
1393
|
+
{
|
|
1394
|
+
internalType: "uint256",
|
|
1395
|
+
name: "amount",
|
|
1396
|
+
type: "uint256",
|
|
1397
|
+
},
|
|
1398
|
+
{
|
|
1399
|
+
internalType: "uint256",
|
|
1400
|
+
name: "requestId",
|
|
1401
|
+
type: "uint256",
|
|
1402
|
+
},
|
|
1403
|
+
{
|
|
1404
|
+
internalType: "address",
|
|
1405
|
+
name: "tokenAddress",
|
|
1406
|
+
type: "address",
|
|
1407
|
+
},
|
|
1408
|
+
{
|
|
1409
|
+
internalType: "address",
|
|
1410
|
+
name: "receiverAddress",
|
|
1411
|
+
type: "address",
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
internalType: "uint256",
|
|
1415
|
+
name: "executeAt",
|
|
1416
|
+
type: "uint256",
|
|
1417
|
+
},
|
|
1418
|
+
],
|
|
1419
|
+
internalType: "struct Types.ExecuteWithdrawalPayload[]",
|
|
1420
|
+
name: "payload",
|
|
1421
|
+
type: "tuple[]",
|
|
1422
|
+
},
|
|
1423
|
+
],
|
|
1424
|
+
name: "batchExecuteWithdrawal",
|
|
1425
|
+
outputs: [],
|
|
1426
|
+
stateMutability: "nonpayable",
|
|
1427
|
+
type: "function",
|
|
1428
|
+
},
|
|
1321
1429
|
{
|
|
1322
1430
|
inputs: [
|
|
1323
1431
|
{
|
|
@@ -3049,7 +3157,7 @@ const _abi = [
|
|
|
3049
3157
|
type: "receive",
|
|
3050
3158
|
},
|
|
3051
3159
|
];
|
|
3052
|
-
const _bytecode = "0x6080806040523460155761576f908161001a8239f35b5f80fdfe6080806040526004361015610052575b50361561001a575f80fd5b7fb0afe9a71610967b99fda7fda0ed1e6ff47851924352fdf759922dd54272594160606040513381525f6020820152346040820152a1005b5f3560e01c90816301ffc9a714613557575080630430e9321461323a57806311a4b2d0146131b657806312065fe01461319b57806317f6939e146131805780631c599c9a146130bf57806320f5117c14613087578063248a9ca31461305d57806325ea836414612ddd5780632df4da6e14612c2e5780632f2ff15d14612bf157806331993fdf14612b105780633462ceff14612af35780633644e51514612ad657806336568abe14612a925780633945c4a614612a755780633aa98a94146129ce5780633af32abf146129b05780633f4ba83a1461296f578063427ba1a1146127315780634a78b2f5146126f7578063518713d2146126b05780635ba1c1a9146126945780635c2598781461231f578063650f2ba5146122d95780636c3824ef146121bf5780637026cb5814612185578063759f4eaa14611f1857806378b61a1514611eb9578063798812ea14611e915780637c13ba6414611cbf5780637d4e22f214611c555780637ecebe0014611c1d5780637ef066c814611be35780638456cb5914611b9e57806385fb709d146119df5780638e8b3f2f146119c257806391d148541461199257806395349251146119635780639b19251a146119265780639d010058146118fe578063a0c7f799146118c4578063a217fddf146118aa578063a31989ad1461188d578063a3a000721461172b578063a3bfd3aa146116a7578063ac21242d1461162e578063afbef47b14611555578063b187bd2614611530578063b2065f60146114f6578063b700f456146114bc578063bec4742c1461149f578063bfbe3f2214611432578063c0608667146113f8578063c21029641461122b578063c4707a8314611204578063c67515dd146111d2578063d37dbaa2146111a4578063d547741f14611160578063d55c16fd146110a1578063d8a4676f14611072578063da6e2ec014610fb3578063e20c103c14610f71578063e5b6337b14610d72578063e88e5cd414610b1c578063eb818b1f14610954578063ebdf690f1461091a578063ef227b56146108a3578063f01068a114610869578063f14280cb14610811578063f470c7e214610720578063f5b541a6146106f9578063f8b2cb4f146106ce578063fa07bb5414610694578063fa13f30a14610460578063fc50455f146103ec5763fddbf3f3146103ad575f61000f565b346103e85760203660031901126103e8576001600160a01b036103ce6135c0565b165f526067602052602060ff60405f205416604051908152f35b5f80fd5b346103e85760403660031901126103e857610410610408613602565b600435614413565b604051815191600483101561044c5760809282526020810151602083015260408101516040830152606060018060a01b03910151166060820152f35b634e487b7160e01b5f52602160045260245ffd5b346103e85760403660031901126103e8576004356001600160401b0381116103e857366023820112156103e8578060040135906001600160401b0382116103e8576024810190602436918460061b0101116103e8576024356001600160a01b038116908190036103e8576104d333613f57565b1580610684575b6106755780156106665760288311610652575f5b83811061050057602060405160018152f35b61051361050e828686614403565b613aad565b906001600160a01b03610532602061052c848989614403565b01613aad565b168015610643576001600160a01b0383169030821461063457805f52603360205260ff60405f20541615610622576040516370a0823160e01b81526004810183905290602082602481845afa9182156106175786905f936105d3575b5091816105b08260a0956001995f5160206156fa5f395f51905f529896615125565b60405192338452602084015287604084015260608301526080820152a1016104ee565b925050916020823d821161060f575b816105ef6020938361375f565b810103126103e85790519091855f5160206156fa5f395f51905f5261058e565b3d91506105e2565b6040513d5f823e3d90fd5b63094403b760e41b5f5260045260245ffd5b630d20048960e01b5f5260045ffd5b631b71aaf760e31b5f5260045ffd5b63af89cf2160e01b5f52602860045260245ffd5b63d92e233d60e01b5f5260045ffd5b63ea8e4eb560e01b5f5260045ffd5b5061068e33613fde565b156104da565b346103e8575f3660031901126103e85760206040517faf82374944a6f0200e0a96e99d9d9aa4925409c95c28b14a1d426baddd614aa88152f35b346103e85760203660031901126103e85760206106f16106ec6135c0565b61439a565b604051908152f35b346103e8575f3660031901126103e85760206040515f5160206156ba5f395f51905f528152f35b346103e85761072e366139e0565b61073733613f57565b1580610801575b806107f1575b61067557602860ff825116116107e25760405190610160610765818461375f565b600a8352601f19013660208401375f5f5b82518110156107d0576107898184613c08565b515f52609c60205260ff60405f2054166107a6575b600101610776565b906107c86001916107b78486613c08565b516107c28288613c08565b52613bfa565b91905061079e565b604051806107de8682613a5e565b0390f35b63f726140760e01b5f5260045ffd5b506107fb33613eab565b15610744565b5061080b33613fde565b1561073e565b346103e85760203660031901126103e85760043560068110156103e85761083a6107de91614363565b60405191829182919091604080606083019460ff815116845260ff602082015116602085015201511515910152565b346103e8575f3660031901126103e85760206040517fb7733e58c7517dbd9e44ca467a39c0556186bc3a7271956f0a22baafb5dc93c38152f35b346103e85760203660031901126103e8576107de6108c76108c26135c0565b614300565b6040519182918291909160a08060c08301948051845260ff602082015116602085015260ff604082015116604085015260ff606082015116606085015260ff608082015116608085015201511515910152565b346103e8575f3660031901126103e85760206040517fede9dcdb0ce99dc7cec9c7be9246ad08b37853683ad91569c187b647ddf5e21c8152f35b346103e8576109623661369e565b61096b33613f57565b1561067557606a549060018216610a05575b505050610998604061099160208401613c2c565b9201613c2c565b906001604051926109a884613744565b62ff000061ff0060ff85169485875284604060ff861698896020820152015260081b169160101b16171760695560405160066003101561044c575f5160206156da5f395f51905f52926060926003835260208301526040820152a1005b60608401359060a15492838303610b0557610a1f90614ce1565b936001546080873603126103e85760405195610a3a876136f3565b873560068110156103e85787610af59682610afa9a5260ff808c6060610a756040610a676020850161385d565b93602089019485520161385d565b956040810196875201938452511692511690519060405192610ac260208501957fd9f156a761105f6361512d31cea845f4ddff720a324d1318ade78663a62bb31887526040860190613ace565b6060840152608083015260a082015260a08152610ae060c08261375f565b51902060ff60208184511693015116926149df565b613bfa565b60a15581808061097d565b82846306427aeb60e01b5f5260045260245260445ffd5b346103e85760e03660031901126103e857600435602435610b3b6135d6565b610b436135ec565b9160603660831901126103e857609b5460ff8160081c16610d635760ff8116610d545760ff1916600117609b556001600160a01b0382165f8181526033602052604090205490949060ff1615610d41578015610d32576001600160a01b038416801561066657825f52609c60205260ff60405f205416610d1f57604051602081019060843560ff81168091036103e857825260a435604082015260c435606082015260608152610bf460808261375f565b51902095865f52609a60205260ff60405f205416610d10576084610c45610c5293610c4d9360405191610c26836136d8565b600183528760208401526040830152606082015286608082015261465f565b6001546153a4565b614119565b15610d015780610c6184614d2c565b10610c9157610c85945f52609a60205260405f20600160ff19825416179055614b17565b609b805460ff19169055005b7f2aa807c191208ec364a49ebc0018975f798050694e1695937b26706e4f0a88589083610cef610cc082614d2c565b604080513381526001600160a01b03909416602085015283019390935260608201929092529081906080820190565b0390a163128bd24d60e31b5f5260045ffd5b638baa579f60e01b5f5260045ffd5b63900bb2c960e01b5f5260045ffd5b82631409d1b760e21b5f5260045260245ffd5b637c946ed760e01b5f5260045ffd5b8463094403b760e41b5f5260045260245ffd5b630ef7697f60e01b5f5260045ffd5b63ab35696f60e01b5f5260045ffd5b346103e85760c03660031901126103e857600435610d8e613602565b906044356001600160401b0381116103e857610dae903690600401613967565b9260603660631901126103e85760ff609b5460081c16610d63578215610d32576001600160a01b03168015610f6257805f52603360205260ff60405f2054161561062257604051602081019060643560ff81168091036103e8578252608435604082015260a435606082015260608152610e2960808261375f565b51902093845f52609a60205260ff60405f205416610d1057335f526099602052610ec3610c4d606460405f205460405190610e63826136d8565b5f825260208083018a9052336040808501829052606085018a905260809094018390529251908101929091610eb8918391610eaa916001600160a01b038c16908e88614609565b03601f19810183528261375f565b5190206001546153a4565b15610d01578060a0937fef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb395965f52609a60205260405f20600160ff19825416179055335f52609960205260405f20610f1a8154613bfa565b9055610f2886303387615125565b6040519586943386526020860152604085015260806060850152816080850152848401375f828201840152601f01601f19168101030190a1005b6301cc396360e41b5f5260045ffd5b346103e85760203660031901126103e8576004356001600160401b0381116103e857610fa4610fb19136906004016137f8565b610fac614e82565b61540f565b005b346103e85760203660031901126103e8576004356001600160401b0381116103e857610fe390369060040161386b565b610fec33613f57565b1561067557604060205f5b8351811015610fb1576001600160a01b036110128286613c08565b515116906110296110238287613c08565b51614f1b565b8351611035858261375f565b6001815260208101908436833780511561105e576001938261105893505261540f565b01610ff7565b634e487b7160e01b5f52603260045260245ffd5b346103e85760203660031901126103e8576004355f52609c602052602060ff60405f2054166040519015158152f35b346103e8576110af366139e0565b6110b833613f57565b1580611150575b80611140575b61067557602860ff825116116107e257604051906101606110e6818461375f565b600a8352601f19013660208401375f5f5b82518110156107d05761110a8184613c08565b515f52609d60205260ff60405f205416611127575b6001016110f7565b906111386001916107b78486613c08565b91905061111f565b5061114a33613eab565b156110c5565b5061115a33613fde565b156110bf565b346103e85760403660031901126103e857610fb160043561117f613602565b9061119f611198825f525f602052600160405f20015490565b3390615510565b614ead565b346103e85760206111c06111b736613994565b9392909261428d565b6040516001600160a01b039091168152f35b346103e85760403660031901126103e8576111eb6135c0565b6024359060068210156103e8576020916106f191614237565b346103e8575f3660031901126103e85760206040515f51602061569a5f395f51905f528152f35b346103e85760203660031901126103e8576004356001600160401b0381116103e85761125b903690600401613937565b61126433613f57565b15806113e8575b61067557609b5460ff8116610d545760ff1916600117609b5580156113d957602881116107e25763ffffffff811691905f5b63ffffffff811682811015610c85576112dc6112bf604061052c848789613c1c565b6001600160a01b03165f9081526033602052604090205460ff1690565b156113a9576112ec818486613c1c565b3515610d32576001600160a01b0361130a606061052c848789613c1c565b161561066657602061131d828587613c1c565b01355f52609c60205260ff60405f205416611388579061137e85848487611378606061052c611370604061052c876113596113839e8b8a613c1c565b3599602061136883838c613c1c565b013598613c1c565b948b8d613c1c565b92614c02565b614220565b61129d565b6113956020918486613c1c565b0135631409d1b760e21b5f5260045260245ffd5b604061052c6113b9928587613c1c565b63094403b760e41b5f9081526001600160a01b0391909116600452602490fd5b630b8fc7cd60e21b5f5260045ffd5b506113f233613fde565b1561126b565b346103e8575f3660031901126103e85760206040517ff7401a2aa2d57dbee8bd296c5ac47eac2db8a2db2ff59d50c0534dc8be92dc6e8152f35b346103e85760603660031901126103e85760043560068110156103e8576024359060ff8216918281036103e8576044359160ff8316938484036103e85761147833613f57565b156106755760408051610fb19660019361149183613744565b825260208201520152615004565b346103e8575f3660031901126103e8576020606b54604051908152f35b346103e8575f3660031901126103e85760206040517fdd7d143944313e9468ffd66e8786351a1538ac1bd6bac96fbbaac11d42f60a518152f35b346103e8575f3660031901126103e85760206040517f4d7d81d86b902e627e6f0ca462e1191bd8af9cb4b8de2660c10b6349acb6ff9b8152f35b346103e8575f3660031901126103e857602060ff609b5460081c166040519015158152f35b346103e8576115633661362c565b93609b9391935460ff8116610d545760ff1916600117609b81905560081c60ff16610d635760405160208101906115a281610eaa898989898989613adb565b51902094855f52609e60205260ff60405f2054161561161b5780421061160557508185610c85965f52609e60205260405f2060ff1981541690557f51c3dff4f0da80a96e8c3557bb500474d2b07950c09c205189fcf7a426970f775f80a3614b17565b63126b74dd60e11b5f526004524260245260445ffd5b8563836588c960e01b5f5260045260245ffd5b346103e85760206111c0610eb8610eaa61164736613994565b9592949093608060405161165a816136d8565b5f81528a81019283526001600160a01b03978816604080830191825295891660608301908152929091018790529151915190519351808b0197909687959093908216929091169088614609565b346103e8576116b5366135aa565b906116bf33613f57565b158061171b575b6106755760ff609b5460081c16610d63576116e2828210613b14565b60326116ee8284613b60565b10156103e8575b8181106116fe57005b5f818152609d60205260409020805460ff191690556001016116f5565b5061172533613fde565b156116c6565b346103e85760403660031901126103e8576004356001600160401b0381116103e85761175b9036906004016137f8565b60243561176733613f57565b158061187d575b6106755760ff609b5460081c16610d635760a354811161186e576028825111610652574782518281029080820484149015171561185a57101561184b575f5b825163ffffffff821690811015611825575f808080866001600160a01b036117d5878b613c08565b51165af16117e1613bcb565b50156117f657506117f190614220565b6117ad565b6001600160a01b03906118099085613c08565b5116633ddff61360e21b5f52306004526024525f60445260645ffd5b7f6e31901a2ad27bd7f19498c4681fc6611bf447147de120c3b5f65c249d5990775f80a1005b63128bd24d60e31b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b6395e28b8560e01b5f5260045ffd5b5061188733613fde565b1561176e565b346103e8575f3660031901126103e857602060a254604051908152f35b346103e8575f3660031901126103e85760206040515f8152f35b346103e8575f3660031901126103e85760206040517fbbfb55d933c2bfa638763473275b1d84c4418e58d26cf9d2cd5758237756d9f08152f35b346103e85760203660031901126103e857611917613b6d565b506107de61083a600435614ce1565b346103e85760203660031901126103e8576001600160a01b036119476135c0565b165f526033602052602060ff60405f2054166040519015158152f35b346103e85760203660031901126103e8576004355f52609e602052602060ff60405f2054166040519015158152f35b346103e85760403660031901126103e85760206119b86119b0613602565b6004356141ad565b6040519015158152f35b346103e8575f3660031901126103e8576020606954604051908152f35b60403660031901126103e8576119f36135c0565b6119fb613602565b609b5460ff8160081c16610d635760ff8116610d545760ff1916600117609b55611a2433613f57565b1580611b8e575b610675576001600160a01b03821690308214610634576001600160a01b03165f8181526033602052604090205490929060ff1615611b7b5782611ac9575050503415611ab6575f5160206156fa5f395f51905f5260a06040513381523360208201523060408201525f6060820152346080820152a15b60ff19609b5416609b55602060405160018152f35b6379ac219b60e01b5f523360045260245ffd5b6040516370a0823160e01b81526004810183905290602082602481875afa918215610617575f92611b38575b50905f5160206156fa5f395f51905f5293611b168260a09594309084615125565b60405192338452602084015230604084015260608301526080820152a1611aa1565b9291506020833d602011611b73575b81611b546020938361375f565b810103126103e857915190915f5160206156fa5f395f51905f52611af5565b3d9150611b47565b8263094403b760e41b5f5260045260245ffd5b50611b9833613fde565b15611a2b565b346103e8575f3660031901126103e857611bb733613f57565b1580611bd3575b61067557609b805461ff001916610100179055005b50611bdd33614119565b15611bbe565b346103e8575f3660031901126103e85760206040517f20eabc094169e10bc6be263d742d992b10fb206c3c0411e1cbabdd3cf47922298152f35b346103e85760203660031901126103e8576001600160a01b03611c3e6135c0565b165f526099602052602060405f2054604051908152f35b346103e8576101003660031901126103e857611c6f6135d6565b611c776135ec565b60603660831901126103e85760e4356001600160401b0381116103e857611ca290369060040161366e565b9160ff609b5460081c16610d6357610fb193602435600435613c6a565b60803660031901126103e8576004356001600160401b0381116103e857611cea903690600401613967565b60603660231901126103e85760ff609b5460081c16610d63575f805260336020527f44496df070da3f045064f6d6f394484a8de10d5710290d619b67d975ec89320f5460ff1615611e7e573415610d3257604051602081019060243560ff81168091036103e85782526044356040820152606435606082015260608152611d7260808261375f565b519020805f52609a60205260ff60405f205416610d1057335f526099602052611de9610c4d602460405f205460405190611dab826136d8565b5f8083523460208085018290523360408087018290526060870185905260809096018590529451908101949093610eb8938593610eaa939088614609565b15610d01577fef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb3959260a0915f52609a60205260405f20600160ff19825416179055335f52609960205260405f20611e3f8154613bfa565b9055826040519384923384525f602085015234604085015260806060850152816080850152848401375f828201840152601f01601f19168101030190a1005b63094403b760e41b5f525f60045260245ffd5b346103e85760203660031901126103e857611eaa613c3a565b506107de6108c76004356150ca565b346103e85760203660031901126103e8576001600160a01b03611eda6135c0565b165f52609f602052608060405f2080549060018101549060ff6003600283015492015416916040519384526020840152604083015215156060820152f35b346103e857366003190161012081126103e857610100136103e857610104356001600160401b0381116103e857611f5390369060040161366e565b90611f5d33613f57565b1561067557606a549060018216611ffa575b505050611f7a613a97565b6064359060ff8216918281036103e857506084359160ff8316928381036103e8575060a43560ff8116908181036103e8575060c4359360ff8516928386036103e857610fb1955060405194611fce86613729565b6001600160a01b03168552604435602086015260408501526060840152608083015260a0820152614f1b565b60e4359260a1549283850361216d5761201290614ce1565b916001546040519361010085018581106001600160401b038211176121595760405260043560068110156103e85780865261204b613602565b9760208701988952604087019060443582526064359060ff821682036103e8576060890191825260843560ff811681036103e85760808a0190815260a43560ff811681036103e85760a08b0190815260c4359160ff831683036103e85760ff8061214e9f81610af59f9160e08360c0849501998a520198895260018060a01b0390511699519851169351169351169351169351946040519661211860208901997ff7c85f4c562133d25a5a2a8cfb32d68080a42c5189d5a1a655e1216b2364c3598b5260408a0190613ace565b6060880152608087015260a086015260c085015260e08401526101008301526101208201526101208152610ae06101408261375f565b60a155808080611f6f565b634e487b7160e01b5f52604160045260245ffd5b5050506306427aeb60e01b5f5260045260245260445ffd5b346103e8575f3660031901126103e85760206040517f3261beaeb016c41750eb5ecd6c92c85305d1a0aecaaaa6e0f4cf499f7ae258fb8152f35b346103e85760203660031901126103e8576004356001600160401b0381116103e8576121ef9036906004016137f8565b6121f833613f57565b15610675575f5b81518110156122a3576001906001600160a01b0361221d8285613c08565b51165f5260336020528160ff60405f20541615151461223d575b016121ff565b818060a01b0361224d8285613c08565b51165f52603360205260405f2060ff1981541690557f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd36020838060a01b036122958487613c08565b5116604051908152a1612237565b505f5b8151811015610fb1576001906001600160a01b036122c48285613c08565b51165f5260686020525f6040812055016122a6565b346103e85760203660031901126103e8576001600160a01b036122fa6135c0565b165f5260a06020526040805f2060ff6001825492015416825191825215156020820152f35b346103e85760e03660031901126103e8576123386135c0565b612340613602565b906044356001600160401b0381116103e85761236090369060040161379b565b6064356001600160401b0381116103e85761237f9036906004016137f8565b6084356001600160401b0381116103e85761239e90369060040161386b565b9360a4356001600160401b0381116103e8576123be903690600401613937565b9190945f51602061571a5f395f51905f525460ff8160401c1615946001600160401b0382168015908161268c575b6001149081612682575b159081612679575b5061266a5767ffffffffffffffff1982166001175f51602061571a5f395f51905f52556124df918661263e575b50604096875161243b898261375f565b60068152602081019065457363726f7760d01b8252612458614e82565b8951612463816136f3565b818152836020820152468b820152606030910152519020906020815191012088519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528a83015260608201524660808201523060a082015260a081526124d160c08261375f565b519020600155610fac614e82565b6124e7614e82565b606580546001600160a01b0319166001600160a01b03831617905561250b33613f57565b1561262f575b61251a81614119565b1561261f575b5061252a81613fde565b1561260f575b5060c43560a3555f5b8551811015612558578061255261102360019389613c08565b01612539565b50835f5b8281106125c25750505061256c57005b60207fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29168ff0000000000000000195f51602061571a5f395f51905f5254165f51602061571a5f395f51905f52555160018152a1005b6125cd818484613c1c565b359060068210156103e8576126096001926125f460206125ee858989613c1c565b01613c2c565b612603896125ee868a8a613c1c565b91615004565b0161255c565b61261890614e40565b5085612530565b61262890614e12565b5086612520565b61263833614d88565b50612511565b68ffffffffffffffffff191668010000000000000001175f51602061571a5f395f51905f52558961242b565b63f92ee8a960e01b5f5260045ffd5b9050158a6123fe565b303b1591506123f6565b8791506123ec565b346103e8575f3660031901126103e85760206040516103848152f35b346103e85760203660031901126103e85760206126cb6135c0565b6126d481613f57565b9081156126e7575b506040519015158152f35b6126f19150613fde565b826126dc565b346103e8575f3660031901126103e85760206040517fd64fcb6a6f590e3ec3e331a5d9c60e0ca7468054939fe8e8dfe25f11ad1c1e7a8152f35b346103e857366003190160e081126103e85760c0136103e85760c4356001600160401b0381116103e85761276990369060040161366e565b9061277333613f57565b15610675576004359160068310156103e8576005830361296057606b549160018316612848575b6127a2613a97565b7fdecad5d2d09e135bd441d251aac8169cfc87fbaa724441620c4433eec310740e6060604435606435608435906128356040516127de816136f3565b84815260036020820198848a5260408301868152888401916001835260018060a01b03169a8b5f52609f60205260405f209451855551600185015551600284015551151591019060ff801983541691151516179055565b60405192835260208301526040820152a2005b60a4359360a254938486036129495794610af593929161286a61293d97614ce1565b90600154926040519061287c82613729565b828252612887613602565b60208381018290526044356040808601829052606435606087018190526084356080880181905260a090970186905281517f938950981d332bb13f775a3387daf26ee4c6574ace3e04ca5d9c0f6b267e611f948101948552939793969490936001600160a01b03909116916128ff9190880190613ace565b6060860152608085015260a084015260c083015260e082015260e081526129286101008261375f565b51902060ff6020818451169301511692614912565b60a2558080808061279a565b85856306427aeb60e01b5f5260045260245260445ffd5b631cc6a69960e11b5f5260045ffd5b346103e8575f3660031901126103e85761298833613f57565b15806129a0575b61067557609b805461ff0019169055005b506129aa33614119565b1561298f565b346103e85760203660031901126103e85760206119b86112bf6135c0565b346103e85760603660031901126103e8576129e76135c0565b6129ef613602565b906129f86135d6565b91612a01614e82565b606580546001600160a01b0319166001600160a01b038416179055612a2581613f57565b15612a65575b50612a3581614119565b15612a55575b50612a4581613fde565b15612a4c57005b610fb190614e40565b612a5e90614e12565b5081612a3b565b612a6e90614d88565b5082612a2b565b346103e8575f3660031901126103e8576020606a54604051908152f35b346103e85760403660031901126103e857612aab613602565b336001600160a01b03821603612ac757610fb190600435614ead565b63334bd91960e11b5f5260045ffd5b346103e8575f3660031901126103e8576020600154604051908152f35b346103e8575f3660031901126103e857602060a154604051908152f35b346103e85760403660031901126103e8576004356001600160401b0381116103e857612b4090369060040161379b565b6024356001600160401b0381116103e857612b5f90369060040161379b565b90612b68614e82565b604051612b74816136f3565b8181528260208201524660408201526060309101526020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152612be960c08261375f565b519020600155005b346103e85760403660031901126103e857610fb1600435612c10613602565b90612c29611198825f525f602052600160405f20015490565b614e6e565b346103e857612c3c3661369e565b612c4533613f57565b156106755782359160068310156103e8576005830361296057606b549160018316612cf0575b847fbfb20345012f7f594509a481f64d54cf8b3b081b4a40b1c69410fee9590f89c360206040612c9c828501613aad565b930135612ce7604051612cae8161370e565b828152600184820196818852818060a01b031696875f5260a0865260405f209251835551151591019060ff801983541691151516179055565b604051908152a2005b60608501359160a25493848403612dc657612d0a90614ce1565b600154906080883603126103e857612dba9688610af596604051612d2d816136f3565b8381526060612d3e60208501613618565b9160208101928352604080820195013585520191825260018060a01b03905116915190519060405192612d9c60208501957f17b10d4ca0ee847f6681ca5e4205d5402614b1149ae7a25cd473872ae40df18187526040860190613ace565b6060840152608083015260a082015260a0815261292860c08261375f565b60a25581808080612c6b565b83856306427aeb60e01b5f5260045260245260445ffd5b346103e85760a03660031901126103e857600435602435612dfc6135d6565b91612e056135ec565b906084356001600160401b0381116103e857612e2590369060040161366e565b929094612e3133613eab565b158061304d575b6106755760ff609b5460081c16610d63576001600160a01b03821693841561300857606954966001881615612ff957845f52609d60205260ff60405f205416612fe657612e8484614072565b15612fd75786612e9384614d2c565b1061184b57612ef492612ed660405191612eac836136d8565b6003835289602084015288604084015260018060a01b0316998a6060840152876080840152614ce1565b612ee26001549261465f565b60ff6020818451169301511692614845565b84612fa257505f80808086865af1612f0a613bcb565b5015612f65577f8e9ad6ff79b807d41dbd258df99a4c3dc7563b3c7fbfddf2f5543b76db906afe936080935b825f52609d60205260405f20600160ff19825416179055604051938452602084015260408301526060820152a1005b60405162461bcd60e51b8152602060048201526015602482015274115d1a195c881d1c985b9cd9995c8819985a5b1959605a1b6044820152606490fd5b9383612fd26080957f8e9ad6ff79b807d41dbd258df99a4c3dc7563b3c7fbfddf2f5543b76db906afe9784614d48565b612f36565b63178e01cf60e01b5f5260045ffd5b84631409d1b760e21b5f5260045260245ffd5b630845dc8960e31b5f5260045ffd5b60405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f207a65726f2061646472657373006044820152606490fd5b5061305733613f57565b15612e38565b346103e85760203660031901126103e85760206106f16004355f525f602052600160405f20015490565b346103e85760203660031901126103e8576001600160a01b036130a86135c0565b165f526068602052602060405f2054604051908152f35b346103e8576130cd3661362c565b90916130db94939433613f57565b1580613170575b6106755760ff609b5460081c16610d6357610eaa61310c9260405194859388602086019889613adb565b519020805f52609e60205260ff60405f2054161561315e57805f52609e60205260405f2060ff1981541690557fbc42d977c60745c9544af4d5bc56c88c6f21914f291dfd327af4eb04098e90085f80a3005b63836588c960e01b5f5260045260245ffd5b5061317a33613fde565b156130e2565b346103e8575f3660031901126103e8576107de61083a613b8b565b346103e8575f3660031901126103e857602047604051908152f35b346103e8576131c4366135aa565b906131ce33613f57565b158061322a575b6106755760ff609b5460081c16610d63576131f1828210613b14565b60326131fd8284613b60565b10156103e8575b81811061320d57005b5f818152609c60205260409020805460ff19169055600101613204565b5061323433613fde565b156131d5565b346103e85760203660031901126103e8576004356001600160401b0381116103e857366023820112156103e8578060040135906001600160401b0382116103e8573660248360051b830101116103e85761329333613eab565b1580613547575b61067557609b5460ff8116610d545760ff1916600117609b81905560081c60ff16610d635781156113d957602882116107e2573681900360c219015f5b83811015610c855760248160051b84010135828112156103e8578301606481016133036112bf82613aad565b1561353e5760248201358015610d325760848301906001600160a01b0361332983613aad565b161561066657604484013593845f52609c60205260ff60405f205416612fe65761335283613aad565b9061335c85613aad565b60405192613369846136d8565b60018452602084018590526001600160a01b039081166040850152166060830152608082018690526133a361339d86613aad565b8461456d565b906133b06001549361465f565b60208301519251909160a481013560421936839003018112156103e85701602401803593906001600160401b0385116103e8576020019260608502360384136103e8576133fc956146f4565b61341861340884613aad565b61341184613aad565b9083614aae565b801561350f576134289042613ac1565b61343184613aad565b8161345461343e86613aad565b610eaa60405193849260208401968c8a89613adb565b51902093845f52609e60205260ff60405f2054166134fc57916134f28594926134c06134ba7f0c9f9de35e5087cd15d9d8b1e477c3fe1500157465e3737550a4395936b5c49a9660019b9a995f52609e60205260405f208c60ff19825416179055613aad565b94613aad565b604080519485526001600160a01b03958616602086015294169383019390935260608201929092529081906080820190565b0390a35b016132d7565b856352fcbb3b60e11b5f5260045260245ffd5b5090926001949361352b61352561353995613aad565b91613aad565b9163ffffffff8a1693614c02565b6134f6565b6113b990613aad565b5061355133613f57565b1561329a565b346103e85760203660031901126103e8576004359063ffffffff60e01b82168092036103e857602091637965db0b60e01b8114908115613599575b5015158152f35b6301ffc9a760e01b14905083613592565b60409060031901126103e8576004359060243590565b600435906001600160a01b03821682036103e857565b604435906001600160a01b03821682036103e857565b606435906001600160a01b03821682036103e857565b602435906001600160a01b03821682036103e857565b35906001600160a01b03821682036103e857565b60a09060031901126103e85760043590602435906044356001600160a01b03811681036103e857906064356001600160a01b03811681036103e8579060843590565b9181601f840112156103e8578235916001600160401b0383116103e857602080850194606085020101116103e857565b90600319820160a081126103e8576080136103e857600491608435906001600160401b0382116103e8576136d49160040161366e565b9091565b60a081019081106001600160401b0382111761215957604052565b608081019081106001600160401b0382111761215957604052565b604081019081106001600160401b0382111761215957604052565b60c081019081106001600160401b0382111761215957604052565b606081019081106001600160401b0382111761215957604052565b90601f801991011681019081106001600160401b0382111761215957604052565b6001600160401b03811161215957601f01601f191660200190565b81601f820112156103e8578035906137b282613780565b926137c0604051948561375f565b828452602083830101116103e857815f926020809301838601378301015290565b6001600160401b0381116121595760051b60200190565b9080601f830112156103e857813561380f816137e1565b9261381d604051948561375f565b81845260208085019260051b8201019283116103e857602001905b8282106138455750505090565b6020809161385284613618565b815201910190613838565b359060ff821682036103e857565b81601f820112156103e857803590613882826137e1565b92613890604051948561375f565b828452602060c08186019402830101918183116103e857602001925b8284106138ba575050505090565b60c0848303126103e857602060c0916040516138d581613729565b6138de87613618565b815282870135838201526138f46040880161385d565b60408201526139056060880161385d565b60608201526139166080880161385d565b608082015261392760a0880161385d565b60a08201528152019301926138ac565b9181601f840112156103e8578235916001600160401b0383116103e8576020808501948460071b0101116103e857565b9181601f840112156103e8578235916001600160401b0383116103e857602083818601950101116103e857565b60e06003198201126103e857600435916024356001600160a01b03811681036103e857916044356001600160a01b03811681036103e8579160606064359260831901126103e857608490565b60206003198201126103e857600435906001600160401b0382116103e857806023830112156103e8578160040135613a17816137e1565b92613a25604051948561375f565b8184526024602085019260051b8201019283116103e857602401905b828210613a4e5750505090565b8135815260209182019101613a41565b60206040818301928281528451809452019201905f5b818110613a815750505090565b8251845260209384019390920191600101613a74565b6024356001600160a01b03811681036103e85790565b356001600160a01b03811681036103e85790565b9190820180921161185a57565b90600682101561044c5752565b60018152602081019190915260408101919091526001600160a01b0391821660608201529116608082015260a081019190915260c00190565b15613b1b57565b60405162461bcd60e51b815260206004820152601b60248201527f5374617274206d757374206265206c657373207468616e20656e6400000000006044820152606490fd5b9190820391821161185a57565b60405190613b7a82613744565b5f6040838281528260208201520152565b613b93613b6d565b506069546001811615613bac57613ba990614ce1565b90565b50604051613bb981613744565b5f81525f60208201525f604082015290565b3d15613bf5573d90613bdc82613780565b91613bea604051938461375f565b82523d5f602084013e565b606090565b5f19811461185a5760010190565b805182101561105e5760209160051b010190565b919081101561105e5760071b0190565b3560ff811681036103e85790565b60405190613c4782613729565b5f60a0838281528260208201528260408201528260608201528260808201520152565b919293909460018060a01b03841690815f52603360205260ff60405f20541615613e98578315610d32576001600160a01b03861692831561066657875f52609c60205260ff60405f205416613e8557604051602081019060843560ff811681036103e85760ff16825260a435604082015260c435606082015260608152613cf260808261375f565b51902093845f52609a60205260ff60405f205416610d1057613d1b610c4d60848b8a8c8b61428d565b15610d0157613d6e9360405191613d31836136d8565b6001835287602084015260408301526060820152886080820152613d55878761456d565b613d616001549261465f565b60208201519151926146f4565b81613d7884614d2c565b10613e56575f52609a60205260405f20600160ff19825416179055613d9e838383614aae565b8015613e4957613dae9042613ac1565b6040516020810190613dc881610eaa8589898c8a89613adb565b51902093845f52609e60205260ff60405f2054166134fc575f858152609e6020908152604091829020805460ff1916600117905581519485526001600160a01b039586169085015293169282019290925260608101919091527f0c9f9de35e5087cd15d9d8b1e477c3fe1500157465e3737550a4395936b5c49a90608090a3565b5092613e5493614b17565b565b5081610cef610cc07f2aa807c191208ec364a49ebc0018975f798050694e1695937b26706e4f0a885894614d2c565b87631409d1b760e21b5f5260045260245ffd5b5063094403b760e41b5f5260045260245ffd5b613ed47fdd7d143944313e9468ffd66e8786351a1538ac1bd6bac96fbbaac11d42f60a51615169565b90602082015115613f19576001600160a01b03165f90815260676020526040902054905190600882101561044c57600160ff8093161b1616613f14575f90565b600190565b6001600160a01b03165f9081527f73d1b004bb899057e159bfa3bc586cb8ff49a8aafbfaf45c482f2c16f8bdf303602052604090205460ff16919050565b613f605f615169565b90602082015115613fa0576001600160a01b03165f90815260676020526040902054905190600882101561044c57600160ff8093161b1616613f14575f90565b6001600160a01b03165f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff16919050565b613ff45f51602061569a5f395f51905f52615169565b90602082015115614034576001600160a01b03165f90815260676020526040902054905190600882101561044c57600160ff8093161b1616613f14575f90565b6001600160a01b03165f9081527f4272c0e29c36ddb672dd25a254bda59e4d959f5c13bec396162edadccdbf7935602052604090205460ff16919050565b61409b7fb7733e58c7517dbd9e44ca467a39c0556186bc3a7271956f0a22baafb5dc93c3615169565b906020820151156140db576001600160a01b03165f90815260676020526040902054905190600882101561044c57600160ff8093161b1616613f14575f90565b6001600160a01b03165f9081527fe2b47d1c3d5450b2075d143367420d4b6d23efa60d1222723e42a52350332748602052604090205460ff16919050565b61412f5f5160206156ba5f395f51905f52615169565b9060208201511561416f576001600160a01b03165f90815260676020526040902054905190600882101561044c57600160ff8093161b1616613f14575f90565b6001600160a01b03165f9081527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f602052604090205460ff16919050565b906141b782615169565b916020830151156141f857506001600160a01b03165f90815260676020526040902054905190600882101561044c57600160ff8093161b1616613f14575f90565b5f908152602081815260408083206001600160a01b039094168352929052205460ff16919050565b63ffffffff1663ffffffff811461185a5760010190565b5f9291600681101561044c578015614271576001146142535750565b6001600160a01b03165f908152609960205260409020600101549150565b506001600160a01b03165f908152609960205260409020549150565b9092610c4592613ba99594604051936142a5856136d8565b6001855260208501526001600160a01b039081166040850152166060830152608082015261465f565b906142d8826137e1565b6142e5604051918261375f565b82815280926142f6601f19916137e1565b0190602036910137565b614308613c3a565b506001600160a01b03165f90815260686020526040902054600181161561433257613ba9906150ca565b5060405161433f81613729565b5f81525f60208201525f60408201525f60608201525f60808201525f60a082015290565b61436b613b6d565b50600681101561044c5760040361439257606a545b6001811615613bac57613ba990614ce1565b606b54614380565b6040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa908115610617575f916143d4575090565b90506020813d6020116143fb575b816143ef6020938361375f565b810103126103e8575190565b3d91506143e2565b919081101561105e5760061b0190565b90604051614420816136f3565b5f81525f60208201525f60408201525f60608201525061443f81614d2c565b91801561454757670de0b6b3a76400008302838104670de0b6b3a7640000148415171561185a578190049083101561449e57506040519161447f836136f3565b5f808452602084015260408301526001600160a01b0316606082015290565b6801158e460913d0000081106144dd5750604051916144bc836136f3565b600383526014602084015260408301526001600160a01b0316606082015290565b674563918244f400001161451957604051916144f8836136f3565b600283526005602084015260408301526001600160a01b0316606082015290565b60405191614526836136f3565b600183526002602084015260408301526001600160a01b0316606082015290565b50604051916144bc836136f3565b604051906145628261370e565b5f6020838281520152565b90614576614555565b506001600160a01b03165f818152606860205260409020549060018216156145f7575060ff6145a581926150ca565b928351111592835f146145ea5781604082015116935b156145e05760800151165b81604051936145d48561370e565b16835216602082015290565b60600151166145c6565b81602082015116936145bb565b6304ca686f60e01b5f5260045260245ffd5b7fe35cf8b8df51aa49768d4a7859037953b72f9188d7c60825dfd506ac7c8d430c81525f602082015260408101919091526001600160a01b0391821660608201529116608082015260a081019190915260c00190565b805190600682101561044c5760208101519060018060a01b0360408201511690608060018060a01b0360608301511691015191604051936146cb60208601967f30df4329ee18debd99f937f6d70edc594d2957d5c194e77ab788df398c193af288526040870190613ace565b6060850152608084015260a083015260c082015260c081526146ee60e08261375f565b51902090565b919295936147028785613ac1565b1561483c575f9695948794614716876142ce565b975f995b888b10156147f35761473260608c02860187896153a4565b6001600160a01b0316905f5b8c81106147be57505f82815260676020526040902054600281161561478557509a60019161477a826147748e9f9e9c9d9e613bfa565b9b613c08565b52019998979661471a565b909890600116156147ab579a60019161477a826147a58e9f9e9d9e613bfa565b9c613c08565b8b63b20230bd60e01b5f5260045260245ffd5b826001600160a01b036147d1838f613c08565b5116146147e05760010161473e565b8c63b20230bd60e01b5f5260045260245ffd5b9698509450955096505050808210614827575050808210614812575050565b63ec65672960e01b5f5260045260245260445ffd5b63153482d760e01b5f5260045260245260445ffd5b50505050915050565b919295936148538785613ac1565b1561483c575f9695948794614867876142ce565b975f995b888b10156147f35761488360608c02860187896153a4565b6001600160a01b0316905f5b8c81106148f057505f8281526067602052604090205460088116156148d057509a6001916148c5826147748e9f9e9c9d9e613bfa565b52019998979661486b565b909890600416156147ab579a6001916148c5826147a58e9f9e9d9e613bfa565b826001600160a01b03614903838f613c08565b5116146147e05760010161488f565b919295936149208785613ac1565b1561483c575f9695948794614934876142ce565b975f995b888b10156147f35761495060608c02860187896153a4565b6001600160a01b0316905f5b8c81106149bd57505f82815260676020526040902054608081161561499d57509a600191614992826147748e9f9e9c9d9e613bfa565b520199989796614938565b909890604016156147ab579a600191614992826147a58e9f9e9d9e613bfa565b826001600160a01b036149d0838f613c08565b5116146147e05760010161495c565b919295936149ed8785613ac1565b1561483c575f9695948794614a01876142ce565b975f995b888b10156147f357614a1d60608c02860187896153a4565b6001600160a01b0316905f5b8c8110614a8c5750815f52606760205260405f20546020811615155f14614a6c57509a600191614a61826147748e9f9e9c9d9e613bfa565b520199989796614a05565b909890601016156147ab579a600191614a61826147a58e9f9e9d9e613bfa565b826001600160a01b03614a9f838f613c08565b5116146147e057600101614a29565b6001600160a01b039092165f90815260a060205260409020600181015460ff16614b10575060018060a01b03165f52609f60205260405f209060ff600383015416614afb57505061038490565b815411614b09576002015490565b6001015490565b9150505490565b9091825f52609c60205260405f20600160ff19825416179055335f526099602052600160405f2001614b498154613bfa565b90556001600160a01b031680614bde5781471061184b576001600160a01b0384165f80808086855af1614b7a613bcb565b5015614bc45750915f51602061567a5f395f51905f52939160c0935b604080513381526001600160a01b03909516602086015284015260608301526080820152600160a0820152a1565b633ddff61360e21b5f52306004526024525f60445260645ffd5b918183614bfd86945f51602061567a5f395f51905f529760c097614d48565b614b96565b9091939293825f52609c60205260405f20600160ff19825416179055335f526099602052600160405f2001614c378154613bfa565b90556001600160a01b031680614cb75781471061184b576001600160a01b0385165f80808086855af1614c68613bcb565b5015614bc45750925f51602061567a5f395f51905f52949263ffffffff9260c0955b604080513381526001600160a01b039097166020880152860152606085015260808401521660a0820152a1565b9284928285614cdc63ffffffff955f51602061567a5f395f51905f529960c099614d48565b614c8a565b614ce9613b6d565b506001811615614d1d5760ff60405191614d0283613744565b818160081c16835260101c1660208201526001604082015290565b6306b7c75960e31b5f5260045ffd5b6001600160a01b038116614d3f57504790565b613ba99061439a565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152613e5491614d8360648361375f565b6154b8565b614d92815f6155a3565b90614d9c5f615169565b90602082015115614e0d576001600160a01b03165f8181526067602052604090205490919060ff16614dfa575190600882101561044c575f52606760205260ff8060018160405f2094161b1681835416171660ff1982541617905590565b5063f893a86f60e01b5f5260045260245ffd5b505090565b614e29815f5160206156ba5f395f51905f526155a3565b90614d9c5f5160206156ba5f395f51905f52615169565b614e57815f51602061569a5f395f51905f526155a3565b90614d9c5f51602061569a5f395f51905f52615169565b90614d9c614e7c82846155a3565b92615169565b60ff5f51602061571a5f395f51905f525460401c1615614e9e57565b631afcd79f60e31b5f5260045ffd5b90614ebb614e7c8284615612565b90602082015115614e0d576001600160a01b03165f8181526067602052604090205490919060ff1615614e0d575190600882101561044c575f52606760205260ff808060018160405f2095161b1619835416161660ff1982541617905590565b6080810160ff8151169060a083019160ff83511610614d1d576040830160ff815116606085019060ff82511610614d1d577fdc6ddbf1e030d2d29f974619e12442d5506a4bdfbf9fc60c74d37e0612b1bdec9360c09360ff80808060208b019a60018c5160a01b64ff000000008a5160201b161763ff0000008b5160181b161762ff0000895160101b161761ff00885160081b16171760018060a01b038251165f52606860205260405f205560018060a01b039051169a51975116955116925116925116926040519460018652602086015260408501526060840152608083015260a0820152a2565b909160016040519161501583613744565b62ff000061ff0060ff87169687865284604060ff861697886020820152015260081b169160101b161717600683101561044c576003830361508257905f5160206156da5f395f51905f5293606093926069555b6150756040518094613ace565b60208301526040820152a1565b600583036150a657905f5160206156da5f395f51905f529360609392606b55615068565b919060048203612960575f5160206156da5f395f51905f5293606093606a55615068565b6150d2613c3a565b506001811615614d1d5760ff604051916150eb83613729565b8060a01c8352818160181c166020840152818160201c166040840152818160081c16606084015260101c166080820152600160a082015290565b6040516323b872dd60e01b60208201526001600160a01b039283166024820152929091166044830152606480830193909352918152613e5491614d8360848361375f565b6040516151758161370e565b5f8082526020909101527fede9dcdb0ce99dc7cec9c7be9246ad08b37853683ad91569c187b647ddf5e21c81036151c057506040516151b38161370e565b5f81526001602082015290565b7ff7401a2aa2d57dbee8bd296c5ac47eac2db8a2db2ff59d50c0534dc8be92dc6e810361520257506040516151f48161370e565b600181526001602082015290565b7f4d7d81d86b902e627e6f0ca462e1191bd8af9cb4b8de2660c10b6349acb6ff9b810361524457506040516152368161370e565b600281526001602082015290565b7f20eabc094169e10bc6be263d742d992b10fb206c3c0411e1cbabdd3cf4792229810361528657506040516152788161370e565b600381526001602082015290565b7fbbfb55d933c2bfa638763473275b1d84c4418e58d26cf9d2cd5758237756d9f081036152c857506040516152ba8161370e565b600481526001602082015290565b7f3261beaeb016c41750eb5ecd6c92c85305d1a0aecaaaa6e0f4cf499f7ae258fb810361530a57506040516152fc8161370e565b600581526001602082015290565b7fd64fcb6a6f590e3ec3e331a5d9c60e0ca7468054939fe8e8dfe25f11ad1c1e7a810361534c575060405161533e8161370e565b600681526001602082015290565b7faf82374944a6f0200e0a96e99d9d9aa4925409c95c28b14a1d426baddd614aa81461538a5760405161537e8161370e565b5f81525f602082015290565b6040516153968161370e565b600781526001602082015290565b60209260406080925f948251908782019261190160f01b845260228301526042820152604281526153d660628261375f565b5190209160ff6153e582613c2c565b8351948552168684015285810135828401520135606082015282805260015afa15610617575f5190565b5f5b81518110156154b4576001906001600160a01b0361542f8285613c08565b51165f52603360205260ff60405f2054161561544c575b01615411565b818060a01b0361545c8285613c08565b51165f52603360205260405f208260ff198254161790557f784c8f4dbf0ffedd6e72c76501c545a70f8b203b30a26ce542bf92ba87c248a46020838060a01b036154a68487613c08565b5116604051908152a1615446565b5050565b905f602091828151910182855af115610617575f513d61550757506001600160a01b0381163b155b6154e75750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b600114156154e0565b9061551a82615169565b90602082015115615571576001600160a01b03165f8181526067602052604090205491519091600882101561044c57600160ff8093161b16161561555c575050565b63e2517d3f60e01b5f5260045260245260445ffd5b905061557d81836141ad565b15615586575050565b63e2517d3f60e01b5f5260018060a01b031660045260245260445ffd5b6155ad82826141ad565b61560c575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b61561c82826141ad565b1561560c575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a460019056fefc4d59a46f6143e0496645b06688cceb577d2d0439ad39ac0f1eaf3143a3a48e9d98d3d08f0062b192694645e127c98e5f96f3bbec331d061acaac3ace2327f997667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929edb00a5a19c16f441c369a47bcf9dff05b73e88628d23e9cf3a5b159fd0d12c86b32cee72b480eef6a5aeccadee07046ade1c28fec1e418949908f7ac8d7d228f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212206ee2179ec590bc1f86bf69f054686f965eacd4e3fdb0646c99b1bc892f40be3564736f6c634300081c0033";
|
|
3160
|
+
const _bytecode = "0x60808060405234601557615aea908161001a8239f35b5f80fdfe6080806040526004361015610052575b50361561001a575f80fd5b7fb0afe9a71610967b99fda7fda0ed1e6ff47851924352fdf759922dd54272594160606040513381525f6020820152346040820152a1005b5f3560e01c90816301ffc9a714613772575080630430e9321461345257806311a4b2d0146133ce57806312065fe0146133b357806317f6939e146133985780631c599c9a146132d757806320f5117c1461329f578063248a9ca31461327557806325ea836414612ff55780632df4da6e14612e465780632f2ff15d14612e0957806331993fdf14612d285780633462ceff14612d0b5780633644e51514612cee57806336568abe14612caa5780633945c4a614612c8d5780633aa98a9414612be65780633af32abf14612bc85780633f4ba83a14612b87578063427ba1a1146129495780634a78b2f51461290f578063518713d2146128c85780635ba1c1a9146128ac5780635c25987814612537578063650f2ba5146124f15780636c3824ef146123d75780637026cb581461239d578063759f4eaa1461213057806378b61a15146120d1578063798812ea146120a95780637c13ba6414611ed75780637d4e22f214611e6d5780637ecebe0014611e355780637ef066c814611dfb5780638456cb5914611db657806385fb709d14611c035780638e8b3f2f14611be657806391d1485414611bb65780639534925114611b875780639b19251a14611b4a5780639d01005814611b22578063a0c7f79914611ae8578063a217fddf14611ace578063a31989ad14611ab1578063a3a0007214611967578063a3bfd3aa146118e3578063ac21242d1461186a578063afbef47b14611755578063b187bd2614611730578063b2065f60146116f6578063b700f456146116bc578063bec4742c1461169f578063bfbe3f2214611632578063c041092b14611437578063c0608667146113fd578063c210296414611230578063c4707a8314611209578063c67515dd146111d7578063d37dbaa2146111a9578063d547741f14611165578063d55c16fd146110a6578063d8a4676f14611077578063da6e2ec014610fb8578063e20c103c14610f76578063e5b6337b14610d77578063e88e5cd414610b21578063eb818b1f14610959578063ebdf690f1461091f578063ef227b56146108a8578063f01068a11461086e578063f14280cb14610816578063f470c7e214610725578063f5b541a6146106fe578063f8b2cb4f146106d3578063fa07bb5414610699578063fa13f30a1461046b578063fc50455f146103f75763fddbf3f3146103b8575f61000f565b346103f35760203660031901126103f3576001600160a01b036103d96137db565b165f526067602052602060ff60405f205416604051908152f35b5f80fd5b346103f35760403660031901126103f35761041b61041361381d565b60043561462e565b60405181519160048310156104575760809282526020810151602083015260408101516040830152606060018060a01b03910151166060820152f35b634e487b7160e01b5f52602160045260245ffd5b346103f35760403660031901126103f3576004356001600160401b0381116103f357366023820112156103f3578060040135906001600160401b0382116103f3576024810190602436918460061b0101116103f3576024356001600160a01b038116908190036103f3576104de33614172565b1580610689575b61067a57801561066b5760288311610657575f5b83811061050b57602060405160018152f35b61051e61051982868661461e565b613cc8565b906001600160a01b0361053d602061053784898961461e565b01613cc8565b168015610648576001600160a01b0383169030821461063957805f52603360205260ff60405f20541615610627576040516370a0823160e01b81526004810183905290602082602481845afa91821561061c5786905f936105d8575b5091816105bb826080956001995f516020615a955f395f51905f529896614f86565b60405192835287602084015260408301526060820152a1016104f9565b925050916020823d8211610614575b816105f46020938361397a565b810103126103f35790519091855f516020615a955f395f51905f52610599565b3d91506105e7565b6040513d5f823e3d90fd5b63094403b760e41b5f5260045260245ffd5b630d20048960e01b5f5260045ffd5b631b71aaf760e31b5f5260045ffd5b63af89cf2160e01b5f52602860045260245ffd5b63d92e233d60e01b5f5260045ffd5b63ea8e4eb560e01b5f5260045ffd5b50610693336141f9565b156104e5565b346103f3575f3660031901126103f35760206040517faf82374944a6f0200e0a96e99d9d9aa4925409c95c28b14a1d426baddd614aa88152f35b346103f35760203660031901126103f35760206106f66106f16137db565b6145b5565b604051908152f35b346103f3575f3660031901126103f35760206040515f516020615a355f395f51905f528152f35b346103f35761073336613bfb565b61073c33614172565b1580610806575b806107f6575b61067a57602860ff825116116107e7576040519061016061076a818461397a565b600a8352601f19013660208401375f5f5b82518110156107d55761078e8184613e23565b515f52609c60205260ff60405f2054166107ab575b60010161077b565b906107cd6001916107bc8486613e23565b516107c78288613e23565b52613e15565b9190506107a3565b604051806107e38682613c79565b0390f35b63f726140760e01b5f5260045ffd5b50610800336140c6565b15610749565b50610810336141f9565b15610743565b346103f35760203660031901126103f35760043560068110156103f35761083f6107e39161457e565b60405191829182919091604080606083019460ff815116845260ff602082015116602085015201511515910152565b346103f3575f3660031901126103f35760206040517fb7733e58c7517dbd9e44ca467a39c0556186bc3a7271956f0a22baafb5dc93c38152f35b346103f35760203660031901126103f3576107e36108cc6108c76137db565b61451b565b6040519182918291909160a08060c08301948051845260ff602082015116602085015260ff604082015116604085015260ff606082015116606085015260ff608082015116608085015201511515910152565b346103f3575f3660031901126103f35760206040517fede9dcdb0ce99dc7cec9c7be9246ad08b37853683ad91569c187b647ddf5e21c8152f35b346103f357610967366138b9565b61097033614172565b1561067a57606a549060018216610a0a575b50505061099d604061099660208401613e47565b9201613e47565b906001604051926109ad8461395f565b62ff000061ff0060ff85169485875284604060ff861698896020820152015260081b169160101b161717606955604051600660031015610457575f516020615a555f395f51905f52926060926003835260208301526040820152a1005b60608401359060a15492838303610b0a57610a2490614b42565b936001546080873603126103f35760405195610a3f8761390e565b873560068110156103f35787610afa9682610aff9a5260ff808c6060610a7a6040610a6c60208501613a78565b936020890194855201613a78565b956040810196875201938452511692511690519060405192610ac760208501957fd9f156a761105f6361512d31cea845f4ddff720a324d1318ade78663a62bb31887526040860190613ce9565b6060840152608083015260a082015260a08152610ae560c08261397a565b51902060ff6020818451169301511692615697565b613e15565b60a155818080610982565b82846306427aeb60e01b5f5260045260245260445ffd5b346103f35760e03660031901126103f357600435602435610b406137f1565b610b48613807565b9160603660831901126103f357609b5460ff8160081c16610d685760ff8116610d595760ff1916600117609b556001600160a01b0382165f8181526033602052604090205490949060ff1615610d46578015610d37576001600160a01b038416801561066b57825f52609c60205260ff60405f205416610d2457604051602081019060843560ff81168091036103f357825260a435604082015260c435606082015260608152610bf960808261397a565b51902095865f52609a60205260ff60405f205416610d15576084610c4a610c5793610c529360405191610c2b836138f3565b600183528760208401526040830152606082015286608082015261487a565b600154615205565b614334565b15610d065780610c6684614b8d565b10610c9657610c8a945f52609a60205260405f20600160ff19825416179055614978565b609b805460ff19169055005b7f2aa807c191208ec364a49ebc0018975f798050694e1695937b26706e4f0a88589083610cf4610cc582614b8d565b604080513381526001600160a01b03909416602085015283019390935260608201929092529081906080820190565b0390a163128bd24d60e31b5f5260045ffd5b638baa579f60e01b5f5260045ffd5b63900bb2c960e01b5f5260045ffd5b82631409d1b760e21b5f5260045260245ffd5b637c946ed760e01b5f5260045ffd5b8463094403b760e41b5f5260045260245ffd5b630ef7697f60e01b5f5260045ffd5b63ab35696f60e01b5f5260045ffd5b346103f35760c03660031901126103f357600435610d9361381d565b906044356001600160401b0381116103f357610db3903690600401613b82565b9260603660631901126103f35760ff609b5460081c16610d68578215610d37576001600160a01b03168015610f6757805f52603360205260ff60405f2054161561062757604051602081019060643560ff81168091036103f3578252608435604082015260a435606082015260608152610e2e60808261397a565b51902093845f52609a60205260ff60405f205416610d1557335f526099602052610ec8610c52606460405f205460405190610e68826138f3565b5f825260208083018a9052336040808501829052606085018a905260809094018390529251908101929091610ebd918391610eaf916001600160a01b038c16908e88614824565b03601f19810183528261397a565b519020600154615205565b15610d06578060a0937fef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb395965f52609a60205260405f20600160ff19825416179055335f52609960205260405f20610f1f8154613e15565b9055610f2d86303387614f86565b6040519586943386526020860152604085015260806060850152816080850152848401375f828201840152601f01601f19168101030190a1005b6301cc396360e41b5f5260045ffd5b346103f35760203660031901126103f3576004356001600160401b0381116103f357610fa9610fb6913690600401613a13565b610fb1614ce3565b615270565b005b346103f35760203660031901126103f3576004356001600160401b0381116103f357610fe8903690600401613a86565b610ff133614172565b1561067a57604060205f5b8351811015610fb6576001600160a01b036110178286613e23565b5151169061102e6110288287613e23565b51614d7c565b835161103a858261397a565b60018152602081019084368337805115611063576001938261105d935052615270565b01610ffc565b634e487b7160e01b5f52603260045260245ffd5b346103f35760203660031901126103f3576004355f52609c602052602060ff60405f2054166040519015158152f35b346103f3576110b436613bfb565b6110bd33614172565b1580611155575b80611145575b61067a57602860ff825116116107e757604051906101606110eb818461397a565b600a8352601f19013660208401375f5f5b82518110156107d55761110f8184613e23565b515f52609d60205260ff60405f20541661112c575b6001016110fc565b9061113d6001916107bc8486613e23565b919050611124565b5061114f336140c6565b156110ca565b5061115f336141f9565b156110c4565b346103f35760403660031901126103f357610fb660043561118461381d565b906111a461119d825f525f602052600160405f20015490565b339061588b565b614d0e565b346103f35760206111c56111bc36613baf565b939290926144a8565b6040516001600160a01b039091168152f35b346103f35760403660031901126103f3576111f06137db565b6024359060068210156103f3576020916106f691614452565b346103f3575f3660031901126103f35760206040515f516020615a155f395f51905f528152f35b346103f35760203660031901126103f3576004356001600160401b0381116103f357611260903690600401613b52565b61126933614172565b15806113ed575b61067a57609b5460ff8116610d595760ff1916600117609b5580156113de57602881116107e75763ffffffff811691905f5b63ffffffff811682811015610c8a576112e16112c46040610537848789613e37565b6001600160a01b03165f9081526033602052604090205460ff1690565b156113ae576112f1818486613e37565b3515610d37576001600160a01b0361130f6060610537848789613e37565b161561066b576020611322828587613e37565b01355f52609c60205260ff60405f20541661138d57906113838584848761137d606061053761137560406105378761135e6113889e8b8a613e37565b3599602061136d83838c613e37565b013598613e37565b948b8d613e37565b92614a63565b61443b565b6112a2565b61139a6020918486613e37565b0135631409d1b760e21b5f5260045260245ffd5b60406105376113be928587613e37565b63094403b760e41b5f9081526001600160a01b0391909116600452602490fd5b630b8fc7cd60e21b5f5260045ffd5b506113f7336141f9565b15611270565b346103f3575f3660031901126103f35760206040517ff7401a2aa2d57dbee8bd296c5ac47eac2db8a2db2ff59d50c0534dc8be92dc6e8152f35b346103f35760203660031901126103f3576004356001600160401b0381116103f357366023820112156103f3578060040135906001600160401b0382116103f35736602460a08402830101116103f357611490336140c6565b1580611622575b61067a57609b5460ff8116610d595760ff1916600117609b81905560081c60ff16610d6857602882116107e75763ffffffff821691905f5b82811015610c8a5760a08102820160a060231982360301126103f357604051906114f8826138f3565b6024810135825260208201906044810135825261151760648201613833565b926040810193845261152b60848301613833565b926060820193845260a46080830193013583528151815161157160018060a01b0388511691610eaf60018060a01b03895116885190604051958694602086019889613cf6565b51902092835f52609e60205260ff60405f2054161561160f57518042106115f95750928260019695926115f3958b955f52609e60205260405f2060ff1981541690555180927f51c3dff4f0da80a96e8c3557bb500474d2b07950c09c205189fcf7a426970f775f80a3519251915160a088901b88900390811693921691614a63565b016114cf565b63126b74dd60e11b5f526004524260245260445ffd5b8363836588c960e01b5f5260045260245ffd5b5061162c33614172565b15611497565b346103f35760603660031901126103f35760043560068110156103f3576024359060ff8216918281036103f3576044359160ff8316938484036103f35761167833614172565b1561067a5760408051610fb6966001936116918361395f565b825260208201520152614e65565b346103f3575f3660031901126103f3576020606b54604051908152f35b346103f3575f3660031901126103f35760206040517fdd7d143944313e9468ffd66e8786351a1538ac1bd6bac96fbbaac11d42f60a518152f35b346103f3575f3660031901126103f35760206040517f4d7d81d86b902e627e6f0ca462e1191bd8af9cb4b8de2660c10b6349acb6ff9b8152f35b346103f3575f3660031901126103f357602060ff609b5460081c166040519015158152f35b346103f35761176336613847565b91939092609b5460ff8116610d595760ff1916600117609b81905560081c60ff16610d685760405191611795836138f3565b80835260208084018381526001600160a01b0397881660408087018281529890991660608701818152608088018981529a51999a9099909893969481019590946117eb948694610eaf9491939192909189613cf6565b51902092835f52609e60205260ff60405f2054161561160f57518042106115f957610c8a60018787878787825f52609e60205260405f2060ff1981541690555180927f51c3dff4f0da80a96e8c3557bb500474d2b07950c09c205189fcf7a426970f775f80a3519251915160a085901b85900390811693921691614a63565b346103f35760206111c5610ebd610eaf61188336613baf565b95929490936080604051611896816138f3565b5f81528a81019283526001600160a01b03978816604080830191825295891660608301908152929091018790529151915190519351808b0197909687959093908216929091169088614824565b346103f3576118f1366137c5565b906118fb33614172565b1580611957575b61067a5760ff609b5460081c16610d685761191e828210613d2f565b603261192a8284613d7b565b10156103f3575b81811061193a57005b5f818152609d60205260409020805460ff19169055600101611931565b50611961336141f9565b15611902565b346103f35760403660031901126103f3576004356001600160401b0381116103f357611997903690600401613a13565b6024356119a333614172565b1580611aa1575b61067a5760ff609b5460081c16610d685760288251116106575747825182810290808204841490151715611a8d571015611a7e575f5b825163ffffffff821690811015611a58575f808080866001600160a01b03611a08878b613e23565b51165af1611a14613de6565b5015611a295750611a249061443b565b6119e0565b6001600160a01b0390611a3c9085613e23565b5116633ddff61360e21b5f52306004526024525f60445260645ffd5b7f6e31901a2ad27bd7f19498c4681fc6611bf447147de120c3b5f65c249d5990775f80a1005b63128bd24d60e31b5f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b50611aab336141f9565b156119aa565b346103f3575f3660031901126103f357602060a254604051908152f35b346103f3575f3660031901126103f35760206040515f8152f35b346103f3575f3660031901126103f35760206040517fbbfb55d933c2bfa638763473275b1d84c4418e58d26cf9d2cd5758237756d9f08152f35b346103f35760203660031901126103f357611b3b613d88565b506107e361083f600435614b42565b346103f35760203660031901126103f3576001600160a01b03611b6b6137db565b165f526033602052602060ff60405f2054166040519015158152f35b346103f35760203660031901126103f3576004355f52609e602052602060ff60405f2054166040519015158152f35b346103f35760403660031901126103f3576020611bdc611bd461381d565b6004356143c8565b6040519015158152f35b346103f3575f3660031901126103f3576020606954604051908152f35b60403660031901126103f357611c176137db565b611c1f61381d565b609b5460ff8160081c16610d685760ff8116610d595760ff1916600117609b55611c4833614172565b1580611da6575b61067a576001600160a01b03821690308214610639576001600160a01b03165f8181526033602052604090205490929060ff1615611d935782611ce7575050503415611cd4575f516020615a955f395f51905f5260806040513381523060208201525f6040820152346060820152a15b60ff19609b5416609b55602060405160018152f35b6379ac219b60e01b5f523360045260245ffd5b6040516370a0823160e01b81526004810183905290602082602481875afa91821561061c575f92611d50575b50905f516020615a955f395f51905f5293611d348260809594309084614f86565b60405192835230602084015260408301526060820152a1611cbf565b9291506020833d602011611d8b575b81611d6c6020938361397a565b810103126103f357915190915f516020615a955f395f51905f52611d13565b3d9150611d5f565b8263094403b760e41b5f5260045260245ffd5b50611db0336141f9565b15611c4f565b346103f3575f3660031901126103f357611dcf33614172565b1580611deb575b61067a57609b805461ff001916610100179055005b50611df533614334565b15611dd6565b346103f3575f3660031901126103f35760206040517f20eabc094169e10bc6be263d742d992b10fb206c3c0411e1cbabdd3cf47922298152f35b346103f35760203660031901126103f3576001600160a01b03611e566137db565b165f526099602052602060405f2054604051908152f35b346103f3576101003660031901126103f357611e876137f1565b611e8f613807565b60603660831901126103f35760e4356001600160401b0381116103f357611eba903690600401613889565b9160ff609b5460081c16610d6857610fb693602435600435613e85565b60803660031901126103f3576004356001600160401b0381116103f357611f02903690600401613b82565b60603660231901126103f35760ff609b5460081c16610d68575f805260336020527f44496df070da3f045064f6d6f394484a8de10d5710290d619b67d975ec89320f5460ff1615612096573415610d3757604051602081019060243560ff81168091036103f35782526044356040820152606435606082015260608152611f8a60808261397a565b519020805f52609a60205260ff60405f205416610d1557335f526099602052612001610c52602460405f205460405190611fc3826138f3565b5f8083523460208085018290523360408087018290526060870185905260809096018590529451908101949093610ebd938593610eaf939088614824565b15610d06577fef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb3959260a0915f52609a60205260405f20600160ff19825416179055335f52609960205260405f206120578154613e15565b9055826040519384923384525f602085015234604085015260806060850152816080850152848401375f828201840152601f01601f19168101030190a1005b63094403b760e41b5f525f60045260245ffd5b346103f35760203660031901126103f3576120c2613e55565b506107e36108cc600435614f2b565b346103f35760203660031901126103f3576001600160a01b036120f26137db565b165f52609f602052608060405f2080549060018101549060ff6003600283015492015416916040519384526020840152604083015215156060820152f35b346103f357366003190161012081126103f357610100136103f357610104356001600160401b0381116103f35761216b903690600401613889565b9061217533614172565b1561067a57606a549060018216612212575b505050612192613cb2565b6064359060ff8216918281036103f357506084359160ff8316928381036103f3575060a43560ff8116908181036103f3575060c4359360ff8516928386036103f357610fb69550604051946121e686613944565b6001600160a01b03168552604435602086015260408501526060840152608083015260a0820152614d7c565b60e4359260a154928385036123855761222a90614b42565b916001546040519361010085018581106001600160401b038211176123715760405260043560068110156103f35780865261226361381d565b9760208701988952604087019060443582526064359060ff821682036103f3576060890191825260843560ff811681036103f35760808a0190815260a43560ff811681036103f35760a08b0190815260c4359160ff831683036103f35760ff806123669f81610afa9f9160e08360c0849501998a520198895260018060a01b0390511699519851169351169351169351169351946040519661233060208901997ff7c85f4c562133d25a5a2a8cfb32d68080a42c5189d5a1a655e1216b2364c3598b5260408a0190613ce9565b6060880152608087015260a086015260c085015260e08401526101008301526101208201526101208152610ae56101408261397a565b60a155808080612187565b634e487b7160e01b5f52604160045260245ffd5b5050506306427aeb60e01b5f5260045260245260445ffd5b346103f3575f3660031901126103f35760206040517f3261beaeb016c41750eb5ecd6c92c85305d1a0aecaaaa6e0f4cf499f7ae258fb8152f35b346103f35760203660031901126103f3576004356001600160401b0381116103f357612407903690600401613a13565b61241033614172565b1561067a575f5b81518110156124bb576001906001600160a01b036124358285613e23565b51165f5260336020528160ff60405f205416151514612455575b01612417565b818060a01b036124658285613e23565b51165f52603360205260405f2060ff1981541690557f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd36020838060a01b036124ad8487613e23565b5116604051908152a161244f565b505f5b8151811015610fb6576001906001600160a01b036124dc8285613e23565b51165f5260686020525f6040812055016124be565b346103f35760203660031901126103f3576001600160a01b036125126137db565b165f5260a06020526040805f2060ff6001825492015416825191825215156020820152f35b346103f35760e03660031901126103f3576125506137db565b61255861381d565b906044356001600160401b0381116103f3576125789036906004016139b6565b6064356001600160401b0381116103f357612597903690600401613a13565b6084356001600160401b0381116103f3576125b6903690600401613a86565b9360a4356001600160401b0381116103f3576125d6903690600401613b52565b9190945f516020615a755f395f51905f525460ff8160401c1615946001600160401b038216801590816128a4575b600114908161289a575b159081612891575b506128825767ffffffffffffffff1982166001175f516020615a755f395f51905f52556126f79186612856575b506040968751612653898261397a565b60068152602081019065457363726f7760d01b8252612670614ce3565b895161267b8161390e565b818152836020820152468b820152606030910152519020906020815191012088519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528a83015260608201524660808201523060a082015260a081526126e960c08261397a565b519020600155610fb1614ce3565b6126ff614ce3565b606580546001600160a01b0319166001600160a01b03831617905561272333614172565b15612847575b61273281614334565b15612837575b50612742816141f9565b15612827575b5060c43560a3555f5b8551811015612770578061276a61102860019389613e23565b01612751565b50835f5b8281106127da5750505061278457005b60207fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29168ff0000000000000000195f516020615a755f395f51905f5254165f516020615a755f395f51905f52555160018152a1005b6127e5818484613e37565b359060068210156103f35761282160019261280c6020612806858989613e37565b01613e47565b61281b89612806868a8a613e37565b91614e65565b01612774565b61283090614ca1565b5085612748565b61284090614c73565b5086612738565b61285033614be9565b50612729565b68ffffffffffffffffff191668010000000000000001175f516020615a755f395f51905f525589612643565b63f92ee8a960e01b5f5260045ffd5b9050158a612616565b303b15915061260e565b879150612604565b346103f3575f3660031901126103f35760206040516103848152f35b346103f35760203660031901126103f35760206128e36137db565b6128ec81614172565b9081156128ff575b506040519015158152f35b61290991506141f9565b826128f4565b346103f3575f3660031901126103f35760206040517fd64fcb6a6f590e3ec3e331a5d9c60e0ca7468054939fe8e8dfe25f11ad1c1e7a8152f35b346103f357366003190160e081126103f35760c0136103f35760c4356001600160401b0381116103f357612981903690600401613889565b9061298b33614172565b1561067a576004359160068310156103f35760058303612b7857606b549160018316612a60575b6129ba613cb2565b7fdecad5d2d09e135bd441d251aac8169cfc87fbaa724441620c4433eec310740e606060443560643560843590612a4d6040516129f68161390e565b84815260036020820198848a5260408301868152888401916001835260018060a01b03169a8b5f52609f60205260405f209451855551600185015551600284015551151591019060ff801983541691151516179055565b60405192835260208301526040820152a2005b60a4359360a25493848603612b615794610afa939291612a82612b5597614b42565b906001549260405190612a9482613944565b828252612a9f61381d565b60208381018290526044356040808601829052606435606087018190526084356080880181905260a090970186905281517f938950981d332bb13f775a3387daf26ee4c6574ace3e04ca5d9c0f6b267e611f948101948552939793969490936001600160a01b0390911691612b179190880190613ce9565b6060860152608085015260a084015260c083015260e082015260e08152612b406101008261397a565b51902060ff60208184511693015116926155ca565b60a255808080806129b2565b85856306427aeb60e01b5f5260045260245260445ffd5b631cc6a69960e11b5f5260045ffd5b346103f3575f3660031901126103f357612ba033614172565b1580612bb8575b61067a57609b805461ff0019169055005b50612bc233614334565b15612ba7565b346103f35760203660031901126103f3576020611bdc6112c46137db565b346103f35760603660031901126103f357612bff6137db565b612c0761381d565b90612c106137f1565b91612c19614ce3565b606580546001600160a01b0319166001600160a01b038416179055612c3d81614172565b15612c7d575b50612c4d81614334565b15612c6d575b50612c5d816141f9565b15612c6457005b610fb690614ca1565b612c7690614c73565b5081612c53565b612c8690614be9565b5082612c43565b346103f3575f3660031901126103f3576020606a54604051908152f35b346103f35760403660031901126103f357612cc361381d565b336001600160a01b03821603612cdf57610fb690600435614d0e565b63334bd91960e11b5f5260045ffd5b346103f3575f3660031901126103f3576020600154604051908152f35b346103f3575f3660031901126103f357602060a154604051908152f35b346103f35760403660031901126103f3576004356001600160401b0381116103f357612d589036906004016139b6565b6024356001600160401b0381116103f357612d779036906004016139b6565b90612d80614ce3565b604051612d8c8161390e565b8181528260208201524660408201526060309101526020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152612e0160c08261397a565b519020600155005b346103f35760403660031901126103f357610fb6600435612e2861381d565b90612e4161119d825f525f602052600160405f20015490565b614ccf565b346103f357612e54366138b9565b612e5d33614172565b1561067a5782359160068310156103f35760058303612b7857606b549160018316612f08575b847fbfb20345012f7f594509a481f64d54cf8b3b081b4a40b1c69410fee9590f89c360206040612eb4828501613cc8565b930135612eff604051612ec681613929565b828152600184820196818852818060a01b031696875f5260a0865260405f209251835551151591019060ff801983541691151516179055565b604051908152a2005b60608501359160a25493848403612fde57612f2290614b42565b600154906080883603126103f357612fd29688610afa96604051612f458161390e565b8381526060612f5660208501613833565b9160208101928352604080820195013585520191825260018060a01b03905116915190519060405192612fb460208501957f17b10d4ca0ee847f6681ca5e4205d5402614b1149ae7a25cd473872ae40df18187526040860190613ce9565b6060840152608083015260a082015260a08152612b4060c08261397a565b60a25581808080612e83565b83856306427aeb60e01b5f5260045260245260445ffd5b346103f35760a03660031901126103f3576004356024356130146137f1565b9161301d613807565b906084356001600160401b0381116103f35761303d903690600401613889565b929094613049336140c6565b1580613265575b61067a5760ff609b5460081c16610d68576001600160a01b0382169384156132205760695496600188161561321157845f52609d60205260ff60405f2054166131fe5761309c8461428d565b156131ef57866130ab84614b8d565b10611a7e5761310c926130ee604051916130c4836138f3565b6003835289602084015288604084015260018060a01b0316998a6060840152876080840152614b42565b6130fa6001549261487a565b60ff6020818451169301511692615485565b846131ba57505f80808086865af1613122613de6565b501561317d577f8e9ad6ff79b807d41dbd258df99a4c3dc7563b3c7fbfddf2f5543b76db906afe936080935b825f52609d60205260405f20600160ff19825416179055604051938452602084015260408301526060820152a1005b60405162461bcd60e51b8152602060048201526015602482015274115d1a195c881d1c985b9cd9995c8819985a5b1959605a1b6044820152606490fd5b93836131ea6080957f8e9ad6ff79b807d41dbd258df99a4c3dc7563b3c7fbfddf2f5543b76db906afe9784614ba9565b61314e565b63178e01cf60e01b5f5260045ffd5b84631409d1b760e21b5f5260045260245ffd5b630845dc8960e31b5f5260045ffd5b60405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f207a65726f2061646472657373006044820152606490fd5b5061326f33614172565b15613050565b346103f35760203660031901126103f35760206106f66004355f525f602052600160405f20015490565b346103f35760203660031901126103f3576001600160a01b036132c06137db565b165f526068602052602060405f2054604051908152f35b346103f3576132e536613847565b90916132f394939433614172565b1580613388575b61067a5760ff609b5460081c16610d6857610eaf6133249260405194859388602086019889613cf6565b519020805f52609e60205260ff60405f2054161561337657805f52609e60205260405f2060ff1981541690557fbc42d977c60745c9544af4d5bc56c88c6f21914f291dfd327af4eb04098e90085f80a3005b63836588c960e01b5f5260045260245ffd5b50613392336141f9565b156132fa565b346103f3575f3660031901126103f3576107e361083f613da6565b346103f3575f3660031901126103f357602047604051908152f35b346103f3576133dc366137c5565b906133e633614172565b1580613442575b61067a5760ff609b5460081c16610d6857613409828210613d2f565b60326134158284613d7b565b10156103f3575b81811061342557005b5f818152609c60205260409020805460ff1916905560010161341c565b5061344c336141f9565b156133ed565b346103f35760203660031901126103f3576004356001600160401b0381116103f357366023820112156103f3578060040135906001600160401b0382116103f3573660248360051b830101116103f3576134ab336140c6565b1580613762575b61067a57609b5460ff8116610d595760ff1916600117609b81905560081c60ff16610d685781156113de57602882116107e7573681900360c219015f5b83811015610c8a5760248160051b84010135828112156103f35783016064810161351b6112c482613cc8565b156137595760248201358015610d375760848301906001600160a01b0361354183613cc8565b161561066b57604484013593845f52609c60205260ff60405f2054166131fe5761356a83613cc8565b61357385613cc8565b60405191613580836138f3565b60018352602083018590526001600160a01b039081166040840152166060820152608081018690526135ba6135b486613cc8565b84614788565b916135c76001549261487a565b602084015193519093909160a481013560421936839003018112156103f35701602401803592906001600160401b0384116103f3576020019160608402360383136103f357613617958a95615319565b61363361362384613cc8565b61362c84613cc8565b908361490f565b801561372a576136439042613cdc565b61364c84613cc8565b8161366f61365986613cc8565b610eaf60405193849260208401968c8a89613cf6565b51902093845f52609e60205260ff60405f205416613717579161370d8594926136db6136d57f0c9f9de35e5087cd15d9d8b1e477c3fe1500157465e3737550a4395936b5c49a9660019b9a995f52609e60205260405f208c60ff19825416179055613cc8565b94613cc8565b604080519485526001600160a01b03958616602086015294169383019390935260608201929092529081906080820190565b0390a35b016134ef565b856352fcbb3b60e11b5f5260045260245ffd5b5090926001949361374661374061375495613cc8565b91613cc8565b9163ffffffff8a1693614a63565b613711565b6113be90613cc8565b5061376c33614172565b156134b2565b346103f35760203660031901126103f3576004359063ffffffff60e01b82168092036103f357602091637965db0b60e01b81149081156137b4575b5015158152f35b6301ffc9a760e01b149050836137ad565b60409060031901126103f3576004359060243590565b600435906001600160a01b03821682036103f357565b604435906001600160a01b03821682036103f357565b606435906001600160a01b03821682036103f357565b602435906001600160a01b03821682036103f357565b35906001600160a01b03821682036103f357565b60a09060031901126103f35760043590602435906044356001600160a01b03811681036103f357906064356001600160a01b03811681036103f3579060843590565b9181601f840112156103f3578235916001600160401b0383116103f357602080850194606085020101116103f357565b90600319820160a081126103f3576080136103f357600491608435906001600160401b0382116103f3576138ef91600401613889565b9091565b60a081019081106001600160401b0382111761237157604052565b608081019081106001600160401b0382111761237157604052565b604081019081106001600160401b0382111761237157604052565b60c081019081106001600160401b0382111761237157604052565b606081019081106001600160401b0382111761237157604052565b90601f801991011681019081106001600160401b0382111761237157604052565b6001600160401b03811161237157601f01601f191660200190565b81601f820112156103f3578035906139cd8261399b565b926139db604051948561397a565b828452602083830101116103f357815f926020809301838601378301015290565b6001600160401b0381116123715760051b60200190565b9080601f830112156103f3578135613a2a816139fc565b92613a38604051948561397a565b81845260208085019260051b8201019283116103f357602001905b828210613a605750505090565b60208091613a6d84613833565b815201910190613a53565b359060ff821682036103f357565b81601f820112156103f357803590613a9d826139fc565b92613aab604051948561397a565b828452602060c08186019402830101918183116103f357602001925b828410613ad5575050505090565b60c0848303126103f357602060c091604051613af081613944565b613af987613833565b81528287013583820152613b0f60408801613a78565b6040820152613b2060608801613a78565b6060820152613b3160808801613a78565b6080820152613b4260a08801613a78565b60a0820152815201930192613ac7565b9181601f840112156103f3578235916001600160401b0383116103f3576020808501948460071b0101116103f357565b9181601f840112156103f3578235916001600160401b0383116103f357602083818601950101116103f357565b60e06003198201126103f357600435916024356001600160a01b03811681036103f357916044356001600160a01b03811681036103f3579160606064359260831901126103f357608490565b60206003198201126103f357600435906001600160401b0382116103f357806023830112156103f3578160040135613c32816139fc565b92613c40604051948561397a565b8184526024602085019260051b8201019283116103f357602401905b828210613c695750505090565b8135815260209182019101613c5c565b60206040818301928281528451809452019201905f5b818110613c9c5750505090565b8251845260209384019390920191600101613c8f565b6024356001600160a01b03811681036103f35790565b356001600160a01b03811681036103f35790565b91908201809211611a8d57565b9060068210156104575752565b60018152602081019190915260408101919091526001600160a01b0391821660608201529116608082015260a081019190915260c00190565b15613d3657565b60405162461bcd60e51b815260206004820152601b60248201527f5374617274206d757374206265206c657373207468616e20656e6400000000006044820152606490fd5b91908203918211611a8d57565b60405190613d958261395f565b5f6040838281528260208201520152565b613dae613d88565b506069546001811615613dc757613dc490614b42565b90565b50604051613dd48161395f565b5f81525f60208201525f604082015290565b3d15613e10573d90613df78261399b565b91613e05604051938461397a565b82523d5f602084013e565b606090565b5f198114611a8d5760010190565b80518210156110635760209160051b010190565b91908110156110635760071b0190565b3560ff811681036103f35790565b60405190613e6282613944565b5f60a0838281528260208201528260408201528260608201528260808201520152565b919293909460018060a01b03841690815f52603360205260ff60405f205416156140b3578315610d37576001600160a01b03861692831561066b57875f52609c60205260ff60405f2054166140a057604051602081019060843560ff811681036103f35760ff16825260a435604082015260c435606082015260608152613f0d60808261397a565b51902093845f52609a60205260ff60405f205416610d1557613f36610c5260848b8a8c8b6144a8565b15610d0657613f899360405191613f4c836138f3565b6001835287602084015260408301526060820152886080820152613f708787614788565b613f7c6001549261487a565b6020820151915192615766565b81613f9384614b8d565b10614071575f52609a60205260405f20600160ff19825416179055613fb983838361490f565b801561406457613fc99042613cdc565b6040516020810190613fe381610eaf8589898c8a89613cf6565b51902093845f52609e60205260ff60405f205416613717575f858152609e6020908152604091829020805460ff1916600117905581519485526001600160a01b039586169085015293169282019290925260608101919091527f0c9f9de35e5087cd15d9d8b1e477c3fe1500157465e3737550a4395936b5c49a90608090a3565b509261406f93614978565b565b5081610cf4610cc57f2aa807c191208ec364a49ebc0018975f798050694e1695937b26706e4f0a885894614b8d565b87631409d1b760e21b5f5260045260245ffd5b5063094403b760e41b5f5260045260245ffd5b6140ef7fdd7d143944313e9468ffd66e8786351a1538ac1bd6bac96fbbaac11d42f60a51614fca565b90602082015115614134576001600160a01b03165f90815260676020526040902054905190600882101561045757600160ff8093161b161661412f575f90565b600190565b6001600160a01b03165f9081527f73d1b004bb899057e159bfa3bc586cb8ff49a8aafbfaf45c482f2c16f8bdf303602052604090205460ff16919050565b61417b5f614fca565b906020820151156141bb576001600160a01b03165f90815260676020526040902054905190600882101561045757600160ff8093161b161661412f575f90565b6001600160a01b03165f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff16919050565b61420f5f516020615a155f395f51905f52614fca565b9060208201511561424f576001600160a01b03165f90815260676020526040902054905190600882101561045757600160ff8093161b161661412f575f90565b6001600160a01b03165f9081527f4272c0e29c36ddb672dd25a254bda59e4d959f5c13bec396162edadccdbf7935602052604090205460ff16919050565b6142b67fb7733e58c7517dbd9e44ca467a39c0556186bc3a7271956f0a22baafb5dc93c3614fca565b906020820151156142f6576001600160a01b03165f90815260676020526040902054905190600882101561045757600160ff8093161b161661412f575f90565b6001600160a01b03165f9081527fe2b47d1c3d5450b2075d143367420d4b6d23efa60d1222723e42a52350332748602052604090205460ff16919050565b61434a5f516020615a355f395f51905f52614fca565b9060208201511561438a576001600160a01b03165f90815260676020526040902054905190600882101561045757600160ff8093161b161661412f575f90565b6001600160a01b03165f9081527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f602052604090205460ff16919050565b906143d282614fca565b9160208301511561441357506001600160a01b03165f90815260676020526040902054905190600882101561045757600160ff8093161b161661412f575f90565b5f908152602081815260408083206001600160a01b039094168352929052205460ff16919050565b63ffffffff1663ffffffff8114611a8d5760010190565b5f9291600681101561045757801561448c5760011461446e5750565b6001600160a01b03165f908152609960205260409020600101549150565b506001600160a01b03165f908152609960205260409020549150565b9092610c4a92613dc49594604051936144c0856138f3565b6001855260208501526001600160a01b039081166040850152166060830152608082015261487a565b906144f3826139fc565b614500604051918261397a565b8281528092614511601f19916139fc565b0190602036910137565b614523613e55565b506001600160a01b03165f90815260686020526040902054600181161561454d57613dc490614f2b565b5060405161455a81613944565b5f81525f60208201525f60408201525f60608201525f60808201525f60a082015290565b614586613d88565b506006811015610457576004036145ad57606a545b6001811615613dc757613dc490614b42565b606b5461459b565b6040516370a0823160e01b815230600482015290602090829060249082906001600160a01b03165afa90811561061c575f916145ef575090565b90506020813d602011614616575b8161460a6020938361397a565b810103126103f3575190565b3d91506145fd565b91908110156110635760061b0190565b9060405161463b8161390e565b5f81525f60208201525f60408201525f60608201525061465a81614b8d565b91801561476257670de0b6b3a76400008302838104670de0b6b3a76400001484151715611a8d57819004908310156146b957506040519161469a8361390e565b5f808452602084015260408301526001600160a01b0316606082015290565b6801158e460913d0000081106146f85750604051916146d78361390e565b600383526014602084015260408301526001600160a01b0316606082015290565b674563918244f400001161473457604051916147138361390e565b600283526005602084015260408301526001600160a01b0316606082015290565b604051916147418361390e565b600183526002602084015260408301526001600160a01b0316606082015290565b50604051916146d78361390e565b6040519061477d82613929565b5f6020838281520152565b90614791614770565b506001600160a01b03165f81815260686020526040902054906001821615614812575060ff6147c08192614f2b565b928351111592835f146148055781604082015116935b156147fb5760800151165b81604051936147ef85613929565b16835216602082015290565b60600151166147e1565b81602082015116936147d6565b6304ca686f60e01b5f5260045260245ffd5b7fe35cf8b8df51aa49768d4a7859037953b72f9188d7c60825dfd506ac7c8d430c81525f602082015260408101919091526001600160a01b0391821660608201529116608082015260a081019190915260c00190565b80519060068210156104575760208101519060018060a01b0360408201511690608060018060a01b0360608301511691015191604051936148e660208601967f30df4329ee18debd99f937f6d70edc594d2957d5c194e77ab788df398c193af288526040870190613ce9565b6060850152608084015260a083015260c082015260c0815261490960e08261397a565b51902090565b6001600160a01b039092165f90815260a060205260409020600181015460ff16614971575060018060a01b03165f52609f60205260405f209060ff60038301541661495c57505061038490565b81541161496a576002015490565b6001015490565b9150505490565b9091825f52609c60205260405f20600160ff19825416179055335f526099602052600160405f20016149aa8154613e15565b90556001600160a01b031680614a3f57814710611a7e576001600160a01b0384165f80808086855af16149db613de6565b5015614a255750915f5160206159f55f395f51905f52939160c0935b604080513381526001600160a01b03909516602086015284015260608301526080820152600160a0820152a1565b633ddff61360e21b5f52306004526024525f60445260645ffd5b918183614a5e86945f5160206159f55f395f51905f529760c097614ba9565b6149f7565b9091939293825f52609c60205260405f20600160ff19825416179055335f526099602052600160405f2001614a988154613e15565b90556001600160a01b031680614b1857814710611a7e576001600160a01b0385165f80808086855af1614ac9613de6565b5015614a255750925f5160206159f55f395f51905f52949263ffffffff9260c0955b604080513381526001600160a01b039097166020880152860152606085015260808401521660a0820152a1565b9284928285614b3d63ffffffff955f5160206159f55f395f51905f529960c099614ba9565b614aeb565b614b4a613d88565b506001811615614b7e5760ff60405191614b638361395f565b818160081c16835260101c1660208201526001604082015290565b6306b7c75960e31b5f5260045ffd5b6001600160a01b038116614ba057504790565b613dc4906145b5565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815261406f91614be460648361397a565b615833565b614bf3815f61591e565b90614bfd5f614fca565b90602082015115614c6e576001600160a01b03165f8181526067602052604090205490919060ff16614c5b5751906008821015610457575f52606760205260ff8060018160405f2094161b1681835416171660ff1982541617905590565b5063f893a86f60e01b5f5260045260245ffd5b505090565b614c8a815f516020615a355f395f51905f5261591e565b90614bfd5f516020615a355f395f51905f52614fca565b614cb8815f516020615a155f395f51905f5261591e565b90614bfd5f516020615a155f395f51905f52614fca565b90614bfd614cdd828461591e565b92614fca565b60ff5f516020615a755f395f51905f525460401c1615614cff57565b631afcd79f60e31b5f5260045ffd5b90614d1c614cdd828461598d565b90602082015115614c6e576001600160a01b03165f8181526067602052604090205490919060ff1615614c6e5751906008821015610457575f52606760205260ff808060018160405f2095161b1619835416161660ff1982541617905590565b6080810160ff8151169060a083019160ff83511610614b7e576040830160ff815116606085019060ff82511610614b7e577fdc6ddbf1e030d2d29f974619e12442d5506a4bdfbf9fc60c74d37e0612b1bdec9360c09360ff80808060208b019a60018c5160a01b64ff000000008a5160201b161763ff0000008b5160181b161762ff0000895160101b161761ff00885160081b16171760018060a01b038251165f52606860205260405f205560018060a01b039051169a51975116955116925116925116926040519460018652602086015260408501526060840152608083015260a0820152a2565b9091600160405191614e768361395f565b62ff000061ff0060ff87169687865284604060ff861697886020820152015260081b169160101b16171760068310156104575760038303614ee357905f516020615a555f395f51905f5293606093926069555b614ed66040518094613ce9565b60208301526040820152a1565b60058303614f0757905f516020615a555f395f51905f529360609392606b55614ec9565b919060048203612b78575f516020615a555f395f51905f5293606093606a55614ec9565b614f33613e55565b506001811615614b7e5760ff60405191614f4c83613944565b8060a01c8352818160181c166020840152818160201c166040840152818160081c16606084015260101c166080820152600160a082015290565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815261406f91614be460848361397a565b604051614fd681613929565b5f8082526020909101527fede9dcdb0ce99dc7cec9c7be9246ad08b37853683ad91569c187b647ddf5e21c8103615021575060405161501481613929565b5f81526001602082015290565b7ff7401a2aa2d57dbee8bd296c5ac47eac2db8a2db2ff59d50c0534dc8be92dc6e8103615063575060405161505581613929565b600181526001602082015290565b7f4d7d81d86b902e627e6f0ca462e1191bd8af9cb4b8de2660c10b6349acb6ff9b81036150a5575060405161509781613929565b600281526001602082015290565b7f20eabc094169e10bc6be263d742d992b10fb206c3c0411e1cbabdd3cf479222981036150e757506040516150d981613929565b600381526001602082015290565b7fbbfb55d933c2bfa638763473275b1d84c4418e58d26cf9d2cd5758237756d9f08103615129575060405161511b81613929565b600481526001602082015290565b7f3261beaeb016c41750eb5ecd6c92c85305d1a0aecaaaa6e0f4cf499f7ae258fb810361516b575060405161515d81613929565b600581526001602082015290565b7fd64fcb6a6f590e3ec3e331a5d9c60e0ca7468054939fe8e8dfe25f11ad1c1e7a81036151ad575060405161519f81613929565b600681526001602082015290565b7faf82374944a6f0200e0a96e99d9d9aa4925409c95c28b14a1d426baddd614aa8146151eb576040516151df81613929565b5f81525f602082015290565b6040516151f781613929565b600781526001602082015290565b60209260406080925f948251908782019261190160f01b8452602283015260428201526042815261523760628261397a565b5190209160ff61524682613e47565b8351948552168684015285810135828401520135606082015282805260015afa1561061c575f5190565b5f5b8151811015615315576001906001600160a01b036152908285613e23565b51165f52603360205260ff60405f205416156152ad575b01615272565b818060a01b036152bd8285613e23565b51165f52603360205260405f208260ff198254161790557f784c8f4dbf0ffedd6e72c76501c545a70f8b203b30a26ce542bf92ba87c248a46020838060a01b036153078487613e23565b5116604051908152a16152a7565b5050565b919396929695949561532b8886613cdc565b1561547b575f97969594889490615341886144e9565b985f9a5b898c101561542a5761535d60608d0286018789615205565b6001600160a01b0316905f5b8d81106153f157505f8281526067602052604090205460028116156153b157509b6001916153a6828e9f9d9e9c9d6153a090613e15565b9c613e23565b52019a999897615345565b909890600116156153da579b6001916153a6828e9f9d9e9b9c9d6153d490613e15565b9b613e23565b8c8a63043f5f1d60e01b5f5260045260245260445ffd5b828d6154048360018060a01b0392613e23565b51161461541357600101615369565b8d8b63043f5f1d60e01b5f5260045260245260445ffd5b969950945096509750505080821061546257505081831061544a57505050565b631cb9feeb60e21b5f5260045260245260445260645ffd5b82636493ab8960e01b5f5260045260245260445260645ffd5b5050509350505050565b919295936154938785613cdc565b156155c1575f96959487946154a7876144e9565b975f995b888b1015615578576154c360608c0286018789615205565b6001600160a01b0316905f5b8c811061554357505f82815260676020526040902054600881161561551057509a600191615505826153d48e9f9e9c9d9e613e15565b5201999897966154ab565b90989060041615615530579a600191615505826153a08e9f9e9d9e613e15565b8b63b20230bd60e01b5f5260045260245ffd5b826001600160a01b03615556838f613e23565b511614615565576001016154cf565b8c63b20230bd60e01b5f5260045260245ffd5b96985094509550965050508082106155ac575050808210615597575050565b63ec65672960e01b5f5260045260245260445ffd5b63153482d760e01b5f5260045260245260445ffd5b50505050915050565b919295936155d88785613cdc565b156155c1575f96959487946155ec876144e9565b975f995b888b10156155785761560860608c0286018789615205565b6001600160a01b0316905f5b8c811061567557505f82815260676020526040902054608081161561565557509a60019161564a826153d48e9f9e9c9d9e613e15565b5201999897966155f0565b90989060401615615530579a60019161564a826153a08e9f9e9d9e613e15565b826001600160a01b03615688838f613e23565b51161461556557600101615614565b919295936156a58785613cdc565b156155c1575f96959487946156b9876144e9565b975f995b888b1015615578576156d560608c0286018789615205565b6001600160a01b0316905f5b8c81106157445750815f52606760205260405f20546020811615155f1461572457509a600191615719826153d48e9f9e9c9d9e613e15565b5201999897966156bd565b90989060101615615530579a600191615719826153a08e9f9e9d9e613e15565b826001600160a01b03615757838f613e23565b511614615565576001016156e1565b919295936157748785613cdc565b156155c1575f9695948794615788876144e9565b975f995b888b1015615578576157a460608c0286018789615205565b6001600160a01b0316905f5b8c811061581157505f8281526067602052604090205460028116156157f157509a6001916157e6826153d48e9f9e9c9d9e613e15565b52019998979661578c565b90989060011615615530579a6001916157e6826153a08e9f9e9d9e613e15565b826001600160a01b03615824838f613e23565b511614615565576001016157b0565b905f602091828151910182855af11561061c575f513d61588257506001600160a01b0381163b155b6158625750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b6001141561585b565b9061589582614fca565b906020820151156158ec576001600160a01b03165f8181526067602052604090205491519091600882101561045757600160ff8093161b1616156158d7575050565b63e2517d3f60e01b5f5260045260245260445ffd5b90506158f881836143c8565b15615901575050565b63e2517d3f60e01b5f5260018060a01b031660045260245260445ffd5b61592882826143c8565b615987575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b61599782826143c8565b15615987575f818152602081815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a460019056fefc4d59a46f6143e0496645b06688cceb577d2d0439ad39ac0f1eaf3143a3a48e9d98d3d08f0062b192694645e127c98e5f96f3bbec331d061acaac3ace2327f997667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929edb00a5a19c16f441c369a47bcf9dff05b73e88628d23e9cf3a5b159fd0d12c8f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0001435065c87b7ce4044887a2d870d08707e077ac4d08a015fb3f9255fc042392a26469706673582212206eb26d88e051b45e8198d7800f2699bcb0cd314b71abbf2eda9e6b397e56bfef64736f6c634300081c0033";
|
|
3053
3161
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
3054
3162
|
class Escrow__factory extends ethers_1.ContractFactory {
|
|
3055
3163
|
constructor(...args) {
|
|
@@ -14,7 +14,7 @@ export declare class Events__factory extends ContractFactory {
|
|
|
14
14
|
deploymentTransaction(): ContractTransactionResponse;
|
|
15
15
|
}>;
|
|
16
16
|
connect(runner: ContractRunner | null): Events__factory;
|
|
17
|
-
static readonly bytecode = "
|
|
17
|
+
static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220068ddf8aa47405590fa1490db2c46748990508e095a8680de5b7eebf9e6e7b1064736f6c634300081c0033";
|
|
18
18
|
static readonly abi: readonly [{
|
|
19
19
|
readonly anonymous: false;
|
|
20
20
|
readonly inputs: readonly [{
|
|
@@ -218,11 +218,6 @@ export declare class Events__factory extends ContractFactory {
|
|
|
218
218
|
}, {
|
|
219
219
|
readonly anonymous: false;
|
|
220
220
|
readonly inputs: readonly [{
|
|
221
|
-
readonly indexed: false;
|
|
222
|
-
readonly internalType: "address";
|
|
223
|
-
readonly name: "caller";
|
|
224
|
-
readonly type: "address";
|
|
225
|
-
}, {
|
|
226
221
|
readonly indexed: false;
|
|
227
222
|
readonly internalType: "address";
|
|
228
223
|
readonly name: "from";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Events__factory.d.ts","sourceRoot":"","sources":["../../../../../../src/contracts/typechain-types/factories/contracts/lib/Events__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EACf,2BAA2B,EAE5B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"Events__factory.d.ts","sourceRoot":"","sources":["../../../../../../src/contracts/typechain-types/factories/contracts/lib/Events__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EACf,2BAA2B,EAE5B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA8a7E,KAAK,uBAAuB,GACxB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,eAAgB,SAAQ,eAAe;gBACtC,GAAG,IAAI,EAAE,uBAAuB;IAQnC,oBAAoB,CAC3B,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAG5B,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAC7C,MAAM,GAAG;QACP,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CACF;IAEM,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,eAAe;IAIhE,MAAM,CAAC,QAAQ,CAAC,QAAQ,kLAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,eAAe;IAGzC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,MAAM;CAGxE"}
|
|
@@ -257,12 +257,6 @@ const _abi = [
|
|
|
257
257
|
{
|
|
258
258
|
anonymous: false,
|
|
259
259
|
inputs: [
|
|
260
|
-
{
|
|
261
|
-
indexed: false,
|
|
262
|
-
internalType: "address",
|
|
263
|
-
name: "caller",
|
|
264
|
-
type: "address",
|
|
265
|
-
},
|
|
266
260
|
{
|
|
267
261
|
indexed: false,
|
|
268
262
|
internalType: "address",
|
|
@@ -435,7 +429,7 @@ const _abi = [
|
|
|
435
429
|
type: "event",
|
|
436
430
|
},
|
|
437
431
|
];
|
|
438
|
-
const _bytecode = "
|
|
432
|
+
const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220068ddf8aa47405590fa1490db2c46748990508e095a8680de5b7eebf9e6e7b1064736f6c634300081c0033";
|
|
439
433
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
440
434
|
class Events__factory extends ethers_1.ContractFactory {
|
|
441
435
|
constructor(...args) {
|
|
@@ -14,7 +14,7 @@ export declare class MultisigLib__factory extends ContractFactory {
|
|
|
14
14
|
deploymentTransaction(): ContractTransactionResponse;
|
|
15
15
|
}>;
|
|
16
16
|
connect(runner: ContractRunner | null): MultisigLib__factory;
|
|
17
|
-
static readonly bytecode = "
|
|
17
|
+
static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122046c6cd5dcdaa826a634e2831e2ae0c34400f178ca99b0ecf34b477b74694727064736f6c634300081c0033";
|
|
18
18
|
static readonly abi: readonly [{
|
|
19
19
|
readonly inputs: readonly [{
|
|
20
20
|
readonly internalType: "uint256";
|
|
@@ -27,6 +27,22 @@ export declare class MultisigLib__factory extends ContractFactory {
|
|
|
27
27
|
}];
|
|
28
28
|
readonly name: "InsufficientExecutiveSigs";
|
|
29
29
|
readonly type: "error";
|
|
30
|
+
}, {
|
|
31
|
+
readonly inputs: readonly [{
|
|
32
|
+
readonly internalType: "uint256";
|
|
33
|
+
readonly name: "requestId";
|
|
34
|
+
readonly type: "uint256";
|
|
35
|
+
}, {
|
|
36
|
+
readonly internalType: "uint256";
|
|
37
|
+
readonly name: "required";
|
|
38
|
+
readonly type: "uint256";
|
|
39
|
+
}, {
|
|
40
|
+
readonly internalType: "uint256";
|
|
41
|
+
readonly name: "provided";
|
|
42
|
+
readonly type: "uint256";
|
|
43
|
+
}];
|
|
44
|
+
readonly name: "InsufficientExecutiveSigsForRequest";
|
|
45
|
+
readonly type: "error";
|
|
30
46
|
}, {
|
|
31
47
|
readonly inputs: readonly [{
|
|
32
48
|
readonly internalType: "uint256";
|
|
@@ -39,6 +55,22 @@ export declare class MultisigLib__factory extends ContractFactory {
|
|
|
39
55
|
}];
|
|
40
56
|
readonly name: "InsufficientManagerSigs";
|
|
41
57
|
readonly type: "error";
|
|
58
|
+
}, {
|
|
59
|
+
readonly inputs: readonly [{
|
|
60
|
+
readonly internalType: "uint256";
|
|
61
|
+
readonly name: "requestId";
|
|
62
|
+
readonly type: "uint256";
|
|
63
|
+
}, {
|
|
64
|
+
readonly internalType: "uint256";
|
|
65
|
+
readonly name: "required";
|
|
66
|
+
readonly type: "uint256";
|
|
67
|
+
}, {
|
|
68
|
+
readonly internalType: "uint256";
|
|
69
|
+
readonly name: "provided";
|
|
70
|
+
readonly type: "uint256";
|
|
71
|
+
}];
|
|
72
|
+
readonly name: "InsufficientManagerSigsForRequest";
|
|
73
|
+
readonly type: "error";
|
|
42
74
|
}, {
|
|
43
75
|
readonly inputs: readonly [{
|
|
44
76
|
readonly internalType: "uint256";
|
|
@@ -47,6 +79,18 @@ export declare class MultisigLib__factory extends ContractFactory {
|
|
|
47
79
|
}];
|
|
48
80
|
readonly name: "InvalidMultiSig";
|
|
49
81
|
readonly type: "error";
|
|
82
|
+
}, {
|
|
83
|
+
readonly inputs: readonly [{
|
|
84
|
+
readonly internalType: "uint256";
|
|
85
|
+
readonly name: "requestId";
|
|
86
|
+
readonly type: "uint256";
|
|
87
|
+
}, {
|
|
88
|
+
readonly internalType: "uint256";
|
|
89
|
+
readonly name: "sig_idx";
|
|
90
|
+
readonly type: "uint256";
|
|
91
|
+
}];
|
|
92
|
+
readonly name: "InvalidMultiSigForRequest";
|
|
93
|
+
readonly type: "error";
|
|
50
94
|
}];
|
|
51
95
|
static createInterface(): MultisigLibInterface;
|
|
52
96
|
static connect(address: string, runner?: ContractRunner | null): MultisigLib;
|
package/build/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultisigLib__factory.d.ts","sourceRoot":"","sources":["../../../../../../src/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EACf,2BAA2B,EAE5B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"MultisigLib__factory.d.ts","sourceRoot":"","sources":["../../../../../../src/contracts/typechain-types/factories/contracts/lib/MultisigLib__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EACf,2BAA2B,EAE5B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;AA6G5C,KAAK,4BAA4B,GAC7B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,oBAAqB,SAAQ,eAAe;gBAC3C,GAAG,IAAI,EAAE,4BAA4B;IAQxC,oBAAoB,CAC3B,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,yBAAyB,CAAC;IAG5B,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAC7C,WAAW,GAAG;QACZ,qBAAqB,IAAI,2BAA2B,CAAC;KACtD,CACF;IAEM,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,oBAAoB;IAIrE,MAAM,CAAC,QAAQ,CAAC,QAAQ,kLAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,oBAAoB;IAG9C,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,WAAW;CAG7E"}
|
|
@@ -22,6 +22,27 @@ const _abi = [
|
|
|
22
22
|
name: "InsufficientExecutiveSigs",
|
|
23
23
|
type: "error",
|
|
24
24
|
},
|
|
25
|
+
{
|
|
26
|
+
inputs: [
|
|
27
|
+
{
|
|
28
|
+
internalType: "uint256",
|
|
29
|
+
name: "requestId",
|
|
30
|
+
type: "uint256",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
internalType: "uint256",
|
|
34
|
+
name: "required",
|
|
35
|
+
type: "uint256",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
internalType: "uint256",
|
|
39
|
+
name: "provided",
|
|
40
|
+
type: "uint256",
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
name: "InsufficientExecutiveSigsForRequest",
|
|
44
|
+
type: "error",
|
|
45
|
+
},
|
|
25
46
|
{
|
|
26
47
|
inputs: [
|
|
27
48
|
{
|
|
@@ -38,6 +59,27 @@ const _abi = [
|
|
|
38
59
|
name: "InsufficientManagerSigs",
|
|
39
60
|
type: "error",
|
|
40
61
|
},
|
|
62
|
+
{
|
|
63
|
+
inputs: [
|
|
64
|
+
{
|
|
65
|
+
internalType: "uint256",
|
|
66
|
+
name: "requestId",
|
|
67
|
+
type: "uint256",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
internalType: "uint256",
|
|
71
|
+
name: "required",
|
|
72
|
+
type: "uint256",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
internalType: "uint256",
|
|
76
|
+
name: "provided",
|
|
77
|
+
type: "uint256",
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
name: "InsufficientManagerSigsForRequest",
|
|
81
|
+
type: "error",
|
|
82
|
+
},
|
|
41
83
|
{
|
|
42
84
|
inputs: [
|
|
43
85
|
{
|
|
@@ -49,8 +91,24 @@ const _abi = [
|
|
|
49
91
|
name: "InvalidMultiSig",
|
|
50
92
|
type: "error",
|
|
51
93
|
},
|
|
94
|
+
{
|
|
95
|
+
inputs: [
|
|
96
|
+
{
|
|
97
|
+
internalType: "uint256",
|
|
98
|
+
name: "requestId",
|
|
99
|
+
type: "uint256",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
internalType: "uint256",
|
|
103
|
+
name: "sig_idx",
|
|
104
|
+
type: "uint256",
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
name: "InvalidMultiSigForRequest",
|
|
108
|
+
type: "error",
|
|
109
|
+
},
|
|
52
110
|
];
|
|
53
|
-
const _bytecode = "
|
|
111
|
+
const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122046c6cd5dcdaa826a634e2831e2ae0c34400f178ca99b0ecf34b477b74694727064736f6c634300081c0033";
|
|
54
112
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
55
113
|
class MultisigLib__factory extends ethers_1.ContractFactory {
|
|
56
114
|
constructor(...args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custodial.d.ts","sourceRoot":"","sources":["../../src/utils/custodial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,MAAM,EAAwC,MAAM,QAAQ,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAYnF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAMvD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;AACpE,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,sCAAsC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,0BAA0B,GAAU,YAAY,cAAc,EAAE,SAAS,OAAO,EAAE,OAAO,MAAM,EAAE,aAAa,MAAM,EAAE,YAAY,MAAM,EAAE,SAAS,MAAM,EAAE,QAAQ,aAAa,EAAE,QAAQ,OAAO;;;;EAkC7M,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,YAAY,cAAc,EAAE,SAAS,OAAO,EAAE,aAAa,MAAM,EAAE,YAAY,MAAM,EAAE,SAAS,MAAM,EAAE,OAAO,MAAM,EAAE,QAAQ,aAAa,EAAE,QAAQ,OAAO;;;EAkC1M,CAAA;AAGD,eAAO,MAAM,gBAAgB,GAAU,YAAY,cAAc,EAAE,SAAS,OAAO,EAAE,SAAS,MAAM,EAAE,OAAO,MAAM,EAAE,QAAQ,aAAa,EAAE,QAAQ,OAAO;;;EAkG1J,CAAA;AAGD,eAAO,MAAM,2BAA2B,GAAU,UAAU,OAAO,EAAE,SAAS,sCAAsC,EAAE,QAAQ,MAAM,EAAE,QAAQ,OAAO,oBAsBpJ,CAAA;AAED,eAAO,MAAM,gCAAgC,GAAU,UAAU,OAAO,EAAE,UAAU,kCAAkC,EAAE,EAAE,QAAQ,aAAa,EAAE,QAAQ,OAAO,oBA0C/J,CAAA;AAED,eAAO,MAAM,WAAW,GACpB,UAAU,MAAM,CAAC,QAAQ,EACzB,cAAc,MAAM,EACpB,gBAAgB,MAAM,GAAG,IAAI,EAC7B,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,SAAS,MAAM,EACf,iBAAiB,eAAe,EAChC,wBAAsB,
|
|
1
|
+
{"version":3,"file":"custodial.d.ts","sourceRoot":"","sources":["../../src/utils/custodial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,MAAM,EAAwC,MAAM,QAAQ,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAYnF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAMvD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;AACpE,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,sCAAsC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,0BAA0B,GAAU,YAAY,cAAc,EAAE,SAAS,OAAO,EAAE,OAAO,MAAM,EAAE,aAAa,MAAM,EAAE,YAAY,MAAM,EAAE,SAAS,MAAM,EAAE,QAAQ,aAAa,EAAE,QAAQ,OAAO;;;;EAkC7M,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,YAAY,cAAc,EAAE,SAAS,OAAO,EAAE,aAAa,MAAM,EAAE,YAAY,MAAM,EAAE,SAAS,MAAM,EAAE,OAAO,MAAM,EAAE,QAAQ,aAAa,EAAE,QAAQ,OAAO;;;EAkC1M,CAAA;AAGD,eAAO,MAAM,gBAAgB,GAAU,YAAY,cAAc,EAAE,SAAS,OAAO,EAAE,SAAS,MAAM,EAAE,OAAO,MAAM,EAAE,QAAQ,aAAa,EAAE,QAAQ,OAAO;;;EAkG1J,CAAA;AAGD,eAAO,MAAM,2BAA2B,GAAU,UAAU,OAAO,EAAE,SAAS,sCAAsC,EAAE,QAAQ,MAAM,EAAE,QAAQ,OAAO,oBAsBpJ,CAAA;AAED,eAAO,MAAM,gCAAgC,GAAU,UAAU,OAAO,EAAE,UAAU,kCAAkC,EAAE,EAAE,QAAQ,aAAa,EAAE,QAAQ,OAAO,oBA0C/J,CAAA;AAED,eAAO,MAAM,WAAW,GACpB,UAAU,MAAM,CAAC,QAAQ,EACzB,cAAc,MAAM,EACpB,gBAAgB,MAAM,GAAG,IAAI,EAC7B,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,SAAS,MAAM,EACf,iBAAiB,eAAe,EAChC,wBAAsB,oBAkEzB,CAAA"}
|
package/build/utils/custodial.js
CHANGED
|
@@ -295,6 +295,10 @@ const estimateGas = (provider_1, tokenAddress_1, spenderAddress_1, amount_1, fro
|
|
|
295
295
|
]);
|
|
296
296
|
// Calculate total gas cost in native token
|
|
297
297
|
const totalFee = gasPrice.maxFeePerGas ? gasUnits * gasPrice.maxFeePerGas : gasUnits * (gasPrice.gasPrice || BigInt(0));
|
|
298
|
+
console.log(`Total fee:`, totalFee);
|
|
299
|
+
console.log(`Gas price: `, gasPrice.gasPrice);
|
|
300
|
+
console.log(`Max fee per gas: `, gasPrice.maxFeePerGas);
|
|
301
|
+
console.log(`Tx estimate cost (gas required):`, gasUnits);
|
|
298
302
|
return totalFee;
|
|
299
303
|
});
|
|
300
304
|
exports.estimateGas = estimateGas;
|
package/package.json
CHANGED