@luxonis/visualizer-protobuf 2.34.0 → 2.36.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 (49) hide show
  1. package/dist/{FoxgloveServer-BssAO1ix.js → FoxgloveServer-C39Uooyk.js} +4 -15
  2. package/dist/{communicator-D49kmBTQ.js → communicator-1cvNRjMr.js} +1 -1
  3. package/dist/{deserialization.worker-DsCOJqEa.js → deserialization.worker-DNEeTWZI.js} +98 -3
  4. package/dist/{foxglove-protocol-BQ1FsNfG.js → foxglove-protocol-CYoMweAY.js} +1 -1
  5. package/dist/{index-Di8JNkBH.js → index-BFI0jE7B.js} +3 -4
  6. package/dist/{index-CTQA6_uM.js → index-B_MLNn71.js} +4 -5
  7. package/dist/{index-BlyAnDCs.js → index-BlH0MRDH.js} +3 -4
  8. package/dist/{index-D4MpX4Ms.js → index-BuMzm_bX.js} +3 -4
  9. package/dist/{index-BV2f5Wiz.js → index-Bvv0HvjK.js} +3 -4
  10. package/dist/{index-DFfyvIbO.js → index-CM2SdPmX.js} +3 -4
  11. package/dist/{index-CayC6Noc.js → index-CWL1MGbI.js} +3 -4
  12. package/dist/{index-DVIZBBCm.js → index-CWZkD8lT.js} +3 -4
  13. package/dist/{index-DdNCwO7Q.js → index-CkZLfUOH.js} +3 -4
  14. package/dist/{index-DD-lbAT0.js → index-CnbNpBYY.js} +3 -4
  15. package/dist/{index-BOaAiO3i.js → index-CwTQiogH.js} +3 -4
  16. package/dist/{index-CZuP_zm9.js → index-D2oWjA51.js} +3 -4
  17. package/dist/{index-CmqI1XYl.js → index-DMheIO2h.js} +3 -4
  18. package/dist/{index-Bl542JWK.js → index-DW-jX1Pj.js} +3 -4
  19. package/dist/{index-eWVL02_M.js → index-DebFrzdK.js} +3 -4
  20. package/dist/{index-DaG9nPZd.js → index-Dmtoo58v.js} +3 -4
  21. package/dist/{index-BkIiRxPg.js → index-YJjThsR7.js} +4 -5
  22. package/dist/{index-BoyVvb29.js → index-ucqGPDVI.js} +3 -4
  23. package/dist/{index-BypUPQGn.js → index-zCN1izA0.js} +4191 -652
  24. package/dist/index.js +3 -4
  25. package/dist/lib/src/components/PanelToolbar.d.ts.map +1 -1
  26. package/dist/lib/src/components/PanelToolbar.js +6 -3
  27. package/dist/lib/src/components/PanelToolbar.js.map +1 -1
  28. package/dist/lib/src/messaging/deserialization/video/h265.d.ts +17 -0
  29. package/dist/lib/src/messaging/deserialization/video/h265.d.ts.map +1 -0
  30. package/dist/lib/src/messaging/deserialization/video/h265.js +79 -0
  31. package/dist/lib/src/messaging/deserialization/video/h265.js.map +1 -0
  32. package/dist/lib/src/messaging/deserialization.worker.d.ts.map +1 -1
  33. package/dist/lib/src/messaging/deserialization.worker.js +5 -1
  34. package/dist/lib/src/messaging/deserialization.worker.js.map +1 -1
  35. package/dist/lib/src/protobuf.generated/EncodedFrame.js +1 -1
  36. package/dist/lib/src/protobuf.generated/Event.js +1 -1
  37. package/dist/lib/src/protobuf.generated/IMUData.js +1 -1
  38. package/dist/lib/src/protobuf.generated/ImageAnnotations.js +1 -1
  39. package/dist/lib/src/protobuf.generated/ImgDetections.js +1 -1
  40. package/dist/lib/src/protobuf.generated/ImgFrame.js +1 -1
  41. package/dist/lib/src/protobuf.generated/PointCloudData.js +1 -1
  42. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js +1 -1
  43. package/dist/lib/src/protobuf.generated/common.js +1 -1
  44. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.js +1 -1
  45. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.js.map +1 -1
  46. package/dist/{protobuf-Cr0sn6Ua.js → protobuf-By8duXQO.js} +7 -7
  47. package/dist/{worker-DMpdSxSr.js → worker-B7qK-cxf.js} +3 -3
  48. package/dist/{worker-C_ZGBh4B.js → worker-CzUjMpCN.js} +4 -4
  49. package/package.json +3 -3
@@ -435,14 +435,6 @@ function parseServerMessage(buffer) {
435
435
  }
436
436
 
437
437
  const textEncoder = new TextEncoder();
438
- /**
439
- * A client to interact with the Foxglove WebSocket protocol:
440
- * https://github.com/foxglove/ws-protocol/blob/main/docs/spec.md.
441
- *
442
- * You must provide the underlying websocket client (an implementation of `IWebSocket`) and that
443
- * client must advertise a subprotocol which is compatible with the ws-protocol spec (e.g.
444
- * "foxglove.websocket.v1").
445
- */
446
438
  class FoxgloveClient {
447
439
  static SUPPORTED_SUBPROTOCOL = "foxglove.websocket.v1";
448
440
  #emitter = new EventEmitter();
@@ -462,9 +454,12 @@ class FoxgloveClient {
462
454
  #reconnect() {
463
455
  this.#ws.binaryType = "arraybuffer";
464
456
  this.#ws.onerror = (event) => {
465
- this.#emitter.emit("error", event.error ?? new Error("WebSocket error"));
457
+ this.#emitter.emit("error", event.error);
466
458
  };
467
459
  this.#ws.onopen = (_event) => {
460
+ if (this.#ws.protocol !== FoxgloveClient.SUPPORTED_SUBPROTOCOL) {
461
+ throw new Error(`Expected subprotocol ${FoxgloveClient.SUPPORTED_SUBPROTOCOL}, got '${this.#ws.protocol}'`);
462
+ }
468
463
  this.#emitter.emit("open");
469
464
  };
470
465
  this.#ws.onmessage = (event) => {
@@ -488,9 +483,6 @@ class FoxgloveClient {
488
483
  case "status":
489
484
  this.#emitter.emit("status", message);
490
485
  return;
491
- case "removeStatus":
492
- this.#emitter.emit("removeStatus", message);
493
- return;
494
486
  case "advertise":
495
487
  this.#emitter.emit("advertise", message.channels);
496
488
  return;
@@ -509,9 +501,6 @@ class FoxgloveClient {
509
501
  case "connectionGraphUpdate":
510
502
  this.#emitter.emit("connectionGraphUpdate", message);
511
503
  return;
512
- case "serviceCallFailure":
513
- this.#emitter.emit("serviceCallFailure", message);
514
- return;
515
504
  case BinaryOpcode.MESSAGE_DATA:
516
505
  this.#emitter.emit("message", message);
517
506
  return;
@@ -1,4 +1,4 @@
1
- import { p as protobufsBySchema } from './protobuf-Cr0sn6Ua.js';
1
+ import { p as protobufsBySchema } from './protobuf-By8duXQO.js';
2
2
 
3
3
  // This Source Code Form is subject to the terms of the Mozilla Public
4
4
  // License, v2.0. If a copy of the MPL was not distributed with this
@@ -1,7 +1,7 @@
1
1
  import { e as expose } from './comlink-DHMAu6X7.js';
2
2
  import { t as typescript } from './useMessageReducer-jNx5e6JW.js';
3
3
  import { e as estimateObjectSize, d as dist } from './tslib.es6-C73eoP_E.js';
4
- import { T as Type, P as PointsAnnotationType, p as protobufsBySchema, a as Profile } from './protobuf-Cr0sn6Ua.js';
4
+ import { T as Type, P as PointsAnnotationType, p as protobufsBySchema, a as Profile } from './protobuf-By8duXQO.js';
5
5
  import 'react';
6
6
  import './_commonjsHelpers-E-ZsRS8r.js';
7
7
  import 'zustand';
@@ -841,7 +841,7 @@ function ensureWebCodecsSupported(target) {
841
841
  // License, v2.0. If a copy of the MPL was not distributed with this
842
842
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
843
843
 
844
- function createVideoDecoder({
844
+ function createVideoDecoder$1({
845
845
  topic,
846
846
  callback,
847
847
  topicDecoders
@@ -887,7 +887,7 @@ async function deserializeEncodedFrameH264({
887
887
  return;
888
888
  }
889
889
  if (!topicDecoders.has(topic)) {
890
- const decoder = createVideoDecoder({
890
+ const decoder = createVideoDecoder$1({
891
891
  topic,
892
892
  callback,
893
893
  topicDecoders
@@ -928,6 +928,94 @@ async function deserializeEncodedFrameH264({
928
928
  // License, v2.0. If a copy of the MPL was not distributed with this
929
929
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
930
930
 
931
+ function createVideoDecoder({
932
+ topic,
933
+ callback,
934
+ topicDecoders
935
+ }) {
936
+ return new VideoDecoder({
937
+ output: async frame => {
938
+ const buffer = new Uint8Array(frame.allocationSize());
939
+ await frame.copyTo(buffer);
940
+ const receiveTime = topicDecoders.get(topic)?.timing.get(frame.timestamp) ?? dist.fromMicros(frame.timestamp);
941
+ const [encoding, step] = parsePixelFormat(frame.format);
942
+ const foxgloveMessage = {
943
+ timestamp: receiveTime,
944
+ frame_id: `h265-${topic}-frame`,
945
+ width: frame.displayWidth,
946
+ height: frame.displayHeight,
947
+ data: buffer,
948
+ encoding,
949
+ step: frame.displayWidth * step
950
+ };
951
+ callback({
952
+ topic,
953
+ receiveTime,
954
+ message: foxgloveMessage,
955
+ sizeInBytes: estimateObjectSize(foxgloveMessage),
956
+ schemaName: "foxglove.RawImage"
957
+ });
958
+ frame.close();
959
+ },
960
+ error: console.error
961
+ });
962
+ }
963
+ async function deserializeEncodedFrameH265({
964
+ topic,
965
+ message,
966
+ topicDecoders,
967
+ callback
968
+ }) {
969
+ const {
970
+ receiveTime
971
+ } = parseMessage(message);
972
+ const supported = ensureWebCodecsSupported("VideoDecoder");
973
+ if (!supported) {
974
+ return;
975
+ }
976
+ if (!topicDecoders.has(topic)) {
977
+ const decoder = createVideoDecoder({
978
+ topic,
979
+ callback,
980
+ topicDecoders
981
+ });
982
+ console.log("creating decoder", "hev1.1.6.L93.B0");
983
+ decoder.configure({
984
+ codec: "hev1.1.6.L93.B0",
985
+ optimizeForLatency: true
986
+ });
987
+ topicDecoders.set(topic, {
988
+ decoder,
989
+ timing: new Map()
990
+ });
991
+ }
992
+ const decoderInfo = topicDecoders.get(topic);
993
+ if (!decoderInfo) {
994
+ return;
995
+ }
996
+ if (decoderInfo.decoder.decodeQueueSize > 60) {
997
+ decoderInfo.decoder.reset();
998
+ return;
999
+ }
1000
+ const microTimestamp = receiveTime.sec * 1_000_000 + Math.floor(receiveTime.nsec / 1_000);
1001
+ decoderInfo.timing.set(microTimestamp, receiveTime);
1002
+ const frame = {
1003
+ type: 'key',
1004
+ data: message.data,
1005
+ timestamp: microTimestamp
1006
+ };
1007
+ try {
1008
+ const chunk = new EncodedVideoChunk(frame);
1009
+ decoderInfo.decoder.decode(chunk);
1010
+ } catch {
1011
+ topicDecoders.delete(topic);
1012
+ }
1013
+ }
1014
+
1015
+ // This Source Code Form is subject to the terms of the Mozilla Public
1016
+ // License, v2.0. If a copy of the MPL was not distributed with this
1017
+ // file, You can obtain one at http://mozilla.org/MPL/2.0/
1018
+
931
1019
  async function deserializeMJPEGFrame({
932
1020
  topic,
933
1021
  message,
@@ -1028,6 +1116,13 @@ async function deserializeDepthAiMessage(args) {
1028
1116
  message,
1029
1117
  callback
1030
1118
  });
1119
+ } else if (message.profile === Profile.HEVC) {
1120
+ await deserializeEncodedFrameH265({
1121
+ topic,
1122
+ message,
1123
+ topicDecoders,
1124
+ callback
1125
+ });
1031
1126
  } else ;
1032
1127
  break;
1033
1128
  }
@@ -1,4 +1,4 @@
1
- import { C as ClientBinaryOpcode, B as BinaryOpcode } from './FoxgloveServer-BssAO1ix.js';
1
+ import { C as ClientBinaryOpcode, B as BinaryOpcode } from './FoxgloveServer-C39Uooyk.js';
2
2
 
3
3
  // This Source Code Form is subject to the terms of the Mozilla Public
4
4
  // License, v2.0. If a copy of the MPL was not distributed with this
@@ -1,4 +1,4 @@
1
- import { O as styleTags, Q as tags, ae as javascriptLanguage, T as LRLanguage, U as LanguageSupport, X as LRParser, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-BypUPQGn.js';
1
+ import { O as styleTags, Q as tags, ae as javascriptLanguage, T as LRLanguage, U as LanguageSupport, X as LRParser, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { ImagePanel } from './index-BkIiRxPg.js';
1
+ import { ImagePanel } from './index-YJjThsR7.js';
2
2
  import 'react';
3
3
  import 'react-dom';
4
4
  import './tslib.es6-C73eoP_E.js';
@@ -7,12 +7,12 @@ import './_commonjsHelpers-E-ZsRS8r.js';
7
7
  import '@mui/material';
8
8
  import './isArrayLikeObject-Bytw9p-q.js';
9
9
  import 'zustand';
10
- import './index-BypUPQGn.js';
10
+ import './index-zCN1izA0.js';
11
11
  import './comlink-DHMAu6X7.js';
12
12
  import './utils-Hzt3wxhG.js';
13
- import './FoxgloveServer-BssAO1ix.js';
13
+ import './FoxgloveServer-C39Uooyk.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-BQ1FsNfG.js';
15
+ import './foxglove-protocol-CYoMweAY.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-IYI3-Nuv.js';
@@ -21,7 +21,6 @@ import 'object-assign';
21
21
  import 'react/jsx-runtime';
22
22
  import 'react-syntax-highlighter/dist/esm/styles/prism';
23
23
  import 'react-syntax-highlighter';
24
- import 'rehype-sanitize';
25
24
  import 'extend';
26
25
  import 'react-icons';
27
26
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, N as foldNodeProp, ad as bracketMatchingHandle, U as LanguageSupport, a9 as EditorView, $ as syntaxTree, aa as EditorSelection } from './index-BypUPQGn.js';
1
+ import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, N as foldNodeProp, ad as bracketMatchingHandle, U as LanguageSupport, a9 as EditorView, $ as syntaxTree, aa as EditorSelection } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, X as LRParser, a4 as LocalTokenGroup, ab as html, ac as parseMixed, ae as javascriptLanguage } from './index-BypUPQGn.js';
1
+ import { O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, X as LRParser, a4 as LocalTokenGroup, ab as html, ac as parseMixed, ae as javascriptLanguage } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-BypUPQGn.js';
1
+ import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, ab as html, U as LanguageSupport, ac as parseMixed } from './index-BypUPQGn.js';
1
+ import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, ab as html, U as LanguageSupport, ac as parseMixed } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-BypUPQGn.js';
1
+ import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, ac as parseMixed } from './index-BypUPQGn.js';
1
+ import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, ac as parseMixed } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { K as indentNodeProp, M as continuedIndent, N as foldNodeProp, O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, V as ExternalTokenizer, X as LRParser, Y as ifNotIn, Z as completeFromList, $ as syntaxTree } from './index-BypUPQGn.js';
1
+ import { K as indentNodeProp, M as continuedIndent, N as foldNodeProp, O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, V as ExternalTokenizer, X as LRParser, Y as ifNotIn, Z as completeFromList, $ as syntaxTree } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-BypUPQGn.js';
1
+ import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-BypUPQGn.js';
1
+ import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, a4 as LocalTokenGroup, a5 as snippetCompletion, $ as syntaxTree, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, Y as ifNotIn, Z as completeFromList, a6 as IterMode, a7 as NodeWeakMap } from './index-BypUPQGn.js';
1
+ import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, a4 as LocalTokenGroup, a5 as snippetCompletion, $ as syntaxTree, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, Y as ifNotIn, Z as completeFromList, a6 as IterMode, a7 as NodeWeakMap } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, O as styleTags, Q as tags, U as LanguageSupport, X as LRParser } from './index-BypUPQGn.js';
1
+ import { T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, O as styleTags, Q as tags, U as LanguageSupport, X as LRParser } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { O as styleTags, Q as tags, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, a8 as defineCSSCompletionSource, U as LanguageSupport, X as LRParser, V as ExternalTokenizer } from './index-BypUPQGn.js';
1
+ import { O as styleTags, Q as tags, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, a8 as defineCSSCompletionSource, U as LanguageSupport, X as LRParser, V as ExternalTokenizer } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, $ as syntaxTree, Y as ifNotIn, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, a6 as IterMode, Z as completeFromList, a7 as NodeWeakMap, a5 as snippetCompletion } from './index-BypUPQGn.js';
1
+ import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, $ as syntaxTree, Y as ifNotIn, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, a6 as IterMode, Z as completeFromList, a7 as NodeWeakMap, a5 as snippetCompletion } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, N as foldNodeProp, a2 as foldInside, K as indentNodeProp, M as continuedIndent, a8 as defineCSSCompletionSource, U as LanguageSupport } from './index-BypUPQGn.js';
1
+ import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, N as foldNodeProp, a2 as foldInside, K as indentNodeProp, M as continuedIndent, a8 as defineCSSCompletionSource, U as LanguageSupport } from './index-zCN1izA0.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -7,9 +7,9 @@ import '@mui/material';
7
7
  import './isArrayLikeObject-Bytw9p-q.js';
8
8
  import './comlink-DHMAu6X7.js';
9
9
  import './utils-Hzt3wxhG.js';
10
- import './FoxgloveServer-BssAO1ix.js';
10
+ import './FoxgloveServer-C39Uooyk.js';
11
11
  import 'ms';
12
- import './foxglove-protocol-BQ1FsNfG.js';
12
+ import './foxglove-protocol-CYoMweAY.js';
13
13
  import 'react-dnd';
14
14
  import 'react-dnd-html5-backend';
15
15
  import './i18next-IYI3-Nuv.js';
@@ -20,7 +20,6 @@ import 'react/jsx-runtime';
20
20
  import 'react-dom';
21
21
  import 'react-syntax-highlighter/dist/esm/styles/prism';
22
22
  import 'react-syntax-highlighter';
23
- import 'rehype-sanitize';
24
23
  import 'extend';
25
24
  import 'react-icons';
26
25
  import '@pandacss/dev';