@luxonis/depthai-viewer-common 3.8.2 → 3.9.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 (123) hide show
  1. package/README.md +104 -11
  2. package/dist/components/CTASubLabel.d.ts +10 -2
  3. package/dist/components/CTASubLabel.d.ts.map +1 -1
  4. package/dist/components/CTASubLabel.js +3 -0
  5. package/dist/components/CTASubLabel.js.map +1 -1
  6. package/dist/components/DepthAIContext.d.ts +25 -2
  7. package/dist/components/DepthAIContext.d.ts.map +1 -1
  8. package/dist/components/DepthAIContext.js +3 -0
  9. package/dist/components/DepthAIContext.js.map +1 -1
  10. package/dist/components/Pipeline.d.ts +19 -2
  11. package/dist/components/Pipeline.d.ts.map +1 -1
  12. package/dist/components/Pipeline.js +12 -0
  13. package/dist/components/Pipeline.js.map +1 -1
  14. package/dist/components/Resizable.d.ts +20 -0
  15. package/dist/components/Resizable.d.ts.map +1 -1
  16. package/dist/components/Resizable.js +8 -0
  17. package/dist/components/Resizable.js.map +1 -1
  18. package/dist/components/Streams.d.ts +98 -4
  19. package/dist/components/Streams.d.ts.map +1 -1
  20. package/dist/components/Streams.js +8 -0
  21. package/dist/components/Streams.js.map +1 -1
  22. package/dist/components/ThemeToggle.d.ts +8 -0
  23. package/dist/components/ThemeToggle.d.ts.map +1 -1
  24. package/dist/components/ThemeToggle.js +8 -0
  25. package/dist/components/ThemeToggle.js.map +1 -1
  26. package/dist/constants/connection.d.ts +28 -0
  27. package/dist/constants/connection.d.ts.map +1 -1
  28. package/dist/constants/connection.js +13 -0
  29. package/dist/constants/connection.js.map +1 -1
  30. package/dist/constants/streams.d.ts +9 -0
  31. package/dist/constants/streams.d.ts.map +1 -1
  32. package/dist/constants/streams.js +6 -0
  33. package/dist/constants/streams.js.map +1 -1
  34. package/dist/constants/url.d.ts +12 -0
  35. package/dist/constants/url.d.ts.map +1 -1
  36. package/dist/constants/url.js +12 -0
  37. package/dist/constants/url.js.map +1 -1
  38. package/dist/dai-connection/connection.d.ts +189 -2
  39. package/dist/dai-connection/connection.d.ts.map +1 -1
  40. package/dist/dai-connection/connection.js +121 -5
  41. package/dist/dai-connection/connection.js.map +1 -1
  42. package/dist/dai-connection/decoder.worker.d.ts +21 -0
  43. package/dist/dai-connection/decoder.worker.d.ts.map +1 -1
  44. package/dist/dai-connection/decoder.worker.js +6 -0
  45. package/dist/dai-connection/decoder.worker.js.map +1 -1
  46. package/dist/hooks/connection.d.ts +206 -0
  47. package/dist/hooks/connection.d.ts.map +1 -1
  48. package/dist/hooks/connection.js +22 -0
  49. package/dist/hooks/connection.js.map +1 -1
  50. package/dist/hooks/navigation.d.ts +5 -0
  51. package/dist/hooks/navigation.d.ts.map +1 -1
  52. package/dist/hooks/navigation.js +5 -0
  53. package/dist/hooks/navigation.js.map +1 -1
  54. package/dist/hooks/search.d.ts +12 -0
  55. package/dist/hooks/search.d.ts.map +1 -1
  56. package/dist/hooks/search.js +3 -0
  57. package/dist/hooks/search.js.map +1 -1
  58. package/dist/hooks/useFullScreen.d.ts +8 -0
  59. package/dist/hooks/useFullScreen.d.ts.map +1 -1
  60. package/dist/hooks/useFullScreen.js +8 -0
  61. package/dist/hooks/useFullScreen.js.map +1 -1
  62. package/dist/index.d.ts +5 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +5 -2
  65. package/dist/index.js.map +1 -1
  66. package/dist/models/device-configuration.d.ts +69 -0
  67. package/dist/models/device-configuration.d.ts.map +1 -1
  68. package/dist/models/device-configuration.js +21 -0
  69. package/dist/models/device-configuration.js.map +1 -1
  70. package/dist/providers/ConnectionProvider.d.ts +56 -2
  71. package/dist/providers/ConnectionProvider.d.ts.map +1 -1
  72. package/dist/providers/ConnectionProvider.js +26 -0
  73. package/dist/providers/ConnectionProvider.js.map +1 -1
  74. package/dist/providers/DataProvider.d.ts +129 -0
  75. package/dist/providers/DataProvider.d.ts.map +1 -1
  76. package/dist/providers/DataProvider.js +21 -0
  77. package/dist/providers/DataProvider.js.map +1 -1
  78. package/dist/providers/ThemeProvider.d.ts +67 -7
  79. package/dist/providers/ThemeProvider.d.ts.map +1 -1
  80. package/dist/providers/ThemeProvider.js +39 -2
  81. package/dist/providers/ThemeProvider.js.map +1 -1
  82. package/dist/providers/VisualizerRuntimeConfigProvider.d.ts +43 -3
  83. package/dist/providers/VisualizerRuntimeConfigProvider.d.ts.map +1 -1
  84. package/dist/providers/VisualizerRuntimeConfigProvider.js +20 -3
  85. package/dist/providers/VisualizerRuntimeConfigProvider.js.map +1 -1
  86. package/dist/utils/arrays.d.ts +7 -0
  87. package/dist/utils/arrays.d.ts.map +1 -1
  88. package/dist/utils/arrays.js +7 -0
  89. package/dist/utils/arrays.js.map +1 -1
  90. package/dist/utils/functions.d.ts +3 -0
  91. package/dist/utils/functions.d.ts.map +1 -1
  92. package/dist/utils/functions.js +3 -0
  93. package/dist/utils/functions.js.map +1 -1
  94. package/dist/utils/local-storage.d.ts +20 -0
  95. package/dist/utils/local-storage.d.ts.map +1 -1
  96. package/dist/utils/local-storage.js +17 -0
  97. package/dist/utils/local-storage.js.map +1 -1
  98. package/dist/utils/logger.d.ts +31 -0
  99. package/dist/utils/logger.d.ts.map +1 -1
  100. package/dist/utils/logger.js +36 -7
  101. package/dist/utils/logger.js.map +1 -1
  102. package/dist/utils/sorting.d.ts +6 -0
  103. package/dist/utils/sorting.d.ts.map +1 -1
  104. package/dist/utils/sorting.js +6 -0
  105. package/dist/utils/sorting.js.map +1 -1
  106. package/dist/utils/topic.d.ts +6 -0
  107. package/dist/utils/topic.d.ts.map +1 -1
  108. package/dist/utils/topic.js +3 -0
  109. package/dist/utils/topic.js.map +1 -1
  110. package/dist/utils/units.d.ts +24 -0
  111. package/dist/utils/units.d.ts.map +1 -1
  112. package/dist/utils/units.js +24 -0
  113. package/dist/utils/units.js.map +1 -1
  114. package/dist/utils/url.d.ts +9 -0
  115. package/dist/utils/url.d.ts.map +1 -1
  116. package/dist/utils/url.js +10 -1
  117. package/dist/utils/url.js.map +1 -1
  118. package/dist/utils/vite-dev-fix.d.ts +13 -0
  119. package/dist/utils/vite-dev-fix.d.ts.map +1 -1
  120. package/dist/utils/vite-dev-fix.js +13 -0
  121. package/dist/utils/vite-dev-fix.js.map +1 -1
  122. package/package.json +2 -2
  123. package/protobuf-gen.sh +60 -3
@@ -9,13 +9,27 @@ import { decodeServiceMessage, } from './decoder.worker.js';
9
9
  const isRawPipelinePayload = (data) => !!data?.pipeline;
10
10
  const isRawPipelineStatePayload = (data) => !!data?.nodeStates;
11
11
  const logger = Logger.getLogger();
12
+ /**
13
+ * Manages a DepthAI backend connection, stream subscriptions, service polling, and pipeline decoding.
14
+ */
12
15
  export class DAIConnection {
16
+ /**
17
+ * Whether this connection instance should continue processing events and service responses.
18
+ */
13
19
  alive = true;
20
+ /**
21
+ * Underlying visualizer connection used by Foxglove-derived panels.
22
+ */
14
23
  connection;
24
+ /**
25
+ * Creates a connection manager with optional synthetic topics.
26
+ *
27
+ * @param fakeTopics - Topics to merge into the backend topic list for host-controlled streams.
28
+ */
15
29
  constructor(fakeTopics) {
16
30
  this.fakeTopics = fakeTopics ?? [];
17
31
  }
18
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
32
+ // biome-ignore lint/suspicious/noExplicitAny: Listener arrays are typed by event name at registration.
19
33
  listeners = {};
20
34
  // biome-ignore lint/suspicious/noExplicitAny: Typed only on a usage level
21
35
  serviceListeners = {};
@@ -28,6 +42,9 @@ export class DAIConnection {
28
42
  activeServices = new Set([]);
29
43
  serviceInterval = null;
30
44
  _pendingDecodeCleanups = [];
45
+ /**
46
+ * Whether topic subscription state was changed explicitly by the user.
47
+ */
31
48
  topicsTouched = false;
32
49
  channels = [];
33
50
  groups = {};
@@ -43,9 +60,17 @@ export class DAIConnection {
43
60
  isFakeTopic(name) {
44
61
  return this.fakeTopics.some((t) => t.name === name);
45
62
  }
63
+ /**
64
+ * Returns synthetic topics currently merged into the topic list.
65
+ */
46
66
  getFakeTopics() {
47
67
  return this.fakeTopics;
48
68
  }
69
+ /**
70
+ * Replaces synthetic topics and enables the ones marked as enabled.
71
+ *
72
+ * @param fakeTopics - Synthetic topics to expose through the topic list.
73
+ */
49
74
  setFakeTopics(fakeTopics) {
50
75
  const previousFakeTopicNames = new Set(this.fakeTopics.map((topic) => topic.name));
51
76
  const nextFakeTopicNames = new Set(fakeTopics.map((topic) => topic.name));
@@ -253,6 +278,11 @@ export class DAIConnection {
253
278
  }
254
279
  }, 10_000);
255
280
  }
281
+ /**
282
+ * Initializes the decoder worker and opens the underlying connection.
283
+ *
284
+ * @param args - Connection and stream initialization parameters.
285
+ */
256
286
  init({ enabledStreams, defaultTopics, isViewer, ...args }) {
257
287
  if (enabledStreams && enabledStreams.length > 0) {
258
288
  logger.debug('Initializing connection with predefined streams', enabledStreams);
@@ -266,6 +296,11 @@ export class DAIConnection {
266
296
  this.recreateDecoderWorker();
267
297
  this.setupConnection(args);
268
298
  }
299
+ /**
300
+ * Creates the underlying WebSocket or WebRTC visualizer connection and attaches event handlers.
301
+ *
302
+ * @param args - Transport-specific connection parameters.
303
+ */
269
304
  setupConnection({ type, connectionUrl, clientId, token, automaticTokenRefresh, sessionRecovery, debugLogs, messageHandlerVersion, }) {
270
305
  // TODO: Enable Luxonis ICE Servers
271
306
  this.connection = new VisualizerConnection({
@@ -344,6 +379,12 @@ export class DAIConnection {
344
379
  this.reportTopics(type);
345
380
  });
346
381
  }
382
+ /**
383
+ * Maps a DepthAI service to the decoder payload kind expected by the worker.
384
+ *
385
+ * @param service - Service key to classify.
386
+ * @returns Decoder payload kind used for the service response.
387
+ */
347
388
  serviceToKind(service) {
348
389
  return service === 'pipelineSchema' ||
349
390
  service === 'fullPipelineSchema' ||
@@ -351,6 +392,12 @@ export class DAIConnection {
351
392
  ? 'pipeline'
352
393
  : 'json';
353
394
  }
395
+ /**
396
+ * Requests a service response and forwards it through the decoder worker asynchronously.
397
+ *
398
+ * @param service - Service key to request.
399
+ * @param body - Optional request body passed to the backend service.
400
+ */
354
401
  async fetchService(service,
355
402
  // biome-ignore lint/suspicious/noExplicitAny: Can't possibly be typed, we don't know request specifics
356
403
  body) {
@@ -363,7 +410,7 @@ export class DAIConnection {
363
410
  const data = await this.connection?.request({
364
411
  name: DAI_SERVICE_NAME[service] ?? service,
365
412
  timeout: 60_000,
366
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
413
+ // biome-ignore lint/suspicious/noExplicitAny: Service request bodies differ by endpoint.
367
414
  body: body,
368
415
  });
369
416
  if (data) {
@@ -378,9 +425,21 @@ export class DAIConnection {
378
425
  logger.warn(`DAI: fetchService called for service "${service}" while it's not allowed to poll`);
379
426
  }
380
427
  }
428
+ /**
429
+ * Returns whether a service is currently advertised by the backend and can be polled.
430
+ *
431
+ * @param service - Service key to check.
432
+ */
381
433
  canPollService(service) {
382
434
  return this.allowedServices.has(service);
383
435
  }
436
+ /**
437
+ * Requests and decodes one service response before resolving.
438
+ *
439
+ * @param service - Service key to request.
440
+ * @param body - Optional request body passed to the backend service.
441
+ * @returns Decoded service payload, or `null` when the service cannot be polled or decoding fails.
442
+ */
384
443
  async fetchServiceBlocking(service,
385
444
  // biome-ignore lint/suspicious/noExplicitAny: Can't possibly be typed, we don't know request specifics
386
445
  body) {
@@ -396,7 +455,7 @@ export class DAIConnection {
396
455
  const data = await this.connection?.request({
397
456
  name: DAI_SERVICE_NAME[service] ?? service,
398
457
  timeout: 60_000,
399
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
458
+ // biome-ignore lint/suspicious/noExplicitAny: Service request bodies differ by endpoint.
400
459
  body: body,
401
460
  });
402
461
  if (!data) {
@@ -447,6 +506,15 @@ export class DAIConnection {
447
506
  }, [data.buffer]);
448
507
  });
449
508
  }
509
+ /**
510
+ * Sends a request to a backend service and decodes the standard JSON response envelope.
511
+ *
512
+ * @param service - Service key to request.
513
+ * @param body - Request body passed to the backend service.
514
+ * @param onResponse - Callback invoked with the decoded response envelope.
515
+ * @param onError - Optional callback invoked when the response envelope contains an error.
516
+ * @param responseTimeout - Request timeout in milliseconds.
517
+ */
450
518
  async postToService(service, body, onResponse, onError, responseTimeout = 60_000) {
451
519
  if (!this.alive) {
452
520
  logger.warn(`DAI: postToService called while not alive for service "${service}"`);
@@ -455,7 +523,7 @@ export class DAIConnection {
455
523
  const data = await this.connection?.request({
456
524
  name: DAI_SERVICE_NAME[service] ?? service,
457
525
  timeout: responseTimeout,
458
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
526
+ // biome-ignore lint/suspicious/noExplicitAny: Service request bodies differ by endpoint.
459
527
  body: body,
460
528
  });
461
529
  const parsedResponse = decodeServiceMessage(data ?? null);
@@ -469,6 +537,14 @@ export class DAIConnection {
469
537
  }
470
538
  onResponse(parsedResponse);
471
539
  }
540
+ /**
541
+ * Sends a request to a backend service and returns the raw binary response.
542
+ *
543
+ * @param service - Service key to request.
544
+ * @param body - Request body passed to the backend service.
545
+ * @param onResponse - Callback invoked with the raw response data.
546
+ * @param responseTimeout - Request timeout in milliseconds.
547
+ */
472
548
  async postToServiceRaw(service, body, onResponse, responseTimeout = 60_000) {
473
549
  if (!this.alive) {
474
550
  logger.warn(`DAI: postToService called while not alive for service "${service}"`);
@@ -477,14 +553,22 @@ export class DAIConnection {
477
553
  const data = await this.connection?.request({
478
554
  name: DAI_SERVICE_NAME[service] ?? service,
479
555
  timeout: responseTimeout,
480
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
556
+ // biome-ignore lint/suspicious/noExplicitAny: Service request bodies differ by endpoint.
481
557
  body: body,
482
558
  });
483
559
  onResponse(data);
484
560
  }
561
+ /**
562
+ * Replaces the set of services polled by the connection.
563
+ *
564
+ * @param services - Service keys to poll.
565
+ */
485
566
  setActiveServices(services) {
486
567
  this.activeServices = new Set(services);
487
568
  }
569
+ /**
570
+ * Closes the connection, stops polling, terminates the decoder worker, and emits `close`.
571
+ */
488
572
  dispose() {
489
573
  this.alive = false;
490
574
  for (const abort of this._pendingDecodeCleanups) {
@@ -500,6 +584,11 @@ export class DAIConnection {
500
584
  listener();
501
585
  }
502
586
  }
587
+ /**
588
+ * Sends a key press event to the backend.
589
+ *
590
+ * @param key - Keyboard key identifier to forward.
591
+ */
503
592
  handleKeyPress(key) {
504
593
  void this.connection?.request({
505
594
  name: DAI_SERVICE_NAME.keyPressed,
@@ -507,6 +596,11 @@ export class DAIConnection {
507
596
  ignoreResponse: true,
508
597
  });
509
598
  }
599
+ /**
600
+ * Toggles subscription state for a stream topic.
601
+ *
602
+ * @param topic - Topic name to toggle.
603
+ */
510
604
  toggleTopic(topic) {
511
605
  this.topicsTouched = true;
512
606
  if (this.isFakeTopic(topic)) {
@@ -529,6 +623,11 @@ export class DAIConnection {
529
623
  }
530
624
  this.reportTopics();
531
625
  }
626
+ /**
627
+ * Temporarily stops topic subscriptions while preserving previous selection state.
628
+ *
629
+ * @param topicsFilter - Optional topic allow-list to keep enabled.
630
+ */
532
631
  stopTopics(topicsFilter) {
533
632
  this.topicsTouched = false;
534
633
  this.previouslyEnabledTopics = this.enabledTopics;
@@ -540,6 +639,11 @@ export class DAIConnection {
540
639
  : [];
541
640
  this.reportTopics();
542
641
  }
642
+ /**
643
+ * Restores topic subscriptions saved by `stopTopics`.
644
+ *
645
+ * @param defaultTopics - Optional default topics to use after restart.
646
+ */
543
647
  restartTopics(defaultTopics) {
544
648
  if (defaultTopics) {
545
649
  this.defaultTopics = defaultTopics;
@@ -552,10 +656,22 @@ export class DAIConnection {
552
656
  this.shouldRestoreDefaultFakeTopics = false;
553
657
  this.reportTopics();
554
658
  }
659
+ /**
660
+ * Registers an event listener.
661
+ *
662
+ * @param event - Event name to subscribe to.
663
+ * @param callback - Callback invoked when the event fires.
664
+ */
555
665
  on(event, callback) {
556
666
  this.listeners[event] ??= [];
557
667
  this.listeners[event].push(callback);
558
668
  }
669
+ /**
670
+ * Registers a decoded service response listener.
671
+ *
672
+ * @param service - Service name to listen for.
673
+ * @param callback - Callback invoked with decoded service data.
674
+ */
559
675
  setOnService(service, callback) {
560
676
  this.serviceListeners[service] = callback;
561
677
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/dai-connection/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,aAAa,EACb,kBAAkB,GAGlB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAoB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAA0B,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAGN,oBAAoB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,oBAAoB,GAAG,CAAC,IAAa,EAA8B,EAAE,CAC1E,CAAC,CAAE,IAA2B,EAAE,QAAQ,CAAC;AAE1C,MAAM,yBAAyB,GAAG,CAAC,IAAa,EAAmC,EAAE,CACpF,CAAC,CAAE,IAAgC,EAAE,UAAU,CAAC;AAEjD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAgClC,MAAM,OAAO,aAAa;IACzB,KAAK,GAAG,IAAI,CAAC;IACb,UAAU,CAAwB;IAClC,YAAY,UAAoB;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,4DAA4D;IAClD,SAAS,GAAwD,EAAE,CAAC;IAC9E,0EAA0E;IAChE,gBAAgB,GAAmE,EAAE,CAAC;IAEtF,aAAa,GAAa,EAAE,CAAC;IAC7B,aAAa,CAAY;IACzB,uBAAuB,GAAa,EAAE,CAAC;IACvC,2BAA2B,GAAgB,IAAI,GAAG,EAAE,CAAC;IAErD,aAAa,CAAU;IACvB,eAAe,GAAoB,IAAI,GAAG,EAAE,CAAC;IAC7C,cAAc,GAAoB,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9C,eAAe,GAA0B,IAAI,CAAC;IAC9C,sBAAsB,GAAsB,EAAE,CAAC;IAElD,aAAa,GAAG,KAAK,CAAC;IACnB,QAAQ,GAAwB,EAAE,CAAC;IACnC,MAAM,GAA2B,EAAE,CAAC;IACpC,MAAM,GAAY,EAAE,CAAC;IACrB,QAAQ,GAAoB,IAAI,CAAC;IACjC,YAAY,GAAoB,IAAI,CAAC;IACrC,aAAa,GAA2B,IAAI,CAAC;IAE7C,cAAc,GAA2B,IAAI,CAAC;IAC9C,QAAQ,GAAG,KAAK,CAAC;IACjB,UAAU,GAAY,EAAE,CAAC;IACzB,iBAAiB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC3C,8BAA8B,GAAG,KAAK,CAAC;IACvC,WAAW,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACrD,CAAC;IACM,aAAa;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IACM,aAAa,CAAC,UAAmB;QACvC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;QACF,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,IACC,KAAK,CAAC,OAAO;gBACb,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,8BAA8B,CAAC,EAC/E,CAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACF,CAAC;QACD,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;QAE5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC;IACrD,CAAC;IAES,qBAAqB;QAC9B,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAChF,IAAI,EAAE,QAAQ;SACG,CAAC,CAAC;QAEpB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACtD,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAC3D,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAC7D,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAClE,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAClC,SAAS,EACT,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAqC,EAAE,EAAE;YACrE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/E,OAAO;YACR,CAAC;YAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACzB,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;wBAC5D,MAAM,cAAc,GAAG,aAAa,CAAC,IAA0B,CAAC,CAAC;wBAEjE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,CAAC;4BACnD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;4BACnC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;gCAC1D,QAAQ,CAAC,cAAc,CAAC,CAAC;4BAC1B,CAAC;wBACF,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,iEAAiE;wBACjE,8FAA8F;wBAC9F,MAAM,cAAc,GAAG,aAAa,CAAC,IAA0B,CAAC,CAAC;wBAEjE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC;4BAC/C,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;4BAC/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gCACtD,QAAQ,CAAC,cAAc,CAAC,CAAC;4BAC1B,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACrB,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAA+B,CAAC,CAAC;wBAE3E,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;4BACpD,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;4BACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;gCAC3D,QAAQ,CAAC,cAAc,CAAC,CAAC;4BAC1B,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;QACF,CAAC,CACD,CAAC;IACH,CAAC;IAES,YAAY,CAAC,IAAsB;QAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACnD,OAAO;QACR,CAAC;QAED,IAAI,SAAS,GAEN,EAAE,CAAC;QACV,MAAM,gBAAgB,GAA6B,EAAE,CAAC;QACtD,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACpC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,KAAK,EAAE,CAAC;oBACX,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7C,CAAC;gBAED,SAAS;YACV,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,uBAAuB,GAC5B,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;oBAC/B,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;wBAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC1D,CAAC,IAAI,CAAC,aAAa,CAAC;gBAErB,IAAI,uBAAuB,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzD,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;4BAClE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;wBACvD,CAAC;wBAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACP,oFAAoF;wBACpF,IACC,IAAI,KAAK,IAAI;4BACb,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EACpE,CAAC;4BACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAEvC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;gCAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;4BACpD,CAAC;4BACD,oFAAoF;wBACrF,CAAC;6BAAM,IACN,IAAI,KAAK,QAAQ;4BACjB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EACxE,CAAC;4BACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAEvC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;gCAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;4BACpD,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,SAAS,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,OAAO,CAAC,KAAK;gBACnB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;gBACnD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI;aACzC,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,sEAAsE;YACtE,MAAM,mBAAmB,GAAG,SAAS,CAAC,IAAI,CACzC,CAAC,KAAK,EAAE,EAAE,CACT,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC3B,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,CAAC,CACvE,CAAC;YACF,IACC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC/B,CAAC,IAAI,CAAC,aAAa;gBACnB,mBAAmB;gBACnB,IAAI,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC,EACxC,CAAC;gBACF,MAAM,CAAC,IAAI,CACV,uCAAuC,mBAAmB,CAAC,IAAI,oBAAoB,CACnF,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAClD,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;YACpC,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,GAAG,EAKhB,CAAC;YAEJ,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC3B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;oBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO;oBACP,KAAK,EAAE,IAAI;iBACX,CAAC,CAAC;YACJ,CAAC;YAED,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAC9C,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;YACzD,KAAK;YACL;gBACC,MAAM;gBACN,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aACvE;SACD,CAAC,CACF,CAAC;QAEF,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtD,GAAG,KAAK;YACR,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,MAAM,IAAI,WAAW;YAC3E,gBAAgB,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;SACtE,CAAC,CAAC,CAAC;QAEJ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,MAAM,CAClD,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACf,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBAClF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACf,CAAC;gBACF,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,CAAC,EACD,CAAC,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CACtB,CAAC;YAEF,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;gBACpC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;YAED,mDAAmD;YACnD,2EAA2E;YAC3E,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;YAC5B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBACpD,QAAQ,CAAC,aAAa,CAAC,CAAC;YACzB,CAAC;QACF,CAAC;IACF,CAAC;IAES,YAAY;QACrB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC,EAAE,MAAM,CAAC,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAyB;QAC/E,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,cAAc,CAAC,CAAC;YAChF,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;QACrC,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,aAAa,CAAC,CAAC;YAC3E,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,KAAK,CAAC;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,eAAe,CAAC,EACf,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,KAAK,EACL,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,qBAAqB,GAWrB;QACA,mCAAmC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAoB,CAAC;YAC1C,IAAI,EAAE,IAAa;YACnB,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI;gBACnB,CAAC,CAAE,EAAE,aAAa,EAEN;gBACZ,CAAC,CAAE;oBACD,MAAM,EAAE;wBACP,QAAQ;wBACR,qBAAqB,EAAE,EAAE,EAAE,QAAQ;wBACnC,WAAW,EAAE,KAAK;wBAClB,0BAA0B,EAAE,CAAC;wBAC7B,oBAAoB,EAAE,IAAI;wBAC1B,eAAe;qBACf;oBACD,qBAAqB;iBAGX,CAAU;YACvB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;oBACnD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;YACD,SAAS;SACT,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACxB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;gBAClD,QAAQ,EAAE,CAAC;YACZ,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACxB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;gBACvD,QAAQ,EAAE,CAAC;YACZ,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;gBACxD,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACxB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;gBAClC,gBAAgB,CAAC,UAAU;gBAC3B,gBAAgB,CAAC,cAAc;gBAC/B,gBAAgB,CAAC,kBAAkB;gBACnC,gBAAgB,CAAC,aAAa;gBAC9B,gBAAgB,CAAC,WAAW;aAC5B,CAAC,CAAC;YAEH,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAqB,CAAC,CAAC;gBAEhD,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,YAAY,CAAC,OAAqB,CAAC,CAAC;gBAC1C,CAAC;YACF,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAAmB;QAChC,OAAO,OAAO,KAAK,gBAAgB;YAClC,OAAO,KAAK,oBAAoB;YAChC,OAAO,KAAK,eAAe;YAC3B,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,MAAM,CAAC;IACX,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,OAAmB;IACnB,uGAAuG;IACvG,IAA4C;QAE5C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,yDAAyD,OAAO,GAAG,CAAC,CAAC;YACjF,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;gBAC3C,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO;gBAC1C,OAAO,EAAE,MAAM;gBACf,4DAA4D;gBAC5D,IAAI,EAAE,IAA2B;aACjC,CAAC,CAAC;YAEH,IAAI,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,aAAa,CAAC,WAAW,CAC7B;oBACC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;oBACjC,IAAI,EAAE,OAAO;oBACb,IAAI;iBACkB,EACvB,CAAC,IAAI,CAAC,MAAM,CAAC,CACb,CAAC;YACH,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,IAAI,CACV,yCAAyC,OAAO,kCAAkC,CAClF,CAAC;QACH,CAAC;IACF,CAAC;IAED,cAAc,CAAC,OAAmB;QACjC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,oBAAoB,CACzB,OAAmB;IACnB,uGAAuG;IACvG,IAA4C;QAE5C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,iEAAiE,OAAO,GAAG,CAAC,CAAC;YACzF,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CACV,iDAAiD,OAAO,kCAAkC,CAC1F,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;YAC3C,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO;YAC1C,OAAO,EAAE,MAAM;YACf,4DAA4D;YAC5D,IAAI,EAAE,IAA2B;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChD,MAAM,OAAO,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gBAClE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAC9D,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAChE,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBAChB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACF,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,GAAG,EAAE;gBAC3B,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,KAAK,CAAC,kDAAkD,OAAO,GAAG,CAAC,CAAC,CAAC;YACjF,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAqC,EAAE,EAAE;gBACpF,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACnC,OAAO,EAAE,CAAC;oBAEV,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;wBACxB,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,UAAU,EAAE,YAAY,CAAC,CAAC;wBAC5E,OAAO,CAAC,IAAI,CAAC,CAAC;wBACd,OAAO;oBACR,CAAC;oBAED,OAAO,CAAC,YAAY,CAAC,IAAS,CAAC,CAAC;gBACjC,CAAC;YACF,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAE,EAAE;gBAC1C,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5D,MAAM,CAAC,KAAK,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBACjC,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CAAC,oDAAoD,OAAO,GAAG,CAAC,CAAC;gBAC5E,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,EAAE,MAAM,CAAC,CAAC;YAEX,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC/D,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC3D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEjD,IAAI,CAAC,aAAa,CAAC,WAAW,CAC7B;gBACC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;gBACjC,IAAI,EAAE,OAAO;gBACb,IAAI;aACkB,EACvB,CAAC,IAAI,CAAC,MAAM,CAAC,CACb,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,OAAmB,EACnB,IAA+C,EAC/C,UAAuC,EACvC,OAAgD,EAChD,eAAe,GAAG,MAAM;QAExB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,0DAA0D,OAAO,GAAG,CAAC,CAAC;YAClF,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;YAC3C,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO;YAC1C,OAAO,EAAE,eAAe;YACxB,4DAA4D;YAC5D,IAAI,EAAE,IAA2B;SACjC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAgB,oBAAoB,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QAEvE,IAAI,cAAc,EAAE,KAAK,EAAE,CAAC;YAC3B,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,cAAc,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,gCAAgC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;YACzE,CAAC;QACF,CAAC;QAED,UAAU,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,OAAmB,EACnB,IAA+C,EAC/C,UAAuD,EACvD,eAAe,GAAG,MAAM;QAExB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,0DAA0D,OAAO,GAAG,CAAC,CAAC;YAClF,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;YAC3C,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO;YAC1C,OAAO,EAAE,eAAe;YACxB,4DAA4D;YAC5D,IAAI,EAAE,IAA2B;SACjC,CAAC,CAAC;QAEH,UAAU,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,iBAAiB,CAAC,QAAsB;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACN,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjD,KAAK,EAAE,CAAC;QACT,CAAC;QACD,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACnD,QAAQ,EAAE,CAAC;QACZ,CAAC;IACF,CAAC;IAED,cAAc,CAAC,GAAW;QACzB,KAAK,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;YAC7B,IAAI,EAAE,gBAAgB,CAAC,UAAU;YACjC,IAAI,EAAE,EAAE,GAAG,EAAE;YACb,cAAc,EAAE,IAAI;SACpB,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAa;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;QACF,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,YAAuB;QACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,aAAa,CAAC;QAClD,IAAI,CAAC,2BAA2B,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEnE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,YAAY;YAChC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/E,CAAC,CAAC,EAAE,CAAC;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,aAAwB;QACrC,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAClD,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACnE,IAAI,CAAC,2BAA2B,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;QAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,EAAE,CAAwC,KAAQ,EAAE,QAAkC;QACrF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAI,OAAe,EAAE,QAAsD;QACtF,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;IAC3C,CAAC;CACD"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/dai-connection/connection.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,31 @@
1
1
  import type { RawPipelinePayload, RawPipelineStatePayload } from '@luxonis/depthai-pipeline-lib';
2
+ /**
3
+ * Decodes a backend service response from UTF-8 JSON.
4
+ *
5
+ * @param response - Raw binary response returned by the visualizer connection.
6
+ * @returns Parsed JSON payload, or `null` when the response is empty or invalid.
7
+ */
2
8
  export declare function decodeServiceMessage(response: DataView | null): any;
9
+ /**
10
+ * Message sent to the decoder worker for service response parsing.
11
+ */
3
12
  export type DecoderWorkerInput = {
13
+ /**
14
+ * Response payload kind.
15
+ */
4
16
  kind: 'pipeline' | 'json';
17
+ /**
18
+ * Optional service or topic name associated with the response.
19
+ */
5
20
  name?: string;
21
+ /**
22
+ * Raw response bytes.
23
+ */
6
24
  data: DataView;
7
25
  };
26
+ /**
27
+ * Message emitted by the decoder worker after parsing a service response.
28
+ */
8
29
  export type DecoderWorkerOutput = {
9
30
  name?: string;
10
31
  } & ({
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.worker.d.ts","sourceRoot":"","sources":["../../src/dai-connection/decoder.worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAKjG,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,OA6B7D;AAED,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CACnD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;CACxB,GACD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,uBAAuB,CAAC;CAC7B,GACD;IACA,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B,CACH,CAAC"}
1
+ {"version":3,"file":"decoder.worker.d.ts","sourceRoot":"","sources":["../../src/dai-connection/decoder.worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAKjG;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,OA6B7D;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAChC;;OAEG;IACH,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CACnD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;CACxB,GACD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,uBAAuB,CAAC;CAC7B,GACD;IACA,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B,CACH,CAAC"}
@@ -1,5 +1,11 @@
1
1
  import { Logger } from '../utils/logger.js';
2
2
  const logger = Logger.getLogger();
3
+ /**
4
+ * Decodes a backend service response from UTF-8 JSON.
5
+ *
6
+ * @param response - Raw binary response returned by the visualizer connection.
7
+ * @returns Parsed JSON payload, or `null` when the response is empty or invalid.
8
+ */
3
9
  export function decodeServiceMessage(response) {
4
10
  if (!response) {
5
11
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.worker.js","sourceRoot":"","sources":["../../src/dai-connection/decoder.worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC,MAAM,UAAU,oBAAoB,CAAC,QAAyB;IAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,aAAa,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC;YACJ,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,iEAAiE;QACjE,8FAA8F;QAC9F,EAAE;QACF,4BAA4B;QAC5B,kCAAkC;QAClC,GAAG;QAEH,OAAO,aAAa,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAuBD,IAAI,CAAC,gBAAgB,CACpB,SAAS,EACT,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAoC,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAyB,CAAC,CAAC;AACxE,CAAC,CACD,CAAC"}
1
+ {"version":3,"file":"decoder.worker.js","sourceRoot":"","sources":["../../src/dai-connection/decoder.worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAyB;IAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,aAAa,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC;YACJ,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,iEAAiE;QACjE,8FAA8F;QAC9F,EAAE;QACF,4BAA4B;QAC5B,kCAAkC;QAClC,GAAG;QAEH,OAAO,aAAa,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAsCD,IAAI,CAAC,gBAAgB,CACpB,SAAS,EACT,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAoC,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAyB,CAAC,CAAC;AACxE,CAAC,CACD,CAAC"}