@ohif/app 3.10.0-beta.134 → 3.10.0-beta.135

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 (32) hide show
  1. package/dist/{2308.bundle.c05269f2d5bd780839dc.js → 2308.bundle.42e6d62b9aa9cd8cc736.js} +8 -4
  2. package/dist/{4339.bundle.4d120c1667d1f0ea24b3.js → 3166.bundle.8d17af3ad80c10d7ee12.js} +38 -16
  3. package/dist/{3514.bundle.bdf25e3becc595443899.js → 3514.bundle.054a158aa0500e02b7ee.js} +28 -8
  4. package/dist/{4113.bundle.ed2262a0d2d56f6c5738.js → 4113.bundle.cad78c0651bdc6147989.js} +3 -3
  5. package/dist/{4209.bundle.3cd7da5e77b38ec7f693.js → 4209.bundle.31a85f65049cc110b2f1.js} +2 -2
  6. package/dist/{456.bundle.3ba8d465d5be33c9f415.js → 456.bundle.aebf72f30e16d783850f.js} +16 -3
  7. package/dist/{6029.bundle.6a1b9d07db12c724630a.js → 6029.bundle.3af74e0ca49d3797e2a0.js} +10 -2
  8. package/dist/{6201.bundle.f21a22c89359b3351c22.js → 6201.bundle.6fa5162c9ce11d476a5e.js} +2 -2
  9. package/dist/{7197.bundle.4976a7eaca6f26cb7253.js → 7197.bundle.b5c7703eefc699c3cb33.js} +2 -2
  10. package/dist/{810.bundle.c8077e33b50853acdf0d.js → 810.bundle.71e9635263afba036909.js} +2 -2
  11. package/dist/{9045.bundle.92b6473bce6f62f94665.js → 9045.bundle.a9f1a7d80c158e2642c9.js} +30 -14
  12. package/dist/{96.bundle.097aedfe57a4bbc0e724.js → 96.bundle.f6e06e4fb0e7efc6b76e.js} +32 -10
  13. package/dist/{app.bundle.da65ad8c2304ceda0a61.js → app.bundle.f5b9ec095fbe65096684.js} +52 -24
  14. package/dist/{compute.bundle.1afc4b9f99c6f61eedfd.js → compute.bundle.38c8dbb7c3d91df0833b.js} +1 -1
  15. package/dist/index.html +1 -1
  16. package/dist/{polySeg.bundle.8407fa6228f727a924ad.js → polySeg.bundle.5077501eb109f84d03bc.js} +1 -1
  17. package/dist/sw.js +1 -1
  18. package/package.json +19 -19
  19. /package/dist/{1459.bundle.5b964fd82d59999d634f.js → 1459.bundle.19fcf328e8ccefa1d864.js} +0 -0
  20. /package/dist/{1807.bundle.8857f8a0583b0c30d972.js → 1807.bundle.393182fa976b3ba22e91.js} +0 -0
  21. /package/dist/{1919.bundle.cf867a49e74f8ffc3531.js → 1919.bundle.6c3dce05dc3b225342e9.js} +0 -0
  22. /package/dist/{213.bundle.c45ad9cdfe6e7cafbaef.js → 213.bundle.4c3bcfbf1627f7438c63.js} +0 -0
  23. /package/dist/{2424.bundle.81f6041cbc6e156b1033.js → 2424.bundle.aa4825bdf43bf0eb662e.js} +0 -0
  24. /package/dist/{2585.bundle.fcbcd998936da5c80765.js → 2585.bundle.808568433abc1d2efaa3.js} +0 -0
  25. /package/dist/{6027.bundle.a2ab86ed71edcf1e7c76.js → 6027.bundle.d7f5be50dad569416204.js} +0 -0
  26. /package/dist/{6341.bundle.56153f7b5c8eb55d5115.js → 6341.bundle.8848859784f7b2faefdc.js} +0 -0
  27. /package/dist/{7639.bundle.671fd4d5fed681bda4e4.js → 7639.bundle.f6c8c11783e5d2a25e7e.js} +0 -0
  28. /package/dist/{85.bundle.cb2b9c56a8b33fc850a4.js → 85.bundle.e77a90875516432c5fe3.js} +0 -0
  29. /package/dist/{8558.bundle.306058e37ad36e3ee30f.js → 8558.bundle.31db7dff5c9ef87520ee.js} +0 -0
  30. /package/dist/{8815.bundle.ccd4e5662e6e98697a59.js → 8815.bundle.45759a5037d16254a16e.js} +0 -0
  31. /package/dist/{934.bundle.5234a0116cdd0ffe2109.js → 934.bundle.c8610d13f67c01e81623.js} +0 -0
  32. /package/dist/{963.bundle.005cf5ffb6050bc0a2b5.js → 963.bundle.1f4514c46b629e70be3f.js} +0 -0
@@ -1836,10 +1836,12 @@ function PanelMeasurementTableTracking(props) {
1836
1836
  trackedSeries
1837
1837
  } = trackedMeasurements.context;
1838
1838
  const measurementFilter = trackedStudy ? filterAnd(filterPlanarMeasurement, filterMeasurementsBySeriesUID(trackedSeries)) : filterPlanarMeasurement;
1839
- const EmptyComponent = () => /*#__PURE__*/react.createElement(ui_next_src/* MeasurementTable */.V, {
1839
+ const EmptyComponent = () => /*#__PURE__*/react.createElement("div", {
1840
+ "data-cy": "trackedMeasurements-panel"
1841
+ }, /*#__PURE__*/react.createElement(ui_next_src/* MeasurementTable */.V, {
1840
1842
  title: "Measurements",
1841
1843
  isExpanded: false
1842
- }, /*#__PURE__*/react.createElement(ui_next_src/* MeasurementTable */.V.Body, null));
1844
+ }, /*#__PURE__*/react.createElement(ui_next_src/* MeasurementTable */.V.Body, null)));
1843
1845
  const actions = {
1844
1846
  createSR: ({
1845
1847
  StudyInstanceUID
@@ -1858,7 +1860,9 @@ function PanelMeasurementTableTracking(props) {
1858
1860
  }, /*#__PURE__*/react.createElement("div", {
1859
1861
  "data-cy": "TrackingHeader"
1860
1862
  }, /*#__PURE__*/react.createElement(cornerstone_src.StudySummaryFromMetadata, props)));
1861
- return /*#__PURE__*/react.createElement(cornerstone_src.PanelMeasurement, {
1863
+ return /*#__PURE__*/react.createElement("div", {
1864
+ "data-cy": "trackedMeasurements-panel"
1865
+ }, /*#__PURE__*/react.createElement(cornerstone_src.PanelMeasurement, {
1862
1866
  measurementFilter: measurementFilter,
1863
1867
  emptyComponent: EmptyComponent,
1864
1868
  sourceChildren: props.children
@@ -1875,7 +1879,7 @@ function PanelMeasurementTableTracking(props) {
1875
1879
  customHeader: cornerstone_src.StudyMeasurementsActions,
1876
1880
  measurementFilter: measurementFilter,
1877
1881
  actions: actions
1878
- })));
1882
+ }))));
1879
1883
  }
1880
1884
  /* harmony default export */ const panels_PanelMeasurementTableTracking = (PanelMeasurementTableTracking);
1881
1885
  ;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/index.js
@@ -1,6 +1,6 @@
1
- (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[4339],{
1
+ (globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[3166],{
2
2
 
3
- /***/ 7527:
3
+ /***/ 59874:
4
4
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5
5
 
6
6
  "use strict";
@@ -54,7 +54,7 @@ __webpack_require__.d(RTStruct_namespaceObject, {
54
54
  var enums_namespaceObject = {};
55
55
  __webpack_require__.r(enums_namespaceObject);
56
56
  __webpack_require__.d(enums_namespaceObject, {
57
- s: () => (Events$1)
57
+ s: () => (Events)
58
58
  });
59
59
 
60
60
  // NAMESPACE OBJECT: ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/helpers/index.js
@@ -1848,7 +1848,6 @@ var Events;
1848
1848
  (function (Events) {
1849
1849
  Events["SEGMENTATION_LOAD_PROGRESS"] = "CORNERSTONE_ADAPTER_SEGMENTATION_LOAD_PROGRESS";
1850
1850
  })(Events || (Events = {}));
1851
- var Events$1 = Events;
1852
1851
 
1853
1852
 
1854
1853
 
@@ -2667,7 +2666,7 @@ function insertPixelDataPlanar(segmentsOnFrame, segmentsOnFrameArray, labelmapBu
2667
2666
  // trigger an event after each chunk
2668
2667
  if (shouldTriggerEvent) {
2669
2668
  const percentComplete = Math.round(i / groupsLen * 100);
2670
- triggerEvent(eventTarget, Events$1.SEGMENTATION_LOAD_PROGRESS, {
2669
+ triggerEvent(eventTarget, Events.SEGMENTATION_LOAD_PROGRESS, {
2671
2670
  percentComplete
2672
2671
  });
2673
2672
  }
@@ -2748,7 +2747,14 @@ function getImageIdOfSourceImageBySourceImageSequence(SourceImageSequence, sopUI
2748
2747
  ReferencedSOPInstanceUID,
2749
2748
  ReferencedFrameNumber
2750
2749
  } = SourceImageSequence;
2751
- return ReferencedFrameNumber ? Segmentation_4X_getImageIdOfReferencedFrame(ReferencedSOPInstanceUID, ReferencedFrameNumber, sopUIDImageIdIndexMap) : sopUIDImageIdIndexMap[ReferencedSOPInstanceUID];
2750
+ const imageId = sopUIDImageIdIndexMap[ReferencedSOPInstanceUID];
2751
+ if (imageId) {
2752
+ return imageId;
2753
+ }
2754
+ if (ReferencedFrameNumber) {
2755
+ return Segmentation_4X_getImageIdOfReferencedFrame(ReferencedSOPInstanceUID, ReferencedFrameNumber, sopUIDImageIdIndexMap);
2756
+ }
2757
+ return undefined;
2752
2758
  }
2753
2759
 
2754
2760
  /**
@@ -3315,6 +3321,27 @@ var CORNERSTONE_3D_TAG = "Cornerstone3DTools@^0.1.0";
3315
3321
 
3316
3322
 
3317
3323
 
3324
+ ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/helpers/copyStudyTags.js
3325
+ const patientTags = ["PatientName", "PatientID", "PatientBirthDate", "PatientBirthTime", "PatientID", "IssuerOfPatientID", "OtherPatientIDs", "OtherPatientIDsSequence", "PatientSex", "PatientIdentityRemoved", "DeidentificationMethodCodeSequence"];
3326
+ const studyTags = ["StudyDate", "StudyTime", "StudyStatusID", "StudyPriorityID", "StudyInstanceUID", "StudyDescription", "AccessionNumber", "StudyID", "ReferringPhysicianName", "BodyPartExamined", "TimezoneOffsetFromUTC"];
3327
+ const patientStudyTags = [...patientTags, ...studyTags];
3328
+ function copyStudyTags(src) {
3329
+ const study = {
3330
+ _meta: src._meta,
3331
+ _vrMap: src._vrMap
3332
+ };
3333
+ for (const tagKey of patientStudyTags) {
3334
+ const value = src[tagKey];
3335
+ if (value === undefined) {
3336
+ continue;
3337
+ }
3338
+ study[tagKey] = value;
3339
+ }
3340
+ return study;
3341
+ }
3342
+
3343
+
3344
+
3318
3345
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/adapters/Cornerstone3D/CodingScheme.js
3319
3346
  // This is a custom coding scheme defined to store some annotations from Cornerstone.
3320
3347
  // Note: CodeMeaning is VR type LO, which means we only actually support 64 characters
@@ -3340,6 +3367,7 @@ const CodingScheme = {
3340
3367
 
3341
3368
 
3342
3369
 
3370
+
3343
3371
  var _MeasurementReport;
3344
3372
  const {
3345
3373
  TID1500: MeasurementReport_TID1500,
@@ -3617,15 +3645,8 @@ _MeasurementReport.codeValueMatch = (group, code, oldCode) => {
3617
3645
  return CodingSchemeDesignator == code.CodingSchemeDesignator && CodeValue == code.CodeValue || oldCode && CodingSchemeDesignator == oldCode.CodingSchemeDesignator && CodeValue == oldCode.CodeValue;
3618
3646
  };
3619
3647
  _MeasurementReport.generateDerivationSourceDataset = instance => {
3620
- const _vrMap = {
3621
- PixelData: "OW"
3622
- };
3623
- const _meta = _MeasurementReport.generateDatasetMeta();
3624
- const derivationSourceDataset = {
3625
- ...instance,
3626
- _meta: _meta,
3627
- _vrMap: _vrMap
3628
- };
3648
+ _MeasurementReport.generateDatasetMeta();
3649
+ const derivationSourceDataset = copyStudyTags(instance);
3629
3650
  return derivationSourceDataset;
3630
3651
  };
3631
3652
 
@@ -5164,7 +5185,7 @@ async function createLabelmapsFromBufferInternal(referencedImageIds, arrayBuffer
5164
5185
  };
5165
5186
  }
5166
5187
  const throttledTriggerLoadProgressEvent = tools_dist_esm.utilities.throttle(percentComplete => {
5167
- (0,dist_esm.triggerEvent)(dist_esm.eventTarget, Events$1.SEGMENTATION_LOAD_PROGRESS, {
5188
+ (0,dist_esm.triggerEvent)(dist_esm.eventTarget, Events.SEGMENTATION_LOAD_PROGRESS, {
5168
5189
  percentComplete
5169
5190
  });
5170
5191
  }, 200);
@@ -6250,6 +6271,7 @@ function downloadDICOMData(bufferOrDataset, filename) {
6250
6271
 
6251
6272
 
6252
6273
 
6274
+
6253
6275
  ;// CONCATENATED MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js
6254
6276
 
6255
6277
 
@@ -4056,16 +4056,36 @@ function isValidVolume(imageIds) {
4056
4056
  rows,
4057
4057
  seriesInstanceUID,
4058
4058
  };
4059
- const validVolume = imageIds.every((imageId) => {
4059
+ let validVolume = true;
4060
+ for (let i = 0; i < imageIds.length; i++) {
4061
+ const imageId = imageIds[i];
4060
4062
  const { modality, seriesInstanceUID } = metaData.get('generalSeriesModule', imageId);
4061
4063
  const { imageOrientationPatient, pixelSpacing, columns, rows } = metaData.get('imagePlaneModule', imageId);
4062
- return (seriesInstanceUID === baseMetadata.seriesInstanceUID &&
4063
- modality === baseMetadata.modality &&
4064
- columns === baseMetadata.columns &&
4065
- rows === baseMetadata.rows &&
4066
- (0,isEqual/* default */.Ay)(imageOrientationPatient, baseMetadata.imageOrientationPatient) &&
4067
- (0,isEqual/* default */.Ay)(pixelSpacing, baseMetadata.pixelSpacing));
4068
- });
4064
+ if (seriesInstanceUID !== baseMetadata.seriesInstanceUID) {
4065
+ validVolume = false;
4066
+ break;
4067
+ }
4068
+ if (modality !== baseMetadata.modality) {
4069
+ validVolume = false;
4070
+ break;
4071
+ }
4072
+ if (columns !== baseMetadata.columns) {
4073
+ validVolume = false;
4074
+ break;
4075
+ }
4076
+ if (rows !== baseMetadata.rows) {
4077
+ validVolume = false;
4078
+ break;
4079
+ }
4080
+ if (!(0,isEqual/* default */.Ay)(imageOrientationPatient, baseMetadata.imageOrientationPatient)) {
4081
+ validVolume = false;
4082
+ break;
4083
+ }
4084
+ if (!(0,isEqual/* default */.Ay)(pixelSpacing, baseMetadata.pixelSpacing)) {
4085
+ validVolume = false;
4086
+ break;
4087
+ }
4088
+ }
4069
4089
  return validVolume;
4070
4090
  }
4071
4091
 
@@ -11,7 +11,7 @@
11
11
  /* harmony export */ sh: () => (/* binding */ SCOORDTypes)
12
12
  /* harmony export */ });
13
13
  /* unused harmony export RelationshipType */
14
- /* harmony import */ var _cornerstonejs_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7527);
14
+ /* harmony import */ var _cornerstonejs_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59874);
15
15
 
16
16
  const {
17
17
  CodeScheme: Cornerstone3DCodeScheme
@@ -77,8 +77,8 @@ var react = __webpack_require__(86326);
77
77
  var src = __webpack_require__(54231);
78
78
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 131 modules
79
79
  var cornerstone_src = __webpack_require__(39045);
80
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 63 modules
81
- var esm = __webpack_require__(7527);
80
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 64 modules
81
+ var esm = __webpack_require__(59874);
82
82
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
83
83
  var dist_esm = __webpack_require__(4667);
84
84
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 1 modules
@@ -9993,8 +9993,8 @@ function AboutModalDefault() {
9993
9993
  name
9994
9994
  } = (0,browser_detect_es5/* default */.A)();
9995
9995
  const browser = `${name[0].toUpperCase()}${name.substr(1)} ${version}`;
9996
- const versionNumber = "3.10.0-beta.134";
9997
- const commitHash = "782a6a0c88e9a157d26e9697f6d404bb160902b1";
9996
+ const versionNumber = "3.10.0-beta.135";
9997
+ const commitHash = "f6fa5098744ff0058b007cf97e68d95c4b0e77c8";
9998
9998
  const [main, beta] = versionNumber.split('-');
9999
9999
  return /*#__PURE__*/react.createElement(ui_next_src/* AboutModal */.VT, {
10000
10000
  className: "w-[400px]"
@@ -3415,6 +3415,10 @@ class StackViewport extends Viewport/* default */.A {
3415
3415
  return resultList;
3416
3416
  }
3417
3417
  _loadAndDisplayImageGPU(imageId, imageIdIndex) {
3418
+ if (!imageId) {
3419
+ console.warn('No image id set yet to load');
3420
+ return;
3421
+ }
3418
3422
  const eventDetail = {
3419
3423
  imageId,
3420
3424
  imageIdIndex,
@@ -3614,15 +3618,18 @@ class StackViewport extends Viewport/* default */.A {
3614
3618
  }
3615
3619
  scroll(delta, debounce = true, loop = false) {
3616
3620
  const imageIds = this.imageIds;
3621
+ if (isNaN(this.targetImageIdIndex)) {
3622
+ return;
3623
+ }
3617
3624
  const currentTargetImageIdIndex = this.targetImageIdIndex;
3618
3625
  const numberOfFrames = imageIds.length;
3619
3626
  let newTargetImageIdIndex = currentTargetImageIdIndex + delta;
3620
- newTargetImageIdIndex = Math.max(0, newTargetImageIdIndex);
3621
3627
  if (loop) {
3622
- newTargetImageIdIndex = newTargetImageIdIndex % numberOfFrames;
3628
+ newTargetImageIdIndex =
3629
+ (newTargetImageIdIndex + numberOfFrames) % numberOfFrames;
3623
3630
  }
3624
3631
  else {
3625
- newTargetImageIdIndex = Math.min(numberOfFrames - 1, newTargetImageIdIndex);
3632
+ newTargetImageIdIndex = Math.max(0, Math.min(numberOfFrames - 1, newTargetImageIdIndex));
3626
3633
  }
3627
3634
  this.targetImageIdIndex = newTargetImageIdIndex;
3628
3635
  const targetImageId = imageIds[newTargetImageIdIndex];
@@ -35820,6 +35827,9 @@ RectangleROIThresholdTool.toolName = 'RectangleROIThreshold';
35820
35827
  throw new Error('Volume is not reconstructable for sphere manipulation');
35821
35828
  }
35822
35829
  const segVolume = (0,_utilities_segmentation_getOrCreateSegmentationVolume__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(segmentationId);
35830
+ if (!segVolume) {
35831
+ return;
35832
+ }
35823
35833
  operationData.segmentationVoxelManager = segVolume.voxelManager;
35824
35834
  operationData.segmentationImageData = segVolume.imageData;
35825
35835
  return;
@@ -37748,6 +37758,9 @@ async function getStatistics({ segmentationId, segmentIndices, mode = 'collectiv
37748
37758
  async function calculateVolumeStatistics({ operationData, indices, unit, mode, }) {
37749
37759
  const strategyData = (0,_utilsForWorker__WEBPACK_IMPORTED_MODULE_1__/* .prepareVolumeStrategyDataForWorker */ .o9)(operationData);
37750
37760
  const { segmentationVoxelManager, imageVoxelManager, segmentationImageData, imageData, } = strategyData;
37761
+ if (!segmentationVoxelManager || !segmentationImageData) {
37762
+ return;
37763
+ }
37751
37764
  const spacing = segmentationImageData.getSpacing();
37752
37765
  const { boundsIJK: boundsOrig } = segmentationVoxelManager;
37753
37766
  if (!boundsOrig) {
@@ -15601,6 +15601,7 @@ class ArrowAnnotateTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .Annotation
15601
15601
  return;
15602
15602
  }
15603
15603
  annotation.data.text = text;
15604
+ (0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_10__.triggerAnnotationModified)(annotation, element, _enums__WEBPACK_IMPORTED_MODULE_0__.ChangeTypes.HandlesUpdated);
15604
15605
  (0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_10__.triggerAnnotationCompleted)(annotation);
15605
15606
  this.createMemo(element, annotation, { newAnnotation: !!this.memo });
15606
15607
  (0,_utilities__WEBPACK_IMPORTED_MODULE_13__.setAnnotationLabel)(annotation, element, text);
@@ -15649,9 +15650,10 @@ class ArrowAnnotateTool extends _base__WEBPACK_IMPORTED_MODULE_2__/* .Annotation
15649
15650
  annotation.invalidated = true;
15650
15651
  }
15651
15652
  this.editData.hasMoved = true;
15652
- const enabledElement = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.getEnabledElement)(element);
15653
- const { renderingEngine } = enabledElement;
15654
15653
  (0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(viewportIdsToRender);
15654
+ if (annotation.invalidated) {
15655
+ (0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_10__.triggerAnnotationModified)(annotation, element, _enums__WEBPACK_IMPORTED_MODULE_0__.ChangeTypes.HandlesUpdated);
15656
+ }
15655
15657
  };
15656
15658
  this.touchTapCallback = (evt) => {
15657
15659
  if (evt.detail.taps == 2) {
@@ -29110,6 +29112,9 @@ SphereScissorsTool.toolName = 'SphereScissor';
29110
29112
  throw new Error('Volume is not reconstructable for sphere manipulation');
29111
29113
  }
29112
29114
  const segVolume = (0,_utilities_segmentation_getOrCreateSegmentationVolume__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)(segmentationId);
29115
+ if (!segVolume) {
29116
+ return;
29117
+ }
29113
29118
  operationData.segmentationVoxelManager = segVolume.voxelManager;
29114
29119
  operationData.segmentationImageData = segVolume.imageData;
29115
29120
  return;
@@ -33824,6 +33829,9 @@ async function getStatistics({ segmentationId, segmentIndices, mode = 'collectiv
33824
33829
  async function calculateVolumeStatistics({ operationData, indices, unit, mode, }) {
33825
33830
  const strategyData = (0,_utilsForWorker__WEBPACK_IMPORTED_MODULE_1__/* .prepareVolumeStrategyDataForWorker */ .o9)(operationData);
33826
33831
  const { segmentationVoxelManager, imageVoxelManager, segmentationImageData, imageData, } = strategyData;
33832
+ if (!segmentationVoxelManager || !segmentationImageData) {
33833
+ return;
33834
+ }
33827
33835
  const spacing = segmentationImageData.getSpacing();
33828
33836
  const { boundsIJK: boundsOrig } = segmentationVoxelManager;
33829
33837
  if (!boundsOrig) {
@@ -26,8 +26,8 @@ var react = __webpack_require__(86326);
26
26
  var src = __webpack_require__(54231);
27
27
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 1 modules
28
28
  var esm = __webpack_require__(15327);
29
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 63 modules
30
- var dist_esm = __webpack_require__(7527);
29
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 64 modules
30
+ var dist_esm = __webpack_require__(59874);
31
31
  // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 131 modules
32
32
  var cornerstone_src = __webpack_require__(39045);
33
33
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-pmap/src/getSopClassHandlerModule.ts
@@ -28,8 +28,8 @@ var src = __webpack_require__(54231);
28
28
  var esm = __webpack_require__(15327);
29
29
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
30
30
  var dist_esm = __webpack_require__(4667);
31
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 63 modules
32
- var adapters_dist_esm = __webpack_require__(7527);
31
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 64 modules
32
+ var adapters_dist_esm = __webpack_require__(59874);
33
33
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
34
34
  var dcmjs_es = __webpack_require__(5842);
35
35
  ;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-seg/src/utils/dicomlabToRGB.ts
@@ -1497,8 +1497,8 @@ function createAndDownloadTMTVReport(segReport, additionalReportRows, options =
1497
1497
  }
1498
1498
  // EXTERNAL MODULE: ../../../node_modules/dcmjs/build/dcmjs.es.js
1499
1499
  var dcmjs_es = __webpack_require__(5842);
1500
- // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 63 modules
1501
- var adapters_dist_esm = __webpack_require__(7527);
1500
+ // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 64 modules
1501
+ var adapters_dist_esm = __webpack_require__(59874);
1502
1502
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/dicomRTAnnotationExport/RTStructureSet/dicomRTAnnotationExport.js
1503
1503
 
1504
1504
 
@@ -2610,7 +2610,9 @@ function CircleROI_getMappedAnnotations(annotation, displaySetService) {
2610
2610
  area,
2611
2611
  Modality,
2612
2612
  areaUnit,
2613
- modalityUnit
2613
+ modalityUnit,
2614
+ perimeter,
2615
+ radiusUnit
2614
2616
  } = targetStats;
2615
2617
  annotations.push({
2616
2618
  SeriesInstanceUID,
@@ -2623,7 +2625,9 @@ function CircleROI_getMappedAnnotations(annotation, displaySetService) {
2623
2625
  stdDev,
2624
2626
  max,
2625
2627
  area,
2626
- areaUnit
2628
+ areaUnit,
2629
+ perimeter,
2630
+ radiusUnit
2627
2631
  });
2628
2632
  });
2629
2633
  return annotations;
@@ -2697,18 +2701,27 @@ function CircleROI_getDisplayText(mappedAnnotations, displaySet) {
2697
2701
  const frameText = displaySet.isMultiFrame ? ` F: ${frameNumber}` : '';
2698
2702
 
2699
2703
  // Area sometimes becomes undefined if `preventHandleOutsideImage` is off.
2700
- const roundedArea = src/* utils */.Wp.roundNumber(area || 0, 2);
2701
- displayText.primary.push(`${roundedArea} ${utils_getDisplayUnit(areaUnit)}`);
2704
+ if (!isNaN(area)) {
2705
+ const roundedArea = src/* utils */.Wp.roundNumber(area || 0, 2);
2706
+ displayText.primary.push(`${roundedArea} ${utils_getDisplayUnit(areaUnit)}`);
2707
+ }
2702
2708
 
2703
2709
  // Todo: we need a better UI for displaying all these information
2704
2710
  mappedAnnotations.forEach(mappedAnnotation => {
2705
2711
  const {
2706
2712
  unit,
2713
+ perimeter,
2714
+ radiusUnit,
2707
2715
  max,
2708
2716
  SeriesNumber
2709
2717
  } = mappedAnnotation;
2710
- const maxStr = getStatisticDisplayString(max, unit, 'max');
2711
- displayText.primary.push(maxStr);
2718
+ if (!isNaN(max)) {
2719
+ const maxStr = getStatisticDisplayString(max, unit, 'max');
2720
+ displayText.primary.push(maxStr);
2721
+ } else if (perimeter && !isNaN(perimeter)) {
2722
+ const perimeterStr = getStatisticDisplayString(perimeter, radiusUnit, 'perimeter');
2723
+ displayText.primary.push(perimeterStr);
2724
+ }
2712
2725
  displayText.secondary.push(`S: ${SeriesNumber}${instanceText}${frameText}`);
2713
2726
  });
2714
2727
  return displayText;
@@ -9569,6 +9582,9 @@ function commandsModule({
9569
9582
  },
9570
9583
  scroll: options => {
9571
9584
  const enabledElement = _getActiveViewportEnabledElement();
9585
+ // Allow either or direction for consistency in scroll implementation
9586
+ options.delta ??= options.direction || 1;
9587
+ options.direction ??= options.delta;
9572
9588
  if (!enabledElement) {
9573
9589
  return;
9574
9590
  }
@@ -17178,6 +17194,9 @@ function StudySummaryWithActions(props) {
17178
17194
 
17179
17195
 
17180
17196
 
17197
+ const {
17198
+ MeasurementFilters
17199
+ } = src/* utils */.Wp;
17181
17200
 
17182
17201
  /**
17183
17202
  * Groups measurements by study in order to allow display and saving by study
@@ -17200,13 +17219,16 @@ const groupByStudy = (items, grouping, childProps) => {
17200
17219
  const studyUID = getItemStudyInstanceUID(item);
17201
17220
  if (!groups.has(studyUID)) {
17202
17221
  const items = [];
17222
+ const filter = MeasurementFilters.filterAnd(MeasurementFilters.filterMeasurementsByStudyUID(activeStudyUID), grouping.filter);
17203
17223
  const group = {
17204
17224
  ...grouping,
17205
17225
  items,
17206
17226
  displayMeasurements: items,
17207
17227
  key: studyUID,
17208
17228
  isSelected: studyUID === activeStudyUID,
17209
- StudyInstanceUID: activeStudyUID
17229
+ StudyInstanceUID: activeStudyUID,
17230
+ filter,
17231
+ measurementFilter: filter
17210
17232
  };
17211
17233
  if (group.isSelected && !firstSelected) {
17212
17234
  firstSelected = group;
@@ -17309,7 +17331,6 @@ function PanelMeasurement(props) {
17309
17331
  const {
17310
17332
  measurementFilter,
17311
17333
  emptyComponent: EmptyComponent,
17312
- key = 'PanelMeasurement',
17313
17334
  children
17314
17335
  } = props;
17315
17336
  const system = (0,src/* useSystem */.Jg)();
@@ -17318,8 +17339,6 @@ function PanelMeasurement(props) {
17318
17339
  });
17319
17340
  if (!displayMeasurements.length) {
17320
17341
  return EmptyComponent ? /*#__PURE__*/react.createElement(EmptyComponent, {
17321
- key: key,
17322
- "data-cy": key,
17323
17342
  items: displayMeasurements
17324
17343
  }) : /*#__PURE__*/react.createElement("span", {
17325
17344
  className: "text-white"
@@ -17328,15 +17347,12 @@ function PanelMeasurement(props) {
17328
17347
  if (children) {
17329
17348
  const cloned = react.Children.map(children, child => /*#__PURE__*/react.cloneElement(child, {
17330
17349
  items: displayMeasurements,
17331
- filter: measurementFilter,
17332
- 'data-cy': key
17350
+ filter: measurementFilter
17333
17351
  }));
17334
17352
  return cloned;
17335
17353
  }
17336
17354
  // Need to merge defaults on the content props to ensure they get passed to children
17337
17355
  return /*#__PURE__*/react.createElement(components_StudyMeasurements, {
17338
- key: key,
17339
- "data-cy": key,
17340
17356
  items: displayMeasurements
17341
17357
  });
17342
17358
  }
@@ -4114,16 +4114,36 @@ function isValidVolume(imageIds) {
4114
4114
  rows,
4115
4115
  seriesInstanceUID,
4116
4116
  };
4117
- const validVolume = imageIds.every((imageId) => {
4117
+ let validVolume = true;
4118
+ for (let i = 0; i < imageIds.length; i++) {
4119
+ const imageId = imageIds[i];
4118
4120
  const { modality, seriesInstanceUID } = metaData.get('generalSeriesModule', imageId);
4119
4121
  const { imageOrientationPatient, pixelSpacing, columns, rows } = metaData.get('imagePlaneModule', imageId);
4120
- return (seriesInstanceUID === baseMetadata.seriesInstanceUID &&
4121
- modality === baseMetadata.modality &&
4122
- columns === baseMetadata.columns &&
4123
- rows === baseMetadata.rows &&
4124
- (0,isEqual/* default */.Ay)(imageOrientationPatient, baseMetadata.imageOrientationPatient) &&
4125
- (0,isEqual/* default */.Ay)(pixelSpacing, baseMetadata.pixelSpacing));
4126
- });
4122
+ if (seriesInstanceUID !== baseMetadata.seriesInstanceUID) {
4123
+ validVolume = false;
4124
+ break;
4125
+ }
4126
+ if (modality !== baseMetadata.modality) {
4127
+ validVolume = false;
4128
+ break;
4129
+ }
4130
+ if (columns !== baseMetadata.columns) {
4131
+ validVolume = false;
4132
+ break;
4133
+ }
4134
+ if (rows !== baseMetadata.rows) {
4135
+ validVolume = false;
4136
+ break;
4137
+ }
4138
+ if (!(0,isEqual/* default */.Ay)(imageOrientationPatient, baseMetadata.imageOrientationPatient)) {
4139
+ validVolume = false;
4140
+ break;
4141
+ }
4142
+ if (!(0,isEqual/* default */.Ay)(pixelSpacing, baseMetadata.pixelSpacing)) {
4143
+ validVolume = false;
4144
+ break;
4145
+ }
4146
+ }
4127
4147
  return validVolume;
4128
4148
  }
4129
4149
 
@@ -19829,6 +19849,7 @@ class ArrowAnnotateTool extends base/* AnnotationTool */.EC {
19829
19849
  return;
19830
19850
  }
19831
19851
  annotation.data.text = text;
19852
+ (0,helpers_state.triggerAnnotationModified)(annotation, element, enums.ChangeTypes.HandlesUpdated);
19832
19853
  (0,helpers_state.triggerAnnotationCompleted)(annotation);
19833
19854
  this.createMemo(element, annotation, { newAnnotation: !!this.memo });
19834
19855
  setAnnotationLabel(annotation, element, text);
@@ -19877,9 +19898,10 @@ class ArrowAnnotateTool extends base/* AnnotationTool */.EC {
19877
19898
  annotation.invalidated = true;
19878
19899
  }
19879
19900
  this.editData.hasMoved = true;
19880
- const enabledElement = (0,esm.getEnabledElement)(element);
19881
- const { renderingEngine } = enabledElement;
19882
19901
  (0,triggerAnnotationRenderForViewportIds/* default */.A)(viewportIdsToRender);
19902
+ if (annotation.invalidated) {
19903
+ (0,helpers_state.triggerAnnotationModified)(annotation, element, enums.ChangeTypes.HandlesUpdated);
19904
+ }
19883
19905
  };
19884
19906
  this.touchTapCallback = (evt) => {
19885
19907
  if (evt.detail.taps == 2) {
@@ -7094,6 +7094,10 @@ class StackViewport extends Viewport/* default */.A {
7094
7094
  return resultList;
7095
7095
  }
7096
7096
  _loadAndDisplayImageGPU(imageId, imageIdIndex) {
7097
+ if (!imageId) {
7098
+ console.warn('No image id set yet to load');
7099
+ return;
7100
+ }
7097
7101
  const eventDetail = {
7098
7102
  imageId,
7099
7103
  imageIdIndex,
@@ -7293,15 +7297,18 @@ class StackViewport extends Viewport/* default */.A {
7293
7297
  }
7294
7298
  scroll(delta, debounce = true, loop = false) {
7295
7299
  const imageIds = this.imageIds;
7300
+ if (isNaN(this.targetImageIdIndex)) {
7301
+ return;
7302
+ }
7296
7303
  const currentTargetImageIdIndex = this.targetImageIdIndex;
7297
7304
  const numberOfFrames = imageIds.length;
7298
7305
  let newTargetImageIdIndex = currentTargetImageIdIndex + delta;
7299
- newTargetImageIdIndex = Math.max(0, newTargetImageIdIndex);
7300
7306
  if (loop) {
7301
- newTargetImageIdIndex = newTargetImageIdIndex % numberOfFrames;
7307
+ newTargetImageIdIndex =
7308
+ (newTargetImageIdIndex + numberOfFrames) % numberOfFrames;
7302
7309
  }
7303
7310
  else {
7304
- newTargetImageIdIndex = Math.min(numberOfFrames - 1, newTargetImageIdIndex);
7311
+ newTargetImageIdIndex = Math.max(0, Math.min(numberOfFrames - 1, newTargetImageIdIndex));
7305
7312
  }
7306
7313
  this.targetImageIdIndex = newTargetImageIdIndex;
7307
7314
  const targetImageId = imageIds[newTargetImageIdIndex];
@@ -38568,16 +38575,36 @@ function isValidVolume(imageIds) {
38568
38575
  rows,
38569
38576
  seriesInstanceUID,
38570
38577
  };
38571
- const validVolume = imageIds.every((imageId) => {
38578
+ let validVolume = true;
38579
+ for (let i = 0; i < imageIds.length; i++) {
38580
+ const imageId = imageIds[i];
38572
38581
  const { modality, seriesInstanceUID } = metaData.get('generalSeriesModule', imageId);
38573
38582
  const { imageOrientationPatient, pixelSpacing, columns, rows } = metaData.get('imagePlaneModule', imageId);
38574
- return (seriesInstanceUID === baseMetadata.seriesInstanceUID &&
38575
- modality === baseMetadata.modality &&
38576
- columns === baseMetadata.columns &&
38577
- rows === baseMetadata.rows &&
38578
- (0,isEqual/* default */.Ay)(imageOrientationPatient, baseMetadata.imageOrientationPatient) &&
38579
- (0,isEqual/* default */.Ay)(pixelSpacing, baseMetadata.pixelSpacing));
38580
- });
38583
+ if (seriesInstanceUID !== baseMetadata.seriesInstanceUID) {
38584
+ validVolume = false;
38585
+ break;
38586
+ }
38587
+ if (modality !== baseMetadata.modality) {
38588
+ validVolume = false;
38589
+ break;
38590
+ }
38591
+ if (columns !== baseMetadata.columns) {
38592
+ validVolume = false;
38593
+ break;
38594
+ }
38595
+ if (rows !== baseMetadata.rows) {
38596
+ validVolume = false;
38597
+ break;
38598
+ }
38599
+ if (!(0,isEqual/* default */.Ay)(imageOrientationPatient, baseMetadata.imageOrientationPatient)) {
38600
+ validVolume = false;
38601
+ break;
38602
+ }
38603
+ if (!(0,isEqual/* default */.Ay)(pixelSpacing, baseMetadata.pixelSpacing)) {
38604
+ validVolume = false;
38605
+ break;
38606
+ }
38607
+ }
38581
38608
  return validVolume;
38582
38609
  }
38583
38610
 
@@ -112069,19 +112096,19 @@ async function loadModule(module) {
112069
112096
  return imported.default;
112070
112097
  }
112071
112098
  if (module === "@ohif/extension-measurement-tracking") {
112072
- const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(4339), __webpack_require__.e(5261), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(4113), __webpack_require__.e(2308)]).then(__webpack_require__.bind(__webpack_require__, 33219));
112099
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(3166), __webpack_require__.e(5261), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(4113), __webpack_require__.e(2308)]).then(__webpack_require__.bind(__webpack_require__, 33219));
112073
112100
  return imported.default;
112074
112101
  }
112075
112102
  if (module === "@ohif/extension-cornerstone-dicom-sr") {
112076
- const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(4339), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(4113), __webpack_require__.e(8402)]).then(__webpack_require__.bind(__webpack_require__, 34113));
112103
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(3166), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(4113), __webpack_require__.e(8402)]).then(__webpack_require__.bind(__webpack_require__, 34113));
112077
112104
  return imported.default;
112078
112105
  }
112079
112106
  if (module === "@ohif/extension-cornerstone-dicom-seg") {
112080
- const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(4339), __webpack_require__.e(4209), __webpack_require__.e(7197)]).then(__webpack_require__.bind(__webpack_require__, 96975));
112107
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(3166), __webpack_require__.e(4209), __webpack_require__.e(7197)]).then(__webpack_require__.bind(__webpack_require__, 96975));
112081
112108
  return imported.default;
112082
112109
  }
112083
112110
  if (module === "@ohif/extension-cornerstone-dicom-pmap") {
112084
- const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(4339), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(6201)]).then(__webpack_require__.bind(__webpack_require__, 82098));
112111
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(3166), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(6201)]).then(__webpack_require__.bind(__webpack_require__, 82098));
112085
112112
  return imported.default;
112086
112113
  }
112087
112114
  if (module === "@ohif/extension-cornerstone-dynamic-volume") {
@@ -112101,7 +112128,7 @@ async function loadModule(module) {
112101
112128
  return imported.default;
112102
112129
  }
112103
112130
  if (module === "@ohif/extension-tmtv") {
112104
- const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(4339), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(810)]).then(__webpack_require__.bind(__webpack_require__, 57289));
112131
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(3166), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(810)]).then(__webpack_require__.bind(__webpack_require__, 57289));
112105
112132
  return imported.default;
112106
112133
  }
112107
112134
  if (module === "@ohif/extension-test") {
@@ -112113,7 +112140,7 @@ async function loadModule(module) {
112113
112140
  return imported.default;
112114
112141
  }
112115
112142
  if (module === "@ohif/mode-longitudinal") {
112116
- const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(4339), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(4113), __webpack_require__.e(963)]).then(__webpack_require__.bind(__webpack_require__, 6980));
112143
+ const imported = await Promise.all(/* import() */[__webpack_require__.e(2585), __webpack_require__.e(9473), __webpack_require__.e(9977), __webpack_require__.e(6029), __webpack_require__.e(2091), __webpack_require__.e(3166), __webpack_require__.e(4209), __webpack_require__.e(9045), __webpack_require__.e(4113), __webpack_require__.e(963)]).then(__webpack_require__.bind(__webpack_require__, 6980));
112117
112144
  return imported.default;
112118
112145
  }
112119
112146
  if (module === "@ohif/mode-segmentation") {
@@ -129992,7 +130019,7 @@ function sortInstances(instances) {
129992
130019
 
129993
130020
  const compareSeriesDateTime = (a, b) => {
129994
130021
  const seriesDateA = Date.parse(`${a.seriesDate ?? a.SeriesDate} ${a.seriesTime ?? a.SeriesTime}`);
129995
- const seriesDateB = Date.parse(`${a.seriesDate ?? a.SeriesDate} ${a.seriesTime ?? a.SeriesTime}`);
130022
+ const seriesDateB = Date.parse(`${b.seriesDate ?? b.SeriesDate} ${b.seriesTime ?? b.SeriesTime}`);
129996
130023
  return seriesDateA - seriesDateB;
129997
130024
  };
129998
130025
  const defaultSeriesSort = (a, b) => {
@@ -131195,7 +131222,7 @@ const detectionOptions = {
131195
131222
  }
131196
131223
  });
131197
131224
  ;// CONCATENATED MODULE: ../../i18n/package.json
131198
- const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.10.0-beta.133"}');
131225
+ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"rE":"3.10.0-beta.134"}');
131199
131226
  ;// CONCATENATED MODULE: ../../i18n/src/utils.js
131200
131227
  const languagesMap = {
131201
131228
  ar: 'Arabic',
@@ -140895,6 +140922,7 @@ Dialog_DialogOverlay.displayName = Overlay.displayName;
140895
140922
  const Dialog_DialogContent = /*#__PURE__*/react.forwardRef(({
140896
140923
  className,
140897
140924
  children,
140925
+ unstyled,
140898
140926
  ...props
140899
140927
  }, ref) => {
140900
140928
  const {
@@ -140913,7 +140941,7 @@ const Dialog_DialogContent = /*#__PURE__*/react.forwardRef(({
140913
140941
 
140914
140942
  // When not isDraggable, Tailwind centers the dialog.
140915
140943
  // When isDraggable, we remove the built‑in centering so our inline transform takes over.
140916
- const contentClassName = (0,utils.cn)('max-w-md w-full bg-muted data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-[50%] top-[50%] z-50 grid gap-4 p-4 shadow-lg duration-200 sm:rounded-lg', !isDraggable ? 'translate-x-[-50%] translate-y-[-50%]' : '', className);
140944
+ const contentClassName = (0,utils.cn)(unstyled ? '' : 'w-full', 'max-w-md bg-muted data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-[50%] top-[50%] z-50 grid gap-4 p-4 shadow-lg duration-200 sm:rounded-lg', !isDraggable ? 'translate-x-[-50%] translate-y-[-50%]' : '', className);
140917
140945
  const style = isDraggable ? {
140918
140946
  ...props.style,
140919
140947
  transform: initialTransform
@@ -140934,7 +140962,7 @@ const Dialog_DialogContent = /*#__PURE__*/react.forwardRef(({
140934
140962
  event.preventDefault();
140935
140963
  }
140936
140964
  }
140937
- }), children, /*#__PURE__*/react.createElement(Close, {
140965
+ }), children, !unstyled && /*#__PURE__*/react.createElement(Close, {
140938
140966
  className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none"
140939
140967
  }, /*#__PURE__*/react.createElement(react_icons_esm/* Cross2Icon */.MKb, {
140940
140968
  className: "text-primary h-4 w-4"
@@ -214164,8 +214192,7 @@ const PanelSection_PanelSection = ({
214164
214192
  };
214165
214193
  PanelSection_PanelSection.Header = ({
214166
214194
  children,
214167
- className,
214168
- showChevron = true
214195
+ className
214169
214196
  }) => /*#__PURE__*/react.createElement(Accordion_AccordionTrigger, {
214170
214197
  className: (0,utils.cn)('bg-secondary-dark hover:bg-accent text-aqua-pale', 'my-0.5 flex h-7 w-full items-center justify-between rounded py-2 pr-1 pl-2.5 text-[13px]', className)
214171
214198
  }, children);
@@ -219360,6 +219387,7 @@ const ManagedDialog = ({
219360
219387
  showOverlay: showOverlay
219361
219388
  }, /*#__PURE__*/react.createElement(Dialog_DialogContent, {
219362
219389
  className: (0,utils.cn)(unstyled ? 'p-0' : '', containerClassName),
219390
+ unstyled: unstyled,
219363
219391
  style: {
219364
219392
  ...(defaultPosition ? {
219365
219393
  position: 'fixed',
@@ -417325,7 +417353,7 @@ function __rewriteRelativeImportExtension(path, preserveJsx) {
417325
417353
  /******/ // This function allow to reference async chunks
417326
417354
  /******/ __webpack_require__.u = (chunkId) => {
417327
417355
  /******/ // return url for filenames based on template
417328
- /******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"cb2b9c56a8b33fc850a4","213":"c45ad9cdfe6e7cafbaef","572":"8407fa6228f727a924ad","732":"6978ac30a1e36abf06db","810":"c8077e33b50853acdf0d","934":"5234a0116cdd0ffe2109","963":"005cf5ffb6050bc0a2b5","1459":"5b964fd82d59999d634f","1807":"8857f8a0583b0c30d972","1919":"cf867a49e74f8ffc3531","1927":"83810560c4d3a90eb7cf","2007":"c0ccf2b965967cf021e5","2091":"43ad4622da039534bce5","2308":"c05269f2d5bd780839dc","2424":"81f6041cbc6e156b1033","2585":"fcbcd998936da5c80765","2701":"39bb582efbfff6bcdcaf","3054":"61de945a56afc3de7659","3694":"1afc4b9f99c6f61eedfd","4113":"ed2262a0d2d56f6c5738","4202":"1f9a9e2b9b51663b5f58","4209":"3cd7da5e77b38ec7f693","4339":"4d120c1667d1f0ea24b3","4526":"0a3c8c37e772693f5c3a","4759":"ef32f165d8a0703bea80","4991":"3344c0aeaed91bd1574c","5261":"5454fb98c87e3e21b419","5674":"0b6021e15c4177a010ce","6027":"a2ab86ed71edcf1e7c76","6029":"6a1b9d07db12c724630a","6201":"f21a22c89359b3351c22","6341":"56153f7b5c8eb55d5115","6939":"35a07bed912bc04c9d75","7159":"1761513105b61524f649","7197":"4976a7eaca6f26cb7253","7639":"671fd4d5fed681bda4e4","8094":"5c44190a325ac23e3e5c","8228":"dcf21b4a53fc653b35ad","8402":"edb924cd47cd168f621c","8558":"306058e37ad36e3ee30f","8815":"ccd4e5662e6e98697a59","9026":"3d19c9eca1b5dec8500b","9045":"92b6473bce6f62f94665","9473":"c35c2e852c93060ec911","9862":"24624da2fae3fc96ba73","9890":"6f8829d3bf8690ec7947","9977":"f0b48983c4c4a3da89ab"}[chunkId] + ".js";
417356
+ /******/ return "" + ({"572":"polySeg","2007":"interpolation","3054":"histogram-worker","3694":"compute"}[chunkId] || chunkId) + ".bundle." + {"85":"e77a90875516432c5fe3","213":"4c3bcfbf1627f7438c63","572":"5077501eb109f84d03bc","732":"6978ac30a1e36abf06db","810":"71e9635263afba036909","934":"c8610d13f67c01e81623","963":"1f4514c46b629e70be3f","1459":"19fcf328e8ccefa1d864","1807":"393182fa976b3ba22e91","1919":"6c3dce05dc3b225342e9","1927":"83810560c4d3a90eb7cf","2007":"c0ccf2b965967cf021e5","2091":"43ad4622da039534bce5","2308":"42e6d62b9aa9cd8cc736","2424":"aa4825bdf43bf0eb662e","2585":"808568433abc1d2efaa3","2701":"39bb582efbfff6bcdcaf","3054":"61de945a56afc3de7659","3166":"8d17af3ad80c10d7ee12","3694":"38c8dbb7c3d91df0833b","4113":"cad78c0651bdc6147989","4202":"1f9a9e2b9b51663b5f58","4209":"31a85f65049cc110b2f1","4526":"0a3c8c37e772693f5c3a","4759":"ef32f165d8a0703bea80","4991":"3344c0aeaed91bd1574c","5261":"5454fb98c87e3e21b419","5674":"0b6021e15c4177a010ce","6027":"d7f5be50dad569416204","6029":"3af74e0ca49d3797e2a0","6201":"6fa5162c9ce11d476a5e","6341":"8848859784f7b2faefdc","6939":"35a07bed912bc04c9d75","7159":"1761513105b61524f649","7197":"b5c7703eefc699c3cb33","7639":"f6c8c11783e5d2a25e7e","8094":"5c44190a325ac23e3e5c","8228":"dcf21b4a53fc653b35ad","8402":"edb924cd47cd168f621c","8558":"31db7dff5c9ef87520ee","8815":"45759a5037d16254a16e","9026":"3d19c9eca1b5dec8500b","9045":"a9f1a7d80c158e2642c9","9473":"c35c2e852c93060ec911","9862":"24624da2fae3fc96ba73","9890":"6f8829d3bf8690ec7947","9977":"f0b48983c4c4a3da89ab"}[chunkId] + ".js";
417329
417357
  /******/ };
417330
417358
  /******/ })();
417331
417359
  /******/
@@ -136,7 +136,7 @@
136
136
  /******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
137
137
  /******/ __webpack_require__.u = (chunkId) => {
138
138
  /******/ // return url for filenames based on template
139
- /******/ return "" + (chunkId === 3694 ? "compute" : chunkId) + ".bundle." + {"456":"3ba8d465d5be33c9f415","573":"71a3676a34692a3d100a","2585":"fcbcd998936da5c80765","3514":"bdf25e3becc595443899","3694":"1afc4b9f99c6f61eedfd","9977":"f0b48983c4c4a3da89ab"}[chunkId] + ".js";
139
+ /******/ return "" + (chunkId === 3694 ? "compute" : chunkId) + ".bundle." + {"456":"aebf72f30e16d783850f","573":"71a3676a34692a3d100a","2585":"808568433abc1d2efaa3","3514":"054a158aa0500e02b7ee","3694":"38c8dbb7c3d91df0833b","9977":"f0b48983c4c4a3da89ab"}[chunkId] + ".js";
140
140
  /******/ };
141
141
  /******/ })();
142
142
  /******/
package/dist/index.html CHANGED
@@ -3,4 +3,4 @@
3
3
  return import(moduleId);
4
4
  }
5
5
 
6
- window.PUBLIC_URL = '/';</script><script defer="defer" src="/app.bundle.da65ad8c2304ceda0a61.js"></script><link href="/app.bundle.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="react-portal"></div><div id="root"></div></body></html>
6
+ window.PUBLIC_URL = '/';</script><script defer="defer" src="/app.bundle.f5b9ec095fbe65096684.js"></script><link href="/app.bundle.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="react-portal"></div><div id="root"></div></body></html>
@@ -136,7 +136,7 @@
136
136
  /******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
137
137
  /******/ __webpack_require__.u = (chunkId) => {
138
138
  /******/ // return url for filenames based on template
139
- /******/ return "" + (chunkId === 3694 ? "compute" : chunkId) + ".bundle." + {"96":"097aedfe57a4bbc0e724","456":"3ba8d465d5be33c9f415","573":"71a3676a34692a3d100a","2585":"fcbcd998936da5c80765","3694":"1afc4b9f99c6f61eedfd","7758":"c8d106364298e7d288f0","9473":"c35c2e852c93060ec911"}[chunkId] + ".js";
139
+ /******/ return "" + (chunkId === 3694 ? "compute" : chunkId) + ".bundle." + {"96":"f6e06e4fb0e7efc6b76e","456":"aebf72f30e16d783850f","573":"71a3676a34692a3d100a","2585":"808568433abc1d2efaa3","3694":"38c8dbb7c3d91df0833b","7758":"c8d106364298e7d288f0","9473":"c35c2e852c93060ec911"}[chunkId] + ".js";
140
140
  /******/ };
141
141
  /******/ })();
142
142
  /******/
package/dist/sw.js CHANGED
@@ -50,7 +50,7 @@ self.addEventListener('message', event => {
50
50
  }
51
51
  }
52
52
  });
53
- workbox.precaching.precacheAndRoute([{'revision':null,'url':'/031089e563a18ada8441.wasm'},{'revision':null,'url':'/1459.bundle.5b964fd82d59999d634f.js'},{'revision':null,'url':'/17dd54813d5acc10bf8f.wasm'},{'revision':null,'url':'/1807.bundle.8857f8a0583b0c30d972.js'},{'revision':null,'url':'/1919.bundle.cf867a49e74f8ffc3531.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/1919.css'},{'revision':null,'url':'/1927.bundle.83810560c4d3a90eb7cf.js'},{'revision':null,'url':'/2091.bundle.43ad4622da039534bce5.js'},{'revision':null,'url':'/213.bundle.c45ad9cdfe6e7cafbaef.js'},{'revision':null,'url':'/2308.bundle.c05269f2d5bd780839dc.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/2308.css'},{'revision':null,'url':'/2424.bundle.81f6041cbc6e156b1033.js'},{'revision':null,'url':'/2516.bundle.1ea0988d309a757bb6da.js'},{'revision':null,'url':'/2585.bundle.fcbcd998936da5c80765.js'},{'revision':null,'url':'/2701.bundle.39bb582efbfff6bcdcaf.js'},{'revision':null,'url':'/31fb9346313fc3740d7b.woff2'},{'revision':null,'url':'/3353.bundle.184ebb9668df2cbebd26.js'},{'revision':null,'url':'/3514.bundle.bdf25e3becc595443899.js'},{'revision':null,'url':'/4113.bundle.ed2262a0d2d56f6c5738.js'},{'revision':null,'url':'/4202.bundle.1f9a9e2b9b51663b5f58.js'},{'revision':null,'url':'/4209.bundle.3cd7da5e77b38ec7f693.js'},{'revision':null,'url':'/4339.bundle.4d120c1667d1f0ea24b3.js'},{'revision':null,'url':'/4526.bundle.0a3c8c37e772693f5c3a.js'},{'revision':'185e5e0a10fa6ab2fc7b3c38e63d550b','url':'/4526.css'},{'revision':null,'url':'/456.bundle.3ba8d465d5be33c9f415.js'},{'revision':null,'url':'/4759.bundle.ef32f165d8a0703bea80.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/4759.css'},{'revision':null,'url':'/4991.bundle.3344c0aeaed91bd1574c.js'},{'revision':null,'url':'/5004fdc02f329ce53b69.wasm'},{'revision':null,'url':'/5261.bundle.5454fb98c87e3e21b419.js'},{'revision':null,'url':'/5674.bundle.0b6021e15c4177a010ce.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/5674.css'},{'revision':null,'url':'/573.bundle.71a3676a34692a3d100a.js'},{'revision':null,'url':'/5830.bundle.b073c265c4fcea1afff3.js'},{'revision':null,'url':'/6027.bundle.a2ab86ed71edcf1e7c76.js'},{'revision':null,'url':'/6029.bundle.6a1b9d07db12c724630a.js'},{'revision':null,'url':'/6201.bundle.f21a22c89359b3351c22.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/6201.css'},{'revision':null,'url':'/6341.bundle.56153f7b5c8eb55d5115.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/6341.css'},{'revision':null,'url':'/6376.bundle.a45c15d436a34759e394.js'},{'revision':null,'url':'/6939.bundle.35a07bed912bc04c9d75.js'},{'revision':null,'url':'/7159.bundle.1761513105b61524f649.js'},{'revision':'20a92cf14c2d8be6cd580f68780cc7fa','url':'/7159.css'},{'revision':null,'url':'/7190.bundle.5792cfd89c0429aef672.js'},{'revision':null,'url':'/7197.bundle.4976a7eaca6f26cb7253.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/7197.css'},{'revision':null,'url':'/732.bundle.6978ac30a1e36abf06db.js'},{'revision':null,'url':'/7639.bundle.671fd4d5fed681bda4e4.js'},{'revision':null,'url':'/7758.bundle.c8d106364298e7d288f0.js'},{'revision':null,'url':'/8094.bundle.5c44190a325ac23e3e5c.js'},{'revision':null,'url':'/810.bundle.c8077e33b50853acdf0d.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/810.css'},{'revision':null,'url':'/8228.bundle.dcf21b4a53fc653b35ad.js'},{'revision':'bb0e0995c77e6df671bd2988a2aaa018','url':'/8228.css'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/8402.css'},{'revision':null,'url':'/85.bundle.cb2b9c56a8b33fc850a4.js'},{'revision':null,'url':'/8558.bundle.306058e37ad36e3ee30f.js'},{'revision':null,'url':'/8815.bundle.ccd4e5662e6e98697a59.js'},{'revision':null,'url':'/9026.bundle.3d19c9eca1b5dec8500b.js'},{'revision':'a04a2f233dc569826f5f6e21b65bc87b','url':'/9026.css'},{'revision':null,'url':'/9045.bundle.92b6473bce6f62f94665.js'},{'revision':null,'url':'/934.bundle.5234a0116cdd0ffe2109.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/934.css'},{'revision':null,'url':'/9473.bundle.c35c2e852c93060ec911.js'},{'revision':null,'url':'/96.bundle.097aedfe57a4bbc0e724.js'},{'revision':null,'url':'/963.bundle.005cf5ffb6050bc0a2b5.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/963.css'},{'revision':null,'url':'/9742.bundle.b6a8307f0fe8be2aae1e.js'},{'revision':null,'url':'/9862.bundle.24624da2fae3fc96ba73.js'},{'revision':null,'url':'/9890.bundle.6f8829d3bf8690ec7947.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/9890.css'},{'revision':null,'url':'/9977.bundle.f0b48983c4c4a3da89ab.js'},{'revision':'d41d8cd98f00b204e9800998ecf8427e','url':'/_headers'},{'revision':'e3bf0f3e9c34f51ad59836ae8e8eaf43','url':'/_redirects'},{'revision':null,'url':'/a957c5cd315f89b6feb1.wasm'},{'revision':'5ddff6ad26e48c26945bdfcfc6195164','url':'/app-config.js'},{'revision':'cedc638a5df79672fd06430d1c0b4fe7','url':'/app.bundle.css'},{'revision':null,'url':'/app.bundle.da65ad8c2304ceda0a61.js'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/android-chrome-144x144.png'},{'revision':'5cde390de8a619ebe55a669d2ac3effd','url':'/assets/android-chrome-192x192.png'},{'revision':'e7466a67e90471de05401e53b8fe20be','url':'/assets/android-chrome-256x256.png'},{'revision':'9bbe9b80156e930d19a4e1725aa9ddae','url':'/assets/android-chrome-36x36.png'},{'revision':'5698b2ac0c82fe06d84521fc5482df04','url':'/assets/android-chrome-384x384.png'},{'revision':'56bef3fceec344d9747f8abe9c0bba27','url':'/assets/android-chrome-48x48.png'},{'revision':'3e8b8a01290992e82c242557417b0596','url':'/assets/android-chrome-512x512.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/android-chrome-72x72.png'},{'revision':'4c3289bc690f8519012686888e08da71','url':'/assets/android-chrome-96x96.png'},{'revision':'cf464289183184df09292f581df0fb4f','url':'/assets/apple-touch-icon-1024x1024.png'},{'revision':'0857c5282c594e4900e8b31e3bade912','url':'/assets/apple-touch-icon-114x114.png'},{'revision':'4208f41a28130a67e9392a9dfcee6011','url':'/assets/apple-touch-icon-120x120.png'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/apple-touch-icon-144x144.png'},{'revision':'977d293982af7e9064ba20806b45cf35','url':'/assets/apple-touch-icon-152x152.png'},{'revision':'6de91b4d2a30600b410758405cb567b4','url':'/assets/apple-touch-icon-167x167.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-180x180.png'},{'revision':'647386c34e75f1213830ea9a38913525','url':'/assets/apple-touch-icon-57x57.png'},{'revision':'0c200fe83953738b330ea431083e7a86','url':'/assets/apple-touch-icon-60x60.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/apple-touch-icon-72x72.png'},{'revision':'c9989a807bb18633f6dcf254b5b56124','url':'/assets/apple-touch-icon-76x76.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-precomposed.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon.png'},{'revision':'05fa74ea9c1c0c3931ba96467999081d','url':'/assets/apple-touch-startup-image-1182x2208.png'},{'revision':'9e2cd03e1e6fd0520eea6846f4278018','url':'/assets/apple-touch-startup-image-1242x2148.png'},{'revision':'5591e3a1822cbc8439b99c1a40d53425','url':'/assets/apple-touch-startup-image-1496x2048.png'},{'revision':'337de578c5ca04bd7d2be19d24d83821','url':'/assets/apple-touch-startup-image-1536x2008.png'},{'revision':'cafb4ab4eafe6ef946bd229a1d88e7de','url':'/assets/apple-touch-startup-image-320x460.png'},{'revision':'d9bb9e558d729eeac5efb8be8d6111cc','url':'/assets/apple-touch-startup-image-640x1096.png'},{'revision':'038b5b02bac8b82444bf9a87602ac216','url':'/assets/apple-touch-startup-image-640x920.png'},{'revision':'2177076eb07b1d64d663d7c03268be00','url':'/assets/apple-touch-startup-image-748x1024.png'},{'revision':'4fc097443815fe92503584c4bd73c630','url':'/assets/apple-touch-startup-image-750x1294.png'},{'revision':'2e29914062dce5c5141ab47eea2fc5d9','url':'/assets/apple-touch-startup-image-768x1004.png'},{'revision':'f692ec286b3a332c17985f4ed38b1076','url':'/assets/browserconfig.xml'},{'revision':'f3d9a3b647853c45b0e132e4acd0cc4a','url':'/assets/coast-228x228.png'},{'revision':'ad6e1def5c66193d649a31474bbfe45d','url':'/assets/favicon-16x16.png'},{'revision':'84d1dcdb6cdfa55e2f46be0c80fa5698','url':'/assets/favicon-32x32.png'},{'revision':'95fb44c4998a46109e49d724c060db24','url':'/assets/favicon.ico'},{'revision':'5df2a5b0cee399ac0bc40af74ba3c2cb','url':'/assets/firefox_app_128x128.png'},{'revision':'11fd9098c4b07c8a07e1d2a1e309e046','url':'/assets/firefox_app_512x512.png'},{'revision':'27cddfc922dca3bfa27b4a00fc2f5e36','url':'/assets/firefox_app_60x60.png'},{'revision':'2547879ee2928a5fd56dca483bcbd967','url':'/assets/images/CT-AAA.png'},{'revision':'245628fb9d18d6c5cd529615079f8e86','url':'/assets/images/CT-AAA2.png'},{'revision':'997a9c8b57e7b4e46d8f01fb49d078c6','url':'/assets/images/CT-Air.png'},{'revision':'e7ed89711f63348d49898da3a2b73ab9','url':'/assets/images/CT-Bone.png'},{'revision':'09d1dc6efebb10a60cdf85ed74a10214','url':'/assets/images/CT-Bones.png'},{'revision':'f8ae9bafd3b90ba3efbdcbe8901db187','url':'/assets/images/CT-Cardiac.png'},{'revision':'ed0cc538aba90d6a1c029923ca9b47db','url':'/assets/images/CT-Cardiac2.png'},{'revision':'dfdaf4e4889aefbf09514545f45726bb','url':'/assets/images/CT-Cardiac3.png'},{'revision':'5d4b9a331136a1a5d7ce7ccf7dfcca36','url':'/assets/images/CT-Chest-Contrast-Enhanced.png'},{'revision':'5fb264499a5bb42487663b00e42d1513','url':'/assets/images/CT-Chest-Vessels.png'},{'revision':'ab8f0e569c972388ddaaa61b92449fac','url':'/assets/images/CT-Coronary-Arteries-2.png'},{'revision':'e4e7e2e3cc09bc8c4fb03b6441bd2845','url':'/assets/images/CT-Coronary-Arteries-3.png'},{'revision':'79a2962a2d3cbe4bd3b675b5ca83c659','url':'/assets/images/CT-Coronary-Arteries.png'},{'revision':'6502a6bdab1c70e2188c3bf12ce5d4e4','url':'/assets/images/CT-Cropped-Volume-Bone.png'},{'revision':'e28ad3cf5ed2006fc5a7cffd602736fc','url':'/assets/images/CT-Fat.png'},{'revision':'ca1c5be76053edee27e68ffbf9105101','url':'/assets/images/CT-Liver-Vasculature.png'},{'revision':'d6c9ab857ed2ad19f1ff20bea02b6655','url':'/assets/images/CT-Lung.png'},{'revision':'ddb599c6a163bdf28ece8de1a337470a','url':'/assets/images/CT-MIP.png'},{'revision':'0b0dcf7940a555e2a9a0900f7f84d4d3','url':'/assets/images/CT-Muscle.png'},{'revision':'6082d383f9ce375a5873e2a00fc4d372','url':'/assets/images/CT-Pulmonary-Arteries.png'},{'revision':'b317366149ee2607bec95d63eb4d7661','url':'/assets/images/CT-Soft-Tissue.png'},{'revision':'4b0cd5a673ebb71da22a91ed608d6695','url':'/assets/images/DTI-FA-Brain.png'},{'revision':'3ea1cbee022af5b94710b73726308832','url':'/assets/images/MR-Angio.png'},{'revision':'bd25ca7b166193547f34950eed440e5c','url':'/assets/images/MR-Default.png'},{'revision':'2e50a49b859aeb316a1c23f911fce9ad','url':'/assets/images/MR-MIP.png'},{'revision':'6ba74de6961e08652ff9e2f1871b473d','url':'/assets/images/MR-T2-Brain.png'},{'revision':'42406bb474f0f87cf04a5afbbcd5e389','url':'/assets/images/VolumeRendering.png'},{'revision':'2017d95fae79dcf34b5a5b52586d4763','url':'/assets/manifest.webapp'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/mstile-144x144.png'},{'revision':'334895225e16a7777e45d81964725a97','url':'/assets/mstile-150x150.png'},{'revision':'e295cca4af6ed0365cf7b014d91b0e9d','url':'/assets/mstile-310x150.png'},{'revision':'cbefa8c42250e5f2443819fe2c69d91e','url':'/assets/mstile-310x310.png'},{'revision':'aa411a69df2b33a1362fa38d1257fa9d','url':'/assets/mstile-70x70.png'},{'revision':'5609af4f69e40e33471aee770ea1d802','url':'/assets/yandex-browser-50x50.png'},{'revision':'dd001f21b3970d5a7f3e245cc10d21df','url':'/assets/yandex-browser-manifest.json'},{'revision':null,'url':'/c22b37c3488e1d6c3aa4.wasm'},{'revision':null,'url':'/compute.bundle.1afc4b9f99c6f61eedfd.js'},{'revision':'c377e1f5fe4a207d270c3f7a8dd3e3ca','url':'/dicom-microscopy-viewer/5004fdc02f329ce53b69.wasm'},{'revision':'ce10eced3ce34e663d86569b27f5bffb','url':'/dicom-microscopy-viewer/65916ef3def695744bda.wasm'},{'revision':'52b9a07fe0541fe8c313d9788550bf51','url':'/dicom-microscopy-viewer/b6b803111e2d06a825bd.wasm'},{'revision':'7edb59d2be7c993050cb31ded36afa31','url':'/dicom-microscopy-viewer/c22b37c3488e1d6c3aa4.wasm'},{'revision':'eaa70476e800651625c9e5de4501edef','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js'},{'revision':'18464c31a0a171555ad626dc059cce2d','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js.LICENSE.txt'},{'revision':'254380a19b838537d422eaf69c116b45','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js.map'},{'revision':'91e3d8268b5314586d6f30676b2fab6c','url':'/dicom-microscopy-viewer/index.worker.min.worker.js'},{'revision':'8f4b222d2efaaf0f1c6372a33b2ee132','url':'/dicom-microscopy-viewer/index.worker.min.worker.js.map'},{'revision':'4acdd19a35d759ec2669f1ba9490937d','url':'/es6-shim.min.js'},{'revision':'966afc6cb727ef212a75802f2020834e','url':'/google.js'},{'revision':null,'url':'/histogram-worker.bundle.61de945a56afc3de7659.js'},{'revision':'b518507aeb78ffd6d6f4d9557bdba747','url':'/index.html'},{'revision':'31c0367ca4160b2c6373e905739c5719','url':'/init-service-worker.js'},{'revision':null,'url':'/interpolation.bundle.c0ccf2b965967cf021e5.js'},{'revision':'74fc9658b62903be2048c1f82a22b4d4','url':'/manifest.json'},{'revision':'3fa71aa0af3e34b4ebd9a71eee0f4bdd','url':'/ohif-logo-light.svg'},{'revision':'7e81da785c63e75650101db6c5d7560e','url':'/ohif-logo.svg'},{'revision':'eadf8bf1d85032a029e2c0df4b8938b0','url':'/oidc-client.min.js'},{'revision':null,'url':'/polySeg.bundle.8407fa6228f727a924ad.js'},{'revision':'a1aef5311245f5864315443d12246c37','url':'/polyfill.min.js'},{'revision':'981ac7f7543b8330e3826aff72c33382','url':'/serve.json'},{'revision':'b1e488d9955b62bd2858874df11d5223','url':'/silent-refresh.html'}]);
53
+ workbox.precaching.precacheAndRoute([{'revision':null,'url':'/031089e563a18ada8441.wasm'},{'revision':null,'url':'/1459.bundle.19fcf328e8ccefa1d864.js'},{'revision':null,'url':'/17dd54813d5acc10bf8f.wasm'},{'revision':null,'url':'/1807.bundle.393182fa976b3ba22e91.js'},{'revision':null,'url':'/1919.bundle.6c3dce05dc3b225342e9.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/1919.css'},{'revision':null,'url':'/1927.bundle.83810560c4d3a90eb7cf.js'},{'revision':null,'url':'/2091.bundle.43ad4622da039534bce5.js'},{'revision':null,'url':'/213.bundle.4c3bcfbf1627f7438c63.js'},{'revision':null,'url':'/2308.bundle.42e6d62b9aa9cd8cc736.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/2308.css'},{'revision':null,'url':'/2424.bundle.aa4825bdf43bf0eb662e.js'},{'revision':null,'url':'/2516.bundle.1ea0988d309a757bb6da.js'},{'revision':null,'url':'/2585.bundle.808568433abc1d2efaa3.js'},{'revision':null,'url':'/2701.bundle.39bb582efbfff6bcdcaf.js'},{'revision':null,'url':'/3166.bundle.8d17af3ad80c10d7ee12.js'},{'revision':null,'url':'/31fb9346313fc3740d7b.woff2'},{'revision':null,'url':'/3353.bundle.184ebb9668df2cbebd26.js'},{'revision':null,'url':'/3514.bundle.054a158aa0500e02b7ee.js'},{'revision':null,'url':'/4113.bundle.cad78c0651bdc6147989.js'},{'revision':null,'url':'/4202.bundle.1f9a9e2b9b51663b5f58.js'},{'revision':null,'url':'/4209.bundle.31a85f65049cc110b2f1.js'},{'revision':null,'url':'/4526.bundle.0a3c8c37e772693f5c3a.js'},{'revision':'185e5e0a10fa6ab2fc7b3c38e63d550b','url':'/4526.css'},{'revision':null,'url':'/456.bundle.aebf72f30e16d783850f.js'},{'revision':null,'url':'/4759.bundle.ef32f165d8a0703bea80.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/4759.css'},{'revision':null,'url':'/4991.bundle.3344c0aeaed91bd1574c.js'},{'revision':null,'url':'/5004fdc02f329ce53b69.wasm'},{'revision':null,'url':'/5261.bundle.5454fb98c87e3e21b419.js'},{'revision':null,'url':'/5674.bundle.0b6021e15c4177a010ce.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/5674.css'},{'revision':null,'url':'/573.bundle.71a3676a34692a3d100a.js'},{'revision':null,'url':'/5830.bundle.b073c265c4fcea1afff3.js'},{'revision':null,'url':'/6027.bundle.d7f5be50dad569416204.js'},{'revision':null,'url':'/6029.bundle.3af74e0ca49d3797e2a0.js'},{'revision':null,'url':'/6201.bundle.6fa5162c9ce11d476a5e.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/6201.css'},{'revision':null,'url':'/6341.bundle.8848859784f7b2faefdc.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/6341.css'},{'revision':null,'url':'/6376.bundle.a45c15d436a34759e394.js'},{'revision':null,'url':'/6939.bundle.35a07bed912bc04c9d75.js'},{'revision':null,'url':'/7159.bundle.1761513105b61524f649.js'},{'revision':'20a92cf14c2d8be6cd580f68780cc7fa','url':'/7159.css'},{'revision':null,'url':'/7190.bundle.5792cfd89c0429aef672.js'},{'revision':null,'url':'/7197.bundle.b5c7703eefc699c3cb33.js'},{'revision':'27c847594562926775c007c401b4fe98','url':'/7197.css'},{'revision':null,'url':'/732.bundle.6978ac30a1e36abf06db.js'},{'revision':null,'url':'/7639.bundle.f6c8c11783e5d2a25e7e.js'},{'revision':null,'url':'/7758.bundle.c8d106364298e7d288f0.js'},{'revision':null,'url':'/8094.bundle.5c44190a325ac23e3e5c.js'},{'revision':null,'url':'/810.bundle.71e9635263afba036909.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/810.css'},{'revision':null,'url':'/8228.bundle.dcf21b4a53fc653b35ad.js'},{'revision':'bb0e0995c77e6df671bd2988a2aaa018','url':'/8228.css'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/8402.css'},{'revision':null,'url':'/85.bundle.e77a90875516432c5fe3.js'},{'revision':null,'url':'/8558.bundle.31db7dff5c9ef87520ee.js'},{'revision':null,'url':'/8815.bundle.45759a5037d16254a16e.js'},{'revision':null,'url':'/9026.bundle.3d19c9eca1b5dec8500b.js'},{'revision':'a04a2f233dc569826f5f6e21b65bc87b','url':'/9026.css'},{'revision':null,'url':'/9045.bundle.a9f1a7d80c158e2642c9.js'},{'revision':null,'url':'/934.bundle.c8610d13f67c01e81623.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/934.css'},{'revision':null,'url':'/9473.bundle.c35c2e852c93060ec911.js'},{'revision':null,'url':'/96.bundle.f6e06e4fb0e7efc6b76e.js'},{'revision':null,'url':'/963.bundle.1f4514c46b629e70be3f.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/963.css'},{'revision':null,'url':'/9742.bundle.b6a8307f0fe8be2aae1e.js'},{'revision':null,'url':'/9862.bundle.24624da2fae3fc96ba73.js'},{'revision':null,'url':'/9890.bundle.6f8829d3bf8690ec7947.js'},{'revision':'d7105275684db58e6dd8f9f6ed8f85ad','url':'/9890.css'},{'revision':null,'url':'/9977.bundle.f0b48983c4c4a3da89ab.js'},{'revision':'d41d8cd98f00b204e9800998ecf8427e','url':'/_headers'},{'revision':'e3bf0f3e9c34f51ad59836ae8e8eaf43','url':'/_redirects'},{'revision':null,'url':'/a957c5cd315f89b6feb1.wasm'},{'revision':'5ddff6ad26e48c26945bdfcfc6195164','url':'/app-config.js'},{'revision':'cedc638a5df79672fd06430d1c0b4fe7','url':'/app.bundle.css'},{'revision':null,'url':'/app.bundle.f5b9ec095fbe65096684.js'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/android-chrome-144x144.png'},{'revision':'5cde390de8a619ebe55a669d2ac3effd','url':'/assets/android-chrome-192x192.png'},{'revision':'e7466a67e90471de05401e53b8fe20be','url':'/assets/android-chrome-256x256.png'},{'revision':'9bbe9b80156e930d19a4e1725aa9ddae','url':'/assets/android-chrome-36x36.png'},{'revision':'5698b2ac0c82fe06d84521fc5482df04','url':'/assets/android-chrome-384x384.png'},{'revision':'56bef3fceec344d9747f8abe9c0bba27','url':'/assets/android-chrome-48x48.png'},{'revision':'3e8b8a01290992e82c242557417b0596','url':'/assets/android-chrome-512x512.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/android-chrome-72x72.png'},{'revision':'4c3289bc690f8519012686888e08da71','url':'/assets/android-chrome-96x96.png'},{'revision':'cf464289183184df09292f581df0fb4f','url':'/assets/apple-touch-icon-1024x1024.png'},{'revision':'0857c5282c594e4900e8b31e3bade912','url':'/assets/apple-touch-icon-114x114.png'},{'revision':'4208f41a28130a67e9392a9dfcee6011','url':'/assets/apple-touch-icon-120x120.png'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/apple-touch-icon-144x144.png'},{'revision':'977d293982af7e9064ba20806b45cf35','url':'/assets/apple-touch-icon-152x152.png'},{'revision':'6de91b4d2a30600b410758405cb567b4','url':'/assets/apple-touch-icon-167x167.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-180x180.png'},{'revision':'647386c34e75f1213830ea9a38913525','url':'/assets/apple-touch-icon-57x57.png'},{'revision':'0c200fe83953738b330ea431083e7a86','url':'/assets/apple-touch-icon-60x60.png'},{'revision':'517925e91e2ce724432d296b687d25e2','url':'/assets/apple-touch-icon-72x72.png'},{'revision':'c9989a807bb18633f6dcf254b5b56124','url':'/assets/apple-touch-icon-76x76.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon-precomposed.png'},{'revision':'87bff140e3773bd7479a620501c4aa5c','url':'/assets/apple-touch-icon.png'},{'revision':'05fa74ea9c1c0c3931ba96467999081d','url':'/assets/apple-touch-startup-image-1182x2208.png'},{'revision':'9e2cd03e1e6fd0520eea6846f4278018','url':'/assets/apple-touch-startup-image-1242x2148.png'},{'revision':'5591e3a1822cbc8439b99c1a40d53425','url':'/assets/apple-touch-startup-image-1496x2048.png'},{'revision':'337de578c5ca04bd7d2be19d24d83821','url':'/assets/apple-touch-startup-image-1536x2008.png'},{'revision':'cafb4ab4eafe6ef946bd229a1d88e7de','url':'/assets/apple-touch-startup-image-320x460.png'},{'revision':'d9bb9e558d729eeac5efb8be8d6111cc','url':'/assets/apple-touch-startup-image-640x1096.png'},{'revision':'038b5b02bac8b82444bf9a87602ac216','url':'/assets/apple-touch-startup-image-640x920.png'},{'revision':'2177076eb07b1d64d663d7c03268be00','url':'/assets/apple-touch-startup-image-748x1024.png'},{'revision':'4fc097443815fe92503584c4bd73c630','url':'/assets/apple-touch-startup-image-750x1294.png'},{'revision':'2e29914062dce5c5141ab47eea2fc5d9','url':'/assets/apple-touch-startup-image-768x1004.png'},{'revision':'f692ec286b3a332c17985f4ed38b1076','url':'/assets/browserconfig.xml'},{'revision':'f3d9a3b647853c45b0e132e4acd0cc4a','url':'/assets/coast-228x228.png'},{'revision':'ad6e1def5c66193d649a31474bbfe45d','url':'/assets/favicon-16x16.png'},{'revision':'84d1dcdb6cdfa55e2f46be0c80fa5698','url':'/assets/favicon-32x32.png'},{'revision':'95fb44c4998a46109e49d724c060db24','url':'/assets/favicon.ico'},{'revision':'5df2a5b0cee399ac0bc40af74ba3c2cb','url':'/assets/firefox_app_128x128.png'},{'revision':'11fd9098c4b07c8a07e1d2a1e309e046','url':'/assets/firefox_app_512x512.png'},{'revision':'27cddfc922dca3bfa27b4a00fc2f5e36','url':'/assets/firefox_app_60x60.png'},{'revision':'2547879ee2928a5fd56dca483bcbd967','url':'/assets/images/CT-AAA.png'},{'revision':'245628fb9d18d6c5cd529615079f8e86','url':'/assets/images/CT-AAA2.png'},{'revision':'997a9c8b57e7b4e46d8f01fb49d078c6','url':'/assets/images/CT-Air.png'},{'revision':'e7ed89711f63348d49898da3a2b73ab9','url':'/assets/images/CT-Bone.png'},{'revision':'09d1dc6efebb10a60cdf85ed74a10214','url':'/assets/images/CT-Bones.png'},{'revision':'f8ae9bafd3b90ba3efbdcbe8901db187','url':'/assets/images/CT-Cardiac.png'},{'revision':'ed0cc538aba90d6a1c029923ca9b47db','url':'/assets/images/CT-Cardiac2.png'},{'revision':'dfdaf4e4889aefbf09514545f45726bb','url':'/assets/images/CT-Cardiac3.png'},{'revision':'5d4b9a331136a1a5d7ce7ccf7dfcca36','url':'/assets/images/CT-Chest-Contrast-Enhanced.png'},{'revision':'5fb264499a5bb42487663b00e42d1513','url':'/assets/images/CT-Chest-Vessels.png'},{'revision':'ab8f0e569c972388ddaaa61b92449fac','url':'/assets/images/CT-Coronary-Arteries-2.png'},{'revision':'e4e7e2e3cc09bc8c4fb03b6441bd2845','url':'/assets/images/CT-Coronary-Arteries-3.png'},{'revision':'79a2962a2d3cbe4bd3b675b5ca83c659','url':'/assets/images/CT-Coronary-Arteries.png'},{'revision':'6502a6bdab1c70e2188c3bf12ce5d4e4','url':'/assets/images/CT-Cropped-Volume-Bone.png'},{'revision':'e28ad3cf5ed2006fc5a7cffd602736fc','url':'/assets/images/CT-Fat.png'},{'revision':'ca1c5be76053edee27e68ffbf9105101','url':'/assets/images/CT-Liver-Vasculature.png'},{'revision':'d6c9ab857ed2ad19f1ff20bea02b6655','url':'/assets/images/CT-Lung.png'},{'revision':'ddb599c6a163bdf28ece8de1a337470a','url':'/assets/images/CT-MIP.png'},{'revision':'0b0dcf7940a555e2a9a0900f7f84d4d3','url':'/assets/images/CT-Muscle.png'},{'revision':'6082d383f9ce375a5873e2a00fc4d372','url':'/assets/images/CT-Pulmonary-Arteries.png'},{'revision':'b317366149ee2607bec95d63eb4d7661','url':'/assets/images/CT-Soft-Tissue.png'},{'revision':'4b0cd5a673ebb71da22a91ed608d6695','url':'/assets/images/DTI-FA-Brain.png'},{'revision':'3ea1cbee022af5b94710b73726308832','url':'/assets/images/MR-Angio.png'},{'revision':'bd25ca7b166193547f34950eed440e5c','url':'/assets/images/MR-Default.png'},{'revision':'2e50a49b859aeb316a1c23f911fce9ad','url':'/assets/images/MR-MIP.png'},{'revision':'6ba74de6961e08652ff9e2f1871b473d','url':'/assets/images/MR-T2-Brain.png'},{'revision':'42406bb474f0f87cf04a5afbbcd5e389','url':'/assets/images/VolumeRendering.png'},{'revision':'2017d95fae79dcf34b5a5b52586d4763','url':'/assets/manifest.webapp'},{'revision':'cb4f64534cdf8dd88f1d7219d44490db','url':'/assets/mstile-144x144.png'},{'revision':'334895225e16a7777e45d81964725a97','url':'/assets/mstile-150x150.png'},{'revision':'e295cca4af6ed0365cf7b014d91b0e9d','url':'/assets/mstile-310x150.png'},{'revision':'cbefa8c42250e5f2443819fe2c69d91e','url':'/assets/mstile-310x310.png'},{'revision':'aa411a69df2b33a1362fa38d1257fa9d','url':'/assets/mstile-70x70.png'},{'revision':'5609af4f69e40e33471aee770ea1d802','url':'/assets/yandex-browser-50x50.png'},{'revision':'dd001f21b3970d5a7f3e245cc10d21df','url':'/assets/yandex-browser-manifest.json'},{'revision':null,'url':'/c22b37c3488e1d6c3aa4.wasm'},{'revision':null,'url':'/compute.bundle.38c8dbb7c3d91df0833b.js'},{'revision':'c377e1f5fe4a207d270c3f7a8dd3e3ca','url':'/dicom-microscopy-viewer/5004fdc02f329ce53b69.wasm'},{'revision':'ce10eced3ce34e663d86569b27f5bffb','url':'/dicom-microscopy-viewer/65916ef3def695744bda.wasm'},{'revision':'52b9a07fe0541fe8c313d9788550bf51','url':'/dicom-microscopy-viewer/b6b803111e2d06a825bd.wasm'},{'revision':'7edb59d2be7c993050cb31ded36afa31','url':'/dicom-microscopy-viewer/c22b37c3488e1d6c3aa4.wasm'},{'revision':'eaa70476e800651625c9e5de4501edef','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js'},{'revision':'18464c31a0a171555ad626dc059cce2d','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js.LICENSE.txt'},{'revision':'254380a19b838537d422eaf69c116b45','url':'/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js.map'},{'revision':'91e3d8268b5314586d6f30676b2fab6c','url':'/dicom-microscopy-viewer/index.worker.min.worker.js'},{'revision':'8f4b222d2efaaf0f1c6372a33b2ee132','url':'/dicom-microscopy-viewer/index.worker.min.worker.js.map'},{'revision':'4acdd19a35d759ec2669f1ba9490937d','url':'/es6-shim.min.js'},{'revision':'966afc6cb727ef212a75802f2020834e','url':'/google.js'},{'revision':null,'url':'/histogram-worker.bundle.61de945a56afc3de7659.js'},{'revision':'18bee3ff53997ca9b26edc12ebe407d0','url':'/index.html'},{'revision':'31c0367ca4160b2c6373e905739c5719','url':'/init-service-worker.js'},{'revision':null,'url':'/interpolation.bundle.c0ccf2b965967cf021e5.js'},{'revision':'74fc9658b62903be2048c1f82a22b4d4','url':'/manifest.json'},{'revision':'3fa71aa0af3e34b4ebd9a71eee0f4bdd','url':'/ohif-logo-light.svg'},{'revision':'7e81da785c63e75650101db6c5d7560e','url':'/ohif-logo.svg'},{'revision':'eadf8bf1d85032a029e2c0df4b8938b0','url':'/oidc-client.min.js'},{'revision':null,'url':'/polySeg.bundle.5077501eb109f84d03bc.js'},{'revision':'a1aef5311245f5864315443d12246c37','url':'/polyfill.min.js'},{'revision':'981ac7f7543b8330e3826aff72c33382','url':'/serve.json'},{'revision':'b1e488d9955b62bd2858874df11d5223','url':'/silent-refresh.html'}]);
54
54
 
55
55
  // TODO: Cache API
56
56
  // https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/cache-api
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ohif/app",
3
- "version": "3.10.0-beta.134",
3
+ "version": "3.10.0-beta.135",
4
4
  "productVersion": "3.4.0",
5
5
  "description": "OHIF Viewer",
6
6
  "author": "OHIF Contributors",
@@ -54,25 +54,25 @@
54
54
  "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
55
55
  "@cornerstonejs/codec-openjpeg": "^1.2.4",
56
56
  "@cornerstonejs/codec-openjph": "^2.4.5",
57
- "@cornerstonejs/dicom-image-loader": "^3.7.5",
57
+ "@cornerstonejs/dicom-image-loader": "^3.7.8",
58
58
  "@emotion/serialize": "^1.1.3",
59
- "@ohif/core": "3.10.0-beta.134",
60
- "@ohif/extension-cornerstone": "3.10.0-beta.134",
61
- "@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.134",
62
- "@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.134",
63
- "@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.134",
64
- "@ohif/extension-default": "3.10.0-beta.134",
65
- "@ohif/extension-dicom-microscopy": "3.10.0-beta.134",
66
- "@ohif/extension-dicom-pdf": "3.10.0-beta.134",
67
- "@ohif/extension-dicom-video": "3.10.0-beta.134",
68
- "@ohif/extension-test": "3.10.0-beta.134",
69
- "@ohif/i18n": "3.10.0-beta.134",
70
- "@ohif/mode-basic-dev-mode": "3.10.0-beta.134",
71
- "@ohif/mode-longitudinal": "3.10.0-beta.134",
72
- "@ohif/mode-microscopy": "3.10.0-beta.134",
73
- "@ohif/mode-test": "3.10.0-beta.134",
74
- "@ohif/ui": "3.10.0-beta.134",
75
- "@ohif/ui-next": "3.10.0-beta.134",
59
+ "@ohif/core": "3.10.0-beta.135",
60
+ "@ohif/extension-cornerstone": "3.10.0-beta.135",
61
+ "@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.135",
62
+ "@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.135",
63
+ "@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.135",
64
+ "@ohif/extension-default": "3.10.0-beta.135",
65
+ "@ohif/extension-dicom-microscopy": "3.10.0-beta.135",
66
+ "@ohif/extension-dicom-pdf": "3.10.0-beta.135",
67
+ "@ohif/extension-dicom-video": "3.10.0-beta.135",
68
+ "@ohif/extension-test": "3.10.0-beta.135",
69
+ "@ohif/i18n": "3.10.0-beta.135",
70
+ "@ohif/mode-basic-dev-mode": "3.10.0-beta.135",
71
+ "@ohif/mode-longitudinal": "3.10.0-beta.135",
72
+ "@ohif/mode-microscopy": "3.10.0-beta.135",
73
+ "@ohif/mode-test": "3.10.0-beta.135",
74
+ "@ohif/ui": "3.10.0-beta.135",
75
+ "@ohif/ui-next": "3.10.0-beta.135",
76
76
  "@svgr/webpack": "^8.1.0",
77
77
  "@types/react": "^18.3.3",
78
78
  "classnames": "^2.3.2",