@norskvideo/norsk-studio-built-ins 1.11.6 → 1.12.0-2025-01-27-b21c8c91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/client/info.js +1278 -776
- package/client/output.whep/styles.css +9 -0
- package/client/style.css +501 -858
- package/lib/info.js +4 -8
- package/lib/info.js.map +1 -1
- package/lib/input.rtmp/info.js +2 -1
- package/lib/input.rtmp/info.js.map +1 -1
- package/lib/input.rtmp/openApi.d.ts +133 -0
- package/lib/input.rtmp/openApi.js +3 -0
- package/lib/input.rtmp/openApi.js.map +1 -0
- package/lib/input.rtmp/runtime.d.ts +24 -5
- package/lib/input.rtmp/runtime.js +166 -60
- package/lib/input.rtmp/runtime.js.map +1 -1
- package/lib/input.rtmp/summary-view.d.ts +3 -5
- package/lib/input.rtmp/summary-view.js +26 -6
- package/lib/input.rtmp/summary-view.js.map +1 -1
- package/lib/input.rtmp/types.yaml +99 -0
- package/lib/input.silence/info.js +3 -2
- package/lib/input.silence/info.js.map +1 -1
- package/lib/input.srt-caller/info.js +6 -5
- package/lib/input.srt-caller/info.js.map +1 -1
- package/lib/input.srt-caller/runtime.d.ts +1 -1
- package/lib/input.srt-listener/info.js +7 -5
- package/lib/input.srt-listener/info.js.map +1 -1
- package/lib/input.srt-listener/openApi.d.ts +133 -0
- package/lib/input.srt-listener/openApi.js +3 -0
- package/lib/input.srt-listener/openApi.js.map +1 -0
- package/lib/input.srt-listener/runtime.d.ts +26 -6
- package/lib/input.srt-listener/runtime.js +168 -57
- package/lib/input.srt-listener/runtime.js.map +1 -1
- package/lib/input.srt-listener/summary-view.d.ts +3 -5
- package/lib/input.srt-listener/summary-view.js +28 -4
- package/lib/input.srt-listener/summary-view.js.map +1 -1
- package/lib/input.srt-listener/types.yaml +99 -0
- package/lib/input.udp-ts/info.d.ts +1 -1
- package/lib/input.udp-ts/info.js +5 -4
- package/lib/input.udp-ts/info.js.map +1 -1
- package/lib/input.udp-ts/runtime.d.ts +1 -1
- package/lib/input.videoTestCard/info.d.ts +1 -1
- package/lib/input.videoTestCard/info.js +14 -4
- package/lib/input.videoTestCard/info.js.map +1 -1
- package/lib/output.autoCmaf/info.d.ts +2 -2
- package/lib/output.autoCmaf/info.js +65 -7
- package/lib/output.autoCmaf/info.js.map +1 -1
- package/lib/output.autoCmaf/runtime.d.ts +29 -9
- package/lib/output.autoCmaf/runtime.js +198 -60
- package/lib/output.autoCmaf/runtime.js.map +1 -1
- package/lib/output.autoCmaf/summary.js +26 -1
- package/lib/output.autoCmaf/summary.js.map +1 -1
- package/lib/output.autoCmaf/types.d.ts +101 -0
- package/lib/output.autoCmaf/types.js +3 -0
- package/lib/output.autoCmaf/types.js.map +1 -0
- package/lib/output.autoCmaf/types.yaml +28 -0
- package/lib/output.preview/info.js +4 -2
- package/lib/output.preview/info.js.map +1 -1
- package/lib/output.preview/inline-view.d.ts +2 -4
- package/lib/output.preview/inline-view.js +8 -4
- package/lib/output.preview/inline-view.js.map +1 -1
- package/lib/output.preview/runtime.d.ts +4 -3
- package/lib/output.preview/runtime.js +29 -18
- package/lib/output.preview/runtime.js.map +1 -1
- package/lib/output.rtmp/info.js +1 -0
- package/lib/output.rtmp/info.js.map +1 -1
- package/lib/output.rtmp/inline-view.js +2 -2
- package/lib/output.rtmp/runtime.d.ts +2 -2
- package/lib/output.rtmp/runtime.js.map +1 -1
- package/lib/output.srt/info.d.ts +2 -2
- package/lib/output.srt/info.js +26 -5
- package/lib/output.srt/info.js.map +1 -1
- package/lib/output.srt/runtime.d.ts +30 -5
- package/lib/output.srt/runtime.js +139 -5
- package/lib/output.srt/runtime.js.map +1 -1
- package/lib/output.srt/types.d.ts +101 -0
- package/lib/output.srt/types.js +3 -0
- package/lib/output.srt/types.js.map +1 -0
- package/lib/output.srt/types.yaml +31 -0
- package/lib/output.statistics/info.js +1 -0
- package/lib/output.statistics/info.js.map +1 -1
- package/lib/output.statistics/inline-view.js +3 -2
- package/lib/output.statistics/inline-view.js.map +1 -1
- package/lib/output.statistics/runtime.d.ts +1 -1
- package/lib/output.statistics/runtime.js.map +1 -1
- package/lib/output.udpTs/info.d.ts +1 -1
- package/lib/output.udpTs/info.js +4 -3
- package/lib/output.udpTs/info.js.map +1 -1
- package/lib/output.udpTs/runtime.d.ts +1 -1
- package/lib/output.whep/info.d.ts +2 -2
- package/lib/output.whep/info.js +48 -0
- package/lib/output.whep/info.js.map +1 -1
- package/lib/output.whep/inline-view.d.ts +4 -0
- package/lib/output.whep/inline-view.js +24 -0
- package/lib/output.whep/inline-view.js.map +1 -0
- package/lib/output.whep/runtime.d.ts +26 -5
- package/lib/output.whep/runtime.js +64 -13
- package/lib/output.whep/runtime.js.map +1 -1
- package/lib/output.whep/types.d.ts +101 -0
- package/lib/output.whep/types.js +3 -0
- package/lib/output.whep/types.js.map +1 -0
- package/lib/output.whep/types.yaml +30 -0
- package/lib/processor.browserOverlay/info.d.ts +2 -2
- package/lib/processor.browserOverlay/info.js +56 -2
- package/lib/processor.browserOverlay/info.js.map +1 -1
- package/lib/processor.browserOverlay/inline-view.d.ts +6 -0
- package/lib/processor.browserOverlay/inline-view.js +8 -0
- package/lib/processor.browserOverlay/inline-view.js.map +1 -0
- package/lib/processor.browserOverlay/openApi.d.ts +174 -0
- package/lib/processor.browserOverlay/openApi.js +3 -0
- package/lib/processor.browserOverlay/openApi.js.map +1 -0
- package/lib/processor.browserOverlay/runtime.d.ts +40 -6
- package/lib/processor.browserOverlay/runtime.js +151 -23
- package/lib/processor.browserOverlay/runtime.js.map +1 -1
- package/lib/processor.browserOverlay/summary-view.d.ts +4 -0
- package/lib/processor.browserOverlay/summary-view.js +27 -0
- package/lib/processor.browserOverlay/summary-view.js.map +1 -0
- package/lib/processor.browserOverlay/types.yaml +65 -0
- package/lib/processor.cascadingSwitch/info.js +4 -3
- package/lib/processor.cascadingSwitch/info.js.map +1 -1
- package/lib/processor.cascadingSwitch/inline-view.js +3 -3
- package/lib/processor.cascadingSwitch/runtime.d.ts +1 -1
- package/lib/processor.cascadingSwitch/runtime.js +2 -2
- package/lib/processor.cascadingSwitch/runtime.js.map +1 -1
- package/lib/processor.fixedLadder/codec-editor.js +1 -1
- package/lib/processor.fixedLadder/codec-editor.js.map +1 -1
- package/lib/processor.fixedLadder/codec-view.js +1 -1
- package/lib/processor.fixedLadder/codec-view.js.map +1 -1
- package/lib/processor.fixedLadder/info.js +4 -2
- package/lib/processor.fixedLadder/info.js.map +1 -1
- package/lib/processor.fixedLadder/rung-view.js +1 -1
- package/lib/processor.fixedLadder/rung-view.js.map +1 -1
- package/lib/processor.onscreenGraphic/image-selection.d.ts +9 -0
- package/lib/{processor.dynamicBug/bug-selection.js → processor.onscreenGraphic/image-selection.js} +10 -10
- package/lib/processor.onscreenGraphic/image-selection.js.map +1 -0
- package/lib/processor.onscreenGraphic/info.d.ts +3 -0
- package/lib/{processor.dynamicBug → processor.onscreenGraphic}/info.js +23 -16
- package/lib/processor.onscreenGraphic/info.js.map +1 -0
- package/lib/processor.onscreenGraphic/runtime.d.ts +91 -0
- package/lib/processor.onscreenGraphic/runtime.js +503 -0
- package/lib/processor.onscreenGraphic/runtime.js.map +1 -0
- package/lib/processor.onscreenGraphic/summary-view.d.ts +4 -0
- package/lib/processor.onscreenGraphic/summary-view.js +343 -0
- package/lib/processor.onscreenGraphic/summary-view.js.map +1 -0
- package/lib/processor.onscreenGraphic/types.d.ts +271 -0
- package/lib/processor.onscreenGraphic/types.js +3 -0
- package/lib/processor.onscreenGraphic/types.js.map +1 -0
- package/lib/processor.onscreenGraphic/types.yaml +211 -0
- package/lib/processor.streamKeyOverride/info.d.ts +3 -0
- package/lib/processor.streamKeyOverride/info.js +150 -0
- package/lib/processor.streamKeyOverride/info.js.map +1 -0
- package/lib/processor.streamKeyOverride/runtime.d.ts +54 -0
- package/lib/processor.streamKeyOverride/runtime.js +226 -0
- package/lib/processor.streamKeyOverride/runtime.js.map +1 -0
- package/lib/shared/drm/axinom.d.ts +2 -0
- package/lib/shared/drm/axinom.js +120 -0
- package/lib/shared/drm/axinom.js.map +1 -0
- package/lib/shared/drm/cpix.d.ts +24 -0
- package/lib/shared/drm/cpix.js +97 -0
- package/lib/shared/drm/cpix.js.map +1 -0
- package/lib/shared/drm/ezdrm.d.ts +2 -0
- package/lib/shared/drm/ezdrm.js +26 -0
- package/lib/shared/drm/ezdrm.js.map +1 -0
- package/lib/shared/srt-socket-options.js +6 -6
- package/lib/shared/srt-socket-options.js.map +1 -1
- package/lib/test/auto-cmaf.js +25 -17
- package/lib/test/auto-cmaf.js.map +1 -1
- package/lib/test/browser-overlay.js +1 -0
- package/lib/test/browser-overlay.js.map +1 -1
- package/lib/test/{dynamic-bug.js → onscreen-graphic.js} +139 -106
- package/lib/test/onscreen-graphic.js.map +1 -0
- package/lib/test/preview.js +3 -3
- package/lib/test/preview.js.map +1 -1
- package/lib/test/rtmp-input.js +6 -3
- package/lib/test/rtmp-input.js.map +1 -1
- package/lib/test/srt-input-caller.js +5 -5
- package/lib/test/srt-input-caller.js.map +1 -1
- package/lib/test/srt-input-listener.js +99 -18
- package/lib/test/srt-input-listener.js.map +1 -1
- package/lib/test/srt-output.js +2 -2
- package/lib/test/srt-output.js.map +1 -1
- package/lib/test/udp-output.js +2 -2
- package/lib/test/udp-output.js.map +1 -1
- package/lib/test/udp-ts-input.js +2 -2
- package/lib/test/udp-ts-input.js.map +1 -1
- package/lib/test/whep-output.js +8 -2
- package/lib/test/whep-output.js.map +1 -1
- package/lib/{util.latency → util.stats.latency}/info.js +2 -1
- package/lib/util.stats.latency/info.js.map +1 -0
- package/lib/util.stats.latency/inline-view.js.map +1 -0
- package/lib/{util.latency → util.stats.latency}/runtime.d.ts +1 -1
- package/lib/{util.latency → util.stats.latency}/runtime.js +2 -2
- package/lib/util.stats.latency/runtime.js.map +1 -0
- package/lib/util.stats.latency/source-node-selection.js.map +1 -0
- package/package.json +12 -5
- package/lib/processor.dynamicBug/bug-selection.d.ts +0 -9
- package/lib/processor.dynamicBug/bug-selection.js.map +0 -1
- package/lib/processor.dynamicBug/info.d.ts +0 -3
- package/lib/processor.dynamicBug/info.js.map +0 -1
- package/lib/processor.dynamicBug/runtime.d.ts +0 -64
- package/lib/processor.dynamicBug/runtime.js +0 -297
- package/lib/processor.dynamicBug/runtime.js.map +0 -1
- package/lib/processor.dynamicBug/summary-view.d.ts +0 -4
- package/lib/processor.dynamicBug/summary-view.js +0 -60
- package/lib/processor.dynamicBug/summary-view.js.map +0 -1
- package/lib/processor.whisper-transcribe/info.d.ts +0 -3
- package/lib/processor.whisper-transcribe/info.js +0 -43
- package/lib/processor.whisper-transcribe/info.js.map +0 -1
- package/lib/processor.whisper-transcribe/runtime.d.ts +0 -29
- package/lib/processor.whisper-transcribe/runtime.js +0 -83
- package/lib/processor.whisper-transcribe/runtime.js.map +0 -1
- package/lib/test/dynamic-bug.js.map +0 -1
- package/lib/util.latency/info.js.map +0 -1
- package/lib/util.latency/inline-view.js.map +0 -1
- package/lib/util.latency/runtime.js.map +0 -1
- package/lib/util.latency/source-node-selection.js.map +0 -1
- package/lib/util.ma35d/info.d.ts +0 -3
- package/lib/util.ma35d/info.js +0 -78
- package/lib/util.ma35d/info.js.map +0 -1
- package/lib/util.ma35d/inline-view.d.ts +0 -6
- package/lib/util.ma35d/inline-view.js +0 -76
- package/lib/util.ma35d/inline-view.js.map +0 -1
- package/lib/util.ma35d/runtime.d.ts +0 -21
- package/lib/util.ma35d/runtime.js +0 -49
- package/lib/util.ma35d/runtime.js.map +0 -1
- package/lib/util.timestamps/info.d.ts +0 -5
- package/lib/util.timestamps/info.js +0 -86
- package/lib/util.timestamps/info.js.map +0 -1
- package/lib/util.timestamps/inline-view.d.ts +0 -6
- package/lib/util.timestamps/inline-view.js +0 -94
- package/lib/util.timestamps/inline-view.js.map +0 -1
- package/lib/util.timestamps/runtime.d.ts +0 -29
- package/lib/util.timestamps/runtime.js +0 -40
- package/lib/util.timestamps/runtime.js.map +0 -1
- /package/lib/test/{dynamic-bug.d.ts → onscreen-graphic.d.ts} +0 -0
- /package/lib/{util.latency → util.stats.latency}/info.d.ts +0 -0
- /package/lib/{util.latency → util.stats.latency}/inline-view.d.ts +0 -0
- /package/lib/{util.latency → util.stats.latency}/inline-view.js +0 -0
- /package/lib/{util.latency → util.stats.latency}/source-node-selection.d.ts +0 -0
- /package/lib/{util.latency → util.stats.latency}/source-node-selection.js +0 -0
@@ -0,0 +1,343 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
4
|
+
const react_1 = require("react");
|
5
|
+
function SummaryView({ state, sendCommand, urls, }) {
|
6
|
+
const [graphic, setGraphic] = (0, react_1.useState)(state.activeGraphic?.file);
|
7
|
+
const [position, setPosition] = (0, react_1.useState)(state.activeGraphic?.position ?? { type: 'named', position: 'topleft' });
|
8
|
+
const [graphics, setGraphics] = (0, react_1.useState)([]);
|
9
|
+
const [fileToUpload, setFileToUpload] = (0, react_1.useState)(undefined);
|
10
|
+
const [showFileInput, setShowFileInput] = (0, react_1.useState)(false);
|
11
|
+
const [showUploadButton, setShowUploadButton] = (0, react_1.useState)(false);
|
12
|
+
const [uploadStatus, setUploadStatus] = (0, react_1.useState)({ success: false, message: null });
|
13
|
+
const [showDeleteDropdown, setShowDeleteDropdown] = (0, react_1.useState)(false);
|
14
|
+
const [graphicToDelete, setGraphicToDelete] = (0, react_1.useState)("");
|
15
|
+
const updateGraphics = (0, react_1.useCallback)(async () => {
|
16
|
+
try {
|
17
|
+
const result = await fetch(`${urls.componentUrl}/graphics`);
|
18
|
+
if (result.ok) {
|
19
|
+
const newGraphics = (await result.json());
|
20
|
+
setGraphics(newGraphics);
|
21
|
+
}
|
22
|
+
else {
|
23
|
+
throw new Error(await result.text());
|
24
|
+
}
|
25
|
+
}
|
26
|
+
catch (error) {
|
27
|
+
console.error("Failed to update graphics:", error);
|
28
|
+
setUploadStatus({
|
29
|
+
success: false,
|
30
|
+
message: "Failed to update graphic list.",
|
31
|
+
});
|
32
|
+
}
|
33
|
+
}, [urls.componentUrl]);
|
34
|
+
(0, react_1.useEffect)(() => {
|
35
|
+
updateGraphics().catch(console.error);
|
36
|
+
}, [updateGraphics]);
|
37
|
+
const onFileChange = (e) => {
|
38
|
+
const file = e.target.files?.[0];
|
39
|
+
setFileToUpload(file);
|
40
|
+
setShowUploadButton(!!file);
|
41
|
+
setUploadStatus({ success: false, message: null });
|
42
|
+
};
|
43
|
+
const uploadFileHandle = async () => {
|
44
|
+
if (!fileToUpload)
|
45
|
+
return;
|
46
|
+
try {
|
47
|
+
const form = new FormData();
|
48
|
+
form.append("file", fileToUpload);
|
49
|
+
const response = await fetch(`${urls.componentUrl}/graphics`, {
|
50
|
+
method: "POST",
|
51
|
+
body: form,
|
52
|
+
});
|
53
|
+
if (response.status === 409) {
|
54
|
+
const errorData = await response.json();
|
55
|
+
setUploadStatus({
|
56
|
+
success: false,
|
57
|
+
message: `${errorData.error}. Delete the existing graphic first if you want to replace it.`,
|
58
|
+
});
|
59
|
+
}
|
60
|
+
else if (!response.ok) {
|
61
|
+
throw new Error("Upload failed");
|
62
|
+
}
|
63
|
+
else {
|
64
|
+
setFileToUpload(undefined);
|
65
|
+
setShowFileInput(false);
|
66
|
+
setUploadStatus({
|
67
|
+
success: true,
|
68
|
+
message: "Graphic uploaded successfully!",
|
69
|
+
});
|
70
|
+
await updateGraphics();
|
71
|
+
}
|
72
|
+
}
|
73
|
+
catch (error) {
|
74
|
+
console.error("Failed to upload file:", error);
|
75
|
+
setUploadStatus({ success: false, message: "Failed to upload graphic." });
|
76
|
+
}
|
77
|
+
setTimeout(() => setUploadStatus({ success: false, message: null }), 5000);
|
78
|
+
};
|
79
|
+
const uploadFile = () => {
|
80
|
+
void uploadFileHandle();
|
81
|
+
};
|
82
|
+
const deleteBugHandle = async () => {
|
83
|
+
if (!graphicToDelete)
|
84
|
+
return;
|
85
|
+
try {
|
86
|
+
console.log(`${urls.componentUrl}`);
|
87
|
+
const response = await fetch(`${urls.componentUrl}/graphic`, {
|
88
|
+
method: "DELETE",
|
89
|
+
headers: {
|
90
|
+
"Content-Type": "application/json",
|
91
|
+
},
|
92
|
+
body: JSON.stringify({ filename: graphicToDelete }),
|
93
|
+
});
|
94
|
+
if (response.ok) {
|
95
|
+
setUploadStatus({
|
96
|
+
success: true,
|
97
|
+
message: "Graphic deleted successfully!",
|
98
|
+
});
|
99
|
+
await updateGraphics();
|
100
|
+
if (graphic === graphicToDelete) {
|
101
|
+
setGraphic(undefined);
|
102
|
+
sendCommand({
|
103
|
+
type: "change-graphic",
|
104
|
+
file: undefined,
|
105
|
+
position: undefined,
|
106
|
+
});
|
107
|
+
}
|
108
|
+
setGraphicToDelete("");
|
109
|
+
setShowDeleteDropdown(false);
|
110
|
+
}
|
111
|
+
else {
|
112
|
+
const errorData = await response.json();
|
113
|
+
setUploadStatus({
|
114
|
+
success: false,
|
115
|
+
message: errorData.error || "Failed to delete graphic",
|
116
|
+
});
|
117
|
+
}
|
118
|
+
}
|
119
|
+
catch (error) {
|
120
|
+
console.error("Failed to delete graphic:", error);
|
121
|
+
setUploadStatus({ success: false, message: "Failed to delete graphic" });
|
122
|
+
}
|
123
|
+
setTimeout(() => setUploadStatus({ success: false, message: null }), 3000);
|
124
|
+
};
|
125
|
+
const deleteBug = () => {
|
126
|
+
void deleteBugHandle();
|
127
|
+
};
|
128
|
+
const eqPosition = (l, r) => {
|
129
|
+
if (!r)
|
130
|
+
return false;
|
131
|
+
if (l.type === 'named') {
|
132
|
+
if (r.type !== 'named')
|
133
|
+
return false;
|
134
|
+
return l.position === r.position;
|
135
|
+
}
|
136
|
+
if (r.type === 'named')
|
137
|
+
return false;
|
138
|
+
if (l.type !== r.type)
|
139
|
+
return false;
|
140
|
+
return l.x === r.x && l.y === r.y;
|
141
|
+
};
|
142
|
+
const graphicChanged = graphic !== state.activeGraphic?.file;
|
143
|
+
const stateChanged = graphicChanged ||
|
144
|
+
!eqPosition(position, state.activeGraphic?.position);
|
145
|
+
const buttonClass = "mt-2 mb-5 text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800";
|
146
|
+
const deleteButtonClass = "mt-2 text-white w-full justify-center bg-red-600 hover:bg-red-700 focus:ring-4 focus:outline-none focus:ring-red-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-red-700 dark:hover:bg-red-800 dark:focus:ring-red-900";
|
147
|
+
const fileInputClass = "block w-full text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-none dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400";
|
148
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-3", children: [(0, jsx_runtime_1.jsx)("h2", { className: "text-xl font-bold text-gray-900 dark:text-white", children: "Controls" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "select-graphic", className: "block text-gray-900 dark:text-white mb-1", children: "Source" }), (0, jsx_runtime_1.jsxs)("select", { id: "select-graphic", className: "w-full node-editor-select-input", value: graphic || "", onChange: (e) => setGraphic(e.target.value || undefined), children: [(0, jsx_runtime_1.jsx)("option", { value: "", children: "---" }), graphics.map((s) => ((0, jsx_runtime_1.jsx)("option", { value: s, children: s }, s)))] })] }), graphic && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "select-position", className: "block text-gray-900 dark:text-white mb-1", children: "Graphic position" }), (0, jsx_runtime_1.jsx)(PositionSelector, { initialPosition: position, onChange: setPosition, graphicChanged: graphicChanged, ...state })] })), (0, jsx_runtime_1.jsx)("button", { type: "button", className: `${buttonClass} ${!stateChanged ? 'opacity-50 cursor-not-allowed' : ''}`, onClick: () => sendCommand({ type: "change-graphic", file: graphic, position }), disabled: !stateChanged, children: "Commit" }), !showFileInput && !uploadStatus.success && ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, onClick: () => setShowFileInput(true), style: { marginBottom: "1rem" }, children: "Upload Graphic" })), showFileInput && ((0, jsx_runtime_1.jsxs)("form", { style: { display: "block", marginBottom: "1rem" }, children: [(0, jsx_runtime_1.jsx)("input", { type: "file", id: "file", name: "filename", onChange: onFileChange, className: fileInputClass }), showUploadButton && ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, onClick: uploadFile, children: "Upload" }))] })), (0, jsx_runtime_1.jsx)("button", { type: "button", className: deleteButtonClass, onClick: () => setShowDeleteDropdown(!showDeleteDropdown), style: { marginBottom: "1rem" }, children: showDeleteDropdown ? "Hide Delete Options" : "Delete Graphics" }), showDeleteDropdown && ((0, jsx_runtime_1.jsxs)("div", { className: "mt-2 p-2 bg-gray-100 dark:bg-gray-800 rounded-lg", children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-lg font-semibold mb-2 text-gray-900 dark:text-white", children: "Select Graphic to Delete" }), (0, jsx_runtime_1.jsxs)("select", { className: "w-full mb-2 node-editor-select-input", value: graphicToDelete, onChange: (e) => setGraphicToDelete(e.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "", children: " Select a graphic" }), graphics.map((graphicName) => ((0, jsx_runtime_1.jsx)("option", { value: graphicName, children: graphicName }, graphicName)))] }), (0, jsx_runtime_1.jsx)("button", { onClick: deleteBug, disabled: !graphicToDelete, className: `${deleteButtonClass} ${!graphicToDelete ? "opacity-50 cursor-not-allowed" : ""}`, children: "Delete Selected Graphic" })] })), uploadStatus.message && ((0, jsx_runtime_1.jsx)("div", { className: `mt-2 text-center ${uploadStatus.success ? "text-green-600" : "text-red-600"}`, children: uploadStatus.message }))] }));
|
149
|
+
}
|
150
|
+
function convertPosition(givenPosition, currentVideo, currentGraphic) {
|
151
|
+
if (!givenPosition)
|
152
|
+
givenPosition = { type: 'named', position: 'topleft' };
|
153
|
+
if (givenPosition.type === 'named') {
|
154
|
+
let xy;
|
155
|
+
if (givenPosition.position === 'topleft') {
|
156
|
+
xy = { x: 0, y: 0 };
|
157
|
+
}
|
158
|
+
else if (givenPosition.position === 'topright') {
|
159
|
+
xy = { x: 100, y: 0 };
|
160
|
+
}
|
161
|
+
else if (givenPosition.position === 'bottomleft') {
|
162
|
+
xy = { x: 0, y: 100 };
|
163
|
+
}
|
164
|
+
else if (givenPosition.position === 'bottomright') {
|
165
|
+
xy = { x: 100, y: 100 };
|
166
|
+
}
|
167
|
+
else if (givenPosition.position === 'center') {
|
168
|
+
xy = { x: 50, y: 50 };
|
169
|
+
}
|
170
|
+
else {
|
171
|
+
assertUnreachable(givenPosition.position);
|
172
|
+
}
|
173
|
+
return { ...givenPosition, ...xy, xPct: xy.x, yPct: xy.y };
|
174
|
+
}
|
175
|
+
if (givenPosition.type === 'coordinate') {
|
176
|
+
if (!currentVideo || !currentGraphic) {
|
177
|
+
return { ...givenPosition, xPct: 0, yPct: 0 };
|
178
|
+
}
|
179
|
+
const { width: videoWidth, height: videoHeight } = currentVideo;
|
180
|
+
const { width: graphicWidth, height: graphicHeight } = currentGraphic;
|
181
|
+
const maxX = videoWidth - graphicWidth;
|
182
|
+
const maxY = videoHeight - graphicHeight;
|
183
|
+
return {
|
184
|
+
...givenPosition,
|
185
|
+
x: clamp(0, givenPosition.x, maxX),
|
186
|
+
xPct: clamp(0, givenPosition.x * 100 / maxX, 100),
|
187
|
+
y: clamp(0, givenPosition.y, maxY),
|
188
|
+
yPct: clamp(0, givenPosition.y * 100 / maxY, 100),
|
189
|
+
};
|
190
|
+
}
|
191
|
+
return { ...givenPosition, xPct: givenPosition.x, yPct: givenPosition.y };
|
192
|
+
}
|
193
|
+
const PositionSelector = ({ initialPosition: givenPosition = { type: 'named', position: 'topleft' }, onChange, currentVideo, currentGraphic, graphicChanged, }) => {
|
194
|
+
const convertPos = (pos) => convertPosition(pos, currentVideo, currentGraphic);
|
195
|
+
const initialPosition = convertPos(givenPosition);
|
196
|
+
const [position, setLocalPosition] = (0, react_1.useState)(initialPosition);
|
197
|
+
const setPosition = (v) => { setLocalPosition(v); onChange(v); };
|
198
|
+
const [positionUnit, setPositionUnit] = (0, react_1.useState)(position.type === 'coordinate' ? "px" : "%");
|
199
|
+
const [isDragging, setIsDragging] = (0, react_1.useState)(false);
|
200
|
+
const [dragStart, setDragStart] = (0, react_1.useState)({ xPct: 0, yPct: 0, cx: 0, cy: 0 });
|
201
|
+
const previewAreaRef = (0, react_1.useRef)(null);
|
202
|
+
const previewTargetRef = (0, react_1.useRef)(null);
|
203
|
+
const handleMouseDown = (e) => {
|
204
|
+
setIsDragging(true);
|
205
|
+
setDragStart({
|
206
|
+
...position,
|
207
|
+
cx: e.clientX,
|
208
|
+
cy: e.clientY,
|
209
|
+
});
|
210
|
+
handleMouseMove(e);
|
211
|
+
};
|
212
|
+
const handleMouseMove = (e) => {
|
213
|
+
if (!isDragging)
|
214
|
+
return;
|
215
|
+
const boundingBox = previewAreaRef.current?.getBoundingClientRect() ?? { width: 0, height: 0 };
|
216
|
+
const bbTarget = previewTargetRef.current?.getBoundingClientRect() ?? { width: 0, height: 0 };
|
217
|
+
const clientWidth = boundingBox.width - bbTarget.width;
|
218
|
+
const clientHeight = boundingBox.height - bbTarget.height;
|
219
|
+
const newX = clamp(0, dragStart.xPct + (e.clientX - dragStart.cx) * (100 / clientWidth), 100);
|
220
|
+
const newY = clamp(0, dragStart.yPct + (e.clientY - dragStart.cy) * (100 / clientHeight), 100);
|
221
|
+
if (positionUnit === 'px' && currentVideo && currentGraphic) {
|
222
|
+
const { width: videoWidth, height: videoHeight } = currentVideo;
|
223
|
+
const { width: graphicWidth, height: graphicHeight } = currentGraphic;
|
224
|
+
const maxX = videoWidth - graphicWidth;
|
225
|
+
const maxY = videoHeight - graphicHeight;
|
226
|
+
setPosition({
|
227
|
+
type: 'coordinate',
|
228
|
+
x: newX * maxX / 100,
|
229
|
+
y: newY * maxY / 100,
|
230
|
+
xPct: newX,
|
231
|
+
yPct: newY,
|
232
|
+
});
|
233
|
+
}
|
234
|
+
else {
|
235
|
+
setPosition({
|
236
|
+
type: 'percentage',
|
237
|
+
x: newX,
|
238
|
+
y: newY,
|
239
|
+
xPct: newX,
|
240
|
+
yPct: newY,
|
241
|
+
});
|
242
|
+
}
|
243
|
+
};
|
244
|
+
const handleMouseUp = () => {
|
245
|
+
setIsDragging(false);
|
246
|
+
};
|
247
|
+
(0, react_1.useEffect)(() => {
|
248
|
+
if (isDragging) {
|
249
|
+
window.addEventListener("mousemove", handleMouseMove);
|
250
|
+
window.addEventListener("mouseup", handleMouseUp);
|
251
|
+
}
|
252
|
+
return () => {
|
253
|
+
window.removeEventListener("mousemove", handleMouseMove);
|
254
|
+
window.removeEventListener("mouseup", handleMouseUp);
|
255
|
+
};
|
256
|
+
}, [isDragging]);
|
257
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "relative w-full max-w-lg mx-auto mt-4 mb-8", children: [(0, jsx_runtime_1.jsxs)("div", { className: "mb-4 flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: "Position Type:" }), (0, jsx_runtime_1.jsxs)("select", { value: position.type, onChange: (e) => {
|
258
|
+
const newType = e.target.value;
|
259
|
+
if (newType === 'named') {
|
260
|
+
setPosition(convertPos({ type: 'named', position: 'topleft' }));
|
261
|
+
}
|
262
|
+
else {
|
263
|
+
setPositionUnit("%");
|
264
|
+
setPosition({ ...convertPos(position), type: 'percentage' });
|
265
|
+
}
|
266
|
+
}, className: "node-editor-select-input", children: [(0, jsx_runtime_1.jsx)("option", { value: "coordinate", children: "Custom Position" }), (0, jsx_runtime_1.jsx)("option", { value: "named", children: "Preset Position" })] })] }), position.type === 'named' ? ((0, jsx_runtime_1.jsx)("div", { className: "mb-4", children: (0, jsx_runtime_1.jsxs)("select", { value: position.position, onChange: (e) => {
|
267
|
+
setPosition(convertPos({
|
268
|
+
type: 'named',
|
269
|
+
position: e.target.value
|
270
|
+
}));
|
271
|
+
}, className: "w-full node-editor-select-input", children: [(0, jsx_runtime_1.jsx)("option", { value: "topleft", children: "Top Left" }), (0, jsx_runtime_1.jsx)("option", { value: "topright", children: "Top Right" }), (0, jsx_runtime_1.jsx)("option", { value: "bottomleft", children: "Bottom Left" }), (0, jsx_runtime_1.jsx)("option", { value: "bottomright", children: "Bottom Right" }), (0, jsx_runtime_1.jsx)("option", { value: "center", children: "Centered" })] }) })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "mb-4 flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: "Position Unit:" }), (0, jsx_runtime_1.jsxs)("select", { value: positionUnit, onChange: (e) => {
|
272
|
+
setPositionUnit(e.target.value);
|
273
|
+
if (e.target.value === 'px' && position.type !== 'coordinate' && currentVideo && currentGraphic) {
|
274
|
+
const { width: videoWidth, height: videoHeight } = currentVideo;
|
275
|
+
const { width: graphicWidth, height: graphicHeight } = currentGraphic;
|
276
|
+
const maxX = videoWidth - graphicWidth;
|
277
|
+
const maxY = videoHeight - graphicHeight;
|
278
|
+
setPosition({
|
279
|
+
...position,
|
280
|
+
type: 'coordinate',
|
281
|
+
x: position.xPct * maxX / 100,
|
282
|
+
y: position.yPct * maxY / 100,
|
283
|
+
xStr: undefined,
|
284
|
+
yStr: undefined,
|
285
|
+
});
|
286
|
+
}
|
287
|
+
else if (e.target.value === "%") {
|
288
|
+
setPosition({
|
289
|
+
...position,
|
290
|
+
type: 'percentage',
|
291
|
+
x: position.xPct,
|
292
|
+
y: position.yPct,
|
293
|
+
xStr: undefined,
|
294
|
+
yStr: undefined,
|
295
|
+
});
|
296
|
+
}
|
297
|
+
}, className: "node-editor-select-input", children: [(0, jsx_runtime_1.jsx)("option", { value: "px", children: "Pixels" }), (0, jsx_runtime_1.jsx)("option", { value: "%", children: "Percentage" })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "relative bg-gray-200 dark:bg-gray-700 rounded-lg", style: {
|
298
|
+
width: "100%",
|
299
|
+
userSelect: "none",
|
300
|
+
aspectRatio: currentVideo ? `${currentVideo.width} / ${currentVideo.height}` : `3 / 2`
|
301
|
+
}, ref: previewAreaRef, children: [(0, jsx_runtime_1.jsxs)("div", { className: "absolute inset-0 flex flex-col items-center justify-center text-gray-500 dark:text-gray-400", children: [(0, jsx_runtime_1.jsx)("span", { children: currentVideo ? "Video Preview Area" : "Video Dimensions Unknown" }), " ", currentVideo ? (0, jsx_runtime_1.jsxs)("span", { children: [currentVideo.width, "x", currentVideo.height, "px"] }) : ''] }), (0, jsx_runtime_1.jsx)("div", { className: `absolute cursor-move ${currentGraphic && !graphicChanged ? "" : "p-2"} rounded-lg bg-primary-500 bg-opacity-50 hover:bg-opacity-75 transition-colors
|
302
|
+
${isDragging ? "bg-opacity-75" : ""}`, style: {
|
303
|
+
left: `${position.xPct}%`,
|
304
|
+
top: `${position.yPct}%`,
|
305
|
+
transform: `translate(-${position.xPct}%, -${position.yPct}%)`,
|
306
|
+
aspectRatio: currentGraphic && !graphicChanged ? `${currentGraphic.width} / ${currentGraphic.height}` : `1`,
|
307
|
+
width: currentGraphic && currentVideo && !graphicChanged ? (currentGraphic.width / currentVideo.width * 100) + "%" : undefined,
|
308
|
+
}, onMouseDown: handleMouseDown, ref: previewTargetRef, children: (0, jsx_runtime_1.jsx)("svg", { className: `${currentGraphic && !graphicChanged ? "w-full h-full" : "w-6 h-6"} text-white`, "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: (0, jsx_runtime_1.jsx)("path", { stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 6v12m-6-6h12m-6-6 1.5 1.5M12 6l-1.5 1.5m1.5 10.5L10.5 16.5M12 18l1.5-1.5M6 12l1.5-1.5M7.5 13.5 6 12m12 0-1.5-1.5M16.5 13.5 18 12" }) }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-2 text-sm text-gray-600 dark:text-gray-300 text-center", children: ["Position:", " ", position.type === 'percentage'
|
309
|
+
? `${position.xPct.toFixed(1)}%, ${position.yPct.toFixed(1)}%`
|
310
|
+
: `${Math.round(position.x)}px, ${Math.round(position.y)}px`] }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-2 flex gap-4", children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: ["X Position ", positionUnit] }), (0, jsx_runtime_1.jsx)("input", { type: "number", step: positionUnit === "%" ? "0.1" : "1", value: position.xStr ??
|
311
|
+
(positionUnit === "%"
|
312
|
+
? position.xPct.toFixed(1)
|
313
|
+
: Math.round(position.x)), onChange: (e) => {
|
314
|
+
const newX = Number(e.target.value);
|
315
|
+
setPosition(convertPos({
|
316
|
+
type: positionUnit === "%" ? 'percentage' : 'coordinate',
|
317
|
+
x: newX,
|
318
|
+
xStr: e.target.value,
|
319
|
+
y: position.y,
|
320
|
+
yStr: position.yStr,
|
321
|
+
}));
|
322
|
+
}, className: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm dark:bg-gray-700 dark:border-gray-600" })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300", children: ["Y Position ", positionUnit] }), (0, jsx_runtime_1.jsx)("input", { type: "number", step: positionUnit === "%" ? "0.1" : "1", value: position.yStr ??
|
323
|
+
(positionUnit === "%"
|
324
|
+
? position.yPct.toFixed(1)
|
325
|
+
: Math.round(position.y)), onChange: (e) => {
|
326
|
+
const newY = Number(e.target.value);
|
327
|
+
setPosition(convertPos({
|
328
|
+
type: positionUnit === "%" ? 'percentage' : 'coordinate',
|
329
|
+
x: position.x,
|
330
|
+
xStr: position.xStr,
|
331
|
+
y: newY,
|
332
|
+
yStr: e.target.value,
|
333
|
+
}));
|
334
|
+
}, className: "mt-1 block w-full rounded-md border-gray-300 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm dark:bg-gray-700 dark:border-gray-600" })] })] })] }))] }));
|
335
|
+
};
|
336
|
+
function clamp(min, num, max) {
|
337
|
+
return num < min ? min : num > max ? max : num;
|
338
|
+
}
|
339
|
+
function assertUnreachable(_) {
|
340
|
+
throw new Error("Didn't expect to get here");
|
341
|
+
}
|
342
|
+
exports.default = SummaryView;
|
343
|
+
//# sourceMappingURL=summary-view.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"summary-view.js","sourceRoot":"","sources":["../../src/processor.onscreenGraphic/summary-view.tsx"],"names":[],"mappings":";;;AAAA,iCAAqF;AAUrF,SAAS,WAAW,CAAC,EACnB,KAAK,EACL,WAAW,EACX,IAAI,GAKL;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EACtC,KAAK,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE,IAAI,EAAE,OAAgB,EAAE,QAAQ,EAAE,SAAkB,EAAE,CAC1F,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAW,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAmB,SAAS,CAAC,CAAC;IAC9E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAG7C,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAS,EAAE,CAAC,CAAC;IAEnE,MAAM,cAAc,GAAG,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,WAAW,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAa,CAAC;gBACtD,WAAW,CAAC,WAAW,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,eAAe,CAAC;gBACd,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,gCAAgC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAExB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,cAAc,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,YAAY,GAAG,CAAC,CAAgC,EAAE,EAAE;QACxD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,WAAW,EAAE;gBAC5D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,eAAe,CAAC;oBACd,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,GAAG,SAAS,CAAC,KAAK,gEAAgE;iBAC5F,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACxB,eAAe,CAAC;oBACd,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,gCAAgC;iBAC1C,CAAC,CAAC;gBACH,MAAM,cAAc,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,KAAK,gBAAgB,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;QACjC,IAAI,CAAC,eAAe;YAAE,OAAO;QAE7B,IAAI,CAAC;YAGH,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,UAAU,EAAE;gBAC3D,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;aACpD,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,eAAe,CAAC;oBACd,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,+BAA+B;iBACzC,CAAC,CAAC;gBACH,MAAM,cAAc,EAAE,CAAC;gBACvB,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;oBAChC,UAAU,CAAC,SAAS,CAAC,CAAC;oBACtB,WAAW,CAAC;wBACV,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,SAAS;qBACpB,CAAC,CAAC;gBACL,CAAC;gBACD,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACvB,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,eAAe,CAAC;oBACd,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,SAAS,CAAC,KAAK,IAAI,0BAA0B;iBACvD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,KAAK,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,CAA0B,EAAE,CAA2B,EAAE,EAAE;QAC7E,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YACrC,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACpC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,KAAK,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC;IAC7D,MAAM,YAAY,GAAG,cAAc;QACjC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAEvD,MAAM,WAAW,GACf,wQAAwQ,CAAC;IAC3Q,MAAM,iBAAiB,GACrB,2OAA2O,CAAC;IAC9O,MAAM,cAAc,GAClB,8LAA8L,CAAC;IACjM,OAAO,CACL,iCAAK,SAAS,EAAC,WAAW,aACxB,+BAAI,SAAS,EAAC,iDAAiD,yBAE1D,EAEL,4CACE,kCACE,OAAO,EAAC,gBAAgB,EACxB,SAAS,EAAC,0CAA0C,uBAG9C,EACR,oCACE,EAAE,EAAC,gBAAgB,EACnB,SAAS,EAAC,iCAAiC,EAC3C,KAAK,EAAE,OAAO,IAAI,EAAE,EACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,aAExD,mCAAQ,KAAK,EAAC,EAAE,oBAAa,EAC5B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,mCAAgB,KAAK,EAAE,CAAC,YACrB,CAAC,IADS,CAAC,CAEL,CACV,CAAC,IACK,IACL,EAEL,OAAO,IAAI,CACV,4CACE,kCACE,OAAO,EAAC,iBAAiB,EACzB,SAAS,EAAC,0CAA0C,iCAG9C,EACR,uBAAC,gBAAgB,IACf,eAAe,EAAE,QAAQ,EACzB,QAAQ,EAAE,WAAW,EACrB,cAAc,EAAE,cAAc,KAC1B,KAAK,GACT,IACE,CACP,EAED,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,GAAG,WAAW,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,EAAE,EACnF,OAAO,EAAE,GAAG,EAAE,CACZ,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAElE,QAAQ,EAAE,CAAC,YAAY,uBAGhB,EAER,CAAC,aAAa,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAC1C,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACrC,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,+BAGxB,CACV,EAEA,aAAa,IAAI,CAChB,kCAAM,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aACrD,kCACE,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,MAAM,EACT,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,cAAc,GACzB,EACD,gBAAgB,IAAI,CACnB,mCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,uBAExD,CACV,IACI,CACR,EAED,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,CAAC,EACzD,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,YAE9B,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,GACxD,EAER,kBAAkB,IAAI,CACrB,iCAAK,SAAS,EAAC,kDAAkD,aAC/D,+BAAI,SAAS,EAAC,0DAA0D,yCAEnE,EACL,oCACE,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAEnD,mCAAQ,KAAK,EAAC,EAAE,kCAA2B,EAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAC7B,mCAA0B,KAAK,EAAE,WAAW,YACzC,WAAW,IADD,WAAW,CAEf,CACV,CAAC,IACK,EACT,mCACE,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,CAAC,eAAe,EAC1B,SAAS,EAAE,GAAG,iBAAiB,IAC7B,CAAC,eAAe,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EACvD,EAAE,wCAGK,IACL,CACP,EAEA,YAAY,CAAC,OAAO,IAAI,CACvB,gCACE,SAAS,EAAE,oBACT,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAC5C,EAAE,YAED,YAAY,CAAC,OAAO,GACjB,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAoBD,SAAS,eAAe,CACtB,aAA0E,EAC1E,YAAgD,EAChD,cAAkD;IAElD,IAAI,CAAC,aAAa;QAAE,aAAa,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC3E,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC;QACP,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjD,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YACnD,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YACpD,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QAC1B,CAAC;aAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/C,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,OAAO,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;QAChE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC;QACtE,MAAM,IAAI,GAAG,UAAU,GAAG,YAAY,CAAC;QACvC,MAAM,IAAI,GAAG,WAAW,GAAG,aAAa,CAAC;QACzC,OAAO;YACL,GAAG,aAAa;YAChB,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;YAClC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC;YACjD,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;YAClC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC;SAClD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,EACxB,eAAe,EAAE,aAAa,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EACvE,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,cAAc,GACQ,EAAE,EAAE;IAC1B,MAAM,UAAU,GACd,CAAC,GAA+D,EAAE,EAAE,CAClE,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAEvD,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAgB,eAAe,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAE,EAAE,GAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAA,CAAC,CAAC;IAC7E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAe,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE5G,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAE/E,MAAM,cAAc,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,CAAC,CAAmC,EAAE,EAAE;QAC9D,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,YAAY,CAAC;YACX,GAAG,QAAQ;YACX,EAAE,EAAE,CAAC,CAAC,OAAO;YACb,EAAE,EAAE,CAAC,CAAC,OAAO;SACd,CAAC,CAAC;QACH,eAAe,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,CAAuC,EAAE,EAAE;QAClE,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC/F,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC9F,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACvD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,GAAC,CAAC,GAAG,GAAG,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5F,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,GAAC,CAAC,GAAG,GAAG,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;QAE7F,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;YAC5D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;YAChE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC;YACtE,MAAM,IAAI,GAAG,UAAU,GAAG,YAAY,CAAC;YACvC,MAAM,IAAI,GAAG,WAAW,GAAG,aAAa,CAAC;YACzC,WAAW,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;gBACpB,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;gBACpB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,WAAW,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,IAAI;gBACP,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACtD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACzD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,iCAAK,SAAS,EAAC,4CAA4C,aACzD,iCAAK,SAAS,EAAC,8BAA8B,aAC3C,kCAAO,SAAS,EAAC,4DAA4D,+BAErE,EACR,oCACE,KAAK,EAAE,QAAQ,CAAC,IAAI,EACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACd,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAA+B,CAAC;4BACzD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gCACxB,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;4BAClE,CAAC;iCAAM,CAAC;gCACN,eAAe,CAAC,GAAG,CAAC,CAAC;gCACrB,WAAW,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC,EACD,SAAS,EAAC,0BAA0B,aAEpC,mCAAQ,KAAK,EAAC,YAAY,gCAAyB,EACnD,mCAAQ,KAAK,EAAC,OAAO,gCAAyB,IACvC,IACL,EAEL,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAC3B,gCAAK,SAAS,EAAC,MAAM,YACnB,oCACE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACd,WAAW,CAAC,UAAU,CAAC;4BACrB,IAAI,EAAE,OAAO;4BACb,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAkC;yBACtD,CAAC,CAAC,CAAC;oBACN,CAAC,EACD,SAAS,EAAC,iCAAiC,aAE3C,mCAAQ,KAAK,EAAC,SAAS,yBAAkB,EACzC,mCAAQ,KAAK,EAAC,UAAU,0BAAmB,EAC3C,mCAAQ,KAAK,EAAC,YAAY,4BAAqB,EAC/C,mCAAQ,KAAK,EAAC,aAAa,6BAAsB,EACjD,mCAAQ,KAAK,EAAC,QAAQ,yBAAkB,IACjC,GACL,CACP,CAAC,CAAC,CAAC,CACF,6DACE,iCAAK,SAAS,EAAC,8BAA8B,aAC3C,kCAAO,SAAS,EAAC,4DAA4D,+BAErE,EACR,oCACE,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oCACd,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAqB,CAAC,CAAC;oCAChD,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;wCAChG,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;wCAChE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC;wCACtE,MAAM,IAAI,GAAG,UAAU,GAAG,YAAY,CAAC;wCACvC,MAAM,IAAI,GAAG,WAAW,GAAG,aAAa,CAAC;wCACzC,WAAW,CAAC;4CACV,GAAG,QAAQ;4CACX,IAAI,EAAE,YAAY;4CAClB,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAC,IAAI,GAAC,GAAG;4CACzB,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAC,IAAI,GAAC,GAAG;4CACzB,IAAI,EAAE,SAAS;4CACf,IAAI,EAAE,SAAS;yCAChB,CAAC,CAAC;oCACL,CAAC;yCAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;wCAClC,WAAW,CAAC;4CACV,GAAG,QAAQ;4CACX,IAAI,EAAE,YAAY;4CAClB,CAAC,EAAE,QAAQ,CAAC,IAAI;4CAChB,CAAC,EAAE,QAAQ,CAAC,IAAI;4CAChB,IAAI,EAAE,SAAS;4CACf,IAAI,EAAE,SAAS;yCAChB,CAAC,CAAC;oCACL,CAAC;gCACH,CAAC,EACD,SAAS,EAAC,0BAA0B,aAEpC,mCAAQ,KAAK,EAAC,IAAI,uBAAgB,EAClC,mCAAQ,KAAK,EAAC,GAAG,2BAAoB,IAC9B,IACL,EAEN,iCACE,SAAS,EAAC,kDAAkD,EAC5D,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM;4BACb,UAAU,EAAE,MAAM;4BAClB,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO;yBACvF,EACD,GAAG,EAAE,cAAc,aAEnB,iCAAK,SAAS,EAAC,6FAA6F,aAC1G,2CAAO,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,0BAA0B,GAAQ,EAC9E,GAAG,EACH,YAAY,CAAC,CAAC,CAAC,6CAAO,YAAY,CAAC,KAAK,OAAG,YAAY,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,IAC1E,EAEN,gCACE,SAAS,EAAE,wBAAwB,cAAc,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;kBAC7E,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,EACvC,KAAK,EAAE;oCACL,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAG;oCACzB,GAAG,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAG;oCACxB,SAAS,EAAE,cAAc,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,IAAI;oCAC9D,WAAW,EAAE,cAAc,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG;oCAC3G,KAAK,EAAE,cAAc,IAAI,YAAY,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,GAAG,GAAG,CAAC,GAAC,GAAG,CAAC,CAAC,CAAC,SAAS;iCAC7H,EACD,WAAW,EAAE,eAAe,EAC5B,GAAG,EAAE,gBAAgB,YAErB,gCACE,SAAS,EAAE,GAAG,cAAc,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,aAAa,iBAC9E,MAAM,EAClB,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,YAEnB,iCACE,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAC,GAAG,EACf,CAAC,EAAC,sIAAsI,GACxI,GACE,GACF,IACF,EAEN,iCAAK,SAAS,EAAC,2DAA2D,0BAC9D,GAAG,EACZ,QAAQ,CAAC,IAAI,KAAK,YAAY;gCAC7B,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;gCAC9D,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAC1D,EAEN,iCAAK,SAAS,EAAC,iBAAiB,aAC9B,4CACE,mCAAO,SAAS,EAAC,4DAA4D,4BAC/D,YAAY,IAClB,EACR,kCACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EACxC,KAAK,EACH,QAAQ,CAAC,IAAI;4CACb,CAAE,YAAY,KAAK,GAAG;gDACpB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gDAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CACzB,EAEH,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4CACd,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4CACpC,WAAW,CAAC,UAAU,CAAC;gDACrB,IAAI,EAAE,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;gDACxD,CAAC,EAAE,IAAI;gDACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;gDACpB,CAAC,EAAE,QAAQ,CAAC,CAAC;gDACb,IAAI,EAAE,QAAQ,CAAC,IAAI;6CACpB,CAAC,CAAC,CAAC;wCACN,CAAC,EACD,SAAS,EAAC,yJAAyJ,GACnK,IACE,EACN,4CACE,mCAAO,SAAS,EAAC,4DAA4D,4BAC/D,YAAY,IAClB,EACR,kCACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EACxC,KAAK,EACH,QAAQ,CAAC,IAAI;4CACb,CAAE,YAAY,KAAK,GAAG;gDACpB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gDAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CACzB,EAEH,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4CACd,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4CACpC,WAAW,CAAC,UAAU,CAAC;gDACrB,IAAI,EAAE,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;gDACxD,CAAC,EAAE,QAAQ,CAAC,CAAC;gDACb,IAAI,EAAE,QAAQ,CAAC,IAAI;gDACnB,CAAC,EAAE,IAAI;gDACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;6CACrB,CAAC,CAAC,CAAC;wCACN,CAAC,EACD,SAAS,EAAC,yJAAyJ,GACnK,IACE,IACF,IACL,CACJ,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW;IAClD,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACjD,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC;AAED,kBAAe,WAAW,CAAC"}
|
@@ -0,0 +1,271 @@
|
|
1
|
+
export interface paths {
|
2
|
+
"/graphics": {
|
3
|
+
parameters: {
|
4
|
+
query?: never;
|
5
|
+
header?: never;
|
6
|
+
path?: never;
|
7
|
+
cookie?: never;
|
8
|
+
};
|
9
|
+
get: {
|
10
|
+
parameters: {
|
11
|
+
query?: never;
|
12
|
+
header?: never;
|
13
|
+
path?: never;
|
14
|
+
cookie?: never;
|
15
|
+
};
|
16
|
+
requestBody?: never;
|
17
|
+
responses: {
|
18
|
+
200: {
|
19
|
+
headers: {
|
20
|
+
[name: string]: unknown;
|
21
|
+
};
|
22
|
+
content: {
|
23
|
+
"application/json": components["schemas"]["graphic"][];
|
24
|
+
};
|
25
|
+
};
|
26
|
+
};
|
27
|
+
};
|
28
|
+
put?: never;
|
29
|
+
post: {
|
30
|
+
parameters: {
|
31
|
+
query?: never;
|
32
|
+
header?: never;
|
33
|
+
path?: never;
|
34
|
+
cookie?: never;
|
35
|
+
};
|
36
|
+
requestBody?: {
|
37
|
+
content: {
|
38
|
+
"multipart/form-data": {
|
39
|
+
file?: string;
|
40
|
+
};
|
41
|
+
};
|
42
|
+
};
|
43
|
+
responses: {
|
44
|
+
204: {
|
45
|
+
headers: {
|
46
|
+
[name: string]: unknown;
|
47
|
+
};
|
48
|
+
content?: never;
|
49
|
+
};
|
50
|
+
400: {
|
51
|
+
headers: {
|
52
|
+
[name: string]: unknown;
|
53
|
+
};
|
54
|
+
content?: never;
|
55
|
+
};
|
56
|
+
404: {
|
57
|
+
headers: {
|
58
|
+
[name: string]: unknown;
|
59
|
+
};
|
60
|
+
content?: never;
|
61
|
+
};
|
62
|
+
409: {
|
63
|
+
headers: {
|
64
|
+
[name: string]: unknown;
|
65
|
+
};
|
66
|
+
content?: never;
|
67
|
+
};
|
68
|
+
500: {
|
69
|
+
headers: {
|
70
|
+
[name: string]: unknown;
|
71
|
+
};
|
72
|
+
content?: never;
|
73
|
+
};
|
74
|
+
};
|
75
|
+
};
|
76
|
+
delete?: never;
|
77
|
+
options?: never;
|
78
|
+
head?: never;
|
79
|
+
patch?: never;
|
80
|
+
trace?: never;
|
81
|
+
};
|
82
|
+
"/graphic": {
|
83
|
+
parameters: {
|
84
|
+
query?: never;
|
85
|
+
header?: never;
|
86
|
+
path?: never;
|
87
|
+
cookie?: never;
|
88
|
+
};
|
89
|
+
get?: never;
|
90
|
+
put?: never;
|
91
|
+
post?: never;
|
92
|
+
delete: {
|
93
|
+
parameters: {
|
94
|
+
query?: never;
|
95
|
+
header?: never;
|
96
|
+
path?: never;
|
97
|
+
cookie?: never;
|
98
|
+
};
|
99
|
+
requestBody?: {
|
100
|
+
content: {
|
101
|
+
"application/json": {
|
102
|
+
filename: string;
|
103
|
+
};
|
104
|
+
};
|
105
|
+
};
|
106
|
+
responses: {
|
107
|
+
204: {
|
108
|
+
headers: {
|
109
|
+
[name: string]: unknown;
|
110
|
+
};
|
111
|
+
content?: never;
|
112
|
+
};
|
113
|
+
404: {
|
114
|
+
headers: {
|
115
|
+
[name: string]: unknown;
|
116
|
+
};
|
117
|
+
content?: never;
|
118
|
+
};
|
119
|
+
500: {
|
120
|
+
headers: {
|
121
|
+
[name: string]: unknown;
|
122
|
+
};
|
123
|
+
content?: never;
|
124
|
+
};
|
125
|
+
};
|
126
|
+
};
|
127
|
+
options?: never;
|
128
|
+
head?: never;
|
129
|
+
patch?: never;
|
130
|
+
trace?: never;
|
131
|
+
};
|
132
|
+
"/active-graphic": {
|
133
|
+
parameters: {
|
134
|
+
query?: never;
|
135
|
+
header?: never;
|
136
|
+
path?: never;
|
137
|
+
cookie?: never;
|
138
|
+
};
|
139
|
+
get: {
|
140
|
+
parameters: {
|
141
|
+
query?: never;
|
142
|
+
header?: never;
|
143
|
+
path?: never;
|
144
|
+
cookie?: never;
|
145
|
+
};
|
146
|
+
requestBody?: never;
|
147
|
+
responses: {
|
148
|
+
200: {
|
149
|
+
headers: {
|
150
|
+
[name: string]: unknown;
|
151
|
+
};
|
152
|
+
content: {
|
153
|
+
"application/json": components["schemas"]["config"];
|
154
|
+
};
|
155
|
+
};
|
156
|
+
204: {
|
157
|
+
headers: {
|
158
|
+
[name: string]: unknown;
|
159
|
+
};
|
160
|
+
content?: never;
|
161
|
+
};
|
162
|
+
404: {
|
163
|
+
headers: {
|
164
|
+
[name: string]: unknown;
|
165
|
+
};
|
166
|
+
content?: never;
|
167
|
+
};
|
168
|
+
};
|
169
|
+
};
|
170
|
+
put?: never;
|
171
|
+
post: {
|
172
|
+
parameters: {
|
173
|
+
query?: never;
|
174
|
+
header?: never;
|
175
|
+
path?: never;
|
176
|
+
cookie?: never;
|
177
|
+
};
|
178
|
+
requestBody?: {
|
179
|
+
content: {
|
180
|
+
"application/json": components["schemas"]["config"] | components["schemas"]["emptyObject"];
|
181
|
+
};
|
182
|
+
};
|
183
|
+
responses: {
|
184
|
+
204: {
|
185
|
+
headers: {
|
186
|
+
[name: string]: unknown;
|
187
|
+
};
|
188
|
+
content?: never;
|
189
|
+
};
|
190
|
+
400: {
|
191
|
+
headers: {
|
192
|
+
[name: string]: unknown;
|
193
|
+
};
|
194
|
+
content: {
|
195
|
+
"application/json": components["schemas"]["errorResponse"];
|
196
|
+
};
|
197
|
+
};
|
198
|
+
404: {
|
199
|
+
headers: {
|
200
|
+
[name: string]: unknown;
|
201
|
+
};
|
202
|
+
content?: never;
|
203
|
+
};
|
204
|
+
};
|
205
|
+
};
|
206
|
+
delete: {
|
207
|
+
parameters: {
|
208
|
+
query?: never;
|
209
|
+
header?: never;
|
210
|
+
path?: never;
|
211
|
+
cookie?: never;
|
212
|
+
};
|
213
|
+
requestBody?: never;
|
214
|
+
responses: {
|
215
|
+
204: {
|
216
|
+
headers: {
|
217
|
+
[name: string]: unknown;
|
218
|
+
};
|
219
|
+
content?: never;
|
220
|
+
};
|
221
|
+
404: {
|
222
|
+
headers: {
|
223
|
+
[name: string]: unknown;
|
224
|
+
};
|
225
|
+
content?: never;
|
226
|
+
};
|
227
|
+
};
|
228
|
+
};
|
229
|
+
options?: never;
|
230
|
+
head?: never;
|
231
|
+
patch?: never;
|
232
|
+
trace?: never;
|
233
|
+
};
|
234
|
+
}
|
235
|
+
export type webhooks = Record<string, never>;
|
236
|
+
export interface components {
|
237
|
+
schemas: {
|
238
|
+
graphic: string;
|
239
|
+
coordinatePosition: {
|
240
|
+
type: "coordinate";
|
241
|
+
x: number;
|
242
|
+
y: number;
|
243
|
+
};
|
244
|
+
percentagePosition: {
|
245
|
+
type: "percentage";
|
246
|
+
x: number;
|
247
|
+
y: number;
|
248
|
+
};
|
249
|
+
namedPosition: {
|
250
|
+
type: "named";
|
251
|
+
position: "topleft" | "topright" | "bottomleft" | "bottomright" | "center";
|
252
|
+
};
|
253
|
+
position: components["schemas"]["coordinatePosition"] | components["schemas"]["namedPosition"];
|
254
|
+
config: {
|
255
|
+
graphic?: components["schemas"]["graphic"];
|
256
|
+
position?: components["schemas"]["position"];
|
257
|
+
};
|
258
|
+
emptyObject: Record<string, never>;
|
259
|
+
errorResponse: {
|
260
|
+
error?: string;
|
261
|
+
details?: string;
|
262
|
+
};
|
263
|
+
};
|
264
|
+
responses: never;
|
265
|
+
parameters: never;
|
266
|
+
requestBodies: never;
|
267
|
+
headers: never;
|
268
|
+
pathItems: never;
|
269
|
+
}
|
270
|
+
export type $defs = Record<string, never>;
|
271
|
+
export type operations = Record<string, never>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/processor.onscreenGraphic/types.ts"],"names":[],"mappings":""}
|