@pimlico/alto 0.0.0-staging.20240606T115633 → 0.0.2

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 (228) hide show
  1. package/LICENSE +674 -0
  2. package/lib/executor/executor.js +6 -0
  3. package/lib/executor/executor.js.map +1 -1
  4. package/lib/executor/executorManager.js +1 -0
  5. package/lib/executor/executorManager.js.map +1 -1
  6. package/lib/executor/utils.js +3 -1
  7. package/lib/executor/utils.js.map +1 -1
  8. package/lib/types/mempool.d.ts +2 -1
  9. package/package.json +10 -11
  10. package/esm/cli/alto.d.ts +0 -6
  11. package/esm/cli/alto.js +0 -92
  12. package/esm/cli/alto.js.map +0 -1
  13. package/esm/cli/config/bundler.d.ts +0 -391
  14. package/esm/cli/config/bundler.js +0 -132
  15. package/esm/cli/config/bundler.js.map +0 -1
  16. package/esm/cli/config/index.d.ts +0 -3
  17. package/esm/cli/config/index.js +0 -3
  18. package/esm/cli/config/index.js.map +0 -1
  19. package/esm/cli/config/options.d.ts +0 -11
  20. package/esm/cli/config/options.js +0 -336
  21. package/esm/cli/config/options.js.map +0 -1
  22. package/esm/cli/customTransport.d.ts +0 -14
  23. package/esm/cli/customTransport.js +0 -53
  24. package/esm/cli/customTransport.js.map +0 -1
  25. package/esm/cli/handler.d.ts +0 -3
  26. package/esm/cli/handler.js +0 -116
  27. package/esm/cli/handler.js.map +0 -1
  28. package/esm/cli/index.d.ts +0 -4
  29. package/esm/cli/index.js +0 -4
  30. package/esm/cli/index.js.map +0 -1
  31. package/esm/cli/instrumentation.d.ts +0 -2
  32. package/esm/cli/instrumentation.js +0 -39
  33. package/esm/cli/instrumentation.js.map +0 -1
  34. package/esm/cli/setupServer.d.ts +0 -17
  35. package/esm/cli/setupServer.js +0 -155
  36. package/esm/cli/setupServer.js.map +0 -1
  37. package/esm/cli/util.d.ts +0 -22
  38. package/esm/cli/util.js +0 -30
  39. package/esm/cli/util.js.map +0 -1
  40. package/esm/executor/executor.d.ts +0 -54
  41. package/esm/executor/executor.js +0 -637
  42. package/esm/executor/executor.js.map +0 -1
  43. package/esm/executor/executorManager.d.ts +0 -34
  44. package/esm/executor/executorManager.js +0 -401
  45. package/esm/executor/executorManager.js.map +0 -1
  46. package/esm/executor/index.d.ts +0 -5
  47. package/esm/executor/index.js +0 -5
  48. package/esm/executor/index.js.map +0 -1
  49. package/esm/executor/senderManager.d.ts +0 -17
  50. package/esm/executor/senderManager.js +0 -160
  51. package/esm/executor/senderManager.js.map +0 -1
  52. package/esm/executor/test/utils.d.ts +0 -13
  53. package/esm/executor/test/utils.js +0 -75
  54. package/esm/executor/test/utils.js.map +0 -1
  55. package/esm/executor/utils.d.ts +0 -32
  56. package/esm/executor/utils.js +0 -239
  57. package/esm/executor/utils.js.map +0 -1
  58. package/esm/index.d.ts +0 -2
  59. package/esm/index.js +0 -2
  60. package/esm/index.js.map +0 -1
  61. package/esm/mempool/index.d.ts +0 -5
  62. package/esm/mempool/index.js +0 -5
  63. package/esm/mempool/index.js.map +0 -1
  64. package/esm/mempool/mempool.d.ts +0 -64
  65. package/esm/mempool/mempool.js +0 -489
  66. package/esm/mempool/mempool.js.map +0 -1
  67. package/esm/mempool/monitoring.d.ts +0 -10
  68. package/esm/mempool/monitoring.js +0 -34
  69. package/esm/mempool/monitoring.js.map +0 -1
  70. package/esm/mempool/nullMempool.d.ts +0 -15
  71. package/esm/mempool/nullMempool.js +0 -36
  72. package/esm/mempool/nullMempool.js.map +0 -1
  73. package/esm/mempool/reputationManager.d.ts +0 -115
  74. package/esm/mempool/reputationManager.js +0 -397
  75. package/esm/mempool/reputationManager.js.map +0 -1
  76. package/esm/mempool/store.d.ts +0 -22
  77. package/esm/mempool/store.js +0 -123
  78. package/esm/mempool/store.js.map +0 -1
  79. package/esm/rpc/EntryPointSimulationsV07.d.ts +0 -58
  80. package/esm/rpc/EntryPointSimulationsV07.js +0 -407
  81. package/esm/rpc/EntryPointSimulationsV07.js.map +0 -1
  82. package/esm/rpc/ExecuteSimulator.d.ts +0 -37
  83. package/esm/rpc/ExecuteSimulator.js +0 -48
  84. package/esm/rpc/ExecuteSimulator.js.map +0 -1
  85. package/esm/rpc/gasEstimation.d.ts +0 -17
  86. package/esm/rpc/gasEstimation.js +0 -410
  87. package/esm/rpc/gasEstimation.js.map +0 -1
  88. package/esm/rpc/index.d.ts +0 -5
  89. package/esm/rpc/index.js +0 -5
  90. package/esm/rpc/index.js.map +0 -1
  91. package/esm/rpc/nonceQueuer.d.ts +0 -25
  92. package/esm/rpc/nonceQueuer.js +0 -135
  93. package/esm/rpc/nonceQueuer.js.map +0 -1
  94. package/esm/rpc/rpcHandler.d.ts +0 -64
  95. package/esm/rpc/rpcHandler.js +0 -727
  96. package/esm/rpc/rpcHandler.js.map +0 -1
  97. package/esm/rpc/server.d.ts +0 -31
  98. package/esm/rpc/server.js +0 -239
  99. package/esm/rpc/server.js.map +0 -1
  100. package/esm/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
  101. package/esm/rpc/validation/BundlerCollectorTracerV06.js +0 -255
  102. package/esm/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
  103. package/esm/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
  104. package/esm/rpc/validation/BundlerCollectorTracerV07.js +0 -254
  105. package/esm/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
  106. package/esm/rpc/validation/SafeValidator.d.ts +0 -35
  107. package/esm/rpc/validation/SafeValidator.js +0 -487
  108. package/esm/rpc/validation/SafeValidator.js.map +0 -1
  109. package/esm/rpc/validation/TracerResultParserV06.d.ts +0 -13
  110. package/esm/rpc/validation/TracerResultParserV06.js +0 -578
  111. package/esm/rpc/validation/TracerResultParserV06.js.map +0 -1
  112. package/esm/rpc/validation/TracerResultParserV07.d.ts +0 -33
  113. package/esm/rpc/validation/TracerResultParserV07.js +0 -557
  114. package/esm/rpc/validation/TracerResultParserV07.js.map +0 -1
  115. package/esm/rpc/validation/UnsafeValidator.d.ts +0 -63
  116. package/esm/rpc/validation/UnsafeValidator.js +0 -257
  117. package/esm/rpc/validation/UnsafeValidator.js.map +0 -1
  118. package/esm/rpc/validation/index.d.ts +0 -3
  119. package/esm/rpc/validation/index.js +0 -3
  120. package/esm/rpc/validation/index.js.map +0 -1
  121. package/esm/rpc/validation/tracer.d.ts +0 -122
  122. package/esm/rpc/validation/tracer.js +0 -82
  123. package/esm/rpc/validation/tracer.js.map +0 -1
  124. package/esm/types/contracts/BundleBulker.d.ts +0 -120
  125. package/esm/types/contracts/BundleBulker.js +0 -157
  126. package/esm/types/contracts/BundleBulker.js.map +0 -1
  127. package/esm/types/contracts/CallEngine.d.ts +0 -28
  128. package/esm/types/contracts/CallEngine.js +0 -37
  129. package/esm/types/contracts/CallEngine.js.map +0 -1
  130. package/esm/types/contracts/CodeHashGetter.d.ts +0 -37
  131. package/esm/types/contracts/CodeHashGetter.js +0 -45
  132. package/esm/types/contracts/CodeHashGetter.js.map +0 -1
  133. package/esm/types/contracts/EntryPoint.d.ts +0 -1789
  134. package/esm/types/contracts/EntryPoint.js +0 -2304
  135. package/esm/types/contracts/EntryPoint.js.map +0 -1
  136. package/esm/types/contracts/EntryPointSimulations.d.ts +0 -153
  137. package/esm/types/contracts/EntryPointSimulations.js +0 -15
  138. package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
  139. package/esm/types/contracts/IOpInflator.d.ts +0 -61
  140. package/esm/types/contracts/IOpInflator.js +0 -80
  141. package/esm/types/contracts/IOpInflator.js.map +0 -1
  142. package/esm/types/contracts/IPaymaster.d.ts +0 -3
  143. package/esm/types/contracts/IPaymaster.js +0 -117
  144. package/esm/types/contracts/IPaymaster.js.map +0 -1
  145. package/esm/types/contracts/Inflator.d.ts +0 -65
  146. package/esm/types/contracts/Inflator.js +0 -84
  147. package/esm/types/contracts/Inflator.js.map +0 -1
  148. package/esm/types/contracts/PerOpInflator.d.ts +0 -176
  149. package/esm/types/contracts/PerOpInflator.js +0 -229
  150. package/esm/types/contracts/PerOpInflator.js.map +0 -1
  151. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -23
  152. package/esm/types/contracts/PimlicoEntryPointSimulations.js +0 -33
  153. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
  154. package/esm/types/contracts/SenderCreator.d.ts +0 -4
  155. package/esm/types/contracts/SenderCreator.js +0 -23
  156. package/esm/types/contracts/SenderCreator.js.map +0 -1
  157. package/esm/types/contracts/SimpleAccountFactory.d.ts +0 -57
  158. package/esm/types/contracts/SimpleAccountFactory.js +0 -76
  159. package/esm/types/contracts/SimpleAccountFactory.js.map +0 -1
  160. package/esm/types/contracts/TestOpcodesAccount.d.ts +0 -4
  161. package/esm/types/contracts/TestOpcodesAccount.js +0 -281
  162. package/esm/types/contracts/TestOpcodesAccount.js.map +0 -1
  163. package/esm/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
  164. package/esm/types/contracts/TestOpcodesAccountFactory.js +0 -23
  165. package/esm/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
  166. package/esm/types/contracts/TestStorageAccount.d.ts +0 -4
  167. package/esm/types/contracts/TestStorageAccount.js +0 -313
  168. package/esm/types/contracts/TestStorageAccount.js.map +0 -1
  169. package/esm/types/contracts/index.d.ts +0 -17
  170. package/esm/types/contracts/index.js +0 -17
  171. package/esm/types/contracts/index.js.map +0 -1
  172. package/esm/types/gasPrice.d.ts +0 -110
  173. package/esm/types/gasPrice.js +0 -52
  174. package/esm/types/gasPrice.js.map +0 -1
  175. package/esm/types/index.d.ts +0 -11
  176. package/esm/types/index.js +0 -11
  177. package/esm/types/index.js.map +0 -1
  178. package/esm/types/interfaces.d.ts +0 -26
  179. package/esm/types/interfaces.js +0 -2
  180. package/esm/types/interfaces.js.map +0 -1
  181. package/esm/types/mempool.d.ts +0 -78
  182. package/esm/types/mempool.js +0 -16
  183. package/esm/types/mempool.js.map +0 -1
  184. package/esm/types/schemas.d.ts +0 -4791
  185. package/esm/types/schemas.js +0 -497
  186. package/esm/types/schemas.js.map +0 -1
  187. package/esm/types/test/validationTestErrors.d.ts +0 -3
  188. package/esm/types/test/validationTestErrors.js +0 -229
  189. package/esm/types/test/validationTestErrors.js.map +0 -1
  190. package/esm/types/utils.d.ts +0 -24
  191. package/esm/types/utils.js +0 -30
  192. package/esm/types/utils.js.map +0 -1
  193. package/esm/types/validation.d.ts +0 -14327
  194. package/esm/types/validation.js +0 -304
  195. package/esm/types/validation.js.map +0 -1
  196. package/esm/utils/bigInt.d.ts +0 -3
  197. package/esm/utils/bigInt.js +0 -9
  198. package/esm/utils/bigInt.js.map +0 -1
  199. package/esm/utils/compressionHandler.d.ts +0 -11
  200. package/esm/utils/compressionHandler.js +0 -39
  201. package/esm/utils/compressionHandler.js.map +0 -1
  202. package/esm/utils/gasPriceManager.d.ts +0 -34
  203. package/esm/utils/gasPriceManager.js +0 -338
  204. package/esm/utils/gasPriceManager.js.map +0 -1
  205. package/esm/utils/helpers.d.ts +0 -4
  206. package/esm/utils/helpers.js +0 -13
  207. package/esm/utils/helpers.js.map +0 -1
  208. package/esm/utils/index.d.ts +0 -11
  209. package/esm/utils/index.js +0 -10
  210. package/esm/utils/index.js.map +0 -1
  211. package/esm/utils/logger.d.ts +0 -6
  212. package/esm/utils/logger.js +0 -76
  213. package/esm/utils/logger.js.map +0 -1
  214. package/esm/utils/metrics.d.ts +0 -22
  215. package/esm/utils/metrics.js +0 -150
  216. package/esm/utils/metrics.js.map +0 -1
  217. package/esm/utils/rpc-reply.d.ts +0 -17
  218. package/esm/utils/rpc-reply.js +0 -41
  219. package/esm/utils/rpc-reply.js.map +0 -1
  220. package/esm/utils/test.d.ts +0 -17
  221. package/esm/utils/test.js +0 -130
  222. package/esm/utils/test.js.map +0 -1
  223. package/esm/utils/userop.d.ts +0 -49
  224. package/esm/utils/userop.js +0 -408
  225. package/esm/utils/userop.js.map +0 -1
  226. package/esm/utils/validation.d.ts +0 -65
  227. package/esm/utils/validation.js +0 -461
  228. package/esm/utils/validation.js.map +0 -1
@@ -1,2304 +0,0 @@
1
- export const EntryPointV06Abi = [
2
- {
3
- inputs: [
4
- {
5
- internalType: "uint256",
6
- name: "preOpGas",
7
- type: "uint256"
8
- },
9
- {
10
- internalType: "uint256",
11
- name: "paid",
12
- type: "uint256"
13
- },
14
- {
15
- internalType: "uint48",
16
- name: "validAfter",
17
- type: "uint48"
18
- },
19
- {
20
- internalType: "uint48",
21
- name: "validUntil",
22
- type: "uint48"
23
- },
24
- {
25
- internalType: "bool",
26
- name: "targetSuccess",
27
- type: "bool"
28
- },
29
- {
30
- internalType: "bytes",
31
- name: "targetResult",
32
- type: "bytes"
33
- }
34
- ],
35
- name: "ExecutionResult",
36
- type: "error"
37
- },
38
- {
39
- inputs: [
40
- {
41
- internalType: "uint256",
42
- name: "opIndex",
43
- type: "uint256"
44
- },
45
- {
46
- internalType: "string",
47
- name: "reason",
48
- type: "string"
49
- }
50
- ],
51
- name: "FailedOp",
52
- type: "error"
53
- },
54
- {
55
- inputs: [
56
- {
57
- internalType: "uint256",
58
- name: "opIndex",
59
- type: "uint256"
60
- },
61
- {
62
- internalType: "string",
63
- name: "reason",
64
- type: "string"
65
- },
66
- {
67
- internalType: "bytes",
68
- name: "inner",
69
- type: "bytes"
70
- }
71
- ],
72
- name: "FailedOpWithRevert",
73
- type: "error"
74
- },
75
- {
76
- inputs: [
77
- {
78
- internalType: "address",
79
- name: "sender",
80
- type: "address"
81
- }
82
- ],
83
- name: "SenderAddressResult",
84
- type: "error"
85
- },
86
- {
87
- inputs: [
88
- {
89
- internalType: "address",
90
- name: "aggregator",
91
- type: "address"
92
- }
93
- ],
94
- name: "SignatureValidationFailed",
95
- type: "error"
96
- },
97
- {
98
- inputs: [
99
- {
100
- components: [
101
- {
102
- internalType: "uint256",
103
- name: "preOpGas",
104
- type: "uint256"
105
- },
106
- {
107
- internalType: "uint256",
108
- name: "prefund",
109
- type: "uint256"
110
- },
111
- {
112
- internalType: "bool",
113
- name: "sigFailed",
114
- type: "bool"
115
- },
116
- {
117
- internalType: "uint48",
118
- name: "validAfter",
119
- type: "uint48"
120
- },
121
- {
122
- internalType: "uint48",
123
- name: "validUntil",
124
- type: "uint48"
125
- },
126
- {
127
- internalType: "bytes",
128
- name: "paymasterContext",
129
- type: "bytes"
130
- }
131
- ],
132
- internalType: "struct IEntryPoint.ReturnInfo",
133
- name: "returnInfo",
134
- type: "tuple"
135
- },
136
- {
137
- components: [
138
- {
139
- internalType: "uint256",
140
- name: "stake",
141
- type: "uint256"
142
- },
143
- {
144
- internalType: "uint256",
145
- name: "unstakeDelaySec",
146
- type: "uint256"
147
- }
148
- ],
149
- internalType: "struct IStakeManager.StakeInfo",
150
- name: "senderInfo",
151
- type: "tuple"
152
- },
153
- {
154
- components: [
155
- {
156
- internalType: "uint256",
157
- name: "stake",
158
- type: "uint256"
159
- },
160
- {
161
- internalType: "uint256",
162
- name: "unstakeDelaySec",
163
- type: "uint256"
164
- }
165
- ],
166
- internalType: "struct IStakeManager.StakeInfo",
167
- name: "factoryInfo",
168
- type: "tuple"
169
- },
170
- {
171
- components: [
172
- {
173
- internalType: "uint256",
174
- name: "stake",
175
- type: "uint256"
176
- },
177
- {
178
- internalType: "uint256",
179
- name: "unstakeDelaySec",
180
- type: "uint256"
181
- }
182
- ],
183
- internalType: "struct IStakeManager.StakeInfo",
184
- name: "paymasterInfo",
185
- type: "tuple"
186
- }
187
- ],
188
- name: "ValidationResult",
189
- type: "error"
190
- },
191
- {
192
- inputs: [
193
- {
194
- components: [
195
- {
196
- internalType: "uint256",
197
- name: "preOpGas",
198
- type: "uint256"
199
- },
200
- {
201
- internalType: "uint256",
202
- name: "prefund",
203
- type: "uint256"
204
- },
205
- {
206
- internalType: "bool",
207
- name: "sigFailed",
208
- type: "bool"
209
- },
210
- {
211
- internalType: "uint48",
212
- name: "validAfter",
213
- type: "uint48"
214
- },
215
- {
216
- internalType: "uint48",
217
- name: "validUntil",
218
- type: "uint48"
219
- },
220
- {
221
- internalType: "bytes",
222
- name: "paymasterContext",
223
- type: "bytes"
224
- }
225
- ],
226
- internalType: "struct IEntryPoint.ReturnInfo",
227
- name: "returnInfo",
228
- type: "tuple"
229
- },
230
- {
231
- components: [
232
- {
233
- internalType: "uint256",
234
- name: "stake",
235
- type: "uint256"
236
- },
237
- {
238
- internalType: "uint256",
239
- name: "unstakeDelaySec",
240
- type: "uint256"
241
- }
242
- ],
243
- internalType: "struct IStakeManager.StakeInfo",
244
- name: "senderInfo",
245
- type: "tuple"
246
- },
247
- {
248
- components: [
249
- {
250
- internalType: "uint256",
251
- name: "stake",
252
- type: "uint256"
253
- },
254
- {
255
- internalType: "uint256",
256
- name: "unstakeDelaySec",
257
- type: "uint256"
258
- }
259
- ],
260
- internalType: "struct IStakeManager.StakeInfo",
261
- name: "factoryInfo",
262
- type: "tuple"
263
- },
264
- {
265
- components: [
266
- {
267
- internalType: "uint256",
268
- name: "stake",
269
- type: "uint256"
270
- },
271
- {
272
- internalType: "uint256",
273
- name: "unstakeDelaySec",
274
- type: "uint256"
275
- }
276
- ],
277
- internalType: "struct IStakeManager.StakeInfo",
278
- name: "paymasterInfo",
279
- type: "tuple"
280
- },
281
- {
282
- components: [
283
- {
284
- internalType: "address",
285
- name: "aggregator",
286
- type: "address"
287
- },
288
- {
289
- components: [
290
- {
291
- internalType: "uint256",
292
- name: "stake",
293
- type: "uint256"
294
- },
295
- {
296
- internalType: "uint256",
297
- name: "unstakeDelaySec",
298
- type: "uint256"
299
- }
300
- ],
301
- internalType: "struct IStakeManager.StakeInfo",
302
- name: "stakeInfo",
303
- type: "tuple"
304
- }
305
- ],
306
- internalType: "struct IEntryPoint.AggregatorStakeInfo",
307
- name: "aggregatorInfo",
308
- type: "tuple"
309
- }
310
- ],
311
- name: "ValidationResultWithAggregation",
312
- type: "error"
313
- },
314
- {
315
- anonymous: false,
316
- inputs: [
317
- {
318
- indexed: true,
319
- internalType: "bytes32",
320
- name: "userOpHash",
321
- type: "bytes32"
322
- },
323
- {
324
- indexed: true,
325
- internalType: "address",
326
- name: "sender",
327
- type: "address"
328
- },
329
- {
330
- indexed: false,
331
- internalType: "address",
332
- name: "factory",
333
- type: "address"
334
- },
335
- {
336
- indexed: false,
337
- internalType: "address",
338
- name: "paymaster",
339
- type: "address"
340
- }
341
- ],
342
- name: "AccountDeployed",
343
- type: "event"
344
- },
345
- {
346
- anonymous: false,
347
- inputs: [],
348
- name: "BeforeExecution",
349
- type: "event"
350
- },
351
- {
352
- anonymous: false,
353
- inputs: [
354
- {
355
- indexed: true,
356
- internalType: "address",
357
- name: "account",
358
- type: "address"
359
- },
360
- {
361
- indexed: false,
362
- internalType: "uint256",
363
- name: "totalDeposit",
364
- type: "uint256"
365
- }
366
- ],
367
- name: "Deposited",
368
- type: "event"
369
- },
370
- {
371
- anonymous: false,
372
- inputs: [
373
- {
374
- indexed: true,
375
- internalType: "address",
376
- name: "aggregator",
377
- type: "address"
378
- }
379
- ],
380
- name: "SignatureAggregatorChanged",
381
- type: "event"
382
- },
383
- {
384
- anonymous: false,
385
- inputs: [
386
- {
387
- indexed: true,
388
- internalType: "address",
389
- name: "account",
390
- type: "address"
391
- },
392
- {
393
- indexed: false,
394
- internalType: "uint256",
395
- name: "totalStaked",
396
- type: "uint256"
397
- },
398
- {
399
- indexed: false,
400
- internalType: "uint256",
401
- name: "unstakeDelaySec",
402
- type: "uint256"
403
- }
404
- ],
405
- name: "StakeLocked",
406
- type: "event"
407
- },
408
- {
409
- anonymous: false,
410
- inputs: [
411
- {
412
- indexed: true,
413
- internalType: "address",
414
- name: "account",
415
- type: "address"
416
- },
417
- {
418
- indexed: false,
419
- internalType: "uint256",
420
- name: "withdrawTime",
421
- type: "uint256"
422
- }
423
- ],
424
- name: "StakeUnlocked",
425
- type: "event"
426
- },
427
- {
428
- anonymous: false,
429
- inputs: [
430
- {
431
- indexed: true,
432
- internalType: "address",
433
- name: "account",
434
- type: "address"
435
- },
436
- {
437
- indexed: false,
438
- internalType: "address",
439
- name: "withdrawAddress",
440
- type: "address"
441
- },
442
- {
443
- indexed: false,
444
- internalType: "uint256",
445
- name: "amount",
446
- type: "uint256"
447
- }
448
- ],
449
- name: "StakeWithdrawn",
450
- type: "event"
451
- },
452
- {
453
- anonymous: false,
454
- inputs: [
455
- {
456
- indexed: true,
457
- internalType: "bytes32",
458
- name: "userOpHash",
459
- type: "bytes32"
460
- },
461
- {
462
- indexed: true,
463
- internalType: "address",
464
- name: "sender",
465
- type: "address"
466
- },
467
- {
468
- indexed: true,
469
- internalType: "address",
470
- name: "paymaster",
471
- type: "address"
472
- },
473
- {
474
- indexed: false,
475
- internalType: "uint256",
476
- name: "nonce",
477
- type: "uint256"
478
- },
479
- {
480
- indexed: false,
481
- internalType: "bool",
482
- name: "success",
483
- type: "bool"
484
- },
485
- {
486
- indexed: false,
487
- internalType: "uint256",
488
- name: "actualGasCost",
489
- type: "uint256"
490
- },
491
- {
492
- indexed: false,
493
- internalType: "uint256",
494
- name: "actualGasUsed",
495
- type: "uint256"
496
- }
497
- ],
498
- name: "UserOperationEvent",
499
- type: "event"
500
- },
501
- {
502
- anonymous: false,
503
- inputs: [
504
- {
505
- indexed: true,
506
- internalType: "bytes32",
507
- name: "userOpHash",
508
- type: "bytes32"
509
- },
510
- {
511
- indexed: true,
512
- internalType: "address",
513
- name: "sender",
514
- type: "address"
515
- },
516
- {
517
- indexed: false,
518
- internalType: "uint256",
519
- name: "nonce",
520
- type: "uint256"
521
- },
522
- {
523
- indexed: false,
524
- internalType: "bytes",
525
- name: "revertReason",
526
- type: "bytes"
527
- }
528
- ],
529
- name: "UserOperationRevertReason",
530
- type: "event"
531
- },
532
- {
533
- anonymous: false,
534
- inputs: [
535
- {
536
- indexed: true,
537
- internalType: "address",
538
- name: "account",
539
- type: "address"
540
- },
541
- {
542
- indexed: false,
543
- internalType: "address",
544
- name: "withdrawAddress",
545
- type: "address"
546
- },
547
- {
548
- indexed: false,
549
- internalType: "uint256",
550
- name: "amount",
551
- type: "uint256"
552
- }
553
- ],
554
- name: "Withdrawn",
555
- type: "event"
556
- },
557
- {
558
- inputs: [],
559
- name: "SIG_VALIDATION_FAILED",
560
- outputs: [
561
- {
562
- internalType: "uint256",
563
- name: "",
564
- type: "uint256"
565
- }
566
- ],
567
- stateMutability: "view",
568
- type: "function"
569
- },
570
- {
571
- inputs: [
572
- {
573
- internalType: "bytes",
574
- name: "initCode",
575
- type: "bytes"
576
- },
577
- {
578
- internalType: "address",
579
- name: "sender",
580
- type: "address"
581
- },
582
- {
583
- internalType: "bytes",
584
- name: "paymasterAndData",
585
- type: "bytes"
586
- }
587
- ],
588
- name: "_validateSenderAndPaymaster",
589
- outputs: [],
590
- stateMutability: "view",
591
- type: "function"
592
- },
593
- {
594
- inputs: [
595
- {
596
- internalType: "uint32",
597
- name: "unstakeDelaySec",
598
- type: "uint32"
599
- }
600
- ],
601
- name: "addStake",
602
- outputs: [],
603
- stateMutability: "payable",
604
- type: "function"
605
- },
606
- {
607
- inputs: [
608
- {
609
- internalType: "address",
610
- name: "account",
611
- type: "address"
612
- }
613
- ],
614
- name: "balanceOf",
615
- outputs: [
616
- {
617
- internalType: "uint256",
618
- name: "",
619
- type: "uint256"
620
- }
621
- ],
622
- stateMutability: "view",
623
- type: "function"
624
- },
625
- {
626
- inputs: [
627
- {
628
- internalType: "address",
629
- name: "account",
630
- type: "address"
631
- }
632
- ],
633
- name: "depositTo",
634
- outputs: [],
635
- stateMutability: "payable",
636
- type: "function"
637
- },
638
- {
639
- inputs: [
640
- {
641
- internalType: "address",
642
- name: "",
643
- type: "address"
644
- }
645
- ],
646
- name: "deposits",
647
- outputs: [
648
- {
649
- internalType: "uint112",
650
- name: "deposit",
651
- type: "uint112"
652
- },
653
- {
654
- internalType: "bool",
655
- name: "staked",
656
- type: "bool"
657
- },
658
- {
659
- internalType: "uint112",
660
- name: "stake",
661
- type: "uint112"
662
- },
663
- {
664
- internalType: "uint32",
665
- name: "unstakeDelaySec",
666
- type: "uint32"
667
- },
668
- {
669
- internalType: "uint48",
670
- name: "withdrawTime",
671
- type: "uint48"
672
- }
673
- ],
674
- stateMutability: "view",
675
- type: "function"
676
- },
677
- {
678
- inputs: [
679
- {
680
- internalType: "address",
681
- name: "account",
682
- type: "address"
683
- }
684
- ],
685
- name: "getDepositInfo",
686
- outputs: [
687
- {
688
- components: [
689
- {
690
- internalType: "uint112",
691
- name: "deposit",
692
- type: "uint112"
693
- },
694
- {
695
- internalType: "bool",
696
- name: "staked",
697
- type: "bool"
698
- },
699
- {
700
- internalType: "uint112",
701
- name: "stake",
702
- type: "uint112"
703
- },
704
- {
705
- internalType: "uint32",
706
- name: "unstakeDelaySec",
707
- type: "uint32"
708
- },
709
- {
710
- internalType: "uint48",
711
- name: "withdrawTime",
712
- type: "uint48"
713
- }
714
- ],
715
- internalType: "struct IStakeManager.DepositInfo",
716
- name: "info",
717
- type: "tuple"
718
- }
719
- ],
720
- stateMutability: "view",
721
- type: "function"
722
- },
723
- {
724
- inputs: [
725
- {
726
- internalType: "address",
727
- name: "sender",
728
- type: "address"
729
- },
730
- {
731
- internalType: "uint192",
732
- name: "key",
733
- type: "uint192"
734
- }
735
- ],
736
- name: "getNonce",
737
- outputs: [
738
- {
739
- internalType: "uint256",
740
- name: "nonce",
741
- type: "uint256"
742
- }
743
- ],
744
- stateMutability: "view",
745
- type: "function"
746
- },
747
- {
748
- inputs: [
749
- {
750
- internalType: "bytes",
751
- name: "initCode",
752
- type: "bytes"
753
- }
754
- ],
755
- name: "getSenderAddress",
756
- outputs: [],
757
- stateMutability: "nonpayable",
758
- type: "function"
759
- },
760
- {
761
- inputs: [
762
- {
763
- components: [
764
- {
765
- internalType: "address",
766
- name: "sender",
767
- type: "address"
768
- },
769
- {
770
- internalType: "uint256",
771
- name: "nonce",
772
- type: "uint256"
773
- },
774
- {
775
- internalType: "bytes",
776
- name: "initCode",
777
- type: "bytes"
778
- },
779
- {
780
- internalType: "bytes",
781
- name: "callData",
782
- type: "bytes"
783
- },
784
- {
785
- internalType: "uint256",
786
- name: "callGasLimit",
787
- type: "uint256"
788
- },
789
- {
790
- internalType: "uint256",
791
- name: "verificationGasLimit",
792
- type: "uint256"
793
- },
794
- {
795
- internalType: "uint256",
796
- name: "preVerificationGas",
797
- type: "uint256"
798
- },
799
- {
800
- internalType: "uint256",
801
- name: "maxFeePerGas",
802
- type: "uint256"
803
- },
804
- {
805
- internalType: "uint256",
806
- name: "maxPriorityFeePerGas",
807
- type: "uint256"
808
- },
809
- {
810
- internalType: "bytes",
811
- name: "paymasterAndData",
812
- type: "bytes"
813
- },
814
- {
815
- internalType: "bytes",
816
- name: "signature",
817
- type: "bytes"
818
- }
819
- ],
820
- internalType: "struct UserOperation",
821
- name: "userOp",
822
- type: "tuple"
823
- }
824
- ],
825
- name: "getUserOpHash",
826
- outputs: [
827
- {
828
- internalType: "bytes32",
829
- name: "",
830
- type: "bytes32"
831
- }
832
- ],
833
- stateMutability: "view",
834
- type: "function"
835
- },
836
- {
837
- inputs: [
838
- {
839
- components: [
840
- {
841
- components: [
842
- {
843
- internalType: "address",
844
- name: "sender",
845
- type: "address"
846
- },
847
- {
848
- internalType: "uint256",
849
- name: "nonce",
850
- type: "uint256"
851
- },
852
- {
853
- internalType: "bytes",
854
- name: "initCode",
855
- type: "bytes"
856
- },
857
- {
858
- internalType: "bytes",
859
- name: "callData",
860
- type: "bytes"
861
- },
862
- {
863
- internalType: "uint256",
864
- name: "callGasLimit",
865
- type: "uint256"
866
- },
867
- {
868
- internalType: "uint256",
869
- name: "verificationGasLimit",
870
- type: "uint256"
871
- },
872
- {
873
- internalType: "uint256",
874
- name: "preVerificationGas",
875
- type: "uint256"
876
- },
877
- {
878
- internalType: "uint256",
879
- name: "maxFeePerGas",
880
- type: "uint256"
881
- },
882
- {
883
- internalType: "uint256",
884
- name: "maxPriorityFeePerGas",
885
- type: "uint256"
886
- },
887
- {
888
- internalType: "bytes",
889
- name: "paymasterAndData",
890
- type: "bytes"
891
- },
892
- {
893
- internalType: "bytes",
894
- name: "signature",
895
- type: "bytes"
896
- }
897
- ],
898
- internalType: "struct UserOperation[]",
899
- name: "userOps",
900
- type: "tuple[]"
901
- },
902
- {
903
- internalType: "contract IAggregator",
904
- name: "aggregator",
905
- type: "address"
906
- },
907
- {
908
- internalType: "bytes",
909
- name: "signature",
910
- type: "bytes"
911
- }
912
- ],
913
- internalType: "struct IEntryPoint.UserOpsPerAggregator[]",
914
- name: "opsPerAggregator",
915
- type: "tuple[]"
916
- },
917
- {
918
- internalType: "address payable",
919
- name: "beneficiary",
920
- type: "address"
921
- }
922
- ],
923
- name: "handleAggregatedOps",
924
- outputs: [],
925
- stateMutability: "nonpayable",
926
- type: "function"
927
- },
928
- {
929
- inputs: [
930
- {
931
- components: [
932
- {
933
- internalType: "address",
934
- name: "sender",
935
- type: "address"
936
- },
937
- {
938
- internalType: "uint256",
939
- name: "nonce",
940
- type: "uint256"
941
- },
942
- {
943
- internalType: "bytes",
944
- name: "initCode",
945
- type: "bytes"
946
- },
947
- {
948
- internalType: "bytes",
949
- name: "callData",
950
- type: "bytes"
951
- },
952
- {
953
- internalType: "uint256",
954
- name: "callGasLimit",
955
- type: "uint256"
956
- },
957
- {
958
- internalType: "uint256",
959
- name: "verificationGasLimit",
960
- type: "uint256"
961
- },
962
- {
963
- internalType: "uint256",
964
- name: "preVerificationGas",
965
- type: "uint256"
966
- },
967
- {
968
- internalType: "uint256",
969
- name: "maxFeePerGas",
970
- type: "uint256"
971
- },
972
- {
973
- internalType: "uint256",
974
- name: "maxPriorityFeePerGas",
975
- type: "uint256"
976
- },
977
- {
978
- internalType: "bytes",
979
- name: "paymasterAndData",
980
- type: "bytes"
981
- },
982
- {
983
- internalType: "bytes",
984
- name: "signature",
985
- type: "bytes"
986
- }
987
- ],
988
- internalType: "struct UserOperation[]",
989
- name: "ops",
990
- type: "tuple[]"
991
- },
992
- {
993
- internalType: "address payable",
994
- name: "beneficiary",
995
- type: "address"
996
- }
997
- ],
998
- name: "handleOps",
999
- outputs: [],
1000
- stateMutability: "nonpayable",
1001
- type: "function"
1002
- },
1003
- {
1004
- inputs: [
1005
- {
1006
- internalType: "uint192",
1007
- name: "key",
1008
- type: "uint192"
1009
- }
1010
- ],
1011
- name: "incrementNonce",
1012
- outputs: [],
1013
- stateMutability: "nonpayable",
1014
- type: "function"
1015
- },
1016
- {
1017
- inputs: [
1018
- {
1019
- internalType: "bytes",
1020
- name: "callData",
1021
- type: "bytes"
1022
- },
1023
- {
1024
- components: [
1025
- {
1026
- components: [
1027
- {
1028
- internalType: "address",
1029
- name: "sender",
1030
- type: "address"
1031
- },
1032
- {
1033
- internalType: "uint256",
1034
- name: "nonce",
1035
- type: "uint256"
1036
- },
1037
- {
1038
- internalType: "uint256",
1039
- name: "callGasLimit",
1040
- type: "uint256"
1041
- },
1042
- {
1043
- internalType: "uint256",
1044
- name: "verificationGasLimit",
1045
- type: "uint256"
1046
- },
1047
- {
1048
- internalType: "uint256",
1049
- name: "preVerificationGas",
1050
- type: "uint256"
1051
- },
1052
- {
1053
- internalType: "address",
1054
- name: "paymaster",
1055
- type: "address"
1056
- },
1057
- {
1058
- internalType: "uint256",
1059
- name: "maxFeePerGas",
1060
- type: "uint256"
1061
- },
1062
- {
1063
- internalType: "uint256",
1064
- name: "maxPriorityFeePerGas",
1065
- type: "uint256"
1066
- }
1067
- ],
1068
- internalType: "struct EntryPoint.MemoryUserOp",
1069
- name: "mUserOp",
1070
- type: "tuple"
1071
- },
1072
- {
1073
- internalType: "bytes32",
1074
- name: "userOpHash",
1075
- type: "bytes32"
1076
- },
1077
- {
1078
- internalType: "uint256",
1079
- name: "prefund",
1080
- type: "uint256"
1081
- },
1082
- {
1083
- internalType: "uint256",
1084
- name: "contextOffset",
1085
- type: "uint256"
1086
- },
1087
- {
1088
- internalType: "uint256",
1089
- name: "preOpGas",
1090
- type: "uint256"
1091
- }
1092
- ],
1093
- internalType: "struct EntryPoint.UserOpInfo",
1094
- name: "opInfo",
1095
- type: "tuple"
1096
- },
1097
- {
1098
- internalType: "bytes",
1099
- name: "context",
1100
- type: "bytes"
1101
- }
1102
- ],
1103
- name: "innerHandleOp",
1104
- outputs: [
1105
- {
1106
- internalType: "uint256",
1107
- name: "actualGasCost",
1108
- type: "uint256"
1109
- }
1110
- ],
1111
- stateMutability: "nonpayable",
1112
- type: "function"
1113
- },
1114
- {
1115
- inputs: [
1116
- {
1117
- internalType: "address",
1118
- name: "",
1119
- type: "address"
1120
- },
1121
- {
1122
- internalType: "uint192",
1123
- name: "",
1124
- type: "uint192"
1125
- }
1126
- ],
1127
- name: "nonceSequenceNumber",
1128
- outputs: [
1129
- {
1130
- internalType: "uint256",
1131
- name: "",
1132
- type: "uint256"
1133
- }
1134
- ],
1135
- stateMutability: "view",
1136
- type: "function"
1137
- },
1138
- {
1139
- inputs: [
1140
- {
1141
- components: [
1142
- {
1143
- internalType: "address",
1144
- name: "sender",
1145
- type: "address"
1146
- },
1147
- {
1148
- internalType: "uint256",
1149
- name: "nonce",
1150
- type: "uint256"
1151
- },
1152
- {
1153
- internalType: "bytes",
1154
- name: "initCode",
1155
- type: "bytes"
1156
- },
1157
- {
1158
- internalType: "bytes",
1159
- name: "callData",
1160
- type: "bytes"
1161
- },
1162
- {
1163
- internalType: "uint256",
1164
- name: "callGasLimit",
1165
- type: "uint256"
1166
- },
1167
- {
1168
- internalType: "uint256",
1169
- name: "verificationGasLimit",
1170
- type: "uint256"
1171
- },
1172
- {
1173
- internalType: "uint256",
1174
- name: "preVerificationGas",
1175
- type: "uint256"
1176
- },
1177
- {
1178
- internalType: "uint256",
1179
- name: "maxFeePerGas",
1180
- type: "uint256"
1181
- },
1182
- {
1183
- internalType: "uint256",
1184
- name: "maxPriorityFeePerGas",
1185
- type: "uint256"
1186
- },
1187
- {
1188
- internalType: "bytes",
1189
- name: "paymasterAndData",
1190
- type: "bytes"
1191
- },
1192
- {
1193
- internalType: "bytes",
1194
- name: "signature",
1195
- type: "bytes"
1196
- }
1197
- ],
1198
- internalType: "struct UserOperation",
1199
- name: "op",
1200
- type: "tuple"
1201
- },
1202
- {
1203
- internalType: "address",
1204
- name: "target",
1205
- type: "address"
1206
- },
1207
- {
1208
- internalType: "bytes",
1209
- name: "targetCallData",
1210
- type: "bytes"
1211
- }
1212
- ],
1213
- name: "simulateHandleOp",
1214
- outputs: [],
1215
- stateMutability: "nonpayable",
1216
- type: "function"
1217
- },
1218
- {
1219
- inputs: [
1220
- {
1221
- components: [
1222
- {
1223
- internalType: "address",
1224
- name: "sender",
1225
- type: "address"
1226
- },
1227
- {
1228
- internalType: "uint256",
1229
- name: "nonce",
1230
- type: "uint256"
1231
- },
1232
- {
1233
- internalType: "bytes",
1234
- name: "initCode",
1235
- type: "bytes"
1236
- },
1237
- {
1238
- internalType: "bytes",
1239
- name: "callData",
1240
- type: "bytes"
1241
- },
1242
- {
1243
- internalType: "uint256",
1244
- name: "callGasLimit",
1245
- type: "uint256"
1246
- },
1247
- {
1248
- internalType: "uint256",
1249
- name: "verificationGasLimit",
1250
- type: "uint256"
1251
- },
1252
- {
1253
- internalType: "uint256",
1254
- name: "preVerificationGas",
1255
- type: "uint256"
1256
- },
1257
- {
1258
- internalType: "uint256",
1259
- name: "maxFeePerGas",
1260
- type: "uint256"
1261
- },
1262
- {
1263
- internalType: "uint256",
1264
- name: "maxPriorityFeePerGas",
1265
- type: "uint256"
1266
- },
1267
- {
1268
- internalType: "bytes",
1269
- name: "paymasterAndData",
1270
- type: "bytes"
1271
- },
1272
- {
1273
- internalType: "bytes",
1274
- name: "signature",
1275
- type: "bytes"
1276
- }
1277
- ],
1278
- internalType: "struct UserOperation",
1279
- name: "userOp",
1280
- type: "tuple"
1281
- }
1282
- ],
1283
- name: "simulateValidation",
1284
- outputs: [],
1285
- stateMutability: "nonpayable",
1286
- type: "function"
1287
- },
1288
- {
1289
- inputs: [],
1290
- name: "unlockStake",
1291
- outputs: [],
1292
- stateMutability: "nonpayable",
1293
- type: "function"
1294
- },
1295
- {
1296
- inputs: [
1297
- {
1298
- internalType: "address payable",
1299
- name: "withdrawAddress",
1300
- type: "address"
1301
- }
1302
- ],
1303
- name: "withdrawStake",
1304
- outputs: [],
1305
- stateMutability: "nonpayable",
1306
- type: "function"
1307
- },
1308
- {
1309
- inputs: [
1310
- {
1311
- internalType: "address payable",
1312
- name: "withdrawAddress",
1313
- type: "address"
1314
- },
1315
- {
1316
- internalType: "uint256",
1317
- name: "withdrawAmount",
1318
- type: "uint256"
1319
- }
1320
- ],
1321
- name: "withdrawTo",
1322
- outputs: [],
1323
- stateMutability: "nonpayable",
1324
- type: "function"
1325
- }
1326
- // {
1327
- // stateMutability: "payable",
1328
- // type: "receive"
1329
- // }
1330
- ];
1331
- export const EntryPointV07Abi = [
1332
- {
1333
- inputs: [
1334
- {
1335
- internalType: "bool",
1336
- name: "success",
1337
- type: "bool"
1338
- },
1339
- {
1340
- internalType: "bytes",
1341
- name: "ret",
1342
- type: "bytes"
1343
- }
1344
- ],
1345
- name: "DelegateAndRevert",
1346
- type: "error"
1347
- },
1348
- {
1349
- inputs: [
1350
- {
1351
- internalType: "uint256",
1352
- name: "opIndex",
1353
- type: "uint256"
1354
- },
1355
- {
1356
- internalType: "string",
1357
- name: "reason",
1358
- type: "string"
1359
- }
1360
- ],
1361
- name: "FailedOp",
1362
- type: "error"
1363
- },
1364
- {
1365
- inputs: [
1366
- {
1367
- internalType: "uint256",
1368
- name: "opIndex",
1369
- type: "uint256"
1370
- },
1371
- {
1372
- internalType: "string",
1373
- name: "reason",
1374
- type: "string"
1375
- },
1376
- {
1377
- internalType: "bytes",
1378
- name: "inner",
1379
- type: "bytes"
1380
- }
1381
- ],
1382
- name: "FailedOpWithRevert",
1383
- type: "error"
1384
- },
1385
- {
1386
- inputs: [
1387
- {
1388
- internalType: "bytes",
1389
- name: "returnData",
1390
- type: "bytes"
1391
- }
1392
- ],
1393
- name: "PostOpReverted",
1394
- type: "error"
1395
- },
1396
- {
1397
- inputs: [],
1398
- name: "ReentrancyGuardReentrantCall",
1399
- type: "error"
1400
- },
1401
- {
1402
- inputs: [
1403
- {
1404
- internalType: "address",
1405
- name: "sender",
1406
- type: "address"
1407
- }
1408
- ],
1409
- name: "SenderAddressResult",
1410
- type: "error"
1411
- },
1412
- {
1413
- inputs: [
1414
- {
1415
- internalType: "address",
1416
- name: "aggregator",
1417
- type: "address"
1418
- }
1419
- ],
1420
- name: "SignatureValidationFailed",
1421
- type: "error"
1422
- },
1423
- {
1424
- anonymous: false,
1425
- inputs: [
1426
- {
1427
- indexed: true,
1428
- internalType: "bytes32",
1429
- name: "userOpHash",
1430
- type: "bytes32"
1431
- },
1432
- {
1433
- indexed: true,
1434
- internalType: "address",
1435
- name: "sender",
1436
- type: "address"
1437
- },
1438
- {
1439
- indexed: false,
1440
- internalType: "address",
1441
- name: "factory",
1442
- type: "address"
1443
- },
1444
- {
1445
- indexed: false,
1446
- internalType: "address",
1447
- name: "paymaster",
1448
- type: "address"
1449
- }
1450
- ],
1451
- name: "AccountDeployed",
1452
- type: "event"
1453
- },
1454
- {
1455
- anonymous: false,
1456
- inputs: [],
1457
- name: "BeforeExecution",
1458
- type: "event"
1459
- },
1460
- {
1461
- anonymous: false,
1462
- inputs: [
1463
- {
1464
- indexed: true,
1465
- internalType: "address",
1466
- name: "account",
1467
- type: "address"
1468
- },
1469
- {
1470
- indexed: false,
1471
- internalType: "uint256",
1472
- name: "totalDeposit",
1473
- type: "uint256"
1474
- }
1475
- ],
1476
- name: "Deposited",
1477
- type: "event"
1478
- },
1479
- {
1480
- anonymous: false,
1481
- inputs: [
1482
- {
1483
- indexed: true,
1484
- internalType: "bytes32",
1485
- name: "userOpHash",
1486
- type: "bytes32"
1487
- },
1488
- {
1489
- indexed: true,
1490
- internalType: "address",
1491
- name: "sender",
1492
- type: "address"
1493
- },
1494
- {
1495
- indexed: false,
1496
- internalType: "uint256",
1497
- name: "nonce",
1498
- type: "uint256"
1499
- },
1500
- {
1501
- indexed: false,
1502
- internalType: "bytes",
1503
- name: "revertReason",
1504
- type: "bytes"
1505
- }
1506
- ],
1507
- name: "PostOpRevertReason",
1508
- type: "event"
1509
- },
1510
- {
1511
- anonymous: false,
1512
- inputs: [
1513
- {
1514
- indexed: true,
1515
- internalType: "address",
1516
- name: "aggregator",
1517
- type: "address"
1518
- }
1519
- ],
1520
- name: "SignatureAggregatorChanged",
1521
- type: "event"
1522
- },
1523
- {
1524
- anonymous: false,
1525
- inputs: [
1526
- {
1527
- indexed: true,
1528
- internalType: "address",
1529
- name: "account",
1530
- type: "address"
1531
- },
1532
- {
1533
- indexed: false,
1534
- internalType: "uint256",
1535
- name: "totalStaked",
1536
- type: "uint256"
1537
- },
1538
- {
1539
- indexed: false,
1540
- internalType: "uint256",
1541
- name: "unstakeDelaySec",
1542
- type: "uint256"
1543
- }
1544
- ],
1545
- name: "StakeLocked",
1546
- type: "event"
1547
- },
1548
- {
1549
- anonymous: false,
1550
- inputs: [
1551
- {
1552
- indexed: true,
1553
- internalType: "address",
1554
- name: "account",
1555
- type: "address"
1556
- },
1557
- {
1558
- indexed: false,
1559
- internalType: "uint256",
1560
- name: "withdrawTime",
1561
- type: "uint256"
1562
- }
1563
- ],
1564
- name: "StakeUnlocked",
1565
- type: "event"
1566
- },
1567
- {
1568
- anonymous: false,
1569
- inputs: [
1570
- {
1571
- indexed: true,
1572
- internalType: "address",
1573
- name: "account",
1574
- type: "address"
1575
- },
1576
- {
1577
- indexed: false,
1578
- internalType: "address",
1579
- name: "withdrawAddress",
1580
- type: "address"
1581
- },
1582
- {
1583
- indexed: false,
1584
- internalType: "uint256",
1585
- name: "amount",
1586
- type: "uint256"
1587
- }
1588
- ],
1589
- name: "StakeWithdrawn",
1590
- type: "event"
1591
- },
1592
- {
1593
- anonymous: false,
1594
- inputs: [
1595
- {
1596
- indexed: true,
1597
- internalType: "bytes32",
1598
- name: "userOpHash",
1599
- type: "bytes32"
1600
- },
1601
- {
1602
- indexed: true,
1603
- internalType: "address",
1604
- name: "sender",
1605
- type: "address"
1606
- },
1607
- {
1608
- indexed: true,
1609
- internalType: "address",
1610
- name: "paymaster",
1611
- type: "address"
1612
- },
1613
- {
1614
- indexed: false,
1615
- internalType: "uint256",
1616
- name: "nonce",
1617
- type: "uint256"
1618
- },
1619
- {
1620
- indexed: false,
1621
- internalType: "bool",
1622
- name: "success",
1623
- type: "bool"
1624
- },
1625
- {
1626
- indexed: false,
1627
- internalType: "uint256",
1628
- name: "actualGasCost",
1629
- type: "uint256"
1630
- },
1631
- {
1632
- indexed: false,
1633
- internalType: "uint256",
1634
- name: "actualGasUsed",
1635
- type: "uint256"
1636
- }
1637
- ],
1638
- name: "UserOperationEvent",
1639
- type: "event"
1640
- },
1641
- {
1642
- anonymous: false,
1643
- inputs: [
1644
- {
1645
- indexed: true,
1646
- internalType: "bytes32",
1647
- name: "userOpHash",
1648
- type: "bytes32"
1649
- },
1650
- {
1651
- indexed: true,
1652
- internalType: "address",
1653
- name: "sender",
1654
- type: "address"
1655
- },
1656
- {
1657
- indexed: false,
1658
- internalType: "uint256",
1659
- name: "nonce",
1660
- type: "uint256"
1661
- },
1662
- {
1663
- indexed: false,
1664
- internalType: "bytes",
1665
- name: "revertReason",
1666
- type: "bytes"
1667
- }
1668
- ],
1669
- name: "UserOperationRevertReason",
1670
- type: "event"
1671
- },
1672
- {
1673
- anonymous: false,
1674
- inputs: [
1675
- {
1676
- indexed: true,
1677
- internalType: "address",
1678
- name: "account",
1679
- type: "address"
1680
- },
1681
- {
1682
- indexed: false,
1683
- internalType: "address",
1684
- name: "withdrawAddress",
1685
- type: "address"
1686
- },
1687
- {
1688
- indexed: false,
1689
- internalType: "uint256",
1690
- name: "amount",
1691
- type: "uint256"
1692
- }
1693
- ],
1694
- name: "Withdrawn",
1695
- type: "event"
1696
- },
1697
- {
1698
- inputs: [
1699
- {
1700
- internalType: "uint32",
1701
- name: "unstakeDelaySec",
1702
- type: "uint32"
1703
- }
1704
- ],
1705
- name: "addStake",
1706
- outputs: [],
1707
- stateMutability: "payable",
1708
- type: "function"
1709
- },
1710
- {
1711
- inputs: [
1712
- {
1713
- internalType: "address",
1714
- name: "account",
1715
- type: "address"
1716
- }
1717
- ],
1718
- name: "balanceOf",
1719
- outputs: [
1720
- {
1721
- internalType: "uint256",
1722
- name: "",
1723
- type: "uint256"
1724
- }
1725
- ],
1726
- stateMutability: "view",
1727
- type: "function"
1728
- },
1729
- {
1730
- inputs: [
1731
- {
1732
- internalType: "address",
1733
- name: "target",
1734
- type: "address"
1735
- },
1736
- {
1737
- internalType: "bytes",
1738
- name: "data",
1739
- type: "bytes"
1740
- }
1741
- ],
1742
- name: "delegateAndRevert",
1743
- outputs: [],
1744
- stateMutability: "nonpayable",
1745
- type: "function"
1746
- },
1747
- {
1748
- inputs: [
1749
- {
1750
- internalType: "address",
1751
- name: "account",
1752
- type: "address"
1753
- }
1754
- ],
1755
- name: "depositTo",
1756
- outputs: [],
1757
- stateMutability: "payable",
1758
- type: "function"
1759
- },
1760
- {
1761
- inputs: [
1762
- {
1763
- internalType: "address",
1764
- name: "",
1765
- type: "address"
1766
- }
1767
- ],
1768
- name: "deposits",
1769
- outputs: [
1770
- {
1771
- internalType: "uint256",
1772
- name: "deposit",
1773
- type: "uint256"
1774
- },
1775
- {
1776
- internalType: "bool",
1777
- name: "staked",
1778
- type: "bool"
1779
- },
1780
- {
1781
- internalType: "uint112",
1782
- name: "stake",
1783
- type: "uint112"
1784
- },
1785
- {
1786
- internalType: "uint32",
1787
- name: "unstakeDelaySec",
1788
- type: "uint32"
1789
- },
1790
- {
1791
- internalType: "uint48",
1792
- name: "withdrawTime",
1793
- type: "uint48"
1794
- }
1795
- ],
1796
- stateMutability: "view",
1797
- type: "function"
1798
- },
1799
- {
1800
- inputs: [
1801
- {
1802
- internalType: "address",
1803
- name: "account",
1804
- type: "address"
1805
- }
1806
- ],
1807
- name: "getDepositInfo",
1808
- outputs: [
1809
- {
1810
- components: [
1811
- {
1812
- internalType: "uint256",
1813
- name: "deposit",
1814
- type: "uint256"
1815
- },
1816
- {
1817
- internalType: "bool",
1818
- name: "staked",
1819
- type: "bool"
1820
- },
1821
- {
1822
- internalType: "uint112",
1823
- name: "stake",
1824
- type: "uint112"
1825
- },
1826
- {
1827
- internalType: "uint32",
1828
- name: "unstakeDelaySec",
1829
- type: "uint32"
1830
- },
1831
- {
1832
- internalType: "uint48",
1833
- name: "withdrawTime",
1834
- type: "uint48"
1835
- }
1836
- ],
1837
- internalType: "struct IStakeManager.DepositInfo",
1838
- name: "info",
1839
- type: "tuple"
1840
- }
1841
- ],
1842
- stateMutability: "view",
1843
- type: "function"
1844
- },
1845
- {
1846
- inputs: [
1847
- {
1848
- internalType: "address",
1849
- name: "sender",
1850
- type: "address"
1851
- },
1852
- {
1853
- internalType: "uint192",
1854
- name: "key",
1855
- type: "uint192"
1856
- }
1857
- ],
1858
- name: "getNonce",
1859
- outputs: [
1860
- {
1861
- internalType: "uint256",
1862
- name: "nonce",
1863
- type: "uint256"
1864
- }
1865
- ],
1866
- stateMutability: "view",
1867
- type: "function"
1868
- },
1869
- {
1870
- inputs: [
1871
- {
1872
- internalType: "bytes",
1873
- name: "initCode",
1874
- type: "bytes"
1875
- }
1876
- ],
1877
- name: "getSenderAddress",
1878
- outputs: [],
1879
- stateMutability: "nonpayable",
1880
- type: "function"
1881
- },
1882
- {
1883
- inputs: [
1884
- {
1885
- components: [
1886
- {
1887
- internalType: "address",
1888
- name: "sender",
1889
- type: "address"
1890
- },
1891
- {
1892
- internalType: "uint256",
1893
- name: "nonce",
1894
- type: "uint256"
1895
- },
1896
- {
1897
- internalType: "bytes",
1898
- name: "initCode",
1899
- type: "bytes"
1900
- },
1901
- {
1902
- internalType: "bytes",
1903
- name: "callData",
1904
- type: "bytes"
1905
- },
1906
- {
1907
- internalType: "bytes32",
1908
- name: "accountGasLimits",
1909
- type: "bytes32"
1910
- },
1911
- {
1912
- internalType: "uint256",
1913
- name: "preVerificationGas",
1914
- type: "uint256"
1915
- },
1916
- {
1917
- internalType: "bytes32",
1918
- name: "gasFees",
1919
- type: "bytes32"
1920
- },
1921
- {
1922
- internalType: "bytes",
1923
- name: "paymasterAndData",
1924
- type: "bytes"
1925
- },
1926
- {
1927
- internalType: "bytes",
1928
- name: "signature",
1929
- type: "bytes"
1930
- }
1931
- ],
1932
- internalType: "struct PackedUserOperation",
1933
- name: "userOp",
1934
- type: "tuple"
1935
- }
1936
- ],
1937
- name: "getUserOpHash",
1938
- outputs: [
1939
- {
1940
- internalType: "bytes32",
1941
- name: "",
1942
- type: "bytes32"
1943
- }
1944
- ],
1945
- stateMutability: "view",
1946
- type: "function"
1947
- },
1948
- {
1949
- inputs: [
1950
- {
1951
- components: [
1952
- {
1953
- components: [
1954
- {
1955
- internalType: "address",
1956
- name: "sender",
1957
- type: "address"
1958
- },
1959
- {
1960
- internalType: "uint256",
1961
- name: "nonce",
1962
- type: "uint256"
1963
- },
1964
- {
1965
- internalType: "bytes",
1966
- name: "initCode",
1967
- type: "bytes"
1968
- },
1969
- {
1970
- internalType: "bytes",
1971
- name: "callData",
1972
- type: "bytes"
1973
- },
1974
- {
1975
- internalType: "bytes32",
1976
- name: "accountGasLimits",
1977
- type: "bytes32"
1978
- },
1979
- {
1980
- internalType: "uint256",
1981
- name: "preVerificationGas",
1982
- type: "uint256"
1983
- },
1984
- {
1985
- internalType: "bytes32",
1986
- name: "gasFees",
1987
- type: "bytes32"
1988
- },
1989
- {
1990
- internalType: "bytes",
1991
- name: "paymasterAndData",
1992
- type: "bytes"
1993
- },
1994
- {
1995
- internalType: "bytes",
1996
- name: "signature",
1997
- type: "bytes"
1998
- }
1999
- ],
2000
- internalType: "struct PackedUserOperation[]",
2001
- name: "userOps",
2002
- type: "tuple[]"
2003
- },
2004
- {
2005
- internalType: "contract IAggregator",
2006
- name: "aggregator",
2007
- type: "address"
2008
- },
2009
- {
2010
- internalType: "bytes",
2011
- name: "signature",
2012
- type: "bytes"
2013
- }
2014
- ],
2015
- internalType: "struct IEntryPoint.UserOpsPerAggregator[]",
2016
- name: "opsPerAggregator",
2017
- type: "tuple[]"
2018
- },
2019
- {
2020
- internalType: "address payable",
2021
- name: "beneficiary",
2022
- type: "address"
2023
- }
2024
- ],
2025
- name: "handleAggregatedOps",
2026
- outputs: [],
2027
- stateMutability: "nonpayable",
2028
- type: "function"
2029
- },
2030
- {
2031
- inputs: [
2032
- {
2033
- components: [
2034
- {
2035
- internalType: "address",
2036
- name: "sender",
2037
- type: "address"
2038
- },
2039
- {
2040
- internalType: "uint256",
2041
- name: "nonce",
2042
- type: "uint256"
2043
- },
2044
- {
2045
- internalType: "bytes",
2046
- name: "initCode",
2047
- type: "bytes"
2048
- },
2049
- {
2050
- internalType: "bytes",
2051
- name: "callData",
2052
- type: "bytes"
2053
- },
2054
- {
2055
- internalType: "bytes32",
2056
- name: "accountGasLimits",
2057
- type: "bytes32"
2058
- },
2059
- {
2060
- internalType: "uint256",
2061
- name: "preVerificationGas",
2062
- type: "uint256"
2063
- },
2064
- {
2065
- internalType: "bytes32",
2066
- name: "gasFees",
2067
- type: "bytes32"
2068
- },
2069
- {
2070
- internalType: "bytes",
2071
- name: "paymasterAndData",
2072
- type: "bytes"
2073
- },
2074
- {
2075
- internalType: "bytes",
2076
- name: "signature",
2077
- type: "bytes"
2078
- }
2079
- ],
2080
- internalType: "struct PackedUserOperation[]",
2081
- name: "ops",
2082
- type: "tuple[]"
2083
- },
2084
- {
2085
- internalType: "address payable",
2086
- name: "beneficiary",
2087
- type: "address"
2088
- }
2089
- ],
2090
- name: "handleOps",
2091
- outputs: [],
2092
- stateMutability: "nonpayable",
2093
- type: "function"
2094
- },
2095
- {
2096
- inputs: [
2097
- {
2098
- internalType: "uint192",
2099
- name: "key",
2100
- type: "uint192"
2101
- }
2102
- ],
2103
- name: "incrementNonce",
2104
- outputs: [],
2105
- stateMutability: "nonpayable",
2106
- type: "function"
2107
- },
2108
- {
2109
- inputs: [
2110
- {
2111
- internalType: "bytes",
2112
- name: "callData",
2113
- type: "bytes"
2114
- },
2115
- {
2116
- components: [
2117
- {
2118
- components: [
2119
- {
2120
- internalType: "address",
2121
- name: "sender",
2122
- type: "address"
2123
- },
2124
- {
2125
- internalType: "uint256",
2126
- name: "nonce",
2127
- type: "uint256"
2128
- },
2129
- {
2130
- internalType: "uint256",
2131
- name: "verificationGasLimit",
2132
- type: "uint256"
2133
- },
2134
- {
2135
- internalType: "uint256",
2136
- name: "callGasLimit",
2137
- type: "uint256"
2138
- },
2139
- {
2140
- internalType: "uint256",
2141
- name: "paymasterVerificationGasLimit",
2142
- type: "uint256"
2143
- },
2144
- {
2145
- internalType: "uint256",
2146
- name: "paymasterPostOpGasLimit",
2147
- type: "uint256"
2148
- },
2149
- {
2150
- internalType: "uint256",
2151
- name: "preVerificationGas",
2152
- type: "uint256"
2153
- },
2154
- {
2155
- internalType: "address",
2156
- name: "paymaster",
2157
- type: "address"
2158
- },
2159
- {
2160
- internalType: "uint256",
2161
- name: "maxFeePerGas",
2162
- type: "uint256"
2163
- },
2164
- {
2165
- internalType: "uint256",
2166
- name: "maxPriorityFeePerGas",
2167
- type: "uint256"
2168
- }
2169
- ],
2170
- internalType: "struct EntryPoint.MemoryUserOp",
2171
- name: "mUserOp",
2172
- type: "tuple"
2173
- },
2174
- {
2175
- internalType: "bytes32",
2176
- name: "userOpHash",
2177
- type: "bytes32"
2178
- },
2179
- {
2180
- internalType: "uint256",
2181
- name: "prefund",
2182
- type: "uint256"
2183
- },
2184
- {
2185
- internalType: "uint256",
2186
- name: "contextOffset",
2187
- type: "uint256"
2188
- },
2189
- {
2190
- internalType: "uint256",
2191
- name: "preOpGas",
2192
- type: "uint256"
2193
- }
2194
- ],
2195
- internalType: "struct EntryPoint.UserOpInfo",
2196
- name: "opInfo",
2197
- type: "tuple"
2198
- },
2199
- {
2200
- internalType: "bytes",
2201
- name: "context",
2202
- type: "bytes"
2203
- }
2204
- ],
2205
- name: "innerHandleOp",
2206
- outputs: [
2207
- {
2208
- internalType: "uint256",
2209
- name: "actualGasCost",
2210
- type: "uint256"
2211
- }
2212
- ],
2213
- stateMutability: "nonpayable",
2214
- type: "function"
2215
- },
2216
- {
2217
- inputs: [
2218
- {
2219
- internalType: "address",
2220
- name: "",
2221
- type: "address"
2222
- },
2223
- {
2224
- internalType: "uint192",
2225
- name: "",
2226
- type: "uint192"
2227
- }
2228
- ],
2229
- name: "nonceSequenceNumber",
2230
- outputs: [
2231
- {
2232
- internalType: "uint256",
2233
- name: "",
2234
- type: "uint256"
2235
- }
2236
- ],
2237
- stateMutability: "view",
2238
- type: "function"
2239
- },
2240
- {
2241
- inputs: [
2242
- {
2243
- internalType: "bytes4",
2244
- name: "interfaceId",
2245
- type: "bytes4"
2246
- }
2247
- ],
2248
- name: "supportsInterface",
2249
- outputs: [
2250
- {
2251
- internalType: "bool",
2252
- name: "",
2253
- type: "bool"
2254
- }
2255
- ],
2256
- stateMutability: "view",
2257
- type: "function"
2258
- },
2259
- {
2260
- inputs: [],
2261
- name: "unlockStake",
2262
- outputs: [],
2263
- stateMutability: "nonpayable",
2264
- type: "function"
2265
- },
2266
- {
2267
- inputs: [
2268
- {
2269
- internalType: "address payable",
2270
- name: "withdrawAddress",
2271
- type: "address"
2272
- }
2273
- ],
2274
- name: "withdrawStake",
2275
- outputs: [],
2276
- stateMutability: "nonpayable",
2277
- type: "function"
2278
- },
2279
- {
2280
- inputs: [
2281
- {
2282
- internalType: "address payable",
2283
- name: "withdrawAddress",
2284
- type: "address"
2285
- },
2286
- {
2287
- internalType: "uint256",
2288
- name: "withdrawAmount",
2289
- type: "uint256"
2290
- }
2291
- ],
2292
- name: "withdrawTo",
2293
- outputs: [],
2294
- stateMutability: "nonpayable",
2295
- type: "function"
2296
- },
2297
- {
2298
- stateMutability: "payable",
2299
- type: "receive"
2300
- }
2301
- ];
2302
- export const EntryPointV07Bytecode = "0x60a08060405234620000825760016002556101df8181016001600160401b038111838210176200006c57829162003dfa833903906000f080156200006057608052604051613d729081620000888239608051818181610d22015261319b0152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60806040526004361015610024575b361561001957600080fd5b61002233612738565b005b60003560e01c806242dc5314611b0057806301ffc9a7146119ae5780630396cb60146116765780630bd28e3b146115fa5780631b2e01b814611566578063205c2878146113d157806322cdde4c1461136b57806335567e1a146112b35780635287ce12146111a557806370a0823114611140578063765e827f14610e82578063850aaf6214610dc35780639b249f6914610c74578063b760faf914610c3a578063bb9fe6bf14610a68578063c23a5cea146107c4578063dbed18e0146101a15763fc7e286d0361000e573461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff61013a61228f565b16600052600060205260a0604060002065ffffffffffff6001825492015460405192835260ff8116151560208401526dffffffffffffffffffffffffffff8160081c16604084015263ffffffff8160781c16606084015260981c166080820152f35b600080fd5b3461019c576101af36612307565b906101b86129ad565b60009160005b82811061056f57506101d08493612578565b6000805b8481106102fc5750507fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000809360005b81811061024757610240868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2613b35565b6001600255005b6102a261025582848a612786565b73ffffffffffffffffffffffffffffffffffffffff6102766020830161281a565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a2806127c6565b906000915b8083106102b957505050600101610209565b909194976102f36102ed6001926102e78c8b6102e0826102da8e8b8d61268d565b9261264a565b51916134fb565b906123f9565b99612406565b950191906102a7565b6020610309828789612786565b61031f61031682806127c6565b9390920161281a565b9160009273ffffffffffffffffffffffffffffffffffffffff8091165b8285106103505750505050506001016101d4565b909192939561037f83610378610366848c61264a565b516103728b898b61268d565b856129e6565b9290613ca6565b9116840361050a576104a5576103958491613ca6565b9116610440576103b5576103aa600191612406565b96019392919061033c565b60a487604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b61057a818487612786565b9361058585806127c6565b919095602073ffffffffffffffffffffffffffffffffffffffff6105aa82840161281a565b1697600192838a1461076657896105da575b5050505060019293949550906105d1916123f9565b939291016101be565b8060406105e892019061283b565b918a3b1561019c57929391906040519485937f2dd8113300000000000000000000000000000000000000000000000000000000855288604486016040600488015252606490818601918a60051b8701019680936000915b8c83106106e657505050505050838392610684927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85600098030160248601526126f9565b03818a5afa90816106d7575b506106c657602486604051907f86a9f7500000000000000000000000000000000000000000000000000000000082526004820152fd5b93945084936105d1600189806105bc565b6106e0906121ad565b88610690565b91939596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c908a9294969a0301865288357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18336030181121561019c57836107538793858394016128dc565b9a0196019301909189979695949261063f565b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b3461019c576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576107fc61228f565b33600052600082526001604060002001908154916dffffffffffffffffffffffffffff8360081c16928315610a0a5765ffffffffffff8160981c1680156109ac57421061094e5760009373ffffffffffffffffffffffffffffffffffffffff859485947fffffffffffffff000000000000000000000000000000000000000000000000ff86951690556040517fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda33391806108da8786836020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0390a2165af16108e8612440565b50156108f057005b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b3461019c5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c573360005260006020526001604060002001805463ffffffff8160781c16908115610bdc5760ff1615610b7e5765ffffffffffff908142160191818311610b4f5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609885901b161790556040519116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a2005b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610022610c6f61228f565b612738565b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043567ffffffffffffffff811161019c576020610cc8610d1b9236906004016122b2565b919073ffffffffffffffffffffffffffffffffffffffff9260405194859283927f570e1a3600000000000000000000000000000000000000000000000000000000845285600485015260248401916126f9565b03816000857f0000000000000000000000000000000000000000000000000000000000000000165af1908115610db757602492600092610d86575b50604051917f6ca7b806000000000000000000000000000000000000000000000000000000008352166004820152fd5b610da991925060203d602011610db0575b610da181836121dd565b8101906126cd565b9083610d56565b503d610d97565b6040513d6000823e3d90fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610dfa61228f565b60243567ffffffffffffffff811161019c57600091610e1e839236906004016122b2565b90816040519283928337810184815203915af4610e39612440565b90610e7e6040519283927f99410554000000000000000000000000000000000000000000000000000000008452151560048401526040602484015260448301906123b6565b0390fd5b3461019c57610e9036612307565b610e9b9291926129ad565b610ea483612578565b60005b848110610f1c57506000927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000915b858310610eec576102408585613b35565b909193600190610f12610f0087898761268d565b610f0a888661264a565b5190886134fb565b0194019190610edb565b610f47610f40610f2e8385979561264a565b51610f3a84898761268d565b846129e6565b9190613ca6565b73ffffffffffffffffffffffffffffffffffffffff929183166110db5761107657610f7190613ca6565b911661101157610f8657600101929092610ea7565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff61118c61228f565b1660005260006020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff6111f161228f565b6000608060405161120181612145565b828152826020820152826040820152826060820152015216600052600060205260a06040600020608060405161123681612145565b6001835493848352015490602081019060ff8316151582526dffffffffffffffffffffffffffff60408201818560081c16815263ffffffff936060840193858760781c16855265ffffffffffff978891019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760206112ec61228f565b73ffffffffffffffffffffffffffffffffffffffff6113096122e0565b911660005260018252604060002077ffffffffffffffffffffffffffffffffffffffffffffffff821660005282526040600020547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b3461019c577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261019c576004359067ffffffffffffffff821161019c5761012090823603011261019c576113c9602091600401612470565b604051908152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5761140861228f565b60243590336000526000602052604060002090815491828411611508576000808573ffffffffffffffffffffffffffffffffffffffff8295839561144c848a612433565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af16114a2612440565b50156114aa57005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5761159d61228f565b73ffffffffffffffffffffffffffffffffffffffff6115ba6122e0565b9116600052600160205277ffffffffffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043577ffffffffffffffffffffffffffffffffffffffffffffffff811680910361019c5733600052600160205260406000209060005260205260406000206116728154612406565b9055005b6020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043563ffffffff9182821680920361019c5733600052600081526040600020928215611950576001840154908160781c1683106118f2576116f86dffffffffffffffffffffffffffff9182349160081c166123f9565b93841561189457818511611836579065ffffffffffff61180592546040519061172082612145565b8152848101926001845260408201908816815260608201878152600160808401936000855233600052600089526040600020905181550194511515917fffffffffffffffffffffffffff0000000000000000000000000000000000000060ff72ffffffff0000000000000000000000000000006effffffffffffffffffffffffffff008954945160081b16945160781b1694169116171717835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b6040519283528201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361019c57807f60fc6b6e0000000000000000000000000000000000000000000000000000000060209214908115611ad6575b8115611aac575b8115611a82575b8115611a58575b506040519015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501482611a4d565b7f3e84f0210000000000000000000000000000000000000000000000000000000081149150611a46565b7fcf28ef970000000000000000000000000000000000000000000000000000000081149150611a3f565b7f915074d80000000000000000000000000000000000000000000000000000000081149150611a38565b3461019c576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5767ffffffffffffffff60043581811161019c573660238201121561019c57611b62903690602481600401359101612258565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601916101c0831261019c5761014060405193611ba085612145565b1261019c5760405192611bb284612190565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361019c578452602093604435858201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff8116810361019c5760e082015261012435610100820152610144356101208201528152610164358482015260408101926101843584526101a43560608301526101c43560808301526101e43590811161019c57611c809036906004016122b2565b925a913033036120e7578351606081015192603f5a0260061c61271060a0840151860101116120be5760009381519182611fe4575b50505050611ccf91925a9003608085015101943691612258565b9160005a825195611cdf87613c5a565b9573ffffffffffffffffffffffffffffffffffffffff60e0890151168015600014611e8b57505073ffffffffffffffffffffffffffffffffffffffff875116915b5a90030194606087015160a0880151016080850151870390818111611e77575b505085029687815110611e13579087611d5b92510390613c26565b506003831015611de657506080867f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f9201519273ffffffffffffffffffffffffffffffffffffffff865116948873ffffffffffffffffffffffffffffffffffffffff60e0890151169701519160405192835215898301528760408301526060820152a4604051908152f35b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b6084838a604051917f220266b600000000000000000000000000000000000000000000000000000000835260048301526040602483015260448201527f414135312070726566756e642062656c6f772061637475616c476173436f73746064820152fd5b6064919003600a0204909501948980611d40565b8093918051611e9c575b5050611d20565b6003881015611fb5576002880315611e955760a08a999897969c9b9a015191803b1561019c57889260009283611f10938b604051978896879586937f7c627b2100000000000000000000000000000000000000000000000000000000855260048501526080602485015260848401906123b6565b90808c02604484015260648301520393f19081611fa1575b50611f925789893d610800808211611f8a575b506040519282828501016040528184528284013e610e7e6040519283927fad7954bc000000000000000000000000000000000000000000000000000000008452600484015260248301906123b6565b905083611f3b565b98929394959697988a80611e95565b611fac919b506121ad565b6000998b611f28565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91600092918380938d73ffffffffffffffffffffffffffffffffffffffff885116910192f115612017575b808080611cb5565b611ccf92503d6108008082116120b6575b5060405190898183010160405280825260008a83013e805161204f575b505060019161200f565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a2018980880151926120ac8273ffffffffffffffffffffffffffffffffffffffff8751169601519160408051948594855284015260408301906123b6565b0390a38780612045565b905089612028565b887fdeaddead000000000000000000000000000000000000000000000000000000006000526000fd5b606487604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff82111761216157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610140810190811067ffffffffffffffff82111761216157604052565b67ffffffffffffffff811161216157604052565b6060810190811067ffffffffffffffff82111761216157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761216157604052565b67ffffffffffffffff811161216157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926122648261221e565b9161227260405193846121dd565b82948184528183011161019c578281602093846000960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9181601f8401121561019c5782359167ffffffffffffffff831161019c576020838186019501011161019c57565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261019c5760043567ffffffffffffffff9283821161019c578060238301121561019c57816004013593841161019c5760248460051b8301011161019c57602401919060243573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b60005b8381106123a65750506000910152565b8181015183820152602001612396565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936123f281518092818752878088019101612393565b0116010190565b91908201809211610b4f57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b4f5760010190565b91908203918211610b4f57565b3d1561246b573d906124518261221e565b9161245f60405193846121dd565b82523d6000602084013e565b606090565b604061247e8183018361283b565b9081835191823720612493606084018461283b565b90818451918237209260c06124ab60e083018361283b565b908186519182372091845195602087019473ffffffffffffffffffffffffffffffffffffffff833516865260208301358789015260608801526080870152608081013560a087015260a081013582870152013560e08501526101009081850152835261012083019167ffffffffffffffff918484108385111761216157838252845190206101408501908152306101608601524661018086015260608452936101a00191821183831017612161575251902090565b67ffffffffffffffff81116121615760051b60200190565b9061258282612560565b60409061259260405191826121dd565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06125c08295612560565b019160005b8381106125d25750505050565b60209082516125e081612145565b83516125eb81612190565b600081526000849181838201528187820152816060818184015260809282848201528260a08201528260c08201528260e082015282610100820152826101208201528652818587015281898701528501528301528286010152016125c5565b805182101561265e5760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b919081101561265e5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18136030182121561019c570190565b9081602091031261019c575173ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff61277a3485613c26565b936040519485521692a2565b919081101561265e5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561019c570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c57602001918160051b3603831361019c57565b3573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c5760200191813603831361019c57565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561019c57016020813591019167ffffffffffffffff821161019c57813603831361019c57565b61012091813573ffffffffffffffffffffffffffffffffffffffff811680910361019c576129526129376129aa9561298b93855260208601356020860152612927604087018761288c565b90918060408801528601916126f9565b612944606086018661288c565b9085830360608701526126f9565b6080840135608084015260a084013560a084015260c084013560c084015261297d60e085018561288c565b9084830360e08601526126f9565b9161299c610100918281019061288c565b9290918185039101526126f9565b90565b60028054146129bc5760028055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b9290916000925a908251813573ffffffffffffffffffffffffffffffffffffffff811680910361019c5781526020820135602082015260808201356fffffffffffffffffffffffffffffffff90818116606084015260801c604083015260a083013560c083015260c083013590811661010083015260801c610120820152612a7160e083018361283b565b80156134df5760348110613481578060141161019c578060241161019c5760341161019c57602481013560801c60a0830152601481013560801c60808301523560601c60e08201525b612ac382612470565b60208501526effffffffffffffffffffffffffffff60c082015160408301511760608301511760808301511760a08301511761010083015117610120830151171161342357604081015160608201510160808201510160a08201510160c08201510161010082015102845173ffffffffffffffffffffffffffffffffffffffff815116612b53604086018661283b565b80613134575b5050612bc8602073ffffffffffffffffffffffffffffffffffffffff60e085015116936000908515613102575b60400151828b01516000868b604051978896879586937f19822f7c00000000000000000000000000000000000000000000000000000000855260048501613c84565b0393f1600091816130ce575b50612c7c573d8b610800808311612c74575b50604051916020818401016040528083526000602084013e610e7e6040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906123b6565b915082612be6565b9115613048575b509773ffffffffffffffffffffffffffffffffffffffff835116602084015190600052600160205260406000208160401c60005260205267ffffffffffffffff604060002091825492612cd584612406565b90551603612fe35760609273ffffffffffffffffffffffffffffffffffffffff60e082015116612d97575b5a860390608060408201519101510110612d3257506040850152606084015260809160a090910135905a900301910152565b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413430206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b9198969594939250965083519773ffffffffffffffffffffffffffffffffffffffff60e08a0151169889600052600060205260406000208054838110612f7e579a6080600093859384612e299d9e9f0390550151908360208a015191604051809d819682957f52b7512c0000000000000000000000000000000000000000000000000000000084528c60048501613c84565b0393f19687600091600099612ef1575b50612ee1573d8a610800808311612ed9575b50604051916020818401016040528083526000602084013e610e7e6040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906123b6565b915082612e4b565b9890919293949596979892612d00565b915097503d90816000823e612f0682826121dd565b604081838101031261019c5780519067ffffffffffffffff821161019c57828101601f83830101121561019c578181015191612f418361221e565b93612f4f60405195866121dd565b838552820160208483850101011161019c57602092612f75918480870191850101612393565b01519738612e39565b60848b604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b60005260006020526040600020805480841161306957839003905538612c83565b60848b604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b9091506020813d6020116130fa575b816130ea602093836121dd565b8101031261019c57519038612bd4565b3d91506130dd565b9050836000526000825260406000205486811160001461312a5750604060005b919050612b86565b6040908703613122565b823b6133be57604089510151602060405180927f570e1a360000000000000000000000000000000000000000000000000000000082528260048301528160008161318260248201898b6126f9565b039273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690f1908115610db75760009161339f575b5073ffffffffffffffffffffffffffffffffffffffff81161561333a578373ffffffffffffffffffffffffffffffffffffffff8216036132d5573b156132705760141161019c5781907fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d604060208b01519273ffffffffffffffffffffffffffffffffffffffff60e08d510151168251913560601c82526020820152a33880612b59565b60848c604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b6133b8915060203d602011610db057610da181836121dd565b386131cc565b60848c604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b5050600060e082015260006080820152600060a0820152612aba565b9092915a90606081015160006040938451977fffffffff000000000000000000000000000000000000000000000000000000008961353c606084018461283b565b8660038211613b2d575b7f8dd7712f000000000000000000000000000000000000000000000000000000009416841487146139d4575050506136169161370191602088015161359e8a5193849360208501528b602485015260648401906128dc565b90604483015203906135d67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0928381018352826121dd565b6136f589519485927e42dc5300000000000000000000000000000000000000000000000000000000602085015261020060248501526102248401906123b6565b6136c4604484018b60806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83820301610204840152886123b6565b039081018352826121dd565b6020928184809351910182305af160005198865215613723575b505050505050565b909192939495965060003d83146139c6575b7fdeaddead00000000000000000000000000000000000000000000000000000000036137be57608486868051917f220266b600000000000000000000000000000000000000000000000000000000835260048301526024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b61384b908285969501518651907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f47928573ffffffffffffffffffffffffffffffffffffffff8451169301513d906108008083116139be575b5089519188818401018b5280835260008984013e6138418a5192839283528b8a8401528b8301906123b6565b0390a35a90612433565b61385b60808601918251906123f9565b935a95600081519761386c89613c5a565b60e08a019873ffffffffffffffffffffffffffffffffffffffff98898b511680156000146139ad575050888b5116925b5a9003019560608b015160a08c0151019051870390818111613999575b5050850299848401908b825110613937575082918b6138da92510390613c26565b50611de65750918784926000847f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f97608097015198808c51169a51169a01519482519586528501528301526060820152a49038808080808061371b565b60849088878051927f220266b60000000000000000000000000000000000000000000000000000000084526004840152602483015260448201527f414135312070726566756e642062656c6f772061637475616c476173436f73746064820152fd5b6064919003600a02049095019438806138b9565b9390511561389c576000945061389c565b915038613815565b50816000803e600051613735565b613b27945082935090613a1c917e42dc53000000000000000000000000000000000000000000000000000000006020613afb95015261020060248601526102248501916126f9565b613aca604484018960806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83820301610204840152866123b6565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018a52896121dd565b87613701565b508135613546565b73ffffffffffffffffffffffffffffffffffffffff168015613bc857600080809381935af1613b62612440565b5015613b6a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff166000526000602052613c5460406000209182546123f9565b80915590565b610120610100820151910151808214613c8057480180821015613c7b575090565b905090565b5090565b613c9c604092959493956060835260608301906128dc565b9460208201520152565b8015613d3357600060408051613cbb816121c1565b828152826020820152015273ffffffffffffffffffffffffffffffffffffffff811690604065ffffffffffff91828160a01c16908115613d2b575b60d01c92825191613d06836121c1565b8583528460208401521691829101524211908115613d2357509091565b905042109091565b839150613cf6565b5060009060009056fea26469706673582212209c0f37a43fe85b5f44a98d4645d2b5ab7ad9a660931c71439754f8c059df87ef64736f6c6343000817003360808060405234610016576101c3908161001c8239f35b600080fdfe6080600436101561000f57600080fd5b6000803560e01c63570e1a361461002557600080fd5b3461018a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018a576004359167ffffffffffffffff9081841161018657366023850112156101865783600401358281116101825736602482870101116101825780601411610182577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec810192808411610155577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81600b8501160116830190838210908211176101555792846024819482600c60209a968b9960405286845289840196603889018837830101525193013560601c5af1908051911561014d575b5073ffffffffffffffffffffffffffffffffffffffff60405191168152f35b90503861012e565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8380fd5b8280fd5b80fdfea26469706673582212207adef8895ad3393b02fab10a111d85ea80ff35366aa43995f4ea20e67f29200664736f6c63430008170033";
2303
- export const EntryPointV06Bytecode = "0x60a08060405234620000895760016002556102148181016001600160401b038111838210176200007357829162005bdf833903906000f080156200006757608052604051615b5090816200008f823960805181818161136801528181613d27015261403a0152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60806040526004361015610023575b361561001957600080fd5b610021615399565b005b60003560e01c80630396cb60146101635780630bd28e3b1461015e5780631b2e01b8146101595780631d732756146101545780631fad948c1461014f578063205c28781461014a57806335567e1a146101455780634b1d7cf5146101405780635287ce121461013b57806370a08231146101365780638f41ec5a14610131578063957122ab1461012c5780639b249f6914610127578063a619353114610122578063b760faf91461011d578063bb9fe6bf14610118578063c23a5cea14610113578063d6383f941461010e578063ee219423146101095763fc7e286d0361000e57611b4a565b611933565b6117cc565b611634565b6114b7565b611479565b611459565b6112c3565b6110f1565b6110b7565b611033565b610ee4565b610b89565b610ac5565b610927565b61084e565b61067c565b610415565b610334565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103085760043563ffffffff8116808203610308576103037fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916102206101f03373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b916101fc8115156154f1565b610219610210600185015463ffffffff1690565b63ffffffff1690565b1115615556565b54926102e56dffffffffffffffffffffffffffff946102a361024734888460781c16612098565b966102538815156155bb565b61025f81891115615620565b6102838161026b610590565b941684906dffffffffffffffffffffffffffff169052565b6001602084015287166dffffffffffffffffffffffffffff166040830152565b63ffffffff83166060820152600060808201526102e03373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b615685565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361030857565b346103085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103085760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610308576103c29033600052600160205260406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b6103cc8154612354565b9055005b73ffffffffffffffffffffffffffffffffffffffff81160361030857565b602435906103fb826103d0565b565b60c435906103fb826103d0565b35906103fb826103d0565b346103085760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103085760206104a9600435610455816103d0565b73ffffffffffffffffffffffffffffffffffffffff61047261030d565b91166000526001835260406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54604051908152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810190811067ffffffffffffffff8211176104fd57604052565b6104b2565b610100810190811067ffffffffffffffff8211176104fd57604052565b67ffffffffffffffff81116104fd57604052565b6060810190811067ffffffffffffffff8211176104fd57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176104fd57604052565b604051906103fb826104e1565b6040519060c0820182811067ffffffffffffffff8211176104fd57604052565b604051906040820182811067ffffffffffffffff8211176104fd57604052565b67ffffffffffffffff81116104fd57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192610623826105dd565b91610631604051938461054f565b829481845281830111610308578281602093846000960137010152565b9181601f840112156103085782359167ffffffffffffffff8311610308576020838186019501011161030857565b34610308576101c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103085767ffffffffffffffff6004358181116103085736602382011215610308576106de903690602481600401359101610617565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101808112610308576101006040519161071b836104e1565b126103085760405161072c81610502565b6107346103ee565b815260443560208201526064356040820152608435606082015260a435608082015261075e6103fd565b60a082015260e43560c08201526101043560e082015281526101243560208201526101443560408201526101643560608201526101843560808201526101a435918211610308576107d2926107ba6107c293369060040161064e565b929091612759565b6040519081529081906020820190565b0390f35b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126103085760043567ffffffffffffffff9283821161030857806023830112156103085781600401359384116103085760248460051b8301011161030857602401919060243561084b816103d0565b90565b346103085761085c366107d6565b610867929192615aad565b61087083611c7a565b60005b8481106108f057506000927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a183915b8583106108c0576108b68585611d9f565b6100216001600255565b9091936001906108e66108d4878987611d2f565b6108de8886611d16565b519088612202565b01940191906108a5565b8061091e610917610905600194869896611d16565b51610911848a88611d2f565b846132da565b9083612dc2565b01929092610873565b346103085760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030857600435610962816103d0565b6024359060009133835282602052604083206dffffffffffffffffffffffffffff81541692838311610a6757848373ffffffffffffffffffffffffffffffffffffffff829593610a0a84966109d16109be8798610a649c612086565b6dffffffffffffffffffffffffffff1690565b6dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610a5e611d6f565b506159fc565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b346103085760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610308576020600435610b02816103d0565b73ffffffffffffffffffffffffffffffffffffffff610b1f61030d565b911660005260018252610b5a8160406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b3461030857610b97366107d6565b610b9f615aad565b6000805b838210610d8657610bb49150611c7a565b7fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000805b848110610cec57505060008093815b818110610c23576108b6868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2611d9f565b610c87610c3182848a612381565b610c5c610c43610c4360208401612415565b73ffffffffffffffffffffffffffffffffffffffff1690565b7f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a2806123c1565b906000915b808310610ca457505050610c9f90612354565b610bec565b90919497610cdf610cd9610ce592610cd38c8b610ccc82610cc68e8b8d611d2f565b92611d16565b5191612202565b90612098565b99612354565b95612354565b9190610c8c565b610cf7818688612381565b6020610d0f610d0683806123c1565b92909301612415565b9173ffffffffffffffffffffffffffffffffffffffff60009316905b828410610d445750505050610d3f90612354565b610bdd565b90919294610cdf81610d7985610d72610d60610d7e968d611d16565b51610d6c8c8b8a611d2f565b856132da565b908b612fda565b612354565b929190610d2b565b610d91828587612381565b90610d9c82806123c1565b92610dac610c4360208301612415565b9173ffffffffffffffffffffffffffffffffffffffff8316610dd1600182141561241f565b610df2575b505050610dec91610de691612098565b91612354565b90610ba3565b909592610e0b6040999693999895989788810190611e90565b92908a3b156103085789938b918a5193849283927fe3563a4f00000000000000000000000000000000000000000000000000000000845260049e8f850193610e52946125b9565b03815a93600094fa9081610ecb575b50610eb55786517f86a9f75000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a16818a0190815281906020010390fd5b0390fd5b9497509295509093509181610de6610dec610dd6565b80610ed8610ede9261051f565b806110ac565b38610e61565b346103085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610308576107d273ffffffffffffffffffffffffffffffffffffffff600435610f37816103d0565b608060409283928351610f49816104e1565b600093818580935282602082015282878201528260608201520152168152806020522090610fd865ffffffffffff6001835194610f85866104e1565b80546dffffffffffffffffffffffffffff8082168852607082901c60ff161515602089015260789190911c1685870152015463ffffffff8116606086015260201c16608084019065ffffffffffff169052565b5191829182919091608065ffffffffffff8160a08401956dffffffffffffffffffffffffffff808251168652602082015115156020870152604082015116604086015263ffffffff6060820151166060860152015116910152565b346103085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103085773ffffffffffffffffffffffffffffffffffffffff600435611083816103d0565b16600052600060205260206dffffffffffffffffffffffffffff60406000205416604051908152f35b600091031261030857565b346103085760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030857602060405160018152f35b346103085760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261030857600467ffffffffffffffff813581811161030857611141903690840161064e565b905060243591611150836103d0565b60443590811161030857611167903690850161064e565b9290911590816112b9575b506112525760148210156111c2575b610eb1836040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160409060208152600060208201520190565b6111d26111de926111d892612a22565b90612a30565b60601c90565b3b156111eb573880611181565b610eb1906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601b60208201527f41413330207061796d6173746572206e6f74206465706c6f796564000000000060408201520190565b610eb1836040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352820160609060208152601960208201527f41413230206163636f756e74206e6f74206465706c6f7965640000000000000060408201520190565b90503b1538611172565b346103085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103085760043567ffffffffffffffff81116103085761131290369060040161064e565b906113486040519283927f570e1a3600000000000000000000000000000000000000000000000000000000845260048401612bc6565b0360208273ffffffffffffffffffffffffffffffffffffffff92816000857f0000000000000000000000000000000000000000000000000000000000000000165af19081156113fc576024926000926113cc575b50604051917f6ca7b806000000000000000000000000000000000000000000000000000000008352166004820152fd5b6113ee91925060203d81116113f5575b6113e6818361054f565b810190612bb1565b903861139c565b503d6113dc565b61204b565b90816101609103126103085790565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610308576004359067ffffffffffffffff82116103085761084b91600401611401565b3461030857602061147161146c36611410565b6128b4565b604051908152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610308576100216004356114b2816103d0565b615485565b34610308576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611631573381528060205260408120600181019063ffffffff8254169081156115d35761157061153561159893611527611522855460ff9060701c1690565b6157e9565b65ffffffffffff421661584e565b84547fffffffffffffffffffffffffffffffffffffffffffff000000000000ffffffff16602082901b69ffffffffffff000000001617909455565b7fffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffff8154169055565b60405165ffffffffffff91909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b80fd5b346103085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103085760043561166f816103d0565b610a6473ffffffffffffffffffffffffffffffffffffffff6116b13373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b926117696116d46109be86546dffffffffffffffffffffffffffff9060781c1690565b946116e0861515615868565b6117416001820161171965ffffffffffff611705835465ffffffffffff9060201c1690565b166117118115156158cd565b421015615932565b80547fffffffffffffffffffffffffffffffffffffffffffff00000000000000000000169055565b7fffffff0000000000000000000000000000ffffffffffffffffffffffffffffff8154169055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810186905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2600080809581948294165af16117c6611d6f565b50615997565b346103085760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103085767ffffffffffffffff6004358181116103085761181c903690600401611401565b60243591611829836103d0565b60443590811161030857611844610eb191369060040161064e565b61184c611c17565b61185585612cc5565b61186861186282876130d2565b90615222565b94611878826000924384526120a5565b96438252819360609573ffffffffffffffffffffffffffffffffffffffff83166118ff575b5050505060800151936118cc60406118be602084015165ffffffffffff1690565b92015165ffffffffffff1690565b906040519687967f8b7ac98000000000000000000000000000000000000000000000000000000000885260048801612689565b83955083949650611919604094929394518094819361267b565b03925af1906080611928611d6f565b92919038808061189d565b346103085761194136611410565b611949611c17565b61195282612cc5565b61195c81836130d2565b825160a001519193916119899073ffffffffffffffffffffffffffffffffffffffff16615344565b615344565b906119ad611984855173ffffffffffffffffffffffffffffffffffffffff90511690565b946119b66129f8565b506119e56119c960409586810190611e90565b90600060148310611b4257506111d2611984926111d892612a22565b916119ef91615222565b805173ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff821660018114916080880151978781015191886020820151611a449065ffffffffffff1690565b91015165ffffffffffff16916060015192611a5d61059d565b9a8b5260208b0152841515898b015265ffffffffffff1660608a015265ffffffffffff16608089015260a088015215159081611b39575b50611ace5750610eb192519485947fe0cff05f00000000000000000000000000000000000000000000000000000000865260048601612b57565b9190610eb193611add84615344565b611b04611ae86105bd565b73ffffffffffffffffffffffffffffffffffffffff9096168652565b6020850152519586957ffaecb4e400000000000000000000000000000000000000000000000000000000875260048701612ac5565b90501538611a94565b915050615344565b346103085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103085773ffffffffffffffffffffffffffffffffffffffff600435611b9a816103d0565b16600052600060205260a0604060002065ffffffffffff60018254920154604051926dffffffffffffffffffffffffffff90818116855260ff8160701c161515602086015260781c16604084015263ffffffff8116606084015260201c166080820152f35b67ffffffffffffffff81116104fd5760051b60200190565b60405190611c24826104e1565b604051608083611c3383610502565b60009283815283602082015283604082015283606082015283838201528360a08201528360c08201528360e082015281528260208201528260408201528260608201520152565b90611c8482611bff565b611c91604051918261054f565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611cbf8294611bff565b019060005b828110611cd057505050565b602090611cdb611c17565b82828501015201611cc4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051821015611d2a5760209160051b010190565b611ce7565b9190811015611d2a5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea181360301821215610308570190565b3d15611d9a573d90611d80826105dd565b91611d8e604051938461054f565b82523d6000602084013e565b606090565b73ffffffffffffffffffffffffffffffffffffffff168015611e3257600080809381935af1611dcc611d6f565b5015611dd457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610308570180359067ffffffffffffffff82116103085760200191813603831361030857565b90816020910312610308575190565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b60005b838110611f425750506000910152565b8181015183820152602001611f32565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611f8e81518092818752878088019101611f2f565b0116010190565b90611faf60809161084b96946101c0808652850191611ef0565b9360e0815173ffffffffffffffffffffffffffffffffffffffff80825116602087015260208201516040870152604082015160608701526060820151858701528482015160a087015260a08201511660c086015260c081015182860152015161010084015260208101516101208401526040810151610140840152606081015161016084015201516101808201526101a0818403910152611f52565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9190820391821161209357565b612057565b9190820180921161209357565b905a918160206120be6060830151936060810190611e90565b906120f78560405195869485947f1d73275600000000000000000000000000000000000000000000000000000000865260048601611f95565b03816000305af1600091816121d2575b506121cb575060206000803e7fdeaddead000000000000000000000000000000000000000000000000000000006000511461215e5761215861214d61084b945a90612086565b608084015190612098565b91614972565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b9250505090565b6121f491925060203d81116121fb575b6121ec818361054f565b810190611ee1565b9038612107565b503d6121e2565b909291925a9380602061221e6060830151946060810190611e90565b906122578660405195869485947f1d73275600000000000000000000000000000000000000000000000000000000865260048601611f95565b03816000305af160009181612334575b5061232d575060206000803e7fdeaddead00000000000000000000000000000000000000000000000000000000600051146122bf576122b96122ae61084b95965a90612086565b608083015190612098565b92614c55565b610eb1836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b9450505050565b61234d91925060203d81116121fb576121ec818361054f565b9038612267565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146120935760010190565b9190811015611d2a5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610308570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610308570180359067ffffffffffffffff821161030857602001918160051b3603831361030857565b3561084b816103d0565b1561242657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561030857016020813591019167ffffffffffffffff821161030857813603831361030857565b61084b916124ff816124e58461040a565b73ffffffffffffffffffffffffffffffffffffffff169052565b6020820135602082015261259a61254b61253061251f6040860186612484565b610160806040880152860191611ef0565b61253d6060860186612484565b908583036060870152611ef0565b6080840135608084015260a084013560a084015260c084013560c084015260e084013560e0840152610100808501359084015261012061258d81860186612484565b9185840390860152611ef0565b916125ab6101409182810190612484565b929091818503910152611ef0565b949391929083604087016040885252606086019360608160051b8801019482600090815b8483106125fc5750505050505084602061084b95968503910152611ef0565b9091929394977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08b820301855288357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea184360301811215612677576001918461266592016124d4565b986020908101969501930191906125dd565b8280fd5b908092918237016000815290565b92909361084b96959260c0958552602085015265ffffffffffff8092166040850152166060830152151560808201528160a08201520190611f52565b156126cc57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b90604061084b92600081528160208201520190611f52565b60409061084b939281528160208201520190611f52565b909291925a9361276a3033146126c5565b8151946040860151955a61138860608301518901011161288a5761084b9660009580516127b1575b505050906127ab915a9003608084015101943691610617565b91614ebd565b6127e0916127dc916127d7855173ffffffffffffffffffffffffffffffffffffffff1690565b615a6c565b1590565b6127ec575b8080612792565b6127ab929194506127fb615a7e565b90815161280f575b505060019390916127e5565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20173ffffffffffffffffffffffffffffffffffffffff602087015192612880602061286e835173ffffffffffffffffffffffffffffffffffffffff1690565b92015195604051938493169683612742565b0390a33880612803565b7fdeaddead0000000000000000000000000000000000000000000000000000000060005260206000fd5b6128ca6128c46040830183611e90565b90615a61565b906128db6128c46060830183611e90565b906129916128f06128c4610120840184611e90565b60405194859360208501956101008201359260e08301359260c08101359260a08201359260808301359273ffffffffffffffffffffffffffffffffffffffff60208201359135168c9693909a9998959261012098959273ffffffffffffffffffffffffffffffffffffffff6101408a019d168952602089015260408801526060870152608086015260a085015260c084015260e08301526101008201520152565b03916129c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09384810183528261054f565b519020604080516020810192835230918101919091524660608201526080928301815290916129f2908261054f565b51902090565b604051906040820182811067ffffffffffffffff8211176104fd5760405260006020838281520152565b906014116103085790601490565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009035818116939260148110612a6557505050565b60140360031b82901b16169150565b9060c060a061084b93805184526020810151602085015260408101511515604085015265ffffffffffff80606083015116606086015260808201511660808501520151918160a08201520190611f52565b9294612b266103fb95612b14610100959998612b02612aee602097610140808c528b0190612a74565b9b878a019060208091805184520151910152565b80516060890152602001516080880152565b805160a08701526020015160c0860152565b73ffffffffffffffffffffffffffffffffffffffff81511660e0850152015191019060208091805184520151910152565b612ba06103fb94612b8e612b7960a0959998969960e0865260e0860190612a74565b98602085019060208091805184520151910152565b80516060840152602001516080830152565b019060208091805184520151910152565b90816020910312610308575161084b816103d0565b91602061084b938181520191611ef0565b90612c0673ffffffffffffffffffffffffffffffffffffffff9161084b97959694606085526060850191611ef0565b941660208201526040818503910152611ef0565b60009060033d11612c2757565b905060046000803e60005160e01c90565b600060443d1061084b576040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc91823d016004833e815167ffffffffffffffff918282113d602484011117612cb457818401948551938411612cbc573d85010160208487010111612cb4575061084b9291016020019061054f565b949350505050565b50949350505050565b612cd26040820182611e90565b612cea612cde84612415565b93610120810190611e90565b9290303b1561030857600093612d2e9160405196879586957f957122ab00000000000000000000000000000000000000000000000000000000875260048701612bd7565b0381305afa9081612daf575b506103fb576001612d49612c1a565b6308c379a014612d5a575b6113fc57565b612d62612c38565b80612d6e575b50612d54565b80516000925015612d6857610eb1906040519182917f220266b60000000000000000000000000000000000000000000000000000000083526004830161272a565b80610ed8612dbc9261051f565b38612d3a565b9190612dcd90613011565b73ffffffffffffffffffffffffffffffffffffffff92918316612f6c57612efe57612df790613011565b9116612e9057612e045750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a490fd5b610eb1826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b610eb1836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b610eb1846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b929190612fe690613011565b909273ffffffffffffffffffffffffffffffffffffffff80809516911603612f6c57612efe57612df7905b801561306457613020906151c7565b73ffffffffffffffffffffffffffffffffffffffff65ffffffffffff806040840151164211908115613054575b5091511691565b905060208301511642103861304d565b50600090600090565b1561307457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b916000915a938151906130e58282613545565b6130ee816128b4565b602084015261312c6effffffffffffffffffffffffffffff60808401516060850151176040850151176101008401359060e08501351717111561306d565b61313582613607565b6131408185846136c8565b97906131716127dc613166875173ffffffffffffffffffffffffffffffffffffffff1690565b6020880151906152d4565b61326d5761317e43600052565b73ffffffffffffffffffffffffffffffffffffffff6131b660a0606097015173ffffffffffffffffffffffffffffffffffffffff1690565b16613253575b505a810360a0840135106131e65760809360c092604087015260608601525a900391013501910152565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601e60408201527f41413430206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b9093508161326492975085846143d2565b959092386131bc565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b9290916000925a82516132ed8184613545565b6132f6836128b4565b60208501526133346effffffffffffffffffffffffffffff60808301516060840151176040840151176101008601359060e08701351717111561306d565b61333d81613607565b6133498186868b613a34565b989061337a6127dc61336f865173ffffffffffffffffffffffffffffffffffffffff1690565b6020870151906152d4565b6134725761338743600052565b73ffffffffffffffffffffffffffffffffffffffff6133bf60a0606096015173ffffffffffffffffffffffffffffffffffffffff1690565b16613457575b505a840360a0860135106133f15750604085015260608401526080919060c0905a900391013501910152565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601e60448201527f41413430206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b90925081613469929850868685614665565b969091386133c5565b610eb1826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b156134e757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b6135b79061356f61355582612415565b73ffffffffffffffffffffffffffffffffffffffff168452565b602081013560208401526080810135604084015260a0810135606084015260c0810135608084015260e081013560c084015261010081013560e0840152610120810190611e90565b9081156135fc576135e16111d86111d28460a0946135dc60146103fb999810156134e0565b612a22565b73ffffffffffffffffffffffffffffffffffffffff16910152565b505060a06000910152565b60a081015173ffffffffffffffffffffffffffffffffffffffff16156136495760c060035b60ff60408401519116606084015102016080830151019101510290565b60c0600161362c565b61366a604092959493956060835260608301906124d4565b9460208201520152565b906103fb602f60405180947f414132332072657665727465643a20000000000000000000000000000000000060208301526136b88151809260208686019101611f2f565b810103600f81018552018361054f565b916000926000925a9361379660208351936136f7855173ffffffffffffffffffffffffffffffffffffffff1690565b9561370f6137086040830183611e90565b9084613c9f565b60a086015173ffffffffffffffffffffffffffffffffffffffff169061373443600052565b85809373ffffffffffffffffffffffffffffffffffffffff8094161598896139cc575b60600151908601516040517f3a871cdd000000000000000000000000000000000000000000000000000000008152978896879586939060048501613652565b03938a1690f18291816139ac575b506139a357506001906137b5612c1a565b6308c379a01461394f575b506138e2575b6137d3575b50505a900391565b6137fd9073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b6138186109be82546dffffffffffffffffffffffffffff1690565b8083116138755761386e926dffffffffffffffffffffffffffff9103166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b38806137cb565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601660408201527f4141323320726576657274656420286f72204f4f47290000000000000000000060608201520190565b613957612c38565b908161396357506137c0565b610eb1916139719150613674565b6040519182917f220266b60000000000000000000000000000000000000000000000000000000083526004830161272a565b95506137c69050565b6139c591925060203d81116121fb576121ec818361054f565b90386137a4565b9450613a126109be6139fe8c73ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b546dffffffffffffffffffffffffffff1690565b8b811115613a295750856060835b96915050613757565b606087918d03613a20565b90926000936000935a94613a7d6020835193613a64855173ffffffffffffffffffffffffffffffffffffffff1690565b9561370f613a756040830183611e90565b90848c613faf565b03938a1690f1829181613c7f575b50613c765750600190613a9c612c1a565b6308c379a014613c20575b50613bb2575b613abb575b5050505a900391565b613ae59073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b91613b016109be84546dffffffffffffffffffffffffffff1690565b90818311613b4c575082547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000169190036dffffffffffffffffffffffffffff16179055388080613ab2565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b610eb1846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601660408201527f4141323320726576657274656420286f72204f4f47290000000000000000000060608201520190565b613c28612c38565b9081613c345750613aa7565b8691613c409150613674565b90610eb16040519283927f220266b600000000000000000000000000000000000000000000000000000000845260048401612742565b9650613aad9050565b613c9891925060203d81116121fb576121ec818361054f565b9038613a8b565b909180613cab57505050565b81515173ffffffffffffffffffffffffffffffffffffffff1692833b613f4257606083510151604051907f570e1a3600000000000000000000000000000000000000000000000000000000825260208280613d0a878760048401612bc6565b0381600073ffffffffffffffffffffffffffffffffffffffff95867f00000000000000000000000000000000000000000000000000000000000000001690f19182156113fc57600092613f22575b50808216958615613eb55716809503613e48573b15613ddb576111d86111d27fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d93613da293612a22565b602083810151935160a001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a3565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152602060408201527f4141313520696e6974436f6465206d757374206372656174652073656e64657260608201520190565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b613f3b91925060203d81116113f5576113e6818361054f565b9038613d58565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601f60408201527f414131302073656e64657220616c726561647920636f6e73747275637465640060608201520190565b92909181613fbe575b50505050565b82515173ffffffffffffffffffffffffffffffffffffffff1693843b61425857606084510151604051907f570e1a360000000000000000000000000000000000000000000000000000000082526020828061401d888860048401612bc6565b0381600073ffffffffffffffffffffffffffffffffffffffff95867f00000000000000000000000000000000000000000000000000000000000000001690f19182156113fc57600092614238575b508082169687156141ca571680960361415c573b156140f657506111d86111d27fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d936140b693612a22565b602083810151935160a001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a338808080613fb8565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b610eb1826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b610eb1846040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b61425191925060203d81116113f5576113e6818361054f565b903861406b565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b156142c557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4141343120746f6f206c6974746c6520766572696669636174696f6e476173006044820152fd5b919060408382031261030857825167ffffffffffffffff81116103085783019080601f830112156103085781519161435a836105dd565b91614368604051938461054f565b838352602084830101116103085760209261438891848085019101611f2f565b92015190565b906103fb602f60405180947f414133332072657665727465643a20000000000000000000000000000000000060208301526136b88151809260208686019101611f2f565b93919260609460009460009380519261441160a08a860151956143f68888116142be565b015173ffffffffffffffffffffffffffffffffffffffff1690565b9161443c8373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b946144586109be87546dffffffffffffffffffffffffffff1690565b968588106145f85773ffffffffffffffffffffffffffffffffffffffff60208a98946144ce8a966dffffffffffffffffffffffffffff8b6145079e03166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b015194604051998a98899788937ff465c77e00000000000000000000000000000000000000000000000000000000855260048501613652565b0395169103f19081839184936145d2575b506145cb57505060019061452a612c1a565b6308c379a0146145a9575b5061453c57565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601660408201527f4141333320726576657274656420286f72204f4f47290000000000000000000060608201520190565b6145b1612c38565b90816145bd5750614535565b610eb191613971915061438e565b9450925050565b9092506145f191503d8085833e6145e9818361054f565b810190614323565b9138614518565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b91949293909360609560009560009382519061468c60a08b840151936143f68486116142be565b936146b78573ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b6146d26109be82546dffffffffffffffffffffffffffff1690565b87811061482d579273ffffffffffffffffffffffffffffffffffffffff60208a989693946144ce8a966dffffffffffffffffffffffffffff8d61474c9e9c9a03166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b0395169103f190818391849361480f575b5061480757505060019061476f612c1a565b6308c379a0146147e8575b506147825750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601660448201527f4141333320726576657274656420286f72204f4f4729000000000000000000006064820152608490fd5b6147f0612c38565b90816147fc575061477a565b613c4092505061438e565b955093505050565b90925061482691503d8085833e6145e9818361054f565b913861475d565b610eb18a6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b600311156148a557565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9291906148f260409160028652606060208701526060860190611f52565b930152565b9392919060038110156148a5576040916148f2918652606060208701526060860190611f52565b906103fb603660405180947f4141353020706f73744f702072657665727465643a200000000000000000000060208301526149628151809260208686019101611f2f565b810103601681018552018361054f565b929190925a9360009180519161498783615180565b9260a08101956149ab875173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff93908481169081614b1a575050506149ec825173ffffffffffffffffffffffffffffffffffffffff1690565b985b5a90030193840297604084019089825110614aad577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f94614a386020928c614aa8955103906153a2565b015194896020614a7a614a5f865173ffffffffffffffffffffffffffffffffffffffff1690565b9a5173ffffffffffffffffffffffffffffffffffffffff1690565b9401519785604051968796169a16988590949392606092608083019683521515602083015260408201520152565b0390a4565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152602060408201527f414135312070726566756e642062656c6f772061637475616c476173436f737460608201520190565b9a918051614b2a575b50506149ee565b6060850151600099509091803b15614c51579189918983614b7d956040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c0290600484016148d4565b0393f19081614c3e575b50614c39576001614b96612c1a565b6308c379a014614c1a575b614bad575b3880614b23565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b614c22612c38565b80614c2d5750614ba1565b613971610eb19161491e565b614ba6565b80610ed8614c4b9261051f565b38614b87565b8980fd5b9392915a90600092805190614c6982615180565b9360a0830196614c8d885173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff95908681169081614d8357505050614cce845173ffffffffffffffffffffffffffffffffffffffff1690565b915b5a9003019485029860408301908a825110614d1d57507f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f949392614a38614aa8938c6020945103906153a2565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f414135312070726566756e642062656c6f772061637475616c476173436f73746064820152608490fd5b93918051614d93575b5050614cd0565b606087015160009a509091803b15614eb957918a918a83614de6956040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c0290600484016148d4565b0393f19081614ea6575b50614ea1576001614dff612c1a565b6308c379a014614e84575b614e16575b3880614d8c565b610eb18b6040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b614e8c612c38565b80614e975750614e0a565b613c408d9161491e565b614e0f565b80610ed8614eb39261051f565b38614df0565b8a80fd5b909392915a94805191614ecf83615180565b9260a0810195614ef3875173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff938185169182614fdb57505050614f33825173ffffffffffffffffffffffffffffffffffffffff1690565b985b5a90030193840297604084019089825110614aad577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f94614f7f6020928c614aa8955103906153a2565b614f888861489b565b015194896020614faf614a5f865173ffffffffffffffffffffffffffffffffffffffff1690565b940151604080519182529815602082015297880152606087015290821695909116939081906080820190565b9a918151614feb575b5050614f35565b878402614ff78a61489b565b60028a14615074576060860151823b156103085761504a93600080948d604051978896879586937fa9a23409000000000000000000000000000000000000000000000000000000008552600485016148f7565b0393f180156113fc57615061575b505b3880614fe4565b80610ed861506e9261051f565b38615058565b6060860151823b15610308576150bf93600080948d604051978896879586937fa9a23409000000000000000000000000000000000000000000000000000000008552600485016148f7565b0393f1908161516d575b506151685760016150d8612c1a565b6308c379a014615155575b1561505a576040517f220266b600000000000000000000000000000000000000000000000000000000815280610eb1600482016080906000815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b61515d612c38565b80614c2d57506150e3565b61505a565b80610ed861517a9261051f565b386150c9565b60e060c08201519101518082146151a45748018082101561519f575090565b905090565b5090565b604051906151b582610533565b60006040838281528260208201520152565b6151cf6151a8565b5065ffffffffffff808260a01c16801561521b575b604051926151f184610533565b73ffffffffffffffffffffffffffffffffffffffff8116845260d01c602084015216604082015290565b50806151e4565b61523761523d916152316151a8565b506151c7565b916151c7565b9073ffffffffffffffffffffffffffffffffffffffff91828251169283156152c9575b65ffffffffffff9283918260408160208501511693015116938360408160208401511692015116908084106152c1575b508085116152b9575b50604051956152a787610533565b16855216602084015216604082015290565b935038615299565b925038615290565b815181169350615260565b73ffffffffffffffffffffffffffffffffffffffff16600052600160205267ffffffffffffffff6153308260401c60406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b9182549261533d84612354565b9055161490565b9073ffffffffffffffffffffffffffffffffffffffff6153626129f8565b9216600052600060205263ffffffff600160406000206dffffffffffffffffffffffffffff815460781c1685520154166020830152565b6103fb33615485565b73ffffffffffffffffffffffffffffffffffffffff16600052600060205260406000206dffffffffffffffffffffffffffff8082541692830180931161209357808311615427576103fb92166dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6465706f736974206f766572666c6f77000000000000000000000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff906154a534826153a2565b168060005260006020527f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206dffffffffffffffffffffffffffff60406000205416604051908152a2565b156154f857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561555d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b156155c257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b1561562757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b9065ffffffffffff608060016103fb946156e56dffffffffffffffffffffffffffff86511682906dffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffff0000000000000000000000000000825416179055565b602085015115156eff000000000000000000000000000082549160701b16807fffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffff83161783557fffffff000000000000000000000000000000ffffffffffffffffffffffffffff7cffffffffffffffffffffffffffff000000000000000000000000000000604089015160781b16921617178155019263ffffffff6060820151167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008554161784550151167fffffffffffffffffffffffffffffffffffffffffffff000000000000ffffffff69ffffffffffff0000000083549260201b169116179055565b156157f057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b91909165ffffffffffff8080941691160191821161209357565b1561586f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b156158d457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b1561593957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b1561599e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b15615a0357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b816040519182372090565b9060009283809360208451940192f190565b3d610800808211615aa5575b50604051906020818301016040528082526000602083013e90565b905038615a8a565b6002805414615abc5760028055565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fdfea26469706673582212209ddfe906020d25a57d0414d4c2acaaf56d4ac2bf9fa12d1822ac87460738d52964736f6c6343000812003360808060405234610016576101f8908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c63570e1a361461002857600080fd5b346100c95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c95760043567ffffffffffffffff918282116100c957366023830112156100c95781600401359283116100c95736602484840101116100c9576100c561009e84602485016100fb565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b80fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90806014116101b85767ffffffffffffffff917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec82018381116101bd57604051937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81600b8701160116850190858210908211176101bd57604052808452602084019036848401116101b8576020946000600c819682946014880187378301015251923560601c5af19060005191156101b257565b60009150565b600080fd5b6100cc56fea2646970667358221220663a0f7beff423e948af368cc7797750122e118b12881907a95e27c67c4d62d964736f6c63430008120033";
2304
- //# sourceMappingURL=EntryPoint.js.map