@bsv/wallet-toolbox 2.5.0 → 2.6.0

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 (93) hide show
  1. package/CHANGELOG.md +16 -7
  2. package/README.md +28 -0
  3. package/out/src/index.all.d.ts +1 -0
  4. package/out/src/index.all.d.ts.map +1 -1
  5. package/out/src/index.all.js +1 -0
  6. package/out/src/index.all.js.map +1 -1
  7. package/out/src/index.mobile.d.ts +1 -0
  8. package/out/src/index.mobile.d.ts.map +1 -1
  9. package/out/src/index.mobile.js +1 -0
  10. package/out/src/index.mobile.js.map +1 -1
  11. package/out/src/sdk/types.d.ts +1 -1
  12. package/out/src/sdk/types.d.ts.map +1 -1
  13. package/out/src/sdk/types.js +1 -6
  14. package/out/src/sdk/types.js.map +1 -1
  15. package/out/src/services/Services.d.ts.map +1 -1
  16. package/out/src/services/Services.js +5 -5
  17. package/out/src/services/Services.js.map +1 -1
  18. package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +1 -1
  19. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +11 -0
  20. package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
  21. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +4 -0
  22. package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
  23. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +97 -33
  24. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  25. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +12 -0
  26. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
  27. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +127 -41
  28. package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
  29. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts +27 -0
  30. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -0
  31. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +64 -0
  32. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -0
  33. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
  34. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +15 -2
  35. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
  36. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
  37. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +8 -6
  38. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  39. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +11 -5
  40. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
  41. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +40 -3
  42. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  43. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
  44. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
  45. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +33 -8
  46. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  47. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +16 -1
  48. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
  49. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +70 -31
  50. package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
  51. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +3 -0
  52. package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
  53. package/out/src/services/chaintracker/chaintracks/index.mobile.js +3 -0
  54. package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
  55. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
  56. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +35 -2
  57. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  58. package/out/src/services/createDefaultWalletServicesOptions.d.ts +6 -1
  59. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
  60. package/out/src/services/createDefaultWalletServicesOptions.js +48 -19
  61. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  62. package/out/src/services/networkConfig.d.ts +10 -21
  63. package/out/src/services/networkConfig.d.ts.map +1 -1
  64. package/out/src/services/networkConfig.js +49 -11
  65. package/out/src/services/networkConfig.js.map +1 -1
  66. package/out/src/services/providers/WhatsOnChain.d.ts +8 -2
  67. package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
  68. package/out/src/services/providers/WhatsOnChain.js +21 -2
  69. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  70. package/out/src/storage/index.all.d.ts +1 -0
  71. package/out/src/storage/index.all.d.ts.map +1 -1
  72. package/out/src/storage/index.all.js +1 -0
  73. package/out/src/storage/index.all.js.map +1 -1
  74. package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts +12 -0
  75. package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts.map +1 -0
  76. package/out/src/storage/remoting/KnexPaymentReplayStore.js +46 -0
  77. package/out/src/storage/remoting/KnexPaymentReplayStore.js.map +1 -0
  78. package/out/src/storage/remoting/StorageServer.d.ts +21 -1
  79. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  80. package/out/src/storage/remoting/StorageServer.js +143 -5
  81. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  82. package/out/src/storage/remoting/edgePolicy.d.ts +27 -0
  83. package/out/src/storage/remoting/edgePolicy.d.ts.map +1 -1
  84. package/out/src/storage/remoting/edgePolicy.js +165 -15
  85. package/out/src/storage/remoting/edgePolicy.js.map +1 -1
  86. package/out/src/storage/schema/KnexMigrations.d.ts +1 -0
  87. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  88. package/out/src/storage/schema/KnexMigrations.js +18 -4
  89. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  90. package/out/src/utility/utilityHelpers.d.ts.map +1 -1
  91. package/out/src/utility/utilityHelpers.js +2 -0
  92. package/out/src/utility/utilityHelpers.js.map +1 -1
  93. package/package.json +2 -2
@@ -38,10 +38,11 @@ class Chaintracks {
38
38
  startupError = null;
39
39
  subscriberCallbacksEnabled = false;
40
40
  stopMainThread = true;
41
- lastPresentHeight = 0;
41
+ lastPresentHeight = -1;
42
42
  lastPresentHeightMsecs = 0;
43
43
  lastPresentHeightMaxAge = 60 * 1000; // 1 minute, in milliseconds
44
44
  lock = new SingleWriterMultiReaderLock_1.SingleWriterMultiReaderLock();
45
+ sourceStatus = new Map();
45
46
  constructor(options) {
46
47
  this.options = options;
47
48
  if (options.storage == null)
@@ -57,6 +58,14 @@ class Chaintracks {
57
58
  this.storage = options.storage;
58
59
  this.bulkIngestors = options.bulkIngestors;
59
60
  this.liveIngestors = options.liveIngestors;
61
+ for (const [index, source] of this.bulkIngestors.entries()) {
62
+ const name = this.sourceName('bulk', index, source);
63
+ this.sourceStatus.set(name, { name, role: 'bulk', state: 'unknown' });
64
+ }
65
+ for (const [index, source] of this.liveIngestors.entries()) {
66
+ const name = this.sourceName('live', index, source);
67
+ this.sourceStatus.set(name, { name, role: 'live', state: 'unknown' });
68
+ }
60
69
  this.addLiveRecursionLimit = options.addLiveRecursionLimit;
61
70
  if (options.logging != null)
62
71
  this.log = options.logging;
@@ -72,26 +81,42 @@ class Chaintracks {
72
81
  */
73
82
  async getPresentHeight() {
74
83
  const now = Date.now();
75
- if (this.lastPresentHeight && now - this.lastPresentHeightMsecs < this.lastPresentHeightMaxAge) {
84
+ if (this.lastPresentHeight >= 0 && now - this.lastPresentHeightMsecs < this.lastPresentHeightMaxAge) {
76
85
  return this.lastPresentHeight;
77
86
  }
78
- const presentHeights = [];
79
- for (const bulk of this.bulkIngestors) {
87
+ for (const [index, bulk] of this.bulkIngestors.entries()) {
88
+ const source = this.sourceName('bulk', index, bulk);
80
89
  try {
81
90
  const presentHeight = await bulk.getPresentHeight();
82
- if (presentHeight)
83
- presentHeights.push(presentHeight);
91
+ if (presentHeight != null && Number.isInteger(presentHeight) && presentHeight >= 0) {
92
+ this.markSourceSuccess(source, 'bulk');
93
+ this.lastPresentHeight = presentHeight;
94
+ this.lastPresentHeightMsecs = now;
95
+ return presentHeight;
96
+ }
84
97
  }
85
98
  catch (uerr) {
86
- console.error(uerr);
99
+ const error = WalletError_1.WalletError.fromUnknown(uerr);
100
+ this.markSourceFailure(source, 'bulk', error);
101
+ this.log(`Present-height source ${source} failed: ${error.message}`);
87
102
  }
88
103
  }
89
- const presentHeight = (presentHeights.length > 0) ? Math.max(...presentHeights) : undefined;
90
- if (!presentHeight)
91
- throw new Error('At least one bulk ingestor must implement getPresentHeight.');
92
- this.lastPresentHeight = presentHeight;
93
- this.lastPresentHeightMsecs = now;
94
- return presentHeight;
104
+ // A provider outage must not make an already synchronized tracker unusable.
105
+ if (this.lastPresentHeight >= 0)
106
+ return this.lastPresentHeight;
107
+ try {
108
+ const ranges = await this.storage.getAvailableHeightRanges();
109
+ const localHeight = Math.max(ranges.bulk.maxHeight, ranges.live.maxHeight);
110
+ if (localHeight >= 0) {
111
+ this.lastPresentHeight = localHeight;
112
+ this.lastPresentHeightMsecs = now;
113
+ return localHeight;
114
+ }
115
+ }
116
+ catch (error) {
117
+ this.log(`Unable to read the locally validated ChainTracks height: ${WalletError_1.WalletError.fromUnknown(error).message}`);
118
+ }
119
+ throw new Error('No present-height source or locally validated headers are available.');
95
120
  }
96
121
  async currentHeight() {
97
122
  return await this.getPresentHeight();
@@ -152,12 +177,13 @@ class Chaintracks {
152
177
  await liveIn.setStorage(this.storage, this.log);
153
178
  // Start all live ingestors to push new headers onto liveHeaders... each long running.
154
179
  this.stopMainThread = false;
155
- for (const liveIngestor of this.liveIngestors)
156
- this.promises.push(this.runLiveIngestor(liveIngestor));
180
+ for (const [index, liveIngestor] of this.liveIngestors.entries()) {
181
+ this.promises.push(this.runLiveIngestor(liveIngestor, index));
182
+ }
157
183
  // Start mai loop to shift out liveHeaders...once sync'd, will set `available` true.
158
184
  this.promises.push(this.mainThreadShiftLiveHeaders());
159
185
  // Wait for the main thread to finish initial sync.
160
- while (!this.available && (this.startupError == null)) {
186
+ while (!this.available && this.startupError == null) {
161
187
  await (0, utilityHelpers_1.wait)(100);
162
188
  }
163
189
  if (this.startupError != null)
@@ -190,11 +216,13 @@ class Chaintracks {
190
216
  async listening() {
191
217
  return await this.makeAvailable();
192
218
  }
193
- async runLiveIngestor(liveIngestor) {
219
+ async runLiveIngestor(liveIngestor, index) {
194
220
  let restartCount = 0;
195
221
  const name = liveIngestor.constructor.name;
222
+ const source = this.sourceName('live', index, liveIngestor);
196
223
  while (!this.stopMainThread) {
197
224
  try {
225
+ this.markSourceSuccess(source, 'live');
198
226
  await liveIngestor.startListening(this.liveHeaders);
199
227
  if (this.stopMainThread)
200
228
  return;
@@ -208,6 +236,7 @@ class Chaintracks {
208
236
  return;
209
237
  restartCount++;
210
238
  const e = WalletError_1.WalletError.fromUnknown(error_);
239
+ this.markSourceFailure(source, 'live', e);
211
240
  const waitMsecs = this.liveIngestorRestartWaitMsecs(restartCount);
212
241
  this.log(`Live ingestor ${name} failed restart=${restartCount} retryMsecs=${waitMsecs}: ${e.stack ?? e.message}`);
213
242
  await (0, utilityHelpers_1.wait)(waitMsecs);
@@ -258,7 +287,8 @@ class Chaintracks {
258
287
  storage: this.storage.constructor.name,
259
288
  bulkIngestors: this.bulkIngestors.map(bulkIngestor => bulkIngestor.constructor.name),
260
289
  liveIngestors: this.liveIngestors.map(liveIngestor => liveIngestor.constructor.name),
261
- packages: []
290
+ packages: [],
291
+ sources: Array.from(this.sourceStatus.values()).map(status => ({ ...status }))
262
292
  };
263
293
  return info;
264
294
  }
@@ -351,12 +381,14 @@ class Chaintracks {
351
381
  let madeProgress = false;
352
382
  let hadSuccess = false;
353
383
  let done = false;
354
- for (const bulk of this.bulkIngestors) {
384
+ for (const [index, bulk] of this.bulkIngestors.entries()) {
385
+ const source = this.sourceName('bulk', index, bulk);
355
386
  try {
356
387
  const beforeBulkMax = before.bulk.maxHeight;
357
388
  const beforeLiveRange = HeightRange_1.HeightRange.from(newLiveHeaders);
358
389
  const r = await bulk.synchronize(presentHeight, before, newLiveHeaders);
359
390
  hadSuccess = true;
391
+ this.markSourceSuccess(source, 'bulk');
360
392
  newLiveHeaders = r.liveHeaders;
361
393
  after = await this.storage.getAvailableHeightRanges();
362
394
  const added = after.bulk.above(before.bulk);
@@ -372,21 +404,51 @@ class Chaintracks {
372
404
  }
373
405
  catch (error_) {
374
406
  const e = (bulkSyncError = WalletError_1.WalletError.fromUnknown(error_));
407
+ this.markSourceFailure(source, 'bulk', e);
375
408
  this.log(`bulk sync error: ${e.message}`);
376
- // During initial startup, bulk ingestors must be available.
377
- if (!this.available)
378
- break;
379
409
  }
380
410
  }
381
- if (!this.available && (bulkSyncError != null) && !hadSuccess)
411
+ if (!this.available && bulkSyncError != null && !hadSuccess)
382
412
  this.startupError = bulkSyncError;
383
413
  return { after, newLiveHeaders, done, madeProgress };
384
414
  }
415
+ sourceName(role, index, source) {
416
+ return `${role}[${index}]:${source.constructor.name}`;
417
+ }
418
+ markSourceSuccess(name, role) {
419
+ this.sourceStatus.set(name, {
420
+ ...this.sourceStatus.get(name),
421
+ name,
422
+ role,
423
+ state: 'healthy',
424
+ lastSuccess: new Date().toISOString(),
425
+ error: undefined
426
+ });
427
+ }
428
+ markSourceFailure(name, role, error) {
429
+ this.sourceStatus.set(name, {
430
+ ...this.sourceStatus.get(name),
431
+ name,
432
+ role,
433
+ state: 'degraded',
434
+ lastFailure: new Date().toISOString(),
435
+ error: error.message
436
+ });
437
+ }
385
438
  async getMissingBlockHeader(hash) {
386
- for (const live of this.liveIngestors) {
387
- const header = await live.getHeaderByHash(hash);
388
- if (header != null)
389
- return header;
439
+ for (const [index, live] of this.liveIngestors.entries()) {
440
+ const source = this.sourceName('live', index, live);
441
+ try {
442
+ const header = await live.getHeaderByHash(hash);
443
+ this.markSourceSuccess(source, 'live');
444
+ if (header != null)
445
+ return header;
446
+ }
447
+ catch (error) {
448
+ const resolved = WalletError_1.WalletError.fromUnknown(error);
449
+ this.markSourceFailure(source, 'live', resolved);
450
+ this.log(`Header lookup source ${source} failed: ${resolved.message}`);
451
+ }
390
452
  }
391
453
  return undefined;
392
454
  }
@@ -403,7 +465,7 @@ class Chaintracks {
403
465
  return ihr;
404
466
  if (this.subscriberCallbacksEnabled && ihr.added && ihr.isActiveTip) {
405
467
  this.notifyHeaderListeners(header);
406
- if (ihr.reorgDepth > 0 && (ihr.priorTip != null)) {
468
+ if (ihr.reorgDepth > 0 && ihr.priorTip != null) {
407
469
  this.notifyReorgListeners(ihr, header);
408
470
  }
409
471
  }
@@ -416,7 +478,9 @@ class Chaintracks {
416
478
  try {
417
479
  listener(header);
418
480
  }
419
- catch { /* ignore all errors thrown */ }
481
+ catch {
482
+ /* ignore all errors thrown */
483
+ }
420
484
  }
421
485
  }
422
486
  }
@@ -429,7 +493,9 @@ class Chaintracks {
429
493
  try {
430
494
  listener(ihr.reorgDepth, priorTip, header, deactivated);
431
495
  }
432
- catch { /* ignore all errors thrown */ }
496
+ catch {
497
+ /* ignore all errors thrown */
498
+ }
433
499
  }
434
500
  }
435
501
  }
@@ -541,9 +607,7 @@ class Chaintracks {
541
607
  let needSyncCheck = false;
542
608
  while (!needSyncCheck && !this.stopMainThread) {
543
609
  const queuedResult = await this.processNextQueuedHeader(stats);
544
- needSyncCheck =
545
- queuedResult ??
546
- (await this.waitForQueuedHeaders(stats, lastSyncCheck, syncCheckRepeatMsecs));
610
+ needSyncCheck = queuedResult ?? (await this.waitForQueuedHeaders(stats, lastSyncCheck, syncCheckRepeatMsecs));
547
611
  }
548
612
  }
549
613
  formatIhrLog(prefix, header, ihr) {
@@ -1 +1 @@
1
- {"version":3,"file":"Chaintracks.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chaintracks.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/Chaintracks.ts"],"names":[],"mappings":";;;AAIA,oDAA+D;AAG/D,sEAA6E;AAS7E,sFAAmE;AACnE,oDAA8D;AAC9D,oFAAgF;AAEhF,oEAAyE;AACzE,0DAAsD;AACtD;IA+CqB,OAAO;IA9C1B,MAAM,CAAC,aAAa,CAAC,KAAY;QAC/B,OAAO;YACL,KAAK;YACL,OAAO,EAAE,SAAS;YAClB,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,EAAE;YACjB,qBAAqB,EAAE,EAAE;YACzB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC;YACpE,QAAQ,EAAE,KAAK;SAChB,CAAA;IACH,CAAC;IAED,8DAA8D;IAC9D,GAAG,GAA6B,GAAG,EAAE,GAAE,CAAC,CAAA;IAE/B,KAAK,CAAO;IACZ,QAAQ,CAAS;IAE1B,wHAAwH;IACvG,QAAQ,GAAyB,EAAE,CAAA;IAEnC,SAAS,GAGtB,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IACZ,OAAO,CAAuB;IAC9B,aAAa,CAAmB;IAChC,aAAa,CAAmB;IAEhC,WAAW,GAAsB,EAAE,CAAA;IACnC,WAAW,GAAkB,EAAE,CAAA;IAC/B,qBAAqB,GAAW,EAAE,CAAA;IAE3C,SAAS,GAAG,KAAK,CAAA;IACjB,YAAY,GAAuB,IAAI,CAAA;IAEvC,0BAA0B,GAAG,KAAK,CAAA;IAClC,cAAc,GAAG,IAAI,CAAA;IAErB,iBAAiB,GAAG,CAAC,CAAC,CAAA;IACtB,sBAAsB,GAAG,CAAC,CAAA;IACjB,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,4BAA4B;IAEhE,IAAI,GAAG,IAAI,yDAA2B,EAAE,CAAA;IACxC,YAAY,GAAG,IAAI,GAAG,EAAsC,CAAA;IAE7E,YAAmB,OAA2B;uBAA3B,OAAO;QACxB,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACpE,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC1C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;QAE1D,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI;YAAE,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAA;QACvD,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAE3B,IAAI,CAAC,GAAG,CAAC,4CAA4C,OAAO,CAAC,KAAK,KAAK,CAAC,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACpG,OAAO,IAAI,CAAC,iBAAiB,CAAA;QAC/B,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YACnD,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACnD,IAAI,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;oBACnF,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBACtC,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAA;oBACtC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAA;oBACjC,OAAO,aAAa,CAAA;gBACtB,CAAC;YACH,CAAC;YAAC,OAAO,IAAa,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;gBAC7C,IAAI,CAAC,GAAG,CAAC,yBAAyB,MAAM,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,iBAAiB,CAAA;QAC9D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAA;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC1E,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAA;gBACpC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAA;gBACjC,OAAO,WAAW,CAAA;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,4DAA4D,yBAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAChH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;IACzF,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAwB;QAC7C,MAAM,EAAE,GAAG,IAAA,kCAAiB,EAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;QACpC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAuB;QAC3C,MAAM,EAAE,GAAG,IAAA,kCAAiB,EAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;QACnC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,cAAsB;QACtC,IAAI,OAAO,GAAG,IAAI,CAAA;QAClB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAA;aAClF,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAA;;YACrF,OAAO,GAAG,KAAK,CAAA;QACpB,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CAAC,MAAuB;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAM;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACvC,gDAAgD;YAChD,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAM;YAC1B,qDAAqD;YACrD,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;YAClC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YACxF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YAExF,sFAAsF;YACtF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;YAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;YAC/D,CAAC;YAED,oFAAoF;YACpF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAA;YAErD,mDAAmD;YACnD,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBACpD,MAAM,IAAA,qBAAI,EAAC,GAAG,CAAC,CAAA;YACjB,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAM;IAC9D,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAM;QAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc;gBAAE,OAAM;YAClD,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;YAC1B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;YAChE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;YAChE,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;YAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;YAC3B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;IACnC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,YAA6B,EAAE,KAAa;QACxE,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAA;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;QAE3D,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACtC,MAAM,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBACnD,IAAI,IAAI,CAAC,cAAc;oBAAE,OAAM;gBAC/B,YAAY,EAAE,CAAA;gBACd,MAAM,SAAS,GAAG,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAA;gBACjE,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,iCAAiC,YAAY,eAAe,SAAS,EAAE,CAAC,CAAA;gBACtG,MAAM,IAAA,qBAAI,EAAC,SAAS,CAAC,CAAA;YACvB,CAAC;YAAC,OAAO,MAAe,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,cAAc;oBAAE,OAAM;gBAC/B,YAAY,EAAE,CAAA;gBACd,MAAM,CAAC,GAAG,yBAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBACzC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;gBACzC,MAAM,SAAS,GAAG,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAA;gBACjE,IAAI,CAAC,GAAG,CACN,iBAAiB,IAAI,mBAAmB,YAAY,eAAe,SAAS,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,CACxG,CAAA;gBACD,MAAM,IAAA,qBAAI,EAAC,SAAS,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,4BAA4B,CAAC,YAAoB;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IACjF,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACtC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/F,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,MAAc;QACpD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAA;IAChG,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,IAAY;QACrD,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAA;IAC3E,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,MAAc;QACrD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,IAAI;YAAE,OAAO,KAAK,CAAA;QAC3B,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,UAAU,CAAA;QACrC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;IAC7E,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAA;QAC1D,MAAM,IAAI,GAAuB;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,CAAC;YACnC,UAAU,EAAE,SAAS,CAAC,SAAS;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;YACtC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;YACpF,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;YACpF,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;SAC/E,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,KAAa;QAC5C,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,IAAA,kCAAQ,EAAC,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IACnH,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IACxF,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,IAAY;QAC3C,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5G,OAAO,MAAM,IAAI,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAY;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAA;QAC1D,OAAO,MAAM,EAAE,SAAS,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACvC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACvD,IAAI,EAAE,EAAE,IAAI,KAAK,CAAC,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;YAC1F,CAAC,GAAG,EAAE,CAAA;YACN,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,QAAgB,EAChB,IAAsB,EACtB,SAAkB,EAClB,gBAAyB,EACzB,SAAkB;QAElB,gBAAgB,KAAK,MAAM,CAAA;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;QACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IACtF,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,aAAqB,EAAE,aAA2B;QAC9E,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAA;IAC3G,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,aAAqB,EAAE,aAA2B;QACpF,IAAI,cAAc,GAAkB,EAAE,CAAA;QACtC,IAAI,MAAM,GAAG,aAAa,CAAA;QAC1B,IAAI,KAAK,GAAG,MAAM,CAAA;QAClB,IAAI,KAAK,GAAG,yBAAW,CAAC,KAAK,CAAA;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAEhE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA;YACjF,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YACpB,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;YACtC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACrC,MAAM,GAAG,KAAK,CAAA;YAEd,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;gBAAE,MAAK;YACpC,IAAI,MAAM,CAAC,IAAI;gBAAE,MAAK;YACtB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CACN,iCAAiC,KAAK,4EAA4E,CACnH,CAAA;gBACD,MAAK;YACP,CAAC;YACD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CACN,0BAA0B,aAAa,qEAAqE,CAC7G,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAA;YAC3C,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YAC5C,IAAI,CAAC,GAAG,CAAC;sBACO,aAAa,CAAC,IAAI,UAAU,aAAa,CAAC,IAAI;sBAC9C,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI;IAChD,KAAK,CAAC,MAAM;IACZ,IAAI,CAAC,WAAW,CAAC,MAAM;CAC1B,CAAC,CAAA;QACE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,MAAoB,EACpB,aAAqB,EACrB,cAA6B;QAE7B,IAAI,KAAK,GAAG,MAAM,CAAA;QAClB,IAAI,aAAsC,CAAA;QAC1C,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,IAAI,UAAU,GAAG,KAAK,CAAA;QACtB,IAAI,IAAI,GAAG,KAAK,CAAA;QAEhB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YACnD,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAA;gBAC3C,MAAM,eAAe,GAAG,yBAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBACxD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;gBACvE,UAAU,GAAG,IAAI,CAAA;gBACjB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBAEtC,cAAc,GAAG,CAAC,CAAC,WAAW,CAAA;gBAC9B,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAA;gBACrD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC3C,MAAM,cAAc,GAAG,yBAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBACvD,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,aAAa,IAAI,cAAc,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS;oBAC9F,YAAY,GAAG,IAAI,CAAA;gBACrB,MAAM,GAAG,KAAK,CAAA;gBACd,IAAI,CAAC,GAAG,CACN,kBAAkB,KAAK,CAAC,MAAM,eAAe,cAAc,CAAC,MAAM,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAChH,CAAA;gBACD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACX,IAAI,GAAG,IAAI,CAAA;oBACX,MAAK;gBACP,CAAC;YACH,CAAC;YAAC,OAAO,MAAe,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,yBAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC3D,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;gBACzC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,IAAI,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,YAAY,GAAG,aAAa,CAAA;QAC9F,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;IACtD,CAAC;IAEO,UAAU,CAAC,IAAqB,EAAE,KAAa,EAAE,MAAc;QACrE,OAAO,GAAG,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACvD,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,IAAqB;QAC3D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE;YAC1B,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,IAAI;YACJ,IAAI;YACJ,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;IACJ,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,IAAqB,EAAE,KAAY;QACzE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE;YAC1B,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,IAAI;YACJ,IAAI;YACJ,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,KAAK,EAAE,KAAK,CAAC,OAAO;SACrB,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,IAAY;QAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;YACnD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;gBAC/C,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACtC,IAAI,MAAM,IAAI,IAAI;oBAAE,OAAO,MAAM,CAAA;YACnC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,yBAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBAC/C,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;gBAChD,IAAI,CAAC,GAAG,CAAC,wBAAwB,MAAM,YAAY,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,yBAAyB,CAAC,GAAuB;QACvD,OAAO,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAA;IACzD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAmB;QAC7C,IAAA,2CAAoB,EAAC,MAAM,CAAC,CAAA;QAC5B,IAAA,wCAA0B,EAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACpF,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAE3C,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAA;QAEnD,IAAI,IAAI,CAAC,0BAA0B,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpE,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;YAClC,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC/C,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,qBAAqB,CAAC,MAAmB;QAC/C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC1C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,CAAC,MAAM,CAAC,CAAA;gBAClB,CAAC;gBAAC,MAAM,CAAC;oBACP,8BAA8B;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,GAAuB,EAAE,MAAmB;QACvE,MAAM,QAAQ,GAAgB,EAAE,GAAG,GAAG,CAAC,QAAS,EAAE,CAAA;QAClD,MAAM,WAAW,GAAkB,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAA;QAClF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACzC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACP,8BAA8B;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,0BAA0B;QACtC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;QAC3B,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,WAAW;QAC1D,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,aAAa;QAEzD,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACtB,aAAa,GAAG,GAAG,CAAA;gBACnB,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAA;gBACpF,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAA;YACxE,CAAC;YAAC,OAAO,MAAe,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,yBAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBACzC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC/F,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;oBACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4DAA4D;IACpD,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,YAAoB,EAAE,kBAA0B;QAC7F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAA;QAE5D,IAAI,YAAY,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAA;QAClH,gFAAgF;QAChF,IAAI,YAAY,IAAI,GAAG,GAAG,YAAY,GAAG,kBAAkB;YAAE,YAAY,GAAG,KAAK,CAAA;QAEjF,IAAI,CAAC,GAAG,CAAC;kBACK,aAAa,4BAA4B,IAAI,CAAC,qBAAqB;6BACxD,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,IAAI;IACzD,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;CACzC,CAAC,CAAA;QAEE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,6FAA6F;YAC7F,uEAAuE;YACvE,IAAI,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;;gBAChE,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;YAC5D,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC,YAAY,CAAA;YACtD,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,KAAiD;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QAC3C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;YAC1D,IAAI,MAAM,CAAC,aAAa;gBAAE,OAAO,IAAI,CAAA;YACrC,IAAI,MAAM,CAAC,IAAI;gBAAE,KAAK,CAAC,eAAe,EAAE,CAAA;YACxC,IAAI,MAAM,CAAC,KAAK;gBAAE,KAAK,CAAC,KAAK,EAAE,CAAA;YAC/B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QAC3C,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QACnC,IAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;YAAE,KAAK,CAAC,KAAK,EAAE,CAAA;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,KAAiD;QACrF,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;YAAE,OAAM;QAC7B,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,6BAA6B,CAAC,CAAA;YAC/D,KAAK,CAAC,eAAe,GAAG,CAAC,CAAA;QAC3B,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAA;QAC7D,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,KAAK,sCAAsC,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC,IAAI,IAAI,CAAC,CAAA;QACjH,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,KAAiD,EACjD,aAAqB,EACrB,oBAA4B;QAE5B,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,oBAAoB,CAAA;QACvE,IAAI,CAAC,aAAa;YAAE,MAAM,IAAA,qBAAI,EAAC,IAAI,CAAC,CAAA;QACpC,OAAO,aAAa,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,aAAqB,EAAE,oBAA4B;QACtF,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAA;QAC9C,IAAI,aAAa,GAAG,KAAK,CAAA;QACzB,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;YAC9D,aAAa,GAAG,YAAY,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAA;QAC/G,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAc,EAAE,MAAmB,EAAE,GAAuB;QAC/E,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAC7R,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,WAAwB;QAExB,IAAI,MAAM,GAAG,WAAW,CAAA;QACxB,IAAI,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAA;QAE3C,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAC5C,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,gCAAgC,CAAC,CAAA;gBAC7F,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;YAC3D,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,2FAA2F;gBAC3F,IAAI,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,GAAG,CACN,uBAAuB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,0BAA0B,IAAI,CAAC,qBAAqB,YAAY,CACpH,CAAA;oBACD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;gBAC3D,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACxE,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC,GAAG,CACN,uBAAuB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,2CAA2C,IAAA,kCAAQ,EAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAC9H,CAAA;oBACD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;gBAC3D,CAAC;gBACD,+DAA+D;gBAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBAChC,MAAM,GAAG,UAAU,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,CAAC,0BAA0B;oBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;gBAC9F,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAA;YACnE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAC5D,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAAwB;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAChF,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,+DAA+D;YAC/D,IAAI,CAAC,GAAG,CAAC,6CAA6C,OAAO,CAAC,YAAY,mBAAmB,CAAC,CAAA;YAC9F,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,MAAM,GAAgB,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,IAAA,gCAAS,EAAC,OAAO,CAAC,EAAE,CAAA;QAC7F,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC5C,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA;YACxE,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,IAAI,CAAC,0BAA0B;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;QAC9F,OAAO,GAAG,CAAC,KAAK,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,IAAI,CAAC,0BAA0B;YAAE,OAAM;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAA;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAA;YACtC,IAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;CACF"}
@@ -8,6 +8,12 @@ export interface GoChaintracksServiceClientOptions {
8
8
  */
9
9
  apiPrefix?: string;
10
10
  fetch?: typeof fetch;
11
+ /** Timeout for HTTP requests and the initial SSE handshake. */
12
+ requestTimeoutMsecs?: number;
13
+ /** Initial delay before reconnecting a closed or failed SSE stream. */
14
+ reconnectWaitMsecs?: number;
15
+ /** Maximum SSE reconnect delay. */
16
+ reconnectWaitMaxMsecs?: number;
11
17
  }
12
18
  /**
13
19
  * Client for go-chaintracks compatible HTTP services, including Arcade's
@@ -19,6 +25,9 @@ export declare class GoChaintracksServiceClient implements ChaintracksClientApi
19
25
  chain: Chain;
20
26
  private readonly baseUrl;
21
27
  private readonly fetcher;
28
+ private readonly requestTimeoutMsecs;
29
+ private readonly reconnectWaitMsecs;
30
+ private readonly reconnectWaitMaxMsecs;
22
31
  private readonly subscriptions;
23
32
  private nextSubscriptionId;
24
33
  constructor(chain: Chain, serviceUrl: string, options?: GoChaintracksServiceClientOptions);
@@ -41,11 +50,14 @@ export declare class GoChaintracksServiceClient implements ChaintracksClientApi
41
50
  subscribeReorgs(listener: ReorgListener): Promise<string>;
42
51
  unsubscribe(subscriptionId: string): Promise<boolean>;
43
52
  private subscribe;
53
+ private runSseWithReconnect;
54
+ private waitForReconnect;
44
55
  private runSse;
45
56
  private processSseBuffer;
46
57
  private getJson;
47
58
  private getJsonOrUndefined;
48
59
  private getBinary;
60
+ private fetchWithTimeout;
49
61
  private url;
50
62
  private normalizeChain;
51
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GoChaintracksServiceClient.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/GoChaintracksServiceClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEpH,MAAM,WAAW,iCAAiC;IAChD;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB;AAiBD;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,oBAAoB;IAO5D,KAAK,EAAE,KAAK;IANrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,OAAO,CAAC,kBAAkB,CAAI;IAE9B,YACS,KAAK,EAAE,KAAK,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iCAAsC,EAWhD;IAEK,aAAa,IAAK,OAAO,CAAC,MAAM,CAAC,CAEtC;IAEK,oBAAoB,CAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG1E;IAEK,QAAQ,IAAK,OAAO,CAAC,KAAK,CAAC,CAOhC;IAEK,OAAO,IAAK,OAAO,CAAC,kBAAkB,CAAC,CAW5C;IAEK,gBAAgB,IAAK,OAAO,CAAC,MAAM,CAAC,CAEzC;IAEK,UAAU,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;IAEK,kBAAkB,IAAK,OAAO,CAAC,WAAW,CAAC,CAEhD;IAEK,gBAAgB,IAAK,OAAO,CAAC,MAAM,CAAC,CAEzC;IAEK,mBAAmB,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE3E;IAEK,sBAAsB,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE5E;IAEK,SAAS,CAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD;IAEK,cAAc,IAAK,OAAO,CAAC,IAAI,CAAC,CAErC;IAEK,SAAS,IAAK,OAAO,CAAC,IAAI,CAAC,CAEhC;IAEK,WAAW,IAAK,OAAO,CAAC,OAAO,CAAC,CAOrC;IAEK,cAAc,IAAK,OAAO,CAAC,OAAO,CAAC,CAExC;IAEK,gBAAgB,CAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAIjE;IAEK,eAAe,CAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAY/D;IAEK,WAAW,CAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO3D;YAEa,SAAS;YAgBT,MAAM;IA6BpB,OAAO,CAAC,gBAAgB;YAoBV,OAAO;YAMP,kBAAkB;YASlB,SAAS;IAQvB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,cAAc;CAoBvB"}
1
+ {"version":3,"file":"GoChaintracksServiceClient.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/GoChaintracksServiceClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAEpH,MAAM,WAAW,iCAAiC;IAChD;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,+DAA+D;IAC/D,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mCAAmC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAiBD;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,oBAAoB;IAU5D,KAAK,EAAE,KAAK;IATrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,OAAO,CAAC,kBAAkB,CAAI;IAE9B,YACS,KAAK,EAAE,KAAK,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iCAAsC,EA0BhD;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErC;IAEK,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE;IAEK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,CAG/B;IAEK,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAW3C;IAEK,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAGxC;IAEK,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/D;IAEK,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,CAE/C;IAEK,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAExC;IAEK,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE1E;IAEK,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE3E;IAEK,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvD;IAEK,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/B;IAEK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAOpC;IAEK,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAEvC;IAEK,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAIhE;IAEK,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAY9D;IAEK,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1D;YAEa,SAAS;YAkBT,mBAAmB;YAoBnB,gBAAgB;YAehB,MAAM;IA6CpB,OAAO,CAAC,gBAAgB;YAqBV,OAAO;YAMP,kBAAkB;YAelB,SAAS;YAQT,gBAAgB;IAU9B,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,cAAc;CAsBvB"}