diff --git a/apps/aorta/package.json b/apps/aorta/package.json
index 4b45688..16e83a2 100644
--- a/apps/aorta/package.json
+++ b/apps/aorta/package.json
@@ -23,7 +23,6 @@
"js-cookie": "3.0.5",
"three": "0.156.1",
"path-to-regexp": "6.2.1",
- "cornerstone-core": "2.6.1",
"dicom-parser": "1.8.21",
"@msgpack/msgpack": "3.0.0-beta2",
"pako": "2.1.0",
@@ -32,8 +31,9 @@
"@cornerstonejs/core": "1.41.0",
"dcmjs": "0.30.0",
"dicomweb-client": "0.10.3",
- "@cornerstonejs/tools": "3.0.2",
- "@cornerstonejs/streaming-image-volume-loader": "1.41.0"
+ "@cornerstonejs/tools": "1.41.0",
+ "@cornerstonejs/streaming-image-volume-loader": "1.41.0",
+ "@cornerstonejs/calculate-suv": "1.1.0"
},
"devDependencies": {
"@babel/core": "^7.21.8",
diff --git a/apps/aorta/public/d-apple.json b/apps/aorta/public/d-apple.json
new file mode 100644
index 0000000..94b5b12
--- /dev/null
+++ b/apps/aorta/public/d-apple.json
@@ -0,0 +1,143 @@
+[
+ "5.0.37",
+ [
+ "apple a14",
+ "14",
+ "a14 apple",
+ 0,
+ [
+ [
+ 2704,
+ 1756,
+ 120
+ ]
+ ]
+ ],
+ [
+ "apple m1",
+ "1",
+ "apple m1",
+ 0,
+ [
+ [
+ 2880,
+ 1800,
+ 198
+ ]
+ ]
+ ],
+ [
+ "apple m1 max",
+ "1",
+ "apple m1 max",
+ 0,
+ [
+ [
+ 3456,
+ 2234,
+ 556
+ ]
+ ]
+ ],
+ [
+ "apple m1 pro",
+ "1",
+ "apple m1 pro",
+ 0,
+ [
+ [
+ 3024,
+ 1964,
+ 342
+ ]
+ ]
+ ],
+ [
+ "apple m1 ultra",
+ "1",
+ "apple m1 ultra",
+ 0,
+ [
+ [
+ 5120,
+ 2880,
+ 437
+ ]
+ ]
+ ],
+ [
+ "apple m2",
+ "2",
+ "apple m2",
+ 0,
+ [
+ [
+ 2880,
+ 1800,
+ 60
+ ],
+ [
+ 2940,
+ 1912,
+ 209
+ ]
+ ]
+ ],
+ [
+ "apple m2 max",
+ "2",
+ "apple m2 max",
+ 0,
+ [
+ [
+ 3456,
+ 2234,
+ 120
+ ]
+ ]
+ ],
+ [
+ "apple m2 pro",
+ "2",
+ "apple m2 pro",
+ 0,
+ [
+ [
+ 3024,
+ 1964,
+ 120
+ ],
+ [
+ 5120,
+ 2880,
+ 60
+ ]
+ ]
+ ],
+ [
+ "apple m2 ultra",
+ "2",
+ "apple m2 ultra",
+ 0,
+ [
+ [
+ 5120,
+ 2880,
+ 60
+ ]
+ ]
+ ],
+ [
+ "apple paravirtual device",
+ "",
+ "apple device paravirtual",
+ 0,
+ [
+ [
+ 1024,
+ 768,
+ 30
+ ]
+ ]
+ ]
+]
\ No newline at end of file
diff --git a/apps/aorta/scripts/dev.proxy.ts b/apps/aorta/scripts/dev.proxy.ts
index 2bc2669..ebd033a 100644
--- a/apps/aorta/scripts/dev.proxy.ts
+++ b/apps/aorta/scripts/dev.proxy.ts
@@ -31,5 +31,5 @@ export const proxyMap: TProxyMap = {
target: "http://localhost:5000/",
changeOrigin: true,
pathRewrite: { "^/py": "" },
- },
+ }
};
diff --git a/apps/aorta/scripts/webpack.dev.ts b/apps/aorta/scripts/webpack.dev.ts
index 78aec94..152bbdc 100644
--- a/apps/aorta/scripts/webpack.dev.ts
+++ b/apps/aorta/scripts/webpack.dev.ts
@@ -20,7 +20,7 @@ interface Configuration extends WebpackConfiguration {
devServer?: WebpackDevServerConfiguration;
}
-const host = "127.0.0.1";
+const host = "0.0.0.0";
const port = 9000;
// 合并公共配置,并添加开发环境配置
diff --git a/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/createImageIdsAndCacheMetaData.ts b/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/createImageIdsAndCacheMetaData.ts
index 144afa0..c7bccf7 100644
--- a/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/createImageIdsAndCacheMetaData.ts
+++ b/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/createImageIdsAndCacheMetaData.ts
@@ -5,6 +5,9 @@ import cornerstoneDICOMImageLoader from "@cornerstonejs/dicom-image-loader";
import { getPixelSpacingInformation } from "./getPixelSpacingInformation";
import { convertMultiframeImageIds } from "./convertMultiframeImageIds";
import { removeInvalidTags } from "./removeInvalidTags";
+import getPTImageIdInstanceMetadata from "./getPTImageIdInstanceMetadata";
+import { calculateSUVScalingFactors } from "@cornerstonejs/calculate-suv";
+import ptScalingMetaDataProvider from "./ptScalingMetaDataProvider";
const { DicomMetaDictionary } = dcmjs.data;
const { calibratedPixelSpacingMetadataProvider } = utilities;
@@ -44,11 +47,22 @@ export const createImageIdsAndCacheMetaData = async (
console.log("modality", modality);
let imageIds = instances.map((instanceMetaData: any) => {
- const seriesInstanceUID = instanceMetaData[SERIES_INSTANCE_UID].Value[0];
- const sopInstanceUIDToUse =
+ const SeriesInstanceUID = instanceMetaData[SERIES_INSTANCE_UID].Value[0];
+ const SOPInstanceUIDToUse =
options.SOPInstanceUID || instanceMetaData[SOP_INSTANCE_UID].Value[0];
- const imageId = `wadors:${options.wadoRsRoot}/studies/${options.StudyInstanceUID}/series/${seriesInstanceUID}/instances/${sopInstanceUIDToUse}/frames/1`;
+ const prefix = "wadors:";
+
+ const imageId =
+ prefix +
+ options.wadoRsRoot +
+ "/studies/" +
+ options.StudyInstanceUID +
+ "/series/" +
+ SeriesInstanceUID +
+ "/instances/" +
+ SOPInstanceUIDToUse +
+ "/frames/1";
cornerstoneDICOMImageLoader.wadors.metaDataManager.add(
imageId,
@@ -62,6 +76,7 @@ export const createImageIdsAndCacheMetaData = async (
imageIds.forEach((imageId) => {
let instanceMetaData =
cornerstoneDICOMImageLoader.wadors.metaDataManager.get(imageId);
+
instanceMetaData = removeInvalidTags(instanceMetaData);
if (instanceMetaData) {
@@ -81,8 +96,44 @@ export const createImageIdsAndCacheMetaData = async (
}
});
+ if (modality === "PT") {
+ const InstanceMetadataArray: any = [];
+ imageIds.forEach((imageId) => {
+ const instanceMetadata = getPTImageIdInstanceMetadata(imageId);
+
+ // TODO: Temporary fix because static-wado is producing a string, not an array of values
+ // (or maybe dcmjs isn't parsing it correctly?)
+ // It's showing up like 'DECY\\ATTN\\SCAT\\DTIM\\RAN\\RADL\\DCAL\\SLSENS\\NORM'
+ // but calculate-suv expects ['DECY', 'ATTN', ...]
+ if (typeof instanceMetadata.CorrectedImage === "string") {
+ instanceMetadata.CorrectedImage =
+ instanceMetadata.CorrectedImage.split("\\");
+ }
+
+ if (instanceMetadata) {
+ InstanceMetadataArray.push(instanceMetadata);
+ }
+ });
+ if (InstanceMetadataArray.length) {
+ try {
+ const suvScalingFactors = calculateSUVScalingFactors(
+ InstanceMetadataArray
+ );
+ InstanceMetadataArray.forEach((instanceMetadata, index) => {
+ ptScalingMetaDataProvider.addInstance(
+ imageIds[index],
+ suvScalingFactors[index]
+ );
+ });
+ } catch (error) {
+ console.log(error);
+ }
+ }
+ }
+
return imageIds;
} catch (error) {
+ console.log(error);
throw new Error("PACS 中数据不存在");
}
};
diff --git a/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/getPTImageIdInstanceMetadata.ts b/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/getPTImageIdInstanceMetadata.ts
new file mode 100644
index 0000000..0090447
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/getPTImageIdInstanceMetadata.ts
@@ -0,0 +1,211 @@
+import { metaData } from "@cornerstonejs/core";
+import type { InstanceMetadata } from "@cornerstonejs/calculate-suv";
+
+export default function getPTImageIdInstanceMetadata(
+ imageId: string
+): InstanceMetadata {
+ const petSequenceModule = metaData.get("petIsotopeModule", imageId);
+ const generalSeriesModule = metaData.get("generalSeriesModule", imageId);
+ const patientStudyModule = metaData.get("patientStudyModule", imageId);
+
+ const ptSeriesModule = metaData.get("petSeriesModule", imageId);
+ const ptImageModule = metaData.get("petImageModule", imageId);
+
+ if (!petSequenceModule) {
+ throw new Error("petSequenceModule metadata is required");
+ }
+
+ const radiopharmaceuticalInfo = petSequenceModule.radiopharmaceuticalInfo;
+
+ const { seriesDate, seriesTime, acquisitionDate, acquisitionTime } =
+ generalSeriesModule;
+ const { patientWeight } = patientStudyModule;
+ const { correctedImage, units, decayCorrection } = ptSeriesModule;
+
+ if (
+ seriesDate === undefined ||
+ seriesTime === undefined ||
+ patientWeight === undefined ||
+ acquisitionDate === undefined ||
+ acquisitionTime === undefined ||
+ correctedImage === undefined ||
+ units === undefined ||
+ decayCorrection === undefined ||
+ radiopharmaceuticalInfo.radionuclideTotalDose === undefined ||
+ radiopharmaceuticalInfo.radionuclideHalfLife === undefined ||
+ (radiopharmaceuticalInfo.radiopharmaceuticalStartDateTime === undefined &&
+ seriesDate === undefined &&
+ radiopharmaceuticalInfo.radiopharmaceuticalStartTime === undefined)
+ //
+ ) {
+ throw new Error("required metadata are missing");
+ }
+
+ const instanceMetadata: InstanceMetadata = {
+ CorrectedImage: correctedImage,
+ Units: units,
+ RadionuclideHalfLife: radiopharmaceuticalInfo.radionuclideHalfLife,
+ RadionuclideTotalDose: radiopharmaceuticalInfo.radionuclideTotalDose,
+ DecayCorrection: decayCorrection,
+ PatientWeight: patientWeight,
+ SeriesDate: seriesDate,
+ SeriesTime: seriesTime,
+ AcquisitionDate: acquisitionDate,
+ AcquisitionTime: acquisitionTime,
+ };
+
+ if (
+ radiopharmaceuticalInfo.radiopharmaceuticalStartDateTime &&
+ radiopharmaceuticalInfo.radiopharmaceuticalStartDateTime !== undefined &&
+ typeof radiopharmaceuticalInfo.radiopharmaceuticalStartDateTime === "string"
+ ) {
+ instanceMetadata.RadiopharmaceuticalStartDateTime =
+ radiopharmaceuticalInfo.radiopharmaceuticalStartDateTime;
+ }
+
+ if (
+ radiopharmaceuticalInfo.radiopharmaceuticalStartDateTime &&
+ radiopharmaceuticalInfo.radiopharmaceuticalStartDateTime !== undefined &&
+ typeof radiopharmaceuticalInfo.radiopharmaceuticalStartDateTime !== "string"
+ ) {
+ const dateString = convertInterfaceDateToString(
+ radiopharmaceuticalInfo.radiopharmaceuticalStartDateTime
+ );
+ instanceMetadata.RadiopharmaceuticalStartDateTime = dateString;
+ }
+
+ if (
+ instanceMetadata.AcquisitionDate &&
+ instanceMetadata.AcquisitionDate !== undefined &&
+ typeof instanceMetadata.AcquisitionDate !== "string"
+ ) {
+ const dateString = convertInterfaceDateToString(
+ instanceMetadata.AcquisitionDate
+ );
+ instanceMetadata.AcquisitionDate = dateString;
+ }
+
+ if (
+ instanceMetadata.SeriesDate &&
+ instanceMetadata.SeriesDate !== undefined &&
+ typeof instanceMetadata.SeriesDate !== "string"
+ ) {
+ const dateString = convertInterfaceDateToString(
+ instanceMetadata.SeriesDate
+ );
+ instanceMetadata.SeriesDate = dateString;
+ }
+
+ if (
+ radiopharmaceuticalInfo.radiopharmaceuticalStartTime &&
+ radiopharmaceuticalInfo.radiopharmaceuticalStartTime !== undefined &&
+ typeof radiopharmaceuticalInfo.radiopharmaceuticalStartTime === "string"
+ ) {
+ instanceMetadata.RadiopharmaceuticalStartTime =
+ radiopharmaceuticalInfo.radiopharmaceuticalStartTime;
+ }
+
+ if (
+ radiopharmaceuticalInfo.radiopharmaceuticalStartTime &&
+ radiopharmaceuticalInfo.radiopharmaceuticalStartTime !== undefined &&
+ typeof radiopharmaceuticalInfo.radiopharmaceuticalStartTime !== "string"
+ ) {
+ const timeString = convertInterfaceTimeToString(
+ radiopharmaceuticalInfo.radiopharmaceuticalStartTime
+ );
+ instanceMetadata.RadiopharmaceuticalStartTime = timeString;
+ }
+
+ if (
+ instanceMetadata.AcquisitionTime &&
+ instanceMetadata.AcquisitionTime !== undefined &&
+ typeof instanceMetadata.AcquisitionTime !== "string"
+ ) {
+ const timeString = convertInterfaceTimeToString(
+ instanceMetadata.AcquisitionTime
+ );
+ instanceMetadata.AcquisitionTime = timeString;
+ }
+
+ if (
+ instanceMetadata.SeriesTime &&
+ instanceMetadata.SeriesTime !== undefined &&
+ typeof instanceMetadata.SeriesTime !== "string"
+ ) {
+ const timeString = convertInterfaceTimeToString(
+ instanceMetadata.SeriesTime
+ );
+ instanceMetadata.SeriesTime = timeString;
+ }
+
+ if (
+ ptImageModule.frameReferenceTime &&
+ ptImageModule.frameReferenceTime !== undefined
+ ) {
+ instanceMetadata.FrameReferenceTime = ptImageModule.frameReferenceTime;
+ }
+
+ if (
+ ptImageModule.actualFrameDuration &&
+ ptImageModule.actualFrameDuration !== undefined
+ ) {
+ instanceMetadata.ActualFrameDuration = ptImageModule.actualFrameDuration;
+ }
+
+ if (
+ patientStudyModule.patientSex &&
+ patientStudyModule.patientSex !== undefined
+ ) {
+ instanceMetadata.PatientSex = patientStudyModule.patientSex;
+ }
+
+ if (
+ patientStudyModule.patientSize &&
+ patientStudyModule.patientSize !== undefined
+ ) {
+ instanceMetadata.PatientSize = patientStudyModule.patientSize;
+ }
+
+ // Todo: add private tags
+ // if (
+ // dicomMetaData['70531000'] ||
+ // dicomMetaData['70531000'] !== undefined ||
+ // dicomMetaData['70531009'] ||
+ // dicomMetaData['70531009'] !== undefined
+ // ) {
+ // const philipsPETPrivateGroup: PhilipsPETPrivateGroup = {
+ // SUVScaleFactor: dicomMetaData['70531000'],
+ // ActivityConcentrationScaleFactor: dicomMetaData['70531009'],
+ // };
+ // instanceMetadata.PhilipsPETPrivateGroup = philipsPETPrivateGroup;
+ // }
+
+ // if (dicomMetaData['0009100d'] && dicomMetaData['0009100d'] !== undefined) {
+ // instanceMetadata.GEPrivatePostInjectionDateTime = dicomMetaData['0009100d'];
+ // }
+
+ return instanceMetadata;
+}
+
+function convertInterfaceTimeToString(time): string {
+ const hours = `${time.hours || "00"}`.padStart(2, "0");
+ const minutes = `${time.minutes || "00"}`.padStart(2, "0");
+ const seconds = `${time.seconds || "00"}`.padStart(2, "0");
+
+ const fractionalSeconds = `${time.fractionalSeconds || "000000"}`.padEnd(
+ 6,
+ "0"
+ );
+
+ const timeString = `${hours}${minutes}${seconds}.${fractionalSeconds}`;
+ return timeString;
+}
+
+function convertInterfaceDateToString(date): string {
+ const month = `${date.month}`.padStart(2, "0");
+ const day = `${date.day}`.padStart(2, "0");
+ const dateString = `${date.year}${month}${day}`;
+ return dateString;
+}
+
+export { getPTImageIdInstanceMetadata };
diff --git a/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/initCornerstoneDicomImageLoader.ts b/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/initCornerstoneDicomImageLoader.ts
index 147c378..da17d5d 100644
--- a/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/initCornerstoneDicomImageLoader.ts
+++ b/apps/aorta/src/modules/Root/Viewer/CornerstoneDicomLoader/initCornerstoneDicomImageLoader.ts
@@ -2,10 +2,19 @@ import dicomParser from "dicom-parser";
import * as cornerstone from "@cornerstonejs/core";
import cornerstoneDICOMImageLoader from "@cornerstonejs/dicom-image-loader";
+window.cornerstone = cornerstone;
+
export const initCornerstoneDICOMImageLoader = () => {
const { preferSizeOverAccuracy, useNorm16Texture } =
cornerstone.getConfiguration().rendering;
+ cornerstone.setConfiguration({
+ detectGPUConfig: {
+ benchmarksURL: "http://localhost:9000",
+ },
+ rendering: cornerstone.getConfiguration().rendering,
+ });
+
cornerstoneDICOMImageLoader.external.cornerstone = cornerstone;
cornerstoneDICOMImageLoader.external.dicomParser = dicomParser;
cornerstoneDICOMImageLoader.configure({
@@ -16,8 +25,14 @@ export const initCornerstoneDICOMImageLoader = () => {
},
});
+ let maxWebWorkers = 1;
+
+ if (navigator.hardwareConcurrency) {
+ maxWebWorkers = Math.min(navigator.hardwareConcurrency, 7);
+ }
+
const config = {
- maxWebWorkers: navigator.hardwareConcurrency ?? 7,
+ maxWebWorkers,
startWebWorkersOnDemand: false,
taskConfiguration: {
decodeTask: {
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/index.tsx b/apps/aorta/src/modules/Root/Viewer/Crosshair/index.tsx
index f9522cf..bdda23c 100644
--- a/apps/aorta/src/modules/Root/Viewer/Crosshair/index.tsx
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/index.tsx
@@ -1,18 +1,17 @@
+import { useEffect, useRef } from "react";
+import initDemo from "./util/initDemo.js";
import {
- Enums,
RenderingEngine,
+ Types,
+ Enums,
setVolumesForViewports,
volumeLoader,
+ getRenderingEngine,
} from "@cornerstonejs/core";
-import { createImageIdsAndCacheMetaData } from "../CornerstoneDicomLoader/createImageIdsAndCacheMetaData";
-import { initCornerstone } from "../CornerstoneDicomLoader/init";
-import { useEffect, useRef } from "react";
import * as cornerstoneTools from "@cornerstonejs/tools";
-import { PublicViewportInput } from "@cornerstonejs/core/dist/types/types";
-import { setCtTransferFunctionForVolumeActor } from "./setCtTransferFunctionForVolumeActor";
-interface CorsshairProps {
- children?: JSX.Element;
-}
+import createImageIdsAndCacheMetaData from "./util/createImageIdsAndCacheMetaData";
+import { PublicViewportInput } from "@cornerstonejs/core/dist/types/types/IViewport.js";
+import setCtTransferFunctionForVolumeActor from "./util/setCtTransferFunctionForVolumeActor";
const {
ToolGroupManager,
@@ -21,126 +20,185 @@ const {
StackScrollMouseWheelTool,
} = cornerstoneTools;
-const toolGroupId = "MY_TOOLGROUP_ID";
+const { ViewportType } = Enums;
+
+interface CrosshairMprProps {
+ children?: JSX.Element;
+}
+
+const viewportId1 = "CT_AXIAL";
+const viewportId2 = "CT_SAGITTAL";
+const viewportId3 = "CT_CORONAL";
+const toolGroupId = "group";
+
+const viewportColors = {
+ [viewportId1]: "rgb(200, 0, 0)",
+ [viewportId2]: "rgb(200, 200, 0)",
+ [viewportId3]: "rgb(0, 200, 0)",
+};
+
+const viewportReferenceLineControllable = [
+ viewportId1,
+ viewportId2,
+ viewportId3,
+];
+
+const viewportReferenceLineDraggableRotatable = [
+ viewportId1,
+ viewportId2,
+ viewportId3,
+];
+
+const viewportReferenceLineSlabThicknessControlsOn = [
+ viewportId1,
+ viewportId2,
+ viewportId3,
+];
+
+// Define a unique id for the volume
const volumeName = "CT_VOLUME_ID"; // Id of the volume less loader prefix
const volumeLoaderScheme = "cornerstoneStreamingImageVolume"; // Loader id which defines which volume loader to use
const volumeId = `${volumeLoaderScheme}:${volumeName}`; // VolumeId with loader id + volume id
-const renderingEngineId = "myRenderingEngine";
-const viewportA = "CT_AXIAL";
-const viewportB = "CT_SAGITTAL";
-const viewportC = "CT_CORONAL";
+function getReferenceLineColor(viewportId) {
+ return viewportColors[viewportId];
+}
-const viewportColors = {
- [viewportA]: "rgb(200, 0, 0)",
- [viewportB]: "rgb(200, 200, 0)",
- [viewportC]: "rgb(0, 200, 0)",
-};
+function getReferenceLineControllable(viewportId) {
+ const index = viewportReferenceLineControllable.indexOf(viewportId);
+ return index !== -1;
+}
-const { ViewportType } = Enums;
+function getReferenceLineDraggableRotatable(viewportId) {
+ const index = viewportReferenceLineDraggableRotatable.indexOf(viewportId);
+ return index !== -1;
+}
-const StudyInstanceUID =
- "1.2.840.113564.345049290535.9692.637552042156233117.433089";
-const SeriesInstanceUID =
- "1.3.12.2.1107.5.1.4.76315.30000021042706150001900118311";
+function getReferenceLineSlabThicknessControlsOn(viewportId) {
+ const index =
+ viewportReferenceLineSlabThicknessControlsOn.indexOf(viewportId);
+ return index !== -1;
+}
-export const Corsshair = (props: CorsshairProps) => {
- const viewportA = useRef(null);
- const viewportB = useRef(null);
- const viewportC = useRef(null);
+export const CrosshairMpr = (props: CrosshairMprProps) => {
+ const viewportId1Ref = useRef(null);
+ const viewportId2Ref = useRef(null);
+ const viewportId3Ref = useRef(null);
+
+ cornerstoneTools.addTool(StackScrollMouseWheelTool);
+ cornerstoneTools.addTool(CrosshairsTool);
const run = async () => {
- await initCornerstone();
- // Get Cornerstone imageIds and fetch metadata into RAM
+ initDemo();
+
+ // Get Cornerstone imageIds for the source data and fetch metadata into RAM
const imageIds = await createImageIdsAndCacheMetaData({
- StudyInstanceUID,
- SeriesInstanceUID,
+ StudyInstanceUID:
+ "1.2.840.113564.345049290535.9692.637552042156233117.433089",
+ SeriesInstanceUID:
+ "1.3.12.2.1107.5.1.4.76315.30000021042706150001900118311",
wadoRsRoot: "/dicom-web",
});
+ // Define a volume in memory
const volume = await volumeLoader.createAndCacheVolume(volumeId, {
imageIds,
});
- console.log(volume)
-
// Instantiate a rendering engine
- // const renderingEngine = new RenderingEngine(renderingEngineId);
+ const renderingEngineId = "myRenderingEngine";
+ const renderingEngine = new RenderingEngine(renderingEngineId);
- // if (viewportA.current && viewportB.current && viewportC.current) {
- // // Create the viewports
- // const viewportInputArray: PublicViewportInput[] = [
- // {
- // viewportId: viewportA.current,
- // type: ViewportType.ORTHOGRAPHIC,
- // element: viewportA.current,
- // defaultOptions: {
- // orientation: Enums.OrientationAxis.AXIAL,
- // background: [0, 0, 0],
- // },
- // },
- // {
- // viewportId: viewportB.current,
- // type: ViewportType.ORTHOGRAPHIC,
- // element: viewportB.current,
- // defaultOptions: {
- // orientation: Enums.OrientationAxis.SAGITTAL,
- // background: [0, 0, 0],
- // },
- // },
- // {
- // viewportId: viewportC.current,
- // type: ViewportType.ORTHOGRAPHIC,
- // element: viewportC.current,
- // defaultOptions: {
- // orientation: Enums.OrientationAxis.CORONAL,
- // background: [0, 0, 0],
- // },
- // },
- // ];
+ // Create the viewports
+ const viewportInputArray: PublicViewportInput[] = [
+ {
+ viewportId: viewportId1,
+ type: ViewportType.ORTHOGRAPHIC,
+ element: viewportId1Ref.current!,
+ defaultOptions: {
+ orientation: Enums.OrientationAxis.AXIAL,
+ background: [0, 0, 0],
+ },
+ },
+ {
+ viewportId: viewportId2,
+ type: ViewportType.ORTHOGRAPHIC,
+ element: viewportId2Ref.current!,
+ defaultOptions: {
+ orientation: Enums.OrientationAxis.SAGITTAL,
+ background: [0, 0, 0],
+ },
+ },
+ {
+ viewportId: viewportId3,
+ type: ViewportType.ORTHOGRAPHIC,
+ element: viewportId3Ref.current!,
+ defaultOptions: {
+ orientation: Enums.OrientationAxis.CORONAL,
+ background: [0, 0, 0],
+ },
+ },
+ ];
- // renderingEngine.setViewports(viewportInputArray);
+ renderingEngine.setViewports(viewportInputArray);
- // volume.load();
+ // Set the volume to load
+ volume.load();
- // await setVolumesForViewports(
- // renderingEngine,
- // [
- // {
- // volumeId,
- // callback: () => setCtTransferFunctionForVolumeActor,
- // },
- // ],
- // [viewportA.current!, viewportB.current!, viewportC.current!]
- // );
+ // Set volumes on the viewports
+ await setVolumesForViewports(
+ renderingEngine,
+ [
+ {
+ volumeId,
+ callback: setCtTransferFunctionForVolumeActor,
+ },
+ ],
+ [viewportId1, viewportId2, viewportId3]
+ );
- // // Render the image
- // renderingEngine.renderViewports([
- // viewportA.current!,
- // viewportB.current!,
- // viewportC.current!,
- // ]);
- // }
+ // Define tool groups to add the segmentation display tool to
+ const toolGroup = ToolGroupManager.createToolGroup(toolGroupId);
+ // For the crosshairs to operate, the viewports must currently be
+ // added ahead of setting the tool active. This will be improved in the future.
+ toolGroup.addViewport(viewportId1, renderingEngineId);
+ toolGroup.addViewport(viewportId2, renderingEngineId);
+ toolGroup.addViewport(viewportId3, renderingEngineId);
+ // Manipulation Tools
+ toolGroup.addTool(StackScrollMouseWheelTool.toolName);
+ // Add Crosshairs tool and configure it to link the three viewports
+ // These viewports could use different tool groups. See the PET-CT example
+ // for a more complicated used case.
+
+ toolGroup.addTool(CrosshairsTool.toolName, {
+ getReferenceLineColor,
+ getReferenceLineControllable,
+ getReferenceLineDraggableRotatable,
+ getReferenceLineSlabThicknessControlsOn,
+ });
+
+ toolGroup.setToolActive(CrosshairsTool.toolName, {
+ bindings: [{ mouseButton: 1 }],
+ });
+ // As the Stack Scroll mouse wheel is a tool using the `mouseWheelCallback`
+ // hook instead of mouse buttons, it does not need to assign any mouse button.
+ toolGroup.setToolActive(StackScrollMouseWheelTool.toolName);
+
+ renderingEngine.renderViewports([viewportId1, viewportId2, viewportId3]);
};
useEffect(() => {
run();
}, []);
-
return (
-
-
-
-
+
);
};
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/util/convertMultiframeImageIds.js b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/convertMultiframeImageIds.js
new file mode 100644
index 0000000..8f2c333
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/convertMultiframeImageIds.js
@@ -0,0 +1,65 @@
+import { metaData } from '@cornerstonejs/core';
+import cornerstoneDICOMImageLoader from '@cornerstonejs/dicom-image-loader';
+/**
+ * preloads imageIds metadata in memory
+ **/
+async function prefetchMetadataInformation(imageIdsToPrefetch) {
+ for (let i = 0; i < imageIdsToPrefetch.length; i++) {
+ await cornerstoneDICOMImageLoader.wadouri.loadImage(imageIdsToPrefetch[i])
+ .promise;
+ }
+}
+
+function getFrameInformation(imageId) {
+ if (imageId.includes('wadors:')) {
+ const frameIndex = imageId.indexOf('/frames/');
+ const imageIdFrameless =
+ frameIndex > 0 ? imageId.slice(0, frameIndex + 8) : imageId;
+ return {
+ frameIndex,
+ imageIdFrameless,
+ };
+ } else {
+ const frameIndex = imageId.indexOf('&frame=');
+ let imageIdFrameless =
+ frameIndex > 0 ? imageId.slice(0, frameIndex + 7) : imageId;
+ if (!imageIdFrameless.includes('&frame=')) {
+ imageIdFrameless = imageIdFrameless + '&frame=';
+ }
+ return {
+ frameIndex,
+ imageIdFrameless,
+ };
+ }
+}
+/**
+ * Receives a list of imageids possibly referring to multiframe dicom images
+ * and returns a list of imageid where each imageid referes to one frame.
+ * For each imageId representing a multiframe image with n frames,
+ * it will create n new imageids, one for each frame, and returns the new list of imageids
+ * If a particular imageid no refer to a mutiframe image data, it will be just copied into the new list
+ * @returns new list of imageids where each imageid represents a frame
+ */
+function convertMultiframeImageIds(imageIds) {
+ const newImageIds = [];
+ imageIds.forEach((imageId) => {
+ const { imageIdFrameless } = getFrameInformation(imageId);
+ const instanceMetaData = metaData.get('multiframeModule', imageId);
+ if (
+ instanceMetaData &&
+ instanceMetaData.NumberOfFrames &&
+ instanceMetaData.NumberOfFrames > 1
+ ) {
+ const NumberOfFrames = instanceMetaData.NumberOfFrames;
+ for (let i = 0; i < NumberOfFrames; i++) {
+ const newImageId = imageIdFrameless + (i + 1);
+ newImageIds.push(newImageId);
+ }
+ } else {
+ newImageIds.push(imageId);
+ }
+ });
+ return newImageIds;
+}
+
+export { convertMultiframeImageIds, prefetchMetadataInformation };
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/util/createImageIdsAndCacheMetaData.js b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/createImageIdsAndCacheMetaData.js
new file mode 100644
index 0000000..4c7852c
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/createImageIdsAndCacheMetaData.js
@@ -0,0 +1,101 @@
+import { api } from 'dicomweb-client';
+import dcmjs from 'dcmjs';
+import { utilities } from '@cornerstonejs/core';
+import cornerstoneDICOMImageLoader from '@cornerstonejs/dicom-image-loader';
+import getPixelSpacingInformation from './getPixelSpacingInformation';
+import { convertMultiframeImageIds } from './convertMultiframeImageIds';
+import removeInvalidTags from './removeInvalidTags';
+
+const { DicomMetaDictionary } = dcmjs.data;
+const { calibratedPixelSpacingMetadataProvider } = utilities;
+
+/**
+/**
+ * Uses dicomweb-client to fetch metadata of a study, cache it in cornerstone,
+ * and return a list of imageIds for the frames.
+ *
+ * Uses the app config to choose which study to fetch, and which
+ * dicom-web server to fetch it from.
+ *
+ * @returns {string[]} An array of imageIds for instances in the study.
+ */
+
+export default async function createImageIdsAndCacheMetaData({
+ StudyInstanceUID,
+ SeriesInstanceUID,
+ SOPInstanceUID = null,
+ wadoRsRoot,
+ client = null,
+}) {
+ const SOP_INSTANCE_UID = '00080018';
+ const SERIES_INSTANCE_UID = '0020000E';
+ const MODALITY = '00080060';
+
+ const studySearchOptions = {
+ studyInstanceUID: StudyInstanceUID,
+ seriesInstanceUID: SeriesInstanceUID,
+ };
+
+ client = client || new api.DICOMwebClient({ url: wadoRsRoot });
+ let instances = await client.retrieveSeriesMetadata(studySearchOptions);
+
+ // if sop instance is provided we should filter the instances to only include the one we want
+ if (SOPInstanceUID) {
+ instances = instances.filter((instance) => {
+ return instance[SOP_INSTANCE_UID].Value[0] === SOPInstanceUID;
+ });
+ }
+
+ const modality = instances[0][MODALITY].Value[0];
+ let imageIds = instances.map((instanceMetaData) => {
+ const SeriesInstanceUID = instanceMetaData[SERIES_INSTANCE_UID].Value[0];
+ const SOPInstanceUIDToUse =
+ SOPInstanceUID || instanceMetaData[SOP_INSTANCE_UID].Value[0];
+
+ const prefix = 'wadors:';
+
+ const imageId =
+ prefix +
+ wadoRsRoot +
+ '/studies/' +
+ StudyInstanceUID +
+ '/series/' +
+ SeriesInstanceUID +
+ '/instances/' +
+ SOPInstanceUIDToUse +
+ '/frames/1';
+
+ cornerstoneDICOMImageLoader.wadors.metaDataManager.add(
+ imageId,
+ instanceMetaData
+ );
+ return imageId;
+ });
+
+ // if the image ids represent multiframe information, creates a new list with one image id per frame
+ // if not multiframe data available, just returns the same list given
+ imageIds = convertMultiframeImageIds(imageIds);
+
+ imageIds.forEach((imageId) => {
+ let instanceMetaData =
+ cornerstoneDICOMImageLoader.wadors.metaDataManager.get(imageId);
+
+ // It was using JSON.parse(JSON.stringify(...)) before but it is 8x slower
+ instanceMetaData = removeInvalidTags(instanceMetaData);
+
+ if (instanceMetaData) {
+ // Add calibrated pixel spacing
+ const metadata = DicomMetaDictionary.naturalizeDataset(instanceMetaData);
+ const pixelSpacing = getPixelSpacingInformation(metadata);
+
+ if (pixelSpacing) {
+ calibratedPixelSpacingMetadataProvider.add(imageId, {
+ rowPixelSpacing: parseFloat(pixelSpacing[0]),
+ columnPixelSpacing: parseFloat(pixelSpacing[1]),
+ });
+ }
+ }
+ });
+
+ return imageIds;
+}
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/util/getPixelSpacingInformation.js b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/getPixelSpacingInformation.js
new file mode 100644
index 0000000..5ddcde5
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/getPixelSpacingInformation.js
@@ -0,0 +1,136 @@
+// See https://github.com/OHIF/Viewers/blob/94a9067fe3d291d30e25a1bda5913511388edea2/platform/core/src/utils/metadataProvider/getPixelSpacingInformation.js
+
+export default function getPixelSpacingInformation(instance) {
+ // See http://gdcm.sourceforge.net/wiki/index.php/Imager_Pixel_Spacing
+
+ // TODO: Add Ultrasound region spacing
+ // TODO: Add manual calibration
+
+ // TODO: Use ENUMS from dcmjs
+ const projectionRadiographSOPClassUIDs = [
+ '1.2.840.10008.5.1.4.1.1.1', // CR Image Storage
+ '1.2.840.10008.5.1.4.1.1.1.1', // Digital X-Ray Image Storage – for Presentation
+ '1.2.840.10008.5.1.4.1.1.1.1.1', // Digital X-Ray Image Storage – for Processing
+ '1.2.840.10008.5.1.4.1.1.1.2', // Digital Mammography X-Ray Image Storage – for Presentation
+ '1.2.840.10008.5.1.4.1.1.1.2.1', // Digital Mammography X-Ray Image Storage – for Processing
+ '1.2.840.10008.5.1.4.1.1.1.3', // Digital Intra – oral X-Ray Image Storage – for Presentation
+ '1.2.840.10008.5.1.4.1.1.1.3.1', // Digital Intra – oral X-Ray Image Storage – for Processing
+ '1.2.840.10008.5.1.4.1.1.12.1', // X-Ray Angiographic Image Storage
+ '1.2.840.10008.5.1.4.1.1.12.1.1', // Enhanced XA Image Storage
+ '1.2.840.10008.5.1.4.1.1.12.2', // X-Ray Radiofluoroscopic Image Storage
+ '1.2.840.10008.5.1.4.1.1.12.2.1', // Enhanced XRF Image Storage
+ '1.2.840.10008.5.1.4.1.1.12.3', // X-Ray Angiographic Bi-plane Image Storage Retired
+ ];
+
+ const {
+ PixelSpacing,
+ ImagerPixelSpacing,
+ SOPClassUID,
+ PixelSpacingCalibrationType,
+ PixelSpacingCalibrationDescription,
+ EstimatedRadiographicMagnificationFactor,
+ SequenceOfUltrasoundRegions,
+ } = instance;
+
+ const isProjection = projectionRadiographSOPClassUIDs.includes(SOPClassUID);
+
+ const TYPES = {
+ NOT_APPLICABLE: 'NOT_APPLICABLE',
+ UNKNOWN: 'UNKNOWN',
+ CALIBRATED: 'CALIBRATED',
+ DETECTOR: 'DETECTOR',
+ };
+
+ if (!isProjection) {
+ return PixelSpacing;
+ }
+
+ if (isProjection && !ImagerPixelSpacing) {
+ // If only Pixel Spacing is present, and this is a projection radiograph,
+ // PixelSpacing should be used, but the user should be informed that
+ // what it means is unknown
+ return {
+ PixelSpacing,
+ type: TYPES.UNKNOWN,
+ isProjection,
+ };
+ } else if (
+ PixelSpacing &&
+ ImagerPixelSpacing &&
+ PixelSpacing === ImagerPixelSpacing
+ ) {
+ // If Imager Pixel Spacing and Pixel Spacing are present and they have the same values,
+ // then the user should be informed that the measurements are at the detector plane
+ return {
+ PixelSpacing,
+ type: TYPES.DETECTOR,
+ isProjection,
+ };
+ } else if (
+ PixelSpacing &&
+ ImagerPixelSpacing &&
+ PixelSpacing !== ImagerPixelSpacing
+ ) {
+ // If Imager Pixel Spacing and Pixel Spacing are present and they have different values,
+ // then the user should be informed that these are "calibrated"
+ // (in some unknown manner if Pixel Spacing Calibration Type and/or
+ // Pixel Spacing Calibration Description are absent)
+ return {
+ PixelSpacing,
+ type: TYPES.CALIBRATED,
+ isProjection,
+ PixelSpacingCalibrationType,
+ PixelSpacingCalibrationDescription,
+ };
+ } else if (!PixelSpacing && ImagerPixelSpacing) {
+ let CorrectedImagerPixelSpacing = ImagerPixelSpacing;
+ if (EstimatedRadiographicMagnificationFactor) {
+ // Note that in IHE Mammo profile compliant displays, the value of Imager Pixel Spacing is required to be corrected by
+ // Estimated Radiographic Magnification Factor and the user informed of that.
+ // TODO: should this correction be done before all of this logic?
+ CorrectedImagerPixelSpacing = ImagerPixelSpacing.map(
+ (pixelSpacing) =>
+ pixelSpacing / EstimatedRadiographicMagnificationFactor
+ );
+ } else {
+ console.warn(
+ 'EstimatedRadiographicMagnificationFactor was not present. Unable to correct ImagerPixelSpacing.'
+ );
+ }
+
+ return {
+ PixelSpacing: CorrectedImagerPixelSpacing,
+ isProjection,
+ };
+ } else if (
+ SequenceOfUltrasoundRegions &&
+ typeof SequenceOfUltrasoundRegions === 'object'
+ ) {
+ const { PhysicalDeltaX, PhysicalDeltaY } = SequenceOfUltrasoundRegions;
+ const USPixelSpacing = [PhysicalDeltaX * 10, PhysicalDeltaY * 10];
+
+ return {
+ PixelSpacing: USPixelSpacing,
+ };
+ } else if (
+ SequenceOfUltrasoundRegions &&
+ Array.isArray(SequenceOfUltrasoundRegions) &&
+ SequenceOfUltrasoundRegions.length > 1
+ ) {
+ console.warn(
+ 'Sequence of Ultrasound Regions > one entry. This is not yet implemented, all measurements will be shown in pixels.'
+ );
+ } else if (isProjection === false && !ImagerPixelSpacing) {
+ // If only Pixel Spacing is present, and this is not a projection radiograph,
+ // we can stop here
+ return {
+ PixelSpacing,
+ type: TYPES.NOT_APPLICABLE,
+ isProjection,
+ };
+ }
+
+ console.warn(
+ 'Unknown combination of PixelSpacing and ImagerPixelSpacing identified. Unable to determine spacing.'
+ );
+}
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initCornerstoneDICOMImageLoader.js b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initCornerstoneDICOMImageLoader.js
new file mode 100644
index 0000000..1bafa53
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initCornerstoneDICOMImageLoader.js
@@ -0,0 +1,47 @@
+import dicomParser from 'dicom-parser';
+import * as cornerstone from '@cornerstonejs/core';
+import * as cornerstoneTools from '@cornerstonejs/tools';
+import cornerstoneDICOMImageLoader from '@cornerstonejs/dicom-image-loader';
+
+window.cornerstone = cornerstone;
+window.cornerstoneTools = cornerstoneTools;
+const { preferSizeOverAccuracy, useNorm16Texture } =
+ cornerstone.getConfiguration().rendering;
+
+export default function initCornerstoneDICOMImageLoader() {
+ // TODO: 此处非常的蛇皮
+ cornerstone.setUseSharedArrayBuffer(false)
+ cornerstone.setConfiguration({
+ detectGPUConfig: {
+ benchmarksURL: "http://localhost:9000"
+ }
+ })
+ cornerstoneDICOMImageLoader.external.cornerstone = cornerstone;
+ cornerstoneDICOMImageLoader.external.dicomParser = dicomParser;
+ cornerstoneDICOMImageLoader.configure({
+ useWebWorkers: true,
+ decodeConfig: {
+ convertFloatPixelDataToInt: false,
+ use16BitDataType: preferSizeOverAccuracy || useNorm16Texture,
+ },
+ });
+
+ let maxWebWorkers = 1;
+
+ if (navigator.hardwareConcurrency) {
+ maxWebWorkers = Math.min(navigator.hardwareConcurrency, 7);
+ }
+
+ var config = {
+ maxWebWorkers,
+ startWebWorkersOnDemand: false,
+ taskConfiguration: {
+ decodeTask: {
+ initializeCodecsOnStartup: false,
+ strict: false,
+ },
+ },
+ };
+
+ cornerstoneDICOMImageLoader.webWorkerManager.initialize(config);
+}
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initDemo.js b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initDemo.js
new file mode 100644
index 0000000..ec5eb4e
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initDemo.js
@@ -0,0 +1,13 @@
+import initProviders from './initProviders.js';
+import initCornerstoneDICOMImageLoader from './initCornerstoneDICOMImageLoader';
+import initVolumeLoader from './initVolumeLoader';
+import { init as csRenderInit } from '@cornerstonejs/core';
+import { init as csToolsInit } from '@cornerstonejs/tools';
+
+export default async function initDemo() {
+ initProviders();
+ initCornerstoneDICOMImageLoader();
+ initVolumeLoader();
+ await csRenderInit();
+ await csToolsInit();
+}
\ No newline at end of file
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initProviders.js b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initProviders.js
new file mode 100644
index 0000000..3d12f3f
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initProviders.js
@@ -0,0 +1,17 @@
+import * as cornerstone from '@cornerstonejs/core';
+import ptScalingMetaDataProvider from './ptScalingMetaDataProvider';
+
+const { calibratedPixelSpacingMetadataProvider } = cornerstone.utilities;
+
+export default function initProviders() {
+ cornerstone.metaData.addProvider(
+ ptScalingMetaDataProvider.get.bind(ptScalingMetaDataProvider),
+ 10000
+ );
+ cornerstone.metaData.addProvider(
+ calibratedPixelSpacingMetadataProvider.get.bind(
+ calibratedPixelSpacingMetadataProvider
+ ),
+ 11000
+ );
+}
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initVolumeLoader.js b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initVolumeLoader.js
new file mode 100644
index 0000000..22a81d6
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/initVolumeLoader.js
@@ -0,0 +1,19 @@
+import { volumeLoader } from '@cornerstonejs/core';
+import {
+ cornerstoneStreamingImageVolumeLoader,
+ cornerstoneStreamingDynamicImageVolumeLoader,
+} from '@cornerstonejs/streaming-image-volume-loader';
+
+export default function initVolumeLoader() {
+ volumeLoader.registerUnknownVolumeLoader(
+ cornerstoneStreamingImageVolumeLoader
+ );
+ volumeLoader.registerVolumeLoader(
+ 'cornerstoneStreamingImageVolume',
+ cornerstoneStreamingImageVolumeLoader
+ );
+ volumeLoader.registerVolumeLoader(
+ 'cornerstoneStreamingDynamicImageVolume',
+ cornerstoneStreamingDynamicImageVolumeLoader
+ );
+}
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/util/ptScalingMetaDataProvider.js b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/ptScalingMetaDataProvider.js
new file mode 100644
index 0000000..52fa9c8
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/ptScalingMetaDataProvider.js
@@ -0,0 +1,17 @@
+import { utilities as csUtils } from '@cornerstonejs/core';
+
+const scalingPerImageId = {};
+
+function addInstance(imageId, scalingMetaData) {
+ const imageURI = csUtils.imageIdToURI(imageId);
+ scalingPerImageId[imageURI] = scalingMetaData;
+}
+
+function get(type, imageId) {
+ if (type === 'scalingModule') {
+ const imageURI = csUtils.imageIdToURI(imageId);
+ return scalingPerImageId[imageURI];
+ }
+}
+
+export default { addInstance, get };
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/util/removeInvalidTags.js b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/removeInvalidTags.js
new file mode 100644
index 0000000..abf7652
--- /dev/null
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/removeInvalidTags.js
@@ -0,0 +1,33 @@
+/**
+ * Remove invalid tags from a metadata and return a new object.
+ *
+ * At this time it is only removing tags that has `null` or `undefined` values
+ * which is our main goal because that breaks when `naturalizeDataset(...)` is
+ * called.
+ *
+ * Validating the tag id using regex like /^[a-fA-F0-9]{8}$/ make it run
+ * +50% slower and looping through all characteres (split+every+Set or simple
+ * FOR+Set) double the time it takes to run. It is currently taking +12ms/1k
+ * images on average which can change depending on the machine.
+ *
+ * @param srcMetadata - source metadata
+ * @returns new metadata object without invalid tags
+ */
+function removeInvalidTags(srcMetadata) {
+ // Object.create(null) make it ~9% faster
+ const dstMetadata = Object.create(null);
+ const tagIds = Object.keys(srcMetadata);
+ let tagValue;
+
+ tagIds.forEach((tagId) => {
+ tagValue = srcMetadata[tagId];
+
+ if (tagValue !== undefined && tagValue !== null) {
+ dstMetadata[tagId] = tagValue;
+ }
+ });
+
+ return dstMetadata;
+}
+
+export { removeInvalidTags as default, removeInvalidTags };
diff --git a/apps/aorta/src/modules/Root/Viewer/Crosshair/setCtTransferFunctionForVolumeActor.ts b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/setCtTransferFunctionForVolumeActor.js
similarity index 52%
rename from apps/aorta/src/modules/Root/Viewer/Crosshair/setCtTransferFunctionForVolumeActor.ts
rename to apps/aorta/src/modules/Root/Viewer/Crosshair/util/setCtTransferFunctionForVolumeActor.js
index 3be3a65..acc9ab9 100644
--- a/apps/aorta/src/modules/Root/Viewer/Crosshair/setCtTransferFunctionForVolumeActor.ts
+++ b/apps/aorta/src/modules/Root/Viewer/Crosshair/util/setCtTransferFunctionForVolumeActor.js
@@ -1,20 +1,16 @@
-import { VolumeActor } from "@cornerstonejs/core/dist/types/types";
-
const windowWidth = 400;
const windowCenter = 40;
const lower = windowCenter - windowWidth / 2.0;
const upper = windowCenter + windowWidth / 2.0;
-export const ctVoiRange = { lower, upper };
+const ctVoiRange = { lower, upper };
-export const setCtTransferFunctionForVolumeActor = ({
- volumeActor,
-}: {
- volumeActor: VolumeActor;
-}) => {
+export default function setCtTransferFunctionForVolumeActor({ volumeActor }) {
volumeActor
.getProperty()
.getRGBTransferFunction(0)
.setMappingRange(lower, upper);
-};
+}
+
+export { ctVoiRange };
diff --git a/apps/aorta/src/modules/Root/Viewer/VolumeViewer/index.tsx b/apps/aorta/src/modules/Root/Viewer/StackViewer/index.tsx
similarity index 90%
rename from apps/aorta/src/modules/Root/Viewer/VolumeViewer/index.tsx
rename to apps/aorta/src/modules/Root/Viewer/StackViewer/index.tsx
index 23f559f..622f595 100644
--- a/apps/aorta/src/modules/Root/Viewer/VolumeViewer/index.tsx
+++ b/apps/aorta/src/modules/Root/Viewer/StackViewer/index.tsx
@@ -1,13 +1,13 @@
import { useEffect, useRef } from "react";
import { Enums, RenderingEngine, cache } from "@cornerstonejs/core";
-import { initCornerstone } from "../CornerstoneDicomLoader/initCornerstoneDicomImageLoader";
+import { initCornerstone } from "../CornerstoneDicomLoader/init";
import { createImageIdsAndCacheMetaData } from "../CornerstoneDicomLoader/createImageIdsAndCacheMetaData";
import {
IStackViewport,
PublicViewportInput,
} from "@cornerstonejs/core/dist/types/types";
-interface VolumeViewerProps {
+interface StackViewerProps {
children?: JSX.Element;
}
@@ -21,7 +21,7 @@ const StudyInstanceUID =
const SeriesInstanceUID =
"1.3.12.2.1107.5.1.4.76315.30000021042706150001900118311";
-export const VolumeViewer = (props: VolumeViewerProps) => {
+export const StackViewer = (props: StackViewerProps) => {
const dicomRef = useRef(null);
const run = async () => {
diff --git a/apps/aorta/src/modules/Root/Viewer/VolumeViewer/type.d.ts b/apps/aorta/src/modules/Root/Viewer/StackViewer/type.d.ts
similarity index 100%
rename from apps/aorta/src/modules/Root/Viewer/VolumeViewer/type.d.ts
rename to apps/aorta/src/modules/Root/Viewer/StackViewer/type.d.ts
diff --git a/apps/aorta/src/modules/Root/Viewer/index.tsx b/apps/aorta/src/modules/Root/Viewer/index.tsx
index e331896..1ccc4eb 100644
--- a/apps/aorta/src/modules/Root/Viewer/index.tsx
+++ b/apps/aorta/src/modules/Root/Viewer/index.tsx
@@ -1,7 +1,7 @@
-import { Corsshair } from "./Crosshair";
+import { CrosshairMpr } from "./Crosshair";
import { DiffViewer } from "./DiffViewer";
import { MprViewer } from "./MprViewer";
-import { VolumeViewer } from "./VolumeViewer";
+import { StackViewer } from "./StackViewer";
interface RootViewerProps {
children?: JSX.Element;
@@ -10,7 +10,8 @@ interface RootViewerProps {
export const RootViewer = (props: RootViewerProps) => {
return (
-
+
+ {/* */}
);
};
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2421a51..bc49621 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -14,9 +14,12 @@ importers:
apps/aorta:
dependencies:
+ '@cornerstonejs/calculate-suv':
+ specifier: 1.1.0
+ version: 1.1.0
'@cornerstonejs/core':
specifier: 1.41.0
- version: 192.168.4.201+4873/@cornerstonejs/core@1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
+ version: 1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
'@cornerstonejs/dicom-image-loader':
specifier: 1.41.0
version: 192.168.4.201+4873/@cornerstonejs/dicom-image-loader@1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
@@ -24,8 +27,8 @@ importers:
specifier: 1.41.0
version: 1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
'@cornerstonejs/tools':
- specifier: 3.0.2
- version: 3.0.2
+ specifier: 1.41.0
+ version: 1.41.0(@babel/preset-env@7.21.5)(@kitware/vtk.js@29.2.0)(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(autoprefixer@10.4.15)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)(webpack@5.75.0)(wslink@1.11.4)
'@kitware/vtk.js':
specifier: 29.2.0
version: 192.168.4.201+4873/@kitware/vtk.js@29.2.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
@@ -44,12 +47,6 @@ importers:
axios:
specifier: 1.3.6
version: 1.3.6
- cornerstone-core:
- specifier: 2.6.1
- version: 192.168.4.201+4873/cornerstone-core@2.6.1
- cornerstone-wado-image-loader:
- specifier: 4.13.2
- version: 192.168.4.201+4873/cornerstone-wado-image-loader@4.13.2(@babel/core@7.21.8)(cornerstone-core@2.6.1)(eslint@8.44.0)
dcmjs:
specifier: 0.30.0
version: 0.30.0
@@ -1614,6 +1611,7 @@ packages:
/@aashutoshrathi/word-wrap@1.2.6:
resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
engines: {node: '>=0.10.0'}
+ dev: true
/@acuminous/bitsyntax@0.1.2:
resolution: {integrity: sha512-29lUK80d1muEQqiUsSo+3A0yP6CdspgC95EnKBMi22Xlwt79i/En4Vr67+cXhU+cZjbti3TgGGC5wy1stIywVQ==}
@@ -2972,12 +2970,6 @@ packages:
regenerator-runtime: 0.14.0
dev: false
- /@babel/runtime@7.1.2:
- resolution: {integrity: sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==, tarball: http://192.168.4.201:4873/@babel%2fruntime/-/runtime-7.1.2.tgz}
- dependencies:
- regenerator-runtime: 0.12.1
- dev: false
-
/@babel/runtime@7.17.9:
resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==, tarball: http://192.168.4.201:4873/@babel%2fruntime/-/runtime-7.17.9.tgz}
engines: {node: '>=6.9.0'}
@@ -3033,7 +3025,7 @@ packages:
/@changesets/apply-release-plan@6.1.4:
resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==}
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@changesets/config': 2.3.1
'@changesets/get-version-range-type': 0.3.2
'@changesets/git': 2.0.0
@@ -3051,7 +3043,7 @@ packages:
/@changesets/assemble-release-plan@5.2.4:
resolution: {integrity: sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==}
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@changesets/errors': 0.1.4
'@changesets/get-dependents-graph': 1.3.6
'@changesets/types': 5.2.1
@@ -3135,7 +3127,7 @@ packages:
/@changesets/get-release-plan@3.0.17:
resolution: {integrity: sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==}
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@changesets/assemble-release-plan': 5.2.4
'@changesets/config': 2.3.1
'@changesets/pre': 1.0.14
@@ -3151,7 +3143,7 @@ packages:
/@changesets/git@2.0.0:
resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==}
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@changesets/errors': 0.1.4
'@changesets/types': 5.2.1
'@manypkg/get-packages': 1.1.3
@@ -3176,7 +3168,7 @@ packages:
/@changesets/pre@1.0.14:
resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==}
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@changesets/errors': 0.1.4
'@changesets/types': 5.2.1
'@manypkg/get-packages': 1.1.3
@@ -3186,7 +3178,7 @@ packages:
/@changesets/read@0.5.9:
resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==}
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@changesets/git': 2.0.0
'@changesets/logger': 0.0.5
'@changesets/parse': 0.3.16
@@ -3207,7 +3199,7 @@ packages:
/@changesets/write@0.2.3:
resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==}
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@changesets/types': 5.2.1
fs-extra: 7.0.1
human-id: 1.0.2
@@ -3221,6 +3213,11 @@ packages:
dev: true
optional: true
+ /@cornerstonejs/calculate-suv@1.1.0:
+ resolution: {integrity: sha512-Q9XraiDJif9aMFArD2iEuDO/HXbcRVCqB7KfaHgDrdTTjgDFovS91Psbdim7crypRSvE6dh/+HKeFNHdvNkA6w==, tarball: http://192.168.4.201:4873/@cornerstonejs%2fcalculate-suv/-/calculate-suv-1.1.0.tgz}
+ engines: {node: '>=10'}
+ dev: false
+
/@cornerstonejs/core@1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4):
resolution: {integrity: sha512-bAHLDGixOgenDPQee+LaB7N7TSDix9RLAwVDFpXWVglFadYxWBtupWg3b6+lMGZGUL2PLfBI9z7nnGQOCV4pgw==, tarball: http://192.168.4.201:4873/@cornerstonejs%2fcore/-/core-1.41.0.tgz}
dependencies:
@@ -3248,12 +3245,31 @@ packages:
- wslink
dev: false
- /@cornerstonejs/tools@3.0.2:
- resolution: {integrity: sha512-RgPQbRey8gMIjvGUgEdMQ4E6kOxXZzqwFzmmY6YgwVc1YPubeODoESgPDhlIfasTN7DWAxcmoFRyHMQgcvu2lg==, tarball: http://192.168.4.201:4873/@cornerstonejs%2ftools/-/tools-3.0.2.tgz}
- deprecated: Use cornerstone-tools instead if you are looking for cornerstone legacy, this package name will be reused for cornerstone3d tools soon
+ /@cornerstonejs/tools@1.41.0(@babel/preset-env@7.21.5)(@kitware/vtk.js@29.2.0)(@types/d3-array@3.2.1)(@types/d3-interpolate@3.0.4)(autoprefixer@10.4.15)(d3-array@3.2.4)(d3-interpolate@3.0.1)(gl-matrix@3.4.3)(webpack@5.75.0)(wslink@1.11.4):
+ resolution: {integrity: sha512-+UIFPrHFiTNzNN7xNDcTsNVDJqW7RuxzMuqCFm7nMDrKvkzNmTrykVc8BjnYUYokh7RGmOhzRGtWMnmO1lP0Tg==, tarball: http://192.168.4.201:4873/@cornerstonejs%2ftools/-/tools-1.41.0.tgz}
+ peerDependencies:
+ '@kitware/vtk.js': 27.3.1
+ '@types/d3-array': ^3.0.4
+ '@types/d3-interpolate': ^3.0.1
+ d3-array: ^3.2.3
+ d3-interpolate: ^3.0.1
+ gl-matrix: ^3.4.3
dependencies:
- '@babel/runtime': 7.1.2
- cornerstone-math: 0.1.10
+ '@cornerstonejs/core': 1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
+ '@kitware/vtk.js': 192.168.4.201+4873/@kitware/vtk.js@29.2.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
+ '@types/d3-array': 3.2.1
+ '@types/d3-interpolate': 3.0.4
+ comlink: 4.4.1
+ d3-array: 3.2.4
+ d3-interpolate: 3.0.1
+ gl-matrix: 3.4.3
+ lodash.clonedeep: 4.5.0
+ lodash.get: 4.4.2
+ transitivePeerDependencies:
+ - '@babel/preset-env'
+ - autoprefixer
+ - webpack
+ - wslink
dev: false
/@cspotcode/source-map-support@0.8.1:
@@ -3485,10 +3501,12 @@ packages:
dependencies:
eslint: 8.44.0
eslint-visitor-keys: 3.4.3
+ dev: true
/@eslint-community/regexpp@4.8.0:
resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
/@eslint/eslintrc@2.1.2:
resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==}
@@ -3505,10 +3523,12 @@ packages:
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
+ dev: true
/@eslint/js@8.44.0:
resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
/@fingerprintjs/fingerprintjs@4.0.1:
resolution: {integrity: sha512-utXfX0ntmU08MxQ1cfKRbri57xb+aqYNIt2UNYcPsT/fQgKhZsnIBGRIhEifMZ7NZDyGLAhctWaytDkC27fibA==}
@@ -3525,13 +3545,16 @@ packages:
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
+ dev: true
/@humanwhocodes/module-importer@1.0.1:
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'}
+ dev: true
/@humanwhocodes/object-schema@1.2.1:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+ dev: true
/@ioredis/commands@1.2.0:
resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
@@ -3641,7 +3664,7 @@ packages:
/@manypkg/get-packages@1.1.3:
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@changesets/types': 4.1.0
'@manypkg/find-root': 1.1.0
fs-extra: 8.1.0
@@ -4152,10 +4175,12 @@ packages:
dependencies:
'@nodelib/fs.stat': 2.0.5
run-parallel: 1.2.0
+ dev: true
/@nodelib/fs.stat@2.0.5:
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
engines: {node: '>= 8'}
+ dev: true
/@nodelib/fs.walk@1.2.8:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
@@ -4163,6 +4188,7 @@ packages:
dependencies:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.15.0
+ dev: true
/@nuxtjs/opencollective@0.3.2:
resolution: {integrity: sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==}
@@ -4345,7 +4371,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@rc-component/portal': 1.1.2(react-dom@18.2.0)(react@18.2.0)
classnames: 2.3.2
rc-align: 4.0.15(react-dom@18.2.0)(react@18.2.0)
@@ -4542,6 +4568,20 @@ packages:
resolution: {integrity: sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==}
dev: true
+ /@types/d3-array@3.2.1:
+ resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==, tarball: http://192.168.4.201:4873/@types%2fd3-array/-/d3-array-3.2.1.tgz}
+ dev: false
+
+ /@types/d3-color@3.1.3:
+ resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==, tarball: http://192.168.4.201:4873/@types%2fd3-color/-/d3-color-3.1.3.tgz}
+ dev: false
+
+ /@types/d3-interpolate@3.0.4:
+ resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==, tarball: http://192.168.4.201:4873/@types%2fd3-interpolate/-/d3-interpolate-3.0.4.tgz}
+ dependencies:
+ '@types/d3-color': 3.1.3
+ dev: false
+
/@types/eslint-scope@3.7.4:
resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==}
dependencies:
@@ -5261,6 +5301,7 @@ packages:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
acorn: 8.10.0
+ dev: true
/acorn-walk@8.2.0:
resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
@@ -6082,6 +6123,7 @@ packages:
/callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
+ dev: true
/camel-case@4.1.2:
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
@@ -6604,10 +6646,6 @@ packages:
/core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
- /cornerstone-math@0.1.10:
- resolution: {integrity: sha512-23XSAyP7t70ANvhFyqwvva+zFd1bQ2d5GL7tg9qKE932WmImjA2Y9tiy5n0iTtnf51W/78Png8Lia2o4dCdJaQ==, tarball: http://192.168.4.201:4873/cornerstone-math/-/cornerstone-math-0.1.10.tgz}
- dev: false
-
/cors@2.8.5:
resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
engines: {node: '>= 0.10'}
@@ -7008,6 +7046,7 @@ packages:
/deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ dev: true
/deepmerge@4.3.1:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
@@ -7123,6 +7162,7 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
esutils: 2.0.3
+ dev: true
/dom-align@1.12.4:
resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==}
@@ -7447,6 +7487,7 @@ packages:
/escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
+ dev: true
/eslint-config-prettier@8.8.0(eslint@8.44.0):
resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==}
@@ -7504,10 +7545,12 @@ packages:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
+ dev: true
/eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
/eslint@8.44.0:
resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==}
@@ -7555,6 +7598,7 @@ packages:
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
+ dev: true
/espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
@@ -7563,6 +7607,7 @@ packages:
acorn: 8.10.0
acorn-jsx: 5.3.2(acorn@8.10.0)
eslint-visitor-keys: 3.4.3
+ dev: true
/esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
@@ -7574,6 +7619,7 @@ packages:
engines: {node: '>=0.10'}
dependencies:
estraverse: 5.3.0
+ dev: true
/esrecurse@4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
@@ -7761,6 +7807,7 @@ packages:
/fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ dev: true
/fast-safe-stringify@2.1.1:
resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
@@ -7786,6 +7833,7 @@ packages:
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
dependencies:
reusify: 1.0.4
+ dev: true
/faye-websocket@0.11.4:
resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
@@ -7817,6 +7865,7 @@ packages:
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
flat-cache: 3.1.0
+ dev: true
/file-saver@2.0.5:
resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==}
@@ -7869,6 +7918,7 @@ packages:
dependencies:
locate-path: 6.0.0
path-exists: 4.0.0
+ dev: true
/find-yarn-workspace-root2@1.2.16:
resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==}
@@ -7884,6 +7934,7 @@ packages:
flatted: 3.2.7
keyv: 4.5.3
rimraf: 3.0.2
+ dev: true
/flatted@3.2.7:
resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
@@ -8120,6 +8171,7 @@ packages:
engines: {node: '>=10.13.0'}
dependencies:
is-glob: 4.0.3
+ dev: true
/glob-to-regexp@0.4.1:
resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
@@ -8163,9 +8215,10 @@ packages:
engines: {node: '>=8'}
dependencies:
type-fest: 0.20.2
+ dev: true
/globalthis@1.0.3:
- resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==, tarball: http://192.168.4.201:4873/globalthis/-/globalthis-1.0.3.tgz}
engines: {node: '>= 0.4'}
dependencies:
define-properties: 1.2.0
@@ -8207,6 +8260,7 @@ packages:
/graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ dev: true
/gzip-size@6.0.0:
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
@@ -8470,6 +8524,7 @@ packages:
/ignore@5.2.4:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
+ dev: true
/image-size@0.5.5:
resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, tarball: http://192.168.4.201:4873/image-size/-/image-size-0.5.5.tgz}
@@ -8485,6 +8540,7 @@ packages:
dependencies:
parent-module: 1.0.1
resolve-from: 4.0.0
+ dev: true
/import-local@3.1.0:
resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
@@ -8497,6 +8553,7 @@ packages:
/imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
+ dev: true
/indent-string@4.0.0:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
@@ -8780,6 +8837,7 @@ packages:
/is-path-inside@3.0.3:
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
engines: {node: '>=8'}
+ dev: true
/is-plain-obj@1.1.0:
resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
@@ -8999,6 +9057,7 @@ packages:
/json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ dev: true
/json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
@@ -9011,6 +9070,7 @@ packages:
/json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ dev: true
/json-stream@1.0.0:
resolution: {integrity: sha512-H/ZGY0nIAg3QcOwE1QN/rK/Fa7gJn7Ii5obwp6zyPO4xiPNwpIMjqy2gwjBEGqzkF/vSWEIBQCBuN19hYiL6Qg==}
@@ -9107,6 +9167,7 @@ packages:
resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==}
dependencies:
json-buffer: 3.0.1
+ dev: true
/kind-of@6.0.3:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
@@ -9172,6 +9233,7 @@ packages:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
+ dev: true
/libphonenumber-js@1.10.44:
resolution: {integrity: sha512-svlRdNBI5WgBjRC20GrCfbFiclbF0Cx+sCcQob/C1r57nsoq0xg8r65QbTyVyweQIlB33P+Uahyho6EMYgcOyQ==}
@@ -9231,6 +9293,7 @@ packages:
engines: {node: '>=10'}
dependencies:
p-locate: 5.0.0
+ dev: true
/lodash.camelcase@4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
@@ -9246,6 +9309,10 @@ packages:
/lodash.defaults@4.2.0:
resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
+ /lodash.get@4.4.2:
+ resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, tarball: http://192.168.4.201:4873/lodash.get/-/lodash.get-4.4.2.tgz}
+ dev: false
+
/lodash.isarguments@3.1.0:
resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==}
@@ -9255,6 +9322,7 @@ packages:
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ dev: true
/lodash.startcase@4.4.0:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
@@ -9852,6 +9920,7 @@ packages:
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ dev: true
/ndarray@1.0.19:
resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==, tarball: http://192.168.4.201:4873/ndarray/-/ndarray-1.0.19.tgz}
@@ -10024,6 +10093,7 @@ packages:
levn: 0.4.1
prelude-ls: 1.2.1
type-check: 0.4.0
+ dev: true
/ora@5.4.1:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
@@ -10103,6 +10173,7 @@ packages:
engines: {node: '>=10'}
dependencies:
yocto-queue: 0.1.0
+ dev: true
/p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
@@ -10115,6 +10186,7 @@ packages:
engines: {node: '>=10'}
dependencies:
p-limit: 3.1.0
+ dev: true
/p-map@2.1.0:
resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
@@ -10148,6 +10220,7 @@ packages:
engines: {node: '>=6'}
dependencies:
callsites: 3.1.0
+ dev: true
/parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
@@ -10643,6 +10716,7 @@ packages:
/prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
+ dev: true
/prettier-linter-helpers@1.0.0:
resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
@@ -10771,6 +10845,7 @@ packages:
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
/quick-lru@4.0.1:
resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
@@ -11090,7 +11165,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@rc-component/trigger': 1.15.6(react-dom@18.2.0)(react@18.2.0)
classnames: 2.3.2
rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0)
@@ -11122,7 +11197,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
classnames: 2.3.2
rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
@@ -11220,7 +11295,7 @@ packages:
moment:
optional: true
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@rc-component/trigger': 1.15.6(react-dom@18.2.0)(react@18.2.0)
classnames: 2.3.2
dayjs: 1.11.9
@@ -11291,7 +11366,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
classnames: 2.3.2
rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
@@ -11338,7 +11413,7 @@ packages:
react: '*'
react-dom: '*'
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
'@rc-component/trigger': 1.15.6(react-dom@18.2.0)(react@18.2.0)
classnames: 2.3.2
rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0)
@@ -11463,7 +11538,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
classnames: 2.3.2
rc-input: 1.1.1(react-dom@18.2.0)(react@18.2.0)
rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0)
@@ -11522,7 +11597,7 @@ packages:
react: '*'
react-dom: '*'
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
classnames: 2.3.2
rc-motion: 2.9.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.37.0(react-dom@18.2.0)(react@18.2.0)
@@ -11550,7 +11625,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-is: 16.13.1
@@ -11808,10 +11883,6 @@ packages:
/regenerate@1.4.2:
resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
- /regenerator-runtime@0.12.1:
- resolution: {integrity: sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==, tarball: http://192.168.4.201:4873/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz}
- dev: false
-
/regenerator-runtime@0.13.11:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, tarball: http://192.168.4.201:4873/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz}
requiresBuild: true
@@ -11823,7 +11894,7 @@ packages:
/regenerator-transform@0.15.2:
resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
dependencies:
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.22.15
+ '@babel/runtime': 7.22.15
/regexp.prototype.flags@1.5.0:
resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==}
@@ -11913,6 +11984,7 @@ packages:
/resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
+ dev: true
/resolve-from@5.0.0:
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
@@ -11941,6 +12013,7 @@ packages:
/reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
/rgbcolor@1.0.1:
resolution: {integrity: sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==}
@@ -12059,6 +12132,7 @@ packages:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
queue-microtask: 1.2.3
+ dev: true
/rxjs@6.6.7:
resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
@@ -12328,7 +12402,7 @@ packages:
resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
/shelljs@0.8.5:
- resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
+ resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==, tarball: http://192.168.4.201:4873/shelljs/-/shelljs-0.8.5.tgz}
engines: {node: '>=4'}
hasBin: true
dependencies:
@@ -12684,6 +12758,7 @@ packages:
/strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
+ dev: true
/strnum@1.0.5:
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
@@ -12899,6 +12974,7 @@ packages:
/text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ dev: true
/thenify-all@1.6.0:
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
@@ -13171,6 +13247,7 @@ packages:
engines: {node: '>= 0.8.0'}
dependencies:
prelude-ls: 1.2.1
+ dev: true
/type-fest@0.13.1:
resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==}
@@ -13180,6 +13257,7 @@ packages:
/type-fest@0.20.2:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
+ dev: true
/type-fest@0.21.3:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
@@ -14322,234 +14400,7 @@ packages:
/yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
-
- 192.168.4.201+4873/@ampproject/remapping@2.2.1:
- resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@ampproject%2fremapping/-/remapping-2.2.1.tgz}
- name: '@ampproject/remapping'
- version: 2.2.1
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 192.168.4.201+4873/@jridgewell/gen-mapping@0.3.3
- '@jridgewell/trace-mapping': 192.168.4.201+4873/@jridgewell/trace-mapping@0.3.19
- dev: false
-
- 192.168.4.201+4873/@babel/code-frame@7.22.13:
- resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fcode-frame/-/code-frame-7.22.13.tgz}
- name: '@babel/code-frame'
- version: 7.22.13
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/highlight': 192.168.4.201+4873/@babel/highlight@7.22.13
- chalk: 192.168.4.201+4873/chalk@2.4.2
- dev: false
-
- 192.168.4.201+4873/@babel/compat-data@7.22.9:
- resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fcompat-data/-/compat-data-7.22.9.tgz}
- name: '@babel/compat-data'
- version: 7.22.9
- engines: {node: '>=6.9.0'}
- dev: false
-
- 192.168.4.201+4873/@babel/core@7.22.15:
- resolution: {integrity: sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fcore/-/core-7.22.15.tgz}
- name: '@babel/core'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dependencies:
- '@ampproject/remapping': 192.168.4.201+4873/@ampproject/remapping@2.2.1
- '@babel/code-frame': 192.168.4.201+4873/@babel/code-frame@7.22.13
- '@babel/generator': 192.168.4.201+4873/@babel/generator@7.22.15
- '@babel/helper-compilation-targets': 192.168.4.201+4873/@babel/helper-compilation-targets@7.22.15
- '@babel/helper-module-transforms': 192.168.4.201+4873/@babel/helper-module-transforms@7.22.15(@babel/core@7.22.15)
- '@babel/helpers': 192.168.4.201+4873/@babel/helpers@7.22.15
- '@babel/parser': 192.168.4.201+4873/@babel/parser@7.22.16
- '@babel/template': 192.168.4.201+4873/@babel/template@7.22.15
- '@babel/traverse': 192.168.4.201+4873/@babel/traverse@7.22.15
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- convert-source-map: 192.168.4.201+4873/convert-source-map@1.9.0
- debug: 192.168.4.201+4873/debug@4.3.4
- gensync: 192.168.4.201+4873/gensync@1.0.0-beta.2
- json5: 192.168.4.201+4873/json5@2.2.3
- semver: 192.168.4.201+4873/semver@6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- 192.168.4.201+4873/@babel/eslint-parser@7.23.3(@babel/core@7.21.8)(eslint@8.44.0):
- resolution: {integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2feslint-parser/-/eslint-parser-7.23.3.tgz}
- id: 192.168.4.201+4873/@babel/eslint-parser/7.23.3
- name: '@babel/eslint-parser'
- version: 7.23.3
- engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0}
- peerDependencies:
- '@babel/core': ^7.11.0
- eslint: ^7.5.0 || ^8.0.0
- dependencies:
- '@babel/core': 7.21.8
- '@nicolo-ribaudo/eslint-scope-5-internals': 192.168.4.201+4873/@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1
- eslint: 8.44.0
- eslint-visitor-keys: 192.168.4.201+4873/eslint-visitor-keys@2.1.0
- semver: 192.168.4.201+4873/semver@6.3.1
- dev: false
-
- 192.168.4.201+4873/@babel/generator@7.22.15:
- resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fgenerator/-/generator-7.22.15.tgz}
- name: '@babel/generator'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- '@jridgewell/gen-mapping': 192.168.4.201+4873/@jridgewell/gen-mapping@0.3.3
- '@jridgewell/trace-mapping': 192.168.4.201+4873/@jridgewell/trace-mapping@0.3.19
- jsesc: 192.168.4.201+4873/jsesc@2.5.2
- dev: false
-
- 192.168.4.201+4873/@babel/helper-compilation-targets@7.22.15:
- resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz}
- name: '@babel/helper-compilation-targets'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/compat-data': 192.168.4.201+4873/@babel/compat-data@7.22.9
- '@babel/helper-validator-option': 192.168.4.201+4873/@babel/helper-validator-option@7.22.15
- browserslist: 192.168.4.201+4873/browserslist@4.21.10
- lru-cache: 192.168.4.201+4873/lru-cache@5.1.1
- semver: 192.168.4.201+4873/semver@6.3.1
- dev: false
-
- 192.168.4.201+4873/@babel/helper-environment-visitor@7.22.5:
- resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz}
- name: '@babel/helper-environment-visitor'
- version: 7.22.5
- engines: {node: '>=6.9.0'}
- dev: false
-
- 192.168.4.201+4873/@babel/helper-function-name@7.22.5:
- resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-function-name/-/helper-function-name-7.22.5.tgz}
- name: '@babel/helper-function-name'
- version: 7.22.5
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 192.168.4.201+4873/@babel/template@7.22.15
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- dev: false
-
- 192.168.4.201+4873/@babel/helper-hoist-variables@7.22.5:
- resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz}
- name: '@babel/helper-hoist-variables'
- version: 7.22.5
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- dev: false
-
- 192.168.4.201+4873/@babel/helper-module-imports@7.22.15:
- resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-module-imports/-/helper-module-imports-7.22.15.tgz}
- name: '@babel/helper-module-imports'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- dev: false
-
- 192.168.4.201+4873/@babel/helper-module-transforms@7.22.15(@babel/core@7.22.15):
- resolution: {integrity: sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-module-transforms/-/helper-module-transforms-7.22.15.tgz}
- id: 192.168.4.201+4873/@babel/helper-module-transforms/7.22.15
- name: '@babel/helper-module-transforms'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 192.168.4.201+4873/@babel/core@7.22.15
- '@babel/helper-environment-visitor': 192.168.4.201+4873/@babel/helper-environment-visitor@7.22.5
- '@babel/helper-module-imports': 192.168.4.201+4873/@babel/helper-module-imports@7.22.15
- '@babel/helper-simple-access': 192.168.4.201+4873/@babel/helper-simple-access@7.22.5
- '@babel/helper-split-export-declaration': 192.168.4.201+4873/@babel/helper-split-export-declaration@7.22.6
- '@babel/helper-validator-identifier': 192.168.4.201+4873/@babel/helper-validator-identifier@7.22.15
- dev: false
-
- 192.168.4.201+4873/@babel/helper-simple-access@7.22.5:
- resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-simple-access/-/helper-simple-access-7.22.5.tgz}
- name: '@babel/helper-simple-access'
- version: 7.22.5
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- dev: false
-
- 192.168.4.201+4873/@babel/helper-split-export-declaration@7.22.6:
- resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz}
- name: '@babel/helper-split-export-declaration'
- version: 7.22.6
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- dev: false
-
- 192.168.4.201+4873/@babel/helper-string-parser@7.22.5:
- resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-string-parser/-/helper-string-parser-7.22.5.tgz}
- name: '@babel/helper-string-parser'
- version: 7.22.5
- engines: {node: '>=6.9.0'}
- dev: false
-
- 192.168.4.201+4873/@babel/helper-validator-identifier@7.22.15:
- resolution: {integrity: sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-validator-identifier/-/helper-validator-identifier-7.22.15.tgz}
- name: '@babel/helper-validator-identifier'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dev: false
-
- 192.168.4.201+4873/@babel/helper-validator-option@7.22.15:
- resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelper-validator-option/-/helper-validator-option-7.22.15.tgz}
- name: '@babel/helper-validator-option'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dev: false
-
- 192.168.4.201+4873/@babel/helpers@7.22.15:
- resolution: {integrity: sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhelpers/-/helpers-7.22.15.tgz}
- name: '@babel/helpers'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 192.168.4.201+4873/@babel/template@7.22.15
- '@babel/traverse': 192.168.4.201+4873/@babel/traverse@7.22.15
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- 192.168.4.201+4873/@babel/highlight@7.22.13:
- resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fhighlight/-/highlight-7.22.13.tgz}
- name: '@babel/highlight'
- version: 7.22.13
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': 192.168.4.201+4873/@babel/helper-validator-identifier@7.22.15
- chalk: 192.168.4.201+4873/chalk@2.4.2
- js-tokens: 192.168.4.201+4873/js-tokens@4.0.0
- dev: false
-
- 192.168.4.201+4873/@babel/parser@7.22.16:
- resolution: {integrity: sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fparser/-/parser-7.22.16.tgz}
- name: '@babel/parser'
- version: 7.22.16
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- dev: false
-
- 192.168.4.201+4873/@babel/runtime@7.17.9:
- resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fruntime/-/runtime-7.17.9.tgz}
- name: '@babel/runtime'
- version: 7.17.9
- engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: 192.168.4.201+4873/regenerator-runtime@0.13.11
- dev: false
+ dev: true
192.168.4.201+4873/@babel/runtime@7.22.11:
resolution: {integrity: sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2fruntime/-/runtime-7.22.11.tgz}
@@ -14567,47 +14418,6 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
regenerator-runtime: 192.168.4.201+4873/regenerator-runtime@0.14.0
-
- 192.168.4.201+4873/@babel/template@7.22.15:
- resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2ftemplate/-/template-7.22.15.tgz}
- name: '@babel/template'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 192.168.4.201+4873/@babel/code-frame@7.22.13
- '@babel/parser': 192.168.4.201+4873/@babel/parser@7.22.16
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- dev: false
-
- 192.168.4.201+4873/@babel/traverse@7.22.15:
- resolution: {integrity: sha512-DdHPwvJY0sEeN4xJU5uRLmZjgMMDIvMPniLuYzUVXj/GGzysPl0/fwt44JBkyUIzGJPV8QgHMcQdQ34XFuKTYQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2ftraverse/-/traverse-7.22.15.tgz}
- name: '@babel/traverse'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 192.168.4.201+4873/@babel/code-frame@7.22.13
- '@babel/generator': 192.168.4.201+4873/@babel/generator@7.22.15
- '@babel/helper-environment-visitor': 192.168.4.201+4873/@babel/helper-environment-visitor@7.22.5
- '@babel/helper-function-name': 192.168.4.201+4873/@babel/helper-function-name@7.22.5
- '@babel/helper-hoist-variables': 192.168.4.201+4873/@babel/helper-hoist-variables@7.22.5
- '@babel/helper-split-export-declaration': 192.168.4.201+4873/@babel/helper-split-export-declaration@7.22.6
- '@babel/parser': 192.168.4.201+4873/@babel/parser@7.22.16
- '@babel/types': 192.168.4.201+4873/@babel/types@7.22.15
- debug: 192.168.4.201+4873/debug@4.3.4
- globals: 192.168.4.201+4873/globals@11.12.0
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- 192.168.4.201+4873/@babel/types@7.22.15:
- resolution: {integrity: sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@babel%2ftypes/-/types-7.22.15.tgz}
- name: '@babel/types'
- version: 7.22.15
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 192.168.4.201+4873/@babel/helper-string-parser@7.22.5
- '@babel/helper-validator-identifier': 192.168.4.201+4873/@babel/helper-validator-identifier@7.22.15
- to-fast-properties: 192.168.4.201+4873/to-fast-properties@2.0.0
dev: false
192.168.4.201+4873/@cornerstonejs/codec-charls@1.2.3:
@@ -14638,24 +14448,6 @@ packages:
engines: {node: '>=0.14'}
dev: false
- 192.168.4.201+4873/@cornerstonejs/core@1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4):
- resolution: {integrity: sha512-bAHLDGixOgenDPQee+LaB7N7TSDix9RLAwVDFpXWVglFadYxWBtupWg3b6+lMGZGUL2PLfBI9z7nnGQOCV4pgw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@cornerstonejs%2fcore/-/core-1.41.0.tgz}
- id: 192.168.4.201+4873/@cornerstonejs/core/1.41.0
- name: '@cornerstonejs/core'
- version: 1.41.0
- dependencies:
- '@kitware/vtk.js': 192.168.4.201+4873/@kitware/vtk.js@27.3.1(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
- comlink: 192.168.4.201+4873/comlink@4.4.1
- detect-gpu: 192.168.4.201+4873/detect-gpu@5.0.37
- gl-matrix: 192.168.4.201+4873/gl-matrix@3.4.3
- lodash.clonedeep: 192.168.4.201+4873/lodash.clonedeep@4.5.0
- transitivePeerDependencies:
- - '@babel/preset-env'
- - autoprefixer
- - webpack
- - wslink
- dev: false
-
192.168.4.201+4873/@cornerstonejs/dicom-image-loader@1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4):
resolution: {integrity: sha512-HoCkx8uAkAKMVKTdMLgpEJjURS3pe9J7VDg7TDa7cPsjPz/d1pW6zwUQHenwxIoE0bVygtwpZXaUP2cX9Rfemg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@cornerstonejs%2fdicom-image-loader/-/dicom-image-loader-1.41.0.tgz}
id: 192.168.4.201+4873/@cornerstonejs/dicom-image-loader/1.41.0
@@ -14666,7 +14458,7 @@ packages:
'@cornerstonejs/codec-libjpeg-turbo-8bit': 192.168.4.201+4873/@cornerstonejs/codec-libjpeg-turbo-8bit@1.2.2
'@cornerstonejs/codec-openjpeg': 192.168.4.201+4873/@cornerstonejs/codec-openjpeg@1.2.2
'@cornerstonejs/codec-openjph': 192.168.4.201+4873/@cornerstonejs/codec-openjph@2.4.5
- '@cornerstonejs/core': 192.168.4.201+4873/@cornerstonejs/core@1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
+ '@cornerstonejs/core': 1.41.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4)
dicom-parser: 192.168.4.201+4873/dicom-parser@1.8.21
pako: 192.168.4.201+4873/pako@2.1.0
uuid: 192.168.4.201+4873/uuid@9.0.0
@@ -14677,100 +14469,6 @@ packages:
- wslink
dev: false
- 192.168.4.201+4873/@istanbuljs/schema@0.1.3:
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@istanbuljs%2fschema/-/schema-0.1.3.tgz}
- name: '@istanbuljs/schema'
- version: 0.1.3
- engines: {node: '>=8'}
- dev: false
-
- 192.168.4.201+4873/@jridgewell/gen-mapping@0.3.3:
- resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@jridgewell%2fgen-mapping/-/gen-mapping-0.3.3.tgz}
- name: '@jridgewell/gen-mapping'
- version: 0.3.3
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 192.168.4.201+4873/@jridgewell/set-array@1.1.2
- '@jridgewell/sourcemap-codec': 192.168.4.201+4873/@jridgewell/sourcemap-codec@1.4.15
- '@jridgewell/trace-mapping': 192.168.4.201+4873/@jridgewell/trace-mapping@0.3.19
- dev: false
-
- 192.168.4.201+4873/@jridgewell/resolve-uri@3.1.1:
- resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@jridgewell%2fresolve-uri/-/resolve-uri-3.1.1.tgz}
- name: '@jridgewell/resolve-uri'
- version: 3.1.1
- engines: {node: '>=6.0.0'}
- dev: false
-
- 192.168.4.201+4873/@jridgewell/set-array@1.1.2:
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@jridgewell%2fset-array/-/set-array-1.1.2.tgz}
- name: '@jridgewell/set-array'
- version: 1.1.2
- engines: {node: '>=6.0.0'}
- dev: false
-
- 192.168.4.201+4873/@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@jridgewell%2fsourcemap-codec/-/sourcemap-codec-1.4.15.tgz}
- name: '@jridgewell/sourcemap-codec'
- version: 1.4.15
- dev: false
-
- 192.168.4.201+4873/@jridgewell/trace-mapping@0.3.19:
- resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@jridgewell%2ftrace-mapping/-/trace-mapping-0.3.19.tgz}
- name: '@jridgewell/trace-mapping'
- version: 0.3.19
- dependencies:
- '@jridgewell/resolve-uri': 192.168.4.201+4873/@jridgewell/resolve-uri@3.1.1
- '@jridgewell/sourcemap-codec': 192.168.4.201+4873/@jridgewell/sourcemap-codec@1.4.15
- dev: false
-
- 192.168.4.201+4873/@jsdevtools/coverage-istanbul-loader@3.0.5:
- resolution: {integrity: sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@jsdevtools%2fcoverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz}
- name: '@jsdevtools/coverage-istanbul-loader'
- version: 3.0.5
- dependencies:
- convert-source-map: 192.168.4.201+4873/convert-source-map@1.9.0
- istanbul-lib-instrument: 192.168.4.201+4873/istanbul-lib-instrument@4.0.3
- loader-utils: 192.168.4.201+4873/loader-utils@2.0.4
- merge-source-map: 192.168.4.201+4873/merge-source-map@1.1.0
- schema-utils: 192.168.4.201+4873/schema-utils@2.7.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- 192.168.4.201+4873/@kitware/vtk.js@27.3.1(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4):
- resolution: {integrity: sha512-GvAXdOKtDDbkaSdO+UhKnDST4CW1C3fHgaDvA0wn1ZWTLm/6SFAMzarTjpzsVGYCPoEYIhCAAlBQ7K7aDcu3Vg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@kitware%2fvtk.js/-/vtk.js-27.3.1.tgz}
- id: 192.168.4.201+4873/@kitware/vtk.js/27.3.1
- name: '@kitware/vtk.js'
- version: 27.3.1
- hasBin: true
- peerDependencies:
- '@babel/preset-env': ^7.17.10
- autoprefixer: ^10.4.7
- wslink: ^1.1.0
- dependencies:
- '@babel/preset-env': 7.21.5(@babel/core@7.21.8)
- '@babel/runtime': 192.168.4.201+4873/@babel/runtime@7.17.9
- autoprefixer: 10.4.15(postcss@8.4.29)
- commander: 192.168.4.201+4873/commander@9.2.0
- d3-scale: 192.168.4.201+4873/d3-scale@4.0.2
- fast-deep-equal: 192.168.4.201+4873/fast-deep-equal@3.1.3
- fflate: 192.168.4.201+4873/fflate@0.7.3
- gl-matrix: 192.168.4.201+4873/gl-matrix@3.4.3
- globalthis: 192.168.4.201+4873/globalthis@1.0.3
- seedrandom: 192.168.4.201+4873/seedrandom@3.0.5
- shader-loader: 192.168.4.201+4873/shader-loader@1.3.1
- shelljs: 192.168.4.201+4873/shelljs@0.8.5
- spark-md5: 192.168.4.201+4873/spark-md5@3.0.2
- stream-browserify: 192.168.4.201+4873/stream-browserify@3.0.0
- webworker-promise: 192.168.4.201+4873/webworker-promise@0.5.0
- worker-loader: 192.168.4.201+4873/worker-loader@3.0.8(webpack@5.75.0)
- wslink: 1.11.4
- xmlbuilder2: 192.168.4.201+4873/xmlbuilder2@3.0.2
- transitivePeerDependencies:
- - webpack
- dev: false
-
192.168.4.201+4873/@kitware/vtk.js@29.2.0(@babel/preset-env@7.21.5)(autoprefixer@10.4.15)(webpack@5.75.0)(wslink@1.11.4):
resolution: {integrity: sha512-2EYcDfKT8o9Q7NZW90Xa9zLLVzV9RKqOzxtpmOq5+hOR4ksqmn+mP4u+P8Z8/Pr+9myA/zNuIP506GigDCnpTA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@kitware%2fvtk.js/-/vtk.js-29.2.0.tgz}
id: 192.168.4.201+4873/@kitware/vtk.js/29.2.0
@@ -14805,14 +14503,6 @@ packages:
- webpack
dev: false
- 192.168.4.201+4873/@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1:
- resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@nicolo-ribaudo%2feslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz}
- name: '@nicolo-ribaudo/eslint-scope-5-internals'
- version: 5.1.1-v1
- dependencies:
- eslint-scope: 192.168.4.201+4873/eslint-scope@5.1.1
- dev: false
-
192.168.4.201+4873/@oozcitak/dom@1.15.10:
resolution: {integrity: sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/@oozcitak%2fdom/-/dom-1.15.10.tgz}
name: '@oozcitak/dom'
@@ -14884,21 +14574,12 @@ packages:
name: ajv
version: 6.12.6
dependencies:
- fast-deep-equal: 192.168.4.201+4873/fast-deep-equal@3.1.3
+ fast-deep-equal: 3.1.3
fast-json-stable-stringify: 192.168.4.201+4873/fast-json-stable-stringify@2.1.0
json-schema-traverse: 192.168.4.201+4873/json-schema-traverse@0.4.1
uri-js: 192.168.4.201+4873/uri-js@4.4.1
dev: false
- 192.168.4.201+4873/ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/ansi-styles/-/ansi-styles-3.2.1.tgz}
- name: ansi-styles
- version: 3.2.1
- engines: {node: '>=4'}
- dependencies:
- color-convert: 192.168.4.201+4873/color-convert@1.9.3
- dev: false
-
192.168.4.201+4873/argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/argparse/-/argparse-1.0.10.tgz}
name: argparse
@@ -14928,56 +14609,6 @@ packages:
concat-map: 192.168.4.201+4873/concat-map@0.0.1
dev: false
- 192.168.4.201+4873/browserslist@4.21.10:
- resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/browserslist/-/browserslist-4.21.10.tgz}
- name: browserslist
- version: 4.21.10
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 192.168.4.201+4873/caniuse-lite@1.0.30001527
- electron-to-chromium: 192.168.4.201+4873/electron-to-chromium@1.4.509
- node-releases: 192.168.4.201+4873/node-releases@2.0.13
- update-browserslist-db: 192.168.4.201+4873/update-browserslist-db@1.0.11(browserslist@4.21.10)
- dev: false
-
- 192.168.4.201+4873/caniuse-lite@1.0.30001527:
- resolution: {integrity: sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/caniuse-lite/-/caniuse-lite-1.0.30001527.tgz}
- name: caniuse-lite
- version: 1.0.30001527
- dev: false
-
- 192.168.4.201+4873/chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/chalk/-/chalk-2.4.2.tgz}
- name: chalk
- version: 2.4.2
- engines: {node: '>=4'}
- dependencies:
- ansi-styles: 192.168.4.201+4873/ansi-styles@3.2.1
- escape-string-regexp: 192.168.4.201+4873/escape-string-regexp@1.0.5
- supports-color: 192.168.4.201+4873/supports-color@5.5.0
- dev: false
-
- 192.168.4.201+4873/color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/color-convert/-/color-convert-1.9.3.tgz}
- name: color-convert
- version: 1.9.3
- dependencies:
- color-name: 192.168.4.201+4873/color-name@1.1.3
- dev: false
-
- 192.168.4.201+4873/color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/color-name/-/color-name-1.1.3.tgz}
- name: color-name
- version: 1.1.3
- dev: false
-
- 192.168.4.201+4873/comlink@4.4.1:
- resolution: {integrity: sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/comlink/-/comlink-4.4.1.tgz}
- name: comlink
- version: 4.4.1
- dev: false
-
192.168.4.201+4873/commander@9.2.0:
resolution: {integrity: sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/commander/-/commander-9.2.0.tgz}
name: commander
@@ -14991,54 +14622,6 @@ packages:
version: 0.0.1
dev: false
- 192.168.4.201+4873/convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/convert-source-map/-/convert-source-map-1.9.0.tgz}
- name: convert-source-map
- version: 1.9.0
- dev: false
-
- 192.168.4.201+4873/cornerstone-core@2.6.1:
- resolution: {integrity: sha512-LAXjXwNnK2W65ZxpE7phVLjbijkYUrAQIGv5xqKjK8+dmIGlBxqvPHnyGwEqVDyKOWVrpXP6ymUPwrGGRwzgMg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/cornerstone-core/-/cornerstone-core-2.6.1.tgz}
- name: cornerstone-core
- version: 2.6.1
- dev: false
-
- 192.168.4.201+4873/cornerstone-wado-image-loader@4.13.2(@babel/core@7.21.8)(cornerstone-core@2.6.1)(eslint@8.44.0):
- resolution: {integrity: sha512-NGqH44bY1VMY8OYuVykkLriNtZQrmoZU/S6f/1t1xX3rMc+WUMNN+yi4Nu3jp6nckLdH/bVGiigoJXrp0dTrAg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/cornerstone-wado-image-loader/-/cornerstone-wado-image-loader-4.13.2.tgz}
- id: 192.168.4.201+4873/cornerstone-wado-image-loader/4.13.2
- name: cornerstone-wado-image-loader
- version: 4.13.2
- peerDependencies:
- cornerstone-core: ^2.6.0
- dependencies:
- '@babel/eslint-parser': 192.168.4.201+4873/@babel/eslint-parser@7.23.3(@babel/core@7.21.8)(eslint@8.44.0)
- '@cornerstonejs/codec-charls': 192.168.4.201+4873/@cornerstonejs/codec-charls@1.2.3
- '@cornerstonejs/codec-libjpeg-turbo-8bit': 192.168.4.201+4873/@cornerstonejs/codec-libjpeg-turbo-8bit@1.2.2
- '@cornerstonejs/codec-openjpeg': 192.168.4.201+4873/@cornerstonejs/codec-openjpeg@1.2.2
- '@cornerstonejs/codec-openjph': 192.168.4.201+4873/@cornerstonejs/codec-openjph@2.4.5
- cornerstone-core: 192.168.4.201+4873/cornerstone-core@2.6.1
- coverage-istanbul-loader: 192.168.4.201+4873/coverage-istanbul-loader@3.0.5
- date-format: 192.168.4.201+4873/date-format@4.0.14
- dicom-parser: 192.168.4.201+4873/dicom-parser@1.8.21
- pako: 192.168.4.201+4873/pako@2.1.0
- uuid: 192.168.4.201+4873/uuid@9.0.0
- transitivePeerDependencies:
- - '@babel/core'
- - eslint
- - supports-color
- dev: false
-
- 192.168.4.201+4873/coverage-istanbul-loader@3.0.5:
- resolution: {integrity: sha512-xsw2phF0VNqUPk47V/vHXkdcTyl0tkMSmaZfLrTOhoPhPMXFelNju7utl5s7I93KXzipqDEK0YwofQSSflPz8A==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz}
- name: coverage-istanbul-loader
- version: 3.0.5
- engines: {node: '>=10'}
- dependencies:
- '@jsdevtools/coverage-istanbul-loader': 192.168.4.201+4873/@jsdevtools/coverage-istanbul-loader@3.0.5
- transitivePeerDependencies:
- - supports-color
- dev: false
-
192.168.4.201+4873/d3-array@3.2.4:
resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/d3-array/-/d3-array-3.2.4.tgz}
name: d3-array
@@ -15102,27 +14685,6 @@ packages:
d3-array: 192.168.4.201+4873/d3-array@3.2.4
dev: false
- 192.168.4.201+4873/date-format@4.0.14:
- resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/date-format/-/date-format-4.0.14.tgz}
- name: date-format
- version: 4.0.14
- engines: {node: '>=4.0'}
- dev: false
-
- 192.168.4.201+4873/debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/debug/-/debug-4.3.4.tgz}
- name: debug
- version: 4.3.4
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 192.168.4.201+4873/ms@2.1.2
- dev: false
-
192.168.4.201+4873/define-properties@1.2.0:
resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/define-properties/-/define-properties-1.2.0.tgz}
name: define-properties
@@ -15133,26 +14695,12 @@ packages:
object-keys: 192.168.4.201+4873/object-keys@1.1.1
dev: false
- 192.168.4.201+4873/detect-gpu@5.0.37:
- resolution: {integrity: sha512-EraWs84faI4iskB4qvE39bevMIazEvd1RpoyGLOBesRLbiz6eMeJqqRPHjEFClfRByYZzi9IzU35rBXIO76oDw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/detect-gpu/-/detect-gpu-5.0.37.tgz}
- name: detect-gpu
- version: 5.0.37
- dependencies:
- webgl-constants: 192.168.4.201+4873/webgl-constants@1.1.1
- dev: false
-
192.168.4.201+4873/dicom-parser@1.8.21:
resolution: {integrity: sha512-lYCweHQDsC8UFpXErPlg86Px2A8bay0HiUY+wzoG3xv5GzgqVHU3lziwSc/Gzn7VV7y2KeP072SzCviuOoU02w==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/dicom-parser/-/dicom-parser-1.8.21.tgz}
name: dicom-parser
version: 1.8.21
dev: false
- 192.168.4.201+4873/electron-to-chromium@1.4.509:
- resolution: {integrity: sha512-G5KlSWY0zzhANtX15tkikHl4WB7zil2Y65oT52EZUL194abjUXBZym12Ht7Bhuwm/G3LJFEqMADyv2Cks56dmg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/electron-to-chromium/-/electron-to-chromium-1.4.509.tgz}
- name: electron-to-chromium
- version: 1.4.509
- dev: false
-
192.168.4.201+4873/emojis-list@3.0.0:
resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/emojis-list/-/emojis-list-3.0.0.tgz}
name: emojis-list
@@ -15160,37 +14708,6 @@ packages:
engines: {node: '>= 4'}
dev: false
- 192.168.4.201+4873/escalade@3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/escalade/-/escalade-3.1.1.tgz}
- name: escalade
- version: 3.1.1
- engines: {node: '>=6'}
- dev: false
-
- 192.168.4.201+4873/escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz}
- name: escape-string-regexp
- version: 1.0.5
- engines: {node: '>=0.8.0'}
- dev: false
-
- 192.168.4.201+4873/eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/eslint-scope/-/eslint-scope-5.1.1.tgz}
- name: eslint-scope
- version: 5.1.1
- engines: {node: '>=8.0.0'}
- dependencies:
- esrecurse: 192.168.4.201+4873/esrecurse@4.3.0
- estraverse: 192.168.4.201+4873/estraverse@4.3.0
- dev: false
-
- 192.168.4.201+4873/eslint-visitor-keys@2.1.0:
- resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz}
- name: eslint-visitor-keys
- version: 2.1.0
- engines: {node: '>=10'}
- dev: false
-
192.168.4.201+4873/esprima@4.0.1:
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/esprima/-/esprima-4.0.1.tgz}
name: esprima
@@ -15199,29 +14716,6 @@ packages:
hasBin: true
dev: false
- 192.168.4.201+4873/esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/esrecurse/-/esrecurse-4.3.0.tgz}
- name: esrecurse
- version: 4.3.0
- engines: {node: '>=4.0'}
- dependencies:
- estraverse: 192.168.4.201+4873/estraverse@5.3.0
- dev: false
-
- 192.168.4.201+4873/estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/estraverse/-/estraverse-4.3.0.tgz}
- name: estraverse
- version: 4.3.0
- engines: {node: '>=4.0'}
- dev: false
-
- 192.168.4.201+4873/estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/estraverse/-/estraverse-5.3.0.tgz}
- name: estraverse
- version: 5.3.0
- engines: {node: '>=4.0'}
- dev: false
-
192.168.4.201+4873/fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz}
name: fast-deep-equal
@@ -15252,13 +14746,6 @@ packages:
version: 1.1.1
dev: false
- 192.168.4.201+4873/gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/gensync/-/gensync-1.0.0-beta.2.tgz}
- name: gensync
- version: 1.0.0-beta.2
- engines: {node: '>=6.9.0'}
- dev: false
-
192.168.4.201+4873/get-intrinsic@1.2.1:
resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/get-intrinsic/-/get-intrinsic-1.2.1.tgz}
name: get-intrinsic
@@ -15289,13 +14776,6 @@ packages:
path-is-absolute: 192.168.4.201+4873/path-is-absolute@1.0.1
dev: false
- 192.168.4.201+4873/globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/globals/-/globals-11.12.0.tgz}
- name: globals
- version: 11.12.0
- engines: {node: '>=4'}
- dev: false
-
192.168.4.201+4873/globalthis@1.0.3:
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/globalthis/-/globalthis-1.0.3.tgz}
name: globalthis
@@ -15311,13 +14791,6 @@ packages:
version: 4.2.11
dev: true
- 192.168.4.201+4873/has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/has-flag/-/has-flag-3.0.0.tgz}
- name: has-flag
- version: 3.0.0
- engines: {node: '>=4'}
- dev: false
-
192.168.4.201+4873/has-property-descriptors@1.0.0:
resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz}
name: has-property-descriptors
@@ -15386,33 +14859,6 @@ packages:
has: 192.168.4.201+4873/has@1.0.3
dev: false
- 192.168.4.201+4873/istanbul-lib-coverage@3.2.2:
- resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz}
- name: istanbul-lib-coverage
- version: 3.2.2
- engines: {node: '>=8'}
- dev: false
-
- 192.168.4.201+4873/istanbul-lib-instrument@4.0.3:
- resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz}
- name: istanbul-lib-instrument
- version: 4.0.3
- engines: {node: '>=8'}
- dependencies:
- '@babel/core': 192.168.4.201+4873/@babel/core@7.22.15
- '@istanbuljs/schema': 192.168.4.201+4873/@istanbuljs/schema@0.1.3
- istanbul-lib-coverage: 192.168.4.201+4873/istanbul-lib-coverage@3.2.2
- semver: 192.168.4.201+4873/semver@6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- 192.168.4.201+4873/js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/js-tokens/-/js-tokens-4.0.0.tgz}
- name: js-tokens
- version: 4.0.0
- dev: false
-
192.168.4.201+4873/js-yaml@3.14.0:
resolution: {integrity: sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/js-yaml/-/js-yaml-3.14.0.tgz}
name: js-yaml
@@ -15423,14 +14869,6 @@ packages:
esprima: 192.168.4.201+4873/esprima@4.0.1
dev: false
- 192.168.4.201+4873/jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/jsesc/-/jsesc-2.5.2.tgz}
- name: jsesc
- version: 2.5.2
- engines: {node: '>=4'}
- hasBin: true
- dev: false
-
192.168.4.201+4873/json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz}
name: json-schema-traverse
@@ -15476,28 +14914,6 @@ packages:
json5: 192.168.4.201+4873/json5@2.2.3
dev: false
- 192.168.4.201+4873/lodash.clonedeep@4.5.0:
- resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz}
- name: lodash.clonedeep
- version: 4.5.0
- dev: false
-
- 192.168.4.201+4873/lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/lru-cache/-/lru-cache-5.1.1.tgz}
- name: lru-cache
- version: 5.1.1
- dependencies:
- yallist: 192.168.4.201+4873/yallist@3.1.1
- dev: false
-
- 192.168.4.201+4873/merge-source-map@1.1.0:
- resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/merge-source-map/-/merge-source-map-1.1.0.tgz}
- name: merge-source-map
- version: 1.1.0
- dependencies:
- source-map: 192.168.4.201+4873/source-map@0.6.1
- dev: false
-
192.168.4.201+4873/minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/minimatch/-/minimatch-3.1.2.tgz}
name: minimatch
@@ -15512,18 +14928,6 @@ packages:
version: 1.2.8
dev: false
- 192.168.4.201+4873/ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/ms/-/ms-2.1.2.tgz}
- name: ms
- version: 2.1.2
- dev: false
-
- 192.168.4.201+4873/node-releases@2.0.13:
- resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/node-releases/-/node-releases-2.0.13.tgz}
- name: node-releases
- version: 2.0.13
- dev: false
-
192.168.4.201+4873/object-keys@1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/object-keys/-/object-keys-1.1.1.tgz}
name: object-keys
@@ -15558,12 +14962,6 @@ packages:
version: 1.0.7
dev: false
- 192.168.4.201+4873/picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/picocolors/-/picocolors-1.0.0.tgz}
- name: picocolors
- version: 1.0.0
- dev: false
-
192.168.4.201+4873/punycode@2.3.0:
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/punycode/-/punycode-2.3.0.tgz}
name: punycode
@@ -15591,17 +14989,11 @@ packages:
resolve: 192.168.4.201+4873/resolve@1.22.4
dev: false
- 192.168.4.201+4873/regenerator-runtime@0.13.11:
- resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz}
- name: regenerator-runtime
- version: 0.13.11
- requiresBuild: true
- dev: false
-
192.168.4.201+4873/regenerator-runtime@0.14.0:
resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz}
name: regenerator-runtime
version: 0.14.0
+ dev: false
192.168.4.201+4873/resolve@1.22.4:
resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/resolve/-/resolve-1.22.4.tgz}
@@ -15620,17 +15012,6 @@ packages:
version: 5.2.1
dev: false
- 192.168.4.201+4873/schema-utils@2.7.1:
- resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/schema-utils/-/schema-utils-2.7.1.tgz}
- name: schema-utils
- version: 2.7.1
- engines: {node: '>= 8.9.0'}
- dependencies:
- '@types/json-schema': 192.168.4.201+4873/@types/json-schema@7.0.12
- ajv: 192.168.4.201+4873/ajv@6.12.6
- ajv-keywords: 192.168.4.201+4873/ajv-keywords@3.5.2(ajv@6.12.6)
- dev: false
-
192.168.4.201+4873/schema-utils@3.3.0:
resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/schema-utils/-/schema-utils-3.3.0.tgz}
name: schema-utils
@@ -15648,13 +15029,6 @@ packages:
version: 3.0.5
dev: false
- 192.168.4.201+4873/semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/semver/-/semver-6.3.1.tgz}
- name: semver
- version: 6.3.1
- hasBin: true
- dev: false
-
192.168.4.201+4873/shader-loader@1.3.1:
resolution: {integrity: sha512-dt8F9K0x4rjmaFyHh7rNDfpt4LUiR64zhNIEwp2WbE99B3z4ALuvvmhftkElg93dUD6sTmv/aXa/z9SJiEddcA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/shader-loader/-/shader-loader-1.3.1.tgz}
name: shader-loader
@@ -15675,13 +15049,6 @@ packages:
rechoir: 192.168.4.201+4873/rechoir@0.6.2
dev: false
- 192.168.4.201+4873/source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/source-map/-/source-map-0.6.1.tgz}
- name: source-map
- version: 0.6.1
- engines: {node: '>=0.10.0'}
- dev: false
-
192.168.4.201+4873/spark-md5@3.0.2:
resolution: {integrity: sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/spark-md5/-/spark-md5-3.0.2.tgz}
name: spark-md5
@@ -15711,15 +15078,6 @@ packages:
safe-buffer: 192.168.4.201+4873/safe-buffer@5.2.1
dev: false
- 192.168.4.201+4873/supports-color@5.5.0:
- resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/supports-color/-/supports-color-5.5.0.tgz}
- name: supports-color
- version: 5.5.0
- engines: {node: '>=4'}
- dependencies:
- has-flag: 192.168.4.201+4873/has-flag@3.0.0
- dev: false
-
192.168.4.201+4873/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz}
name: supports-preserve-symlinks-flag
@@ -15727,27 +15085,6 @@ packages:
engines: {node: '>= 0.4'}
dev: false
- 192.168.4.201+4873/to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/to-fast-properties/-/to-fast-properties-2.0.0.tgz}
- name: to-fast-properties
- version: 2.0.0
- engines: {node: '>=4'}
- dev: false
-
- 192.168.4.201+4873/update-browserslist-db@1.0.11(browserslist@4.21.10):
- resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz}
- id: 192.168.4.201+4873/update-browserslist-db/1.0.11
- name: update-browserslist-db
- version: 1.0.11
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 192.168.4.201+4873/browserslist@4.21.10
- escalade: 192.168.4.201+4873/escalade@3.1.1
- picocolors: 192.168.4.201+4873/picocolors@1.0.0
- dev: false
-
192.168.4.201+4873/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/uri-js/-/uri-js-4.4.1.tgz}
name: uri-js
@@ -15769,12 +15106,6 @@ packages:
hasBin: true
dev: false
- 192.168.4.201+4873/webgl-constants@1.1.1:
- resolution: {integrity: sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/webgl-constants/-/webgl-constants-1.1.1.tgz}
- name: webgl-constants
- version: 1.1.1
- dev: false
-
192.168.4.201+4873/webworker-promise@0.5.0:
resolution: {integrity: sha512-14iR79jHAV7ozwvbfif+3wCaApT3I1g8Lo0rJZrwAu6wxZGx/08Y8KXz6as6ZLNUEEufeiEBBYrqyDBClXOsEw==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/webworker-promise/-/webworker-promise-0.5.0.tgz}
name: webworker-promise
@@ -15813,9 +15144,3 @@ packages:
'@types/node': 192.168.4.201+4873/@types/node@20.3.3
js-yaml: 192.168.4.201+4873/js-yaml@3.14.0
dev: false
-
- 192.168.4.201+4873/yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, registry: http://npm.tavi.fit/, tarball: http://192.168.4.201:4873/yallist/-/yallist-3.1.1.tgz}
- name: yallist
- version: 3.1.1
- dev: false