@layerzerolabs/lz-evm-sdk-v2 2.1.13 → 2.1.14

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.
Files changed (120) hide show
  1. package/deployments/ethereum-sandbox-local/DVN.json +16 -16
  2. package/deployments/ethereum-sandbox-local/DVNDecompressor.json +7 -7
  3. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +7 -7
  4. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +7 -7
  5. package/deployments/ethereum-sandbox-local/EndpointV2.json +13 -13
  6. package/deployments/ethereum-sandbox-local/EndpointV2View.json +13 -13
  7. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +4 -4
  8. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +13 -13
  9. package/deployments/ethereum-sandbox-local/Executor.json +43 -43
  10. package/deployments/ethereum-sandbox-local/ExecutorDecompressor.json +7 -7
  11. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +7 -7
  12. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +10 -10
  13. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +4 -4
  14. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +43 -43
  15. package/deployments/ethereum-sandbox-local/LzExecutor.json +16 -16
  16. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +4 -4
  17. package/deployments/ethereum-sandbox-local/LzExecutor_Proxy.json +16 -16
  18. package/deployments/ethereum-sandbox-local/NonceContractMock.json +4 -4
  19. package/deployments/ethereum-sandbox-local/PriceFeed.json +16 -16
  20. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  21. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +4 -4
  22. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +16 -16
  23. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +7 -7
  24. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +13 -13
  25. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  26. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  27. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +7 -7
  28. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +13 -13
  29. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  30. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  31. package/deployments/ethereum-sandbox-local/SendUln301.json +7 -7
  32. package/deployments/ethereum-sandbox-local/SendUln302.json +7 -7
  33. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +7 -7
  34. package/deployments/ethereum-sandbox-local/Treasury.json +7 -7
  35. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +4 -4
  36. package/deployments/polygon-sandbox-local/DVN.json +16 -16
  37. package/deployments/polygon-sandbox-local/DVNDecompressor.json +7 -7
  38. package/deployments/polygon-sandbox-local/DVNFeeLib.json +7 -7
  39. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +7 -7
  40. package/deployments/polygon-sandbox-local/EndpointV2.json +13 -13
  41. package/deployments/polygon-sandbox-local/EndpointV2View.json +13 -13
  42. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +4 -4
  43. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +13 -13
  44. package/deployments/polygon-sandbox-local/Executor.json +43 -43
  45. package/deployments/polygon-sandbox-local/ExecutorDecompressor.json +7 -7
  46. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +7 -7
  47. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +10 -10
  48. package/deployments/polygon-sandbox-local/Executor_Implementation.json +4 -4
  49. package/deployments/polygon-sandbox-local/Executor_Proxy.json +43 -43
  50. package/deployments/polygon-sandbox-local/LzExecutor.json +16 -16
  51. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +4 -4
  52. package/deployments/polygon-sandbox-local/LzExecutor_Proxy.json +16 -16
  53. package/deployments/polygon-sandbox-local/NonceContractMock.json +4 -4
  54. package/deployments/polygon-sandbox-local/PriceFeed.json +16 -16
  55. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  56. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +4 -4
  57. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +16 -16
  58. package/deployments/polygon-sandbox-local/ReceiveUln301.json +7 -7
  59. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +13 -13
  60. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  61. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  62. package/deployments/polygon-sandbox-local/ReceiveUln302.json +7 -7
  63. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +13 -13
  64. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  65. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  66. package/deployments/polygon-sandbox-local/SendUln301.json +7 -7
  67. package/deployments/polygon-sandbox-local/SendUln302.json +7 -7
  68. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +7 -7
  69. package/deployments/polygon-sandbox-local/Treasury.json +7 -7
  70. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +4 -4
  71. package/package.json +9 -9
  72. package/deployments/arbitrum-sandbox-local/DVN.json +0 -1864
  73. package/deployments/arbitrum-sandbox-local/DVNDecompressor.json +0 -500
  74. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +0 -398
  75. package/deployments/arbitrum-sandbox-local/PriceFeed.json +0 -890
  76. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  77. package/deployments/arbitrum-sandbox-local/PriceFeed_Implementation.json +0 -912
  78. package/deployments/arbitrum-sandbox-local/PriceFeed_Proxy.json +0 -244
  79. package/deployments/metis-sandbox-local/DVN.json +0 -1896
  80. package/deployments/metis-sandbox-local/DVNDecompressor.json +0 -508
  81. package/deployments/metis-sandbox-local/DVNFeeLib.json +0 -398
  82. package/deployments/metis-sandbox-local/DefaultProxyAdmin.json +0 -258
  83. package/deployments/metis-sandbox-local/EndpointV2.json +0 -2946
  84. package/deployments/metis-sandbox-local/EndpointV2View.json +0 -435
  85. package/deployments/metis-sandbox-local/EndpointV2View_Implementation.json +0 -313
  86. package/deployments/metis-sandbox-local/EndpointV2View_Proxy.json +0 -230
  87. package/deployments/metis-sandbox-local/Executor.json +0 -1549
  88. package/deployments/metis-sandbox-local/ExecutorDecompressor.json +0 -339
  89. package/deployments/metis-sandbox-local/ExecutorFeeLib.json +0 -423
  90. package/deployments/metis-sandbox-local/ExecutorProxyAdmin.json +0 -283
  91. package/deployments/metis-sandbox-local/Executor_Implementation.json +0 -1591
  92. package/deployments/metis-sandbox-local/Executor_Proxy.json +0 -380
  93. package/deployments/metis-sandbox-local/LzExecutor.json +0 -757
  94. package/deployments/metis-sandbox-local/LzExecutor_Implementation.json +0 -703
  95. package/deployments/metis-sandbox-local/LzExecutor_Proxy.json +0 -244
  96. package/deployments/metis-sandbox-local/NonceContractMock.json +0 -163
  97. package/deployments/metis-sandbox-local/PriceFeed.json +0 -890
  98. package/deployments/metis-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  99. package/deployments/metis-sandbox-local/PriceFeed_Implementation.json +0 -912
  100. package/deployments/metis-sandbox-local/PriceFeed_Proxy.json +0 -244
  101. package/deployments/metis-sandbox-local/ReceiveUln301.json +0 -1292
  102. package/deployments/metis-sandbox-local/ReceiveUln301View.json +0 -354
  103. package/deployments/metis-sandbox-local/ReceiveUln301View_Implementation.json +0 -231
  104. package/deployments/metis-sandbox-local/ReceiveUln301View_Proxy.json +0 -230
  105. package/deployments/metis-sandbox-local/ReceiveUln302.json +0 -1006
  106. package/deployments/metis-sandbox-local/ReceiveUln302View.json +0 -478
  107. package/deployments/metis-sandbox-local/ReceiveUln302View_Implementation.json +0 -384
  108. package/deployments/metis-sandbox-local/ReceiveUln302View_Proxy.json +0 -230
  109. package/deployments/metis-sandbox-local/SendUln301.json +0 -1569
  110. package/deployments/metis-sandbox-local/SendUln302.json +0 -1527
  111. package/deployments/metis-sandbox-local/SimpleMessageLib.json +0 -708
  112. package/deployments/metis-sandbox-local/Treasury.json +0 -412
  113. package/deployments/metis-sandbox-local/TreasuryFeeHandler.json +0 -125
  114. package/deployments/tron-sandbox-local/DVN.json +0 -1864
  115. package/deployments/tron-sandbox-local/DVNDecompressor.json +0 -500
  116. package/deployments/tron-sandbox-local/DVNFeeLib.json +0 -398
  117. package/deployments/tron-sandbox-local/PriceFeed.json +0 -890
  118. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  119. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +0 -912
  120. package/deployments/tron-sandbox-local/PriceFeed_Proxy.json +0 -244
@@ -1,1569 +0,0 @@
1
- {
2
- "address": "0x73eccD6288e117cAcA738BDAD4FEC51312166C1A",
3
- "abi": [
4
- {
5
- "inputs": [
6
- {
7
- "internalType": "address",
8
- "name": "_endpoint",
9
- "type": "address"
10
- },
11
- {
12
- "internalType": "uint256",
13
- "name": "_treasuryGasLimit",
14
- "type": "uint256"
15
- },
16
- {
17
- "internalType": "uint256",
18
- "name": "_treasuryGasForFeeCap",
19
- "type": "uint256"
20
- },
21
- {
22
- "internalType": "address",
23
- "name": "_nonceContract",
24
- "type": "address"
25
- },
26
- {
27
- "internalType": "uint32",
28
- "name": "_localEid",
29
- "type": "uint32"
30
- },
31
- {
32
- "internalType": "address",
33
- "name": "_treasuryFeeHandler",
34
- "type": "address"
35
- }
36
- ],
37
- "stateMutability": "nonpayable",
38
- "type": "constructor"
39
- },
40
- {
41
- "inputs": [],
42
- "name": "AddressCast_InvalidAddress",
43
- "type": "error"
44
- },
45
- {
46
- "inputs": [],
47
- "name": "AddressSizeConfig_AddressSizeAlreadySet",
48
- "type": "error"
49
- },
50
- {
51
- "inputs": [],
52
- "name": "AddressSizeConfig_InvalidAddressSize",
53
- "type": "error"
54
- },
55
- {
56
- "inputs": [],
57
- "name": "DVN_InvalidDVNIdx",
58
- "type": "error"
59
- },
60
- {
61
- "inputs": [
62
- {
63
- "internalType": "uint256",
64
- "name": "cursor",
65
- "type": "uint256"
66
- }
67
- ],
68
- "name": "DVN_InvalidDVNOptions",
69
- "type": "error"
70
- },
71
- {
72
- "inputs": [],
73
- "name": "LZ_MessageLib_InsufficientMsgValue",
74
- "type": "error"
75
- },
76
- {
77
- "inputs": [
78
- {
79
- "internalType": "uint256",
80
- "name": "requested",
81
- "type": "uint256"
82
- },
83
- {
84
- "internalType": "uint256",
85
- "name": "available",
86
- "type": "uint256"
87
- }
88
- ],
89
- "name": "LZ_MessageLib_InvalidAmount",
90
- "type": "error"
91
- },
92
- {
93
- "inputs": [],
94
- "name": "LZ_MessageLib_InvalidExecutor",
95
- "type": "error"
96
- },
97
- {
98
- "inputs": [
99
- {
100
- "internalType": "uint256",
101
- "name": "actual",
102
- "type": "uint256"
103
- },
104
- {
105
- "internalType": "uint256",
106
- "name": "max",
107
- "type": "uint256"
108
- }
109
- ],
110
- "name": "LZ_MessageLib_InvalidMessageSize",
111
- "type": "error"
112
- },
113
- {
114
- "inputs": [],
115
- "name": "LZ_MessageLib_InvalidPath",
116
- "type": "error"
117
- },
118
- {
119
- "inputs": [],
120
- "name": "LZ_MessageLib_InvalidSender",
121
- "type": "error"
122
- },
123
- {
124
- "inputs": [],
125
- "name": "LZ_MessageLib_LzTokenPaymentAddressMustBeSender",
126
- "type": "error"
127
- },
128
- {
129
- "inputs": [],
130
- "name": "LZ_MessageLib_OnlyEndpoint",
131
- "type": "error"
132
- },
133
- {
134
- "inputs": [],
135
- "name": "LZ_MessageLib_TransferFailed",
136
- "type": "error"
137
- },
138
- {
139
- "inputs": [],
140
- "name": "LZ_MessageLib_ZeroMessageSize",
141
- "type": "error"
142
- },
143
- {
144
- "inputs": [],
145
- "name": "LZ_ULN_AtLeastOneDVN",
146
- "type": "error"
147
- },
148
- {
149
- "inputs": [
150
- {
151
- "internalType": "uint256",
152
- "name": "configType",
153
- "type": "uint256"
154
- }
155
- ],
156
- "name": "LZ_ULN_InvalidConfigType",
157
- "type": "error"
158
- },
159
- {
160
- "inputs": [],
161
- "name": "LZ_ULN_InvalidConfirmations",
162
- "type": "error"
163
- },
164
- {
165
- "inputs": [],
166
- "name": "LZ_ULN_InvalidLegacyType1Option",
167
- "type": "error"
168
- },
169
- {
170
- "inputs": [],
171
- "name": "LZ_ULN_InvalidLegacyType2Option",
172
- "type": "error"
173
- },
174
- {
175
- "inputs": [],
176
- "name": "LZ_ULN_InvalidOptionalDVNCount",
177
- "type": "error"
178
- },
179
- {
180
- "inputs": [],
181
- "name": "LZ_ULN_InvalidOptionalDVNThreshold",
182
- "type": "error"
183
- },
184
- {
185
- "inputs": [],
186
- "name": "LZ_ULN_InvalidRequiredDVNCount",
187
- "type": "error"
188
- },
189
- {
190
- "inputs": [
191
- {
192
- "internalType": "uint8",
193
- "name": "workerId",
194
- "type": "uint8"
195
- }
196
- ],
197
- "name": "LZ_ULN_InvalidWorkerId",
198
- "type": "error"
199
- },
200
- {
201
- "inputs": [
202
- {
203
- "internalType": "uint256",
204
- "name": "cursor",
205
- "type": "uint256"
206
- }
207
- ],
208
- "name": "LZ_ULN_InvalidWorkerOptions",
209
- "type": "error"
210
- },
211
- {
212
- "inputs": [],
213
- "name": "LZ_ULN_Unsorted",
214
- "type": "error"
215
- },
216
- {
217
- "inputs": [
218
- {
219
- "internalType": "uint32",
220
- "name": "eid",
221
- "type": "uint32"
222
- }
223
- ],
224
- "name": "LZ_ULN_UnsupportedEid",
225
- "type": "error"
226
- },
227
- {
228
- "inputs": [
229
- {
230
- "internalType": "uint16",
231
- "name": "optionType",
232
- "type": "uint16"
233
- }
234
- ],
235
- "name": "LZ_ULN_UnsupportedOptionType",
236
- "type": "error"
237
- },
238
- {
239
- "inputs": [
240
- {
241
- "internalType": "address",
242
- "name": "_to",
243
- "type": "address"
244
- },
245
- {
246
- "internalType": "uint256",
247
- "name": "_value",
248
- "type": "uint256"
249
- }
250
- ],
251
- "name": "Transfer_NativeFailed",
252
- "type": "error"
253
- },
254
- {
255
- "inputs": [],
256
- "name": "Transfer_ToAddressIsZero",
257
- "type": "error"
258
- },
259
- {
260
- "anonymous": false,
261
- "inputs": [
262
- {
263
- "indexed": false,
264
- "internalType": "uint16",
265
- "name": "eid",
266
- "type": "uint16"
267
- },
268
- {
269
- "indexed": false,
270
- "internalType": "uint256",
271
- "name": "size",
272
- "type": "uint256"
273
- }
274
- ],
275
- "name": "AddressSizeSet",
276
- "type": "event"
277
- },
278
- {
279
- "anonymous": false,
280
- "inputs": [
281
- {
282
- "indexed": false,
283
- "internalType": "address[]",
284
- "name": "requiredDVNs",
285
- "type": "address[]"
286
- },
287
- {
288
- "indexed": false,
289
- "internalType": "address[]",
290
- "name": "optionalDVNs",
291
- "type": "address[]"
292
- },
293
- {
294
- "indexed": false,
295
- "internalType": "uint256[]",
296
- "name": "fees",
297
- "type": "uint256[]"
298
- }
299
- ],
300
- "name": "DVNFeePaid",
301
- "type": "event"
302
- },
303
- {
304
- "anonymous": false,
305
- "inputs": [
306
- {
307
- "components": [
308
- {
309
- "internalType": "uint32",
310
- "name": "eid",
311
- "type": "uint32"
312
- },
313
- {
314
- "components": [
315
- {
316
- "internalType": "uint32",
317
- "name": "maxMessageSize",
318
- "type": "uint32"
319
- },
320
- {
321
- "internalType": "address",
322
- "name": "executor",
323
- "type": "address"
324
- }
325
- ],
326
- "internalType": "struct ExecutorConfig",
327
- "name": "config",
328
- "type": "tuple"
329
- }
330
- ],
331
- "indexed": false,
332
- "internalType": "struct SetDefaultExecutorConfigParam[]",
333
- "name": "params",
334
- "type": "tuple[]"
335
- }
336
- ],
337
- "name": "DefaultExecutorConfigsSet",
338
- "type": "event"
339
- },
340
- {
341
- "anonymous": false,
342
- "inputs": [
343
- {
344
- "components": [
345
- {
346
- "internalType": "uint32",
347
- "name": "eid",
348
- "type": "uint32"
349
- },
350
- {
351
- "components": [
352
- {
353
- "internalType": "uint64",
354
- "name": "confirmations",
355
- "type": "uint64"
356
- },
357
- {
358
- "internalType": "uint8",
359
- "name": "requiredDVNCount",
360
- "type": "uint8"
361
- },
362
- {
363
- "internalType": "uint8",
364
- "name": "optionalDVNCount",
365
- "type": "uint8"
366
- },
367
- {
368
- "internalType": "uint8",
369
- "name": "optionalDVNThreshold",
370
- "type": "uint8"
371
- },
372
- {
373
- "internalType": "address[]",
374
- "name": "requiredDVNs",
375
- "type": "address[]"
376
- },
377
- {
378
- "internalType": "address[]",
379
- "name": "optionalDVNs",
380
- "type": "address[]"
381
- }
382
- ],
383
- "internalType": "struct UlnConfig",
384
- "name": "config",
385
- "type": "tuple"
386
- }
387
- ],
388
- "indexed": false,
389
- "internalType": "struct SetDefaultUlnConfigParam[]",
390
- "name": "params",
391
- "type": "tuple[]"
392
- }
393
- ],
394
- "name": "DefaultUlnConfigsSet",
395
- "type": "event"
396
- },
397
- {
398
- "anonymous": false,
399
- "inputs": [
400
- {
401
- "indexed": false,
402
- "internalType": "address",
403
- "name": "oapp",
404
- "type": "address"
405
- },
406
- {
407
- "indexed": false,
408
- "internalType": "uint32",
409
- "name": "eid",
410
- "type": "uint32"
411
- },
412
- {
413
- "components": [
414
- {
415
- "internalType": "uint32",
416
- "name": "maxMessageSize",
417
- "type": "uint32"
418
- },
419
- {
420
- "internalType": "address",
421
- "name": "executor",
422
- "type": "address"
423
- }
424
- ],
425
- "indexed": false,
426
- "internalType": "struct ExecutorConfig",
427
- "name": "config",
428
- "type": "tuple"
429
- }
430
- ],
431
- "name": "ExecutorConfigSet",
432
- "type": "event"
433
- },
434
- {
435
- "anonymous": false,
436
- "inputs": [
437
- {
438
- "indexed": false,
439
- "internalType": "address",
440
- "name": "executor",
441
- "type": "address"
442
- },
443
- {
444
- "indexed": false,
445
- "internalType": "uint256",
446
- "name": "fee",
447
- "type": "uint256"
448
- }
449
- ],
450
- "name": "ExecutorFeePaid",
451
- "type": "event"
452
- },
453
- {
454
- "anonymous": false,
455
- "inputs": [
456
- {
457
- "indexed": false,
458
- "internalType": "address",
459
- "name": "token",
460
- "type": "address"
461
- }
462
- ],
463
- "name": "LzTokenSet",
464
- "type": "event"
465
- },
466
- {
467
- "anonymous": false,
468
- "inputs": [
469
- {
470
- "indexed": false,
471
- "internalType": "address",
472
- "name": "user",
473
- "type": "address"
474
- },
475
- {
476
- "indexed": false,
477
- "internalType": "address",
478
- "name": "receiver",
479
- "type": "address"
480
- },
481
- {
482
- "indexed": false,
483
- "internalType": "uint256",
484
- "name": "amount",
485
- "type": "uint256"
486
- }
487
- ],
488
- "name": "NativeFeeWithdrawn",
489
- "type": "event"
490
- },
491
- {
492
- "anonymous": false,
493
- "inputs": [
494
- {
495
- "indexed": true,
496
- "internalType": "address",
497
- "name": "previousOwner",
498
- "type": "address"
499
- },
500
- {
501
- "indexed": true,
502
- "internalType": "address",
503
- "name": "newOwner",
504
- "type": "address"
505
- }
506
- ],
507
- "name": "OwnershipTransferred",
508
- "type": "event"
509
- },
510
- {
511
- "anonymous": false,
512
- "inputs": [
513
- {
514
- "indexed": false,
515
- "internalType": "bytes",
516
- "name": "encodedPayload",
517
- "type": "bytes"
518
- },
519
- {
520
- "indexed": false,
521
- "internalType": "bytes",
522
- "name": "options",
523
- "type": "bytes"
524
- },
525
- {
526
- "indexed": false,
527
- "internalType": "uint256",
528
- "name": "nativeFee",
529
- "type": "uint256"
530
- },
531
- {
532
- "indexed": false,
533
- "internalType": "uint256",
534
- "name": "lzTokenFee",
535
- "type": "uint256"
536
- }
537
- ],
538
- "name": "PacketSent",
539
- "type": "event"
540
- },
541
- {
542
- "anonymous": false,
543
- "inputs": [
544
- {
545
- "indexed": false,
546
- "internalType": "uint256",
547
- "name": "newTreasuryNativeFeeCap",
548
- "type": "uint256"
549
- }
550
- ],
551
- "name": "TreasuryNativeFeeCapSet",
552
- "type": "event"
553
- },
554
- {
555
- "anonymous": false,
556
- "inputs": [
557
- {
558
- "indexed": false,
559
- "internalType": "address",
560
- "name": "treasury",
561
- "type": "address"
562
- }
563
- ],
564
- "name": "TreasurySet",
565
- "type": "event"
566
- },
567
- {
568
- "anonymous": false,
569
- "inputs": [
570
- {
571
- "indexed": false,
572
- "internalType": "address",
573
- "name": "oapp",
574
- "type": "address"
575
- },
576
- {
577
- "indexed": false,
578
- "internalType": "uint32",
579
- "name": "eid",
580
- "type": "uint32"
581
- },
582
- {
583
- "components": [
584
- {
585
- "internalType": "uint64",
586
- "name": "confirmations",
587
- "type": "uint64"
588
- },
589
- {
590
- "internalType": "uint8",
591
- "name": "requiredDVNCount",
592
- "type": "uint8"
593
- },
594
- {
595
- "internalType": "uint8",
596
- "name": "optionalDVNCount",
597
- "type": "uint8"
598
- },
599
- {
600
- "internalType": "uint8",
601
- "name": "optionalDVNThreshold",
602
- "type": "uint8"
603
- },
604
- {
605
- "internalType": "address[]",
606
- "name": "requiredDVNs",
607
- "type": "address[]"
608
- },
609
- {
610
- "internalType": "address[]",
611
- "name": "optionalDVNs",
612
- "type": "address[]"
613
- }
614
- ],
615
- "indexed": false,
616
- "internalType": "struct UlnConfig",
617
- "name": "config",
618
- "type": "tuple"
619
- }
620
- ],
621
- "name": "UlnConfigSet",
622
- "type": "event"
623
- },
624
- {
625
- "inputs": [
626
- {
627
- "internalType": "uint32",
628
- "name": "dstEid",
629
- "type": "uint32"
630
- }
631
- ],
632
- "name": "addressSizes",
633
- "outputs": [
634
- {
635
- "internalType": "uint256",
636
- "name": "size",
637
- "type": "uint256"
638
- }
639
- ],
640
- "stateMutability": "view",
641
- "type": "function"
642
- },
643
- {
644
- "inputs": [
645
- {
646
- "internalType": "uint16",
647
- "name": "_dstEid",
648
- "type": "uint16"
649
- },
650
- {
651
- "internalType": "address",
652
- "name": "_sender",
653
- "type": "address"
654
- },
655
- {
656
- "internalType": "bytes",
657
- "name": "_message",
658
- "type": "bytes"
659
- },
660
- {
661
- "internalType": "bool",
662
- "name": "_payInLzToken",
663
- "type": "bool"
664
- },
665
- {
666
- "internalType": "bytes",
667
- "name": "_options",
668
- "type": "bytes"
669
- }
670
- ],
671
- "name": "estimateFees",
672
- "outputs": [
673
- {
674
- "internalType": "uint256",
675
- "name": "nativeFee",
676
- "type": "uint256"
677
- },
678
- {
679
- "internalType": "uint256",
680
- "name": "lzTokenFee",
681
- "type": "uint256"
682
- }
683
- ],
684
- "stateMutability": "view",
685
- "type": "function"
686
- },
687
- {
688
- "inputs": [
689
- {
690
- "internalType": "address",
691
- "name": "oapp",
692
- "type": "address"
693
- },
694
- {
695
- "internalType": "uint32",
696
- "name": "eid",
697
- "type": "uint32"
698
- }
699
- ],
700
- "name": "executorConfigs",
701
- "outputs": [
702
- {
703
- "internalType": "uint32",
704
- "name": "maxMessageSize",
705
- "type": "uint32"
706
- },
707
- {
708
- "internalType": "address",
709
- "name": "executor",
710
- "type": "address"
711
- }
712
- ],
713
- "stateMutability": "view",
714
- "type": "function"
715
- },
716
- {
717
- "inputs": [
718
- {
719
- "internalType": "address",
720
- "name": "worker",
721
- "type": "address"
722
- }
723
- ],
724
- "name": "fees",
725
- "outputs": [
726
- {
727
- "internalType": "uint256",
728
- "name": "",
729
- "type": "uint256"
730
- }
731
- ],
732
- "stateMutability": "view",
733
- "type": "function"
734
- },
735
- {
736
- "inputs": [
737
- {
738
- "internalType": "address",
739
- "name": "_oapp",
740
- "type": "address"
741
- },
742
- {
743
- "internalType": "uint32",
744
- "name": "_remoteEid",
745
- "type": "uint32"
746
- }
747
- ],
748
- "name": "getAppUlnConfig",
749
- "outputs": [
750
- {
751
- "components": [
752
- {
753
- "internalType": "uint64",
754
- "name": "confirmations",
755
- "type": "uint64"
756
- },
757
- {
758
- "internalType": "uint8",
759
- "name": "requiredDVNCount",
760
- "type": "uint8"
761
- },
762
- {
763
- "internalType": "uint8",
764
- "name": "optionalDVNCount",
765
- "type": "uint8"
766
- },
767
- {
768
- "internalType": "uint8",
769
- "name": "optionalDVNThreshold",
770
- "type": "uint8"
771
- },
772
- {
773
- "internalType": "address[]",
774
- "name": "requiredDVNs",
775
- "type": "address[]"
776
- },
777
- {
778
- "internalType": "address[]",
779
- "name": "optionalDVNs",
780
- "type": "address[]"
781
- }
782
- ],
783
- "internalType": "struct UlnConfig",
784
- "name": "",
785
- "type": "tuple"
786
- }
787
- ],
788
- "stateMutability": "view",
789
- "type": "function"
790
- },
791
- {
792
- "inputs": [
793
- {
794
- "internalType": "uint16",
795
- "name": "_eid",
796
- "type": "uint16"
797
- },
798
- {
799
- "internalType": "address",
800
- "name": "_oapp",
801
- "type": "address"
802
- },
803
- {
804
- "internalType": "uint256",
805
- "name": "_configType",
806
- "type": "uint256"
807
- }
808
- ],
809
- "name": "getConfig",
810
- "outputs": [
811
- {
812
- "internalType": "bytes",
813
- "name": "",
814
- "type": "bytes"
815
- }
816
- ],
817
- "stateMutability": "view",
818
- "type": "function"
819
- },
820
- {
821
- "inputs": [
822
- {
823
- "internalType": "address",
824
- "name": "_oapp",
825
- "type": "address"
826
- },
827
- {
828
- "internalType": "uint32",
829
- "name": "_remoteEid",
830
- "type": "uint32"
831
- }
832
- ],
833
- "name": "getExecutorConfig",
834
- "outputs": [
835
- {
836
- "components": [
837
- {
838
- "internalType": "uint32",
839
- "name": "maxMessageSize",
840
- "type": "uint32"
841
- },
842
- {
843
- "internalType": "address",
844
- "name": "executor",
845
- "type": "address"
846
- }
847
- ],
848
- "internalType": "struct ExecutorConfig",
849
- "name": "rtnConfig",
850
- "type": "tuple"
851
- }
852
- ],
853
- "stateMutability": "view",
854
- "type": "function"
855
- },
856
- {
857
- "inputs": [
858
- {
859
- "internalType": "address",
860
- "name": "_oapp",
861
- "type": "address"
862
- },
863
- {
864
- "internalType": "uint32",
865
- "name": "_remoteEid",
866
- "type": "uint32"
867
- }
868
- ],
869
- "name": "getUlnConfig",
870
- "outputs": [
871
- {
872
- "components": [
873
- {
874
- "internalType": "uint64",
875
- "name": "confirmations",
876
- "type": "uint64"
877
- },
878
- {
879
- "internalType": "uint8",
880
- "name": "requiredDVNCount",
881
- "type": "uint8"
882
- },
883
- {
884
- "internalType": "uint8",
885
- "name": "optionalDVNCount",
886
- "type": "uint8"
887
- },
888
- {
889
- "internalType": "uint8",
890
- "name": "optionalDVNThreshold",
891
- "type": "uint8"
892
- },
893
- {
894
- "internalType": "address[]",
895
- "name": "requiredDVNs",
896
- "type": "address[]"
897
- },
898
- {
899
- "internalType": "address[]",
900
- "name": "optionalDVNs",
901
- "type": "address[]"
902
- }
903
- ],
904
- "internalType": "struct UlnConfig",
905
- "name": "rtnConfig",
906
- "type": "tuple"
907
- }
908
- ],
909
- "stateMutability": "view",
910
- "type": "function"
911
- },
912
- {
913
- "inputs": [
914
- {
915
- "internalType": "uint32",
916
- "name": "_eid",
917
- "type": "uint32"
918
- }
919
- ],
920
- "name": "isSupportedEid",
921
- "outputs": [
922
- {
923
- "internalType": "bool",
924
- "name": "",
925
- "type": "bool"
926
- }
927
- ],
928
- "stateMutability": "view",
929
- "type": "function"
930
- },
931
- {
932
- "inputs": [],
933
- "name": "nonceContract",
934
- "outputs": [
935
- {
936
- "internalType": "contract INonceContract",
937
- "name": "",
938
- "type": "address"
939
- }
940
- ],
941
- "stateMutability": "view",
942
- "type": "function"
943
- },
944
- {
945
- "inputs": [],
946
- "name": "owner",
947
- "outputs": [
948
- {
949
- "internalType": "address",
950
- "name": "",
951
- "type": "address"
952
- }
953
- ],
954
- "stateMutability": "view",
955
- "type": "function"
956
- },
957
- {
958
- "inputs": [],
959
- "name": "renounceOwnership",
960
- "outputs": [],
961
- "stateMutability": "nonpayable",
962
- "type": "function"
963
- },
964
- {
965
- "inputs": [
966
- {
967
- "internalType": "address",
968
- "name": "_sender",
969
- "type": "address"
970
- },
971
- {
972
- "internalType": "uint64",
973
- "name": "",
974
- "type": "uint64"
975
- },
976
- {
977
- "internalType": "uint16",
978
- "name": "_dstEid",
979
- "type": "uint16"
980
- },
981
- {
982
- "internalType": "bytes",
983
- "name": "_path",
984
- "type": "bytes"
985
- },
986
- {
987
- "internalType": "bytes",
988
- "name": "_message",
989
- "type": "bytes"
990
- },
991
- {
992
- "internalType": "address payable",
993
- "name": "_refundAddress",
994
- "type": "address"
995
- },
996
- {
997
- "internalType": "address",
998
- "name": "_lzTokenPaymentAddress",
999
- "type": "address"
1000
- },
1001
- {
1002
- "internalType": "bytes",
1003
- "name": "_options",
1004
- "type": "bytes"
1005
- }
1006
- ],
1007
- "name": "send",
1008
- "outputs": [],
1009
- "stateMutability": "payable",
1010
- "type": "function"
1011
- },
1012
- {
1013
- "inputs": [
1014
- {
1015
- "internalType": "uint16",
1016
- "name": "_eid",
1017
- "type": "uint16"
1018
- },
1019
- {
1020
- "internalType": "uint256",
1021
- "name": "_size",
1022
- "type": "uint256"
1023
- }
1024
- ],
1025
- "name": "setAddressSize",
1026
- "outputs": [],
1027
- "stateMutability": "nonpayable",
1028
- "type": "function"
1029
- },
1030
- {
1031
- "inputs": [
1032
- {
1033
- "internalType": "uint16",
1034
- "name": "_eid",
1035
- "type": "uint16"
1036
- },
1037
- {
1038
- "internalType": "address",
1039
- "name": "_oapp",
1040
- "type": "address"
1041
- },
1042
- {
1043
- "internalType": "uint256",
1044
- "name": "_configType",
1045
- "type": "uint256"
1046
- },
1047
- {
1048
- "internalType": "bytes",
1049
- "name": "_config",
1050
- "type": "bytes"
1051
- }
1052
- ],
1053
- "name": "setConfig",
1054
- "outputs": [],
1055
- "stateMutability": "nonpayable",
1056
- "type": "function"
1057
- },
1058
- {
1059
- "inputs": [
1060
- {
1061
- "components": [
1062
- {
1063
- "internalType": "uint32",
1064
- "name": "eid",
1065
- "type": "uint32"
1066
- },
1067
- {
1068
- "components": [
1069
- {
1070
- "internalType": "uint32",
1071
- "name": "maxMessageSize",
1072
- "type": "uint32"
1073
- },
1074
- {
1075
- "internalType": "address",
1076
- "name": "executor",
1077
- "type": "address"
1078
- }
1079
- ],
1080
- "internalType": "struct ExecutorConfig",
1081
- "name": "config",
1082
- "type": "tuple"
1083
- }
1084
- ],
1085
- "internalType": "struct SetDefaultExecutorConfigParam[]",
1086
- "name": "_params",
1087
- "type": "tuple[]"
1088
- }
1089
- ],
1090
- "name": "setDefaultExecutorConfigs",
1091
- "outputs": [],
1092
- "stateMutability": "nonpayable",
1093
- "type": "function"
1094
- },
1095
- {
1096
- "inputs": [
1097
- {
1098
- "components": [
1099
- {
1100
- "internalType": "uint32",
1101
- "name": "eid",
1102
- "type": "uint32"
1103
- },
1104
- {
1105
- "components": [
1106
- {
1107
- "internalType": "uint64",
1108
- "name": "confirmations",
1109
- "type": "uint64"
1110
- },
1111
- {
1112
- "internalType": "uint8",
1113
- "name": "requiredDVNCount",
1114
- "type": "uint8"
1115
- },
1116
- {
1117
- "internalType": "uint8",
1118
- "name": "optionalDVNCount",
1119
- "type": "uint8"
1120
- },
1121
- {
1122
- "internalType": "uint8",
1123
- "name": "optionalDVNThreshold",
1124
- "type": "uint8"
1125
- },
1126
- {
1127
- "internalType": "address[]",
1128
- "name": "requiredDVNs",
1129
- "type": "address[]"
1130
- },
1131
- {
1132
- "internalType": "address[]",
1133
- "name": "optionalDVNs",
1134
- "type": "address[]"
1135
- }
1136
- ],
1137
- "internalType": "struct UlnConfig",
1138
- "name": "config",
1139
- "type": "tuple"
1140
- }
1141
- ],
1142
- "internalType": "struct SetDefaultUlnConfigParam[]",
1143
- "name": "_params",
1144
- "type": "tuple[]"
1145
- }
1146
- ],
1147
- "name": "setDefaultUlnConfigs",
1148
- "outputs": [],
1149
- "stateMutability": "nonpayable",
1150
- "type": "function"
1151
- },
1152
- {
1153
- "inputs": [
1154
- {
1155
- "internalType": "address",
1156
- "name": "_lzToken",
1157
- "type": "address"
1158
- }
1159
- ],
1160
- "name": "setLzToken",
1161
- "outputs": [],
1162
- "stateMutability": "nonpayable",
1163
- "type": "function"
1164
- },
1165
- {
1166
- "inputs": [
1167
- {
1168
- "internalType": "address",
1169
- "name": "_treasury",
1170
- "type": "address"
1171
- }
1172
- ],
1173
- "name": "setTreasury",
1174
- "outputs": [],
1175
- "stateMutability": "nonpayable",
1176
- "type": "function"
1177
- },
1178
- {
1179
- "inputs": [
1180
- {
1181
- "internalType": "uint256",
1182
- "name": "_newTreasuryNativeFeeCap",
1183
- "type": "uint256"
1184
- }
1185
- ],
1186
- "name": "setTreasuryNativeFeeCap",
1187
- "outputs": [],
1188
- "stateMutability": "nonpayable",
1189
- "type": "function"
1190
- },
1191
- {
1192
- "inputs": [
1193
- {
1194
- "internalType": "address",
1195
- "name": "newOwner",
1196
- "type": "address"
1197
- }
1198
- ],
1199
- "name": "transferOwnership",
1200
- "outputs": [],
1201
- "stateMutability": "nonpayable",
1202
- "type": "function"
1203
- },
1204
- {
1205
- "inputs": [],
1206
- "name": "treasury",
1207
- "outputs": [
1208
- {
1209
- "internalType": "address",
1210
- "name": "",
1211
- "type": "address"
1212
- }
1213
- ],
1214
- "stateMutability": "view",
1215
- "type": "function"
1216
- },
1217
- {
1218
- "inputs": [],
1219
- "name": "treasuryFeeHandler",
1220
- "outputs": [
1221
- {
1222
- "internalType": "contract ITreasuryFeeHandler",
1223
- "name": "",
1224
- "type": "address"
1225
- }
1226
- ],
1227
- "stateMutability": "view",
1228
- "type": "function"
1229
- },
1230
- {
1231
- "inputs": [],
1232
- "name": "version",
1233
- "outputs": [
1234
- {
1235
- "internalType": "uint64",
1236
- "name": "major",
1237
- "type": "uint64"
1238
- },
1239
- {
1240
- "internalType": "uint8",
1241
- "name": "minor",
1242
- "type": "uint8"
1243
- },
1244
- {
1245
- "internalType": "uint8",
1246
- "name": "endpointVersion",
1247
- "type": "uint8"
1248
- }
1249
- ],
1250
- "stateMutability": "pure",
1251
- "type": "function"
1252
- },
1253
- {
1254
- "inputs": [
1255
- {
1256
- "internalType": "address",
1257
- "name": "_to",
1258
- "type": "address"
1259
- },
1260
- {
1261
- "internalType": "uint256",
1262
- "name": "_amount",
1263
- "type": "uint256"
1264
- }
1265
- ],
1266
- "name": "withdrawFee",
1267
- "outputs": [],
1268
- "stateMutability": "nonpayable",
1269
- "type": "function"
1270
- }
1271
- ],
1272
- "transactionHash": "0x14ea774dda3a5d9b3b8def2e8d63e52fbe3010f41b12a112966116ef3cdc8a65",
1273
- "receipt": {
1274
- "to": null,
1275
- "from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
1276
- "contractAddress": "0x73eccD6288e117cAcA738BDAD4FEC51312166C1A",
1277
- "transactionIndex": 0,
1278
- "gasUsed": "4961679",
1279
- "logsBloom": "0x00000000000000000002000000000000000000002000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000800420000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000001000000000000000000000000000000",
1280
- "blockHash": "0xf64a3aaa1bbeecefb3384c58bf2f4fc5cf53743214a251b5f2c70e0afea07e37",
1281
- "transactionHash": "0x14ea774dda3a5d9b3b8def2e8d63e52fbe3010f41b12a112966116ef3cdc8a65",
1282
- "logs": [
1283
- {
1284
- "transactionIndex": 0,
1285
- "blockNumber": 28,
1286
- "transactionHash": "0x14ea774dda3a5d9b3b8def2e8d63e52fbe3010f41b12a112966116ef3cdc8a65",
1287
- "address": "0x73eccD6288e117cAcA738BDAD4FEC51312166C1A",
1288
- "topics": [
1289
- "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
1290
- "0x0000000000000000000000000000000000000000000000000000000000000000",
1291
- "0x00000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8"
1292
- ],
1293
- "data": "0x",
1294
- "logIndex": 0,
1295
- "blockHash": "0xf64a3aaa1bbeecefb3384c58bf2f4fc5cf53743214a251b5f2c70e0afea07e37"
1296
- }
1297
- ],
1298
- "blockNumber": 28,
1299
- "cumulativeGasUsed": "4961679",
1300
- "status": 1,
1301
- "byzantium": true
1302
- },
1303
- "args": [
1304
- "0x8464135c8F25Da09e49BC8782676a84730C318bC",
1305
- 200000,
1306
- "1000000000000000000",
1307
- "0xbCF26943C0197d2eE0E5D05c716Be60cc2761508",
1308
- 20151,
1309
- "0xcA03Dc4665A8C3603cb4Fd5Ce71Af9649dC00d44"
1310
- ],
1311
- "numDeployments": 1,
1312
- "solcInputHash": "286a3c36538d8fd41416e187cae2c651",
1313
- "bytecode": "0x6101206040523480156200001257600080fd5b5060405162005a3c38038062005a3c8339810160408190526200003591620000ff565b6001600160a01b03861660805263ffffffff821660a05285858585858585828686620000613362000092565b60c09190915260025550506001600160a01b0392831660e05290911661010052506200017898505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620000fa57600080fd5b919050565b60008060008060008060c087890312156200011957600080fd5b6200012487620000e2565b955060208701519450604087015193506200014260608801620000e2565b9250608087015163ffffffff811681146200015c57600080fd5b91506200016c60a08801620000e2565b90509295509295509295565b60805160a05160c05160e0516101005161585c620001e0600039600081816104a50152611fe90152600081816101ad0152612668015260008181611de801526125580152600081816127340152612802015260008181610e740152611568015261585c6000f3fe6080604052600436106101965760003560e01c80636750cd4c116100e1578063c28e0eed1161008a578063f2fde38b11610064578063f2fde38b14610572578063f8e1734c14610592578063faaebd21146105b2578063fd9be522146105df57600080fd5b8063c28e0eed14610512578063d15b0d4914610532578063f0f442601461055257600080fd5b806389b69dec116100bb57806389b69dec146104935780638da5cb5b146104c7578063c14c4349146104f257600080fd5b80636750cd4c1461042e5780636d26e5d01461045e578063715018a61461047e57600080fd5b806343ea4fa91161014357806352d2871f1161011d57806352d2871f146103a757806354fd4d50146103d457806361d027b31461040157600080fd5b806343ea4fa9146102e55780634d3a0f7c146103055780634d9632001461031857600080fd5b806329460b0b1161017457806329460b0b1461026157806339e3f9381461028357806340a7bb10146102b057600080fd5b806302bd97431461019b5780630f8355c0146101f9578063188183f414610234575b600080fd5b3480156101a757600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561020557600080fd5b506102266102143660046144a7565b60066020526000908152604090205481565b6040519081526020016101f0565b34801561024057600080fd5b5061025461024f3660046144f6565b6105ff565b6040516101f0919061452f565b34801561026d57600080fd5b5061028161027c366004614562565b61070c565b005b34801561028f57600080fd5b506102a361029e3660046144f6565b6108f1565b6040516101f0919061469b565b3480156102bc57600080fd5b506102d06102cb366004614702565b610a93565b604080519283526020830191909152016101f0565b3480156102f157600080fd5b506102a36103003660046144f6565b610ab8565b6102816103133660046147d0565b610e72565b34801561032457600080fd5b506103766103333660046144f6565b600460209081526000928352604080842090915290825290205463ffffffff811690640100000000900473ffffffffffffffffffffffffffffffffffffffff1682565b6040805163ffffffff909316835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101f0565b3480156103b357600080fd5b506103c76103c23660046148c4565b611080565b6040516101f09190614971565b3480156103e057600080fd5b506040805160038152600060208201526001918101919091526060016101f0565b34801561040d57600080fd5b506003546101cf9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561043a57600080fd5b5061044e6104493660046144a7565b611125565b60405190151581526020016101f0565b34801561046a57600080fd5b50610281610479366004614984565b611130565b34801561048a57600080fd5b50610281611209565b34801561049f57600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101cf565b3480156104fe57600080fd5b5061028161050d3660046149ae565b61121d565b34801561051e57600080fd5b5061028161052d366004614a11565b611395565b34801561053e57600080fd5b5061028161054d366004614a2e565b611417565b34801561055e57600080fd5b5061028161056d366004614a11565b61149e565b34801561057e57600080fd5b5061028161058d366004614a11565b6114b2565b34801561059e57600080fd5b506102816105ad366004614a47565b611566565b3480156105be57600080fd5b506102266105cd366004614a11565b60056020526000908152604090205481565b3480156105eb57600080fd5b506102816105fa366004614ab8565b611667565b604080518082019091526000808252602082015263ffffffff80831660008181527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8916845260048352818420948452939091528120805492939092169081900361069057825463ffffffff16610692565b805b63ffffffff1684528154640100000000900473ffffffffffffffffffffffffffffffffffffffff16806106e4578354640100000000900473ffffffffffffffffffffffffffffffffffffffff166106e6565b805b73ffffffffffffffffffffffffffffffffffffffff166020860152509295945050505050565b6107146116cd565b60005b818110156108b3573683838381811061073257610732614ad6565b90506020028101906107449190614b05565b905060ff6107556020830183614b43565b610766906040810190602001614b88565b60ff16036107a0576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6107af6020830183614b43565b6107c0906060810190604001614b88565b60ff16036107fa576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6108106020830183614b43565b61081e906020810190614ba3565b67ffffffffffffffff160361085f576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087d61086f6020830183614b43565b61087890614d90565b61174e565b6108aa600061088f60208401846144a7565b61089c6020850185614b43565b6108a590614d90565b61179f565b50600101610717565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108e5929190614e4e565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a01000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015610a1257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109e7575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a8157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a56575b50505050508152505090505b92915050565b600080610aa88861ffff8b1688888888611b33565b9150915097509795505050505050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b6857825467ffffffffffffffff168452610b87565b67ffffffffffffffff81811614610b875767ffffffffffffffff811684525b815468010000000000000000900460ff16610c3d57825468010000000000000000900460ff1615610c385782600101805480602002602001604051908101604052809291908181526020018280548015610c1757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bec575b50505050506080850152825468010000000000000000900460ff1660208501525b610cdb565b815468010000000000000000900460ff90811614610cdb5781600101805480602002602001604051908101604052809291908181526020018280548015610cba57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c8f575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610daa5782546901000000000000000000900460ff1615610da55782600201805480602002602001604051908101604052809291908181526020018280548015610d6d57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d42575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e60565b81546901000000000000000000900460ff90811614610e605781600201805480602002602001604051908101604052809291908181526020018280548015610e2857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dfd575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e698461174e565b50505092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610ee1576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610ef48d8c8c8c8c8c8a8a611c39565b909250905061ffff8b168d600073ffffffffffffffffffffffffffffffffffffffff881615801590610f3d575060075473ffffffffffffffffffffffffffffffffffffffff1615155b9050600080610f4e84868886611ce6565b9092509050610f5d828761501f565b955085341015610f99576040517f645f0f4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610fa58734615032565b90508015610fb757610fb78c82611e75565b811561102c578473ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff1614611022576040517f5dc90ccd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8583611f80565b7f3dc6f2ede34d1db05729bbb76e5efd17ec1bc83f98f665e7fba0596dca438b96888b8b8a8660405161106395949392919061508e565b60405180910390a150505050505050505050505050505050505050565b6060600182036110be57611098838561ffff166105ff565b6040516020016110a8919061452f565b604051602081830303815290604052905061111e565b600282036110e4576110d4838561ffff16610ab8565b6040516020016110a8919061469b565b6040517f0c509b5b000000000000000000000000000000000000000000000000000000008152600481018390526024015b60405180910390fd5b9392505050565b6000610a8d82612043565b6111386116cd565b6020811115611173576040517f6f85e1b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8216600090815260066020526040902054156111be576040517fe4df7bef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8216600081815260066020908152604091829020849055815192835282018390527ee9ab3709e58edd0db46318d63673d8ae4681fa3e51d9f9dc07cde5109ff74891016108e5565b6112116116cd565b61121b60006120aa565b565b6112256116cd565b60005b81811015611363573683838381811061124357611243614ad6565b60609081029290920192506000916112619150830160408401614a11565b73ffffffffffffffffffffffffffffffffffffffff16036112ae576040517f20e9d05a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112be60408201602083016144a7565b63ffffffff166000036112fd576040517f49cfac4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808052600460209081528201907f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec9061133883856144a7565b63ffffffff168152602081019190915260400160002061135882826150c9565b505050600101611228565b507f2b001e1c6683bf79cc52891bd7215b204c787d18134fc7f3d21b4f32a49e47de82826040516108e5929190615161565b61139d6116cd565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd476ec5ec1ac11cec3714d41e7ea49419471aceb9bd0dff1becfc3e363a62396906020015b60405180910390a150565b61141f6116cd565b600254811115611469576002546040517f34084fb8000000000000000000000000000000000000000000000000000000008152611115918391600401918252602082015260400190565b60028190556040518181527f491ff913b5444f4136b0d4075f020cfe3a5f60de926ec0b091612401a22b78429060200161140c565b6114a66116cd565b6114af8161211f565b50565b6114ba6116cd565b73ffffffffffffffffffffffffffffffffffffffff811661155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401611115565b6114af816120aa565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146115d5576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115e28561ffff16612192565b600183036116095761160461ffff8616856115ff848601866151ee565b6121d9565b611660565b6002830361162b5761160461ffff8616856116268486018661524d565b612293565b6040517f0c509b5b00000000000000000000000000000000000000000000000000000000815260048101849052602401611115565b5050505050565b611670816122dc565b61167a8282611e75565b6040805133815273ffffffffffffffffffffffffffffffffffffffff841660208201529081018290527f820b7fd51bf79c54350bab98400651b3314ff6e79b33528821871d94a6669883906060016108e5565b60005473ffffffffffffffffffffffffffffffffffffffff16331461121b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611115565b602081015160ff161580156117685750606081015160ff16155b156114af576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806117ba5750602081015160ff16155b1561180157608081015151156117fc576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880565b806020015160ff1681608001515114158061183c57506002611825600160ff615282565b61182f919061529b565b60ff16816020015160ff16115b15611873576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118808160800151612346565b604081015160ff908116148061189b5750604081015160ff16155b156119215760a081015151156118dd576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161561191c576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119f8565b806040015160ff168160a001515114158061195c57506002611945600160ff615282565b61194f919061529b565b60ff16816040015160ff16115b15611993576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806119b45750806040015160ff16816060015160ff16115b156119eb576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119f88160a00151612346565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611b0f939085019201906143ff565b5060a08201518051611b2b9160028401916020909101906143ff565b505050505050565b600080600080611b4386866123e0565b915091506000611b548b8b846123f9565b90506000611b628c8c6105ff565b9050611b788a826000015163ffffffff1661240e565b806020015173ffffffffffffffffffffffffffffffffffffffff1663709eb6648c8e8d886040518563ffffffff1660e01b8152600401611bbb94939291906152e4565b602060405180830381865afa158015611bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfc919061532f565b611c06908361501f565b9150600080611c178e8e868e612456565b9092509050611c26828561501f565b9e909d509b505050505050505050505050565b6060600080611c4c8b8b8b8b8b8b61259a565b9050600080611c5b87876123e0565b915091506000611c6f8e8e61ffff166105ff565b60c085015151815191925090611c8c90829063ffffffff1661240e565b611ca582602001518660600151876040015184886128ab565b611caf908761501f565b9550600080611cbe87866129e4565b9092509050611ccd828961501f565b9750809850505050505050509850989650505050505050565b600354600090819073ffffffffffffffffffffffffffffffffffffffff1615611e6c5760405173ffffffffffffffffffffffffffffffffffffffff8716602482015263ffffffff8616604482015260648101859052831515608482015260009060a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd51c5486000000000000000000000000000000000000000000000000000000001790526003549192506000918291611e109173ffffffffffffffffffffffffffffffffffffffff16907f0000000000000000000000000000000000000000000000000000000000000000908490876129ff565b91509150611e2087878484612ab0565b90955093508415611e685760035473ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081208054879290611e6290849061501f565b90915550505b5050505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff8216611ec2576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611f1c576040519150601f19603f3d011682016040523d82523d6000602084013e611f21565b606091505b5050905080611f7b576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401611115565b505050565b6007546003546040517f7da56b4b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201528483166024820152604481018490526064810184905290821660848201527f000000000000000000000000000000000000000000000000000000000000000090911690637da56b4b9060a401600060405180830381600087803b15801561202f57600080fd5b505af1158015611b2b573d6000803e3d6000fd5b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff1615158061111e5750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f3c864541ef71378c6229510ed90f376565ee42d9c5e0904a984a9e863e6db44f9060200161140c565b61219b81612043565b6114af576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401611115565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260046020908152604080832063ffffffff8089168552908352928190208551815493870151909516640100000000027fffffffffffffffff0000000000000000000000000000000000000000000000009093169490931693909317179055517f779cb2dd9d2bb1be1737d05435d744facbfb84a2a4912e21379d39beddcdc8059061228690849086908590615348565b60405180910390a1505050565b61229e82848361179f565b6122a88284610ab8565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f5081828483604051612286939291906153a4565b3360009081526005602052604090205480821115612330576040517f34084fb80000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401611115565b3360009081526005602052604090209190039055565b6000805b8251811015611f7b57600083828151811061236757612367614ad6565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16116123d6576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b915060010161234a565b6060806123ed8484612b2b565b915091505b9250929050565b6000612406848484612c18565b949350505050565b80821115612452576040517fc667af3e0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401611115565b5050565b600354600090819073ffffffffffffffffffffffffffffffffffffffff1615611e6c5760405173ffffffffffffffffffffffffffffffffffffffff8716602482015263ffffffff8616604482015260648101859052831515608482015260009060a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd424422100000000000000000000000000000000000000000000000000000000179052600354919250600091829161257e9173ffffffffffffffffffffffffffffffffffffffff16907f00000000000000000000000000000000000000000000000000000000000000009086612c92565b9150915061258e87878484612ab0565b94509450505050611e6c565b6040805160e0810182526000808252602080830182905282840182905260608084018390526080840183905260a0840183905260c084015261ffff891682526006905291822054909181900361261c576040517fefa83a1300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61262888878784612d3f565b6040517f6fe7b67300000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690636fe7b673906126a3908b908d908c908c906004016153df565b6020604051808303816000875af11580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190615419565b905060006126fe6126f984838a8c615436565b612dff565b6040805160c085901b7fffffffffffffffff000000000000000000000000000000000000000000000000166020808301919091527f000000000000000000000000000000000000000000000000000000000000000060e090811b7fffffffff0000000000000000000000000000000000000000000000000000000016602884015273ffffffffffffffffffffffffffffffffffffffff8f16602c8401528d901b7dffff0000000000000000000000000000000000000000000000000000000016604c830152605080830185905283518084039091018152607090920190925280519101209091506040518060e001604052808467ffffffffffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020018b61ffff1663ffffffff16815260200183815260200182815260200188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152509b9a5050505050505050505050565b6040517f717e8a4200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff87169063717e8a42906129069088908890889088906004016152e4565b6020604051808303816000875af1158015612925573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612949919061532f565b9050801561298c5773ffffffffffffffffffffffffffffffffffffffff86166000908152600560205260408120805483929061298690849061501f565b90915550505b6040805173ffffffffffffffffffffffffffffffffffffffff88168152602081018390527f61ed099e74a97a1d7f8bb0952a88ca8b7b8ebd00c126ea04671f92a81213318a910160405180910390a195945050505050565b600060606129f460058585612e59565b909590945092505050565b60006060863b808303612a2657604080516000808252602082019092529250925050612aa6565b60008060008761ffff1667ffffffffffffffff811115612a4857612a48614bc0565b6040519080825280601f01601f191660200182016040528015612a72576020820181803683370190505b509050600080885160208a018c8f8ff191503d925087831115612a93578792505b828152826000602083013e909450925050505b9550959350505050565b600080831580612ac1575082516020115b15612ad157506000905080611e6c565b600083806020019051810190612ae7919061532f565b90508515612af757809150612b21565b60006002548811612b0a57600254612b0c565b875b9050808211612b1b5781612b1d565b805b9350505b5094509492505050565b606080600080612b3b8686612fb5565b915091508051600003612b9357604080516000808252602082019092528391612b87565b604080518082019091526000815260606020820152815260200190600190039081612b5f5790505b509350935050506123f2565b604080516001808252818301909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081612baa5790505090506040518060400160405280600260ff1681526020018381525081600081518110612c0057612c00614ad6565b60209081029190910101529196919550909350505050565b600080612c258585610ab8565b905060008351600014612c565783600081518110612c4557612c45614ad6565b602002602001015160200151612c67565b604051806020016040528060008152505b9050600080612c75836131f6565b91509150612c8684888a858561349a565b98975050505050505050565b60006060853b808303612cb957604080516000808252602082019092529250925050611e6c565b60008060008761ffff1667ffffffffffffffff811115612cdb57612cdb614bc0565b6040519080825280601f01601f191660200182016040528015612d05576020820181803683370190505b509050600080885160208a018d8dfa91503d925087831115612d25578792505b828152826000602083013e90999098509650505050505050565b612d4a81601461501f565b8214612d82576040517fefa83a1300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612d98612d9384848188615436565b613658565b90508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611660576040517fc1c149b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020821115612e3c576040517f6281faa200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e468284615460565b6020929092036008029190911c92915050565b600060606000612e68856136a8565b90506000612e758661378e565b805160208201206060880151604089015192935090916000612e978284610ab8565b905060008951600014612ec85789600081518110612eb757612eb7614ad6565b602002602001015160200151612ed9565b604051806020016040528060008152505b90506060612f398d846040518060a001604052808963ffffffff1681526020018c81526020018a8152602001876000015167ffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff16815250856137ab565b604051919b509150612f51908990899060200161549c565b60405160208183030381529060405298507f07ea52d82345d6e838192107d8fd7123d9c2ec8e916cd0aad13fd2b60db2464483608001518460a0015183604051612f9d939291906154cb565b60405180910390a15050505050505050935093915050565b6060806002831015612ff6576040517f6592671c00000000000000000000000000000000000000000000000000000000815260006004820152602401611115565b60006130056002828688615436565b61300e91615529565b60f01c905060027ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd82016131df578060005b8683101561316b57600061305960018501858a8c615436565b61306291615571565b60f81c905060008190036130a5576040517f6780cfaf00000000000000000000000000000000000000000000000000000000815260006004820152602401611115565b8160ff166000036130b8578091506130f5565b8160ff168160ff16146130f5573660006130d486868c8e615436565b915091506130e58989868585613a97565b9099509750859450919250829150505b600184019360009061310c90600301868b8d615436565b61311591615529565b60f01c90506000819003613158576040517f6592671c00000000000000000000000000000000000000000000000000000000815260048101869052602401611115565b8060020161ffff16850194505050613040565b8287146131a7576040517f6592671c00000000000000000000000000000000000000000000000000000000815260048101849052602401611115565b60028711156131d8573660006131bf85858b8d615436565b915091506131d08888858585613a97565b909850965050505b50506131ed565b6131ea828787613c0c565b93505b50509250929050565b606080825160000361320757915091565b600061321284613e8b565b90508060ff166001036132c45760408051600180825281830190925290816020015b6060815260200190600190039081613234579050509250838360008151811061325f5761325f614ad6565b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509150613297846003613fb0565b826000815181106132aa576132aa614ad6565b602002602001019060ff16908160ff168152505050915091565b8060ff1667ffffffffffffffff8111156132e0576132e0614bc0565b604051908082528060200260200182016040528015613309578160200160208202803683370190505b5091508060ff1667ffffffffffffffff81111561332857613328614bc0565b60405190808252806020026020018201604052801561335b57816020015b60608152602001906001900390816133465790505b50925060008060ff5b865183101561340f57600190920191600061337f8885614030565b60029490940193905060006133948986613fb0565b90508260ff1660ff036133a957809250613400565b8260ff168160ff1614613400577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8486030160006133e88b87846140b0565b90506133f68a8a878461422a565b5093909301929150815b5061ffff169290920191613364565b818303600061341f8985846140b0565b905061342d8888858461422a565b60005b8660ff168160ff16101561348e57878160ff168151811061345357613453614ad6565b6020908102919091010180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160ff169052600101613430565b50505050505050915091565b600080866040015187602001516134b191906155b7565b905060005b8160ff168160ff16101561364d576000886020015160ff168260ff161061350b5760a089015160208a01516134eb9084615282565b60ff16815181106134fe576134fe614ad6565b602002602001015161352d565b88608001518260ff168151811061352457613524614ad6565b60200260200101515b60408051602081019091526000808252919250905b865181101561359a578360ff1687828151811061356157613561614ad6565b602002602001015160ff16036135925787818151811061358357613583614ad6565b6020026020010151915061359a565b600101613542565b5089516040517f30bb3aac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416916330bb3aac916135f3918d918d9087906004016155d0565b602060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613634919061532f565b61363e908661501f565b945050508060010190506134b6565b505095945050505050565b600060148214613694576040517f6281faa200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61369e828461561b565b60601c9392505050565b8051602080830151604080850151606080870151608088015193517f01000000000000000000000000000000000000000000000000000000000000009681019690965260c09690961b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e093841b7fffffffff00000000000000000000000000000000000000000000000000000000908116602987015273ffffffffffffffffffffffffffffffffffffffff909216602d8601529490921b909116604d83015260518201526071015b6040516020818303038152906040529050919050565b60608160a001518260c00151604051602001613778929190615661565b600060606000806137bb856131f6565b915091506000876040015188602001516137d591906155b7565b90508060ff1667ffffffffffffffff8111156137f3576137f3614bc0565b60405190808252806020026020018201604052801561381c578160200160208202803683370190505b50935060005b8160ff168160ff161015613a8a576000896020015160ff168260ff16106138775760a08a015160208b01516138579084615282565b60ff168151811061386a5761386a614ad6565b6020026020010151613899565b89608001518260ff168151811061389057613890614ad6565b60200260200101515b60408051602081019091526000808252919250905b8551811015613906578360ff168682815181106138cd576138cd614ad6565b602002602001015160ff16036138fe578681815181106138ef576138ef614ad6565b60200260200101519150613906565b6001016138ae565b506040517f95d376d700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906395d376d79061395b908d908590600401615687565b6020604051808303816000875af115801561397a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061399e919061532f565b878460ff16815181106139b3576139b3614ad6565b6020026020010181815250506000878460ff16815181106139d6576139d6614ad6565b60200260200101511115613a8057868360ff16815181106139f9576139f9614ad6565b60200260200101518c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613a4e919061501f565b92505081905550868360ff1681518110613a6a57613a6a614ad6565b602002602001015188613a7d919061501f565b97505b5050600101613822565b5050505094509492505050565b6060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff861601613b3257865115613af457868484604051602001613ae093929190615705565b604051602081830303815290604052613b2b565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050505b9650613c01565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff861601613bca57855115613b8c57858484604051602001613b7893929190615705565b604051602081830303815290604052613bc3565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050505b9550613c01565b6040517f6780cfaf00000000000000000000000000000000000000000000000000000000815260ff86166004820152602401611115565b509495939450505050565b60607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff851601613d325760228214613c73576040517f0dc652a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613c94613c86602260028688615436565b613c8f91615460565b614359565b6040517f0100000000000000000000000000000000000000000000000000000000000000602082018190527e11000000000000000000000000000000000000000000000000000000000000602183015260238201527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608083901b16602482015290915060340160405160208183030381529060405291505061111e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe61ffff851601613e5357604282111580613d6d5750606282115b15613da4576040517fc0927c5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613db7613c86602260028688615436565b90506000613dcc613c86604260228789615436565b905060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbe8501613e00866042818a615436565b613e0991615460565b60405160086020938403029190911c9250613e3a916001916011918391889183916031916002918b918b910161572d565b604051602081830303815290604052935050505061111e565b6040517f4170513000000000000000000000000000000000000000000000000000000000815261ffff85166004820152602401611115565b600080805b8351821015613f6c576001909101906000613eab8584614030565b905060028301925060028161ffff161015613ef5576040517f04eb6e0c00000000000000000000000000000000000000000000000000000000815260048101849052602401611115565b6000613f018685613fb0565b90508060ff1660ff03613f40576040517fd3d3d9bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160ff82161b8316613f5d5760019485019460ff82161b831792505b5061ffff169190910190613e90565b83518214613fa9576040517f04eb6e0c00000000000000000000000000000000000000000000000000000000815260048101839052602401611115565b5050919050565b6000613fbd82600161501f565b83511015614027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e6473000000000000000000000000006044820152606401611115565b50016001015190565b600061403d82600261501f565b835110156140a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e64730000000000000000000000006044820152606401611115565b50016002015190565b6060816140be81601f61501f565b1015614126576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401611115565b614130828461501f565b8451101561419a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401611115565b6060821580156141b95760405191506000825260208201604052614221565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156141f25780518352602092830192016141da565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b8160ff1660ff03614267576040517fd3d3d9bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142748360016155b7565b905060005b8451811015611b2b57600085828151811061429657614296614ad6565b602002602001015190508060ff168360ff160361430b578682815181106142bf576142bf614ad6565b6020026020010151846040516020016142d992919061549c565b6040516020818303038152906040528783815181106142fa576142fa614ad6565b602002602001018190525050611b2b565b8060ff16600003614350578286838151811061432957614329614ad6565b602002602001019060ff16908160ff1681525050838783815181106142fa576142fa614ad6565b50600101614279565b60006fffffffffffffffffffffffffffffffff8211156143fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401611115565b5090565b828054828255906000526020600020908101928215614479579160200282015b8281111561447957825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90911617825560209092019160019091019061441f565b506143fb9291505b808211156143fb5760008155600101614481565b63ffffffff811681146114af57600080fd5b6000602082840312156144b957600080fd5b813561111e81614495565b73ffffffffffffffffffffffffffffffffffffffff811681146114af57600080fd5b80356144f1816144c4565b919050565b6000806040838503121561450957600080fd5b8235614514816144c4565b9150602083013561452481614495565b809150509250929050565b815163ffffffff16815260208083015173ffffffffffffffffffffffffffffffffffffffff169082015260408101610a8d565b6000806020838503121561457557600080fd5b823567ffffffffffffffff8082111561458d57600080fd5b818501915085601f8301126145a157600080fd5b8135818111156145b057600080fd5b8660208260051b85010111156145c557600080fd5b60209290920196919550909350505050565b60008151808452602080850194506020840160005b8381101561461e57815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016145ec565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261467960c08501826145d7565b905060a083015184820360a086015261469282826145d7565b95945050505050565b60208152600061111e6020830184614629565b803561ffff811681146144f157600080fd5b60008083601f8401126146d257600080fd5b50813567ffffffffffffffff8111156146ea57600080fd5b6020830191508360208285010111156123f257600080fd5b600080600080600080600060a0888a03121561471d57600080fd5b614726886146ae565b96506020880135614736816144c4565b9550604088013567ffffffffffffffff8082111561475357600080fd5b61475f8b838c016146c0565b909750955060608a01359150811515821461477957600080fd5b9093506080890135908082111561478f57600080fd5b5061479c8a828b016146c0565b989b979a50959850939692959293505050565b67ffffffffffffffff811681146114af57600080fd5b80356144f1816147af565b60008060008060008060008060008060006101008c8e0312156147f257600080fd5b6147fb8c6144e6565b9a5061480960208d016147c5565b995061481760408d016146ae565b985067ffffffffffffffff8060608e0135111561483357600080fd5b6148438e60608f01358f016146c0565b909950975060808d013581101561485957600080fd5b6148698e60808f01358f016146c0565b909750955061487a60a08e016144e6565b945061488860c08e016144e6565b93508060e08e0135111561489b57600080fd5b506148ac8d60e08e01358e016146c0565b81935080925050509295989b509295989b9093969950565b6000806000606084860312156148d957600080fd5b6148e2846146ae565b925060208401356148f2816144c4565b929592945050506040919091013590565b60005b8381101561491e578181015183820152602001614906565b50506000910152565b6000815180845261493f816020860160208601614903565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061111e6020830184614927565b6000806040838503121561499757600080fd5b6149a0836146ae565b946020939093013593505050565b600080602083850312156149c157600080fd5b823567ffffffffffffffff808211156149d957600080fd5b818501915085601f8301126149ed57600080fd5b8135818111156149fc57600080fd5b8660206060830285010111156145c557600080fd5b600060208284031215614a2357600080fd5b813561111e816144c4565b600060208284031215614a4057600080fd5b5035919050565b600080600080600060808688031215614a5f57600080fd5b614a68866146ae565b94506020860135614a78816144c4565b935060408601359250606086013567ffffffffffffffff811115614a9b57600080fd5b614aa7888289016146c0565b969995985093965092949392505050565b60008060408385031215614acb57600080fd5b82356149a0816144c4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112614b3957600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112614b3957600080fd5b803560ff811681146144f157600080fd5b600060208284031215614b9a57600080fd5b61111e82614b77565b600060208284031215614bb557600080fd5b813561111e816147af565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715614c1257614c12614bc0565b60405290565b600082601f830112614c2957600080fd5b8135602067ffffffffffffffff80831115614c4657614c46614bc0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108482111715614c8957614c89614bc0565b6040529384526020818701810194908101925087851115614ca957600080fd5b6020870191505b84821015614cd2578135614cc3816144c4565b83529183019190830190614cb0565b979650505050505050565b600060c08284031215614cef57600080fd5b614cf7614bef565b9050614d02826147c5565b8152614d1060208301614b77565b6020820152614d2160408301614b77565b6040820152614d3260608301614b77565b6060820152608082013567ffffffffffffffff80821115614d5257600080fd5b614d5e85838601614c18565b608084015260a0840135915080821115614d7757600080fd5b50614d8484828501614c18565b60a08301525092915050565b6000610a8d3683614cdd565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614dd157600080fd5b830160208101925035905067ffffffffffffffff811115614df157600080fd5b8060051b36038213156123f257600080fd5b8183526000602080850194508260005b8581101561461e578135614e26816144c4565b73ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614e13565b60208082528181018390526000906040808401600586901b8501820187855b88811015614fe2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c3603018112614ecf57600080fd5b8b018035614edc81614495565b63ffffffff16855280880135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41018112614f1957600080fd5b858901889052018035614f2b816147af565b67ffffffffffffffff1685880152614f44818901614b77565b606060ff80831682890152614f5a8a8501614b77565b92506080818416818a0152614f70838601614b77565b935060a09250818416838a0152614f8981860186614d9c565b60c08b81015294509150614fa4905061010089018483614e03565b925050614fb381840184614d9c565b93509050838783030160e0880152614fcc828483614e03565b978a019796505050928701925050600101614e6d565b509098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610a8d57610a8d614ff0565b81810381811115610a8d57610a8d614ff0565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6080815260006150a16080830188614927565b82810360208401526150b4818789615045565b60408401959095525050606001529392505050565b81356150d481614495565b63ffffffff811690508154817fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000082161783556020840135615114816144c4565b77ffffffffffffffffffffffffffffffffffffffff000000008160201b16837fffffffffffffffff0000000000000000000000000000000000000000000000008416171784555050505050565b6020808252818101839052600090604080840186845b878110156151e157813561518a81614495565b63ffffffff908116845282860135906151a282614495565b1683860152818401356151b4816144c4565b73ffffffffffffffffffffffffffffffffffffffff16838501526060928301929190910190600101615177565b5090979650505050505050565b60006040828403121561520057600080fd5b6040516040810181811067ffffffffffffffff8211171561522357615223614bc0565b604052823561523181614495565b81526020830135615241816144c4565b60208201529392505050565b60006020828403121561525f57600080fd5b813567ffffffffffffffff81111561527657600080fd5b61240684828501614cdd565b60ff8281168282160390811115610a8d57610a8d614ff0565b600060ff8316806152d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b63ffffffff8516815273ffffffffffffffffffffffffffffffffffffffff841660208201528260408201526080606082015260006153256080830184614927565b9695505050505050565b60006020828403121561534157600080fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152608081016124066040830184805163ffffffff16825260209081015173ffffffffffffffffffffffffffffffffffffffff16910152565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006146926060830184614629565b61ffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152606060408201526000615325606083018486615045565b60006020828403121561542b57600080fd5b815161111e816147af565b6000808585111561544657600080fd5b8386111561545357600080fd5b5050820193919092039150565b80356020831015610a8d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b600083516154ae818460208801614903565b8351908301906154c2818360208801614903565b01949350505050565b6060815260006154de60608301866145d7565b602083820360208501526154f282876145d7565b84810360408601528551808252602080880194509091019060005b81811015614fe25784518352938301939183019160010161550d565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156155695780818660020360031b1b83161692505b505092915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156155695760019490940360031b84901b1690921692915050565b60ff8181168382160190811115610a8d57610a8d614ff0565b63ffffffff8516815267ffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff831660408201526080606082015260006153256080830184614927565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156155695760149490940360031b84901b1690921692915050565b82815260008251615679816020850160208701614903565b919091016020019392505050565b6040815263ffffffff83511660408201526000602084015160a060608401526156b360e0840182614927565b90506040850151608084015267ffffffffffffffff60608601511660a084015273ffffffffffffffffffffffffffffffffffffffff60808601511660c084015282810360208401526146928185614927565b60008451615717818460208901614903565b8201838582376000930192835250909392505050565b60007fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1683527fffff000000000000000000000000000000000000000000000000000000000000808c60f01b166001850152818b60f81b1660038501527fffffffffffffffffffffffffffffffff000000000000000000000000000000008a60801b166004850152818960f81b166014850152808860f01b16601585015250808660f81b1660178401525061580e601883018560801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169052565b5060288101919091526048019897505050505050505056fea2646970667358221220abc6a1f4c7f02e4cc85ec6c01abfcdb8ca7e00eb209be79ae92e7ac1c048019064736f6c63430008160033",
1314
- "deployedBytecode": "0x6080604052600436106101965760003560e01c80636750cd4c116100e1578063c28e0eed1161008a578063f2fde38b11610064578063f2fde38b14610572578063f8e1734c14610592578063faaebd21146105b2578063fd9be522146105df57600080fd5b8063c28e0eed14610512578063d15b0d4914610532578063f0f442601461055257600080fd5b806389b69dec116100bb57806389b69dec146104935780638da5cb5b146104c7578063c14c4349146104f257600080fd5b80636750cd4c1461042e5780636d26e5d01461045e578063715018a61461047e57600080fd5b806343ea4fa91161014357806352d2871f1161011d57806352d2871f146103a757806354fd4d50146103d457806361d027b31461040157600080fd5b806343ea4fa9146102e55780634d3a0f7c146103055780634d9632001461031857600080fd5b806329460b0b1161017457806329460b0b1461026157806339e3f9381461028357806340a7bb10146102b057600080fd5b806302bd97431461019b5780630f8355c0146101f9578063188183f414610234575b600080fd5b3480156101a757600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561020557600080fd5b506102266102143660046144a7565b60066020526000908152604090205481565b6040519081526020016101f0565b34801561024057600080fd5b5061025461024f3660046144f6565b6105ff565b6040516101f0919061452f565b34801561026d57600080fd5b5061028161027c366004614562565b61070c565b005b34801561028f57600080fd5b506102a361029e3660046144f6565b6108f1565b6040516101f0919061469b565b3480156102bc57600080fd5b506102d06102cb366004614702565b610a93565b604080519283526020830191909152016101f0565b3480156102f157600080fd5b506102a36103003660046144f6565b610ab8565b6102816103133660046147d0565b610e72565b34801561032457600080fd5b506103766103333660046144f6565b600460209081526000928352604080842090915290825290205463ffffffff811690640100000000900473ffffffffffffffffffffffffffffffffffffffff1682565b6040805163ffffffff909316835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101f0565b3480156103b357600080fd5b506103c76103c23660046148c4565b611080565b6040516101f09190614971565b3480156103e057600080fd5b506040805160038152600060208201526001918101919091526060016101f0565b34801561040d57600080fd5b506003546101cf9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561043a57600080fd5b5061044e6104493660046144a7565b611125565b60405190151581526020016101f0565b34801561046a57600080fd5b50610281610479366004614984565b611130565b34801561048a57600080fd5b50610281611209565b34801561049f57600080fd5b506101cf7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101cf565b3480156104fe57600080fd5b5061028161050d3660046149ae565b61121d565b34801561051e57600080fd5b5061028161052d366004614a11565b611395565b34801561053e57600080fd5b5061028161054d366004614a2e565b611417565b34801561055e57600080fd5b5061028161056d366004614a11565b61149e565b34801561057e57600080fd5b5061028161058d366004614a11565b6114b2565b34801561059e57600080fd5b506102816105ad366004614a47565b611566565b3480156105be57600080fd5b506102266105cd366004614a11565b60056020526000908152604090205481565b3480156105eb57600080fd5b506102816105fa366004614ab8565b611667565b604080518082019091526000808252602082015263ffffffff80831660008181527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8916845260048352818420948452939091528120805492939092169081900361069057825463ffffffff16610692565b805b63ffffffff1684528154640100000000900473ffffffffffffffffffffffffffffffffffffffff16806106e4578354640100000000900473ffffffffffffffffffffffffffffffffffffffff166106e6565b805b73ffffffffffffffffffffffffffffffffffffffff166020860152509295945050505050565b6107146116cd565b60005b818110156108b3573683838381811061073257610732614ad6565b90506020028101906107449190614b05565b905060ff6107556020830183614b43565b610766906040810190602001614b88565b60ff16036107a0576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6107af6020830183614b43565b6107c0906060810190604001614b88565b60ff16036107fa576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6108106020830183614b43565b61081e906020810190614ba3565b67ffffffffffffffff160361085f576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61087d61086f6020830183614b43565b61087890614d90565b61174e565b6108aa600061088f60208401846144a7565b61089c6020850185614b43565b6108a590614d90565b61179f565b50600101610717565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108e5929190614e4e565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a01000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015610a1257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109e7575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a8157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a56575b50505050508152505090505b92915050565b600080610aa88861ffff8b1688888888611b33565b9150915097509795505050505050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b6857825467ffffffffffffffff168452610b87565b67ffffffffffffffff81811614610b875767ffffffffffffffff811684525b815468010000000000000000900460ff16610c3d57825468010000000000000000900460ff1615610c385782600101805480602002602001604051908101604052809291908181526020018280548015610c1757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bec575b50505050506080850152825468010000000000000000900460ff1660208501525b610cdb565b815468010000000000000000900460ff90811614610cdb5781600101805480602002602001604051908101604052809291908181526020018280548015610cba57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c8f575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610daa5782546901000000000000000000900460ff1615610da55782600201805480602002602001604051908101604052809291908181526020018280548015610d6d57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d42575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e60565b81546901000000000000000000900460ff90811614610e605781600201805480602002602001604051908101604052809291908181526020018280548015610e2857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dfd575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e698461174e565b50505092915050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610ee1576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610ef48d8c8c8c8c8c8a8a611c39565b909250905061ffff8b168d600073ffffffffffffffffffffffffffffffffffffffff881615801590610f3d575060075473ffffffffffffffffffffffffffffffffffffffff1615155b9050600080610f4e84868886611ce6565b9092509050610f5d828761501f565b955085341015610f99576040517f645f0f4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610fa58734615032565b90508015610fb757610fb78c82611e75565b811561102c578473ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff1614611022576040517f5dc90ccd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8583611f80565b7f3dc6f2ede34d1db05729bbb76e5efd17ec1bc83f98f665e7fba0596dca438b96888b8b8a8660405161106395949392919061508e565b60405180910390a150505050505050505050505050505050505050565b6060600182036110be57611098838561ffff166105ff565b6040516020016110a8919061452f565b604051602081830303815290604052905061111e565b600282036110e4576110d4838561ffff16610ab8565b6040516020016110a8919061469b565b6040517f0c509b5b000000000000000000000000000000000000000000000000000000008152600481018390526024015b60405180910390fd5b9392505050565b6000610a8d82612043565b6111386116cd565b6020811115611173576040517f6f85e1b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8216600090815260066020526040902054156111be576040517fe4df7bef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8216600081815260066020908152604091829020849055815192835282018390527ee9ab3709e58edd0db46318d63673d8ae4681fa3e51d9f9dc07cde5109ff74891016108e5565b6112116116cd565b61121b60006120aa565b565b6112256116cd565b60005b81811015611363573683838381811061124357611243614ad6565b60609081029290920192506000916112619150830160408401614a11565b73ffffffffffffffffffffffffffffffffffffffff16036112ae576040517f20e9d05a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112be60408201602083016144a7565b63ffffffff166000036112fd576040517f49cfac4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808052600460209081528201907f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec9061133883856144a7565b63ffffffff168152602081019190915260400160002061135882826150c9565b505050600101611228565b507f2b001e1c6683bf79cc52891bd7215b204c787d18134fc7f3d21b4f32a49e47de82826040516108e5929190615161565b61139d6116cd565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd476ec5ec1ac11cec3714d41e7ea49419471aceb9bd0dff1becfc3e363a62396906020015b60405180910390a150565b61141f6116cd565b600254811115611469576002546040517f34084fb8000000000000000000000000000000000000000000000000000000008152611115918391600401918252602082015260400190565b60028190556040518181527f491ff913b5444f4136b0d4075f020cfe3a5f60de926ec0b091612401a22b78429060200161140c565b6114a66116cd565b6114af8161211f565b50565b6114ba6116cd565b73ffffffffffffffffffffffffffffffffffffffff811661155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401611115565b6114af816120aa565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1633146115d5576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115e28561ffff16612192565b600183036116095761160461ffff8616856115ff848601866151ee565b6121d9565b611660565b6002830361162b5761160461ffff8616856116268486018661524d565b612293565b6040517f0c509b5b00000000000000000000000000000000000000000000000000000000815260048101849052602401611115565b5050505050565b611670816122dc565b61167a8282611e75565b6040805133815273ffffffffffffffffffffffffffffffffffffffff841660208201529081018290527f820b7fd51bf79c54350bab98400651b3314ff6e79b33528821871d94a6669883906060016108e5565b60005473ffffffffffffffffffffffffffffffffffffffff16331461121b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611115565b602081015160ff161580156117685750606081015160ff16155b156114af576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806117ba5750602081015160ff16155b1561180157608081015151156117fc576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611880565b806020015160ff1681608001515114158061183c57506002611825600160ff615282565b61182f919061529b565b60ff16816020015160ff16115b15611873576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118808160800151612346565b604081015160ff908116148061189b5750604081015160ff16155b156119215760a081015151156118dd576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161561191c576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119f8565b806040015160ff168160a001515114158061195c57506002611945600160ff615282565b61194f919061529b565b60ff16816040015160ff16115b15611993576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806119b45750806040015160ff16816060015160ff16115b156119eb576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6119f88160a00151612346565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611b0f939085019201906143ff565b5060a08201518051611b2b9160028401916020909101906143ff565b505050505050565b600080600080611b4386866123e0565b915091506000611b548b8b846123f9565b90506000611b628c8c6105ff565b9050611b788a826000015163ffffffff1661240e565b806020015173ffffffffffffffffffffffffffffffffffffffff1663709eb6648c8e8d886040518563ffffffff1660e01b8152600401611bbb94939291906152e4565b602060405180830381865afa158015611bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfc919061532f565b611c06908361501f565b9150600080611c178e8e868e612456565b9092509050611c26828561501f565b9e909d509b505050505050505050505050565b6060600080611c4c8b8b8b8b8b8b61259a565b9050600080611c5b87876123e0565b915091506000611c6f8e8e61ffff166105ff565b60c085015151815191925090611c8c90829063ffffffff1661240e565b611ca582602001518660600151876040015184886128ab565b611caf908761501f565b9550600080611cbe87866129e4565b9092509050611ccd828961501f565b9750809850505050505050509850989650505050505050565b600354600090819073ffffffffffffffffffffffffffffffffffffffff1615611e6c5760405173ffffffffffffffffffffffffffffffffffffffff8716602482015263ffffffff8616604482015260648101859052831515608482015260009060a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd51c5486000000000000000000000000000000000000000000000000000000001790526003549192506000918291611e109173ffffffffffffffffffffffffffffffffffffffff16907f0000000000000000000000000000000000000000000000000000000000000000908490876129ff565b91509150611e2087878484612ab0565b90955093508415611e685760035473ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604081208054879290611e6290849061501f565b90915550505b5050505b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff8216611ec2576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611f1c576040519150601f19603f3d011682016040523d82523d6000602084013e611f21565b606091505b5050905080611f7b576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401611115565b505050565b6007546003546040517f7da56b4b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201528483166024820152604481018490526064810184905290821660848201527f000000000000000000000000000000000000000000000000000000000000000090911690637da56b4b9060a401600060405180830381600087803b15801561202f57600080fd5b505af1158015611b2b573d6000803e3d6000fd5b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff1615158061111e5750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f3c864541ef71378c6229510ed90f376565ee42d9c5e0904a984a9e863e6db44f9060200161140c565b61219b81612043565b6114af576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401611115565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260046020908152604080832063ffffffff8089168552908352928190208551815493870151909516640100000000027fffffffffffffffff0000000000000000000000000000000000000000000000009093169490931693909317179055517f779cb2dd9d2bb1be1737d05435d744facbfb84a2a4912e21379d39beddcdc8059061228690849086908590615348565b60405180910390a1505050565b61229e82848361179f565b6122a88284610ab8565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f5081828483604051612286939291906153a4565b3360009081526005602052604090205480821115612330576040517f34084fb80000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401611115565b3360009081526005602052604090209190039055565b6000805b8251811015611f7b57600083828151811061236757612367614ad6565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16116123d6576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b915060010161234a565b6060806123ed8484612b2b565b915091505b9250929050565b6000612406848484612c18565b949350505050565b80821115612452576040517fc667af3e0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401611115565b5050565b600354600090819073ffffffffffffffffffffffffffffffffffffffff1615611e6c5760405173ffffffffffffffffffffffffffffffffffffffff8716602482015263ffffffff8616604482015260648101859052831515608482015260009060a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd424422100000000000000000000000000000000000000000000000000000000179052600354919250600091829161257e9173ffffffffffffffffffffffffffffffffffffffff16907f00000000000000000000000000000000000000000000000000000000000000009086612c92565b9150915061258e87878484612ab0565b94509450505050611e6c565b6040805160e0810182526000808252602080830182905282840182905260608084018390526080840183905260a0840183905260c084015261ffff891682526006905291822054909181900361261c576040517fefa83a1300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61262888878784612d3f565b6040517f6fe7b67300000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690636fe7b673906126a3908b908d908c908c906004016153df565b6020604051808303816000875af11580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190615419565b905060006126fe6126f984838a8c615436565b612dff565b6040805160c085901b7fffffffffffffffff000000000000000000000000000000000000000000000000166020808301919091527f000000000000000000000000000000000000000000000000000000000000000060e090811b7fffffffff0000000000000000000000000000000000000000000000000000000016602884015273ffffffffffffffffffffffffffffffffffffffff8f16602c8401528d901b7dffff0000000000000000000000000000000000000000000000000000000016604c830152605080830185905283518084039091018152607090920190925280519101209091506040518060e001604052808467ffffffffffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000000063ffffffff1681526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020018b61ffff1663ffffffff16815260200183815260200182815260200188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152509b9a5050505050505050505050565b6040517f717e8a4200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff87169063717e8a42906129069088908890889088906004016152e4565b6020604051808303816000875af1158015612925573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612949919061532f565b9050801561298c5773ffffffffffffffffffffffffffffffffffffffff86166000908152600560205260408120805483929061298690849061501f565b90915550505b6040805173ffffffffffffffffffffffffffffffffffffffff88168152602081018390527f61ed099e74a97a1d7f8bb0952a88ca8b7b8ebd00c126ea04671f92a81213318a910160405180910390a195945050505050565b600060606129f460058585612e59565b909590945092505050565b60006060863b808303612a2657604080516000808252602082019092529250925050612aa6565b60008060008761ffff1667ffffffffffffffff811115612a4857612a48614bc0565b6040519080825280601f01601f191660200182016040528015612a72576020820181803683370190505b509050600080885160208a018c8f8ff191503d925087831115612a93578792505b828152826000602083013e909450925050505b9550959350505050565b600080831580612ac1575082516020115b15612ad157506000905080611e6c565b600083806020019051810190612ae7919061532f565b90508515612af757809150612b21565b60006002548811612b0a57600254612b0c565b875b9050808211612b1b5781612b1d565b805b9350505b5094509492505050565b606080600080612b3b8686612fb5565b915091508051600003612b9357604080516000808252602082019092528391612b87565b604080518082019091526000815260606020820152815260200190600190039081612b5f5790505b509350935050506123f2565b604080516001808252818301909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081612baa5790505090506040518060400160405280600260ff1681526020018381525081600081518110612c0057612c00614ad6565b60209081029190910101529196919550909350505050565b600080612c258585610ab8565b905060008351600014612c565783600081518110612c4557612c45614ad6565b602002602001015160200151612c67565b604051806020016040528060008152505b9050600080612c75836131f6565b91509150612c8684888a858561349a565b98975050505050505050565b60006060853b808303612cb957604080516000808252602082019092529250925050611e6c565b60008060008761ffff1667ffffffffffffffff811115612cdb57612cdb614bc0565b6040519080825280601f01601f191660200182016040528015612d05576020820181803683370190505b509050600080885160208a018d8dfa91503d925087831115612d25578792505b828152826000602083013e90999098509650505050505050565b612d4a81601461501f565b8214612d82576040517fefa83a1300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612d98612d9384848188615436565b613658565b90508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611660576040517fc1c149b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020821115612e3c576040517f6281faa200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612e468284615460565b6020929092036008029190911c92915050565b600060606000612e68856136a8565b90506000612e758661378e565b805160208201206060880151604089015192935090916000612e978284610ab8565b905060008951600014612ec85789600081518110612eb757612eb7614ad6565b602002602001015160200151612ed9565b604051806020016040528060008152505b90506060612f398d846040518060a001604052808963ffffffff1681526020018c81526020018a8152602001876000015167ffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff16815250856137ab565b604051919b509150612f51908990899060200161549c565b60405160208183030381529060405298507f07ea52d82345d6e838192107d8fd7123d9c2ec8e916cd0aad13fd2b60db2464483608001518460a0015183604051612f9d939291906154cb565b60405180910390a15050505050505050935093915050565b6060806002831015612ff6576040517f6592671c00000000000000000000000000000000000000000000000000000000815260006004820152602401611115565b60006130056002828688615436565b61300e91615529565b60f01c905060027ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd82016131df578060005b8683101561316b57600061305960018501858a8c615436565b61306291615571565b60f81c905060008190036130a5576040517f6780cfaf00000000000000000000000000000000000000000000000000000000815260006004820152602401611115565b8160ff166000036130b8578091506130f5565b8160ff168160ff16146130f5573660006130d486868c8e615436565b915091506130e58989868585613a97565b9099509750859450919250829150505b600184019360009061310c90600301868b8d615436565b61311591615529565b60f01c90506000819003613158576040517f6592671c00000000000000000000000000000000000000000000000000000000815260048101869052602401611115565b8060020161ffff16850194505050613040565b8287146131a7576040517f6592671c00000000000000000000000000000000000000000000000000000000815260048101849052602401611115565b60028711156131d8573660006131bf85858b8d615436565b915091506131d08888858585613a97565b909850965050505b50506131ed565b6131ea828787613c0c565b93505b50509250929050565b606080825160000361320757915091565b600061321284613e8b565b90508060ff166001036132c45760408051600180825281830190925290816020015b6060815260200190600190039081613234579050509250838360008151811061325f5761325f614ad6565b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509150613297846003613fb0565b826000815181106132aa576132aa614ad6565b602002602001019060ff16908160ff168152505050915091565b8060ff1667ffffffffffffffff8111156132e0576132e0614bc0565b604051908082528060200260200182016040528015613309578160200160208202803683370190505b5091508060ff1667ffffffffffffffff81111561332857613328614bc0565b60405190808252806020026020018201604052801561335b57816020015b60608152602001906001900390816133465790505b50925060008060ff5b865183101561340f57600190920191600061337f8885614030565b60029490940193905060006133948986613fb0565b90508260ff1660ff036133a957809250613400565b8260ff168160ff1614613400577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8486030160006133e88b87846140b0565b90506133f68a8a878461422a565b5093909301929150815b5061ffff169290920191613364565b818303600061341f8985846140b0565b905061342d8888858461422a565b60005b8660ff168160ff16101561348e57878160ff168151811061345357613453614ad6565b6020908102919091010180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160ff169052600101613430565b50505050505050915091565b600080866040015187602001516134b191906155b7565b905060005b8160ff168160ff16101561364d576000886020015160ff168260ff161061350b5760a089015160208a01516134eb9084615282565b60ff16815181106134fe576134fe614ad6565b602002602001015161352d565b88608001518260ff168151811061352457613524614ad6565b60200260200101515b60408051602081019091526000808252919250905b865181101561359a578360ff1687828151811061356157613561614ad6565b602002602001015160ff16036135925787818151811061358357613583614ad6565b6020026020010151915061359a565b600101613542565b5089516040517f30bb3aac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416916330bb3aac916135f3918d918d9087906004016155d0565b602060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613634919061532f565b61363e908661501f565b945050508060010190506134b6565b505095945050505050565b600060148214613694576040517f6281faa200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61369e828461561b565b60601c9392505050565b8051602080830151604080850151606080870151608088015193517f01000000000000000000000000000000000000000000000000000000000000009681019690965260c09690961b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e093841b7fffffffff00000000000000000000000000000000000000000000000000000000908116602987015273ffffffffffffffffffffffffffffffffffffffff909216602d8601529490921b909116604d83015260518201526071015b6040516020818303038152906040529050919050565b60608160a001518260c00151604051602001613778929190615661565b600060606000806137bb856131f6565b915091506000876040015188602001516137d591906155b7565b90508060ff1667ffffffffffffffff8111156137f3576137f3614bc0565b60405190808252806020026020018201604052801561381c578160200160208202803683370190505b50935060005b8160ff168160ff161015613a8a576000896020015160ff168260ff16106138775760a08a015160208b01516138579084615282565b60ff168151811061386a5761386a614ad6565b6020026020010151613899565b89608001518260ff168151811061389057613890614ad6565b60200260200101515b60408051602081019091526000808252919250905b8551811015613906578360ff168682815181106138cd576138cd614ad6565b602002602001015160ff16036138fe578681815181106138ef576138ef614ad6565b60200260200101519150613906565b6001016138ae565b506040517f95d376d700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906395d376d79061395b908d908590600401615687565b6020604051808303816000875af115801561397a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061399e919061532f565b878460ff16815181106139b3576139b3614ad6565b6020026020010181815250506000878460ff16815181106139d6576139d6614ad6565b60200260200101511115613a8057868360ff16815181106139f9576139f9614ad6565b60200260200101518c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613a4e919061501f565b92505081905550868360ff1681518110613a6a57613a6a614ad6565b602002602001015188613a7d919061501f565b97505b5050600101613822565b5050505094509492505050565b6060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff861601613b3257865115613af457868484604051602001613ae093929190615705565b604051602081830303815290604052613b2b565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050505b9650613c01565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff861601613bca57855115613b8c57858484604051602001613b7893929190615705565b604051602081830303815290604052613bc3565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050505b9550613c01565b6040517f6780cfaf00000000000000000000000000000000000000000000000000000000815260ff86166004820152602401611115565b509495939450505050565b60607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff851601613d325760228214613c73576040517f0dc652a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613c94613c86602260028688615436565b613c8f91615460565b614359565b6040517f0100000000000000000000000000000000000000000000000000000000000000602082018190527e11000000000000000000000000000000000000000000000000000000000000602183015260238201527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608083901b16602482015290915060340160405160208183030381529060405291505061111e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe61ffff851601613e5357604282111580613d6d5750606282115b15613da4576040517fc0927c5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613db7613c86602260028688615436565b90506000613dcc613c86604260228789615436565b905060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbe8501613e00866042818a615436565b613e0991615460565b60405160086020938403029190911c9250613e3a916001916011918391889183916031916002918b918b910161572d565b604051602081830303815290604052935050505061111e565b6040517f4170513000000000000000000000000000000000000000000000000000000000815261ffff85166004820152602401611115565b600080805b8351821015613f6c576001909101906000613eab8584614030565b905060028301925060028161ffff161015613ef5576040517f04eb6e0c00000000000000000000000000000000000000000000000000000000815260048101849052602401611115565b6000613f018685613fb0565b90508060ff1660ff03613f40576040517fd3d3d9bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160ff82161b8316613f5d5760019485019460ff82161b831792505b5061ffff169190910190613e90565b83518214613fa9576040517f04eb6e0c00000000000000000000000000000000000000000000000000000000815260048101839052602401611115565b5050919050565b6000613fbd82600161501f565b83511015614027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e6473000000000000000000000000006044820152606401611115565b50016001015190565b600061403d82600261501f565b835110156140a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e64730000000000000000000000006044820152606401611115565b50016002015190565b6060816140be81601f61501f565b1015614126576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401611115565b614130828461501f565b8451101561419a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401611115565b6060821580156141b95760405191506000825260208201604052614221565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156141f25780518352602092830192016141da565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b8160ff1660ff03614267576040517fd3d3d9bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006142748360016155b7565b905060005b8451811015611b2b57600085828151811061429657614296614ad6565b602002602001015190508060ff168360ff160361430b578682815181106142bf576142bf614ad6565b6020026020010151846040516020016142d992919061549c565b6040516020818303038152906040528783815181106142fa576142fa614ad6565b602002602001018190525050611b2b565b8060ff16600003614350578286838151811061432957614329614ad6565b602002602001019060ff16908160ff1681525050838783815181106142fa576142fa614ad6565b50600101614279565b60006fffffffffffffffffffffffffffffffff8211156143fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401611115565b5090565b828054828255906000526020600020908101928215614479579160200282015b8281111561447957825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90911617825560209092019160019091019061441f565b506143fb9291505b808211156143fb5760008155600101614481565b63ffffffff811681146114af57600080fd5b6000602082840312156144b957600080fd5b813561111e81614495565b73ffffffffffffffffffffffffffffffffffffffff811681146114af57600080fd5b80356144f1816144c4565b919050565b6000806040838503121561450957600080fd5b8235614514816144c4565b9150602083013561452481614495565b809150509250929050565b815163ffffffff16815260208083015173ffffffffffffffffffffffffffffffffffffffff169082015260408101610a8d565b6000806020838503121561457557600080fd5b823567ffffffffffffffff8082111561458d57600080fd5b818501915085601f8301126145a157600080fd5b8135818111156145b057600080fd5b8660208260051b85010111156145c557600080fd5b60209290920196919550909350505050565b60008151808452602080850194506020840160005b8381101561461e57815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016145ec565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261467960c08501826145d7565b905060a083015184820360a086015261469282826145d7565b95945050505050565b60208152600061111e6020830184614629565b803561ffff811681146144f157600080fd5b60008083601f8401126146d257600080fd5b50813567ffffffffffffffff8111156146ea57600080fd5b6020830191508360208285010111156123f257600080fd5b600080600080600080600060a0888a03121561471d57600080fd5b614726886146ae565b96506020880135614736816144c4565b9550604088013567ffffffffffffffff8082111561475357600080fd5b61475f8b838c016146c0565b909750955060608a01359150811515821461477957600080fd5b9093506080890135908082111561478f57600080fd5b5061479c8a828b016146c0565b989b979a50959850939692959293505050565b67ffffffffffffffff811681146114af57600080fd5b80356144f1816147af565b60008060008060008060008060008060006101008c8e0312156147f257600080fd5b6147fb8c6144e6565b9a5061480960208d016147c5565b995061481760408d016146ae565b985067ffffffffffffffff8060608e0135111561483357600080fd5b6148438e60608f01358f016146c0565b909950975060808d013581101561485957600080fd5b6148698e60808f01358f016146c0565b909750955061487a60a08e016144e6565b945061488860c08e016144e6565b93508060e08e0135111561489b57600080fd5b506148ac8d60e08e01358e016146c0565b81935080925050509295989b509295989b9093969950565b6000806000606084860312156148d957600080fd5b6148e2846146ae565b925060208401356148f2816144c4565b929592945050506040919091013590565b60005b8381101561491e578181015183820152602001614906565b50506000910152565b6000815180845261493f816020860160208601614903565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061111e6020830184614927565b6000806040838503121561499757600080fd5b6149a0836146ae565b946020939093013593505050565b600080602083850312156149c157600080fd5b823567ffffffffffffffff808211156149d957600080fd5b818501915085601f8301126149ed57600080fd5b8135818111156149fc57600080fd5b8660206060830285010111156145c557600080fd5b600060208284031215614a2357600080fd5b813561111e816144c4565b600060208284031215614a4057600080fd5b5035919050565b600080600080600060808688031215614a5f57600080fd5b614a68866146ae565b94506020860135614a78816144c4565b935060408601359250606086013567ffffffffffffffff811115614a9b57600080fd5b614aa7888289016146c0565b969995985093965092949392505050565b60008060408385031215614acb57600080fd5b82356149a0816144c4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112614b3957600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112614b3957600080fd5b803560ff811681146144f157600080fd5b600060208284031215614b9a57600080fd5b61111e82614b77565b600060208284031215614bb557600080fd5b813561111e816147af565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715614c1257614c12614bc0565b60405290565b600082601f830112614c2957600080fd5b8135602067ffffffffffffffff80831115614c4657614c46614bc0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108482111715614c8957614c89614bc0565b6040529384526020818701810194908101925087851115614ca957600080fd5b6020870191505b84821015614cd2578135614cc3816144c4565b83529183019190830190614cb0565b979650505050505050565b600060c08284031215614cef57600080fd5b614cf7614bef565b9050614d02826147c5565b8152614d1060208301614b77565b6020820152614d2160408301614b77565b6040820152614d3260608301614b77565b6060820152608082013567ffffffffffffffff80821115614d5257600080fd5b614d5e85838601614c18565b608084015260a0840135915080821115614d7757600080fd5b50614d8484828501614c18565b60a08301525092915050565b6000610a8d3683614cdd565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614dd157600080fd5b830160208101925035905067ffffffffffffffff811115614df157600080fd5b8060051b36038213156123f257600080fd5b8183526000602080850194508260005b8581101561461e578135614e26816144c4565b73ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614e13565b60208082528181018390526000906040808401600586901b8501820187855b88811015614fe2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c3603018112614ecf57600080fd5b8b018035614edc81614495565b63ffffffff16855280880135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41018112614f1957600080fd5b858901889052018035614f2b816147af565b67ffffffffffffffff1685880152614f44818901614b77565b606060ff80831682890152614f5a8a8501614b77565b92506080818416818a0152614f70838601614b77565b935060a09250818416838a0152614f8981860186614d9c565b60c08b81015294509150614fa4905061010089018483614e03565b925050614fb381840184614d9c565b93509050838783030160e0880152614fcc828483614e03565b978a019796505050928701925050600101614e6d565b509098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610a8d57610a8d614ff0565b81810381811115610a8d57610a8d614ff0565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6080815260006150a16080830188614927565b82810360208401526150b4818789615045565b60408401959095525050606001529392505050565b81356150d481614495565b63ffffffff811690508154817fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000082161783556020840135615114816144c4565b77ffffffffffffffffffffffffffffffffffffffff000000008160201b16837fffffffffffffffff0000000000000000000000000000000000000000000000008416171784555050505050565b6020808252818101839052600090604080840186845b878110156151e157813561518a81614495565b63ffffffff908116845282860135906151a282614495565b1683860152818401356151b4816144c4565b73ffffffffffffffffffffffffffffffffffffffff16838501526060928301929190910190600101615177565b5090979650505050505050565b60006040828403121561520057600080fd5b6040516040810181811067ffffffffffffffff8211171561522357615223614bc0565b604052823561523181614495565b81526020830135615241816144c4565b60208201529392505050565b60006020828403121561525f57600080fd5b813567ffffffffffffffff81111561527657600080fd5b61240684828501614cdd565b60ff8281168282160390811115610a8d57610a8d614ff0565b600060ff8316806152d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b63ffffffff8516815273ffffffffffffffffffffffffffffffffffffffff841660208201528260408201526080606082015260006153256080830184614927565b9695505050505050565b60006020828403121561534157600080fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152608081016124066040830184805163ffffffff16825260209081015173ffffffffffffffffffffffffffffffffffffffff16910152565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006146926060830184614629565b61ffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152606060408201526000615325606083018486615045565b60006020828403121561542b57600080fd5b815161111e816147af565b6000808585111561544657600080fd5b8386111561545357600080fd5b5050820193919092039150565b80356020831015610a8d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b600083516154ae818460208801614903565b8351908301906154c2818360208801614903565b01949350505050565b6060815260006154de60608301866145d7565b602083820360208501526154f282876145d7565b84810360408601528551808252602080880194509091019060005b81811015614fe25784518352938301939183019160010161550d565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156155695780818660020360031b1b83161692505b505092915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156155695760019490940360031b84901b1690921692915050565b60ff8181168382160190811115610a8d57610a8d614ff0565b63ffffffff8516815267ffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff831660408201526080606082015260006153256080830184614927565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156155695760149490940360031b84901b1690921692915050565b82815260008251615679816020850160208701614903565b919091016020019392505050565b6040815263ffffffff83511660408201526000602084015160a060608401526156b360e0840182614927565b90506040850151608084015267ffffffffffffffff60608601511660a084015273ffffffffffffffffffffffffffffffffffffffff60808601511660c084015282810360208401526146928185614927565b60008451615717818460208901614903565b8201838582376000930192835250909392505050565b60007fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1683527fffff000000000000000000000000000000000000000000000000000000000000808c60f01b166001850152818b60f81b1660038501527fffffffffffffffffffffffffffffffff000000000000000000000000000000008a60801b166004850152818960f81b166014850152808860f01b16601585015250808660f81b1660178401525061580e601883018560801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169052565b5060288101919091526048019897505050505050505056fea2646970667358221220abc6a1f4c7f02e4cc85ec6c01abfcdb8ca7e00eb209be79ae92e7ac1c048019064736f6c63430008160033",
1315
- "devdoc": {
1316
- "details": "ULN301 will be deployed on EndpointV1 and is for backward compatibility with ULN302 on EndpointV2. 301 can talk to both 301 and 302This is a gluing contract. It simply parses the requests and forward to the super.impl() accordingly.In this case, it combines the logic of SendUlnBase and SendLibBaseE1",
1317
- "kind": "dev",
1318
- "methods": {
1319
- "getAppUlnConfig(address,uint32)": {
1320
- "details": "Get the uln config without the default config for the given remoteEid."
1321
- },
1322
- "owner()": {
1323
- "details": "Returns the address of the current owner."
1324
- },
1325
- "renounceOwnership()": {
1326
- "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
1327
- },
1328
- "send(address,uint64,uint16,bytes,bytes,address,address,bytes)": {
1329
- "details": "the abstract process for send() is: 1/ pay workers, which includes the executor and the validation workers 2/ pay treasury 3/ in EndpointV1, here we handle the fees and refunds"
1330
- },
1331
- "setDefaultUlnConfigs((uint32,(uint64,uint8,uint8,uint8,address[],address[]))[])": {
1332
- "details": "about the DEFAULT ULN config 1) its values are all LITERAL (e.g. 0 is 0). whereas in the oapp ULN config, 0 (default value) points to the default ULN config this design enables the oapp to point to DEFAULT config without explicitly setting the config 2) its configuration is more restrictive than the oapp ULN config that a) it must not use NIL value, where NIL is used only by oapps to indicate the LITERAL 0 b) it must have at least one DVN"
1333
- },
1334
- "setTreasuryNativeFeeCap(uint256)": {
1335
- "details": "the new value can not be greater than the old value, i.e. down only"
1336
- },
1337
- "transferOwnership(address)": {
1338
- "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
1339
- }
1340
- },
1341
- "version": 1
1342
- },
1343
- "userdoc": {
1344
- "kind": "user",
1345
- "methods": {},
1346
- "version": 1
1347
- },
1348
- "storageLayout": {
1349
- "storage": [
1350
- {
1351
- "astId": 7808,
1352
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1353
- "label": "_owner",
1354
- "offset": 0,
1355
- "slot": "0",
1356
- "type": "t_address"
1357
- },
1358
- {
1359
- "astId": 19831,
1360
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1361
- "label": "ulnConfigs",
1362
- "offset": 0,
1363
- "slot": "1",
1364
- "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)19780_storage))"
1365
- },
1366
- {
1367
- "astId": 14550,
1368
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1369
- "label": "treasuryNativeFeeCap",
1370
- "offset": 0,
1371
- "slot": "2",
1372
- "type": "t_uint256"
1373
- },
1374
- {
1375
- "astId": 14552,
1376
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1377
- "label": "treasury",
1378
- "offset": 0,
1379
- "slot": "3",
1380
- "type": "t_address"
1381
- },
1382
- {
1383
- "astId": 14559,
1384
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1385
- "label": "executorConfigs",
1386
- "offset": 0,
1387
- "slot": "4",
1388
- "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(ExecutorConfig)14529_storage))"
1389
- },
1390
- {
1391
- "astId": 14563,
1392
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1393
- "label": "fees",
1394
- "offset": 0,
1395
- "slot": "5",
1396
- "type": "t_mapping(t_address,t_uint256)"
1397
- },
1398
- {
1399
- "astId": 25854,
1400
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1401
- "label": "addressSizes",
1402
- "offset": 0,
1403
- "slot": "6",
1404
- "type": "t_mapping(t_uint32,t_uint256)"
1405
- },
1406
- {
1407
- "astId": 26719,
1408
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1409
- "label": "lzToken",
1410
- "offset": 0,
1411
- "slot": "7",
1412
- "type": "t_address"
1413
- }
1414
- ],
1415
- "types": {
1416
- "t_address": {
1417
- "encoding": "inplace",
1418
- "label": "address",
1419
- "numberOfBytes": "20"
1420
- },
1421
- "t_array(t_address)dyn_storage": {
1422
- "base": "t_address",
1423
- "encoding": "dynamic_array",
1424
- "label": "address[]",
1425
- "numberOfBytes": "32"
1426
- },
1427
- "t_mapping(t_address,t_mapping(t_uint32,t_struct(ExecutorConfig)14529_storage))": {
1428
- "encoding": "mapping",
1429
- "key": "t_address",
1430
- "label": "mapping(address => mapping(uint32 => struct ExecutorConfig))",
1431
- "numberOfBytes": "32",
1432
- "value": "t_mapping(t_uint32,t_struct(ExecutorConfig)14529_storage)"
1433
- },
1434
- "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)19780_storage))": {
1435
- "encoding": "mapping",
1436
- "key": "t_address",
1437
- "label": "mapping(address => mapping(uint32 => struct UlnConfig))",
1438
- "numberOfBytes": "32",
1439
- "value": "t_mapping(t_uint32,t_struct(UlnConfig)19780_storage)"
1440
- },
1441
- "t_mapping(t_address,t_uint256)": {
1442
- "encoding": "mapping",
1443
- "key": "t_address",
1444
- "label": "mapping(address => uint256)",
1445
- "numberOfBytes": "32",
1446
- "value": "t_uint256"
1447
- },
1448
- "t_mapping(t_uint32,t_struct(ExecutorConfig)14529_storage)": {
1449
- "encoding": "mapping",
1450
- "key": "t_uint32",
1451
- "label": "mapping(uint32 => struct ExecutorConfig)",
1452
- "numberOfBytes": "32",
1453
- "value": "t_struct(ExecutorConfig)14529_storage"
1454
- },
1455
- "t_mapping(t_uint32,t_struct(UlnConfig)19780_storage)": {
1456
- "encoding": "mapping",
1457
- "key": "t_uint32",
1458
- "label": "mapping(uint32 => struct UlnConfig)",
1459
- "numberOfBytes": "32",
1460
- "value": "t_struct(UlnConfig)19780_storage"
1461
- },
1462
- "t_mapping(t_uint32,t_uint256)": {
1463
- "encoding": "mapping",
1464
- "key": "t_uint32",
1465
- "label": "mapping(uint32 => uint256)",
1466
- "numberOfBytes": "32",
1467
- "value": "t_uint256"
1468
- },
1469
- "t_struct(ExecutorConfig)14529_storage": {
1470
- "encoding": "inplace",
1471
- "label": "struct ExecutorConfig",
1472
- "members": [
1473
- {
1474
- "astId": 14526,
1475
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1476
- "label": "maxMessageSize",
1477
- "offset": 0,
1478
- "slot": "0",
1479
- "type": "t_uint32"
1480
- },
1481
- {
1482
- "astId": 14528,
1483
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1484
- "label": "executor",
1485
- "offset": 4,
1486
- "slot": "0",
1487
- "type": "t_address"
1488
- }
1489
- ],
1490
- "numberOfBytes": "32"
1491
- },
1492
- "t_struct(UlnConfig)19780_storage": {
1493
- "encoding": "inplace",
1494
- "label": "struct UlnConfig",
1495
- "members": [
1496
- {
1497
- "astId": 19767,
1498
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1499
- "label": "confirmations",
1500
- "offset": 0,
1501
- "slot": "0",
1502
- "type": "t_uint64"
1503
- },
1504
- {
1505
- "astId": 19769,
1506
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1507
- "label": "requiredDVNCount",
1508
- "offset": 8,
1509
- "slot": "0",
1510
- "type": "t_uint8"
1511
- },
1512
- {
1513
- "astId": 19771,
1514
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1515
- "label": "optionalDVNCount",
1516
- "offset": 9,
1517
- "slot": "0",
1518
- "type": "t_uint8"
1519
- },
1520
- {
1521
- "astId": 19773,
1522
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1523
- "label": "optionalDVNThreshold",
1524
- "offset": 10,
1525
- "slot": "0",
1526
- "type": "t_uint8"
1527
- },
1528
- {
1529
- "astId": 19776,
1530
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1531
- "label": "requiredDVNs",
1532
- "offset": 0,
1533
- "slot": "1",
1534
- "type": "t_array(t_address)dyn_storage"
1535
- },
1536
- {
1537
- "astId": 19779,
1538
- "contract": "contracts/uln/uln301/SendUln301.sol:SendUln301",
1539
- "label": "optionalDVNs",
1540
- "offset": 0,
1541
- "slot": "2",
1542
- "type": "t_array(t_address)dyn_storage"
1543
- }
1544
- ],
1545
- "numberOfBytes": "96"
1546
- },
1547
- "t_uint256": {
1548
- "encoding": "inplace",
1549
- "label": "uint256",
1550
- "numberOfBytes": "32"
1551
- },
1552
- "t_uint32": {
1553
- "encoding": "inplace",
1554
- "label": "uint32",
1555
- "numberOfBytes": "4"
1556
- },
1557
- "t_uint64": {
1558
- "encoding": "inplace",
1559
- "label": "uint64",
1560
- "numberOfBytes": "8"
1561
- },
1562
- "t_uint8": {
1563
- "encoding": "inplace",
1564
- "label": "uint8",
1565
- "numberOfBytes": "1"
1566
- }
1567
- }
1568
- }
1569
- }