@aqb-foundation/aqb-agent 1.0.1 → 1.0.3
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/LICENSE +4 -16
- package/README.md +68 -21
- package/WHITEPAPER.md +2 -1
- package/artifacts/MLDSA65Fallback.json +59 -0
- package/client/aqb.mjs +232 -148
- package/compile.mjs +44 -0
- package/contracts/AgentQuantumCredit.sol +234 -0
- package/contracts/AgentRegistry.sol +85 -0
- package/contracts/GenesisSale.sol +89 -0
- package/contracts/MLDSA65Fallback.sol +34 -0
- package/contracts/MLDSAVerifier.sol +65 -0
- package/contracts/PQSmartAccount.sol +105 -0
- package/contracts/interfaces/IPQVerifier.sol +19 -0
- package/contracts/mocks/MockUSDC.sol +30 -0
- package/contracts/mocks/MockVerifier.sol +13 -0
- package/docs/CARD.md +1 -1
- package/docs/LAUNCH.md +1 -1
- package/docs/MARKETING.md +3 -3
- package/docs/SPEC.md +5 -4
- package/docs/articles/01-payment-rail-agents.md +55 -0
- package/docs/articles/01.body +56 -0
- package/docs/articles/02-gated-transfers.md +36 -0
- package/docs/articles/03-peg-without-oracle.md +33 -0
- package/docs/articles/04-discovery-over-landing.md +42 -0
- package/docs/articles/04-discovery-over-landing.md.body +40 -0
- package/docs/articles/04-discovery-over-landing.md.title +1 -0
- package/docs/articles/05-identity-survives-key.md +27 -0
- package/docs/articles/05-identity-survives-key.md.body +25 -0
- package/docs/articles/05-identity-survives-key.md.title +1 -0
- package/docs/articles/06-what-an-agent-needs.md +30 -0
- package/docs/articles/06-what-an-agent-needs.md.body +28 -0
- package/docs/articles/06-what-an-agent-needs.md.title +1 -0
- package/docs/articles/body.json +1 -0
- package/docs/articles/body.txt +50 -0
- package/docs/articles/title.txt +1 -0
- package/docs/pq-note.md +1 -0
- package/index.js +241 -0
- package/mcp/server.mjs +118 -25
- package/package.json +41 -11
- package/pq-deployment.json +14 -0
- package/registry/agent-coin.json +26 -11
- package/registry/llms.txt +1 -1
- package/test/e2e.mjs +100 -0
- package/test/evm.mjs +69 -0
- package/test/local.mjs +86 -0
- package/test/pq.mjs +37 -0
- package/test/smoke.mjs +27 -0
- package/vendor/mldsa/LICENSE +21 -0
- package/vendor/mldsa/MLDSAKeyFactory.json +570 -0
- package/vendor/mldsa/MLDSAVerifier.json +154 -0
- package/vendor/mldsa/README.md +20 -0
|
@@ -0,0 +1,570 @@
|
|
|
1
|
+
{
|
|
2
|
+
"abi": [
|
|
3
|
+
{
|
|
4
|
+
"inputs": [],
|
|
5
|
+
"name": "CommitmentMismatch",
|
|
6
|
+
"type": "error"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"inputs": [],
|
|
10
|
+
"name": "DeployFailed",
|
|
11
|
+
"type": "error"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"inputs": [],
|
|
15
|
+
"name": "InvalidPart",
|
|
16
|
+
"type": "error"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"inputs": [],
|
|
20
|
+
"name": "InvalidPublicKey",
|
|
21
|
+
"type": "error"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"inputs": [],
|
|
25
|
+
"name": "NotCommitted",
|
|
26
|
+
"type": "error"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"inputs": [],
|
|
30
|
+
"name": "UnsupportedParamSet",
|
|
31
|
+
"type": "error"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"anonymous": false,
|
|
35
|
+
"inputs": [
|
|
36
|
+
{
|
|
37
|
+
"indexed": true,
|
|
38
|
+
"internalType": "ParamSet",
|
|
39
|
+
"name": "set",
|
|
40
|
+
"type": "uint8"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"indexed": true,
|
|
44
|
+
"internalType": "bytes32",
|
|
45
|
+
"name": "pkHash",
|
|
46
|
+
"type": "bytes32"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"indexed": false,
|
|
50
|
+
"internalType": "bytes32",
|
|
51
|
+
"name": "aHash",
|
|
52
|
+
"type": "bytes32"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"name": "CommittedA",
|
|
56
|
+
"type": "event"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"anonymous": false,
|
|
60
|
+
"inputs": [
|
|
61
|
+
{
|
|
62
|
+
"indexed": true,
|
|
63
|
+
"internalType": "ParamSet",
|
|
64
|
+
"name": "set",
|
|
65
|
+
"type": "uint8"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"indexed": true,
|
|
69
|
+
"internalType": "bytes32",
|
|
70
|
+
"name": "pkHash",
|
|
71
|
+
"type": "bytes32"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"indexed": false,
|
|
75
|
+
"internalType": "uint256",
|
|
76
|
+
"name": "part",
|
|
77
|
+
"type": "uint256"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"indexed": false,
|
|
81
|
+
"internalType": "bytes32",
|
|
82
|
+
"name": "aPartHash",
|
|
83
|
+
"type": "bytes32"
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
"name": "CommittedAPart",
|
|
87
|
+
"type": "event"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"anonymous": false,
|
|
91
|
+
"inputs": [
|
|
92
|
+
{
|
|
93
|
+
"indexed": true,
|
|
94
|
+
"internalType": "ParamSet",
|
|
95
|
+
"name": "set",
|
|
96
|
+
"type": "uint8"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"indexed": true,
|
|
100
|
+
"internalType": "bytes32",
|
|
101
|
+
"name": "pkHash",
|
|
102
|
+
"type": "bytes32"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"indexed": true,
|
|
106
|
+
"internalType": "address",
|
|
107
|
+
"name": "data",
|
|
108
|
+
"type": "address"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"indexed": false,
|
|
112
|
+
"internalType": "bool",
|
|
113
|
+
"name": "isAHat",
|
|
114
|
+
"type": "bool"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"name": "Registered",
|
|
118
|
+
"type": "event"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"stateMutability": "nonpayable",
|
|
122
|
+
"type": "fallback"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"inputs": [
|
|
126
|
+
{
|
|
127
|
+
"internalType": "bytes32",
|
|
128
|
+
"name": "",
|
|
129
|
+
"type": "bytes32"
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
"name": "aCommitment",
|
|
133
|
+
"outputs": [
|
|
134
|
+
{
|
|
135
|
+
"internalType": "bytes32",
|
|
136
|
+
"name": "",
|
|
137
|
+
"type": "bytes32"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"stateMutability": "view",
|
|
141
|
+
"type": "function"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"inputs": [
|
|
145
|
+
{
|
|
146
|
+
"internalType": "ParamSet",
|
|
147
|
+
"name": "set",
|
|
148
|
+
"type": "uint8"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"internalType": "bytes32",
|
|
152
|
+
"name": "pkHash",
|
|
153
|
+
"type": "bytes32"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"internalType": "uint256",
|
|
157
|
+
"name": "part",
|
|
158
|
+
"type": "uint256"
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
"name": "aPartAddress",
|
|
162
|
+
"outputs": [
|
|
163
|
+
{
|
|
164
|
+
"internalType": "address",
|
|
165
|
+
"name": "",
|
|
166
|
+
"type": "address"
|
|
167
|
+
}
|
|
168
|
+
],
|
|
169
|
+
"stateMutability": "view",
|
|
170
|
+
"type": "function"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"inputs": [
|
|
174
|
+
{
|
|
175
|
+
"internalType": "ParamSet",
|
|
176
|
+
"name": "set",
|
|
177
|
+
"type": "uint8"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"internalType": "bytes32",
|
|
181
|
+
"name": "pkHash",
|
|
182
|
+
"type": "bytes32"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"internalType": "uint256",
|
|
186
|
+
"name": "part",
|
|
187
|
+
"type": "uint256"
|
|
188
|
+
}
|
|
189
|
+
],
|
|
190
|
+
"name": "aPartCommitment",
|
|
191
|
+
"outputs": [
|
|
192
|
+
{
|
|
193
|
+
"internalType": "bytes32",
|
|
194
|
+
"name": "",
|
|
195
|
+
"type": "bytes32"
|
|
196
|
+
}
|
|
197
|
+
],
|
|
198
|
+
"stateMutability": "view",
|
|
199
|
+
"type": "function"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"inputs": [
|
|
203
|
+
{
|
|
204
|
+
"internalType": "ParamSet",
|
|
205
|
+
"name": "set",
|
|
206
|
+
"type": "uint8"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"internalType": "bytes32",
|
|
210
|
+
"name": "pkHash",
|
|
211
|
+
"type": "bytes32"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"internalType": "uint256",
|
|
215
|
+
"name": "part",
|
|
216
|
+
"type": "uint256"
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"name": "aPartStatus",
|
|
220
|
+
"outputs": [
|
|
221
|
+
{
|
|
222
|
+
"internalType": "enum MLDSAKeyFactory.AStatus",
|
|
223
|
+
"name": "",
|
|
224
|
+
"type": "uint8"
|
|
225
|
+
}
|
|
226
|
+
],
|
|
227
|
+
"stateMutability": "view",
|
|
228
|
+
"type": "function"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"inputs": [
|
|
232
|
+
{
|
|
233
|
+
"internalType": "ParamSet",
|
|
234
|
+
"name": "set",
|
|
235
|
+
"type": "uint8"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"internalType": "bytes32",
|
|
239
|
+
"name": "pkHash",
|
|
240
|
+
"type": "bytes32"
|
|
241
|
+
}
|
|
242
|
+
],
|
|
243
|
+
"name": "aStatus",
|
|
244
|
+
"outputs": [
|
|
245
|
+
{
|
|
246
|
+
"internalType": "enum MLDSAKeyFactory.AStatus",
|
|
247
|
+
"name": "s",
|
|
248
|
+
"type": "uint8"
|
|
249
|
+
}
|
|
250
|
+
],
|
|
251
|
+
"stateMutability": "view",
|
|
252
|
+
"type": "function"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"inputs": [
|
|
256
|
+
{
|
|
257
|
+
"internalType": "ParamSet",
|
|
258
|
+
"name": "set",
|
|
259
|
+
"type": "uint8"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"internalType": "bytes32",
|
|
263
|
+
"name": "pkHash",
|
|
264
|
+
"type": "bytes32"
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"name": "addressesOf",
|
|
268
|
+
"outputs": [
|
|
269
|
+
{
|
|
270
|
+
"internalType": "address",
|
|
271
|
+
"name": "aData",
|
|
272
|
+
"type": "address"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"internalType": "address",
|
|
276
|
+
"name": "tData",
|
|
277
|
+
"type": "address"
|
|
278
|
+
}
|
|
279
|
+
],
|
|
280
|
+
"stateMutability": "view",
|
|
281
|
+
"type": "function"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"inputs": [
|
|
285
|
+
{
|
|
286
|
+
"internalType": "ParamSet",
|
|
287
|
+
"name": "set",
|
|
288
|
+
"type": "uint8"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"internalType": "bytes",
|
|
292
|
+
"name": "publicKey",
|
|
293
|
+
"type": "bytes"
|
|
294
|
+
}
|
|
295
|
+
],
|
|
296
|
+
"name": "commitA",
|
|
297
|
+
"outputs": [
|
|
298
|
+
{
|
|
299
|
+
"internalType": "bytes32",
|
|
300
|
+
"name": "aHash",
|
|
301
|
+
"type": "bytes32"
|
|
302
|
+
}
|
|
303
|
+
],
|
|
304
|
+
"stateMutability": "nonpayable",
|
|
305
|
+
"type": "function"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"inputs": [
|
|
309
|
+
{
|
|
310
|
+
"internalType": "ParamSet",
|
|
311
|
+
"name": "set",
|
|
312
|
+
"type": "uint8"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"internalType": "bytes32",
|
|
316
|
+
"name": "pkHash",
|
|
317
|
+
"type": "bytes32"
|
|
318
|
+
}
|
|
319
|
+
],
|
|
320
|
+
"name": "isRegistered",
|
|
321
|
+
"outputs": [
|
|
322
|
+
{
|
|
323
|
+
"internalType": "bool",
|
|
324
|
+
"name": "",
|
|
325
|
+
"type": "bool"
|
|
326
|
+
}
|
|
327
|
+
],
|
|
328
|
+
"stateMutability": "view",
|
|
329
|
+
"type": "function"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"inputs": [
|
|
333
|
+
{
|
|
334
|
+
"internalType": "ParamSet",
|
|
335
|
+
"name": "set",
|
|
336
|
+
"type": "uint8"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"internalType": "bytes32",
|
|
340
|
+
"name": "pkHash",
|
|
341
|
+
"type": "bytes32"
|
|
342
|
+
}
|
|
343
|
+
],
|
|
344
|
+
"name": "load",
|
|
345
|
+
"outputs": [
|
|
346
|
+
{
|
|
347
|
+
"internalType": "bytes",
|
|
348
|
+
"name": "",
|
|
349
|
+
"type": "bytes"
|
|
350
|
+
}
|
|
351
|
+
],
|
|
352
|
+
"stateMutability": "view",
|
|
353
|
+
"type": "function"
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"inputs": [
|
|
357
|
+
{
|
|
358
|
+
"internalType": "ParamSet",
|
|
359
|
+
"name": "set",
|
|
360
|
+
"type": "uint8"
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
"internalType": "bytes",
|
|
364
|
+
"name": "publicKey",
|
|
365
|
+
"type": "bytes"
|
|
366
|
+
}
|
|
367
|
+
],
|
|
368
|
+
"name": "registerA",
|
|
369
|
+
"outputs": [
|
|
370
|
+
{
|
|
371
|
+
"internalType": "address",
|
|
372
|
+
"name": "aData",
|
|
373
|
+
"type": "address"
|
|
374
|
+
}
|
|
375
|
+
],
|
|
376
|
+
"stateMutability": "nonpayable",
|
|
377
|
+
"type": "function"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"inputs": [
|
|
381
|
+
{
|
|
382
|
+
"internalType": "ParamSet",
|
|
383
|
+
"name": "set",
|
|
384
|
+
"type": "uint8"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"internalType": "bytes",
|
|
388
|
+
"name": "publicKey",
|
|
389
|
+
"type": "bytes"
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"internalType": "uint256",
|
|
393
|
+
"name": "part",
|
|
394
|
+
"type": "uint256"
|
|
395
|
+
}
|
|
396
|
+
],
|
|
397
|
+
"name": "registerAPart",
|
|
398
|
+
"outputs": [
|
|
399
|
+
{
|
|
400
|
+
"internalType": "address",
|
|
401
|
+
"name": "aData",
|
|
402
|
+
"type": "address"
|
|
403
|
+
}
|
|
404
|
+
],
|
|
405
|
+
"stateMutability": "nonpayable",
|
|
406
|
+
"type": "function"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"inputs": [
|
|
410
|
+
{
|
|
411
|
+
"internalType": "ParamSet",
|
|
412
|
+
"name": "set",
|
|
413
|
+
"type": "uint8"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"internalType": "bytes",
|
|
417
|
+
"name": "publicKey",
|
|
418
|
+
"type": "bytes"
|
|
419
|
+
}
|
|
420
|
+
],
|
|
421
|
+
"name": "registerT",
|
|
422
|
+
"outputs": [
|
|
423
|
+
{
|
|
424
|
+
"internalType": "address",
|
|
425
|
+
"name": "tData",
|
|
426
|
+
"type": "address"
|
|
427
|
+
}
|
|
428
|
+
],
|
|
429
|
+
"stateMutability": "nonpayable",
|
|
430
|
+
"type": "function"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"inputs": [
|
|
434
|
+
{
|
|
435
|
+
"internalType": "ParamSet",
|
|
436
|
+
"name": "set",
|
|
437
|
+
"type": "uint8"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"internalType": "bytes32",
|
|
441
|
+
"name": "pkHash",
|
|
442
|
+
"type": "bytes32"
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"internalType": "bytes",
|
|
446
|
+
"name": "aHat",
|
|
447
|
+
"type": "bytes"
|
|
448
|
+
}
|
|
449
|
+
],
|
|
450
|
+
"name": "storeA",
|
|
451
|
+
"outputs": [
|
|
452
|
+
{
|
|
453
|
+
"internalType": "address",
|
|
454
|
+
"name": "aData",
|
|
455
|
+
"type": "address"
|
|
456
|
+
}
|
|
457
|
+
],
|
|
458
|
+
"stateMutability": "nonpayable",
|
|
459
|
+
"type": "function"
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"inputs": [
|
|
463
|
+
{
|
|
464
|
+
"internalType": "ParamSet",
|
|
465
|
+
"name": "set",
|
|
466
|
+
"type": "uint8"
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"internalType": "bytes32",
|
|
470
|
+
"name": "pkHash",
|
|
471
|
+
"type": "bytes32"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"internalType": "uint256",
|
|
475
|
+
"name": "part",
|
|
476
|
+
"type": "uint256"
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"internalType": "bytes",
|
|
480
|
+
"name": "aPart",
|
|
481
|
+
"type": "bytes"
|
|
482
|
+
}
|
|
483
|
+
],
|
|
484
|
+
"name": "storeAPart",
|
|
485
|
+
"outputs": [
|
|
486
|
+
{
|
|
487
|
+
"internalType": "address",
|
|
488
|
+
"name": "aData",
|
|
489
|
+
"type": "address"
|
|
490
|
+
}
|
|
491
|
+
],
|
|
492
|
+
"stateMutability": "nonpayable",
|
|
493
|
+
"type": "function"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"inputs": [
|
|
497
|
+
{
|
|
498
|
+
"internalType": "ParamSet",
|
|
499
|
+
"name": "set",
|
|
500
|
+
"type": "uint8"
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"internalType": "bytes32",
|
|
504
|
+
"name": "pkHash",
|
|
505
|
+
"type": "bytes32"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"internalType": "bytes",
|
|
509
|
+
"name": "message",
|
|
510
|
+
"type": "bytes"
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
"internalType": "bytes",
|
|
514
|
+
"name": "signature",
|
|
515
|
+
"type": "bytes"
|
|
516
|
+
}
|
|
517
|
+
],
|
|
518
|
+
"name": "verify",
|
|
519
|
+
"outputs": [
|
|
520
|
+
{
|
|
521
|
+
"internalType": "bool",
|
|
522
|
+
"name": "",
|
|
523
|
+
"type": "bool"
|
|
524
|
+
}
|
|
525
|
+
],
|
|
526
|
+
"stateMutability": "view",
|
|
527
|
+
"type": "function"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"inputs": [
|
|
531
|
+
{
|
|
532
|
+
"internalType": "ParamSet",
|
|
533
|
+
"name": "set",
|
|
534
|
+
"type": "uint8"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"internalType": "bytes32",
|
|
538
|
+
"name": "pkHash",
|
|
539
|
+
"type": "bytes32"
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"internalType": "bytes",
|
|
543
|
+
"name": "ctx",
|
|
544
|
+
"type": "bytes"
|
|
545
|
+
},
|
|
546
|
+
{
|
|
547
|
+
"internalType": "bytes",
|
|
548
|
+
"name": "message",
|
|
549
|
+
"type": "bytes"
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"internalType": "bytes",
|
|
553
|
+
"name": "signature",
|
|
554
|
+
"type": "bytes"
|
|
555
|
+
}
|
|
556
|
+
],
|
|
557
|
+
"name": "verifyWithContext",
|
|
558
|
+
"outputs": [
|
|
559
|
+
{
|
|
560
|
+
"internalType": "bool",
|
|
561
|
+
"name": "",
|
|
562
|
+
"type": "bool"
|
|
563
|
+
}
|
|
564
|
+
],
|
|
565
|
+
"stateMutability": "view",
|
|
566
|
+
"type": "function"
|
|
567
|
+
}
|
|
568
|
+
],
|
|
569
|
+
"bytecode": "0x60808060405234601557614a89908161001a8239f35b5f80fdfe610400604052600436101561004b575b34610047575f5c33036100475760015c6040515f5b8060051b908382101561004357600191816002015c9084015201610024565b5050f35b5f80fd5b5f3560e01c8063037f5ec5146105cf5780631a1d0053146105a75780631f9ac5651461058b5780631fb1329c1461053557806321fa130514610499578063281b947d146104215780632d097351146103b557806333ca58dc1461038b5780633fd443a6146102be57806380d4d7b2146102a55780639bff150414610250578063b5b7a70f146101d5578063ce6c29d5146101b4578063eb29f94614610182578063ee2cae7a146101285763fc63ac990361000f5734610047576020366003190112610047576004355f525f602052602060405f2054604051908152f35b3461004757606036600319011261004757610141610686565b6044356001600160401b03811161004757602091610166610170923690600401610696565b9160243590610a06565b6040516001600160a01b039091168152f35b346100475760403660031901126100475760206101aa6101a0610686565b60243590306111b5565b6040519015158152f35b346100475760206101cd6101c7366106ea565b916109cf565b604051908152f35b34610047576060366003190112610047576101ee610686565b6024356001600160401b0381116100475761020d903690600401610696565b9160443561021a82610c6f565b918282101561024157602094610170946102353683836107b7565b87815191012092610c81565b6323a9a68760e01b5f5260045ffd5b3461004757604036600319011261004757604061026b610686565b61028d61028160243561028761028182866112ce565b306113e4565b93611026565b82516001600160a01b03928316815291166020820152f35b346100475760206101706102b83661070e565b916108da565b34610047576102cc3661070e565b906102d683610c6f565b926102e23684846107b7565b80516020909101206001600160fb1b0385168503610377576103068560051b6108a8565b935f5b86811061034e57602086600189036103435781815191015190828110610333575b50604051908152f35b5f1990830360031b1b168261032a565b8181519101206101cd565b600190604051610362898387878b8b610e50565b509060405260208260051b8901015201610309565b634e487b7160e01b5f52601160045260245ffd5b34610047576103b16103a561039f366106ea565b91610856565b604051918291826106c3565b0390f35b34610047576080366003190112610047576103ce610686565b6024356044356064356001600160401b038111610047576103f3903690600401610696565b906103fd85610c6f565b831015610241578483610419610281610170968860209a611364565b958692610df0565b346100475761042f3661070e565b915f9261043b82610c6f565b906104473682866107b7565b60208151910120905f5b83811061046c576040516001600160a01b0388168152602090f35b60405161047d858386868b8b610c81565b8215610490575b50604052600101610451565b97506001610484565b34610047576080366003190112610047576104b2610686565b6044356001600160401b038111610047576104d1903690600401610696565b9091606435926001600160401b038411610047576105116101aa936105096104ff6020973690600401610696565b94909236916107b7565b9236916107b7565b9161051f6024358230610b92565b6040519161052d878461077b565b5f8352611240565b34610047576040366003190112610047576020604061055f610555610686565b6024359030610b92565b815192839181835280519182918282860152018484015e5f828201840152601f01601f19168101030190f35b346100475760206101706102816105a1366106ea565b91611364565b34610047576040366003190112610047576103b16103a56105c6610686565b602435906107ed565b346100475760a0366003190112610047576105e8610686565b6044356001600160401b03811161004757610607903690600401610696565b916064356001600160401b03811161004757610627903690600401610696565b60843593916001600160401b0385116100475760209561066a610672926106626106586101aa993690600401610696565b97909436916107b7565b9436916107b7565b9336916107b7565b926106806024358230610b92565b90611240565b6004359060ff8216820361004757565b9181601f84011215610047578235916001600160401b038311610047576020838186019501011161004757565b9190602083019260038210156106d65752565b634e487b7160e01b5f52602160045260245ffd5b60609060031901126100475760043560ff8116810361004757906024359060443590565b9060406003198301126100475760043560ff811681036100475791602435906001600160401b0382116100475761074791600401610696565b9091565b6101c081019081106001600160401b0382111761076757604052565b634e487b7160e01b5f52604160045260245ffd5b90601f801991011681019081106001600160401b0382111761076757604052565b6001600160401b03811161076757601f01601f191660200190565b9291926107c38261079c565b916107d1604051938461077b565b829481845281830111610047578281602093845f960137010152565b9190916107f981610b17565b801561084f576002935f5b8281106108115750505050565b61081d83828487610b47565b60038110156106d65760038710156106d65760ff871660ff821610610846575b50600101610804565b9550600161083d565b505f925050565b9161086083610b17565b91828210156108755761087293610b47565b90565b505050505f90565b90610108820291808304610108149015171561037757565b8181029291811591840414171561037757565b906108b28261079c565b6108bf604051918261077b565b82815280926108d0601f199161079c565b0190602036910137565b9092919260ff821691821580156109c5575b80156109bb575b156109ac576109033686846107b7565b602081519101209161091861028184846112ce565b506109266102818484611026565b95863b6109a5576109429161093c9136916107b7565b82610f25565b80511561099657856109578461095c94611026565b6110a8565b6040515f81526001600160a01b03851692907fec21a5bb1d2581d49be13c70f82fe4b9fdd2d754c3cd2179a390e8f58e33689290602090a4565b63145a1fdd60e31b5f5260045ffd5b5050505050565b636257007960e01b5f5260045ffd5b50600283146108f3565b50600183146108ec565b916109d983610b17565b9182821015610875576109eb93611160565b5f525f60205260405f205490565b9190820180921161037757565b93929091610a1385610c6f565b90610a2161028185886112ce565b9560018314610b0757610a33816111fc565b505f1981019390841161037757610a4a8482610895565b851415945f5b828110610a61575050505050505050565b610a6f610281828a87611364565b90813b610afe57610a8284828b88611160565b5f525f60205260405f205415610aef5787610ae057610aa18782610895565b600182018083116103775788610ab691610895565b90818111610047578482116100475760019381610ada930391890190848d8a610df0565b01610a50565b635054097b60e01b5f5260045ffd5b63205e472d60e21b5f5260045ffd5b60019150610ada565b8695969192509361087294610d52565b60ff1680158015610b3d575b610b3757600214610b32575f90565b600290565b50600190565b5060018114610b23565b929190610b53846111fc565b50610b62610281848488611364565b3b14610b8957610b7193611160565b5f525f60205260405f2054610b84575f90565b600190565b50505050600290565b9291610b9f8183866111b5565b15610c6757610bad826111fc565b949091610bb984610b17565b935f198401938411610377575f19870196808811610377576040190196871161037757610be68486610895565b6040018060401161037757610bfe88610c03926109f9565b6108a8565b966041610c19610c138585611026565b866113e4565b6040600160208c01833c60608789028b0101903c5f5b858110610c3e57505050505050565b80856001610c57610c5182958888611364565b886113e4565b60608385028d0101903c01610c2f565b506060925050565b610c7890610b17565b9081156109ac57565b9391909594610c94908385848a89610e50565b968792610ca561028186888a611364565b98893b610d4857908592915115610d27575b5050508151602083012003610d135785610957610cd5938587611364565b604051600181526001600160a01b0385169260ff16907fec21a5bb1d2581d49be13c70f82fe4b9fdd2d754c3cd2179a390e8f58e33689290602090a4565b634e487b7160e01b5f52600160045260245ffd5b610d3f93945090610d399136916107b7565b86611462565b90825f80610cb7565b5050505050505050565b93929092823b6109a557610d70610d6886610b17565b5f8688611160565b5f525f60205260405f20548015610aef57610d8c3683856107b7565b6020815191012003610ae05782610dab610db19361066a5f888a611364565b916110a8565b604051600181526001600160a01b039091169260ff16907fec21a5bb1d2581d49be13c70f82fe4b9fdd2d754c3cd2179a390e8f58e33689290602090a4565b949093833b610e4857610e0d610e0587610b17565b848789611160565b5f525f60205260405f20548015610aef57610e293684846107b7565b6020815191012003610ae057610dab849161066a610db195888a611364565b505050505050565b91959390610e6086838686611160565b96875f525f60205260405f205480610f185750610e83610e8992849236916107b7565b84611462565b948551156109965760019086516020880120975f525f6020528760405f2055145f14610ee157507fc99be2228ba3e6a97262efdcbe9bd3a93dc266e1592418de7f684b3f86ecd09a602060ff604051938885521692a3565b90604060ff7f9c035a3f8034b6cf8c3098316e3602abfc816f1664b29e299c853a9a519e777d9282519485528860208601521692a3565b9750606096505050505050565b610f3190929192611ba8565b9190158015611016575b61100e576101808201516040018060401161037757610f59906108a8565b610f61611e19565b93610f7b6020830195610120860151906020840190612252565b908652604083015260608201809511610377576020610f98612287565b01916020610fa4611dbd565b019360405f9601955b865181101561100457610fc1868286612754565b610fcb85876127d0565b610fd4866128b1565b610300810290808204610300148115171561037757610ffe610ff86001938b6109f9565b886128d8565b01610fad565b5094509450505050565b915050606090565b5082516101208301511415610f3b565b906040519060ff602083019360608552600e60808501526d13531114d04b9d1c97dd17da185d60921b60a0850152166040830152606082015260a0815261106e60c08261077b565b51902090565b6040519061108360408361077b565b60168252755f5f5f5f335afa156012573d5f5f3e3d5ff35b5f5ffd60501b6020830152565b91926110de6021602093956040519485915f828401528051918291018484015e81015f838201520301601f19810184528361077b565b6110e6611074565b938251815f5d8060015d5f5b8060051b828110156111135790602060019287010151816002015d016110f2565b505092509290936020815191015ff5915f805d6001600160a01b0383811691161480159290611154575b505061114557565b63b4f5411160e01b5f5260045ffd5b3b141590505f8061113d565b92909190600114611192576040519160ff6020840194168452604083015260608201526060815261106e60808261077b565b506040519060ff602083019316835260408201526040815261106e60608261077b565b91906111c0816111fc565b80915015610875576111db6111d58484611026565b856113e4565b3b1492836111ea575b50505090565b6111f4935061219d565b5f80806111e4565b5f9160ff5f9216801561123357600181146112265760021461121a57565b61540192506118419150565b50615a0192506112419150565b506130019250610c419150565b8251949360ff86116112a65761087295602260206112a193816040519889955f8388015260ff60f81b9060f81b1660218701528051918291018587015e8401908382015f8152815193849201905e01015f815203601f19810185528461077b565b6121f3565b5050505050505f90565b600b81526a13531114d04b9057da185d60aa1b602082015260400190565b60016112d982610b17565b148061135c575b6113235761106e604051809260208201946080865260ff61130360a085016112b0565b9216604084015260608301525f608083015203601f19810183528261077b565b61106e604051809260208201946060865260ff611342608085016112b0565b92166040840152606083015203601f19810183528261077b565b5060016112e0565b9091600161137183610b17565b14806113dc575b6113bc5761106e9060405192839160208301956080875260ff61139d60a086016112b0565b931660408501526060840152608083015203601f19810183528261077b565b5061106e604051809260208201946060865260ff611342608085016112b0565b508015611378565b6113ec611074565b6020815191012060405192602084019260ff60f81b84526bffffffffffffffffffffffff199060601b166021850152603584015260558301526055825261143460758361077b565b905190206001600160a01b031690565b811561144e570490565b634e487b7160e01b5f52601260045260245ffd5b61146e90929192611ba8565b9190158015611b98575b8015611b89575b611b8157610160820151936114d060206114a3610bfe6101a0870198895190611444565b956114ac611e19565b6103c0520151956114c860606040870151960195865190610895565b905190611444565b926114e26114dd8561087d565b611df1565b9460208601906114f56114dd600161087d565b926121208401602085015b818110611b7557505051936115158787610895565b9560018101809111610377578761152b91610895565b916115398760021c9a613a5f565b915b838b60021b1015611b09575f985f5b858d60048310611ae3575050505f5b6103208110611ad257505f516020614a345f395f51905f528460c01c026103c051525f516020614a345f395f51905f526001600160401b038560801c160260206103c05101525f516020614a345f395f51905f526001600160401b038560401c160260406103c05101525f516020614a345f395f51905f526001600160401b0385160260606103c05101525f5f5b8d60048210611aac57505060806103c05101527801000000000000000100000000000000010000000000000001603f1b6102806103c05101525b61162d6103c0516148ac565b60018c5f5b6004811061164e57505015611621576001909b019a985061153b565b909a9998979695949392919c9b61ffff818360041b1c169b6120008d1015611a96578d6121008d8560209460021b01030201019b8a1561144e576020818e9283016103a0528b01016120006103c0519201908460061b925b6102a06103c051018110611700575b50505050612000908c9d9e939495969798999a9b9c6103a051038360041b1b9061ffff8460041b1b1916179c6103a05103106116f8575b6001905b018d90611632565b5f91506116ec565b826103a0511015611a9157778000008000008000008000008000008000008000008000007620000020000020000020000020000020000020000020006040830151861c60801b667fe0007fe0007f60401b6020850151881c60401b8551891c6103e0526001600160401b0360801b831667ffffffffffffffff60401b82166001600160401b036103e0511617175f521667e0007fe0007fe0006103e0511617906703ff0003ff0003ff60851b161701165f146119a157627fffff5f5116627fe001811061197c575b50627fffff5f5160181c16627fe0018110611957575b50627fffff5f5160301c16627fe0018110611932575b50627fffff5f5160481c16627fe001811061190d575b50627fffff5f5160601c16627fe00181106118e8575b50627fffff5f5160781c16627fe00181106118c3575b50627fffff5f5160901c16627fe001811061189e575b50627fffff5f5160a81c1661038052627fe0016103805110611873575b6060905b016116a6565b906020816060925161038051026103a05151016103a05152816103a051016103a05201919050611869565b91602091928151026103a05151016103a05152816103a051016103a05201905f61184c565b91602091928151026103a05151016103a05152816103a051016103a05201905f611836565b91602091928151026103a05151016103a05152816103a051016103a05201905f611820565b91602091928151026103a05151016103a05152816103a051016103a05201905f61180a565b91602091928151026103a05151016103a05152816103a051016103a05201905f6117f4565b91602091928151026103a05151016103a05152816103a051016103a05201905f6117de565b91602091928151026103a05151016103a05152816103a051016103a05201905f6117c8565b906101008160609251627fffff6103e05116026103a05151016103a0515260206103a051016020820151627fffff5f5160181c1602815101905260406103a051016040820151627fffff5f5160301c16028151019052826103a0510183820151627fffff5f5160481c1602815101905260806103a051016080820151627fffff5f51861c1602815101905260a06103a0510160a0820151627fffff5f5160781c1602815101905260c06103a0510160c0820151627fffff5f5160901c1602815101905260e06103a0510160e0820151627fffff5f5160a81c16028151019052816103a051016103a052019161186d565b6116b5565b509b9c9192939495969798999a506001906116f0565b91621f0000826001939460021b018c80820460081b910617178360061b1b1791016115e7565b805f6020926103c051015201611559565b60021b82011015611af7575b60010161154a565b612000600482901b1b909a1799611aef565b985098505050925050505f5b828110611b2157505050565b6121008102908015918181046121001483171561037757611b4290846109f9565b9161030082029082820461030014171561037757600192611b69611b6f9260208a016109f9565b906128d8565b01611b15565b60018152602001611500565b505050606090565b506101a082015181101561147f565b5082516101208301511415611478565b5f60ff604051611bb78161074b565b5f81525f60208201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f6101208201525f6101408201525f6101608201525f6101808201525f6101a082015292169182155f14611c9557505060405190611c288261074b565b81525f6020820152600460408201526004606082015260276080820152605060a0820152602060c082015261024060e082015260c0610100820152610520610120820152610974610140820152613000610160820152610c0061018082015260016101a08201526001915b565b60018303611d1957505060405190611cac8261074b565b815260016020820152600660408201526005606082015260316080820152603760a0820152603060c082015261028060e082015260806101008201526107a0610120820152610ced610140820152615a0061016082015261120061018082015260016101a0820152600191565b9092909160028114611d285750565b9150915060405190611d398261074b565b8152600160208201526008604082015260076060820152603c6080820152604b60a0820152604060c082015261028060e08201526080610100820152610a2061012082015261121361014082015261a80061016082015261180061018082015260026101a0820152600191565b6001600160401b0381116107675760051b60200190565b6040516101009190612020611dd2818361077b565b8382526001600160401b0382941161076757601f190190369060200137565b90611dfb82611da6565b611e08604051918261077b565b82815280926108d0601f1991611da6565b604051907f8000000080008008800000008000800880000000800080088000000080008008610940610a00611e4e818661077b565b604f85526020850190601f1901368237935f516020614a345f395f51905f526106608201527980820000000000008082000000000000808200000000000080826106808201527f800000000000808a800000000000808a800000000000808a800000000000808a6106a08201527f80000000800080008000000080008000800000008000800080000000800080006106c082015279808b000000000000808b000000000000808b000000000000808b6106e08201527b800000010000000080000001000000008000000100000000800000016107008201527f80000000800080818000000080008081800000008000808180000000800080816107208201527f8000000000008009800000000000800980000000000080098000000000008009610740820152788a000000000000008a000000000000008a000000000000008a61076082015278880000000000000088000000000000008800000000000000886107808201527b800080090000000080008009000000008000800900000000800080096107a08201527b8000000a000000008000000a000000008000000a000000008000000a6107c08201527b8000808b000000008000808b000000008000808b000000008000808b6107e08201527f800000000000008b800000000000008b800000000000008b800000000000008b6108008201527f80000000000080898000000000008089800000000000808980000000000080896108208201527f80000000000080038000000000008003800000000000800380000000000080036108408201527f80000000000080028000000000008002800000000000800280000000000080026108608201527f800000000000008080000000000000808000000000000080800000000000008061088082015279800a000000000000800a000000000000800a000000000000800a6108a08201527f800000008000000a800000008000000a800000008000000a800000008000000a6108c08201527f80000000800080818000000080008081800000008000808180000000800080816108e08201527f80000000000080808000000000008080800000000000808080000000000080806109008201527b800000010000000080000001000000008000000100000000800000016109208201520152565b906121a7816111fc565b50916121b282610b17565b9384156121ea575f5b8581106121cd57505050505050600190565b846121dc6111d5838588611364565b3b036112a6576001016121bb565b50505050505f90565b6122009093929193611ba8565b9390158015612228575b610875576040516108729461222060208361077b565b5f825261290f565b508051610160850151604001806040116103775761018086015161224b916109f9565b141561220a565b929161225e91846148ff565b612267826148ac565b61087261227b608061228061227b86613b61565b613a5f565b9401613b61565b604051906122976104208361077b565b61040082527e7b40640035e1dd00433aac00464ade001cfe140073f1ce0010170e0074b6d7610400837c0100495e020039756700396569004f062b0053df73004fe033004f066b60208201527e76b1ae00360dd50028edb000207fe4003972830070894a00088192006d3dc860408201527e4c72940041e0b40028a3d20066528a004a18a700794034000a52ee006b7d8160608201527e4e9f1d001a2877002571df001649ee007611bd00492bb7002af6970022d8d560808201527e36f72a0030911e0029d13f004926730050685f002010a2003887f70011b2c360a08201527e0603a4000e2bed0010b72c004a5f35001f9d1500428cd4003177f40020e61260c08201527e341c1d001ad873007366810049553f003952f60062564a0065ad0500439a1c60e08201527e53aa5f0030b62200087f38003b0e6d002c83da001c496e00330e2b001c5b706101008201527e2ee3f100137eb90057a930003ac6ef003fd54c004eb2ea00503ee1007bb1756101208201527e2648b4001ef256001d90a20045a6d4002ae59b0052589c006ef1f5003f72886101408201527e17510200075d59001187ba0052aca900773e9e000296d8002592ec004cff126101608201527e404ce8004aa582001e54e6004f16c1001a7e790003978f004e48170031b8596101808201527e5884cc001b4827005b63d0005d787a0035225e00400c7e006c09d1005bd5326101a08201527e6bc4d300258ecb002e534c00097a6c003b8820006d285c002ca4f800337caa6101c08201527e14b2a0005585360028f1860055795d004af67000234a860075e8260078de666101e08201527e05528c007adf59000f6e17005bf3da00459b7e00628b34005dbecb001a9e7b6102008201527d06d9006257c500574b3c0069a8ef002898380064b5fe007ef8f5002a4e786102208201527e120a23000154a80009b7ff00435e8700437ff8005cd5b4004dc04e004728af6102408201527e7f735d000c8d0d000f66d5005a6d800061ab9800185d9600437f31004682986102608201527e662960004bd5790028de0600465d8d0049b0e30009b434007c0db3005a68b06102808201527e409ba90064d3d50021762a0065859100246e390048c39b007bc759004f58596102a08201527e392db2002309230012eb6700454df20030c31c002854240013232e007faf806102c08201527e2dbfcb00022a0b007e832c0026587a006b337500095b76006be1cc005e061e6102e08201527e78e00d00628c37003da604004ae53c001f1d68006330bb007361b8005ea06c6103008201527e671ac700201fc6005ba4ff0060d7720008f201006de02400080e6d0056038e6103208201527e695688001e6d3e002603bd006a9dfa0007c017006dbfd40074d0bd0063e1e36103408201527e519573007ab60d002867ba002decd40058018c003f4cf5000b700900427e236103608201527e3cbd370027333300673957001a4b5d00196926001ef2060011c14e004c76c86103808201527e3cf42f007fb19a006af66c002e1669003352d6000347600008526000741e786103a08201527e2f6316006f0a110007c0f100776d0b000d1ff000345824000223d40068c5596103c08201527e5e8885002faa320023fc65005e69420051e0ed0065adb3002ca5e60079e1fe6103e08201520152565b6120008301929161014002016040015b82821061277057505050565b600581608092518060011a908060021a8160031a926103008160081b16835f1a1788526103c08260061b169060021c1760208801526103f08360041b169060041c17604087015260041a60021b9060061c17606085015201910190612764565b5f5b600881106127df57505050565b6001811b6080821c8060041b915f9160061b928160011b92818001905b838110612811575050505050506002016127d2565b85810288018160011b86016001810160021b8b015160e01c9060021b8b015160e01c9083870160021b8c015160e01c91868401935b84811061285a5750505050506001016127fc565b8087627fe0018a6020945182808a84880196875190890197838951978a01978189519186098089039801940992848385018e099185838303019052018952030189099162ffc0028383030190520101905201612846565b6120008101905b8181106128c3575050565b80627fe00161200060209351098152016128b8565b6120008101915b8282106128eb57505050565b600360209183518060101c82538060081c60018301536002820153019101906128df565b939293608052610280526103c0526101a0526101a05151610140608051015103613a5a576103c051511561036052604060805101519060606080510180516102e0525f610300526101006103005260405161018052612974610300516101805161077b565b6103005161018051369037604060805101516129b060a06080510151926129aa60c06080510151915160e0608051015190610895565b906109f9565b6101a05101600192835f935f5b8181106139a8575b505061397c575b50505015613976576102e05160081b6102e051810461030051146102e051151715610377576008810180911161037757612a0590611df1565b61026052612a1f602061026051016101a051608051613ba4565b1561397657612a2c612287565b6103a0525f5b6102e051811061393a5750612a45611e19565b61034052612a5b61030051608051015183610895565b61038052610380516040016040116103775760606103805101610380516040011161037757612a8f606061038051016108a8565b610160526103605161391057612ae3606060206103c0510151602060406103c0510151945b6040519586938385015260408401528051918291018484015e81015f838201520301601f19810183528261077b565b612afc8151602060c060805101519301610340516148ff565b5f5b61032081106138eb575061032061034051015f5b60c081106138d6575081601f926103209260206101a05101905e610340510101536103a76103405101608081515f1a1790535f5b601181106138345750612b5b610340516148ac565b612b6a61227b61034051613b61565b612b7c61227b60806103405101613b61565b9060206101605101526040610160510152612b95611dbd565b610200526080805101515f610220526001600160401b03610340515160401c16610220526008906103005103610300518111610377576103e0525b610300516103e0511061378b5750612bf460206103a05101602061020051016127d0565b61036051613777575b5f61012052612c0e6114dd8261087d565b6102a081905260200161012052610360516131855760606103c051018060206103c0510111610377575f5b82811061311f5750505b6103605161310f575f5b5f5b828110612ff057505050606061016051016020610160510111610377576080516020810151151560a05261030051015160c0525f5b60406080510151811015612f795780612100810204612100148115171561037757612cb66121008202610120516109f9565b5f5b60088110612e5157506008821015612e3d578160051b610180510151612cef612ce360c05185610895565b606061016051016109f9565b60a05115612d9457905f915b610300518310612d1357505050506001905b01612c84565b5f604084015b808510612d2b57508152602001612cfb565b9390600190600f6207fe008460051b890151818106906203ff0082119283910401918589881c16612d78575b50501660048460021b16601f85851c16601f0360031b011b17910193612d19565b15901515165f14612d8d5783015b5f80612d57565b8101612d86565b915f925b610300518410612dae5750505050600190612d0d565b5f5f5b60048110612de357506004918160039260101c9062ff000061ff0082169160101b16171760e81b815201930192612d98565b90600190602c8388018060051b8701516202e800858a828406936201740085119384910401941c16612e20575b505006836006021b179101612db1565b15901515165f14612e355783015b5f80612e10565b602b01612e2e565b634e487b7160e01b5f52603260045260245ffd5b6080811c6020805f198360011b0160021b6103a0510101915f190160021b6103a05101016001831b8060051b9060016101005260068514612f6c575b8560e05260071b92818001905b612000870160e05110612eb4575050505050600201612cb8565b627fe00161010051855160e01c0960031982015160e01c825160e01c8560e051019260e0515b848110612efd575050505050600719019260031901928460e0510160e052612e9a565b8060209151627fe0018a8084019287838d865190880193828d63ffc0020082885199890197828951968881019803019009988481019403019009948363ffc00200848403018d0990526101005191010986528363ffc00200848403018909905261010051910109905201612eda565b627f602161010052612e8d565b50612f94610380516040016020610160510161034051612252565b60c060805101519160206101a0510151149160308114612fc7575b604014612fba575090565b60406101a0510151141690565b6101a051604001516fffffffffffffffffffffffffffffffff1983811691161490921691612faf565b6121008102811590828104612100148217156103775761301390610120516109f9565b9061036051155f146130ab5760606103c051018060206103c0510111610377576080516101600151613044916109f9565b9061030084029084820461030014171561037757613061916109f9565b60206102005101906120008301925b83811061308557505050506001905b01612c4f565b602080600392627fe00180865160e81c8851098103825108815201930191019091613070565b506130ba838361028051612754565b6130ca60206103a05101846127d0565b8260206102005101906120008301925b8381106130ed575050505060019061307f565b6020808092627fe00180865188510981038251088152019301910190916130da565b6020613119611dbd565b01612c4d565b602061210082026102a05101015f5b6102e0518110613142575050600101612c39565b80600d1b61026051015f905b612000821061316157505060010161312e565b90946003602091878601838986010151825160e81c0281510190520195019061314e565b6131ab602061028051015161319d6102e05184610895565b610320525f6102c052613a5f565b610240525b610320516102c05160021b1015613772575f6101e08190526101c0525b60046101c05110613732575f5b610320811061372157505f516020614a345f395f51905f526102405160c01c0261034051525f516020614a345f395f51905f526001600160401b036102405160801c160260206103405101525f516020614a345f395f51905f526001600160401b036102405160401c160260406103405101525f516020614a345f395f51905f526001600160401b0361024051160260606103405101525f5f5b600481106136f1575060806103405101527801000000000000000100000000000000010000000000000001603f1b6102806103405101525b6132b8610340516148ac565b60015f5b600481106132da5750156132ac5760016102c051016102c0526131b0565b61200061ffff6101e0518360041b1c1610156136e9575f6101405261330a6102e051826102c05160021b01611444565b610140526102e0511561144e5761ffff6101e0518260041b1c16602061210061014051026102a05101010161ffff6101e0518360041b1c1660206102e051846102c05160021b0106600d1b61026051010101610340515b6102a0610340510181106133ca575b505061200090602061210061014051026102a051010181038360041b1b61ffff8460041b1b196101e05116176101e052602061210061014051026102a05101019003106133c2575b6001905b016132bc565b5f91506133b8565b612000602061210061014051026102a0510101018310156136e45760408101518460061b1c60801b7780000080000080000080000080000080000080000080000076200000200000200000200000200000200000200000200060208401518760061b1c60401b92667fe0007fe0007f60401b85518960061b1c946001600160401b0360801b831667ffffffffffffffff60401b82166001600160401b03881617175f521667e0007fe0007fe000851617906703ff0003ff0003ff60851b161701165f146136135750627fffff5f5116627fe00181106135fa575b50627fffff5f5160181c16627fe00181106135e1575b50627fffff5f5160301c16627fe00181106135c8575b50627fffff5f5160481c16627fe00181106135af575b50627fffff5f5160601c16627fe0018110613596575b50627fffff5f5160781c16627fe001811061357d575b50627fffff5f5160901c16627fe0018110613564575b50627fffff5f5160a81c16627fe0018110613549575b506060905b01613361565b6020839481926060949551028151018152019301919061353e565b825184519102018352602092830192909101905f613528565b825184519102018352602092830192909101905f613512565b825184519102018352602092830192909101905f6134fc565b825184519102018352602092830192909101905f6134e6565b825184519102018352602092830192909101905f6134d0565b825184519102018352602092830192909101905f6134ba565b825184519102018352602092830192909101905f6134a4565b928293627fffff60609394519116028151018152602081016020850151627fffff5f5160181c16028151019052604081016040850151627fffff5f5160301c1602815101905281810182850151627fffff5f5160481c16028151019052608081016080850151627fffff5f51851c1602815101905260a0810160a0850151627fffff5f5160781c1602815101905260c0810160c0850151627fffff5f5160901c1602815101905260e0810160e0850151627fffff5f5160a81c16028151019052610300510192610300510191613543565b613370565b6001906133bc565b90600190621f0000836102c05160021b016102e051810460081b906102e051900617178360061b1b179101613274565b805f602092610340510152016131da565b610320516101c0516102c05160021b011015613759575b60016101c051016101c0526131cd565b6120006101c05160041b1b6101e051176101e052613749565b612c43565b613786602061020051016128b1565b612bfd565b91905b6088831461381f575b60ff601f198460021b1661034051015160388560031b166040011c16925f19811461037757600101926103e0518111156137d1575061378e565b6020909391929360051b610200510101805160206103e05160051b61020051010152627fdfff600161022051160260010190526102205160011c6102205260016103e051016103e052612bd0565b915061382d610340516148ac565b5f91613797565b8061384d61032060049360031b61034051010151613a5f565b8160051b610340510167ffffffffffffffff60401b8260801c16815118815260116001840110613880575b505001612b46565b606081602067ffffffffffffffff60401b93018377ffffffffffffffffffffffffffffffff00000000000000008660401c16168151189052604081018385168151189052019160401b1681511890525f80613878565b805f6103206020936103405101015201612b12565b61034051810180516fffffffffffffffff000000000000000019169052602001612afe565b612ae36060602092613932610120608051015185610280510161034051612252565b949091612ab4565b80600d1b9080820461200014811517156103775761397060019261396b60206103a0510191602061026051016109f9565b6127d0565b01612a32565b50505f90565b915b828110156129cc57602081830101515f1a61399b5760010161397e565b505050505f5f80806129cc565b9091506020818401850101515f1a83811186821017613a4b5790869291865f915b8089106139f5575b505083156139ef5761018051600583901b01528692506001016129bd565b506129c5565b9190978093949550870160208101515f1a90898511613a24575b5090600180921b1792019688949392916139c9565b601f829101515f1a1015613a38575f613a0f565b50939297505094505f9586925f806139d1565b50505092505f92835f806129c5565b505f90565b7bffffffff00000000ffffffff00000000ffffffff00000000ffffffff8160081b9160081c7eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff7fff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff007dff000000ff000000ff000000ff000000ff000000ff000000ff000000ff0085167cff000000ff000000ff000000ff000000ff000000ff000000ff000000ff84161760101b941691161760101c917dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff82821679ffff000000000000ffff000000000000ffff000000000000ffff85161760201b93161760201c161790565b6001600160401b0360608201511667ffffffffffffffff60401b604083015160401b1617906001600160401b0360801b602082015160801b16905160c01b171790565b60ff81511615613cc3575160ff16600114613c3e5760019161e0008101916060015b828210613bd35750505090565b60058160409251958660021a96620f00008860101b168160011a60081b825f1a1717978160041a600c1b9160031a60041b9060041c171790620fff8882106078831116620fff88891060788a11161616966287e0010385526287e00103602085015201910190613bc6565b60019161a0008101916050015b828210613c585750505090565b60058160409251958660021a96620f00008860101b168160011a60081b825f1a1717978160041a600c1b9160031a60041b9060041c171790620fff3c821060c4831116620fff3c891060c48a11161616966287e0010385526287e00103602085015201910190613c4b565b506001916180008101916040015b828210613cde5750505090565b60098160809251958660021a968060041a8160061a91620300008a60101b168160011a60081b825f1a1717996203c00083600e1b16908260031a60061b9060021c1717916203f00084600c1b16908260051a60041b9060041c1717928160081a600a1b9160071a60021b9060061c1717926203ffb28410604e8511166203ffb28410604e851116166203ffb28310604e8411166203ffb28c10604e8d1116161616986281e0010387526281e0010360208701526281e0010360408601526281e00103606085015201910190613cd1565b61030091926102808201516101e083015161014084015160a08501518551181818186102a083015161020084015161016085015160c08601516020870151181818186102c084015161022085015161018086015160e08701516040880151181818186102e08501516102408601516101a087015161010088015160608901511818181892868601516102608701516101c088015161012089015160808a015118181818935f516020614a345f395f51905f5284603f1c165f516020614a345f395f51905f52198560011b1617851886525f516020614a345f395f51905f5283603f1c165f516020614a345f395f51905f52198460011b1617821860208701525f516020614a345f395f51905f5281603f1c165f516020614a345f395f51905f52198260011b1617841860408701525f516020614a345f395f51905f5285603f1c165f516020614a345f395f51905f52198660011b1617831860608701525f516020614a345f395f51905f5282603f1c165f516020614a345f395f51905f52198360011b1617811860808701525f516020614a345f395f51905f5284603f1c165f516020614a345f395f51905f52198560011b16178518875118925f516020614a345f395f51905f5281603f1c165f516020614a345f395f51905f52198260011b1617831860c0890151187ffffff00000000000fffff00000000000fffff00000000000fffff000000000007d0fffffffffff00000fffffffffff00000fffffffffff00000fffffffffff8260141c1691602c1b1617945f516020614a345f395f51905f5283603f1c165f516020614a345f395f51905f52198460011b161718610180890151187ffffff80000000000fffff80000000000fffff80000000000fffff800000000007d07ffffffffff000007ffffffffff000007ffffffffff000007ffffffffff8260151c1691602b1b1617955f516020614a345f395f51905f5281603f1c16905f516020614a345f395f51905f52199060011b161718610240880151187a1fffff00000000001fffff00000000001fffff00000000001fffff81602b1c16907a1fffff00000000001fffff00000000001fffff00000000001fffff199060151b1617915f516020614a345f395f51905f5281603f1c16905f516020614a345f395f51905f52199060011b1617188787015118793fff0000000000003fff0000000000003fff0000000000003fff8160321c1690793fff0000000000003fff0000000000003fff0000000000003fff1990600e1b161793808419168318895281811916841860208a01528482191618604089015281841916186060880152191618608085015260608101516060830151187ffffffffff0000000fffffffff0000000fffffffff0000000fffffffff00000007b0fffffff000000000fffffff000000000fffffff000000000fffffff8260241c1691601c1b16176080820151610120840151187a0fffff00000000000fffff00000000000fffff00000000000fffff81602c1c16907a0fffff00000000000fffff00000000000fffff00000000000fffff199060141b1617825161014085015118780700000000000000070000000000000007000000000000000781603d1c16907807000000000000000700000000000000070000000000000007199060031b1617916020840151610200860151187fffffe00000000000ffffe00000000000ffffe00000000000ffffe000000000007d1fffffffffff00001fffffffffff00001fffffffffff00001fffffffffff8260131c1691602d1b161760408501516102c0870151187fe000000000000000e000000000000000e000000000000000e0000000000000007f1fffffffffffffff1fffffffffffffff1fffffffffffffff1fffffffffffffff8260031c1691603d1b16179380841916831860a08a015281811916841860c08a0152848219161860e0890152818419161861010088015219161861012085015260208101516020830151185f516020614a345f395f51905f5281603f1c16905f516020614a345f395f51905f52199060011b1617604082015160e084015118783f000000000000003f000000000000003f000000000000003f81603a1c1690783f000000000000003f000000000000003f000000000000003f199060061b161760608301516101a0850151187ffffffffffe000000fffffffffe000000fffffffffe000000fffffffffe0000007b01ffffff0000000001ffffff0000000001ffffff0000000001ffffff8260271c169160191b16179160808401516102608601511878ff00000000000000ff00000000000000ff00000000000000ff8160381c169078ff00000000000000ff00000000000000ff00000000000000ff199060081b16178451610280870151187a03ffff000000000003ffff000000000003ffff000000000003ffff81602e1c16907a03ffff000000000003ffff000000000003ffff000000000003ffff199060121b1617938084191683186101408a01528181191684186101608a0152848219161861018089015281841916186101a08801521916186101c085015260808101516080830151187ffffffffff8000000fffffffff8000000fffffffff8000000fffffffff80000007b07ffffff0000000007ffffff0000000007ffffff0000000007ffffff8260251c1691601b1b1617815160a0840151187ffffffff000000000fffffff000000000fffffff000000000fffffff0000000007c0fffffffff0000000fffffffff0000000fffffffff0000000fffffffff82601c1c169160241b16176020830151610160850151187903ff00000000000003ff00000000000003ff00000000000003ff8160361c16907903ff00000000000003ff00000000000003ff00000000000003ff1990600a1b161791604084015161022086015118797fff0000000000007fff0000000000007fff0000000000007fff8160311c1690797fff0000000000007fff0000000000007fff0000000000007fff1990600f1b161760608501516102e0870151187fff00000000000000ff00000000000000ff00000000000000ff000000000000007effffffffffffff00ffffffffffffff00ffffffffffffff00ffffffffffffff8260081c169160381b1617938084191683186101e08a01528181191684186102008a01528482191618610220890152818419161861024088015219161861026085015260408101516040830151187fc000000000000000c000000000000000c000000000000000c0000000000000007f3fffffffffffffff3fffffffffffffff3fffffffffffffff3fffffffffffffff8260021c1691603e1b16176060820151610100840151187fff80000000000000ff80000000000000ff80000000000000ff800000000000007e7fffffffffffff007fffffffffffff007fffffffffffff007fffffffffffff8260091c169160371b16179160808101516101c0850151187fffffff8000000000ffffff8000000000ffffff8000000000ffffff80000000007c7fffffffff0000007fffffffff0000007fffffffff0000007fffffffff8260191c169160271b1617936102a0602083516101e0840151187ffffffe0000000000fffffe0000000000fffffe0000000000fffffe00000000007d01ffffffffff000001ffffffffff000001ffffffffff000001ffffffffff8260171c169160291b161793015191015118780300000000000000030000000000000003000000000000000381603e1c16907803000000000000000300000000000000030000000000000003199060021b1617938084191683186102808801528181191684186102a088015284821916186102c087015281841916186102e0860152191618910152565b61094081019061032081015f5b61030081106148c85750505050565b6040906148d6858486613dae565b61066081850161064081015185511885526148f2878787613dae565b01518451188452016148b9565b90915f5b61032081106149a657505b6088811015614963576103208201925f5b60c08110614952575091601f610320838694608896611c93985e8301015361031f83820101608081515f1a1790536149b3565b5f848201610320015260200161491f565b91614970608882846149b3565b614979826148ac565b60888101809111610377579160871981019081111561490e57634e487b7160e01b5f52601160045260245ffd5b5f83820152602001614903565b909160031c5f5b8181106149c75750505050565b806149d960049260031b860151613a5f565b8160051b85018160c01c81511881528460018401106149fb575b5050016149ba565b60608160206001600160401b039301838560801c16815118905260408101838560401c16815118905201911681511890525f806149f356fe0000000000000001000000000000000100000000000000010000000000000001a2646970667358221220ac3bbc62b814e89bfedd08f05423842929cc751d4ad313b92a161b948402bffb64736f6c63430008250033"
|
|
570
|
+
}
|