@cofhe/mock-contracts 0.0.0-alpha-20260409113701
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/CHANGELOG.md +86 -0
- package/README.md +180 -0
- package/contracts/ABITest.sol +99 -0
- package/contracts/MockACL.sol +342 -0
- package/contracts/MockCoFHE.sol +444 -0
- package/contracts/MockTaskManager.sol +676 -0
- package/contracts/MockThresholdNetwork.sol +199 -0
- package/contracts/MockZkVerifier.sol +140 -0
- package/contracts/Permissioned.sol +213 -0
- package/contracts/TestBed.sol +98 -0
- package/dist/index.d.mts +3193 -0
- package/dist/index.d.ts +3193 -0
- package/dist/index.js +2864 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2858 -0
- package/dist/index.mjs.map +1 -0
- package/foundry.toml +10 -0
- package/package.json +65 -0
- package/remappings.txt +5 -0
- package/src/MockACL.ts +620 -0
- package/src/MockTaskManager.ts +1211 -0
- package/src/MockThresholdNetwork.ts +457 -0
- package/src/MockZkVerifier.ts +266 -0
- package/src/TestBed.ts +311 -0
- package/src/index.ts +7 -0
- package/src/typechain-types/MockACL.ts +382 -0
- package/src/typechain-types/MockTaskManager.ts +565 -0
- package/src/typechain-types/MockThresholdNetwork.ts +247 -0
- package/src/typechain-types/MockZkVerifier.ts +205 -0
- package/src/typechain-types/TestBed.ts +172 -0
- package/src/typechain-types/common.ts +92 -0
- package/src/typechain-types/index.ts +8 -0
- package/src/types.ts +14 -0
|
@@ -0,0 +1,1211 @@
|
|
|
1
|
+
// This file is auto-generated by build-artifacts.ts
|
|
2
|
+
import { type MockArtifact } from './types';
|
|
3
|
+
|
|
4
|
+
export const MockTaskManagerArtifact = {
|
|
5
|
+
contractName: 'MockTaskManager',
|
|
6
|
+
isFixed: true,
|
|
7
|
+
fixedAddress: '0xeA30c4B8b44078Bbf8a6ef5b9f1eC1626C7848D9',
|
|
8
|
+
abi: [
|
|
9
|
+
{
|
|
10
|
+
type: 'constructor',
|
|
11
|
+
inputs: [],
|
|
12
|
+
stateMutability: 'nonpayable',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
type: 'function',
|
|
16
|
+
name: 'MOCK_logAllow',
|
|
17
|
+
inputs: [
|
|
18
|
+
{
|
|
19
|
+
name: 'operation',
|
|
20
|
+
type: 'string',
|
|
21
|
+
internalType: 'string',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'ctHash',
|
|
25
|
+
type: 'uint256',
|
|
26
|
+
internalType: 'uint256',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'account',
|
|
30
|
+
type: 'address',
|
|
31
|
+
internalType: 'address',
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
outputs: [],
|
|
35
|
+
stateMutability: 'view',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
type: 'function',
|
|
39
|
+
name: 'MOCK_setInEuintKey',
|
|
40
|
+
inputs: [
|
|
41
|
+
{
|
|
42
|
+
name: 'ctHash',
|
|
43
|
+
type: 'uint256',
|
|
44
|
+
internalType: 'uint256',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'value',
|
|
48
|
+
type: 'uint256',
|
|
49
|
+
internalType: 'uint256',
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
outputs: [],
|
|
53
|
+
stateMutability: 'nonpayable',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
type: 'function',
|
|
57
|
+
name: 'acl',
|
|
58
|
+
inputs: [],
|
|
59
|
+
outputs: [
|
|
60
|
+
{
|
|
61
|
+
name: '',
|
|
62
|
+
type: 'address',
|
|
63
|
+
internalType: 'contract MockACL',
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
stateMutability: 'view',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
type: 'function',
|
|
70
|
+
name: 'aggregator',
|
|
71
|
+
inputs: [],
|
|
72
|
+
outputs: [
|
|
73
|
+
{
|
|
74
|
+
name: '',
|
|
75
|
+
type: 'address',
|
|
76
|
+
internalType: 'address',
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
stateMutability: 'view',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
type: 'function',
|
|
83
|
+
name: 'allow',
|
|
84
|
+
inputs: [
|
|
85
|
+
{
|
|
86
|
+
name: 'ctHash',
|
|
87
|
+
type: 'uint256',
|
|
88
|
+
internalType: 'uint256',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: 'account',
|
|
92
|
+
type: 'address',
|
|
93
|
+
internalType: 'address',
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
outputs: [],
|
|
97
|
+
stateMutability: 'nonpayable',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: 'function',
|
|
101
|
+
name: 'allowForDecryption',
|
|
102
|
+
inputs: [
|
|
103
|
+
{
|
|
104
|
+
name: 'ctHash',
|
|
105
|
+
type: 'uint256',
|
|
106
|
+
internalType: 'uint256',
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
outputs: [],
|
|
110
|
+
stateMutability: 'nonpayable',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'function',
|
|
114
|
+
name: 'allowGlobal',
|
|
115
|
+
inputs: [
|
|
116
|
+
{
|
|
117
|
+
name: 'ctHash',
|
|
118
|
+
type: 'uint256',
|
|
119
|
+
internalType: 'uint256',
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
outputs: [],
|
|
123
|
+
stateMutability: 'nonpayable',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'function',
|
|
127
|
+
name: 'allowTransient',
|
|
128
|
+
inputs: [
|
|
129
|
+
{
|
|
130
|
+
name: 'ctHash',
|
|
131
|
+
type: 'uint256',
|
|
132
|
+
internalType: 'uint256',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: 'account',
|
|
136
|
+
type: 'address',
|
|
137
|
+
internalType: 'address',
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
outputs: [],
|
|
141
|
+
stateMutability: 'nonpayable',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'function',
|
|
145
|
+
name: 'createDecryptTask',
|
|
146
|
+
inputs: [
|
|
147
|
+
{
|
|
148
|
+
name: 'ctHash',
|
|
149
|
+
type: 'uint256',
|
|
150
|
+
internalType: 'uint256',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: '',
|
|
154
|
+
type: 'address',
|
|
155
|
+
internalType: 'address',
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
outputs: [],
|
|
159
|
+
stateMutability: 'nonpayable',
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'function',
|
|
163
|
+
name: 'createRandomTask',
|
|
164
|
+
inputs: [
|
|
165
|
+
{
|
|
166
|
+
name: 'returnType',
|
|
167
|
+
type: 'uint8',
|
|
168
|
+
internalType: 'uint8',
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
name: 'seed',
|
|
172
|
+
type: 'uint256',
|
|
173
|
+
internalType: 'uint256',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: 'securityZone',
|
|
177
|
+
type: 'int32',
|
|
178
|
+
internalType: 'int32',
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
outputs: [
|
|
182
|
+
{
|
|
183
|
+
name: '',
|
|
184
|
+
type: 'uint256',
|
|
185
|
+
internalType: 'uint256',
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
stateMutability: 'nonpayable',
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
type: 'function',
|
|
192
|
+
name: 'createTask',
|
|
193
|
+
inputs: [
|
|
194
|
+
{
|
|
195
|
+
name: 'returnType',
|
|
196
|
+
type: 'uint8',
|
|
197
|
+
internalType: 'uint8',
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
name: 'funcId',
|
|
201
|
+
type: 'uint8',
|
|
202
|
+
internalType: 'enum FunctionId',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
name: 'encryptedHashes',
|
|
206
|
+
type: 'uint256[]',
|
|
207
|
+
internalType: 'uint256[]',
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
name: 'extraInputs',
|
|
211
|
+
type: 'uint256[]',
|
|
212
|
+
internalType: 'uint256[]',
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
outputs: [
|
|
216
|
+
{
|
|
217
|
+
name: '',
|
|
218
|
+
type: 'uint256',
|
|
219
|
+
internalType: 'uint256',
|
|
220
|
+
},
|
|
221
|
+
],
|
|
222
|
+
stateMutability: 'nonpayable',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
type: 'function',
|
|
226
|
+
name: 'decryptResultSigner',
|
|
227
|
+
inputs: [],
|
|
228
|
+
outputs: [
|
|
229
|
+
{
|
|
230
|
+
name: '',
|
|
231
|
+
type: 'address',
|
|
232
|
+
internalType: 'address',
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
stateMutability: 'view',
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
type: 'function',
|
|
239
|
+
name: 'exists',
|
|
240
|
+
inputs: [],
|
|
241
|
+
outputs: [
|
|
242
|
+
{
|
|
243
|
+
name: '',
|
|
244
|
+
type: 'bool',
|
|
245
|
+
internalType: 'bool',
|
|
246
|
+
},
|
|
247
|
+
],
|
|
248
|
+
stateMutability: 'pure',
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
type: 'function',
|
|
252
|
+
name: 'getDecryptResult',
|
|
253
|
+
inputs: [
|
|
254
|
+
{
|
|
255
|
+
name: 'ctHash',
|
|
256
|
+
type: 'uint256',
|
|
257
|
+
internalType: 'uint256',
|
|
258
|
+
},
|
|
259
|
+
],
|
|
260
|
+
outputs: [
|
|
261
|
+
{
|
|
262
|
+
name: '',
|
|
263
|
+
type: 'uint256',
|
|
264
|
+
internalType: 'uint256',
|
|
265
|
+
},
|
|
266
|
+
],
|
|
267
|
+
stateMutability: 'view',
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
type: 'function',
|
|
271
|
+
name: 'getDecryptResultSafe',
|
|
272
|
+
inputs: [
|
|
273
|
+
{
|
|
274
|
+
name: 'ctHash',
|
|
275
|
+
type: 'uint256',
|
|
276
|
+
internalType: 'uint256',
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
outputs: [
|
|
280
|
+
{
|
|
281
|
+
name: 'result',
|
|
282
|
+
type: 'uint256',
|
|
283
|
+
internalType: 'uint256',
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
name: 'decrypted',
|
|
287
|
+
type: 'bool',
|
|
288
|
+
internalType: 'bool',
|
|
289
|
+
},
|
|
290
|
+
],
|
|
291
|
+
stateMutability: 'view',
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
type: 'function',
|
|
295
|
+
name: 'handleDecryptResult',
|
|
296
|
+
inputs: [
|
|
297
|
+
{
|
|
298
|
+
name: 'ctHash',
|
|
299
|
+
type: 'uint256',
|
|
300
|
+
internalType: 'uint256',
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
name: 'result',
|
|
304
|
+
type: 'uint256',
|
|
305
|
+
internalType: 'uint256',
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
name: '',
|
|
309
|
+
type: 'address[]',
|
|
310
|
+
internalType: 'address[]',
|
|
311
|
+
},
|
|
312
|
+
],
|
|
313
|
+
outputs: [],
|
|
314
|
+
stateMutability: 'nonpayable',
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
type: 'function',
|
|
318
|
+
name: 'handleError',
|
|
319
|
+
inputs: [
|
|
320
|
+
{
|
|
321
|
+
name: 'ctHash',
|
|
322
|
+
type: 'uint256',
|
|
323
|
+
internalType: 'uint256',
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
name: 'operation',
|
|
327
|
+
type: 'string',
|
|
328
|
+
internalType: 'string',
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
name: 'errorMessage',
|
|
332
|
+
type: 'string',
|
|
333
|
+
internalType: 'string',
|
|
334
|
+
},
|
|
335
|
+
],
|
|
336
|
+
outputs: [],
|
|
337
|
+
stateMutability: 'nonpayable',
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
type: 'function',
|
|
341
|
+
name: 'inMockStorage',
|
|
342
|
+
inputs: [
|
|
343
|
+
{
|
|
344
|
+
name: '',
|
|
345
|
+
type: 'uint256',
|
|
346
|
+
internalType: 'uint256',
|
|
347
|
+
},
|
|
348
|
+
],
|
|
349
|
+
outputs: [
|
|
350
|
+
{
|
|
351
|
+
name: '',
|
|
352
|
+
type: 'bool',
|
|
353
|
+
internalType: 'bool',
|
|
354
|
+
},
|
|
355
|
+
],
|
|
356
|
+
stateMutability: 'view',
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
type: 'function',
|
|
360
|
+
name: 'initialize',
|
|
361
|
+
inputs: [
|
|
362
|
+
{
|
|
363
|
+
name: 'initialOwner',
|
|
364
|
+
type: 'address',
|
|
365
|
+
internalType: 'address',
|
|
366
|
+
},
|
|
367
|
+
],
|
|
368
|
+
outputs: [],
|
|
369
|
+
stateMutability: 'nonpayable',
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
type: 'function',
|
|
373
|
+
name: 'isAllowed',
|
|
374
|
+
inputs: [
|
|
375
|
+
{
|
|
376
|
+
name: 'ctHash',
|
|
377
|
+
type: 'uint256',
|
|
378
|
+
internalType: 'uint256',
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
name: 'account',
|
|
382
|
+
type: 'address',
|
|
383
|
+
internalType: 'address',
|
|
384
|
+
},
|
|
385
|
+
],
|
|
386
|
+
outputs: [
|
|
387
|
+
{
|
|
388
|
+
name: '',
|
|
389
|
+
type: 'bool',
|
|
390
|
+
internalType: 'bool',
|
|
391
|
+
},
|
|
392
|
+
],
|
|
393
|
+
stateMutability: 'view',
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
type: 'function',
|
|
397
|
+
name: 'isAllowedWithPermission',
|
|
398
|
+
inputs: [
|
|
399
|
+
{
|
|
400
|
+
name: 'permission',
|
|
401
|
+
type: 'tuple',
|
|
402
|
+
internalType: 'struct Permission',
|
|
403
|
+
components: [
|
|
404
|
+
{
|
|
405
|
+
name: 'issuer',
|
|
406
|
+
type: 'address',
|
|
407
|
+
internalType: 'address',
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
name: 'expiration',
|
|
411
|
+
type: 'uint64',
|
|
412
|
+
internalType: 'uint64',
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
name: 'recipient',
|
|
416
|
+
type: 'address',
|
|
417
|
+
internalType: 'address',
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
name: 'validatorId',
|
|
421
|
+
type: 'uint256',
|
|
422
|
+
internalType: 'uint256',
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
name: 'validatorContract',
|
|
426
|
+
type: 'address',
|
|
427
|
+
internalType: 'address',
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
name: 'sealingKey',
|
|
431
|
+
type: 'bytes32',
|
|
432
|
+
internalType: 'bytes32',
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
name: 'issuerSignature',
|
|
436
|
+
type: 'bytes',
|
|
437
|
+
internalType: 'bytes',
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
name: 'recipientSignature',
|
|
441
|
+
type: 'bytes',
|
|
442
|
+
internalType: 'bytes',
|
|
443
|
+
},
|
|
444
|
+
],
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
name: 'handle',
|
|
448
|
+
type: 'uint256',
|
|
449
|
+
internalType: 'uint256',
|
|
450
|
+
},
|
|
451
|
+
],
|
|
452
|
+
outputs: [
|
|
453
|
+
{
|
|
454
|
+
name: '',
|
|
455
|
+
type: 'bool',
|
|
456
|
+
internalType: 'bool',
|
|
457
|
+
},
|
|
458
|
+
],
|
|
459
|
+
stateMutability: 'view',
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
type: 'function',
|
|
463
|
+
name: 'isInitialized',
|
|
464
|
+
inputs: [],
|
|
465
|
+
outputs: [
|
|
466
|
+
{
|
|
467
|
+
name: '',
|
|
468
|
+
type: 'bool',
|
|
469
|
+
internalType: 'bool',
|
|
470
|
+
},
|
|
471
|
+
],
|
|
472
|
+
stateMutability: 'view',
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
type: 'function',
|
|
476
|
+
name: 'isPubliclyAllowed',
|
|
477
|
+
inputs: [
|
|
478
|
+
{
|
|
479
|
+
name: 'ctHash',
|
|
480
|
+
type: 'uint256',
|
|
481
|
+
internalType: 'uint256',
|
|
482
|
+
},
|
|
483
|
+
],
|
|
484
|
+
outputs: [
|
|
485
|
+
{
|
|
486
|
+
name: '',
|
|
487
|
+
type: 'bool',
|
|
488
|
+
internalType: 'bool',
|
|
489
|
+
},
|
|
490
|
+
],
|
|
491
|
+
stateMutability: 'view',
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
type: 'function',
|
|
495
|
+
name: 'logOps',
|
|
496
|
+
inputs: [],
|
|
497
|
+
outputs: [
|
|
498
|
+
{
|
|
499
|
+
name: '',
|
|
500
|
+
type: 'bool',
|
|
501
|
+
internalType: 'bool',
|
|
502
|
+
},
|
|
503
|
+
],
|
|
504
|
+
stateMutability: 'view',
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
type: 'function',
|
|
508
|
+
name: 'mockStorage',
|
|
509
|
+
inputs: [
|
|
510
|
+
{
|
|
511
|
+
name: '',
|
|
512
|
+
type: 'uint256',
|
|
513
|
+
internalType: 'uint256',
|
|
514
|
+
},
|
|
515
|
+
],
|
|
516
|
+
outputs: [
|
|
517
|
+
{
|
|
518
|
+
name: '',
|
|
519
|
+
type: 'uint256',
|
|
520
|
+
internalType: 'uint256',
|
|
521
|
+
},
|
|
522
|
+
],
|
|
523
|
+
stateMutability: 'view',
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
type: 'function',
|
|
527
|
+
name: 'publishDecryptResult',
|
|
528
|
+
inputs: [
|
|
529
|
+
{
|
|
530
|
+
name: 'ctHash',
|
|
531
|
+
type: 'uint256',
|
|
532
|
+
internalType: 'uint256',
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
name: 'result',
|
|
536
|
+
type: 'uint256',
|
|
537
|
+
internalType: 'uint256',
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
name: 'signature',
|
|
541
|
+
type: 'bytes',
|
|
542
|
+
internalType: 'bytes',
|
|
543
|
+
},
|
|
544
|
+
],
|
|
545
|
+
outputs: [],
|
|
546
|
+
stateMutability: 'nonpayable',
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
type: 'function',
|
|
550
|
+
name: 'publishDecryptResultBatch',
|
|
551
|
+
inputs: [
|
|
552
|
+
{
|
|
553
|
+
name: 'ctHashes',
|
|
554
|
+
type: 'uint256[]',
|
|
555
|
+
internalType: 'uint256[]',
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
name: 'results',
|
|
559
|
+
type: 'uint256[]',
|
|
560
|
+
internalType: 'uint256[]',
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
name: 'signatures',
|
|
564
|
+
type: 'bytes[]',
|
|
565
|
+
internalType: 'bytes[]',
|
|
566
|
+
},
|
|
567
|
+
],
|
|
568
|
+
outputs: [],
|
|
569
|
+
stateMutability: 'nonpayable',
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
type: 'function',
|
|
573
|
+
name: 'removeFirstLetter',
|
|
574
|
+
inputs: [
|
|
575
|
+
{
|
|
576
|
+
name: 'str',
|
|
577
|
+
type: 'string',
|
|
578
|
+
internalType: 'string',
|
|
579
|
+
},
|
|
580
|
+
],
|
|
581
|
+
outputs: [
|
|
582
|
+
{
|
|
583
|
+
name: '',
|
|
584
|
+
type: 'string',
|
|
585
|
+
internalType: 'string',
|
|
586
|
+
},
|
|
587
|
+
],
|
|
588
|
+
stateMutability: 'pure',
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
type: 'function',
|
|
592
|
+
name: 'setACLContract',
|
|
593
|
+
inputs: [
|
|
594
|
+
{
|
|
595
|
+
name: '_aclAddress',
|
|
596
|
+
type: 'address',
|
|
597
|
+
internalType: 'address',
|
|
598
|
+
},
|
|
599
|
+
],
|
|
600
|
+
outputs: [],
|
|
601
|
+
stateMutability: 'nonpayable',
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
type: 'function',
|
|
605
|
+
name: 'setAggregator',
|
|
606
|
+
inputs: [
|
|
607
|
+
{
|
|
608
|
+
name: '_aggregatorAddress',
|
|
609
|
+
type: 'address',
|
|
610
|
+
internalType: 'address',
|
|
611
|
+
},
|
|
612
|
+
],
|
|
613
|
+
outputs: [],
|
|
614
|
+
stateMutability: 'nonpayable',
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
type: 'function',
|
|
618
|
+
name: 'setDecryptResultSigner',
|
|
619
|
+
inputs: [
|
|
620
|
+
{
|
|
621
|
+
name: 'signer',
|
|
622
|
+
type: 'address',
|
|
623
|
+
internalType: 'address',
|
|
624
|
+
},
|
|
625
|
+
],
|
|
626
|
+
outputs: [],
|
|
627
|
+
stateMutability: 'nonpayable',
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
type: 'function',
|
|
631
|
+
name: 'setLogOps',
|
|
632
|
+
inputs: [
|
|
633
|
+
{
|
|
634
|
+
name: '_logOps',
|
|
635
|
+
type: 'bool',
|
|
636
|
+
internalType: 'bool',
|
|
637
|
+
},
|
|
638
|
+
],
|
|
639
|
+
outputs: [],
|
|
640
|
+
stateMutability: 'nonpayable',
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
type: 'function',
|
|
644
|
+
name: 'setSecurityZoneMax',
|
|
645
|
+
inputs: [
|
|
646
|
+
{
|
|
647
|
+
name: 'securityZone',
|
|
648
|
+
type: 'int32',
|
|
649
|
+
internalType: 'int32',
|
|
650
|
+
},
|
|
651
|
+
],
|
|
652
|
+
outputs: [],
|
|
653
|
+
stateMutability: 'nonpayable',
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
type: 'function',
|
|
657
|
+
name: 'setSecurityZoneMin',
|
|
658
|
+
inputs: [
|
|
659
|
+
{
|
|
660
|
+
name: 'securityZone',
|
|
661
|
+
type: 'int32',
|
|
662
|
+
internalType: 'int32',
|
|
663
|
+
},
|
|
664
|
+
],
|
|
665
|
+
outputs: [],
|
|
666
|
+
stateMutability: 'nonpayable',
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
type: 'function',
|
|
670
|
+
name: 'setSecurityZones',
|
|
671
|
+
inputs: [
|
|
672
|
+
{
|
|
673
|
+
name: 'minSZ',
|
|
674
|
+
type: 'int32',
|
|
675
|
+
internalType: 'int32',
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
name: 'maxSZ',
|
|
679
|
+
type: 'int32',
|
|
680
|
+
internalType: 'int32',
|
|
681
|
+
},
|
|
682
|
+
],
|
|
683
|
+
outputs: [],
|
|
684
|
+
stateMutability: 'nonpayable',
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
type: 'function',
|
|
688
|
+
name: 'setVerifierSigner',
|
|
689
|
+
inputs: [
|
|
690
|
+
{
|
|
691
|
+
name: 'signer',
|
|
692
|
+
type: 'address',
|
|
693
|
+
internalType: 'address',
|
|
694
|
+
},
|
|
695
|
+
],
|
|
696
|
+
outputs: [],
|
|
697
|
+
stateMutability: 'nonpayable',
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
type: 'function',
|
|
701
|
+
name: 'sliceString',
|
|
702
|
+
inputs: [
|
|
703
|
+
{
|
|
704
|
+
name: 'str',
|
|
705
|
+
type: 'string',
|
|
706
|
+
internalType: 'string',
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
name: 'start',
|
|
710
|
+
type: 'uint256',
|
|
711
|
+
internalType: 'uint256',
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
name: 'length',
|
|
715
|
+
type: 'uint256',
|
|
716
|
+
internalType: 'uint256',
|
|
717
|
+
},
|
|
718
|
+
],
|
|
719
|
+
outputs: [
|
|
720
|
+
{
|
|
721
|
+
name: '',
|
|
722
|
+
type: 'string',
|
|
723
|
+
internalType: 'string',
|
|
724
|
+
},
|
|
725
|
+
],
|
|
726
|
+
stateMutability: 'pure',
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
type: 'function',
|
|
730
|
+
name: 'verifyDecryptResult',
|
|
731
|
+
inputs: [
|
|
732
|
+
{
|
|
733
|
+
name: 'ctHash',
|
|
734
|
+
type: 'uint256',
|
|
735
|
+
internalType: 'uint256',
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
name: 'result',
|
|
739
|
+
type: 'uint256',
|
|
740
|
+
internalType: 'uint256',
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
name: 'signature',
|
|
744
|
+
type: 'bytes',
|
|
745
|
+
internalType: 'bytes',
|
|
746
|
+
},
|
|
747
|
+
],
|
|
748
|
+
outputs: [
|
|
749
|
+
{
|
|
750
|
+
name: '',
|
|
751
|
+
type: 'bool',
|
|
752
|
+
internalType: 'bool',
|
|
753
|
+
},
|
|
754
|
+
],
|
|
755
|
+
stateMutability: 'view',
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
type: 'function',
|
|
759
|
+
name: 'verifyDecryptResultSafe',
|
|
760
|
+
inputs: [
|
|
761
|
+
{
|
|
762
|
+
name: 'ctHash',
|
|
763
|
+
type: 'uint256',
|
|
764
|
+
internalType: 'uint256',
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
name: 'result',
|
|
768
|
+
type: 'uint256',
|
|
769
|
+
internalType: 'uint256',
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
name: 'signature',
|
|
773
|
+
type: 'bytes',
|
|
774
|
+
internalType: 'bytes',
|
|
775
|
+
},
|
|
776
|
+
],
|
|
777
|
+
outputs: [
|
|
778
|
+
{
|
|
779
|
+
name: '',
|
|
780
|
+
type: 'bool',
|
|
781
|
+
internalType: 'bool',
|
|
782
|
+
},
|
|
783
|
+
],
|
|
784
|
+
stateMutability: 'view',
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
type: 'function',
|
|
788
|
+
name: 'verifyInput',
|
|
789
|
+
inputs: [
|
|
790
|
+
{
|
|
791
|
+
name: 'input',
|
|
792
|
+
type: 'tuple',
|
|
793
|
+
internalType: 'struct EncryptedInput',
|
|
794
|
+
components: [
|
|
795
|
+
{
|
|
796
|
+
name: 'ctHash',
|
|
797
|
+
type: 'uint256',
|
|
798
|
+
internalType: 'uint256',
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
name: 'securityZone',
|
|
802
|
+
type: 'uint8',
|
|
803
|
+
internalType: 'uint8',
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
name: 'utype',
|
|
807
|
+
type: 'uint8',
|
|
808
|
+
internalType: 'uint8',
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
name: 'signature',
|
|
812
|
+
type: 'bytes',
|
|
813
|
+
internalType: 'bytes',
|
|
814
|
+
},
|
|
815
|
+
],
|
|
816
|
+
},
|
|
817
|
+
{
|
|
818
|
+
name: 'sender',
|
|
819
|
+
type: 'address',
|
|
820
|
+
internalType: 'address',
|
|
821
|
+
},
|
|
822
|
+
],
|
|
823
|
+
outputs: [
|
|
824
|
+
{
|
|
825
|
+
name: '',
|
|
826
|
+
type: 'uint256',
|
|
827
|
+
internalType: 'uint256',
|
|
828
|
+
},
|
|
829
|
+
],
|
|
830
|
+
stateMutability: 'nonpayable',
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
type: 'event',
|
|
834
|
+
name: 'DecryptionResult',
|
|
835
|
+
inputs: [
|
|
836
|
+
{
|
|
837
|
+
name: 'ctHash',
|
|
838
|
+
type: 'uint256',
|
|
839
|
+
indexed: false,
|
|
840
|
+
internalType: 'uint256',
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
name: 'result',
|
|
844
|
+
type: 'uint256',
|
|
845
|
+
indexed: false,
|
|
846
|
+
internalType: 'uint256',
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
name: 'requestor',
|
|
850
|
+
type: 'address',
|
|
851
|
+
indexed: true,
|
|
852
|
+
internalType: 'address',
|
|
853
|
+
},
|
|
854
|
+
],
|
|
855
|
+
anonymous: false,
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
type: 'event',
|
|
859
|
+
name: 'ProtocolNotification',
|
|
860
|
+
inputs: [
|
|
861
|
+
{
|
|
862
|
+
name: 'ctHash',
|
|
863
|
+
type: 'uint256',
|
|
864
|
+
indexed: false,
|
|
865
|
+
internalType: 'uint256',
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
name: 'operation',
|
|
869
|
+
type: 'string',
|
|
870
|
+
indexed: false,
|
|
871
|
+
internalType: 'string',
|
|
872
|
+
},
|
|
873
|
+
{
|
|
874
|
+
name: 'errorMessage',
|
|
875
|
+
type: 'string',
|
|
876
|
+
indexed: false,
|
|
877
|
+
internalType: 'string',
|
|
878
|
+
},
|
|
879
|
+
],
|
|
880
|
+
anonymous: false,
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
type: 'event',
|
|
884
|
+
name: 'TaskCreated',
|
|
885
|
+
inputs: [
|
|
886
|
+
{
|
|
887
|
+
name: 'ctHash',
|
|
888
|
+
type: 'uint256',
|
|
889
|
+
indexed: false,
|
|
890
|
+
internalType: 'uint256',
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
name: 'operation',
|
|
894
|
+
type: 'string',
|
|
895
|
+
indexed: false,
|
|
896
|
+
internalType: 'string',
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
name: 'input1',
|
|
900
|
+
type: 'uint256',
|
|
901
|
+
indexed: false,
|
|
902
|
+
internalType: 'uint256',
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
name: 'input2',
|
|
906
|
+
type: 'uint256',
|
|
907
|
+
indexed: false,
|
|
908
|
+
internalType: 'uint256',
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
name: 'input3',
|
|
912
|
+
type: 'uint256',
|
|
913
|
+
indexed: false,
|
|
914
|
+
internalType: 'uint256',
|
|
915
|
+
},
|
|
916
|
+
],
|
|
917
|
+
anonymous: false,
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
type: 'error',
|
|
921
|
+
name: 'ACLNotAllowed',
|
|
922
|
+
inputs: [
|
|
923
|
+
{
|
|
924
|
+
name: 'handle',
|
|
925
|
+
type: 'uint256',
|
|
926
|
+
internalType: 'uint256',
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
name: 'account',
|
|
930
|
+
type: 'address',
|
|
931
|
+
internalType: 'address',
|
|
932
|
+
},
|
|
933
|
+
],
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
type: 'error',
|
|
937
|
+
name: 'DecryptionResultNotReady',
|
|
938
|
+
inputs: [
|
|
939
|
+
{
|
|
940
|
+
name: 'ctHash',
|
|
941
|
+
type: 'uint256',
|
|
942
|
+
internalType: 'uint256',
|
|
943
|
+
},
|
|
944
|
+
],
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
type: 'error',
|
|
948
|
+
name: 'ECDSAInvalidSignature',
|
|
949
|
+
inputs: [],
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
type: 'error',
|
|
953
|
+
name: 'ECDSAInvalidSignatureLength',
|
|
954
|
+
inputs: [
|
|
955
|
+
{
|
|
956
|
+
name: 'length',
|
|
957
|
+
type: 'uint256',
|
|
958
|
+
internalType: 'uint256',
|
|
959
|
+
},
|
|
960
|
+
],
|
|
961
|
+
},
|
|
962
|
+
{
|
|
963
|
+
type: 'error',
|
|
964
|
+
name: 'ECDSAInvalidSignatureS',
|
|
965
|
+
inputs: [
|
|
966
|
+
{
|
|
967
|
+
name: 's',
|
|
968
|
+
type: 'bytes32',
|
|
969
|
+
internalType: 'bytes32',
|
|
970
|
+
},
|
|
971
|
+
],
|
|
972
|
+
},
|
|
973
|
+
{
|
|
974
|
+
type: 'error',
|
|
975
|
+
name: 'InputNotInMockStorage',
|
|
976
|
+
inputs: [
|
|
977
|
+
{
|
|
978
|
+
name: 'ctHash',
|
|
979
|
+
type: 'uint256',
|
|
980
|
+
internalType: 'uint256',
|
|
981
|
+
},
|
|
982
|
+
],
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
type: 'error',
|
|
986
|
+
name: 'InvalidAddress',
|
|
987
|
+
inputs: [],
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
type: 'error',
|
|
991
|
+
name: 'InvalidInputForFunction',
|
|
992
|
+
inputs: [
|
|
993
|
+
{
|
|
994
|
+
name: 'functionName',
|
|
995
|
+
type: 'string',
|
|
996
|
+
internalType: 'string',
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
name: 'inputType',
|
|
1000
|
+
type: 'uint8',
|
|
1001
|
+
internalType: 'uint8',
|
|
1002
|
+
},
|
|
1003
|
+
],
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
type: 'error',
|
|
1007
|
+
name: 'InvalidInputType',
|
|
1008
|
+
inputs: [
|
|
1009
|
+
{
|
|
1010
|
+
name: 'actual',
|
|
1011
|
+
type: 'uint8',
|
|
1012
|
+
internalType: 'uint8',
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
name: 'expected',
|
|
1016
|
+
type: 'uint8',
|
|
1017
|
+
internalType: 'uint8',
|
|
1018
|
+
},
|
|
1019
|
+
],
|
|
1020
|
+
},
|
|
1021
|
+
{
|
|
1022
|
+
type: 'error',
|
|
1023
|
+
name: 'InvalidInputsAmount',
|
|
1024
|
+
inputs: [
|
|
1025
|
+
{
|
|
1026
|
+
name: 'operation',
|
|
1027
|
+
type: 'string',
|
|
1028
|
+
internalType: 'string',
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
name: 'got',
|
|
1032
|
+
type: 'uint256',
|
|
1033
|
+
internalType: 'uint256',
|
|
1034
|
+
},
|
|
1035
|
+
{
|
|
1036
|
+
name: 'expected',
|
|
1037
|
+
type: 'uint256',
|
|
1038
|
+
internalType: 'uint256',
|
|
1039
|
+
},
|
|
1040
|
+
],
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
type: 'error',
|
|
1044
|
+
name: 'InvalidOperationInputs',
|
|
1045
|
+
inputs: [
|
|
1046
|
+
{
|
|
1047
|
+
name: 'operation',
|
|
1048
|
+
type: 'string',
|
|
1049
|
+
internalType: 'string',
|
|
1050
|
+
},
|
|
1051
|
+
],
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
type: 'error',
|
|
1055
|
+
name: 'InvalidSecurityZone',
|
|
1056
|
+
inputs: [
|
|
1057
|
+
{
|
|
1058
|
+
name: 'zone',
|
|
1059
|
+
type: 'int32',
|
|
1060
|
+
internalType: 'int32',
|
|
1061
|
+
},
|
|
1062
|
+
{
|
|
1063
|
+
name: 'min',
|
|
1064
|
+
type: 'int32',
|
|
1065
|
+
internalType: 'int32',
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
name: 'max',
|
|
1069
|
+
type: 'int32',
|
|
1070
|
+
internalType: 'int32',
|
|
1071
|
+
},
|
|
1072
|
+
],
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
type: 'error',
|
|
1076
|
+
name: 'InvalidSignature',
|
|
1077
|
+
inputs: [],
|
|
1078
|
+
},
|
|
1079
|
+
{
|
|
1080
|
+
type: 'error',
|
|
1081
|
+
name: 'InvalidSigner',
|
|
1082
|
+
inputs: [
|
|
1083
|
+
{
|
|
1084
|
+
name: 'signer',
|
|
1085
|
+
type: 'address',
|
|
1086
|
+
internalType: 'address',
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
name: 'expectedSigner',
|
|
1090
|
+
type: 'address',
|
|
1091
|
+
internalType: 'address',
|
|
1092
|
+
},
|
|
1093
|
+
],
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
type: 'error',
|
|
1097
|
+
name: 'InvalidThreeInputOperation',
|
|
1098
|
+
inputs: [
|
|
1099
|
+
{
|
|
1100
|
+
name: 'operation',
|
|
1101
|
+
type: 'string',
|
|
1102
|
+
internalType: 'string',
|
|
1103
|
+
},
|
|
1104
|
+
],
|
|
1105
|
+
},
|
|
1106
|
+
{
|
|
1107
|
+
type: 'error',
|
|
1108
|
+
name: 'InvalidTwoInputOperation',
|
|
1109
|
+
inputs: [
|
|
1110
|
+
{
|
|
1111
|
+
name: 'operation',
|
|
1112
|
+
type: 'string',
|
|
1113
|
+
internalType: 'string',
|
|
1114
|
+
},
|
|
1115
|
+
],
|
|
1116
|
+
},
|
|
1117
|
+
{
|
|
1118
|
+
type: 'error',
|
|
1119
|
+
name: 'InvalidTypeOrSecurityZone',
|
|
1120
|
+
inputs: [
|
|
1121
|
+
{
|
|
1122
|
+
name: 'operation',
|
|
1123
|
+
type: 'string',
|
|
1124
|
+
internalType: 'string',
|
|
1125
|
+
},
|
|
1126
|
+
],
|
|
1127
|
+
},
|
|
1128
|
+
{
|
|
1129
|
+
type: 'error',
|
|
1130
|
+
name: 'InvalidUnaryOperation',
|
|
1131
|
+
inputs: [
|
|
1132
|
+
{
|
|
1133
|
+
name: 'operation',
|
|
1134
|
+
type: 'string',
|
|
1135
|
+
internalType: 'string',
|
|
1136
|
+
},
|
|
1137
|
+
],
|
|
1138
|
+
},
|
|
1139
|
+
{
|
|
1140
|
+
type: 'error',
|
|
1141
|
+
name: 'NotImplemented',
|
|
1142
|
+
inputs: [],
|
|
1143
|
+
},
|
|
1144
|
+
{
|
|
1145
|
+
type: 'error',
|
|
1146
|
+
name: 'OnlyAggregatorAllowed',
|
|
1147
|
+
inputs: [
|
|
1148
|
+
{
|
|
1149
|
+
name: 'caller',
|
|
1150
|
+
type: 'address',
|
|
1151
|
+
internalType: 'address',
|
|
1152
|
+
},
|
|
1153
|
+
],
|
|
1154
|
+
},
|
|
1155
|
+
{
|
|
1156
|
+
type: 'error',
|
|
1157
|
+
name: 'OnlyOwnerAllowed',
|
|
1158
|
+
inputs: [
|
|
1159
|
+
{
|
|
1160
|
+
name: 'caller',
|
|
1161
|
+
type: 'address',
|
|
1162
|
+
internalType: 'address',
|
|
1163
|
+
},
|
|
1164
|
+
],
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
type: 'error',
|
|
1168
|
+
name: 'RandomFunctionNotSupported',
|
|
1169
|
+
inputs: [],
|
|
1170
|
+
},
|
|
1171
|
+
{
|
|
1172
|
+
type: 'error',
|
|
1173
|
+
name: 'StringsInsufficientHexLength',
|
|
1174
|
+
inputs: [
|
|
1175
|
+
{
|
|
1176
|
+
name: 'value',
|
|
1177
|
+
type: 'uint256',
|
|
1178
|
+
internalType: 'uint256',
|
|
1179
|
+
},
|
|
1180
|
+
{
|
|
1181
|
+
name: 'length',
|
|
1182
|
+
type: 'uint256',
|
|
1183
|
+
internalType: 'uint256',
|
|
1184
|
+
},
|
|
1185
|
+
],
|
|
1186
|
+
},
|
|
1187
|
+
{
|
|
1188
|
+
type: 'error',
|
|
1189
|
+
name: 'TooManyInputs',
|
|
1190
|
+
inputs: [
|
|
1191
|
+
{
|
|
1192
|
+
name: 'operation',
|
|
1193
|
+
type: 'string',
|
|
1194
|
+
internalType: 'string',
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
name: 'got',
|
|
1198
|
+
type: 'uint256',
|
|
1199
|
+
internalType: 'uint256',
|
|
1200
|
+
},
|
|
1201
|
+
{
|
|
1202
|
+
name: 'maxAllowed',
|
|
1203
|
+
type: 'uint256',
|
|
1204
|
+
internalType: 'uint256',
|
|
1205
|
+
},
|
|
1206
|
+
],
|
|
1207
|
+
},
|
|
1208
|
+
],
|
|
1209
|
+
deployedBytecode:
|
|
1210
|
+
'0x608060405234801561000f575f5ffd5b5060043610610246575f3560e01c806365d0509c11610139578063938fb3d9116100b6578063d521ed4b1161007a578063d521ed4b14610717578063de28735914610747578063e68d826f14610765578063f6bc7f3f14610783578063f9120af6146107b357610246565b8063938fb3d914610661578063a307d21d1461067f578063a33b4b0a1461069b578063ae79f04a146106cb578063c4d66de8146106fb57610246565b80638b2b9c23116100fd5780638b2b9c23146105c15780638d9c9c92146105dd5780638db39c8d146105f95780638eef9ae71461061557806392bd6c951461064557610246565b806365d0509c1461050d57806373301651146105295780637e5cf5191461054557806380d55b691461057557806381ba0986146105a557610246565b806327f9c762116101c75780634d7cb0c01161018b5780634d7cb0c014610459578063591363c7146104895780635faa299a146104a55780635fb0bf91146104d5578063642b3f19146104f157610246565b806327f9c762146103a257806334ef1e5a146103d2578063392e53cd146103ee578063458693c91461040c5780634bc982631461043d57610246565b80631d0319311161020e5780631d031931146102fe578063245a7bfc1461032e5780632605ab9f1461034c57806326594a0c14610368578063267c4ae41461038457610246565b8063082898271461024a57806315a486fe1461026657806318683701146102825780631888debd1461029e5780631c76642b146102ce575b5f5ffd5b610264600480360381019061025f9190616823565b6107cf565b005b610280600480360381019061027b9190616861565b610882565b005b61029c60048036038101906102979190616900565b610890565b005b6102b860048036038101906102b39190616b12565b61096b565b6040516102c59190616bbd565b60405180910390f35b6102e860048036038101906102e39190616bd6565b610b0f565b6040516102f59190616bbd565b60405180910390f35b61031860048036038101906103139190616bd6565b610b24565b6040516103259190616c1b565b60405180910390f35b610336610b41565b6040516103439190616c43565b60405180910390f35b61036660048036038101906103619190616c5c565b610b67565b005b610382600480360381019061037d9190616cbd565b610c3b565b005b61038c610d17565b6040516103999190616c1b565b60405180910390f35b6103bc60048036038101906103b79190616e44565b610d1f565b6040516103c99190616bbd565b60405180910390f35b6103ec60048036038101906103e79190616bd6565b610f59565b005b6103f6611033565b6040516104039190616c1b565b60405180910390f35b61042660048036038101906104219190616bd6565b611049565b604051610434929190616e9e565b60405180910390f35b61045760048036038101906104529190616f63565b6110d7565b005b610473600480360381019061046e9190616900565b6111a9565b6040516104809190616c1b565b60405180910390f35b6104a3600480360381019061049e9190616feb565b6111c2565b005b6104bf60048036038101906104ba9190616823565b6112f4565b6040516104cc9190616c1b565b60405180910390f35b6104ef60048036038101906104ea9190616feb565b6113b0565b005b61050b60048036038101906105069190617040565b6114e2565b005b61052760048036038101906105229190616823565b6114fd565b005b610543600480360381019061053e9190617115565b611649565b005b61055f600480360381019061055a91906171c5565b611730565b60405161056c9190617291565b60405180910390f35b61058f600480360381019061058a91906172b1565b611866565b60405161059c9190616bbd565b60405180910390f35b6105bf60048036038101906105ba9190617356565b61189f565b005b6105db60048036038101906105d691906173c7565b6119ad565b005b6105f760048036038101906105f29190616823565b6119bd565b005b610613600480360381019061060e9190616c5c565b611a9a565b005b61062f600480360381019061062a9190616bd6565b611b6e565b60405161063c9190616c1b565b60405180910390f35b61065f600480360381019061065a9190616c5c565b611ba1565b005b610669611cda565b6040516106769190616c43565b60405180910390f35b61069960048036038101906106949190616bd6565b611cff565b005b6106b560048036038101906106b09190616900565b611e47565b6040516106c29190616c1b565b60405180910390f35b6106e560048036038101906106e091906175a2565b611e5f565b6040516106f29190616c1b565b60405180910390f35b61071560048036038101906107109190616c5c565b611f03565b005b610731600480360381019061072c91906175fc565b611fe1565b60405161073e9190617291565b60405180910390f35b61074f6120f6565b60405161075c919061769e565b60405180910390f35b61076d61211b565b60405161077a9190616c1b565b60405180910390f35b61079d60048036038101906107989190616bd6565b61212c565b6040516107aa9190616bbd565b60405180910390f35b6107cd60048036038101906107c89190616c5c565b612188565b005b6107d8826122c2565b600160055f8481526020019081526020015f205f6101000a81548160ff02191690831515021790555061080a826123b1565b60045f8481526020019081526020015f20819055505f6001600a4261082f91906176e4565b6108399190617741565b905080426108479190617774565b60065f8581526020019081526020015f205f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050565b61088c8282612439565b5050565b61089e848484846001612457565b50600160055f8681526020019081526020015f205f6101000a81548160ff0219169083151502179055508260045f8681526020019081526020015f20819055504260065f8681526020019081526020015f205f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f023b156100bf14eedc41deb8cef114c1fce662c306697f3bfaf3dbca58130bf7858560405161095d9291906177af565b60405180910390a250505050565b5f601b601f8111156109805761097f6177d6565b5b84601f811115610993576109926177d6565b5b036109ca576040517f98e08ab000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f825184516109d99190617741565b90506003811115610a2e576109ed856126b1565b8160036040517f2b0399d5000000000000000000000000000000000000000000000000000000008152600401610a259392919061783c565b60405180910390fd5b610a388486613246565b5f610a4385856134c0565b90505f610a51878787613602565b90505f610a608983858b61366d565b905060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663484de8228233306040518463ffffffff1660e01b8152600401610ac093929190617878565b5f604051808303815f87803b158015610ad7575f5ffd5b505af1158015610ae9573d5f5f3e3d5ffd5b50505050610b0081610afa8a6126b1565b856137f2565b80945050505050949350505050565b6001602052805f5260405f205f915090505481565b6002602052805f5260405f205f915054906101000a900460ff1681565b600760089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bf857336040517f7238ea56000000000000000000000000000000000000000000000000000000008152600401610bef9190616c43565b60405180910390fd5b80600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ccc57336040517f7238ea56000000000000000000000000000000000000000000000000000000008152600401610cc39190616c43565b60405180910390fd5b81600760046101000a81548163ffffffff021916908360030b63ffffffff1602179055508060075f6101000a81548163ffffffff021916908360030b63ffffffff1602179055505050565b5f6001905090565b5f5f836020015160ff1690505f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ead57610d8881613a47565b610dea5780600760049054906101000a900460030b60075f9054906101000a900460030b6040517f24cbcf36000000000000000000000000000000000000000000000000000000008152600401610de1939291906178bc565b60405180910390fd5b5f610df58585613a88565b905060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610eab578060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f7ba5ffb5000000000000000000000000000000000000000000000000000000008152600401610ea29291906178f1565b60405180910390fd5b505b5f610ec1855f01518387604001515f613b4c565b905060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663484de8228233306040518463ffffffff1660e01b8152600401610f2193929190617878565b5f604051808303815f87803b158015610f38575f5ffd5b505af1158015610f4a573d5f5f3e3d5ffd5b50505050809250505092915050565b610f6281613ba5565b6110305760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663846cd43382336040518363ffffffff1660e01b8152600401610fc2929190617918565b5f604051808303815f87803b158015610fd9575f5ffd5b505af1158015610feb573d5f5f3e3d5ffd5b5050505061102f6040518060400160405280600f81526020017f4648452e616c6c6f77476c6f62616c000000000000000000000000000000000081525082336119ad565b5b50565b5f600360149054906101000a900460ff16905090565b5f5f60055f8481526020019081526020015f205f9054906101000a900460ff16611078575f5f915091506110d2565b60065f8481526020019081526020015f205f9054906101000a900467ffffffffffffffff1667ffffffffffffffff164210156110b9575f5f915091506110d2565b60045f8481526020019081526020015f20546001915091505b915091565b600760089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461116957336040517fa974a0fe0000000000000000000000000000000000000000000000000000000081526004016111609190616c43565b60405180910390fd5b7f66d3f531abdf188fde59b6d2b282dc7c725ef2bb1c6c93954054721a13c1a3fa83838360405161119c9392919061793f565b60405180910390a1505050565b5f6111b8858585856001612457565b9050949350505050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461125357336040517f7238ea5600000000000000000000000000000000000000000000000000000000815260040161124a9190616c43565b60405180910390fd5b600760049054906101000a900460030b60030b8160030b12156112ce5780600760049054906101000a900460030b60075f9054906101000a900460030b6040517f24cbcf360000000000000000000000000000000000000000000000000000000081526004016112c5939291906178bc565b60405180910390fd5b8060075f6101000a81548163ffffffff021916908360030b63ffffffff16021790555050565b5f6112fe83613ba5565b1561130c57600190506113aa565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635faa299a84846040518363ffffffff1660e01b8152600401611368929190617918565b602060405180830381865afa158015611383573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113a79190617996565b90505b92915050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461144157336040517f7238ea560000000000000000000000000000000000000000000000000000000081526004016114389190616c43565b60405180910390fd5b60075f9054906101000a900460030b60030b8160030b13156114bb5780600760049054906101000a900460030b60075f9054906101000a900460030b6040517f24cbcf360000000000000000000000000000000000000000000000000000000081526004016114b2939291906178bc565b60405180910390fd5b80600760046101000a81548163ffffffff021916908360030b63ffffffff16021790555050565b805f5f6101000a81548160ff02191690831515021790555050565b61150682613ba5565b6116455760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166379a3a7fb8383336040518463ffffffff1660e01b815260040161156893929190617878565b5f604051808303815f87803b15801561157f575f5ffd5b505af1158015611591573d5f5f3e3d5ffd5b505050506116443373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611606576040518060400160405280600981526020017f4648452e616c6c6f77000000000000000000000000000000000000000000000081525061163d565b6040518060400160405280600d81526020017f4648452e616c6c6f7754686973000000000000000000000000000000000000008152505b83836119ad565b5b5050565b5f5f90505b86869050811015611727573073ffffffffffffffffffffffffffffffffffffffff166318683701888884818110611688576116876179c1565b5b905060200201358787858181106116a2576116a16179c1565b5b905060200201358686868181106116bc576116bb6179c1565b5b90506020028101906116ce91906179fa565b6040518563ffffffff1660e01b81526004016116ed9493929190617a98565b5f604051808303815f87803b158015611704575f5ffd5b505af1158015611716573d5f5f3e3d5ffd5b50505050808060010191505061164e565b50505050505050565b60605f849050805183856117449190617741565b1115611785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177c90617b20565b60405180910390fd5b5f8367ffffffffffffffff8111156117a05761179f6169da565b5b6040519080825280601f01601f1916602001820160405280156117d25781602001600182028036833780820191505090505b5090505f5f90505b84811015611859578281876117ef9190617741565b81518110611800576117ff6179c1565b5b602001015160f81c60f81b82828151811061181e5761181d6179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080806001019150506117da565b5080925050509392505050565b5f8383834260405160200161187e9493929190617b4d565b604051602081830303815290604052805190602001205f1c90509392505050565b600760089054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461193157336040517fa974a0fe0000000000000000000000000000000000000000000000000000000081526004016119289190616c43565b60405180910390fd5b600160055f8681526020019081526020015f205f6101000a81548160ff0219169083151502179055508260045f8681526020019081526020015f20819055504260065f8681526020019081526020015f205f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050565b6119b8838383613be2565b505050565b6119c682613ba5565b611a965760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663484de8228383336040518463ffffffff1660e01b8152600401611a2893929190617878565b5f604051808303815f87803b158015611a3f575f5ffd5b505af1158015611a51573d5f5f3e3d5ffd5b50505050611a956040518060400160405280601281526020017f4648452e616c6c6f775472616e7369656e74000000000000000000000000000081525083836119ad565b5b5050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b2b57336040517f7238ea56000000000000000000000000000000000000000000000000000000008152600401611b229190616c43565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3257336040517f7238ea56000000000000000000000000000000000000000000000000000000008152600401611c299190616c43565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c97576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d0881613ba5565b611e44575f600167ffffffffffffffff811115611d2857611d276169da565b5b604051908082528060200260200182016040528015611d565781602001602082028036833780820191505090505b50905081815f81518110611d6d57611d6c6179c1565b5b60200260200101818152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c3839ba82336040518363ffffffff1660e01b8152600401611dd5929190617c47565b5f604051808303815f87803b158015611dec575f5ffd5b505af1158015611dfe573d5f5f3e3d5ffd5b50505050611e426040518060400160405280601681526020017f4648452e616c6c6f77466f7244656372797074696f6e0000000000000000000081525083336119ad565b505b50565b5f611e55858585855f612457565b9050949350505050565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae79f04a84846040518363ffffffff1660e01b8152600401611ebc929190617da8565b602060405180830381865afa158015611ed7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611efb9190617996565b905092915050565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360146101000a81548160ff0219169083151502179055505f60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f8290505f8151036120065760405180602001604052805f8152509150506120f1565b5f600182516120159190617dd6565b67ffffffffffffffff81111561202e5761202d6169da565b5b6040519080825280601f01601f1916602001820160405280156120605781602001600182028036833780820191505090505b5090505f600190505b82518110156120ea57828181518110612085576120846179c1565b5b602001015160f81c60f81b8260018361209e9190617dd6565b815181106120af576120ae6179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053508080600101915050612069565b5080925050505b919050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5f9054906101000a900460ff1681565b5f5f5f61213884611049565b915091508061217e57836040517f70cf65540000000000000000000000000000000000000000000000000000000081526004016121759190616bbd565b60405180910390fd5b8192505050919050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461221957336040517f7238ea560000000000000000000000000000000000000000000000000000000081526004016122109190616c43565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361227e576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600760086101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6122cb81613ba5565b6123ae5760085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635faa299a82336040518363ffffffff1660e01b815260040161232b929190617918565b602060405180830381865afa158015612346573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236a9190617996565b6123ad5780336040517f4d13139e0000000000000000000000000000000000000000000000000000000081526004016123a4929190617918565b60405180910390fd5b5b50565b5f60025f8381526020019081526020015f205f9054906101000a900460ff1661241157816040517f850a796d0000000000000000000000000000000000000000000000000000000081526004016124089190616bbd565b60405180910390fd5b5f61241b83613cd0565b90508060015f8581526020019081526020015f205416915050919050565b5f61244383613cd0565b9050612452838284165f613ced565b505050565b5f5f73ffffffffffffffffffffffffffffffffffffffff16600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036124b557600190506126a8565b5f86866040516020016124c9929190617e29565b6040516020818303038152906040528051906020012090505f5f6125308388888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050613d8e565b50915091505f6003811115612548576125476177d6565b5b81600381111561255b5761255a6177d6565b5b14158061259357505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156125db5784156125d0576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f93505050506126a8565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146126a05784156126955781600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f7ba5ffb500000000000000000000000000000000000000000000000000000000815260040161268c9291906178f1565b60405180910390fd5b5f93505050506126a8565b600193505050505b95945050505050565b60606002601f8111156126c7576126c66177d6565b5b82601f8111156126da576126d96177d6565b5b0361271c576040518060400160405280600481526020017f63617374000000000000000000000000000000000000000000000000000000008152509050613241565b6003601f8111156127305761272f6177d6565b5b82601f811115612743576127426177d6565b5b03612785576040518060400160405280600a81526020017f7365616c4f7574707574000000000000000000000000000000000000000000008152509050613241565b6004601f811115612799576127986177d6565b5b82601f8111156127ac576127ab6177d6565b5b036127ee576040518060400160405280600681526020017f73656c65637400000000000000000000000000000000000000000000000000008152509050613241565b6006601f811115612802576128016177d6565b5b82601f811115612815576128146177d6565b5b03612857576040518060400160405280600781526020017f64656372797074000000000000000000000000000000000000000000000000008152509050613241565b6007601f81111561286b5761286a6177d6565b5b82601f81111561287e5761287d6177d6565b5b036128c0576040518060400160405280600381526020017f73756200000000000000000000000000000000000000000000000000000000008152509050613241565b6008601f8111156128d4576128d36177d6565b5b82601f8111156128e7576128e66177d6565b5b03612929576040518060400160405280600381526020017f61646400000000000000000000000000000000000000000000000000000000008152509050613241565b6009601f81111561293d5761293c6177d6565b5b82601f8111156129505761294f6177d6565b5b03612992576040518060400160405280600381526020017f786f7200000000000000000000000000000000000000000000000000000000008152509050613241565b600a601f8111156129a6576129a56177d6565b5b82601f8111156129b9576129b86177d6565b5b036129fb576040518060400160405280600381526020017f616e6400000000000000000000000000000000000000000000000000000000008152509050613241565b600b601f811115612a0f57612a0e6177d6565b5b82601f811115612a2257612a216177d6565b5b03612a64576040518060400160405280600281526020017f6f720000000000000000000000000000000000000000000000000000000000008152509050613241565b600c601f811115612a7857612a776177d6565b5b82601f811115612a8b57612a8a6177d6565b5b03612acd576040518060400160405280600381526020017f6e6f7400000000000000000000000000000000000000000000000000000000008152509050613241565b600d601f811115612ae157612ae06177d6565b5b82601f811115612af457612af36177d6565b5b03612b36576040518060400160405280600381526020017f64697600000000000000000000000000000000000000000000000000000000008152509050613241565b600e601f811115612b4a57612b496177d6565b5b82601f811115612b5d57612b5c6177d6565b5b03612b9f576040518060400160405280600381526020017f72656d00000000000000000000000000000000000000000000000000000000008152509050613241565b600f601f811115612bb357612bb26177d6565b5b82601f811115612bc657612bc56177d6565b5b03612c08576040518060400160405280600381526020017f6d756c00000000000000000000000000000000000000000000000000000000008152509050613241565b6010601f811115612c1c57612c1b6177d6565b5b82601f811115612c2f57612c2e6177d6565b5b03612c71576040518060400160405280600381526020017f73686c00000000000000000000000000000000000000000000000000000000008152509050613241565b6011601f811115612c8557612c846177d6565b5b82601f811115612c9857612c976177d6565b5b03612cda576040518060400160405280600381526020017f73687200000000000000000000000000000000000000000000000000000000008152509050613241565b6012601f811115612cee57612ced6177d6565b5b82601f811115612d0157612d006177d6565b5b03612d43576040518060400160405280600381526020017f67746500000000000000000000000000000000000000000000000000000000008152509050613241565b6013601f811115612d5757612d566177d6565b5b82601f811115612d6a57612d696177d6565b5b03612dac576040518060400160405280600381526020017f6c746500000000000000000000000000000000000000000000000000000000008152509050613241565b6014601f811115612dc057612dbf6177d6565b5b82601f811115612dd357612dd26177d6565b5b03612e15576040518060400160405280600281526020017f6c740000000000000000000000000000000000000000000000000000000000008152509050613241565b6015601f811115612e2957612e286177d6565b5b82601f811115612e3c57612e3b6177d6565b5b03612e7e576040518060400160405280600281526020017f67740000000000000000000000000000000000000000000000000000000000008152509050613241565b6016601f811115612e9257612e916177d6565b5b82601f811115612ea557612ea46177d6565b5b03612ee7576040518060400160405280600381526020017f6d696e00000000000000000000000000000000000000000000000000000000008152509050613241565b6017601f811115612efb57612efa6177d6565b5b82601f811115612f0e57612f0d6177d6565b5b03612f50576040518060400160405280600381526020017f6d617800000000000000000000000000000000000000000000000000000000008152509050613241565b6018601f811115612f6457612f636177d6565b5b82601f811115612f7757612f766177d6565b5b03612fb9576040518060400160405280600281526020017f65710000000000000000000000000000000000000000000000000000000000008152509050613241565b6019601f811115612fcd57612fcc6177d6565b5b82601f811115612fe057612fdf6177d6565b5b03613022576040518060400160405280600281526020017f6e650000000000000000000000000000000000000000000000000000000000008152509050613241565b601a601f811115613036576130356177d6565b5b82601f811115613049576130486177d6565b5b0361308b576040518060400160405280600e81526020017f7472697669616c456e63727970740000000000000000000000000000000000008152509050613241565b601b601f81111561309f5761309e6177d6565b5b82601f8111156130b2576130b16177d6565b5b036130f4576040518060400160405280600681526020017f72616e646f6d00000000000000000000000000000000000000000000000000008152509050613241565b601c601f811115613108576131076177d6565b5b82601f81111561311b5761311a6177d6565b5b0361315d576040518060400160405280600381526020017f726f6c00000000000000000000000000000000000000000000000000000000008152509050613241565b601d601f811115613171576131706177d6565b5b82601f811115613184576131836177d6565b5b036131c6576040518060400160405280600381526020017f726f7200000000000000000000000000000000000000000000000000000000008152509050613241565b601e601f8111156131da576131d96177d6565b5b82601f8111156131ed576131ec6177d6565b5b0361322f576040518060400160405280600681526020017f73717561726500000000000000000000000000000000000000000000000000008152509050613241565b60405180602001604052805f81525090505b919050565b5f613250826126b1565b90505f8351036132aa5761326382613de3565b6132a457806040517fb31612aa00000000000000000000000000000000000000000000000000000000815260040161329b9190617291565b60405180910390fd5b506134bc565b6004601f8111156132be576132bd6177d6565b5b82601f8111156132d1576132d06177d6565b5b036132e4576132df83613e42565b613414565b6132ed82613f83565b1561334357600183511461333e5780835160016040517f9a84351c00000000000000000000000000000000000000000000000000000000815260040161333593929190617e8d565b60405180910390fd5b613413565b600283511461338f5780835160026040517f9a84351c00000000000000000000000000000000000000000000000000000000815260040161338693929190617f02565b60405180910390fd5b5f6133d0846001815181106133a7576133a66179c1565b5b6020026020010151855f815181106133c2576133c16179c1565b5b602002602001015118614011565b1461341257806040517f52b50ae10000000000000000000000000000000000000000000000000000000081526004016134099190617291565b60405180910390fd5b5b5b5f613438845f8151811061342b5761342a6179c1565b5b602002602001015161402f565b905061344381613a47565b6134a55780600760049054906101000a900460030b60075f9054906101000a900460030b6040517f24cbcf3600000000000000000000000000000000000000000000000000000000815260040161349c939291906178bc565b60405180910390fd5b6134ae8461403f565b6134b983838661408d565b50505b5050565b60605f825184516134d19190617741565b67ffffffffffffffff8111156134ea576134e96169da565b5b6040519080825280602002602001820160405280156135185781602001602082028036833780820191505090505b5090505f5f90505b84518160ff16101561357f57848160ff1681518110613542576135416179c1565b5b6020026020010151828260ff16815181106135605761355f6179c1565b5b602002602001018181525050808061357790617f3e565b915050613520565b5b8351855161358e9190617741565b8160ff1610156135f7578385518260ff166135a99190617dd6565b815181106135ba576135b96179c1565b5b6020026020010151828260ff16815181106135d8576135d76179c1565b5b60200260200101818152505080806135ef90617f3e565b915050613580565b819250505092915050565b5f61360c84613de3565b156136405781600183516136209190617dd6565b81518110613631576136306179c1565b5b60200260200101519050613666565b613663835f81518110613656576136556179c1565b5b602002602001015161402f565b90505b9392505050565b5f60605f601a601f811115613685576136846177d6565b5b84601f811115613698576136976177d6565b5b1490505f5f90505b85518160ff16101561370857826136d3878360ff16815181106136c6576136c56179c1565b5b60200260200101516141fb565b6040516020016136e4929190617fa0565b6040516020818303038152906040529250808061370090617f3e565b9150506136a0565b50601e601f81111561371d5761371c6177d6565b5b84601f8111156137305761372f6177d6565b5b0361378057600f93508161375d865f815181106137505761374f6179c1565b5b60200260200101516141fb565b60405160200161376e929190617fa0565b60405160208183030381529060405291505b5f84601f811115613794576137936177d6565b5b60f81b905082816040516020016137ac92919061800e565b60405160208183030381529060405292505f838051906020012090505f6137e0825f1c8a6137da8a8e61425d565b87613b4c565b90508095505050505050949350505050565b6001815114806138095750613808826002614388565b5b15613891577fe9de54a3e7ddf0c48cc6e1134185300d5a71acbf2d8c21fcdefa9d9dd9e20ac18383835f81518110613844576138436179c1565b5b60200260200101515f5f60405161385f95949392919061806e565b60405180910390a161388c8383835f8151811061387f5761387e6179c1565b5b60200260200101516143a3565b613a42565b6002815103613954577fe9de54a3e7ddf0c48cc6e1134185300d5a71acbf2d8c21fcdefa9d9dd9e20ac18383835f815181106138d0576138cf6179c1565b5b6020026020010151846001815181106138ec576138eb6179c1565b5b60200260200101515f6040516139069594939291906180c6565b60405180910390a161394f8383835f81518110613926576139256179c1565b5b602002602001015184600181518110613942576139416179c1565b5b602002602001015161460a565b613a41565b7fe9de54a3e7ddf0c48cc6e1134185300d5a71acbf2d8c21fcdefa9d9dd9e20ac18383835f8151811061398a576139896179c1565b5b6020026020010151846001815181106139a6576139a56179c1565b5b6020026020010151856002815181106139c2576139c16179c1565b5b60200260200101516040516139db95949392919061811e565b60405180910390a1613a408383835f815181106139fb576139fa6179c1565b5b602002602001015184600181518110613a1757613a166179c1565b5b602002602001015185600281518110613a3357613a326179c1565b5b6020026020010151615436565b5b5b505050565b5f600760049054906101000a900460030b60030b8260030b12158015613a81575060075f9054906101000a900460030b60030b8260030b13155b9050919050565b5f5f835f0151846040015185602001518546604051602001613aae9594939291906181ef565b60405160208183030381529060405290505f818051906020012090505f613ad98287606001516155dd565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613b40576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80935050505092915050565b5f61ffff80167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613b7d9190617dd6565b851690505f8460ff166008613b928587615607565b901b179050808217915050949350505050565b5f600160ff8016901c60ff1660ff8016613bbf9190617dd6565b600160ff8016901c60ff1660ff8016613bd89190617dd6565b8316149050919050565b5f5f9054906101000a900460ff1615613ccb57613cca6040518060400160405280600481526020017fe2949c2000000000000000000000000000000000000000000000000000000000815250613c5a8560107f2000000000000000000000000000000000000000000000000000000000000000615646565b6040518060400160405280600381526020017f207c200000000000000000000000000000000000000000000000000000000000815250613c998661578d565b613ca286615929565b604051602001613cb69594939291906182ad565b604051602081830303815290604052615956565b5b505050565b5f5f613cdb836159ef565b90506001816001901b03915050919050565b8160015f8581526020019081526020015f2081905550600160025f8581526020019081526020015f205f6101000a81548160ff0219169083151502179055508015613d8957613d886040518060400160405280600381526020017f736574000000000000000000000000000000000000000000000000000000000081525060405180602001604052805f815250613d838661578d565b615ac6565b5b505050565b5f5f5f6041845103613dce575f5f5f602087015192506040870151915060608701515f1a9050613dc088828585615ba4565b955095509550505050613ddc565b5f600285515f1b9250925092505b9250925092565b5f601b601f811115613df857613df76177d6565b5b82601f811115613e0b57613e0a6177d6565b5b1480613e3b5750601a601f811115613e2657613e256177d6565b5b82601f811115613e3957613e386177d6565b5b145b9050919050565b6003815114613e8c57805160036040517f9a84351c000000000000000000000000000000000000000000000000000000008152600401613e83929190618350565b60405180910390fd5b5f613ece82600281518110613ea457613ea36179c1565b5b602002602001015183600181518110613ec057613ebf6179c1565b5b602002602001015118614011565b14613f0e576040517f52b50ae1000000000000000000000000000000000000000000000000000000008152600401613f059061838a565b60405180910390fd5b5f613f32825f81518110613f2557613f246179c1565b5b6020026020010151615c8b565b90505f5f821860ff1614613f7f57805f6040517f884a0e9d000000000000000000000000000000000000000000000000000000008152600401613f769291906183a8565b60405180910390fd5b5050565b5f600c601f811115613f9857613f976177d6565b5b82601f811115613fab57613faa6177d6565b5b1480613fdb5750601e601f811115613fc657613fc56177d6565b5b82601f811115613fd957613fd86177d6565b5b145b8061400a57506002601f811115613ff557613ff46177d6565b5b82601f811115614008576140076177d6565b5b145b9050919050565b5f8160ff80166008600160ff8016901c60ff16901b17169050919050565b5f60ff801682165f0b9050919050565b5f5f90505b81518160ff16101561408957614076828260ff1681518110614069576140686179c1565b5b60200260200101516122c2565b808061408190617f3e565b915050614044565b5050565b61409683615ca7565b6141f6576140a383615d64565b15614149575f5f90505b81518160ff161015614143575f6140e0838360ff16815181106140d3576140d26179c1565b5b6020026020010151615c8b565b90505f6007821860ff160361412f578360076040517f91b4b3780000000000000000000000000000000000000000000000000000000081526004016141269291906183cf565b60405180910390fd5b50808061413b90617f3e565b9150506140ad565b506141f5565b5f5f90505b81518160ff1610156141f3575f614181838360ff1681518110614174576141736179c1565b5b6020026020010151615c8b565b90505f6007821860ff16148061419b57505f5f821860ff16145b156141df5783816040517f91b4b3780000000000000000000000000000000000000000000000000000000081526004016141d69291906183cf565b60405180910390fd5b5080806141eb90617f3e565b91505061414e565b505b5b505050565b60605f602067ffffffffffffffff811115614219576142186169da565b5b6040519080825280601f01601f19166020018201604052801561424b5781602001600182028036833780820191505090505b50905082602082015280915050919050565b5f6013601f811115614272576142716177d6565b5b83601f811115614285576142846177d6565b5b14806142b557506014601f8111156142a05761429f6177d6565b5b83601f8111156142b3576142b26177d6565b5b145b806142e457506012601f8111156142cf576142ce6177d6565b5b83601f8111156142e2576142e16177d6565b5b145b8061431357506015601f8111156142fe576142fd6177d6565b5b83601f811115614311576143106177d6565b5b145b8061434257506018601f81111561432d5761432c6177d6565b5b83601f8111156143405761433f6177d6565b5b145b8061437157506019601f81111561435c5761435b6177d6565b5b83601f81111561436f5761436e6177d6565b5b145b1561437e575f9050614382565b8190505b92915050565b5f61439b83614396846126b1565b615e21565b905092915050565b6143ae82601b614388565b15614427576143cc836001436143c49190617dd6565b405f1c612439565b6144226040518060400160405280600a81526020017f4648452e72616e646f6d0000000000000000000000000000000000000000000081525060405180602001604052805f81525061441d8661578d565b615ac6565b614605565b614432826002614388565b1561449e5761444983614444836123b1565b612439565b6144996040518060400160405280600881526020017f4648452e6361737400000000000000000000000000000000000000000000000081525061448b8361578d565b6144948661578d565b615ac6565b614605565b6144a982600c614388565b1561451e575f60016144ba836123b1565b1490506144c8848215615e79565b6145186040518060400160405280600781526020017f4648452e6e6f740000000000000000000000000000000000000000000000000081525061450a8461578d565b6145138761578d565b615ac6565b50614605565b61452982601e614388565b156145c85761454a8361453b836123b1565b614544846123b1565b02612439565b6145c36040518060400160405280600a81526020017f4648452e7371756172650000000000000000000000000000000000000000000081525061458c8361578d565b6145958461578d565b6040516020016145a6929190618423565b6040516020818303038152906040526145be8661578d565b615ac6565b614605565b816040517fd952ce7c0000000000000000000000000000000000000000000000000000000081526004016145fc9190617291565b60405180910390fd5b505050565b614615836007614388565b156146b45761463684614627836123b1565b614630856123b1565b03612439565b6146af6040518060400160405280600781526020017f4648452e737562000000000000000000000000000000000000000000000000008152506146788461578d565b6146818461578d565b60405160200161469292919061847b565b6040516020818303038152906040526146aa8761578d565b615ac6565b615430565b6146bf836008614388565b1561475e576146e0846146d1836123b1565b6146da856123b1565b01612439565b6147596040518060400160405280600781526020017f4648452e616464000000000000000000000000000000000000000000000000008152506147228461578d565b61472b8461578d565b60405160200161473c9291906184d3565b6040516020818303038152906040526147548761578d565b615ac6565b615430565b614769836009614388565b156148085761478a8461477b836123b1565b614784856123b1565b18612439565b6148036040518060400160405280600781526020017f4648452e786f72000000000000000000000000000000000000000000000000008152506147cc8461578d565b6147d58461578d565b6040516020016147e692919061852b565b6040516020818303038152906040526147fe8761578d565b615ac6565b615430565b61481383600a614388565b156148b25761483484614825836123b1565b61482e856123b1565b16612439565b6148ad6040518060400160405280600781526020017f4648452e616e64000000000000000000000000000000000000000000000000008152506148768461578d565b61487f8461578d565b604051602001614890929190618583565b6040516020818303038152906040526148a88761578d565b615ac6565b615430565b6148bd83600b614388565b1561495c576148de846148cf836123b1565b6148d8856123b1565b17612439565b6149576040518060400160405280600681526020017f4648452e6f7200000000000000000000000000000000000000000000000000008152506149208461578d565b6149298461578d565b60405160200161493a9291906185db565b6040516020818303038152906040526149528761578d565b615ac6565b615430565b61496783600d614388565b15614a50575f614976826123b1565b90505f81036149ae576149a9857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612439565b6149d1565b6149d085826149bc866123b1565b816149ca576149c96176b7565b5b04612439565b5b614a4a6040518060400160405280600781526020017f4648452e64697600000000000000000000000000000000000000000000000000815250614a138561578d565b614a1c8561578d565b604051602001614a2d929190618633565b604051602081830303815290604052614a458861578d565b615ac6565b50615430565b614a5b83600e614388565b15614b0857614a8a84614a6d836123b1565b614a76856123b1565b81614a8457614a836176b7565b5b06612439565b614b036040518060400160405280600781526020017f4648452e72656d00000000000000000000000000000000000000000000000000815250614acc8461578d565b614ad58461578d565b604051602001614ae692919061868b565b604051602081830303815290604052614afe8761578d565b615ac6565b615430565b614b1383600f614388565b15614bb257614b3484614b25836123b1565b614b2e856123b1565b02612439565b614bad6040518060400160405280600781526020017f4648452e6d756c00000000000000000000000000000000000000000000000000815250614b768461578d565b614b7f8461578d565b604051602001614b90929190618423565b604051602081830303815290604052614ba88761578d565b615ac6565b615430565b614bbd836010614388565b15614c5d57614bdf84614bcf836123b1565b614bd8856123b1565b901b612439565b614c586040518060400160405280600781526020017f4648452e73686c00000000000000000000000000000000000000000000000000815250614c218461578d565b614c2a8461578d565b604051602001614c3b9291906186e3565b604051602081830303815290604052614c538761578d565b615ac6565b615430565b614c68836011614388565b15614d0857614c8a84614c7a836123b1565b614c83856123b1565b901c612439565b614d036040518060400160405280600781526020017f4648452e73687200000000000000000000000000000000000000000000000000815250614ccc8461578d565b614cd58461578d565b604051602001614ce692919061873b565b604051602081830303815290604052614cfe8761578d565b615ac6565b615430565b614d13836012614388565b15614db357614d3584614d25836123b1565b614d2e856123b1565b1015615e79565b614dae6040518060400160405280600781526020017f4648452e67746500000000000000000000000000000000000000000000000000815250614d778461578d565b614d808461578d565b604051602001614d91929190618793565b604051602081830303815290604052614da98761578d565b615ac6565b615430565b614dbe836013614388565b15614e5e57614de084614dd0836123b1565b614dd9856123b1565b1115615e79565b614e596040518060400160405280600781526020017f4648452e6c746500000000000000000000000000000000000000000000000000815250614e228461578d565b614e2b8461578d565b604051602001614e3c9291906187eb565b604051602081830303815290604052614e548761578d565b615ac6565b615430565b614e69836014614388565b15614f0857614e8a84614e7b836123b1565b614e84856123b1565b10615e79565b614f036040518060400160405280600681526020017f4648452e6c740000000000000000000000000000000000000000000000000000815250614ecc8461578d565b614ed58461578d565b604051602001614ee6929190618843565b604051602081830303815290604052614efe8761578d565b615ac6565b615430565b614f13836015614388565b15614fb257614f3484614f25836123b1565b614f2e856123b1565b11615e79565b614fad6040518060400160405280600681526020017f4648452e67740000000000000000000000000000000000000000000000000000815250614f768461578d565b614f7f8461578d565b604051602001614f9092919061889b565b604051602081830303815290604052614fa88761578d565b615ac6565b615430565b614fbd836016614388565b1561507d575f614fcc826123b1565b614fd5846123b1565b10614fe857614fe3826123b1565b614ff2565b614ff1836123b1565b5b9050614ffe8582612439565b6150776040518060400160405280600781526020017f4648452e6d696e000000000000000000000000000000000000000000000000008152506150408561578d565b6150498561578d565b60405160200161505a92919061893f565b6040516020818303038152906040526150728861578d565b615ac6565b50615430565b615088836017614388565b15615148575f615097826123b1565b6150a0846123b1565b116150b3576150ae826123b1565b6150bd565b6150bc836123b1565b5b90506150c98582612439565b6151426040518060400160405280600781526020017f4648452e6d61780000000000000000000000000000000000000000000000000081525061510b8561578d565b6151148561578d565b6040516020016151259291906189b5565b60405160208183030381529060405261513d8861578d565b615ac6565b50615430565b615153836018614388565b156151f25761517484615165836123b1565b61516e856123b1565b14615e79565b6151ed6040518060400160405280600681526020017f4648452e657100000000000000000000000000000000000000000000000000008152506151b68461578d565b6151bf8461578d565b6040516020016151d0929190618a2b565b6040516020818303038152906040526151e88761578d565b615ac6565b615430565b6151fd836019614388565b1561529d5761521f8461520f836123b1565b615218856123b1565b1415615e79565b6152986040518060400160405280600681526020017f4648452e6e6500000000000000000000000000000000000000000000000000008152506152618461578d565b61526a8461578d565b60405160200161527b929190618a83565b6040516020818303038152906040526152938761578d565b615ac6565b615430565b6152a883601c614388565b15615348576152ca846152ba836123b1565b6152c3856123b1565b901b612439565b6153436040518060400160405280600781526020017f4648452e726f6c0000000000000000000000000000000000000000000000000081525061530c8461578d565b6153158461578d565b6040516020016153269291906186e3565b60405160208183030381529060405261533e8761578d565b615ac6565b615430565b61535383601d614388565b156153f35761537584615365836123b1565b61536e856123b1565b901c612439565b6153ee6040518060400160405280600781526020017f4648452e726f72000000000000000000000000000000000000000000000000008152506153b78461578d565b6153c08461578d565b6040516020016153d192919061873b565b6040516020818303038152906040526153e98761578d565b615ac6565b615430565b826040517fcef608850000000000000000000000000000000000000000000000000000000081526004016154279190617291565b60405180910390fd5b50505050565b61544184601a614388565b156154d0576154508584612439565b6154cb61546461545f87615e97565b611fe1565b6040516020016154749190618adb565b60405160208183030381529060405261549461548f88615e97565b611fe1565b61549d86616143565b6040516020016154ae929190618b26565b6040516020818303038152906040526154c68861578d565b615ac6565b6155d6565b6154db846004614388565b15615599576155118560016154ef866123b1565b14615502576154fd836123b1565b61550c565b61550b846123b1565b5b612439565b6155946040518060400160405280600a81526020017f4648452e73656c656374000000000000000000000000000000000000000000008152506155538561578d565b61555c8561578d565b6155658561578d565b60405160200161557793929190618bb3565b60405160208183030381529060405261558f8861578d565b615ac6565b6155d6565b836040517f5e45fa010000000000000000000000000000000000000000000000000000000081526004016155cd9190617291565b60405180910390fd5b5050505050565b5f5f5f5f6155eb8686613d8e565b9250925092506155fb828261620d565b82935050505092915050565b5f600160ff8016901c60ff168260ff161683615623575f61563d565b600160ff8016901c60ff1660ff801661563c9190617dd6565b5b17905092915050565b60605f8490508381511061565d5784915050615786565b5f8467ffffffffffffffff811115615678576156776169da565b5b6040519080825280601f01601f1916602001820160405280156156aa5781602001600182028036833780820191505090505b5090505f5f90505b8251811015615727578281815181106156ce576156cd6179c1565b5b602001015160f81c60f81b8282815181106156ec576156eb6179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080806001019150506156b2565b5b8581101561577f5784828281518110615744576157436179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053508080600101915050615728565b8193505050505b9392505050565b60605f61579983616143565b90505f81519050600681116157b2578192505050615924565b5f60025f8681526020019081526020015f205f9054906101000a900460ff1690505f60015f8781526020019081526020015f205490505f6157f28761636f565b90505f816158085761580383616143565b615883565b6001831461584b576040518060400160405280600581526020017f66616c7365000000000000000000000000000000000000000000000000000000815250615882565b6040518060400160405280600481526020017f74727565000000000000000000000000000000000000000000000000000000008152505b5b90505f61588f89615e97565b61589b885f6004611730565b6158b38960048a6158ac9190617dd6565b6004611730565b876158f3576040518060400160405280600581526020017f454d5054590000000000000000000000000000000000000000000000000000008152506158f5565b845b6040516020016159089493929190618c73565b6040516020818303038152906040529050809750505050505050505b919050565b606061594f8273ffffffffffffffffffffffffffffffffffffffff16601460ff1661638c565b9050919050565b6159ec8160405160240161596a9190617291565b6040516020818303038152906040527f41304fac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506165ca565b50565b5f5f6159fa836165e4565b90505f60ff168160ff1603615a13576008915050615ac1565b600260ff168160ff1603615a2b576008915050615ac1565b600360ff168160ff1603615a43576010915050615ac1565b600460ff168160ff1603615a5b576020915050615ac1565b600560ff168160ff1603615a73576040915050615ac1565b600660ff168160ff1603615a8b576080915050615ac1565b600860ff168160ff1603615aa457610100915050615ac1565b600760ff168160ff1603615abc5760a0915050615ac1565b5f9150505b919050565b5f5f9054906101000a900460ff1615615b9f57615b9e6040518060400160405280600481526020017fe2949c2000000000000000000000000000000000000000000000000000000000815250615b3e8560107f2000000000000000000000000000000000000000000000000000000000000000615646565b6040518060400160405280600381526020017f207c2000000000000000000000000000000000000000000000000000000000008152508585604051602001615b8a959493929190618d12565b604051602081830303815290604052615956565b5b505050565b5f5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115615be0575f600385925092509250615c81565b5f6001888888886040515f8152602001604052604051615c039493929190618d7a565b6020604051602081039080840390855afa158015615c23573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603615c74575f60015f5f1b93509350935050615c81565b805f5f5f1b935093509350505b9450945094915050565b5f600880600160ff8016901c60ff16901b8316901c9050919050565b5f6004601f811115615cbc57615cbb6177d6565b5b82601f811115615ccf57615cce6177d6565b5b1480615cff57506018601f811115615cea57615ce96177d6565b5b82601f811115615cfd57615cfc6177d6565b5b145b80615d2e57506019601f811115615d1957615d186177d6565b5b82601f811115615d2c57615d2b6177d6565b5b145b80615d5d57506002601f811115615d4857615d476177d6565b5b82601f811115615d5b57615d5a6177d6565b5b145b9050919050565b5f6009601f811115615d7957615d786177d6565b5b82601f811115615d8c57615d8b6177d6565b5b1480615dbc5750600a601f811115615da757615da66177d6565b5b82601f811115615dba57615db96177d6565b5b145b80615deb5750600b601f811115615dd657615dd56177d6565b5b82601f811115615de957615de86177d6565b5b145b80615e1a5750600c601f811115615e0557615e046177d6565b5b82601f811115615e1857615e176177d6565b5b145b9050919050565b5f81604051602001615e339190618dbd565b6040516020818303038152906040528051906020012083604051602001615e5a9190618dbd565b6040516020818303038152906040528051906020012014905092915050565b615e938282615e88575f615e8b565b60015b60ff16612439565b5050565b60605f615ea3836165e4565b90505f60ff168160ff1603615ef0576040518060400160405280600581526020017f65626f6f6c00000000000000000000000000000000000000000000000000000081525091505061613e565b600260ff168160ff1603615f3c576040518060400160405280600681526020017f6575696e7438000000000000000000000000000000000000000000000000000081525091505061613e565b600360ff168160ff1603615f88576040518060400160405280600781526020017f6575696e7431360000000000000000000000000000000000000000000000000081525091505061613e565b600460ff168160ff1603615fd4576040518060400160405280600781526020017f6575696e7433320000000000000000000000000000000000000000000000000081525091505061613e565b600560ff168160ff1603616020576040518060400160405280600781526020017f6575696e7436340000000000000000000000000000000000000000000000000081525091505061613e565b600660ff168160ff160361606c576040518060400160405280600881526020017f6575696e7431323800000000000000000000000000000000000000000000000081525091505061613e565b600860ff168160ff16036160b8576040518060400160405280600881526020017f6575696e7432353600000000000000000000000000000000000000000000000081525091505061613e565b600760ff168160ff1603616104576040518060400160405280600881526020017f656164647265737300000000000000000000000000000000000000000000000081525091505061613e565b6040518060400160405280600781526020017f756e6b6e6f776e000000000000000000000000000000000000000000000000008152509150505b919050565b60605f600161615184616600565b0190505f8167ffffffffffffffff81111561616f5761616e6169da565b5b6040519080825280601f01601f1916602001820160405280156161a15781602001600182028036833780820191505090505b5090505f82602083010190505b600115616202578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816161f7576161f66176b7565b5b0494505f85036161ae575b819350505050919050565b5f60038111156162205761621f6177d6565b5b826003811115616233576162326177d6565b5b031561636b576001600381111561624d5761624c6177d6565b5b8260038111156162605761625f6177d6565b5b03616297576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156162ab576162aa6177d6565b5b8260038111156162be576162bd6177d6565b5b0361630257805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016162f99190616bbd565b60405180910390fd5b600380811115616315576163146177d6565b5b826003811115616328576163276177d6565b5b0361636a57806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016163619190618dd3565b60405180910390fd5b5b5050565b5f5f61637a836165e4565b90505f5f821860ff1614915050919050565b60605f8390505f60028460026163a29190618dec565b6163ac9190617741565b67ffffffffffffffff8111156163c5576163c46169da565b5b6040519080825280601f01601f1916602001820160405280156163f75781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000815f8151811061642e5761642d6179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110616491576164906179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053505f60018560026164cf9190618dec565b6164d99190617741565b90505b6001811115616578577f3031323334353637383961626364656600000000000000000000000000000000600f84166010811061651b5761651a6179c1565b5b1a60f81b828281518110616532576165316179c1565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600483901c92508061657190618e2d565b90506164dc565b505f82146165bf5784846040517fe22e27eb0000000000000000000000000000000000000000000000000000000081526004016165b69291906177af565b60405180910390fd5b809250505092915050565b6165e1816165d9616751616770565b63ffffffff16565b50565b5f600880600160ff8016901c60ff16901b8316901c9050919050565b5f5f5f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061665c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381616652576166516176b7565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310616699576d04ee2d6d415b85acef8100000000838161668f5761668e6176b7565b5b0492506020810190505b662386f26fc1000083106166c857662386f26fc1000083816166be576166bd6176b7565b5b0492506010810190505b6305f5e10083106166f1576305f5e10083816166e7576166e66176b7565b5b0492506008810190505b612710831061671657612710838161670c5761670b6176b7565b5b0492506004810190505b60648310616739576064838161672f5761672e6176b7565b5b0492506002810190505b600a8310616748576001810190505b80915050919050565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b61677b819050919050565b616783618e54565b565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6167a881616796565b81146167b2575f5ffd5b50565b5f813590506167c38161679f565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6167f2826167c9565b9050919050565b616802816167e8565b811461680c575f5ffd5b50565b5f8135905061681d816167f9565b92915050565b5f5f604083850312156168395761683861678e565b5b5f616846858286016167b5565b92505060206168578582860161680f565b9150509250929050565b5f5f604083850312156168775761687661678e565b5b5f616884858286016167b5565b9250506020616895858286016167b5565b9150509250929050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126168c0576168bf61689f565b5b8235905067ffffffffffffffff8111156168dd576168dc6168a3565b5b6020830191508360018202830111156168f9576168f86168a7565b5b9250929050565b5f5f5f5f606085870312156169185761691761678e565b5b5f616925878288016167b5565b9450506020616936878288016167b5565b935050604085013567ffffffffffffffff81111561695757616956616792565b5b616963878288016168ab565b925092505092959194509250565b5f60ff82169050919050565b61698681616971565b8114616990575f5ffd5b50565b5f813590506169a18161697d565b92915050565b602081106169b3575f5ffd5b50565b5f813590506169c4816169a7565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b616a10826169ca565b810181811067ffffffffffffffff82111715616a2f57616a2e6169da565b5b80604052505050565b5f616a41616785565b9050616a4d8282616a07565b919050565b5f67ffffffffffffffff821115616a6c57616a6b6169da565b5b602082029050602081019050919050565b5f616a8f616a8a84616a52565b616a38565b90508083825260208201905060208402830185811115616ab257616ab16168a7565b5b835b81811015616adb5780616ac788826167b5565b845260208401935050602081019050616ab4565b5050509392505050565b5f82601f830112616af957616af861689f565b5b8135616b09848260208601616a7d565b91505092915050565b5f5f5f5f60808587031215616b2a57616b2961678e565b5b5f616b3787828801616993565b9450506020616b48878288016169b6565b935050604085013567ffffffffffffffff811115616b6957616b68616792565b5b616b7587828801616ae5565b925050606085013567ffffffffffffffff811115616b9657616b95616792565b5b616ba287828801616ae5565b91505092959194509250565b616bb781616796565b82525050565b5f602082019050616bd05f830184616bae565b92915050565b5f60208284031215616beb57616bea61678e565b5b5f616bf8848285016167b5565b91505092915050565b5f8115159050919050565b616c1581616c01565b82525050565b5f602082019050616c2e5f830184616c0c565b92915050565b616c3d816167e8565b82525050565b5f602082019050616c565f830184616c34565b92915050565b5f60208284031215616c7157616c7061678e565b5b5f616c7e8482850161680f565b91505092915050565b5f8160030b9050919050565b616c9c81616c87565b8114616ca6575f5ffd5b50565b5f81359050616cb781616c93565b92915050565b5f5f60408385031215616cd357616cd261678e565b5b5f616ce085828601616ca9565b9250506020616cf185828601616ca9565b9150509250929050565b5f5ffd5b5f5ffd5b5f5ffd5b5f67ffffffffffffffff821115616d2157616d206169da565b5b616d2a826169ca565b9050602081019050919050565b828183375f83830152505050565b5f616d57616d5284616d07565b616a38565b905082815260208101848484011115616d7357616d72616d03565b5b616d7e848285616d37565b509392505050565b5f82601f830112616d9a57616d9961689f565b5b8135616daa848260208601616d45565b91505092915050565b5f60808284031215616dc857616dc7616cfb565b5b616dd26080616a38565b90505f616de1848285016167b5565b5f830152506020616df484828501616993565b6020830152506040616e0884828501616993565b604083015250606082013567ffffffffffffffff811115616e2c57616e2b616cff565b5b616e3884828501616d86565b60608301525092915050565b5f5f60408385031215616e5a57616e5961678e565b5b5f83013567ffffffffffffffff811115616e7757616e76616792565b5b616e8385828601616db3565b9250506020616e948582860161680f565b9150509250929050565b5f604082019050616eb15f830185616bae565b616ebe6020830184616c0c565b9392505050565b5f67ffffffffffffffff821115616edf57616ede6169da565b5b616ee8826169ca565b9050602081019050919050565b5f616f07616f0284616ec5565b616a38565b905082815260208101848484011115616f2357616f22616d03565b5b616f2e848285616d37565b509392505050565b5f82601f830112616f4a57616f4961689f565b5b8135616f5a848260208601616ef5565b91505092915050565b5f5f5f60608486031215616f7a57616f7961678e565b5b5f616f87868287016167b5565b935050602084013567ffffffffffffffff811115616fa857616fa7616792565b5b616fb486828701616f36565b925050604084013567ffffffffffffffff811115616fd557616fd4616792565b5b616fe186828701616f36565b9150509250925092565b5f6020828403121561700057616fff61678e565b5b5f61700d84828501616ca9565b91505092915050565b61701f81616c01565b8114617029575f5ffd5b50565b5f8135905061703a81617016565b92915050565b5f602082840312156170555761705461678e565b5b5f6170628482850161702c565b91505092915050565b5f5f83601f8401126170805761707f61689f565b5b8235905067ffffffffffffffff81111561709d5761709c6168a3565b5b6020830191508360208202830111156170b9576170b86168a7565b5b9250929050565b5f5f83601f8401126170d5576170d461689f565b5b8235905067ffffffffffffffff8111156170f2576170f16168a3565b5b60208301915083602082028301111561710e5761710d6168a7565b5b9250929050565b5f5f5f5f5f5f6060878903121561712f5761712e61678e565b5b5f87013567ffffffffffffffff81111561714c5761714b616792565b5b61715889828a0161706b565b9650965050602087013567ffffffffffffffff81111561717b5761717a616792565b5b61718789828a0161706b565b9450945050604087013567ffffffffffffffff8111156171aa576171a9616792565b5b6171b689828a016170c0565b92509250509295509295509295565b5f5f5f606084860312156171dc576171db61678e565b5b5f84013567ffffffffffffffff8111156171f9576171f8616792565b5b61720586828701616f36565b9350506020617216868287016167b5565b9250506040617227868287016167b5565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61726382617231565b61726d818561723b565b935061727d81856020860161724b565b617286816169ca565b840191505092915050565b5f6020820190508181035f8301526172a98184617259565b905092915050565b5f5f5f606084860312156172c8576172c761678e565b5b5f6172d586828701616993565b93505060206172e6868287016167b5565b92505060406172f786828701616ca9565b9150509250925092565b5f5f83601f8401126173165761731561689f565b5b8235905067ffffffffffffffff811115617333576173326168a3565b5b60208301915083602082028301111561734f5761734e6168a7565b5b9250929050565b5f5f5f5f6060858703121561736e5761736d61678e565b5b5f61737b878288016167b5565b945050602061738c878288016167b5565b935050604085013567ffffffffffffffff8111156173ad576173ac616792565b5b6173b987828801617301565b925092505092959194509250565b5f5f5f606084860312156173de576173dd61678e565b5b5f84013567ffffffffffffffff8111156173fb576173fa616792565b5b61740786828701616f36565b9350506020617418868287016167b5565b92505060406174298682870161680f565b9150509250925092565b5f67ffffffffffffffff82169050919050565b61744f81617433565b8114617459575f5ffd5b50565b5f8135905061746a81617446565b92915050565b5f819050919050565b61748281617470565b811461748c575f5ffd5b50565b5f8135905061749d81617479565b92915050565b5f61010082840312156174b9576174b8616cfb565b5b6174c4610100616a38565b90505f6174d38482850161680f565b5f8301525060206174e68482850161745c565b60208301525060406174fa8482850161680f565b604083015250606061750e848285016167b5565b60608301525060806175228482850161680f565b60808301525060a06175368482850161748f565b60a08301525060c082013567ffffffffffffffff81111561755a57617559616cff565b5b61756684828501616d86565b60c08301525060e082013567ffffffffffffffff81111561758a57617589616cff565b5b61759684828501616d86565b60e08301525092915050565b5f5f604083850312156175b8576175b761678e565b5b5f83013567ffffffffffffffff8111156175d5576175d4616792565b5b6175e1858286016174a3565b92505060206175f2858286016167b5565b9150509250929050565b5f602082840312156176115761761061678e565b5b5f82013567ffffffffffffffff81111561762e5761762d616792565b5b61763a84828501616f36565b91505092915050565b5f819050919050565b5f61766661766161765c846167c9565b617643565b6167c9565b9050919050565b5f6176778261764c565b9050919050565b5f6176888261766d565b9050919050565b6176988161767e565b82525050565b5f6020820190506176b15f83018461768f565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6176ee82616796565b91506176f983616796565b925082617709576177086176b7565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61774b82616796565b915061775683616796565b925082820190508082111561776e5761776d617714565b5b92915050565b5f61777e82617433565b915061778983617433565b9250828201905067ffffffffffffffff8111156177a9576177a8617714565b5b92915050565b5f6040820190506177c25f830185616bae565b6177cf6020830184616bae565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f819050919050565b5f61782661782161781c84617803565b617643565b616796565b9050919050565b6178368161780c565b82525050565b5f6060820190508181035f8301526178548186617259565b90506178636020830185616bae565b617870604083018461782d565b949350505050565b5f60608201905061788b5f830186616bae565b6178986020830185616c34565b6178a56040830184616c34565b949350505050565b6178b681616c87565b82525050565b5f6060820190506178cf5f8301866178ad565b6178dc60208301856178ad565b6178e960408301846178ad565b949350505050565b5f6040820190506179045f830185616c34565b6179116020830184616c34565b9392505050565b5f60408201905061792b5f830185616bae565b6179386020830184616c34565b9392505050565b5f6060820190506179525f830186616bae565b81810360208301526179648185617259565b905081810360408301526179788184617259565b9050949350505050565b5f8151905061799081617016565b92915050565b5f602082840312156179ab576179aa61678e565b5b5f6179b884828501617982565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83356001602003843603038112617a1657617a156179ee565b5b80840192508235915067ffffffffffffffff821115617a3857617a376179f2565b5b602083019250600182023603831315617a5457617a536179f6565b5b509250929050565b5f82825260208201905092915050565b5f617a778385617a5c565b9350617a84838584616d37565b617a8d836169ca565b840190509392505050565b5f606082019050617aab5f830187616bae565b617ab86020830186616bae565b8181036040830152617acb818486617a6c565b905095945050505050565b7f4f7574206f6620626f756e6473000000000000000000000000000000000000005f82015250565b5f617b0a600d8361723b565b9150617b1582617ad6565b602082019050919050565b5f6020820190508181035f830152617b3781617afe565b9050919050565b617b4781616971565b82525050565b5f608082019050617b605f830187617b3e565b617b6d6020830186616bae565b617b7a60408301856178ad565b617b876060830184616bae565b95945050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b617bc281616796565b82525050565b5f617bd38383617bb9565b60208301905092915050565b5f602082019050919050565b5f617bf582617b90565b617bff8185617b9a565b9350617c0a83617baa565b805f5b83811015617c3a578151617c218882617bc8565b9750617c2c83617bdf565b925050600181019050617c0d565b5085935050505092915050565b5f6040820190508181035f830152617c5f8185617beb565b9050617c6e6020830184616c34565b9392505050565b617c7e816167e8565b82525050565b617c8d81617433565b82525050565b617c9c81617470565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f617cc682617ca2565b617cd08185617cac565b9350617ce081856020860161724b565b617ce9816169ca565b840191505092915050565b5f61010083015f830151617d0a5f860182617c75565b506020830151617d1d6020860182617c84565b506040830151617d306040860182617c75565b506060830151617d436060860182617bb9565b506080830151617d566080860182617c75565b5060a0830151617d6960a0860182617c93565b5060c083015184820360c0860152617d818282617cbc565b91505060e083015184820360e0860152617d9b8282617cbc565b9150508091505092915050565b5f6040820190508181035f830152617dc08185617cf4565b9050617dcf6020830184616bae565b9392505050565b5f617de082616796565b9150617deb83616796565b9250828203905081811115617e0357617e02617714565b5b92915050565b5f819050919050565b617e23617e1e82616796565b617e09565b82525050565b5f617e348285617e12565b602082019150617e448284617e12565b6020820191508190509392505050565b5f819050919050565b5f617e77617e72617e6d84617e54565b617643565b616796565b9050919050565b617e8781617e5d565b82525050565b5f6060820190508181035f830152617ea58186617259565b9050617eb46020830185616bae565b617ec16040830184617e7e565b949350505050565b5f819050919050565b5f617eec617ee7617ee284617ec9565b617643565b616796565b9050919050565b617efc81617ed2565b82525050565b5f6060820190508181035f830152617f1a8186617259565b9050617f296020830185616bae565b617f366040830184617ef3565b949350505050565b5f617f4882616971565b915060ff8203617f5b57617f5a617714565b5b600182019050919050565b5f81905092915050565b5f617f7a82617ca2565b617f848185617f66565b9350617f9481856020860161724b565b80840191505092915050565b5f617fab8285617f70565b9150617fb78284617f70565b91508190509392505050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b5f819050919050565b61800861800382617fc3565b617fee565b82525050565b5f6180198285617f70565b91506180258284617ff7565b6001820191508190509392505050565b5f819050919050565b5f61805861805361804e84618035565b617643565b616796565b9050919050565b6180688161803e565b82525050565b5f60a0820190506180815f830188616bae565b81810360208301526180938187617259565b90506180a26040830186616bae565b6180af606083018561805f565b6180bc608083018461805f565b9695505050505050565b5f60a0820190506180d95f830188616bae565b81810360208301526180eb8187617259565b90506180fa6040830186616bae565b6181076060830185616bae565b618114608083018461805f565b9695505050505050565b5f60a0820190506181315f830188616bae565b81810360208301526181438187617259565b90506181526040830186616bae565b61815f6060830185616bae565b61816c6080830184616bae565b9695505050505050565b5f8160f81b9050919050565b5f61818c82618176565b9050919050565b6181a461819f82616971565b618182565b82525050565b5f8160601b9050919050565b5f6181c0826181aa565b9050919050565b5f6181d1826181b6565b9050919050565b6181e96181e4826167e8565b6181c7565b82525050565b5f6181fa8288617e12565b60208201915061820a8287618193565b60018201915061821a8286618193565b60018201915061822a82856181d8565b60148201915061823a8284617e12565b6020820191508190509695505050505050565b5f81905092915050565b5f61826182617231565b61826b818561824d565b935061827b81856020860161724b565b80840191505092915050565b7f202d3e2000000000000000000000000000000000000000000000000000000000815250565b5f6182b88288618257565b91506182c48287618257565b91506182d08286618257565b91506182dc8285618257565b91506182e782618287565b6004820191506182f78284618257565b91508190509695505050505050565b7f73656c65637400000000000000000000000000000000000000000000000000005f82015250565b5f61833a60068361723b565b915061834582618306565b602082019050919050565b5f6060820190508181035f8301526183678161832e565b90506183766020830185616bae565b618383604083018461782d565b9392505050565b5f6020820190508181035f8301526183a18161832e565b9050919050565b5f6040820190506183bb5f830185617b3e565b6183c86020830184617b3e565b9392505050565b5f6040820190508181035f8301526183e78185617259565b90506183f66020830184617b3e565b9392505050565b7f202a200000000000000000000000000000000000000000000000000000000000815250565b5f61842e8285618257565b9150618439826183fd565b6003820191506184498284618257565b91508190509392505050565b7f202d200000000000000000000000000000000000000000000000000000000000815250565b5f6184868285618257565b915061849182618455565b6003820191506184a18284618257565b91508190509392505050565b7f202b200000000000000000000000000000000000000000000000000000000000815250565b5f6184de8285618257565b91506184e9826184ad565b6003820191506184f98284618257565b91508190509392505050565b7f205e200000000000000000000000000000000000000000000000000000000000815250565b5f6185368285618257565b915061854182618505565b6003820191506185518284618257565b91508190509392505050565b7f2026200000000000000000000000000000000000000000000000000000000000815250565b5f61858e8285618257565b91506185998261855d565b6003820191506185a98284618257565b91508190509392505050565b7f207c200000000000000000000000000000000000000000000000000000000000815250565b5f6185e68285618257565b91506185f1826185b5565b6003820191506186018284618257565b91508190509392505050565b7f202f200000000000000000000000000000000000000000000000000000000000815250565b5f61863e8285618257565b91506186498261860d565b6003820191506186598284618257565b91508190509392505050565b7f2025200000000000000000000000000000000000000000000000000000000000815250565b5f6186968285618257565b91506186a182618665565b6003820191506186b18284618257565b91508190509392505050565b7f203c3c2000000000000000000000000000000000000000000000000000000000815250565b5f6186ee8285618257565b91506186f9826186bd565b6004820191506187098284618257565b91508190509392505050565b7f203e3e2000000000000000000000000000000000000000000000000000000000815250565b5f6187468285618257565b915061875182618715565b6004820191506187618284618257565b91508190509392505050565b7f203e3d2000000000000000000000000000000000000000000000000000000000815250565b5f61879e8285618257565b91506187a98261876d565b6004820191506187b98284618257565b91508190509392505050565b7f203c3d2000000000000000000000000000000000000000000000000000000000815250565b5f6187f68285618257565b9150618801826187c5565b6004820191506188118284618257565b91508190509392505050565b7f203c200000000000000000000000000000000000000000000000000000000000815250565b5f61884e8285618257565b91506188598261881d565b6003820191506188698284618257565b91508190509392505050565b7f203e200000000000000000000000000000000000000000000000000000000000815250565b5f6188a68285618257565b91506188b182618875565b6003820191506188c18284618257565b91508190509392505050565b7f6d696e2800000000000000000000000000000000000000000000000000000000815250565b7f2c20000000000000000000000000000000000000000000000000000000000000815250565b7f2900000000000000000000000000000000000000000000000000000000000000815250565b5f618949826188cd565b6004820191506189598285618257565b9150618964826188f3565b6002820191506189748284618257565b915061897f82618919565b6001820191508190509392505050565b7f6d61782800000000000000000000000000000000000000000000000000000000815250565b5f6189bf8261898f565b6004820191506189cf8285618257565b91506189da826188f3565b6002820191506189ea8284618257565b91506189f582618919565b6001820191508190509392505050565b7f203d3d2000000000000000000000000000000000000000000000000000000000815250565b5f618a368285618257565b9150618a4182618a05565b600482019150618a518284618257565b91508190509392505050565b7f20213d2000000000000000000000000000000000000000000000000000000000815250565b5f618a8e8285618257565b9150618a9982618a5d565b600482019150618aa98284618257565b91508190509392505050565b7f4648452e61734500000000000000000000000000000000000000000000000000815250565b5f618ae582618ab5565b600782019150618af58284618257565b915081905092915050565b7f2800000000000000000000000000000000000000000000000000000000000000815250565b5f618b318285618257565b9150618b3c82618b00565b600182019150618b4c8284618257565b9150618b5782618919565b6001820191508190509392505050565b7f203f200000000000000000000000000000000000000000000000000000000000815250565b7f203a200000000000000000000000000000000000000000000000000000000000815250565b5f618bbe8286618257565b9150618bc982618b67565b600382019150618bd98285618257565b9150618be482618b8d565b600382019150618bf48284618257565b9150819050949350505050565b7f2e2e000000000000000000000000000000000000000000000000000000000000815250565b7f295b000000000000000000000000000000000000000000000000000000000000815250565b7f5d00000000000000000000000000000000000000000000000000000000000000815250565b5f618c7e8287618257565b9150618c8982618b00565b600182019150618c998286618257565b9150618ca482618c01565b600282019150618cb48285618257565b9150618cbf82618c27565b600282019150618ccf8284618257565b9150618cda82618c4d565b60018201915081905095945050505050565b7f20203d3e20200000000000000000000000000000000000000000000000000000815250565b5f618d1d8288618257565b9150618d298287618257565b9150618d358286618257565b9150618d418285618257565b9150618d4c82618cec565b600682019150618d5c8284618257565b91508190509695505050505050565b618d7481617470565b82525050565b5f608082019050618d8d5f830187618d6b565b618d9a6020830186617b3e565b618da76040830185618d6b565b618db46060830184618d6b565b95945050505050565b5f618dc88284618257565b915081905092915050565b5f602082019050618de65f830184618d6b565b92915050565b5f618df682616796565b9150618e0183616796565b9250828202618e0f81616796565b91508282048414831517618e2657618e25617714565b5b5092915050565b5f618e3782616796565b91505f8203618e4957618e48617714565b5b600182039050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffdfea26469706673582212208748b8bcaf83a35ceea5a1af25cc3520a39b1fe1ace0f782e8accd39a200e45b64736f6c63430008210033',
|
|
1211
|
+
} as const satisfies MockArtifact;
|