viem 0.0.0-main.20240130T224622 → 0.0.0-main.20240130T235251

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 (88) hide show
  1. package/_cjs/actions/public/getTransaction.js.map +1 -1
  2. package/_cjs/errors/version.js +1 -1
  3. package/_cjs/index.js.map +1 -1
  4. package/_cjs/utils/formatters/transaction.js +9 -0
  5. package/_cjs/utils/formatters/transaction.js.map +1 -1
  6. package/_cjs/utils/formatters/transactionReceipt.js +6 -1
  7. package/_cjs/utils/formatters/transactionReceipt.js.map +1 -1
  8. package/_cjs/utils/formatters/transactionRequest.js +1 -0
  9. package/_cjs/utils/formatters/transactionRequest.js.map +1 -1
  10. package/_esm/actions/public/getTransaction.js.map +1 -1
  11. package/_esm/errors/version.js +1 -1
  12. package/_esm/index.js.map +1 -1
  13. package/_esm/utils/formatters/transaction.js +9 -0
  14. package/_esm/utils/formatters/transaction.js.map +1 -1
  15. package/_esm/utils/formatters/transactionReceipt.js +6 -1
  16. package/_esm/utils/formatters/transactionReceipt.js.map +1 -1
  17. package/_esm/utils/formatters/transactionRequest.js +1 -0
  18. package/_esm/utils/formatters/transactionRequest.js.map +1 -1
  19. package/_types/actions/public/getTransaction.d.ts +2 -1
  20. package/_types/actions/public/getTransaction.d.ts.map +1 -1
  21. package/_types/chains/celo/chainConfig.d.ts +373 -65
  22. package/_types/chains/celo/chainConfig.d.ts.map +1 -1
  23. package/_types/chains/celo/formatters.d.ts +373 -65
  24. package/_types/chains/celo/formatters.d.ts.map +1 -1
  25. package/_types/chains/definitions/base.d.ts +277 -49
  26. package/_types/chains/definitions/base.d.ts.map +1 -1
  27. package/_types/chains/definitions/baseGoerli.d.ts +277 -49
  28. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  29. package/_types/chains/definitions/baseSepolia.d.ts +277 -49
  30. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  31. package/_types/chains/definitions/celo.d.ts +373 -65
  32. package/_types/chains/definitions/celo.d.ts.map +1 -1
  33. package/_types/chains/definitions/celoAlfajores.d.ts +373 -65
  34. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  35. package/_types/chains/definitions/optimism.d.ts +277 -49
  36. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  37. package/_types/chains/definitions/optimismGoerli.d.ts +277 -49
  38. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  39. package/_types/chains/definitions/optimismSepolia.d.ts +277 -49
  40. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  41. package/_types/chains/definitions/pgn.d.ts +277 -49
  42. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  43. package/_types/chains/definitions/pgnTestnet.d.ts +277 -49
  44. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  45. package/_types/chains/definitions/zkSync.d.ts +120 -6
  46. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  47. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +120 -6
  48. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
  49. package/_types/chains/definitions/zkSyncTestnet.d.ts +120 -6
  50. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  51. package/_types/chains/definitions/zora.d.ts +277 -49
  52. package/_types/chains/definitions/zora.d.ts.map +1 -1
  53. package/_types/chains/definitions/zoraSepolia.d.ts +277 -49
  54. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  55. package/_types/chains/definitions/zoraTestnet.d.ts +277 -49
  56. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  57. package/_types/chains/opStack/chainConfig.d.ts +277 -49
  58. package/_types/chains/opStack/chainConfig.d.ts.map +1 -1
  59. package/_types/chains/opStack/formatters.d.ts +277 -49
  60. package/_types/chains/opStack/formatters.d.ts.map +1 -1
  61. package/_types/chains/zksync/chainConfig.d.ts +120 -6
  62. package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
  63. package/_types/chains/zksync/formatters.d.ts +120 -6
  64. package/_types/chains/zksync/formatters.d.ts.map +1 -1
  65. package/_types/errors/version.d.ts +1 -1
  66. package/_types/index.d.ts +2 -2
  67. package/_types/index.d.ts.map +1 -1
  68. package/_types/types/fee.d.ts +9 -2
  69. package/_types/types/fee.d.ts.map +1 -1
  70. package/_types/types/rpc.d.ts +2 -2
  71. package/_types/types/rpc.d.ts.map +1 -1
  72. package/_types/types/transaction.d.ts +20 -5
  73. package/_types/types/transaction.d.ts.map +1 -1
  74. package/_types/utils/formatters/transaction.d.ts +387 -2
  75. package/_types/utils/formatters/transaction.d.ts.map +1 -1
  76. package/_types/utils/formatters/transactionReceipt.d.ts.map +1 -1
  77. package/_types/utils/formatters/transactionRequest.d.ts +2 -1
  78. package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
  79. package/actions/public/getTransaction.ts +2 -1
  80. package/errors/version.ts +1 -1
  81. package/index.ts +2 -0
  82. package/package.json +1 -1
  83. package/types/fee.ts +14 -1
  84. package/types/rpc.ts +3 -1
  85. package/types/transaction.ts +37 -6
  86. package/utils/formatters/transaction.ts +9 -0
  87. package/utils/formatters/transactionReceipt.ts +8 -1
  88. package/utils/formatters/transactionRequest.ts +1 -0
@@ -37,10 +37,11 @@ export declare const chainConfig: {
37
37
  readonly transaction: {
38
38
  exclude: [] | undefined;
39
39
  format: (args: import("../index.js").Assign<Partial<import("../../index.js").RpcTransaction>, import("./index.js").ZkSyncRpcTransaction>) => ({
40
+ gas: bigint;
41
+ value: bigint;
40
42
  blockHash: `0x${string}` | null;
41
43
  blockNumber: bigint | null;
42
44
  from: `0x${string}`;
43
- gas: bigint;
44
45
  hash: `0x${string}`;
45
46
  input: `0x${string}`;
46
47
  nonce: number;
@@ -50,21 +51,23 @@ export declare const chainConfig: {
50
51
  transactionIndex: number | null;
51
52
  typeHex: `0x${string}` | null;
52
53
  v: bigint;
53
- value: bigint;
54
54
  gasPrice: bigint;
55
+ maxFeePerBlobGas?: undefined;
55
56
  maxFeePerGas?: undefined;
56
57
  maxPriorityFeePerGas?: undefined;
57
58
  accessList?: undefined;
59
+ blobVersionedHashes?: undefined;
58
60
  chainId?: number | undefined;
59
61
  yParity?: undefined;
60
62
  type: "legacy";
61
63
  l1BatchNumber: bigint | null;
62
64
  l1BatchTxIndex: bigint | null;
63
65
  } | {
66
+ gas: bigint;
67
+ value: bigint;
64
68
  blockHash: `0x${string}` | null;
65
69
  blockNumber: bigint | null;
66
70
  from: `0x${string}`;
67
- gas: bigint;
68
71
  hash: `0x${string}`;
69
72
  input: `0x${string}`;
70
73
  nonce: number;
@@ -74,21 +77,23 @@ export declare const chainConfig: {
74
77
  transactionIndex: number | null;
75
78
  typeHex: `0x${string}` | null;
76
79
  v: bigint;
77
- value: bigint;
78
80
  gasPrice: undefined;
81
+ maxFeePerBlobGas?: undefined;
79
82
  maxFeePerGas: bigint;
80
83
  maxPriorityFeePerGas: bigint;
81
84
  accessList?: undefined;
85
+ blobVersionedHashes?: undefined;
82
86
  chainId?: number | undefined;
83
87
  yParity: number;
84
88
  type: "priority";
85
89
  l1BatchNumber: bigint | null;
86
90
  l1BatchTxIndex: bigint | null;
87
91
  } | {
92
+ gas: bigint;
93
+ value: bigint;
88
94
  blockHash: `0x${string}` | null;
89
95
  blockNumber: bigint | null;
90
96
  from: `0x${string}`;
91
- gas: bigint;
92
97
  hash: `0x${string}`;
93
98
  input: `0x${string}`;
94
99
  nonce: number;
@@ -98,11 +103,12 @@ export declare const chainConfig: {
98
103
  transactionIndex: number | null;
99
104
  typeHex: `0x${string}` | null;
100
105
  v: bigint;
101
- value: bigint;
102
106
  gasPrice: undefined;
107
+ maxFeePerBlobGas?: undefined;
103
108
  maxFeePerGas: bigint;
104
109
  maxPriorityFeePerGas: bigint;
105
110
  accessList?: undefined;
111
+ blobVersionedHashes?: undefined;
106
112
  chainId?: number | undefined;
107
113
  yParity: number;
108
114
  type: "priority" | "eip712";
@@ -125,9 +131,11 @@ export declare const chainConfig: {
125
131
  value: bigint;
126
132
  yParity: number;
127
133
  gasPrice: bigint;
134
+ maxFeePerBlobGas?: undefined;
128
135
  maxFeePerGas?: undefined;
129
136
  maxPriorityFeePerGas?: undefined;
130
137
  accessList: import("../../index.js").AccessList;
138
+ blobVersionedHashes?: undefined;
131
139
  chainId: number;
132
140
  type: "eip2930";
133
141
  l1BatchNumber: bigint | null;
@@ -149,9 +157,11 @@ export declare const chainConfig: {
149
157
  value: bigint;
150
158
  yParity: number;
151
159
  gasPrice: undefined;
160
+ maxFeePerBlobGas?: undefined;
152
161
  maxFeePerGas: bigint;
153
162
  maxPriorityFeePerGas: bigint;
154
163
  accessList: import("../../index.js").AccessList;
164
+ blobVersionedHashes?: undefined;
155
165
  chainId: number;
156
166
  type: "eip1559";
157
167
  l1BatchNumber: bigint | null;
@@ -173,9 +183,11 @@ export declare const chainConfig: {
173
183
  value: bigint;
174
184
  yParity: number;
175
185
  gasPrice: undefined;
186
+ maxFeePerBlobGas?: undefined;
176
187
  maxFeePerGas: bigint;
177
188
  maxPriorityFeePerGas: bigint;
178
189
  accessList: import("../../index.js").AccessList;
190
+ blobVersionedHashes?: undefined;
179
191
  chainId: number;
180
192
  type: "priority";
181
193
  l1BatchNumber: bigint | null;
@@ -197,9 +209,11 @@ export declare const chainConfig: {
197
209
  value: bigint;
198
210
  yParity: number;
199
211
  gasPrice: undefined;
212
+ maxFeePerBlobGas?: undefined;
200
213
  maxFeePerGas: bigint;
201
214
  maxPriorityFeePerGas: bigint;
202
215
  accessList: import("../../index.js").AccessList;
216
+ blobVersionedHashes?: undefined;
203
217
  chainId: number;
204
218
  type: "priority" | "eip712";
205
219
  l1BatchNumber: bigint | null;
@@ -221,9 +235,11 @@ export declare const chainConfig: {
221
235
  value: bigint;
222
236
  yParity: number;
223
237
  gasPrice: bigint;
238
+ maxFeePerBlobGas?: undefined;
224
239
  maxFeePerGas: undefined;
225
240
  maxPriorityFeePerGas: undefined;
226
241
  accessList: import("../../index.js").AccessList;
242
+ blobVersionedHashes?: undefined;
227
243
  chainId: number;
228
244
  type: "eip2930";
229
245
  l1BatchNumber: bigint | null;
@@ -245,9 +261,11 @@ export declare const chainConfig: {
245
261
  value: bigint;
246
262
  yParity: number;
247
263
  gasPrice?: undefined;
264
+ maxFeePerBlobGas?: undefined;
248
265
  maxFeePerGas: bigint;
249
266
  maxPriorityFeePerGas: bigint;
250
267
  accessList: import("../../index.js").AccessList;
268
+ blobVersionedHashes?: undefined;
251
269
  chainId: number;
252
270
  type: "eip1559";
253
271
  l1BatchNumber: bigint | null;
@@ -269,9 +287,89 @@ export declare const chainConfig: {
269
287
  value: bigint;
270
288
  yParity: number;
271
289
  gasPrice?: undefined;
290
+ maxFeePerBlobGas?: undefined;
291
+ maxFeePerGas: bigint;
292
+ maxPriorityFeePerGas: bigint;
293
+ accessList: import("../../index.js").AccessList;
294
+ blobVersionedHashes?: undefined;
295
+ chainId: number;
296
+ type: "priority";
297
+ l1BatchNumber: bigint | null;
298
+ l1BatchTxIndex: bigint | null;
299
+ } | {
300
+ blockHash: `0x${string}` | null;
301
+ blockNumber: bigint | null;
302
+ from: `0x${string}`;
303
+ gas: bigint;
304
+ hash: `0x${string}`;
305
+ input: `0x${string}`;
306
+ nonce: number;
307
+ r: `0x${string}`;
308
+ s: `0x${string}`;
309
+ to: `0x${string}` | null;
310
+ transactionIndex: number | null;
311
+ typeHex: `0x${string}` | null;
312
+ v: bigint;
313
+ value: bigint;
314
+ yParity: number;
315
+ gasPrice?: undefined;
316
+ maxFeePerBlobGas?: undefined;
317
+ maxFeePerGas: bigint;
318
+ maxPriorityFeePerGas: bigint;
319
+ accessList: import("../../index.js").AccessList;
320
+ blobVersionedHashes?: undefined;
321
+ chainId: number;
322
+ type: "priority" | "eip712";
323
+ l1BatchNumber: bigint | null;
324
+ l1BatchTxIndex: bigint | null;
325
+ } | {
326
+ blockHash: `0x${string}` | null;
327
+ blockNumber: bigint | null;
328
+ from: `0x${string}`;
329
+ gas: bigint;
330
+ hash: `0x${string}`;
331
+ input: `0x${string}`;
332
+ nonce: number;
333
+ r: `0x${string}`;
334
+ s: `0x${string}`;
335
+ to: `0x${string}` | null;
336
+ transactionIndex: number | null;
337
+ typeHex: `0x${string}` | null;
338
+ v: bigint;
339
+ value: bigint;
340
+ yParity: number;
341
+ gasPrice?: undefined;
342
+ maxFeePerBlobGas: bigint;
343
+ maxFeePerGas: bigint;
344
+ maxPriorityFeePerGas: bigint;
345
+ accessList: import("../../index.js").AccessList;
346
+ blobVersionedHashes: `0x${string}`[];
347
+ chainId: number;
348
+ type: "eip4844";
349
+ l1BatchNumber: bigint | null;
350
+ l1BatchTxIndex: bigint | null;
351
+ } | {
352
+ blockHash: `0x${string}` | null;
353
+ blockNumber: bigint | null;
354
+ from: `0x${string}`;
355
+ gas: bigint;
356
+ hash: `0x${string}`;
357
+ input: `0x${string}`;
358
+ nonce: number;
359
+ r: `0x${string}`;
360
+ s: `0x${string}`;
361
+ to: `0x${string}` | null;
362
+ transactionIndex: number | null;
363
+ typeHex: `0x${string}` | null;
364
+ v: bigint;
365
+ value: bigint;
366
+ yParity: number;
367
+ gasPrice?: undefined;
368
+ maxFeePerBlobGas: undefined;
272
369
  maxFeePerGas: bigint;
273
370
  maxPriorityFeePerGas: bigint;
274
371
  accessList: import("../../index.js").AccessList;
372
+ blobVersionedHashes: `0x${string}`[];
275
373
  chainId: number;
276
374
  type: "priority";
277
375
  l1BatchNumber: bigint | null;
@@ -293,9 +391,11 @@ export declare const chainConfig: {
293
391
  value: bigint;
294
392
  yParity: number;
295
393
  gasPrice?: undefined;
394
+ maxFeePerBlobGas: undefined;
296
395
  maxFeePerGas: bigint;
297
396
  maxPriorityFeePerGas: bigint;
298
397
  accessList: import("../../index.js").AccessList;
398
+ blobVersionedHashes: `0x${string}`[];
299
399
  chainId: number;
300
400
  type: "priority" | "eip712";
301
401
  l1BatchNumber: bigint | null;
@@ -306,6 +406,8 @@ export declare const chainConfig: {
306
406
  readonly transactionReceipt: {
307
407
  exclude: [] | undefined;
308
408
  format: (args: import("../index.js").Assign<Partial<import("../../index.js").RpcTransactionReceipt>, import("./index.js").ZkSyncRpcTransactionReceiptOverrides>) => {
409
+ blobGasPrice?: bigint | undefined;
410
+ blobGasUsed?: bigint | undefined;
309
411
  blockHash: `0x${string}`;
310
412
  blockNumber: bigint;
311
413
  contractAddress: `0x${string}` | null;
@@ -341,6 +443,7 @@ export declare const chainConfig: {
341
443
  maxPriorityFeePerGas?: undefined;
342
444
  accessList?: undefined;
343
445
  type?: "0x0" | undefined;
446
+ maxFeePerBlobGas?: undefined;
344
447
  eip712Meta?: undefined;
345
448
  } | {
346
449
  data?: `0x${string}` | undefined;
@@ -354,6 +457,7 @@ export declare const chainConfig: {
354
457
  maxPriorityFeePerGas?: undefined;
355
458
  accessList?: undefined;
356
459
  type?: "0x1" | undefined;
460
+ maxFeePerBlobGas?: undefined;
357
461
  eip712Meta?: undefined;
358
462
  } | {
359
463
  data?: `0x${string}` | undefined;
@@ -367,6 +471,7 @@ export declare const chainConfig: {
367
471
  maxPriorityFeePerGas?: `0x${string}` | undefined;
368
472
  accessList?: undefined;
369
473
  type?: "0x2" | undefined;
474
+ maxFeePerBlobGas?: undefined;
370
475
  eip712Meta?: undefined;
371
476
  } | {
372
477
  data?: `0x${string}` | undefined;
@@ -380,6 +485,7 @@ export declare const chainConfig: {
380
485
  maxPriorityFeePerGas?: `0x${string}` | undefined;
381
486
  accessList?: undefined;
382
487
  type: "0xff" | "0x71";
488
+ maxFeePerBlobGas?: undefined;
383
489
  eip712Meta: import("./index.js").ZkSyncEip712Meta;
384
490
  } | {
385
491
  data?: `0x${string}` | undefined;
@@ -393,6 +499,7 @@ export declare const chainConfig: {
393
499
  maxPriorityFeePerGas?: undefined;
394
500
  accessList?: undefined;
395
501
  type?: "0x0" | undefined;
502
+ maxFeePerBlobGas?: undefined;
396
503
  eip712Meta?: undefined;
397
504
  } | {
398
505
  data?: `0x${string}` | undefined;
@@ -406,6 +513,7 @@ export declare const chainConfig: {
406
513
  maxPriorityFeePerGas?: undefined;
407
514
  accessList?: import("../../index.js").AccessList | undefined;
408
515
  type?: "0x1" | undefined;
516
+ maxFeePerBlobGas?: undefined;
409
517
  eip712Meta?: undefined;
410
518
  } | {
411
519
  data?: `0x${string}` | undefined;
@@ -419,6 +527,7 @@ export declare const chainConfig: {
419
527
  maxPriorityFeePerGas?: `0x${string}` | undefined;
420
528
  accessList?: import("../../index.js").AccessList | undefined;
421
529
  type?: "0x2" | undefined;
530
+ maxFeePerBlobGas?: undefined;
422
531
  eip712Meta?: undefined;
423
532
  } | {
424
533
  data?: `0x${string}` | undefined;
@@ -432,6 +541,7 @@ export declare const chainConfig: {
432
541
  maxPriorityFeePerGas?: `0x${string}` | undefined;
433
542
  accessList?: import("../../index.js").AccessList | undefined;
434
543
  type: "0xff" | "0x71";
544
+ maxFeePerBlobGas?: undefined;
435
545
  eip712Meta: import("./index.js").ZkSyncEip712Meta;
436
546
  } | {
437
547
  data?: `0x${string}` | undefined;
@@ -445,6 +555,7 @@ export declare const chainConfig: {
445
555
  maxPriorityFeePerGas?: undefined;
446
556
  accessList?: undefined;
447
557
  type?: "0x0" | undefined;
558
+ maxFeePerBlobGas?: undefined;
448
559
  eip712Meta?: undefined;
449
560
  } | {
450
561
  data?: `0x${string}` | undefined;
@@ -458,6 +569,7 @@ export declare const chainConfig: {
458
569
  maxPriorityFeePerGas?: undefined;
459
570
  accessList?: import("../../index.js").AccessList | undefined;
460
571
  type?: "0x1" | undefined;
572
+ maxFeePerBlobGas?: undefined;
461
573
  eip712Meta?: undefined;
462
574
  } | {
463
575
  data?: `0x${string}` | undefined;
@@ -471,6 +583,7 @@ export declare const chainConfig: {
471
583
  maxPriorityFeePerGas?: `0x${string}` | undefined;
472
584
  accessList?: import("../../index.js").AccessList | undefined;
473
585
  type?: "0x2" | undefined;
586
+ maxFeePerBlobGas?: undefined;
474
587
  eip712Meta?: undefined;
475
588
  } | {
476
589
  data?: `0x${string}` | undefined;
@@ -484,6 +597,7 @@ export declare const chainConfig: {
484
597
  maxPriorityFeePerGas?: `0x${string}` | undefined;
485
598
  accessList?: import("../../index.js").AccessList | undefined;
486
599
  type: "0xff" | "0x71";
600
+ maxFeePerBlobGas?: undefined;
487
601
  eip712Meta: import("./index.js").ZkSyncEip712Meta;
488
602
  }) & {
489
603
  gasPerPubdata: never;
@@ -1 +1 @@
1
- {"version":3,"file":"chainConfig.d.ts","sourceRoot":"","sources":["../../../chains/zksync/chainConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMd,CAAA"}
1
+ {"version":3,"file":"chainConfig.d.ts","sourceRoot":"","sources":["../../../chains/zksync/chainConfig.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMd,CAAA"}