radames commited on
Commit
549f7f3
1 Parent(s): 12d5ff4

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ src/backend/gradio_rerun/templates/component/re_viewer-Ds4oCzjL.js filter=lfs diff=lfs merge=lfs -text
37
+ src/examples/rgbd.rrd filter=lfs diff=lfs merge=lfs -text
38
+ src/examples/rrt-star.rrd filter=lfs diff=lfs merge=lfs -text
39
+ src/examples/structure_from_motion.rrd filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .eggs/
2
+ dist/
3
+ *.pyc
4
+ __pycache__/
5
+ *.py[cod]
6
+ *$py.class
7
+ __tmp/*
8
+ *.pyi
9
+ .mypycache
10
+ .ruff_cache
11
+ node_modules
12
+ backend/**/templates/
13
+ venv
README.md CHANGED
@@ -1,12 +1,322 @@
1
  ---
2
- title: Gradio Rerun
3
- emoji: 📚
 
4
  colorFrom: blue
5
- colorTo: pink
6
  sdk: gradio
7
- sdk_version: 4.28.3
8
- app_file: app.py
9
  pinned: false
 
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ tags: [gradio-custom-component, SimpleImage, multimodal data, visualization, machine learning, robotics]
3
+ title: gradio_rerun
4
+ short_description: Rerun viewer with Gradio
5
  colorFrom: blue
6
+ colorTo: yellow
7
  sdk: gradio
 
 
8
  pinned: false
9
+ app_file: space.py
10
  ---
11
 
12
+ # `gradio_rerun`
13
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange"> <a href="https://github.com/radames/gradio-rerun-viewer/issues" target="_blank"><img alt="Static Badge" src="https://img.shields.io/badge/Issues-white?logo=github&logoColor=black"></a>
14
+
15
+ Rerun viewer with Gradio
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ pip install gradio_rerun
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ ```python
26
+ import gradio as gr
27
+ from gradio_rerun import Rerun
28
+
29
+
30
+ example = Rerun().example_value()
31
+
32
+
33
+ def predict(url: str, file_path: str | list[str] | None):
34
+ if url:
35
+ return url
36
+ return file_path
37
+
38
+
39
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
40
+ with gr.Row():
41
+ with gr.Column():
42
+ with gr.Group():
43
+ file_path = gr.File(file_count="multiple", type="filepath")
44
+ url = gr.Text(
45
+ info="Or use a URL",
46
+ label="URL",
47
+ )
48
+ with gr.Column():
49
+ pass
50
+ btn = gr.Button("Run", scale=0)
51
+ with gr.Row():
52
+ rerun_viewer = Rerun(height=900)
53
+
54
+ inputs = [file_path, url]
55
+ outputs = [rerun_viewer]
56
+
57
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
58
+
59
+ gr.Examples(
60
+ examples=[
61
+ [
62
+ None,
63
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
64
+ ],
65
+ [
66
+ ["./examples/rgbd.rrd"],
67
+ None,
68
+ ],
69
+ [
70
+ ["./examples/rrt-star.rrd"],
71
+ None,
72
+ ],
73
+ [
74
+ ["./examples/structure_from_motion.rrd"],
75
+ None,
76
+ ],
77
+ [
78
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
79
+ None,
80
+ ],
81
+ ],
82
+ fn=predict,
83
+ inputs=inputs,
84
+ outputs=outputs,
85
+ run_on_click=True,
86
+ )
87
+
88
+ if __name__ == "__main__":
89
+ demo.launch()
90
+
91
+ ```
92
+
93
+ ## `Rerun`
94
+
95
+ ### Initialization
96
+
97
+ <table>
98
+ <thead>
99
+ <tr>
100
+ <th align="left">name</th>
101
+ <th align="left" style="width: 25%;">type</th>
102
+ <th align="left">default</th>
103
+ <th align="left">description</th>
104
+ </tr>
105
+ </thead>
106
+ <tbody>
107
+ <tr>
108
+ <td align="left"><code>value</code></td>
109
+ <td align="left" style="width: 25%;">
110
+
111
+ ```python
112
+ list[str] | None
113
+ ```
114
+
115
+ </td>
116
+ <td align="left"><code>None</code></td>
117
+ <td align="left">A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.</td>
118
+ </tr>
119
+
120
+ <tr>
121
+ <td align="left"><code>label</code></td>
122
+ <td align="left" style="width: 25%;">
123
+
124
+ ```python
125
+ str | None
126
+ ```
127
+
128
+ </td>
129
+ <td align="left"><code>None</code></td>
130
+ <td align="left">The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.</td>
131
+ </tr>
132
+
133
+ <tr>
134
+ <td align="left"><code>every</code></td>
135
+ <td align="left" style="width: 25%;">
136
+
137
+ ```python
138
+ float | None
139
+ ```
140
+
141
+ </td>
142
+ <td align="left"><code>None</code></td>
143
+ <td align="left">If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute.</td>
144
+ </tr>
145
+
146
+ <tr>
147
+ <td align="left"><code>show_label</code></td>
148
+ <td align="left" style="width: 25%;">
149
+
150
+ ```python
151
+ bool | None
152
+ ```
153
+
154
+ </td>
155
+ <td align="left"><code>None</code></td>
156
+ <td align="left">if True, will display label.</td>
157
+ </tr>
158
+
159
+ <tr>
160
+ <td align="left"><code>show_download_button</code></td>
161
+ <td align="left" style="width: 25%;">
162
+
163
+ ```python
164
+ bool
165
+ ```
166
+
167
+ </td>
168
+ <td align="left"><code>True</code></td>
169
+ <td align="left">If True, will display button to download image.</td>
170
+ </tr>
171
+
172
+ <tr>
173
+ <td align="left"><code>container</code></td>
174
+ <td align="left" style="width: 25%;">
175
+
176
+ ```python
177
+ bool
178
+ ```
179
+
180
+ </td>
181
+ <td align="left"><code>True</code></td>
182
+ <td align="left">If True, will place the component in a container - providing some extra padding around the border.</td>
183
+ </tr>
184
+
185
+ <tr>
186
+ <td align="left"><code>scale</code></td>
187
+ <td align="left" style="width: 25%;">
188
+
189
+ ```python
190
+ int | None
191
+ ```
192
+
193
+ </td>
194
+ <td align="left"><code>None</code></td>
195
+ <td align="left">relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.</td>
196
+ </tr>
197
+
198
+ <tr>
199
+ <td align="left"><code>min_width</code></td>
200
+ <td align="left" style="width: 25%;">
201
+
202
+ ```python
203
+ int
204
+ ```
205
+
206
+ </td>
207
+ <td align="left"><code>160</code></td>
208
+ <td align="left">minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.</td>
209
+ </tr>
210
+
211
+ <tr>
212
+ <td align="left"><code>height</code></td>
213
+ <td align="left" style="width: 25%;">
214
+
215
+ ```python
216
+ int | str
217
+ ```
218
+
219
+ </td>
220
+ <td align="left"><code>640</code></td>
221
+ <td align="left">height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.</td>
222
+ </tr>
223
+
224
+ <tr>
225
+ <td align="left"><code>interactive</code></td>
226
+ <td align="left" style="width: 25%;">
227
+
228
+ ```python
229
+ bool | None
230
+ ```
231
+
232
+ </td>
233
+ <td align="left"><code>None</code></td>
234
+ <td align="left">if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.</td>
235
+ </tr>
236
+
237
+ <tr>
238
+ <td align="left"><code>visible</code></td>
239
+ <td align="left" style="width: 25%;">
240
+
241
+ ```python
242
+ bool
243
+ ```
244
+
245
+ </td>
246
+ <td align="left"><code>True</code></td>
247
+ <td align="left">If False, component will be hidden.</td>
248
+ </tr>
249
+
250
+ <tr>
251
+ <td align="left"><code>elem_id</code></td>
252
+ <td align="left" style="width: 25%;">
253
+
254
+ ```python
255
+ str | None
256
+ ```
257
+
258
+ </td>
259
+ <td align="left"><code>None</code></td>
260
+ <td align="left">An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
261
+ </tr>
262
+
263
+ <tr>
264
+ <td align="left"><code>elem_classes</code></td>
265
+ <td align="left" style="width: 25%;">
266
+
267
+ ```python
268
+ list[str] | str | None
269
+ ```
270
+
271
+ </td>
272
+ <td align="left"><code>None</code></td>
273
+ <td align="left">An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
274
+ </tr>
275
+
276
+ <tr>
277
+ <td align="left"><code>render</code></td>
278
+ <td align="left" style="width: 25%;">
279
+
280
+ ```python
281
+ bool
282
+ ```
283
+
284
+ </td>
285
+ <td align="left"><code>True</code></td>
286
+ <td align="left">If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.</td>
287
+ </tr>
288
+ </tbody></table>
289
+
290
+
291
+ ### Events
292
+
293
+ | name | description |
294
+ |:-----|:------------|
295
+ | `clear` | This listener is triggered when the user clears the Rerun using the X button for the component. |
296
+ | `change` | Triggered when the value of the Rerun changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input. |
297
+ | `upload` | This listener is triggered when the user uploads a file into the Rerun. |
298
+
299
+
300
+
301
+ ### User function
302
+
303
+ The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
304
+
305
+ - When used as an Input, the component only impacts the input signature of the user function.
306
+ - When used as an output, the component only impacts the return signature of the user function.
307
+
308
+ The code snippet below is accurate in cases where the component is used as both an input and an output.
309
+
310
+ - **As output:** Is passed, a `str` containing the path to the image.
311
+ - **As input:** Should return, expects a `str` or `pathlib.Path` object containing the path to the image.
312
+
313
+ ```python
314
+ def predict(
315
+ value: str | None
316
+ ) -> list[gradio.data_classes.FileData]
317
+ | gradio.data_classes.FileData
318
+ | str
319
+ | list[str]:
320
+ return value
321
+ ```
322
+
__init__.py ADDED
File without changes
app.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from gradio_rerun import Rerun
3
+
4
+
5
+ example = Rerun().example_value()
6
+
7
+
8
+ def predict(url: str, file_path: str | list[str] | None):
9
+ if url:
10
+ return url
11
+ return file_path
12
+
13
+
14
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
15
+ with gr.Row():
16
+ with gr.Column():
17
+ with gr.Group():
18
+ file_path = gr.File(file_count="multiple", type="filepath")
19
+ url = gr.Text(
20
+ info="Or use a URL",
21
+ label="URL",
22
+ )
23
+ with gr.Column():
24
+ pass
25
+ btn = gr.Button("Run", scale=0)
26
+ with gr.Row():
27
+ rerun_viewer = Rerun(height=900)
28
+
29
+ inputs = [file_path, url]
30
+ outputs = [rerun_viewer]
31
+
32
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
33
+
34
+ gr.Examples(
35
+ examples=[
36
+ [
37
+ None,
38
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
39
+ ],
40
+ [
41
+ ["./examples/rgbd.rrd"],
42
+ None,
43
+ ],
44
+ [
45
+ ["./examples/rrt-star.rrd"],
46
+ None,
47
+ ],
48
+ [
49
+ ["./examples/structure_from_motion.rrd"],
50
+ None,
51
+ ],
52
+ [
53
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
54
+ None,
55
+ ],
56
+ ],
57
+ fn=predict,
58
+ inputs=inputs,
59
+ outputs=outputs,
60
+ run_on_click=True,
61
+ )
62
+
63
+ if __name__ == "__main__":
64
+ demo.launch()
css.css ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html {
2
+ font-family: Inter;
3
+ font-size: 16px;
4
+ font-weight: 400;
5
+ line-height: 1.5;
6
+ -webkit-text-size-adjust: 100%;
7
+ background: #fff;
8
+ color: #323232;
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ text-rendering: optimizeLegibility;
12
+ }
13
+
14
+ :root {
15
+ --space: 1;
16
+ --vspace: calc(var(--space) * 1rem);
17
+ --vspace-0: calc(3 * var(--space) * 1rem);
18
+ --vspace-1: calc(2 * var(--space) * 1rem);
19
+ --vspace-2: calc(1.5 * var(--space) * 1rem);
20
+ --vspace-3: calc(0.5 * var(--space) * 1rem);
21
+ }
22
+
23
+ .app {
24
+ max-width: 748px !important;
25
+ }
26
+
27
+ .prose p {
28
+ margin: var(--vspace) 0;
29
+ line-height: var(--vspace * 2);
30
+ font-size: 1rem;
31
+ }
32
+
33
+ code {
34
+ font-family: "Inconsolata", sans-serif;
35
+ font-size: 16px;
36
+ }
37
+
38
+ h1,
39
+ h1 code {
40
+ font-weight: 400;
41
+ line-height: calc(2.5 / var(--space) * var(--vspace));
42
+ }
43
+
44
+ h1 code {
45
+ background: none;
46
+ border: none;
47
+ letter-spacing: 0.05em;
48
+ padding-bottom: 5px;
49
+ position: relative;
50
+ padding: 0;
51
+ }
52
+
53
+ h2 {
54
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
55
+ line-height: 1em;
56
+ }
57
+
58
+ h3,
59
+ h3 code {
60
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
61
+ line-height: 1em;
62
+ }
63
+
64
+ h4,
65
+ h5,
66
+ h6 {
67
+ margin: var(--vspace-3) 0 var(--vspace-3) 0;
68
+ line-height: var(--vspace);
69
+ }
70
+
71
+ .bigtitle,
72
+ h1,
73
+ h1 code {
74
+ font-size: calc(8px * 4.5);
75
+ word-break: break-word;
76
+ }
77
+
78
+ .title,
79
+ h2,
80
+ h2 code {
81
+ font-size: calc(8px * 3.375);
82
+ font-weight: lighter;
83
+ word-break: break-word;
84
+ border: none;
85
+ background: none;
86
+ }
87
+
88
+ .subheading1,
89
+ h3,
90
+ h3 code {
91
+ font-size: calc(8px * 1.8);
92
+ font-weight: 600;
93
+ border: none;
94
+ background: none;
95
+ letter-spacing: 0.1em;
96
+ text-transform: uppercase;
97
+ }
98
+
99
+ h2 code {
100
+ padding: 0;
101
+ position: relative;
102
+ letter-spacing: 0.05em;
103
+ }
104
+
105
+ blockquote {
106
+ font-size: calc(8px * 1.1667);
107
+ font-style: italic;
108
+ line-height: calc(1.1667 * var(--vspace));
109
+ margin: var(--vspace-2) var(--vspace-2);
110
+ }
111
+
112
+ .subheading2,
113
+ h4 {
114
+ font-size: calc(8px * 1.4292);
115
+ text-transform: uppercase;
116
+ font-weight: 600;
117
+ }
118
+
119
+ .subheading3,
120
+ h5 {
121
+ font-size: calc(8px * 1.2917);
122
+ line-height: calc(1.2917 * var(--vspace));
123
+
124
+ font-weight: lighter;
125
+ text-transform: uppercase;
126
+ letter-spacing: 0.15em;
127
+ }
128
+
129
+ h6 {
130
+ font-size: calc(8px * 1.1667);
131
+ font-size: 1.1667em;
132
+ font-weight: normal;
133
+ font-style: italic;
134
+ font-family: "le-monde-livre-classic-byol", serif !important;
135
+ letter-spacing: 0px !important;
136
+ }
137
+
138
+ #start .md > *:first-child {
139
+ margin-top: 0;
140
+ }
141
+
142
+ h2 + h3 {
143
+ margin-top: 0;
144
+ }
145
+
146
+ .md hr {
147
+ border: none;
148
+ border-top: 1px solid var(--block-border-color);
149
+ margin: var(--vspace-2) 0 var(--vspace-2) 0;
150
+ }
151
+ .prose ul {
152
+ margin: var(--vspace-2) 0 var(--vspace-1) 0;
153
+ }
154
+
155
+ .gap {
156
+ gap: 0;
157
+ }
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ gradio_rerun
space.py ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from app import demo as app
4
+ import os
5
+
6
+ _docs = {'Rerun': {'description': 'Creates an image component that can be used to upload images (as an input) or display images (as an output).', 'members': {'__init__': {'value': {'type': 'list[str] | None', 'default': 'None', 'description': 'A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.'}, 'label': {'type': 'str | None', 'default': 'None', 'description': 'The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.'}, 'every': {'type': 'float | None', 'default': 'None', 'description': "If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute."}, 'show_label': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will display label.'}, 'show_download_button': {'type': 'bool', 'default': 'True', 'description': 'If True, will display button to download image.'}, 'container': {'type': 'bool', 'default': 'True', 'description': 'If True, will place the component in a container - providing some extra padding around the border.'}, 'scale': {'type': 'int | None', 'default': 'None', 'description': 'relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.'}, 'min_width': {'type': 'int', 'default': '160', 'description': 'minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.'}, 'height': {'type': 'int | str', 'default': '640', 'description': 'height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.'}, 'interactive': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.'}, 'visible': {'type': 'bool', 'default': 'True', 'description': 'If False, component will be hidden.'}, 'elem_id': {'type': 'str | None', 'default': 'None', 'description': 'An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'elem_classes': {'type': 'list[str] | str | None', 'default': 'None', 'description': 'An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'render': {'type': 'bool', 'default': 'True', 'description': 'If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.'}}, 'postprocess': {'value': {'type': 'list[gradio.data_classes.FileData]\n | gradio.data_classes.FileData\n | str\n | list[str]', 'description': 'Expects a `str` or `pathlib.Path` object containing the path to the image.'}}, 'preprocess': {'return': {'type': 'str | None', 'description': 'A `str` containing the path to the image.'}, 'value': None}}, 'events': {'clear': {'type': None, 'default': None, 'description': 'This listener is triggered when the user clears the Rerun using the X button for the component.'}, 'change': {'type': None, 'default': None, 'description': 'Triggered when the value of the Rerun changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input.'}, 'upload': {'type': None, 'default': None, 'description': 'This listener is triggered when the user uploads a file into the Rerun.'}}}, '__meta__': {'additional_interfaces': {}, 'user_fn_refs': {'Rerun': []}}}
7
+
8
+ abs_path = os.path.join(os.path.dirname(__file__), "css.css")
9
+
10
+ with gr.Blocks(
11
+ css=abs_path,
12
+ theme=gr.themes.Default(
13
+ font_mono=[
14
+ gr.themes.GoogleFont("Inconsolata"),
15
+ "monospace",
16
+ ],
17
+ ),
18
+ ) as demo:
19
+ gr.Markdown(
20
+ """
21
+ # `gradio_rerun`
22
+
23
+ <div style="display: flex; gap: 7px;">
24
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange"> <a href="https://github.com/radames/gradio-rerun-viewer/issues" target="_blank"><img alt="Static Badge" src="https://img.shields.io/badge/Issues-white?logo=github&logoColor=black"></a>
25
+ </div>
26
+
27
+ Rerun viewer with Gradio
28
+ """, elem_classes=["md-custom"], header_links=True)
29
+ app.render()
30
+ gr.Markdown(
31
+ """
32
+ ## Installation
33
+
34
+ ```bash
35
+ pip install gradio_rerun
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ ```python
41
+ import gradio as gr
42
+ from gradio_rerun import Rerun
43
+
44
+
45
+ example = Rerun().example_value()
46
+
47
+
48
+ def predict(url: str, file_path: str | list[str] | None):
49
+ if url:
50
+ return url
51
+ return file_path
52
+
53
+
54
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
55
+ with gr.Row():
56
+ with gr.Column():
57
+ with gr.Group():
58
+ file_path = gr.File(file_count="multiple", type="filepath")
59
+ url = gr.Text(
60
+ info="Or use a URL",
61
+ label="URL",
62
+ )
63
+ with gr.Column():
64
+ pass
65
+ btn = gr.Button("Run", scale=0)
66
+ with gr.Row():
67
+ rerun_viewer = Rerun(height=900)
68
+
69
+ inputs = [file_path, url]
70
+ outputs = [rerun_viewer]
71
+
72
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
73
+
74
+ gr.Examples(
75
+ examples=[
76
+ [
77
+ None,
78
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
79
+ ],
80
+ [
81
+ ["./examples/rgbd.rrd"],
82
+ None,
83
+ ],
84
+ [
85
+ ["./examples/rrt-star.rrd"],
86
+ None,
87
+ ],
88
+ [
89
+ ["./examples/structure_from_motion.rrd"],
90
+ None,
91
+ ],
92
+ [
93
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
94
+ None,
95
+ ],
96
+ ],
97
+ fn=predict,
98
+ inputs=inputs,
99
+ outputs=outputs,
100
+ run_on_click=True,
101
+ )
102
+
103
+ if __name__ == "__main__":
104
+ demo.launch()
105
+
106
+ ```
107
+ """, elem_classes=["md-custom"], header_links=True)
108
+
109
+
110
+ gr.Markdown("""
111
+ ## `Rerun`
112
+
113
+ ### Initialization
114
+ """, elem_classes=["md-custom"], header_links=True)
115
+
116
+ gr.ParamViewer(value=_docs["Rerun"]["members"]["__init__"], linkify=[])
117
+
118
+
119
+ gr.Markdown("### Events")
120
+ gr.ParamViewer(value=_docs["Rerun"]["events"], linkify=['Event'])
121
+
122
+
123
+
124
+
125
+ gr.Markdown("""
126
+
127
+ ### User function
128
+
129
+ The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
130
+
131
+ - When used as an Input, the component only impacts the input signature of the user function.
132
+ - When used as an output, the component only impacts the return signature of the user function.
133
+
134
+ The code snippet below is accurate in cases where the component is used as both an input and an output.
135
+
136
+ - **As input:** Is passed, a `str` containing the path to the image.
137
+ - **As output:** Should return, expects a `str` or `pathlib.Path` object containing the path to the image.
138
+
139
+ ```python
140
+ def predict(
141
+ value: str | None
142
+ ) -> list[gradio.data_classes.FileData]
143
+ | gradio.data_classes.FileData
144
+ | str
145
+ | list[str]:
146
+ return value
147
+ ```
148
+ """, elem_classes=["md-custom", "Rerun-user-fn"], header_links=True)
149
+
150
+
151
+
152
+
153
+ demo.load(None, js=r"""function() {
154
+ const refs = {};
155
+ const user_fn_refs = {
156
+ Rerun: [], };
157
+ requestAnimationFrame(() => {
158
+
159
+ Object.entries(user_fn_refs).forEach(([key, refs]) => {
160
+ if (refs.length > 0) {
161
+ const el = document.querySelector(`.${key}-user-fn`);
162
+ if (!el) return;
163
+ refs.forEach(ref => {
164
+ el.innerHTML = el.innerHTML.replace(
165
+ new RegExp("\\b"+ref+"\\b", "g"),
166
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
167
+ );
168
+ })
169
+ }
170
+ })
171
+
172
+ Object.entries(refs).forEach(([key, refs]) => {
173
+ if (refs.length > 0) {
174
+ const el = document.querySelector(`.${key}`);
175
+ if (!el) return;
176
+ refs.forEach(ref => {
177
+ el.innerHTML = el.innerHTML.replace(
178
+ new RegExp("\\b"+ref+"\\b", "g"),
179
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
180
+ );
181
+ })
182
+ }
183
+ })
184
+ })
185
+ }
186
+
187
+ """)
188
+
189
+ demo.launch()
src/.gitignore ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .eggs/
2
+ dist/
3
+ *.pyc
4
+ __pycache__/
5
+ *.py[cod]
6
+ *$py.class
7
+ __tmp/*
8
+ *.pyi
9
+ .mypycache
10
+ .ruff_cache
11
+ node_modules
12
+ backend/**/templates/
13
+ venv
src/README.md ADDED
@@ -0,0 +1,322 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags: [gradio-custom-component, SimpleImage, multimodal data, visualization, machine learning, robotics]
3
+ title: gradio_rerun
4
+ short_description: Rerun viewer with Gradio
5
+ colorFrom: blue
6
+ colorTo: yellow
7
+ sdk: gradio
8
+ pinned: false
9
+ app_file: space.py
10
+ ---
11
+
12
+ # `gradio_rerun`
13
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange"> <a href="https://github.com/radames/gradio-rerun-viewer/issues" target="_blank"><img alt="Static Badge" src="https://img.shields.io/badge/Issues-white?logo=github&logoColor=black"></a>
14
+
15
+ Rerun viewer with Gradio
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ pip install gradio_rerun
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ ```python
26
+ import gradio as gr
27
+ from gradio_rerun import Rerun
28
+
29
+
30
+ example = Rerun().example_value()
31
+
32
+
33
+ def predict(url: str, file_path: str | list[str] | None):
34
+ if url:
35
+ return url
36
+ return file_path
37
+
38
+
39
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
40
+ with gr.Row():
41
+ with gr.Column():
42
+ with gr.Group():
43
+ file_path = gr.File(file_count="multiple", type="filepath")
44
+ url = gr.Text(
45
+ info="Or use a URL",
46
+ label="URL",
47
+ )
48
+ with gr.Column():
49
+ pass
50
+ btn = gr.Button("Run", scale=0)
51
+ with gr.Row():
52
+ rerun_viewer = Rerun(height=900)
53
+
54
+ inputs = [file_path, url]
55
+ outputs = [rerun_viewer]
56
+
57
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
58
+
59
+ gr.Examples(
60
+ examples=[
61
+ [
62
+ None,
63
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
64
+ ],
65
+ [
66
+ ["./examples/rgbd.rrd"],
67
+ None,
68
+ ],
69
+ [
70
+ ["./examples/rrt-star.rrd"],
71
+ None,
72
+ ],
73
+ [
74
+ ["./examples/structure_from_motion.rrd"],
75
+ None,
76
+ ],
77
+ [
78
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
79
+ None,
80
+ ],
81
+ ],
82
+ fn=predict,
83
+ inputs=inputs,
84
+ outputs=outputs,
85
+ run_on_click=True,
86
+ )
87
+
88
+ if __name__ == "__main__":
89
+ demo.launch()
90
+
91
+ ```
92
+
93
+ ## `Rerun`
94
+
95
+ ### Initialization
96
+
97
+ <table>
98
+ <thead>
99
+ <tr>
100
+ <th align="left">name</th>
101
+ <th align="left" style="width: 25%;">type</th>
102
+ <th align="left">default</th>
103
+ <th align="left">description</th>
104
+ </tr>
105
+ </thead>
106
+ <tbody>
107
+ <tr>
108
+ <td align="left"><code>value</code></td>
109
+ <td align="left" style="width: 25%;">
110
+
111
+ ```python
112
+ list[str] | None
113
+ ```
114
+
115
+ </td>
116
+ <td align="left"><code>None</code></td>
117
+ <td align="left">A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.</td>
118
+ </tr>
119
+
120
+ <tr>
121
+ <td align="left"><code>label</code></td>
122
+ <td align="left" style="width: 25%;">
123
+
124
+ ```python
125
+ str | None
126
+ ```
127
+
128
+ </td>
129
+ <td align="left"><code>None</code></td>
130
+ <td align="left">The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.</td>
131
+ </tr>
132
+
133
+ <tr>
134
+ <td align="left"><code>every</code></td>
135
+ <td align="left" style="width: 25%;">
136
+
137
+ ```python
138
+ float | None
139
+ ```
140
+
141
+ </td>
142
+ <td align="left"><code>None</code></td>
143
+ <td align="left">If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute.</td>
144
+ </tr>
145
+
146
+ <tr>
147
+ <td align="left"><code>show_label</code></td>
148
+ <td align="left" style="width: 25%;">
149
+
150
+ ```python
151
+ bool | None
152
+ ```
153
+
154
+ </td>
155
+ <td align="left"><code>None</code></td>
156
+ <td align="left">if True, will display label.</td>
157
+ </tr>
158
+
159
+ <tr>
160
+ <td align="left"><code>show_download_button</code></td>
161
+ <td align="left" style="width: 25%;">
162
+
163
+ ```python
164
+ bool
165
+ ```
166
+
167
+ </td>
168
+ <td align="left"><code>True</code></td>
169
+ <td align="left">If True, will display button to download image.</td>
170
+ </tr>
171
+
172
+ <tr>
173
+ <td align="left"><code>container</code></td>
174
+ <td align="left" style="width: 25%;">
175
+
176
+ ```python
177
+ bool
178
+ ```
179
+
180
+ </td>
181
+ <td align="left"><code>True</code></td>
182
+ <td align="left">If True, will place the component in a container - providing some extra padding around the border.</td>
183
+ </tr>
184
+
185
+ <tr>
186
+ <td align="left"><code>scale</code></td>
187
+ <td align="left" style="width: 25%;">
188
+
189
+ ```python
190
+ int | None
191
+ ```
192
+
193
+ </td>
194
+ <td align="left"><code>None</code></td>
195
+ <td align="left">relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.</td>
196
+ </tr>
197
+
198
+ <tr>
199
+ <td align="left"><code>min_width</code></td>
200
+ <td align="left" style="width: 25%;">
201
+
202
+ ```python
203
+ int
204
+ ```
205
+
206
+ </td>
207
+ <td align="left"><code>160</code></td>
208
+ <td align="left">minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.</td>
209
+ </tr>
210
+
211
+ <tr>
212
+ <td align="left"><code>height</code></td>
213
+ <td align="left" style="width: 25%;">
214
+
215
+ ```python
216
+ int | str
217
+ ```
218
+
219
+ </td>
220
+ <td align="left"><code>640</code></td>
221
+ <td align="left">height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.</td>
222
+ </tr>
223
+
224
+ <tr>
225
+ <td align="left"><code>interactive</code></td>
226
+ <td align="left" style="width: 25%;">
227
+
228
+ ```python
229
+ bool | None
230
+ ```
231
+
232
+ </td>
233
+ <td align="left"><code>None</code></td>
234
+ <td align="left">if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.</td>
235
+ </tr>
236
+
237
+ <tr>
238
+ <td align="left"><code>visible</code></td>
239
+ <td align="left" style="width: 25%;">
240
+
241
+ ```python
242
+ bool
243
+ ```
244
+
245
+ </td>
246
+ <td align="left"><code>True</code></td>
247
+ <td align="left">If False, component will be hidden.</td>
248
+ </tr>
249
+
250
+ <tr>
251
+ <td align="left"><code>elem_id</code></td>
252
+ <td align="left" style="width: 25%;">
253
+
254
+ ```python
255
+ str | None
256
+ ```
257
+
258
+ </td>
259
+ <td align="left"><code>None</code></td>
260
+ <td align="left">An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
261
+ </tr>
262
+
263
+ <tr>
264
+ <td align="left"><code>elem_classes</code></td>
265
+ <td align="left" style="width: 25%;">
266
+
267
+ ```python
268
+ list[str] | str | None
269
+ ```
270
+
271
+ </td>
272
+ <td align="left"><code>None</code></td>
273
+ <td align="left">An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
274
+ </tr>
275
+
276
+ <tr>
277
+ <td align="left"><code>render</code></td>
278
+ <td align="left" style="width: 25%;">
279
+
280
+ ```python
281
+ bool
282
+ ```
283
+
284
+ </td>
285
+ <td align="left"><code>True</code></td>
286
+ <td align="left">If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.</td>
287
+ </tr>
288
+ </tbody></table>
289
+
290
+
291
+ ### Events
292
+
293
+ | name | description |
294
+ |:-----|:------------|
295
+ | `clear` | This listener is triggered when the user clears the Rerun using the X button for the component. |
296
+ | `change` | Triggered when the value of the Rerun changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input. |
297
+ | `upload` | This listener is triggered when the user uploads a file into the Rerun. |
298
+
299
+
300
+
301
+ ### User function
302
+
303
+ The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
304
+
305
+ - When used as an Input, the component only impacts the input signature of the user function.
306
+ - When used as an output, the component only impacts the return signature of the user function.
307
+
308
+ The code snippet below is accurate in cases where the component is used as both an input and an output.
309
+
310
+ - **As output:** Is passed, a `str` containing the path to the image.
311
+ - **As input:** Should return, expects a `str` or `pathlib.Path` object containing the path to the image.
312
+
313
+ ```python
314
+ def predict(
315
+ value: str | None
316
+ ) -> list[gradio.data_classes.FileData]
317
+ | gradio.data_classes.FileData
318
+ | str
319
+ | list[str]:
320
+ return value
321
+ ```
322
+
src/backend/gradio_rerun/__init__.py ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+
2
+ from .rerun import Rerun
3
+
4
+ __all__ = ['Rerun']
src/backend/gradio_rerun/rerun.py ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """gr.SimpleImage() component."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pathlib import Path
6
+ from typing import Any
7
+
8
+ from gradio_client import file
9
+
10
+ from gradio.components.base import Component
11
+ from gradio.data_classes import GradioRootModel, FileData
12
+ from gradio.events import Events
13
+
14
+
15
+ class RerunData(GradioRootModel):
16
+ """
17
+ Data model for Rerun component it can be a list of FileData, FileData, or as list of URLs.
18
+ """
19
+
20
+ root: list[FileData] | FileData | str | list[str]
21
+
22
+
23
+ class Rerun(Component):
24
+ """
25
+ Creates an image component that can be used to upload images (as an input) or display images (as an output).
26
+ """
27
+
28
+ EVENTS = [
29
+ Events.clear,
30
+ Events.change,
31
+ Events.upload,
32
+ ]
33
+
34
+ data_model = RerunData
35
+
36
+ def __init__(
37
+ self,
38
+ value: list[str] | None = None,
39
+ *,
40
+ label: str | None = None,
41
+ every: float | None = None,
42
+ show_label: bool | None = None,
43
+ show_download_button: bool = True,
44
+ container: bool = True,
45
+ scale: int | None = None,
46
+ min_width: int = 160,
47
+ height: int | str = 640,
48
+ interactive: bool | None = None,
49
+ visible: bool = True,
50
+ elem_id: str | None = None,
51
+ elem_classes: list[str] | str | None = None,
52
+ render: bool = True,
53
+ ):
54
+ """
55
+ Parameters:
56
+ value: A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.
57
+ label: The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.
58
+ every: If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute.
59
+ show_label: if True, will display label.
60
+ show_download_button: If True, will display button to download image.
61
+ container: If True, will place the component in a container - providing some extra padding around the border.
62
+ scale: relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.
63
+ min_width: minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.
64
+ height: height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.
65
+ interactive: if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.
66
+ visible: If False, component will be hidden.
67
+ elem_id: An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.
68
+ elem_classes: An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.
69
+ render: If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.
70
+ """
71
+ self.show_download_button = show_download_button
72
+ self.height = height
73
+ super().__init__(
74
+ label=label,
75
+ every=every,
76
+ show_label=show_label,
77
+ container=container,
78
+ scale=scale,
79
+ min_width=min_width,
80
+ interactive=interactive,
81
+ visible=visible,
82
+ elem_id=elem_id,
83
+ elem_classes=elem_classes,
84
+ render=render,
85
+ value=value,
86
+ )
87
+
88
+ def preprocess(self, payload: FileData | list[FileData] | None) -> str | None:
89
+ """
90
+ Parameters:
91
+ payload: A FileData object containing the image data.
92
+ Returns:
93
+ A `str` containing the path to the image.
94
+ """
95
+ if payload is None:
96
+ return None
97
+ return payload
98
+
99
+ def postprocess(
100
+ self, value: list[FileData] | FileData | str | list[str]
101
+ ) -> RerunData:
102
+ """
103
+ Parameters:
104
+ value: Expects a `str` or `pathlib.Path` object containing the path to the image.
105
+ Returns:
106
+ A FileData object containing the image data.
107
+ """
108
+ if value is None:
109
+ return RerunData(root=[])
110
+
111
+ if not isinstance(value, list):
112
+ value = [value]
113
+
114
+ def is_url(input: str) -> bool:
115
+ return input.startswith("http://") or input.startswith("https://")
116
+
117
+ return RerunData(
118
+ root=[
119
+ FileData(
120
+ path=file,
121
+ orig_name=Path(file).name,
122
+ size=Path(file).stat().st_size,
123
+ )
124
+ if not is_url(file)
125
+ else file
126
+ for file in value
127
+ ]
128
+ )
129
+
130
+ def example_payload(self) -> Any:
131
+ return [
132
+ file(
133
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd"
134
+ ),
135
+ file(
136
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd"
137
+ ),
138
+ ]
139
+
140
+ def example_value(self) -> Any:
141
+ return [
142
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
143
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
144
+ ]
src/backend/gradio_rerun/templates/component/index.js ADDED
@@ -0,0 +1,2648 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ let be = null;
2
+ async function Bt() {
3
+ return be || (be = (await import("./re_viewer-Ds4oCzjL.js")).WebHandle, be);
4
+ }
5
+ function Dt() {
6
+ const n = new Uint8Array(16);
7
+ return crypto.getRandomValues(n), Array.from(n).map((e) => e.toString(16).padStart(2, "0")).join("");
8
+ }
9
+ class Ht {
10
+ /** @type {(import("./re_viewer.js").WebHandle) | null} */
11
+ #e = null;
12
+ /** @type {HTMLCanvasElement | null} */
13
+ #l = null;
14
+ /** @type {'ready' | 'starting' | 'stopped'} */
15
+ #t = "stopped";
16
+ /**
17
+ * Start the viewer.
18
+ *
19
+ * @param {string | string[]} [rrd] URLs to `.rrd` files or WebSocket connections to our SDK.
20
+ * @param {HTMLElement} [parent] The element to attach the canvas onto.
21
+ * @returns {Promise<void>}
22
+ */
23
+ async start(e, t = document.body) {
24
+ if (this.#t !== "stopped")
25
+ return;
26
+ this.#t = "starting", this.#l = document.createElement("canvas"), this.#l.id = Dt(), t.append(this.#l);
27
+ let l = await Bt();
28
+ if (this.#t === "starting" && (this.#e = new l(), await this.#e.start(this.#l.id, void 0), this.#t === "starting")) {
29
+ if (this.#e.has_panicked())
30
+ throw new Error(`Web viewer crashed: ${this.#e.panic_message()}`);
31
+ e && this.open(e);
32
+ }
33
+ }
34
+ /**
35
+ * Returns `true` if the viewer is ready to connect to data sources.
36
+ */
37
+ get ready() {
38
+ return this.#t === "ready";
39
+ }
40
+ /**
41
+ * Open a recording.
42
+ *
43
+ * The viewer must have been started via `WebViewer.start`.
44
+ *
45
+ * @see {WebViewer.start}
46
+ *
47
+ * @param {string | string[]} rrd URLs to `.rrd` files or WebSocket connections to our SDK.
48
+ */
49
+ open(e) {
50
+ if (!this.#e)
51
+ throw new Error(`attempted to open \`${e}\` in a stopped viewer`);
52
+ const t = Array.isArray(e) ? e : [e];
53
+ for (const l of t)
54
+ if (this.#e.add_receiver(l), this.#e.has_panicked())
55
+ throw new Error(`Web viewer crashed: ${this.#e.panic_message()}`);
56
+ }
57
+ /**
58
+ * Close a recording.
59
+ *
60
+ * The viewer must have been started via `WebViewer.start`.
61
+ *
62
+ * @see {WebViewer.start}
63
+ *
64
+ * @param {string | string[]} rrd URLs to `.rrd` files or WebSocket connections to our SDK.
65
+ */
66
+ close(e) {
67
+ if (!this.#e)
68
+ throw new Error(`attempted to close \`${e}\` in a stopped viewer`);
69
+ const t = Array.isArray(e) ? e : [e];
70
+ for (const l of t)
71
+ if (this.#e.remove_receiver(l), this.#e.has_panicked())
72
+ throw new Error(`Web viewer crashed: ${this.#e.panic_message()}`);
73
+ }
74
+ /**
75
+ * Stop the viewer, freeing all associated memory.
76
+ *
77
+ * The same viewer instance may be started multiple times.
78
+ */
79
+ stop() {
80
+ this.#t !== "stopped" && (this.#t = "stopped", this.#l?.remove(), this.#e?.destroy(), this.#e?.free(), this.#l = null, this.#e = null);
81
+ }
82
+ }
83
+ const {
84
+ SvelteComponent: Tt,
85
+ assign: Rt,
86
+ create_slot: Xt,
87
+ detach: Yt,
88
+ element: Gt,
89
+ get_all_dirty_from_scope: Ot,
90
+ get_slot_changes: Ut,
91
+ get_spread_update: Jt,
92
+ init: Kt,
93
+ insert: Qt,
94
+ safe_not_equal: xt,
95
+ set_dynamic_element_data: Pe,
96
+ set_style: V,
97
+ toggle_class: B,
98
+ transition_in: dt,
99
+ transition_out: mt,
100
+ update_slot_base: $t
101
+ } = window.__gradio__svelte__internal;
102
+ function el(n) {
103
+ let e, t, l;
104
+ const i = (
105
+ /*#slots*/
106
+ n[18].default
107
+ ), s = Xt(
108
+ i,
109
+ n,
110
+ /*$$scope*/
111
+ n[17],
112
+ null
113
+ );
114
+ let o = [
115
+ { "data-testid": (
116
+ /*test_id*/
117
+ n[7]
118
+ ) },
119
+ { id: (
120
+ /*elem_id*/
121
+ n[2]
122
+ ) },
123
+ {
124
+ class: t = "block " + /*elem_classes*/
125
+ n[3].join(" ") + " svelte-nl1om8"
126
+ }
127
+ ], a = {};
128
+ for (let r = 0; r < o.length; r += 1)
129
+ a = Rt(a, o[r]);
130
+ return {
131
+ c() {
132
+ e = Gt(
133
+ /*tag*/
134
+ n[14]
135
+ ), s && s.c(), Pe(
136
+ /*tag*/
137
+ n[14]
138
+ )(e, a), B(
139
+ e,
140
+ "hidden",
141
+ /*visible*/
142
+ n[10] === !1
143
+ ), B(
144
+ e,
145
+ "padded",
146
+ /*padding*/
147
+ n[6]
148
+ ), B(
149
+ e,
150
+ "border_focus",
151
+ /*border_mode*/
152
+ n[5] === "focus"
153
+ ), B(
154
+ e,
155
+ "border_contrast",
156
+ /*border_mode*/
157
+ n[5] === "contrast"
158
+ ), B(e, "hide-container", !/*explicit_call*/
159
+ n[8] && !/*container*/
160
+ n[9]), V(
161
+ e,
162
+ "height",
163
+ /*get_dimension*/
164
+ n[15](
165
+ /*height*/
166
+ n[0]
167
+ )
168
+ ), V(e, "width", typeof /*width*/
169
+ n[1] == "number" ? `calc(min(${/*width*/
170
+ n[1]}px, 100%))` : (
171
+ /*get_dimension*/
172
+ n[15](
173
+ /*width*/
174
+ n[1]
175
+ )
176
+ )), V(
177
+ e,
178
+ "border-style",
179
+ /*variant*/
180
+ n[4]
181
+ ), V(
182
+ e,
183
+ "overflow",
184
+ /*allow_overflow*/
185
+ n[11] ? "visible" : "hidden"
186
+ ), V(
187
+ e,
188
+ "flex-grow",
189
+ /*scale*/
190
+ n[12]
191
+ ), V(e, "min-width", `calc(min(${/*min_width*/
192
+ n[13]}px, 100%))`), V(e, "border-width", "var(--block-border-width)");
193
+ },
194
+ m(r, f) {
195
+ Qt(r, e, f), s && s.m(e, null), l = !0;
196
+ },
197
+ p(r, f) {
198
+ s && s.p && (!l || f & /*$$scope*/
199
+ 131072) && $t(
200
+ s,
201
+ i,
202
+ r,
203
+ /*$$scope*/
204
+ r[17],
205
+ l ? Ut(
206
+ i,
207
+ /*$$scope*/
208
+ r[17],
209
+ f,
210
+ null
211
+ ) : Ot(
212
+ /*$$scope*/
213
+ r[17]
214
+ ),
215
+ null
216
+ ), Pe(
217
+ /*tag*/
218
+ r[14]
219
+ )(e, a = Jt(o, [
220
+ (!l || f & /*test_id*/
221
+ 128) && { "data-testid": (
222
+ /*test_id*/
223
+ r[7]
224
+ ) },
225
+ (!l || f & /*elem_id*/
226
+ 4) && { id: (
227
+ /*elem_id*/
228
+ r[2]
229
+ ) },
230
+ (!l || f & /*elem_classes*/
231
+ 8 && t !== (t = "block " + /*elem_classes*/
232
+ r[3].join(" ") + " svelte-nl1om8")) && { class: t }
233
+ ])), B(
234
+ e,
235
+ "hidden",
236
+ /*visible*/
237
+ r[10] === !1
238
+ ), B(
239
+ e,
240
+ "padded",
241
+ /*padding*/
242
+ r[6]
243
+ ), B(
244
+ e,
245
+ "border_focus",
246
+ /*border_mode*/
247
+ r[5] === "focus"
248
+ ), B(
249
+ e,
250
+ "border_contrast",
251
+ /*border_mode*/
252
+ r[5] === "contrast"
253
+ ), B(e, "hide-container", !/*explicit_call*/
254
+ r[8] && !/*container*/
255
+ r[9]), f & /*height*/
256
+ 1 && V(
257
+ e,
258
+ "height",
259
+ /*get_dimension*/
260
+ r[15](
261
+ /*height*/
262
+ r[0]
263
+ )
264
+ ), f & /*width*/
265
+ 2 && V(e, "width", typeof /*width*/
266
+ r[1] == "number" ? `calc(min(${/*width*/
267
+ r[1]}px, 100%))` : (
268
+ /*get_dimension*/
269
+ r[15](
270
+ /*width*/
271
+ r[1]
272
+ )
273
+ )), f & /*variant*/
274
+ 16 && V(
275
+ e,
276
+ "border-style",
277
+ /*variant*/
278
+ r[4]
279
+ ), f & /*allow_overflow*/
280
+ 2048 && V(
281
+ e,
282
+ "overflow",
283
+ /*allow_overflow*/
284
+ r[11] ? "visible" : "hidden"
285
+ ), f & /*scale*/
286
+ 4096 && V(
287
+ e,
288
+ "flex-grow",
289
+ /*scale*/
290
+ r[12]
291
+ ), f & /*min_width*/
292
+ 8192 && V(e, "min-width", `calc(min(${/*min_width*/
293
+ r[13]}px, 100%))`);
294
+ },
295
+ i(r) {
296
+ l || (dt(s, r), l = !0);
297
+ },
298
+ o(r) {
299
+ mt(s, r), l = !1;
300
+ },
301
+ d(r) {
302
+ r && Yt(e), s && s.d(r);
303
+ }
304
+ };
305
+ }
306
+ function tl(n) {
307
+ let e, t = (
308
+ /*tag*/
309
+ n[14] && el(n)
310
+ );
311
+ return {
312
+ c() {
313
+ t && t.c();
314
+ },
315
+ m(l, i) {
316
+ t && t.m(l, i), e = !0;
317
+ },
318
+ p(l, [i]) {
319
+ /*tag*/
320
+ l[14] && t.p(l, i);
321
+ },
322
+ i(l) {
323
+ e || (dt(t, l), e = !0);
324
+ },
325
+ o(l) {
326
+ mt(t, l), e = !1;
327
+ },
328
+ d(l) {
329
+ t && t.d(l);
330
+ }
331
+ };
332
+ }
333
+ function ll(n, e, t) {
334
+ let { $$slots: l = {}, $$scope: i } = e, { height: s = void 0 } = e, { width: o = void 0 } = e, { elem_id: a = "" } = e, { elem_classes: r = [] } = e, { variant: f = "solid" } = e, { border_mode: u = "base" } = e, { padding: _ = !0 } = e, { type: k = "normal" } = e, { test_id: m = void 0 } = e, { explicit_call: p = !1 } = e, { container: C = !0 } = e, { visible: y = !0 } = e, { allow_overflow: L = !0 } = e, { scale: d = null } = e, { min_width: c = 0 } = e, q = k === "fieldset" ? "fieldset" : "div";
335
+ const z = (h) => {
336
+ if (h !== void 0) {
337
+ if (typeof h == "number")
338
+ return h + "px";
339
+ if (typeof h == "string")
340
+ return h;
341
+ }
342
+ };
343
+ return n.$$set = (h) => {
344
+ "height" in h && t(0, s = h.height), "width" in h && t(1, o = h.width), "elem_id" in h && t(2, a = h.elem_id), "elem_classes" in h && t(3, r = h.elem_classes), "variant" in h && t(4, f = h.variant), "border_mode" in h && t(5, u = h.border_mode), "padding" in h && t(6, _ = h.padding), "type" in h && t(16, k = h.type), "test_id" in h && t(7, m = h.test_id), "explicit_call" in h && t(8, p = h.explicit_call), "container" in h && t(9, C = h.container), "visible" in h && t(10, y = h.visible), "allow_overflow" in h && t(11, L = h.allow_overflow), "scale" in h && t(12, d = h.scale), "min_width" in h && t(13, c = h.min_width), "$$scope" in h && t(17, i = h.$$scope);
345
+ }, [
346
+ s,
347
+ o,
348
+ a,
349
+ r,
350
+ f,
351
+ u,
352
+ _,
353
+ m,
354
+ p,
355
+ C,
356
+ y,
357
+ L,
358
+ d,
359
+ c,
360
+ q,
361
+ z,
362
+ k,
363
+ i,
364
+ l
365
+ ];
366
+ }
367
+ class nl extends Tt {
368
+ constructor(e) {
369
+ super(), Kt(this, e, ll, tl, xt, {
370
+ height: 0,
371
+ width: 1,
372
+ elem_id: 2,
373
+ elem_classes: 3,
374
+ variant: 4,
375
+ border_mode: 5,
376
+ padding: 6,
377
+ type: 16,
378
+ test_id: 7,
379
+ explicit_call: 8,
380
+ container: 9,
381
+ visible: 10,
382
+ allow_overflow: 11,
383
+ scale: 12,
384
+ min_width: 13
385
+ });
386
+ }
387
+ }
388
+ const {
389
+ SvelteComponent: il,
390
+ append: Se,
391
+ attr: R,
392
+ bubble: sl,
393
+ create_component: fl,
394
+ destroy_component: ol,
395
+ detach: bt,
396
+ element: Me,
397
+ init: rl,
398
+ insert: ht,
399
+ listen: al,
400
+ mount_component: ul,
401
+ safe_not_equal: cl,
402
+ set_data: _l,
403
+ set_style: ee,
404
+ space: dl,
405
+ text: ml,
406
+ toggle_class: S,
407
+ transition_in: bl,
408
+ transition_out: hl
409
+ } = window.__gradio__svelte__internal;
410
+ function We(n) {
411
+ let e, t;
412
+ return {
413
+ c() {
414
+ e = Me("span"), t = ml(
415
+ /*label*/
416
+ n[1]
417
+ ), R(e, "class", "svelte-1lrphxw");
418
+ },
419
+ m(l, i) {
420
+ ht(l, e, i), Se(e, t);
421
+ },
422
+ p(l, i) {
423
+ i & /*label*/
424
+ 2 && _l(
425
+ t,
426
+ /*label*/
427
+ l[1]
428
+ );
429
+ },
430
+ d(l) {
431
+ l && bt(e);
432
+ }
433
+ };
434
+ }
435
+ function gl(n) {
436
+ let e, t, l, i, s, o, a, r = (
437
+ /*show_label*/
438
+ n[2] && We(n)
439
+ );
440
+ return i = new /*Icon*/
441
+ n[0]({}), {
442
+ c() {
443
+ e = Me("button"), r && r.c(), t = dl(), l = Me("div"), fl(i.$$.fragment), R(l, "class", "svelte-1lrphxw"), S(
444
+ l,
445
+ "small",
446
+ /*size*/
447
+ n[4] === "small"
448
+ ), S(
449
+ l,
450
+ "large",
451
+ /*size*/
452
+ n[4] === "large"
453
+ ), S(
454
+ l,
455
+ "medium",
456
+ /*size*/
457
+ n[4] === "medium"
458
+ ), e.disabled = /*disabled*/
459
+ n[7], R(
460
+ e,
461
+ "aria-label",
462
+ /*label*/
463
+ n[1]
464
+ ), R(
465
+ e,
466
+ "aria-haspopup",
467
+ /*hasPopup*/
468
+ n[8]
469
+ ), R(
470
+ e,
471
+ "title",
472
+ /*label*/
473
+ n[1]
474
+ ), R(e, "class", "svelte-1lrphxw"), S(
475
+ e,
476
+ "pending",
477
+ /*pending*/
478
+ n[3]
479
+ ), S(
480
+ e,
481
+ "padded",
482
+ /*padded*/
483
+ n[5]
484
+ ), S(
485
+ e,
486
+ "highlight",
487
+ /*highlight*/
488
+ n[6]
489
+ ), S(
490
+ e,
491
+ "transparent",
492
+ /*transparent*/
493
+ n[9]
494
+ ), ee(e, "color", !/*disabled*/
495
+ n[7] && /*_color*/
496
+ n[12] ? (
497
+ /*_color*/
498
+ n[12]
499
+ ) : "var(--block-label-text-color)"), ee(e, "--bg-color", /*disabled*/
500
+ n[7] ? "auto" : (
501
+ /*background*/
502
+ n[10]
503
+ )), ee(
504
+ e,
505
+ "margin-left",
506
+ /*offset*/
507
+ n[11] + "px"
508
+ );
509
+ },
510
+ m(f, u) {
511
+ ht(f, e, u), r && r.m(e, null), Se(e, t), Se(e, l), ul(i, l, null), s = !0, o || (a = al(
512
+ e,
513
+ "click",
514
+ /*click_handler*/
515
+ n[14]
516
+ ), o = !0);
517
+ },
518
+ p(f, [u]) {
519
+ /*show_label*/
520
+ f[2] ? r ? r.p(f, u) : (r = We(f), r.c(), r.m(e, t)) : r && (r.d(1), r = null), (!s || u & /*size*/
521
+ 16) && S(
522
+ l,
523
+ "small",
524
+ /*size*/
525
+ f[4] === "small"
526
+ ), (!s || u & /*size*/
527
+ 16) && S(
528
+ l,
529
+ "large",
530
+ /*size*/
531
+ f[4] === "large"
532
+ ), (!s || u & /*size*/
533
+ 16) && S(
534
+ l,
535
+ "medium",
536
+ /*size*/
537
+ f[4] === "medium"
538
+ ), (!s || u & /*disabled*/
539
+ 128) && (e.disabled = /*disabled*/
540
+ f[7]), (!s || u & /*label*/
541
+ 2) && R(
542
+ e,
543
+ "aria-label",
544
+ /*label*/
545
+ f[1]
546
+ ), (!s || u & /*hasPopup*/
547
+ 256) && R(
548
+ e,
549
+ "aria-haspopup",
550
+ /*hasPopup*/
551
+ f[8]
552
+ ), (!s || u & /*label*/
553
+ 2) && R(
554
+ e,
555
+ "title",
556
+ /*label*/
557
+ f[1]
558
+ ), (!s || u & /*pending*/
559
+ 8) && S(
560
+ e,
561
+ "pending",
562
+ /*pending*/
563
+ f[3]
564
+ ), (!s || u & /*padded*/
565
+ 32) && S(
566
+ e,
567
+ "padded",
568
+ /*padded*/
569
+ f[5]
570
+ ), (!s || u & /*highlight*/
571
+ 64) && S(
572
+ e,
573
+ "highlight",
574
+ /*highlight*/
575
+ f[6]
576
+ ), (!s || u & /*transparent*/
577
+ 512) && S(
578
+ e,
579
+ "transparent",
580
+ /*transparent*/
581
+ f[9]
582
+ ), u & /*disabled, _color*/
583
+ 4224 && ee(e, "color", !/*disabled*/
584
+ f[7] && /*_color*/
585
+ f[12] ? (
586
+ /*_color*/
587
+ f[12]
588
+ ) : "var(--block-label-text-color)"), u & /*disabled, background*/
589
+ 1152 && ee(e, "--bg-color", /*disabled*/
590
+ f[7] ? "auto" : (
591
+ /*background*/
592
+ f[10]
593
+ )), u & /*offset*/
594
+ 2048 && ee(
595
+ e,
596
+ "margin-left",
597
+ /*offset*/
598
+ f[11] + "px"
599
+ );
600
+ },
601
+ i(f) {
602
+ s || (bl(i.$$.fragment, f), s = !0);
603
+ },
604
+ o(f) {
605
+ hl(i.$$.fragment, f), s = !1;
606
+ },
607
+ d(f) {
608
+ f && bt(e), r && r.d(), ol(i), o = !1, a();
609
+ }
610
+ };
611
+ }
612
+ function wl(n, e, t) {
613
+ let l, { Icon: i } = e, { label: s = "" } = e, { show_label: o = !1 } = e, { pending: a = !1 } = e, { size: r = "small" } = e, { padded: f = !0 } = e, { highlight: u = !1 } = e, { disabled: _ = !1 } = e, { hasPopup: k = !1 } = e, { color: m = "var(--block-label-text-color)" } = e, { transparent: p = !1 } = e, { background: C = "var(--background-fill-primary)" } = e, { offset: y = 0 } = e;
614
+ function L(d) {
615
+ sl.call(this, n, d);
616
+ }
617
+ return n.$$set = (d) => {
618
+ "Icon" in d && t(0, i = d.Icon), "label" in d && t(1, s = d.label), "show_label" in d && t(2, o = d.show_label), "pending" in d && t(3, a = d.pending), "size" in d && t(4, r = d.size), "padded" in d && t(5, f = d.padded), "highlight" in d && t(6, u = d.highlight), "disabled" in d && t(7, _ = d.disabled), "hasPopup" in d && t(8, k = d.hasPopup), "color" in d && t(13, m = d.color), "transparent" in d && t(9, p = d.transparent), "background" in d && t(10, C = d.background), "offset" in d && t(11, y = d.offset);
619
+ }, n.$$.update = () => {
620
+ n.$$.dirty & /*highlight, color*/
621
+ 8256 && t(12, l = u ? "var(--color-accent)" : m);
622
+ }, [
623
+ i,
624
+ s,
625
+ o,
626
+ a,
627
+ r,
628
+ f,
629
+ u,
630
+ _,
631
+ k,
632
+ p,
633
+ C,
634
+ y,
635
+ l,
636
+ m,
637
+ L
638
+ ];
639
+ }
640
+ class kl extends il {
641
+ constructor(e) {
642
+ super(), rl(this, e, wl, gl, cl, {
643
+ Icon: 0,
644
+ label: 1,
645
+ show_label: 2,
646
+ pending: 3,
647
+ size: 4,
648
+ padded: 5,
649
+ highlight: 6,
650
+ disabled: 7,
651
+ hasPopup: 8,
652
+ color: 13,
653
+ transparent: 9,
654
+ background: 10,
655
+ offset: 11
656
+ });
657
+ }
658
+ }
659
+ const {
660
+ SvelteComponent: pl,
661
+ append: Ce,
662
+ attr: E,
663
+ detach: yl,
664
+ init: vl,
665
+ insert: ql,
666
+ noop: Fe,
667
+ safe_not_equal: Cl,
668
+ set_style: D,
669
+ svg_element: he
670
+ } = window.__gradio__svelte__internal;
671
+ function Fl(n) {
672
+ let e, t, l, i;
673
+ return {
674
+ c() {
675
+ e = he("svg"), t = he("g"), l = he("path"), i = he("path"), E(l, "d", "M18,6L6.087,17.913"), D(l, "fill", "none"), D(l, "fill-rule", "nonzero"), D(l, "stroke-width", "2px"), E(t, "transform", "matrix(1.14096,-0.140958,-0.140958,1.14096,-0.0559523,0.0559523)"), E(i, "d", "M4.364,4.364L19.636,19.636"), D(i, "fill", "none"), D(i, "fill-rule", "nonzero"), D(i, "stroke-width", "2px"), E(e, "width", "100%"), E(e, "height", "100%"), E(e, "viewBox", "0 0 24 24"), E(e, "version", "1.1"), E(e, "xmlns", "http://www.w3.org/2000/svg"), E(e, "xmlns:xlink", "http://www.w3.org/1999/xlink"), E(e, "xml:space", "preserve"), E(e, "stroke", "currentColor"), D(e, "fill-rule", "evenodd"), D(e, "clip-rule", "evenodd"), D(e, "stroke-linecap", "round"), D(e, "stroke-linejoin", "round");
676
+ },
677
+ m(s, o) {
678
+ ql(s, e, o), Ce(e, t), Ce(t, l), Ce(e, i);
679
+ },
680
+ p: Fe,
681
+ i: Fe,
682
+ o: Fe,
683
+ d(s) {
684
+ s && yl(e);
685
+ }
686
+ };
687
+ }
688
+ class Ll extends pl {
689
+ constructor(e) {
690
+ super(), vl(this, e, null, Fl, Cl, {});
691
+ }
692
+ }
693
+ const Sl = [
694
+ { color: "red", primary: 600, secondary: 100 },
695
+ { color: "green", primary: 600, secondary: 100 },
696
+ { color: "blue", primary: 600, secondary: 100 },
697
+ { color: "yellow", primary: 500, secondary: 100 },
698
+ { color: "purple", primary: 600, secondary: 100 },
699
+ { color: "teal", primary: 600, secondary: 100 },
700
+ { color: "orange", primary: 600, secondary: 100 },
701
+ { color: "cyan", primary: 600, secondary: 100 },
702
+ { color: "lime", primary: 500, secondary: 100 },
703
+ { color: "pink", primary: 600, secondary: 100 }
704
+ ], Be = {
705
+ inherit: "inherit",
706
+ current: "currentColor",
707
+ transparent: "transparent",
708
+ black: "#000",
709
+ white: "#fff",
710
+ slate: {
711
+ 50: "#f8fafc",
712
+ 100: "#f1f5f9",
713
+ 200: "#e2e8f0",
714
+ 300: "#cbd5e1",
715
+ 400: "#94a3b8",
716
+ 500: "#64748b",
717
+ 600: "#475569",
718
+ 700: "#334155",
719
+ 800: "#1e293b",
720
+ 900: "#0f172a",
721
+ 950: "#020617"
722
+ },
723
+ gray: {
724
+ 50: "#f9fafb",
725
+ 100: "#f3f4f6",
726
+ 200: "#e5e7eb",
727
+ 300: "#d1d5db",
728
+ 400: "#9ca3af",
729
+ 500: "#6b7280",
730
+ 600: "#4b5563",
731
+ 700: "#374151",
732
+ 800: "#1f2937",
733
+ 900: "#111827",
734
+ 950: "#030712"
735
+ },
736
+ zinc: {
737
+ 50: "#fafafa",
738
+ 100: "#f4f4f5",
739
+ 200: "#e4e4e7",
740
+ 300: "#d4d4d8",
741
+ 400: "#a1a1aa",
742
+ 500: "#71717a",
743
+ 600: "#52525b",
744
+ 700: "#3f3f46",
745
+ 800: "#27272a",
746
+ 900: "#18181b",
747
+ 950: "#09090b"
748
+ },
749
+ neutral: {
750
+ 50: "#fafafa",
751
+ 100: "#f5f5f5",
752
+ 200: "#e5e5e5",
753
+ 300: "#d4d4d4",
754
+ 400: "#a3a3a3",
755
+ 500: "#737373",
756
+ 600: "#525252",
757
+ 700: "#404040",
758
+ 800: "#262626",
759
+ 900: "#171717",
760
+ 950: "#0a0a0a"
761
+ },
762
+ stone: {
763
+ 50: "#fafaf9",
764
+ 100: "#f5f5f4",
765
+ 200: "#e7e5e4",
766
+ 300: "#d6d3d1",
767
+ 400: "#a8a29e",
768
+ 500: "#78716c",
769
+ 600: "#57534e",
770
+ 700: "#44403c",
771
+ 800: "#292524",
772
+ 900: "#1c1917",
773
+ 950: "#0c0a09"
774
+ },
775
+ red: {
776
+ 50: "#fef2f2",
777
+ 100: "#fee2e2",
778
+ 200: "#fecaca",
779
+ 300: "#fca5a5",
780
+ 400: "#f87171",
781
+ 500: "#ef4444",
782
+ 600: "#dc2626",
783
+ 700: "#b91c1c",
784
+ 800: "#991b1b",
785
+ 900: "#7f1d1d",
786
+ 950: "#450a0a"
787
+ },
788
+ orange: {
789
+ 50: "#fff7ed",
790
+ 100: "#ffedd5",
791
+ 200: "#fed7aa",
792
+ 300: "#fdba74",
793
+ 400: "#fb923c",
794
+ 500: "#f97316",
795
+ 600: "#ea580c",
796
+ 700: "#c2410c",
797
+ 800: "#9a3412",
798
+ 900: "#7c2d12",
799
+ 950: "#431407"
800
+ },
801
+ amber: {
802
+ 50: "#fffbeb",
803
+ 100: "#fef3c7",
804
+ 200: "#fde68a",
805
+ 300: "#fcd34d",
806
+ 400: "#fbbf24",
807
+ 500: "#f59e0b",
808
+ 600: "#d97706",
809
+ 700: "#b45309",
810
+ 800: "#92400e",
811
+ 900: "#78350f",
812
+ 950: "#451a03"
813
+ },
814
+ yellow: {
815
+ 50: "#fefce8",
816
+ 100: "#fef9c3",
817
+ 200: "#fef08a",
818
+ 300: "#fde047",
819
+ 400: "#facc15",
820
+ 500: "#eab308",
821
+ 600: "#ca8a04",
822
+ 700: "#a16207",
823
+ 800: "#854d0e",
824
+ 900: "#713f12",
825
+ 950: "#422006"
826
+ },
827
+ lime: {
828
+ 50: "#f7fee7",
829
+ 100: "#ecfccb",
830
+ 200: "#d9f99d",
831
+ 300: "#bef264",
832
+ 400: "#a3e635",
833
+ 500: "#84cc16",
834
+ 600: "#65a30d",
835
+ 700: "#4d7c0f",
836
+ 800: "#3f6212",
837
+ 900: "#365314",
838
+ 950: "#1a2e05"
839
+ },
840
+ green: {
841
+ 50: "#f0fdf4",
842
+ 100: "#dcfce7",
843
+ 200: "#bbf7d0",
844
+ 300: "#86efac",
845
+ 400: "#4ade80",
846
+ 500: "#22c55e",
847
+ 600: "#16a34a",
848
+ 700: "#15803d",
849
+ 800: "#166534",
850
+ 900: "#14532d",
851
+ 950: "#052e16"
852
+ },
853
+ emerald: {
854
+ 50: "#ecfdf5",
855
+ 100: "#d1fae5",
856
+ 200: "#a7f3d0",
857
+ 300: "#6ee7b7",
858
+ 400: "#34d399",
859
+ 500: "#10b981",
860
+ 600: "#059669",
861
+ 700: "#047857",
862
+ 800: "#065f46",
863
+ 900: "#064e3b",
864
+ 950: "#022c22"
865
+ },
866
+ teal: {
867
+ 50: "#f0fdfa",
868
+ 100: "#ccfbf1",
869
+ 200: "#99f6e4",
870
+ 300: "#5eead4",
871
+ 400: "#2dd4bf",
872
+ 500: "#14b8a6",
873
+ 600: "#0d9488",
874
+ 700: "#0f766e",
875
+ 800: "#115e59",
876
+ 900: "#134e4a",
877
+ 950: "#042f2e"
878
+ },
879
+ cyan: {
880
+ 50: "#ecfeff",
881
+ 100: "#cffafe",
882
+ 200: "#a5f3fc",
883
+ 300: "#67e8f9",
884
+ 400: "#22d3ee",
885
+ 500: "#06b6d4",
886
+ 600: "#0891b2",
887
+ 700: "#0e7490",
888
+ 800: "#155e75",
889
+ 900: "#164e63",
890
+ 950: "#083344"
891
+ },
892
+ sky: {
893
+ 50: "#f0f9ff",
894
+ 100: "#e0f2fe",
895
+ 200: "#bae6fd",
896
+ 300: "#7dd3fc",
897
+ 400: "#38bdf8",
898
+ 500: "#0ea5e9",
899
+ 600: "#0284c7",
900
+ 700: "#0369a1",
901
+ 800: "#075985",
902
+ 900: "#0c4a6e",
903
+ 950: "#082f49"
904
+ },
905
+ blue: {
906
+ 50: "#eff6ff",
907
+ 100: "#dbeafe",
908
+ 200: "#bfdbfe",
909
+ 300: "#93c5fd",
910
+ 400: "#60a5fa",
911
+ 500: "#3b82f6",
912
+ 600: "#2563eb",
913
+ 700: "#1d4ed8",
914
+ 800: "#1e40af",
915
+ 900: "#1e3a8a",
916
+ 950: "#172554"
917
+ },
918
+ indigo: {
919
+ 50: "#eef2ff",
920
+ 100: "#e0e7ff",
921
+ 200: "#c7d2fe",
922
+ 300: "#a5b4fc",
923
+ 400: "#818cf8",
924
+ 500: "#6366f1",
925
+ 600: "#4f46e5",
926
+ 700: "#4338ca",
927
+ 800: "#3730a3",
928
+ 900: "#312e81",
929
+ 950: "#1e1b4b"
930
+ },
931
+ violet: {
932
+ 50: "#f5f3ff",
933
+ 100: "#ede9fe",
934
+ 200: "#ddd6fe",
935
+ 300: "#c4b5fd",
936
+ 400: "#a78bfa",
937
+ 500: "#8b5cf6",
938
+ 600: "#7c3aed",
939
+ 700: "#6d28d9",
940
+ 800: "#5b21b6",
941
+ 900: "#4c1d95",
942
+ 950: "#2e1065"
943
+ },
944
+ purple: {
945
+ 50: "#faf5ff",
946
+ 100: "#f3e8ff",
947
+ 200: "#e9d5ff",
948
+ 300: "#d8b4fe",
949
+ 400: "#c084fc",
950
+ 500: "#a855f7",
951
+ 600: "#9333ea",
952
+ 700: "#7e22ce",
953
+ 800: "#6b21a8",
954
+ 900: "#581c87",
955
+ 950: "#3b0764"
956
+ },
957
+ fuchsia: {
958
+ 50: "#fdf4ff",
959
+ 100: "#fae8ff",
960
+ 200: "#f5d0fe",
961
+ 300: "#f0abfc",
962
+ 400: "#e879f9",
963
+ 500: "#d946ef",
964
+ 600: "#c026d3",
965
+ 700: "#a21caf",
966
+ 800: "#86198f",
967
+ 900: "#701a75",
968
+ 950: "#4a044e"
969
+ },
970
+ pink: {
971
+ 50: "#fdf2f8",
972
+ 100: "#fce7f3",
973
+ 200: "#fbcfe8",
974
+ 300: "#f9a8d4",
975
+ 400: "#f472b6",
976
+ 500: "#ec4899",
977
+ 600: "#db2777",
978
+ 700: "#be185d",
979
+ 800: "#9d174d",
980
+ 900: "#831843",
981
+ 950: "#500724"
982
+ },
983
+ rose: {
984
+ 50: "#fff1f2",
985
+ 100: "#ffe4e6",
986
+ 200: "#fecdd3",
987
+ 300: "#fda4af",
988
+ 400: "#fb7185",
989
+ 500: "#f43f5e",
990
+ 600: "#e11d48",
991
+ 700: "#be123c",
992
+ 800: "#9f1239",
993
+ 900: "#881337",
994
+ 950: "#4c0519"
995
+ }
996
+ };
997
+ Sl.reduce(
998
+ (n, { color: e, primary: t, secondary: l }) => ({
999
+ ...n,
1000
+ [e]: {
1001
+ primary: Be[e][t],
1002
+ secondary: Be[e][l]
1003
+ }
1004
+ }),
1005
+ {}
1006
+ );
1007
+ function ne(n) {
1008
+ let e = ["", "k", "M", "G", "T", "P", "E", "Z"], t = 0;
1009
+ for (; n > 1e3 && t < e.length - 1; )
1010
+ n /= 1e3, t++;
1011
+ let l = e[t];
1012
+ return (Number.isInteger(n) ? n : n.toFixed(1)) + l;
1013
+ }
1014
+ function ke() {
1015
+ }
1016
+ function Ml(n, e) {
1017
+ return n != n ? e == e : n !== e || n && typeof n == "object" || typeof n == "function";
1018
+ }
1019
+ const gt = typeof window < "u";
1020
+ let De = gt ? () => window.performance.now() : () => Date.now(), wt = gt ? (n) => requestAnimationFrame(n) : ke;
1021
+ const ie = /* @__PURE__ */ new Set();
1022
+ function kt(n) {
1023
+ ie.forEach((e) => {
1024
+ e.c(n) || (ie.delete(e), e.f());
1025
+ }), ie.size !== 0 && wt(kt);
1026
+ }
1027
+ function Vl(n) {
1028
+ let e;
1029
+ return ie.size === 0 && wt(kt), {
1030
+ promise: new Promise((t) => {
1031
+ ie.add(e = { c: n, f: t });
1032
+ }),
1033
+ abort() {
1034
+ ie.delete(e);
1035
+ }
1036
+ };
1037
+ }
1038
+ const te = [];
1039
+ function zl(n, e = ke) {
1040
+ let t;
1041
+ const l = /* @__PURE__ */ new Set();
1042
+ function i(a) {
1043
+ if (Ml(n, a) && (n = a, t)) {
1044
+ const r = !te.length;
1045
+ for (const f of l)
1046
+ f[1](), te.push(f, n);
1047
+ if (r) {
1048
+ for (let f = 0; f < te.length; f += 2)
1049
+ te[f][0](te[f + 1]);
1050
+ te.length = 0;
1051
+ }
1052
+ }
1053
+ }
1054
+ function s(a) {
1055
+ i(a(n));
1056
+ }
1057
+ function o(a, r = ke) {
1058
+ const f = [a, r];
1059
+ return l.add(f), l.size === 1 && (t = e(i, s) || ke), a(n), () => {
1060
+ l.delete(f), l.size === 0 && t && (t(), t = null);
1061
+ };
1062
+ }
1063
+ return { set: i, update: s, subscribe: o };
1064
+ }
1065
+ function He(n) {
1066
+ return Object.prototype.toString.call(n) === "[object Date]";
1067
+ }
1068
+ function Ve(n, e, t, l) {
1069
+ if (typeof t == "number" || He(t)) {
1070
+ const i = l - t, s = (t - e) / (n.dt || 1 / 60), o = n.opts.stiffness * i, a = n.opts.damping * s, r = (o - a) * n.inv_mass, f = (s + r) * n.dt;
1071
+ return Math.abs(f) < n.opts.precision && Math.abs(i) < n.opts.precision ? l : (n.settled = !1, He(t) ? new Date(t.getTime() + f) : t + f);
1072
+ } else {
1073
+ if (Array.isArray(t))
1074
+ return t.map(
1075
+ (i, s) => Ve(n, e[s], t[s], l[s])
1076
+ );
1077
+ if (typeof t == "object") {
1078
+ const i = {};
1079
+ for (const s in t)
1080
+ i[s] = Ve(n, e[s], t[s], l[s]);
1081
+ return i;
1082
+ } else
1083
+ throw new Error(`Cannot spring ${typeof t} values`);
1084
+ }
1085
+ }
1086
+ function Te(n, e = {}) {
1087
+ const t = zl(n), { stiffness: l = 0.15, damping: i = 0.8, precision: s = 0.01 } = e;
1088
+ let o, a, r, f = n, u = n, _ = 1, k = 0, m = !1;
1089
+ function p(y, L = {}) {
1090
+ u = y;
1091
+ const d = r = {};
1092
+ return n == null || L.hard || C.stiffness >= 1 && C.damping >= 1 ? (m = !0, o = De(), f = y, t.set(n = u), Promise.resolve()) : (L.soft && (k = 1 / ((L.soft === !0 ? 0.5 : +L.soft) * 60), _ = 0), a || (o = De(), m = !1, a = Vl((c) => {
1093
+ if (m)
1094
+ return m = !1, a = null, !1;
1095
+ _ = Math.min(_ + k, 1);
1096
+ const q = {
1097
+ inv_mass: _,
1098
+ opts: C,
1099
+ settled: !0,
1100
+ dt: (c - o) * 60 / 1e3
1101
+ }, z = Ve(q, f, n, u);
1102
+ return o = c, f = n, t.set(n = z), q.settled && (a = null), !q.settled;
1103
+ })), new Promise((c) => {
1104
+ a.promise.then(() => {
1105
+ d === r && c();
1106
+ });
1107
+ }));
1108
+ }
1109
+ const C = {
1110
+ set: p,
1111
+ update: (y, L) => p(y(u, n), L),
1112
+ subscribe: t.subscribe,
1113
+ stiffness: l,
1114
+ damping: i,
1115
+ precision: s
1116
+ };
1117
+ return C;
1118
+ }
1119
+ const {
1120
+ SvelteComponent: Nl,
1121
+ append: j,
1122
+ attr: v,
1123
+ component_subscribe: Re,
1124
+ detach: Al,
1125
+ element: El,
1126
+ init: jl,
1127
+ insert: Il,
1128
+ noop: Xe,
1129
+ safe_not_equal: Zl,
1130
+ set_style: ge,
1131
+ svg_element: I,
1132
+ toggle_class: Ye
1133
+ } = window.__gradio__svelte__internal, { onMount: Pl } = window.__gradio__svelte__internal;
1134
+ function Wl(n) {
1135
+ let e, t, l, i, s, o, a, r, f, u, _, k;
1136
+ return {
1137
+ c() {
1138
+ e = El("div"), t = I("svg"), l = I("g"), i = I("path"), s = I("path"), o = I("path"), a = I("path"), r = I("g"), f = I("path"), u = I("path"), _ = I("path"), k = I("path"), v(i, "d", "M255.926 0.754768L509.702 139.936V221.027L255.926 81.8465V0.754768Z"), v(i, "fill", "#FF7C00"), v(i, "fill-opacity", "0.4"), v(i, "class", "svelte-43sxxs"), v(s, "d", "M509.69 139.936L254.981 279.641V361.255L509.69 221.55V139.936Z"), v(s, "fill", "#FF7C00"), v(s, "class", "svelte-43sxxs"), v(o, "d", "M0.250138 139.937L254.981 279.641V361.255L0.250138 221.55V139.937Z"), v(o, "fill", "#FF7C00"), v(o, "fill-opacity", "0.4"), v(o, "class", "svelte-43sxxs"), v(a, "d", "M255.923 0.232622L0.236328 139.936V221.55L255.923 81.8469V0.232622Z"), v(a, "fill", "#FF7C00"), v(a, "class", "svelte-43sxxs"), ge(l, "transform", "translate(" + /*$top*/
1139
+ n[1][0] + "px, " + /*$top*/
1140
+ n[1][1] + "px)"), v(f, "d", "M255.926 141.5L509.702 280.681V361.773L255.926 222.592V141.5Z"), v(f, "fill", "#FF7C00"), v(f, "fill-opacity", "0.4"), v(f, "class", "svelte-43sxxs"), v(u, "d", "M509.69 280.679L254.981 420.384V501.998L509.69 362.293V280.679Z"), v(u, "fill", "#FF7C00"), v(u, "class", "svelte-43sxxs"), v(_, "d", "M0.250138 280.681L254.981 420.386V502L0.250138 362.295V280.681Z"), v(_, "fill", "#FF7C00"), v(_, "fill-opacity", "0.4"), v(_, "class", "svelte-43sxxs"), v(k, "d", "M255.923 140.977L0.236328 280.68V362.294L255.923 222.591V140.977Z"), v(k, "fill", "#FF7C00"), v(k, "class", "svelte-43sxxs"), ge(r, "transform", "translate(" + /*$bottom*/
1141
+ n[2][0] + "px, " + /*$bottom*/
1142
+ n[2][1] + "px)"), v(t, "viewBox", "-1200 -1200 3000 3000"), v(t, "fill", "none"), v(t, "xmlns", "http://www.w3.org/2000/svg"), v(t, "class", "svelte-43sxxs"), v(e, "class", "svelte-43sxxs"), Ye(
1143
+ e,
1144
+ "margin",
1145
+ /*margin*/
1146
+ n[0]
1147
+ );
1148
+ },
1149
+ m(m, p) {
1150
+ Il(m, e, p), j(e, t), j(t, l), j(l, i), j(l, s), j(l, o), j(l, a), j(t, r), j(r, f), j(r, u), j(r, _), j(r, k);
1151
+ },
1152
+ p(m, [p]) {
1153
+ p & /*$top*/
1154
+ 2 && ge(l, "transform", "translate(" + /*$top*/
1155
+ m[1][0] + "px, " + /*$top*/
1156
+ m[1][1] + "px)"), p & /*$bottom*/
1157
+ 4 && ge(r, "transform", "translate(" + /*$bottom*/
1158
+ m[2][0] + "px, " + /*$bottom*/
1159
+ m[2][1] + "px)"), p & /*margin*/
1160
+ 1 && Ye(
1161
+ e,
1162
+ "margin",
1163
+ /*margin*/
1164
+ m[0]
1165
+ );
1166
+ },
1167
+ i: Xe,
1168
+ o: Xe,
1169
+ d(m) {
1170
+ m && Al(e);
1171
+ }
1172
+ };
1173
+ }
1174
+ function Bl(n, e, t) {
1175
+ let l, i;
1176
+ var s = this && this.__awaiter || function(m, p, C, y) {
1177
+ function L(d) {
1178
+ return d instanceof C ? d : new C(function(c) {
1179
+ c(d);
1180
+ });
1181
+ }
1182
+ return new (C || (C = Promise))(function(d, c) {
1183
+ function q(M) {
1184
+ try {
1185
+ h(y.next(M));
1186
+ } catch (T) {
1187
+ c(T);
1188
+ }
1189
+ }
1190
+ function z(M) {
1191
+ try {
1192
+ h(y.throw(M));
1193
+ } catch (T) {
1194
+ c(T);
1195
+ }
1196
+ }
1197
+ function h(M) {
1198
+ M.done ? d(M.value) : L(M.value).then(q, z);
1199
+ }
1200
+ h((y = y.apply(m, p || [])).next());
1201
+ });
1202
+ };
1203
+ let { margin: o = !0 } = e;
1204
+ const a = Te([0, 0]);
1205
+ Re(n, a, (m) => t(1, l = m));
1206
+ const r = Te([0, 0]);
1207
+ Re(n, r, (m) => t(2, i = m));
1208
+ let f;
1209
+ function u() {
1210
+ return s(this, void 0, void 0, function* () {
1211
+ yield Promise.all([a.set([125, 140]), r.set([-125, -140])]), yield Promise.all([a.set([-125, 140]), r.set([125, -140])]), yield Promise.all([a.set([-125, 0]), r.set([125, -0])]), yield Promise.all([a.set([125, 0]), r.set([-125, 0])]);
1212
+ });
1213
+ }
1214
+ function _() {
1215
+ return s(this, void 0, void 0, function* () {
1216
+ yield u(), f || _();
1217
+ });
1218
+ }
1219
+ function k() {
1220
+ return s(this, void 0, void 0, function* () {
1221
+ yield Promise.all([a.set([125, 0]), r.set([-125, 0])]), _();
1222
+ });
1223
+ }
1224
+ return Pl(() => (k(), () => f = !0)), n.$$set = (m) => {
1225
+ "margin" in m && t(0, o = m.margin);
1226
+ }, [o, l, i, a, r];
1227
+ }
1228
+ class Dl extends Nl {
1229
+ constructor(e) {
1230
+ super(), jl(this, e, Bl, Wl, Zl, { margin: 0 });
1231
+ }
1232
+ }
1233
+ const {
1234
+ SvelteComponent: Hl,
1235
+ append: J,
1236
+ attr: P,
1237
+ binding_callbacks: Ge,
1238
+ check_outros: pt,
1239
+ create_component: yt,
1240
+ create_slot: Tl,
1241
+ destroy_component: vt,
1242
+ destroy_each: qt,
1243
+ detach: g,
1244
+ element: H,
1245
+ empty: se,
1246
+ ensure_array_like: pe,
1247
+ get_all_dirty_from_scope: Rl,
1248
+ get_slot_changes: Xl,
1249
+ group_outros: Ct,
1250
+ init: Yl,
1251
+ insert: w,
1252
+ mount_component: Ft,
1253
+ noop: ze,
1254
+ safe_not_equal: Gl,
1255
+ set_data: A,
1256
+ set_style: Y,
1257
+ space: W,
1258
+ text: F,
1259
+ toggle_class: N,
1260
+ transition_in: K,
1261
+ transition_out: Q,
1262
+ update_slot_base: Ol
1263
+ } = window.__gradio__svelte__internal, { tick: Ul } = window.__gradio__svelte__internal, { onDestroy: Jl } = window.__gradio__svelte__internal, { createEventDispatcher: Kl } = window.__gradio__svelte__internal, Ql = (n) => ({}), Oe = (n) => ({});
1264
+ function Ue(n, e, t) {
1265
+ const l = n.slice();
1266
+ return l[41] = e[t], l[43] = t, l;
1267
+ }
1268
+ function Je(n, e, t) {
1269
+ const l = n.slice();
1270
+ return l[41] = e[t], l;
1271
+ }
1272
+ function xl(n) {
1273
+ let e, t, l, i, s = (
1274
+ /*i18n*/
1275
+ n[1]("common.error") + ""
1276
+ ), o, a, r;
1277
+ t = new kl({
1278
+ props: {
1279
+ Icon: Ll,
1280
+ label: (
1281
+ /*i18n*/
1282
+ n[1]("common.clear")
1283
+ ),
1284
+ disabled: !1
1285
+ }
1286
+ }), t.$on(
1287
+ "click",
1288
+ /*click_handler*/
1289
+ n[32]
1290
+ );
1291
+ const f = (
1292
+ /*#slots*/
1293
+ n[30].error
1294
+ ), u = Tl(
1295
+ f,
1296
+ n,
1297
+ /*$$scope*/
1298
+ n[29],
1299
+ Oe
1300
+ );
1301
+ return {
1302
+ c() {
1303
+ e = H("div"), yt(t.$$.fragment), l = W(), i = H("span"), o = F(s), a = W(), u && u.c(), P(e, "class", "clear-status svelte-1yk38uw"), P(i, "class", "error svelte-1yk38uw");
1304
+ },
1305
+ m(_, k) {
1306
+ w(_, e, k), Ft(t, e, null), w(_, l, k), w(_, i, k), J(i, o), w(_, a, k), u && u.m(_, k), r = !0;
1307
+ },
1308
+ p(_, k) {
1309
+ const m = {};
1310
+ k[0] & /*i18n*/
1311
+ 2 && (m.label = /*i18n*/
1312
+ _[1]("common.clear")), t.$set(m), (!r || k[0] & /*i18n*/
1313
+ 2) && s !== (s = /*i18n*/
1314
+ _[1]("common.error") + "") && A(o, s), u && u.p && (!r || k[0] & /*$$scope*/
1315
+ 536870912) && Ol(
1316
+ u,
1317
+ f,
1318
+ _,
1319
+ /*$$scope*/
1320
+ _[29],
1321
+ r ? Xl(
1322
+ f,
1323
+ /*$$scope*/
1324
+ _[29],
1325
+ k,
1326
+ Ql
1327
+ ) : Rl(
1328
+ /*$$scope*/
1329
+ _[29]
1330
+ ),
1331
+ Oe
1332
+ );
1333
+ },
1334
+ i(_) {
1335
+ r || (K(t.$$.fragment, _), K(u, _), r = !0);
1336
+ },
1337
+ o(_) {
1338
+ Q(t.$$.fragment, _), Q(u, _), r = !1;
1339
+ },
1340
+ d(_) {
1341
+ _ && (g(e), g(l), g(i), g(a)), vt(t), u && u.d(_);
1342
+ }
1343
+ };
1344
+ }
1345
+ function $l(n) {
1346
+ let e, t, l, i, s, o, a, r, f, u = (
1347
+ /*variant*/
1348
+ n[8] === "default" && /*show_eta_bar*/
1349
+ n[18] && /*show_progress*/
1350
+ n[6] === "full" && Ke(n)
1351
+ );
1352
+ function _(c, q) {
1353
+ if (
1354
+ /*progress*/
1355
+ c[7]
1356
+ )
1357
+ return ln;
1358
+ if (
1359
+ /*queue_position*/
1360
+ c[2] !== null && /*queue_size*/
1361
+ c[3] !== void 0 && /*queue_position*/
1362
+ c[2] >= 0
1363
+ )
1364
+ return tn;
1365
+ if (
1366
+ /*queue_position*/
1367
+ c[2] === 0
1368
+ )
1369
+ return en;
1370
+ }
1371
+ let k = _(n), m = k && k(n), p = (
1372
+ /*timer*/
1373
+ n[5] && $e(n)
1374
+ );
1375
+ const C = [on, fn], y = [];
1376
+ function L(c, q) {
1377
+ return (
1378
+ /*last_progress_level*/
1379
+ c[15] != null ? 0 : (
1380
+ /*show_progress*/
1381
+ c[6] === "full" ? 1 : -1
1382
+ )
1383
+ );
1384
+ }
1385
+ ~(s = L(n)) && (o = y[s] = C[s](n));
1386
+ let d = !/*timer*/
1387
+ n[5] && ft(n);
1388
+ return {
1389
+ c() {
1390
+ u && u.c(), e = W(), t = H("div"), m && m.c(), l = W(), p && p.c(), i = W(), o && o.c(), a = W(), d && d.c(), r = se(), P(t, "class", "progress-text svelte-1yk38uw"), N(
1391
+ t,
1392
+ "meta-text-center",
1393
+ /*variant*/
1394
+ n[8] === "center"
1395
+ ), N(
1396
+ t,
1397
+ "meta-text",
1398
+ /*variant*/
1399
+ n[8] === "default"
1400
+ );
1401
+ },
1402
+ m(c, q) {
1403
+ u && u.m(c, q), w(c, e, q), w(c, t, q), m && m.m(t, null), J(t, l), p && p.m(t, null), w(c, i, q), ~s && y[s].m(c, q), w(c, a, q), d && d.m(c, q), w(c, r, q), f = !0;
1404
+ },
1405
+ p(c, q) {
1406
+ /*variant*/
1407
+ c[8] === "default" && /*show_eta_bar*/
1408
+ c[18] && /*show_progress*/
1409
+ c[6] === "full" ? u ? u.p(c, q) : (u = Ke(c), u.c(), u.m(e.parentNode, e)) : u && (u.d(1), u = null), k === (k = _(c)) && m ? m.p(c, q) : (m && m.d(1), m = k && k(c), m && (m.c(), m.m(t, l))), /*timer*/
1410
+ c[5] ? p ? p.p(c, q) : (p = $e(c), p.c(), p.m(t, null)) : p && (p.d(1), p = null), (!f || q[0] & /*variant*/
1411
+ 256) && N(
1412
+ t,
1413
+ "meta-text-center",
1414
+ /*variant*/
1415
+ c[8] === "center"
1416
+ ), (!f || q[0] & /*variant*/
1417
+ 256) && N(
1418
+ t,
1419
+ "meta-text",
1420
+ /*variant*/
1421
+ c[8] === "default"
1422
+ );
1423
+ let z = s;
1424
+ s = L(c), s === z ? ~s && y[s].p(c, q) : (o && (Ct(), Q(y[z], 1, 1, () => {
1425
+ y[z] = null;
1426
+ }), pt()), ~s ? (o = y[s], o ? o.p(c, q) : (o = y[s] = C[s](c), o.c()), K(o, 1), o.m(a.parentNode, a)) : o = null), /*timer*/
1427
+ c[5] ? d && (d.d(1), d = null) : d ? d.p(c, q) : (d = ft(c), d.c(), d.m(r.parentNode, r));
1428
+ },
1429
+ i(c) {
1430
+ f || (K(o), f = !0);
1431
+ },
1432
+ o(c) {
1433
+ Q(o), f = !1;
1434
+ },
1435
+ d(c) {
1436
+ c && (g(e), g(t), g(i), g(a), g(r)), u && u.d(c), m && m.d(), p && p.d(), ~s && y[s].d(c), d && d.d(c);
1437
+ }
1438
+ };
1439
+ }
1440
+ function Ke(n) {
1441
+ let e, t = `translateX(${/*eta_level*/
1442
+ (n[17] || 0) * 100 - 100}%)`;
1443
+ return {
1444
+ c() {
1445
+ e = H("div"), P(e, "class", "eta-bar svelte-1yk38uw"), Y(e, "transform", t);
1446
+ },
1447
+ m(l, i) {
1448
+ w(l, e, i);
1449
+ },
1450
+ p(l, i) {
1451
+ i[0] & /*eta_level*/
1452
+ 131072 && t !== (t = `translateX(${/*eta_level*/
1453
+ (l[17] || 0) * 100 - 100}%)`) && Y(e, "transform", t);
1454
+ },
1455
+ d(l) {
1456
+ l && g(e);
1457
+ }
1458
+ };
1459
+ }
1460
+ function en(n) {
1461
+ let e;
1462
+ return {
1463
+ c() {
1464
+ e = F("processing |");
1465
+ },
1466
+ m(t, l) {
1467
+ w(t, e, l);
1468
+ },
1469
+ p: ze,
1470
+ d(t) {
1471
+ t && g(e);
1472
+ }
1473
+ };
1474
+ }
1475
+ function tn(n) {
1476
+ let e, t = (
1477
+ /*queue_position*/
1478
+ n[2] + 1 + ""
1479
+ ), l, i, s, o;
1480
+ return {
1481
+ c() {
1482
+ e = F("queue: "), l = F(t), i = F("/"), s = F(
1483
+ /*queue_size*/
1484
+ n[3]
1485
+ ), o = F(" |");
1486
+ },
1487
+ m(a, r) {
1488
+ w(a, e, r), w(a, l, r), w(a, i, r), w(a, s, r), w(a, o, r);
1489
+ },
1490
+ p(a, r) {
1491
+ r[0] & /*queue_position*/
1492
+ 4 && t !== (t = /*queue_position*/
1493
+ a[2] + 1 + "") && A(l, t), r[0] & /*queue_size*/
1494
+ 8 && A(
1495
+ s,
1496
+ /*queue_size*/
1497
+ a[3]
1498
+ );
1499
+ },
1500
+ d(a) {
1501
+ a && (g(e), g(l), g(i), g(s), g(o));
1502
+ }
1503
+ };
1504
+ }
1505
+ function ln(n) {
1506
+ let e, t = pe(
1507
+ /*progress*/
1508
+ n[7]
1509
+ ), l = [];
1510
+ for (let i = 0; i < t.length; i += 1)
1511
+ l[i] = xe(Je(n, t, i));
1512
+ return {
1513
+ c() {
1514
+ for (let i = 0; i < l.length; i += 1)
1515
+ l[i].c();
1516
+ e = se();
1517
+ },
1518
+ m(i, s) {
1519
+ for (let o = 0; o < l.length; o += 1)
1520
+ l[o] && l[o].m(i, s);
1521
+ w(i, e, s);
1522
+ },
1523
+ p(i, s) {
1524
+ if (s[0] & /*progress*/
1525
+ 128) {
1526
+ t = pe(
1527
+ /*progress*/
1528
+ i[7]
1529
+ );
1530
+ let o;
1531
+ for (o = 0; o < t.length; o += 1) {
1532
+ const a = Je(i, t, o);
1533
+ l[o] ? l[o].p(a, s) : (l[o] = xe(a), l[o].c(), l[o].m(e.parentNode, e));
1534
+ }
1535
+ for (; o < l.length; o += 1)
1536
+ l[o].d(1);
1537
+ l.length = t.length;
1538
+ }
1539
+ },
1540
+ d(i) {
1541
+ i && g(e), qt(l, i);
1542
+ }
1543
+ };
1544
+ }
1545
+ function Qe(n) {
1546
+ let e, t = (
1547
+ /*p*/
1548
+ n[41].unit + ""
1549
+ ), l, i, s = " ", o;
1550
+ function a(u, _) {
1551
+ return (
1552
+ /*p*/
1553
+ u[41].length != null ? sn : nn
1554
+ );
1555
+ }
1556
+ let r = a(n), f = r(n);
1557
+ return {
1558
+ c() {
1559
+ f.c(), e = W(), l = F(t), i = F(" | "), o = F(s);
1560
+ },
1561
+ m(u, _) {
1562
+ f.m(u, _), w(u, e, _), w(u, l, _), w(u, i, _), w(u, o, _);
1563
+ },
1564
+ p(u, _) {
1565
+ r === (r = a(u)) && f ? f.p(u, _) : (f.d(1), f = r(u), f && (f.c(), f.m(e.parentNode, e))), _[0] & /*progress*/
1566
+ 128 && t !== (t = /*p*/
1567
+ u[41].unit + "") && A(l, t);
1568
+ },
1569
+ d(u) {
1570
+ u && (g(e), g(l), g(i), g(o)), f.d(u);
1571
+ }
1572
+ };
1573
+ }
1574
+ function nn(n) {
1575
+ let e = ne(
1576
+ /*p*/
1577
+ n[41].index || 0
1578
+ ) + "", t;
1579
+ return {
1580
+ c() {
1581
+ t = F(e);
1582
+ },
1583
+ m(l, i) {
1584
+ w(l, t, i);
1585
+ },
1586
+ p(l, i) {
1587
+ i[0] & /*progress*/
1588
+ 128 && e !== (e = ne(
1589
+ /*p*/
1590
+ l[41].index || 0
1591
+ ) + "") && A(t, e);
1592
+ },
1593
+ d(l) {
1594
+ l && g(t);
1595
+ }
1596
+ };
1597
+ }
1598
+ function sn(n) {
1599
+ let e = ne(
1600
+ /*p*/
1601
+ n[41].index || 0
1602
+ ) + "", t, l, i = ne(
1603
+ /*p*/
1604
+ n[41].length
1605
+ ) + "", s;
1606
+ return {
1607
+ c() {
1608
+ t = F(e), l = F("/"), s = F(i);
1609
+ },
1610
+ m(o, a) {
1611
+ w(o, t, a), w(o, l, a), w(o, s, a);
1612
+ },
1613
+ p(o, a) {
1614
+ a[0] & /*progress*/
1615
+ 128 && e !== (e = ne(
1616
+ /*p*/
1617
+ o[41].index || 0
1618
+ ) + "") && A(t, e), a[0] & /*progress*/
1619
+ 128 && i !== (i = ne(
1620
+ /*p*/
1621
+ o[41].length
1622
+ ) + "") && A(s, i);
1623
+ },
1624
+ d(o) {
1625
+ o && (g(t), g(l), g(s));
1626
+ }
1627
+ };
1628
+ }
1629
+ function xe(n) {
1630
+ let e, t = (
1631
+ /*p*/
1632
+ n[41].index != null && Qe(n)
1633
+ );
1634
+ return {
1635
+ c() {
1636
+ t && t.c(), e = se();
1637
+ },
1638
+ m(l, i) {
1639
+ t && t.m(l, i), w(l, e, i);
1640
+ },
1641
+ p(l, i) {
1642
+ /*p*/
1643
+ l[41].index != null ? t ? t.p(l, i) : (t = Qe(l), t.c(), t.m(e.parentNode, e)) : t && (t.d(1), t = null);
1644
+ },
1645
+ d(l) {
1646
+ l && g(e), t && t.d(l);
1647
+ }
1648
+ };
1649
+ }
1650
+ function $e(n) {
1651
+ let e, t = (
1652
+ /*eta*/
1653
+ n[0] ? `/${/*formatted_eta*/
1654
+ n[19]}` : ""
1655
+ ), l, i;
1656
+ return {
1657
+ c() {
1658
+ e = F(
1659
+ /*formatted_timer*/
1660
+ n[20]
1661
+ ), l = F(t), i = F("s");
1662
+ },
1663
+ m(s, o) {
1664
+ w(s, e, o), w(s, l, o), w(s, i, o);
1665
+ },
1666
+ p(s, o) {
1667
+ o[0] & /*formatted_timer*/
1668
+ 1048576 && A(
1669
+ e,
1670
+ /*formatted_timer*/
1671
+ s[20]
1672
+ ), o[0] & /*eta, formatted_eta*/
1673
+ 524289 && t !== (t = /*eta*/
1674
+ s[0] ? `/${/*formatted_eta*/
1675
+ s[19]}` : "") && A(l, t);
1676
+ },
1677
+ d(s) {
1678
+ s && (g(e), g(l), g(i));
1679
+ }
1680
+ };
1681
+ }
1682
+ function fn(n) {
1683
+ let e, t;
1684
+ return e = new Dl({
1685
+ props: { margin: (
1686
+ /*variant*/
1687
+ n[8] === "default"
1688
+ ) }
1689
+ }), {
1690
+ c() {
1691
+ yt(e.$$.fragment);
1692
+ },
1693
+ m(l, i) {
1694
+ Ft(e, l, i), t = !0;
1695
+ },
1696
+ p(l, i) {
1697
+ const s = {};
1698
+ i[0] & /*variant*/
1699
+ 256 && (s.margin = /*variant*/
1700
+ l[8] === "default"), e.$set(s);
1701
+ },
1702
+ i(l) {
1703
+ t || (K(e.$$.fragment, l), t = !0);
1704
+ },
1705
+ o(l) {
1706
+ Q(e.$$.fragment, l), t = !1;
1707
+ },
1708
+ d(l) {
1709
+ vt(e, l);
1710
+ }
1711
+ };
1712
+ }
1713
+ function on(n) {
1714
+ let e, t, l, i, s, o = `${/*last_progress_level*/
1715
+ n[15] * 100}%`, a = (
1716
+ /*progress*/
1717
+ n[7] != null && et(n)
1718
+ );
1719
+ return {
1720
+ c() {
1721
+ e = H("div"), t = H("div"), a && a.c(), l = W(), i = H("div"), s = H("div"), P(t, "class", "progress-level-inner svelte-1yk38uw"), P(s, "class", "progress-bar svelte-1yk38uw"), Y(s, "width", o), P(i, "class", "progress-bar-wrap svelte-1yk38uw"), P(e, "class", "progress-level svelte-1yk38uw");
1722
+ },
1723
+ m(r, f) {
1724
+ w(r, e, f), J(e, t), a && a.m(t, null), J(e, l), J(e, i), J(i, s), n[31](s);
1725
+ },
1726
+ p(r, f) {
1727
+ /*progress*/
1728
+ r[7] != null ? a ? a.p(r, f) : (a = et(r), a.c(), a.m(t, null)) : a && (a.d(1), a = null), f[0] & /*last_progress_level*/
1729
+ 32768 && o !== (o = `${/*last_progress_level*/
1730
+ r[15] * 100}%`) && Y(s, "width", o);
1731
+ },
1732
+ i: ze,
1733
+ o: ze,
1734
+ d(r) {
1735
+ r && g(e), a && a.d(), n[31](null);
1736
+ }
1737
+ };
1738
+ }
1739
+ function et(n) {
1740
+ let e, t = pe(
1741
+ /*progress*/
1742
+ n[7]
1743
+ ), l = [];
1744
+ for (let i = 0; i < t.length; i += 1)
1745
+ l[i] = st(Ue(n, t, i));
1746
+ return {
1747
+ c() {
1748
+ for (let i = 0; i < l.length; i += 1)
1749
+ l[i].c();
1750
+ e = se();
1751
+ },
1752
+ m(i, s) {
1753
+ for (let o = 0; o < l.length; o += 1)
1754
+ l[o] && l[o].m(i, s);
1755
+ w(i, e, s);
1756
+ },
1757
+ p(i, s) {
1758
+ if (s[0] & /*progress_level, progress*/
1759
+ 16512) {
1760
+ t = pe(
1761
+ /*progress*/
1762
+ i[7]
1763
+ );
1764
+ let o;
1765
+ for (o = 0; o < t.length; o += 1) {
1766
+ const a = Ue(i, t, o);
1767
+ l[o] ? l[o].p(a, s) : (l[o] = st(a), l[o].c(), l[o].m(e.parentNode, e));
1768
+ }
1769
+ for (; o < l.length; o += 1)
1770
+ l[o].d(1);
1771
+ l.length = t.length;
1772
+ }
1773
+ },
1774
+ d(i) {
1775
+ i && g(e), qt(l, i);
1776
+ }
1777
+ };
1778
+ }
1779
+ function tt(n) {
1780
+ let e, t, l, i, s = (
1781
+ /*i*/
1782
+ n[43] !== 0 && rn()
1783
+ ), o = (
1784
+ /*p*/
1785
+ n[41].desc != null && lt(n)
1786
+ ), a = (
1787
+ /*p*/
1788
+ n[41].desc != null && /*progress_level*/
1789
+ n[14] && /*progress_level*/
1790
+ n[14][
1791
+ /*i*/
1792
+ n[43]
1793
+ ] != null && nt()
1794
+ ), r = (
1795
+ /*progress_level*/
1796
+ n[14] != null && it(n)
1797
+ );
1798
+ return {
1799
+ c() {
1800
+ s && s.c(), e = W(), o && o.c(), t = W(), a && a.c(), l = W(), r && r.c(), i = se();
1801
+ },
1802
+ m(f, u) {
1803
+ s && s.m(f, u), w(f, e, u), o && o.m(f, u), w(f, t, u), a && a.m(f, u), w(f, l, u), r && r.m(f, u), w(f, i, u);
1804
+ },
1805
+ p(f, u) {
1806
+ /*p*/
1807
+ f[41].desc != null ? o ? o.p(f, u) : (o = lt(f), o.c(), o.m(t.parentNode, t)) : o && (o.d(1), o = null), /*p*/
1808
+ f[41].desc != null && /*progress_level*/
1809
+ f[14] && /*progress_level*/
1810
+ f[14][
1811
+ /*i*/
1812
+ f[43]
1813
+ ] != null ? a || (a = nt(), a.c(), a.m(l.parentNode, l)) : a && (a.d(1), a = null), /*progress_level*/
1814
+ f[14] != null ? r ? r.p(f, u) : (r = it(f), r.c(), r.m(i.parentNode, i)) : r && (r.d(1), r = null);
1815
+ },
1816
+ d(f) {
1817
+ f && (g(e), g(t), g(l), g(i)), s && s.d(f), o && o.d(f), a && a.d(f), r && r.d(f);
1818
+ }
1819
+ };
1820
+ }
1821
+ function rn(n) {
1822
+ let e;
1823
+ return {
1824
+ c() {
1825
+ e = F(" /");
1826
+ },
1827
+ m(t, l) {
1828
+ w(t, e, l);
1829
+ },
1830
+ d(t) {
1831
+ t && g(e);
1832
+ }
1833
+ };
1834
+ }
1835
+ function lt(n) {
1836
+ let e = (
1837
+ /*p*/
1838
+ n[41].desc + ""
1839
+ ), t;
1840
+ return {
1841
+ c() {
1842
+ t = F(e);
1843
+ },
1844
+ m(l, i) {
1845
+ w(l, t, i);
1846
+ },
1847
+ p(l, i) {
1848
+ i[0] & /*progress*/
1849
+ 128 && e !== (e = /*p*/
1850
+ l[41].desc + "") && A(t, e);
1851
+ },
1852
+ d(l) {
1853
+ l && g(t);
1854
+ }
1855
+ };
1856
+ }
1857
+ function nt(n) {
1858
+ let e;
1859
+ return {
1860
+ c() {
1861
+ e = F("-");
1862
+ },
1863
+ m(t, l) {
1864
+ w(t, e, l);
1865
+ },
1866
+ d(t) {
1867
+ t && g(e);
1868
+ }
1869
+ };
1870
+ }
1871
+ function it(n) {
1872
+ let e = (100 * /*progress_level*/
1873
+ (n[14][
1874
+ /*i*/
1875
+ n[43]
1876
+ ] || 0)).toFixed(1) + "", t, l;
1877
+ return {
1878
+ c() {
1879
+ t = F(e), l = F("%");
1880
+ },
1881
+ m(i, s) {
1882
+ w(i, t, s), w(i, l, s);
1883
+ },
1884
+ p(i, s) {
1885
+ s[0] & /*progress_level*/
1886
+ 16384 && e !== (e = (100 * /*progress_level*/
1887
+ (i[14][
1888
+ /*i*/
1889
+ i[43]
1890
+ ] || 0)).toFixed(1) + "") && A(t, e);
1891
+ },
1892
+ d(i) {
1893
+ i && (g(t), g(l));
1894
+ }
1895
+ };
1896
+ }
1897
+ function st(n) {
1898
+ let e, t = (
1899
+ /*p*/
1900
+ (n[41].desc != null || /*progress_level*/
1901
+ n[14] && /*progress_level*/
1902
+ n[14][
1903
+ /*i*/
1904
+ n[43]
1905
+ ] != null) && tt(n)
1906
+ );
1907
+ return {
1908
+ c() {
1909
+ t && t.c(), e = se();
1910
+ },
1911
+ m(l, i) {
1912
+ t && t.m(l, i), w(l, e, i);
1913
+ },
1914
+ p(l, i) {
1915
+ /*p*/
1916
+ l[41].desc != null || /*progress_level*/
1917
+ l[14] && /*progress_level*/
1918
+ l[14][
1919
+ /*i*/
1920
+ l[43]
1921
+ ] != null ? t ? t.p(l, i) : (t = tt(l), t.c(), t.m(e.parentNode, e)) : t && (t.d(1), t = null);
1922
+ },
1923
+ d(l) {
1924
+ l && g(e), t && t.d(l);
1925
+ }
1926
+ };
1927
+ }
1928
+ function ft(n) {
1929
+ let e, t;
1930
+ return {
1931
+ c() {
1932
+ e = H("p"), t = F(
1933
+ /*loading_text*/
1934
+ n[9]
1935
+ ), P(e, "class", "loading svelte-1yk38uw");
1936
+ },
1937
+ m(l, i) {
1938
+ w(l, e, i), J(e, t);
1939
+ },
1940
+ p(l, i) {
1941
+ i[0] & /*loading_text*/
1942
+ 512 && A(
1943
+ t,
1944
+ /*loading_text*/
1945
+ l[9]
1946
+ );
1947
+ },
1948
+ d(l) {
1949
+ l && g(e);
1950
+ }
1951
+ };
1952
+ }
1953
+ function an(n) {
1954
+ let e, t, l, i, s;
1955
+ const o = [$l, xl], a = [];
1956
+ function r(f, u) {
1957
+ return (
1958
+ /*status*/
1959
+ f[4] === "pending" ? 0 : (
1960
+ /*status*/
1961
+ f[4] === "error" ? 1 : -1
1962
+ )
1963
+ );
1964
+ }
1965
+ return ~(t = r(n)) && (l = a[t] = o[t](n)), {
1966
+ c() {
1967
+ e = H("div"), l && l.c(), P(e, "class", i = "wrap " + /*variant*/
1968
+ n[8] + " " + /*show_progress*/
1969
+ n[6] + " svelte-1yk38uw"), N(e, "hide", !/*status*/
1970
+ n[4] || /*status*/
1971
+ n[4] === "complete" || /*show_progress*/
1972
+ n[6] === "hidden"), N(
1973
+ e,
1974
+ "translucent",
1975
+ /*variant*/
1976
+ n[8] === "center" && /*status*/
1977
+ (n[4] === "pending" || /*status*/
1978
+ n[4] === "error") || /*translucent*/
1979
+ n[11] || /*show_progress*/
1980
+ n[6] === "minimal"
1981
+ ), N(
1982
+ e,
1983
+ "generating",
1984
+ /*status*/
1985
+ n[4] === "generating"
1986
+ ), N(
1987
+ e,
1988
+ "border",
1989
+ /*border*/
1990
+ n[12]
1991
+ ), Y(
1992
+ e,
1993
+ "position",
1994
+ /*absolute*/
1995
+ n[10] ? "absolute" : "static"
1996
+ ), Y(
1997
+ e,
1998
+ "padding",
1999
+ /*absolute*/
2000
+ n[10] ? "0" : "var(--size-8) 0"
2001
+ );
2002
+ },
2003
+ m(f, u) {
2004
+ w(f, e, u), ~t && a[t].m(e, null), n[33](e), s = !0;
2005
+ },
2006
+ p(f, u) {
2007
+ let _ = t;
2008
+ t = r(f), t === _ ? ~t && a[t].p(f, u) : (l && (Ct(), Q(a[_], 1, 1, () => {
2009
+ a[_] = null;
2010
+ }), pt()), ~t ? (l = a[t], l ? l.p(f, u) : (l = a[t] = o[t](f), l.c()), K(l, 1), l.m(e, null)) : l = null), (!s || u[0] & /*variant, show_progress*/
2011
+ 320 && i !== (i = "wrap " + /*variant*/
2012
+ f[8] + " " + /*show_progress*/
2013
+ f[6] + " svelte-1yk38uw")) && P(e, "class", i), (!s || u[0] & /*variant, show_progress, status, show_progress*/
2014
+ 336) && N(e, "hide", !/*status*/
2015
+ f[4] || /*status*/
2016
+ f[4] === "complete" || /*show_progress*/
2017
+ f[6] === "hidden"), (!s || u[0] & /*variant, show_progress, variant, status, translucent, show_progress*/
2018
+ 2384) && N(
2019
+ e,
2020
+ "translucent",
2021
+ /*variant*/
2022
+ f[8] === "center" && /*status*/
2023
+ (f[4] === "pending" || /*status*/
2024
+ f[4] === "error") || /*translucent*/
2025
+ f[11] || /*show_progress*/
2026
+ f[6] === "minimal"
2027
+ ), (!s || u[0] & /*variant, show_progress, status*/
2028
+ 336) && N(
2029
+ e,
2030
+ "generating",
2031
+ /*status*/
2032
+ f[4] === "generating"
2033
+ ), (!s || u[0] & /*variant, show_progress, border*/
2034
+ 4416) && N(
2035
+ e,
2036
+ "border",
2037
+ /*border*/
2038
+ f[12]
2039
+ ), u[0] & /*absolute*/
2040
+ 1024 && Y(
2041
+ e,
2042
+ "position",
2043
+ /*absolute*/
2044
+ f[10] ? "absolute" : "static"
2045
+ ), u[0] & /*absolute*/
2046
+ 1024 && Y(
2047
+ e,
2048
+ "padding",
2049
+ /*absolute*/
2050
+ f[10] ? "0" : "var(--size-8) 0"
2051
+ );
2052
+ },
2053
+ i(f) {
2054
+ s || (K(l), s = !0);
2055
+ },
2056
+ o(f) {
2057
+ Q(l), s = !1;
2058
+ },
2059
+ d(f) {
2060
+ f && g(e), ~t && a[t].d(), n[33](null);
2061
+ }
2062
+ };
2063
+ }
2064
+ var un = function(n, e, t, l) {
2065
+ function i(s) {
2066
+ return s instanceof t ? s : new t(function(o) {
2067
+ o(s);
2068
+ });
2069
+ }
2070
+ return new (t || (t = Promise))(function(s, o) {
2071
+ function a(u) {
2072
+ try {
2073
+ f(l.next(u));
2074
+ } catch (_) {
2075
+ o(_);
2076
+ }
2077
+ }
2078
+ function r(u) {
2079
+ try {
2080
+ f(l.throw(u));
2081
+ } catch (_) {
2082
+ o(_);
2083
+ }
2084
+ }
2085
+ function f(u) {
2086
+ u.done ? s(u.value) : i(u.value).then(a, r);
2087
+ }
2088
+ f((l = l.apply(n, e || [])).next());
2089
+ });
2090
+ };
2091
+ let we = [], Le = !1;
2092
+ function cn(n) {
2093
+ return un(this, arguments, void 0, function* (e, t = !0) {
2094
+ if (!(window.__gradio_mode__ === "website" || window.__gradio_mode__ !== "app" && t !== !0)) {
2095
+ if (we.push(e), !Le)
2096
+ Le = !0;
2097
+ else
2098
+ return;
2099
+ yield Ul(), requestAnimationFrame(() => {
2100
+ let l = [0, 0];
2101
+ for (let i = 0; i < we.length; i++) {
2102
+ const o = we[i].getBoundingClientRect();
2103
+ (i === 0 || o.top + window.scrollY <= l[0]) && (l[0] = o.top + window.scrollY, l[1] = i);
2104
+ }
2105
+ window.scrollTo({ top: l[0] - 20, behavior: "smooth" }), Le = !1, we = [];
2106
+ });
2107
+ }
2108
+ });
2109
+ }
2110
+ function _n(n, e, t) {
2111
+ let l, { $$slots: i = {}, $$scope: s } = e;
2112
+ this && this.__awaiter;
2113
+ const o = Kl();
2114
+ let { i18n: a } = e, { eta: r = null } = e, { queue_position: f } = e, { queue_size: u } = e, { status: _ } = e, { scroll_to_output: k = !1 } = e, { timer: m = !0 } = e, { show_progress: p = "full" } = e, { message: C = null } = e, { progress: y = null } = e, { variant: L = "default" } = e, { loading_text: d = "Loading..." } = e, { absolute: c = !0 } = e, { translucent: q = !1 } = e, { border: z = !1 } = e, { autoscroll: h } = e, M, T = !1, ue = 0, G = 0, x = null, $ = null, Ee = 0, O = null, fe, X = null, je = !0;
2115
+ const Nt = () => {
2116
+ t(0, r = t(27, x = t(19, ce = null))), t(25, ue = performance.now()), t(26, G = 0), T = !0, Ie();
2117
+ };
2118
+ function Ie() {
2119
+ requestAnimationFrame(() => {
2120
+ t(26, G = (performance.now() - ue) / 1e3), T && Ie();
2121
+ });
2122
+ }
2123
+ function Ze() {
2124
+ t(26, G = 0), t(0, r = t(27, x = t(19, ce = null))), T && (T = !1);
2125
+ }
2126
+ Jl(() => {
2127
+ T && Ze();
2128
+ });
2129
+ let ce = null;
2130
+ function At(b) {
2131
+ Ge[b ? "unshift" : "push"](() => {
2132
+ X = b, t(16, X), t(7, y), t(14, O), t(15, fe);
2133
+ });
2134
+ }
2135
+ const Et = () => {
2136
+ o("clear_status");
2137
+ };
2138
+ function jt(b) {
2139
+ Ge[b ? "unshift" : "push"](() => {
2140
+ M = b, t(13, M);
2141
+ });
2142
+ }
2143
+ return n.$$set = (b) => {
2144
+ "i18n" in b && t(1, a = b.i18n), "eta" in b && t(0, r = b.eta), "queue_position" in b && t(2, f = b.queue_position), "queue_size" in b && t(3, u = b.queue_size), "status" in b && t(4, _ = b.status), "scroll_to_output" in b && t(22, k = b.scroll_to_output), "timer" in b && t(5, m = b.timer), "show_progress" in b && t(6, p = b.show_progress), "message" in b && t(23, C = b.message), "progress" in b && t(7, y = b.progress), "variant" in b && t(8, L = b.variant), "loading_text" in b && t(9, d = b.loading_text), "absolute" in b && t(10, c = b.absolute), "translucent" in b && t(11, q = b.translucent), "border" in b && t(12, z = b.border), "autoscroll" in b && t(24, h = b.autoscroll), "$$scope" in b && t(29, s = b.$$scope);
2145
+ }, n.$$.update = () => {
2146
+ n.$$.dirty[0] & /*eta, old_eta, timer_start, eta_from_start*/
2147
+ 436207617 && (r === null && t(0, r = x), r != null && x !== r && (t(28, $ = (performance.now() - ue) / 1e3 + r), t(19, ce = $.toFixed(1)), t(27, x = r))), n.$$.dirty[0] & /*eta_from_start, timer_diff*/
2148
+ 335544320 && t(17, Ee = $ === null || $ <= 0 || !G ? null : Math.min(G / $, 1)), n.$$.dirty[0] & /*progress*/
2149
+ 128 && y != null && t(18, je = !1), n.$$.dirty[0] & /*progress, progress_level, progress_bar, last_progress_level*/
2150
+ 114816 && (y != null ? t(14, O = y.map((b) => {
2151
+ if (b.index != null && b.length != null)
2152
+ return b.index / b.length;
2153
+ if (b.progress != null)
2154
+ return b.progress;
2155
+ })) : t(14, O = null), O ? (t(15, fe = O[O.length - 1]), X && (fe === 0 ? t(16, X.style.transition = "0", X) : t(16, X.style.transition = "150ms", X))) : t(15, fe = void 0)), n.$$.dirty[0] & /*status*/
2156
+ 16 && (_ === "pending" ? Nt() : Ze()), n.$$.dirty[0] & /*el, scroll_to_output, status, autoscroll*/
2157
+ 20979728 && M && k && (_ === "pending" || _ === "complete") && cn(M, h), n.$$.dirty[0] & /*status, message*/
2158
+ 8388624, n.$$.dirty[0] & /*timer_diff*/
2159
+ 67108864 && t(20, l = G.toFixed(1));
2160
+ }, [
2161
+ r,
2162
+ a,
2163
+ f,
2164
+ u,
2165
+ _,
2166
+ m,
2167
+ p,
2168
+ y,
2169
+ L,
2170
+ d,
2171
+ c,
2172
+ q,
2173
+ z,
2174
+ M,
2175
+ O,
2176
+ fe,
2177
+ X,
2178
+ Ee,
2179
+ je,
2180
+ ce,
2181
+ l,
2182
+ o,
2183
+ k,
2184
+ C,
2185
+ h,
2186
+ ue,
2187
+ G,
2188
+ x,
2189
+ $,
2190
+ s,
2191
+ i,
2192
+ At,
2193
+ Et,
2194
+ jt
2195
+ ];
2196
+ }
2197
+ class dn extends Hl {
2198
+ constructor(e) {
2199
+ super(), Yl(
2200
+ this,
2201
+ e,
2202
+ _n,
2203
+ an,
2204
+ Gl,
2205
+ {
2206
+ i18n: 1,
2207
+ eta: 0,
2208
+ queue_position: 2,
2209
+ queue_size: 3,
2210
+ status: 4,
2211
+ scroll_to_output: 22,
2212
+ timer: 5,
2213
+ show_progress: 6,
2214
+ message: 23,
2215
+ progress: 7,
2216
+ variant: 8,
2217
+ loading_text: 9,
2218
+ absolute: 10,
2219
+ translucent: 11,
2220
+ border: 12,
2221
+ autoscroll: 24
2222
+ },
2223
+ null,
2224
+ [-1, -1]
2225
+ );
2226
+ }
2227
+ }
2228
+ const {
2229
+ SvelteComponent: mn,
2230
+ append: bn,
2231
+ attr: re,
2232
+ detach: Lt,
2233
+ element: ot,
2234
+ empty: hn,
2235
+ init: gn,
2236
+ insert: St,
2237
+ noop: rt,
2238
+ safe_not_equal: wn,
2239
+ src_url_equal: at,
2240
+ toggle_class: le
2241
+ } = window.__gradio__svelte__internal;
2242
+ function ut(n) {
2243
+ let e, t, l;
2244
+ return {
2245
+ c() {
2246
+ e = ot("div"), t = ot("img"), at(t.src, l = /*value*/
2247
+ n[0].url) || re(t, "src", l), re(t, "alt", ""), re(t, "class", "svelte-giydt1"), re(e, "class", "container svelte-giydt1"), le(
2248
+ e,
2249
+ "table",
2250
+ /*type*/
2251
+ n[1] === "table"
2252
+ ), le(
2253
+ e,
2254
+ "gallery",
2255
+ /*type*/
2256
+ n[1] === "gallery"
2257
+ ), le(
2258
+ e,
2259
+ "selected",
2260
+ /*selected*/
2261
+ n[2]
2262
+ );
2263
+ },
2264
+ m(i, s) {
2265
+ St(i, e, s), bn(e, t);
2266
+ },
2267
+ p(i, s) {
2268
+ s & /*value*/
2269
+ 1 && !at(t.src, l = /*value*/
2270
+ i[0].url) && re(t, "src", l), s & /*type*/
2271
+ 2 && le(
2272
+ e,
2273
+ "table",
2274
+ /*type*/
2275
+ i[1] === "table"
2276
+ ), s & /*type*/
2277
+ 2 && le(
2278
+ e,
2279
+ "gallery",
2280
+ /*type*/
2281
+ i[1] === "gallery"
2282
+ ), s & /*selected*/
2283
+ 4 && le(
2284
+ e,
2285
+ "selected",
2286
+ /*selected*/
2287
+ i[2]
2288
+ );
2289
+ },
2290
+ d(i) {
2291
+ i && Lt(e);
2292
+ }
2293
+ };
2294
+ }
2295
+ function kn(n) {
2296
+ let e, t = (
2297
+ /*value*/
2298
+ n[0] && ut(n)
2299
+ );
2300
+ return {
2301
+ c() {
2302
+ t && t.c(), e = hn();
2303
+ },
2304
+ m(l, i) {
2305
+ t && t.m(l, i), St(l, e, i);
2306
+ },
2307
+ p(l, [i]) {
2308
+ /*value*/
2309
+ l[0] ? t ? t.p(l, i) : (t = ut(l), t.c(), t.m(e.parentNode, e)) : t && (t.d(1), t = null);
2310
+ },
2311
+ i: rt,
2312
+ o: rt,
2313
+ d(l) {
2314
+ l && Lt(e), t && t.d(l);
2315
+ }
2316
+ };
2317
+ }
2318
+ function pn(n, e, t) {
2319
+ let { value: l } = e, { type: i } = e, { selected: s = !1 } = e;
2320
+ return n.$$set = (o) => {
2321
+ "value" in o && t(0, l = o.value), "type" in o && t(1, i = o.type), "selected" in o && t(2, s = o.selected);
2322
+ }, [l, i, s];
2323
+ }
2324
+ class Wn extends mn {
2325
+ constructor(e) {
2326
+ super(), gn(this, e, pn, kn, wn, { value: 0, type: 1, selected: 2 });
2327
+ }
2328
+ }
2329
+ const {
2330
+ SvelteComponent: yn,
2331
+ assign: vn,
2332
+ attr: qn,
2333
+ binding_callbacks: Cn,
2334
+ check_outros: Fn,
2335
+ create_component: Mt,
2336
+ destroy_component: Vt,
2337
+ detach: Ne,
2338
+ element: Ln,
2339
+ empty: Sn,
2340
+ flush: Z,
2341
+ get_spread_object: Mn,
2342
+ get_spread_update: Vn,
2343
+ group_outros: zn,
2344
+ init: Nn,
2345
+ insert: Ae,
2346
+ mount_component: zt,
2347
+ safe_not_equal: An,
2348
+ set_style: ct,
2349
+ space: En,
2350
+ transition_in: ae,
2351
+ transition_out: ye
2352
+ } = window.__gradio__svelte__internal, { onMount: jn } = window.__gradio__svelte__internal;
2353
+ function _t(n) {
2354
+ let e, t;
2355
+ return e = new nl({
2356
+ props: {
2357
+ visible: (
2358
+ /*visible*/
2359
+ n[3]
2360
+ ),
2361
+ variant: "solid",
2362
+ border_mode: (
2363
+ /*dragging*/
2364
+ n[11] ? "focus" : "base"
2365
+ ),
2366
+ padding: !1,
2367
+ elem_id: (
2368
+ /*elem_id*/
2369
+ n[1]
2370
+ ),
2371
+ elem_classes: (
2372
+ /*elem_classes*/
2373
+ n[2]
2374
+ ),
2375
+ allow_overflow: !1,
2376
+ container: (
2377
+ /*container*/
2378
+ n[4]
2379
+ ),
2380
+ scale: (
2381
+ /*scale*/
2382
+ n[5]
2383
+ ),
2384
+ min_width: (
2385
+ /*min_width*/
2386
+ n[6]
2387
+ ),
2388
+ $$slots: { default: [In] },
2389
+ $$scope: { ctx: n }
2390
+ }
2391
+ }), {
2392
+ c() {
2393
+ Mt(e.$$.fragment);
2394
+ },
2395
+ m(l, i) {
2396
+ zt(e, l, i), t = !0;
2397
+ },
2398
+ p(l, i) {
2399
+ const s = {};
2400
+ i & /*visible*/
2401
+ 8 && (s.visible = /*visible*/
2402
+ l[3]), i & /*elem_id*/
2403
+ 2 && (s.elem_id = /*elem_id*/
2404
+ l[1]), i & /*elem_classes*/
2405
+ 4 && (s.elem_classes = /*elem_classes*/
2406
+ l[2]), i & /*container*/
2407
+ 16 && (s.container = /*container*/
2408
+ l[4]), i & /*scale*/
2409
+ 32 && (s.scale = /*scale*/
2410
+ l[5]), i & /*min_width*/
2411
+ 64 && (s.min_width = /*min_width*/
2412
+ l[6]), i & /*$$scope, ref, height, gradio, loading_status*/
2413
+ 67201 && (s.$$scope = { dirty: i, ctx: l }), e.$set(s);
2414
+ },
2415
+ i(l) {
2416
+ t || (ae(e.$$.fragment, l), t = !0);
2417
+ },
2418
+ o(l) {
2419
+ ye(e.$$.fragment, l), t = !1;
2420
+ },
2421
+ d(l) {
2422
+ Vt(e, l);
2423
+ }
2424
+ };
2425
+ }
2426
+ function In(n) {
2427
+ let e, t, l, i;
2428
+ const s = [
2429
+ { autoscroll: (
2430
+ /*gradio*/
2431
+ n[9].autoscroll
2432
+ ) },
2433
+ { i18n: (
2434
+ /*gradio*/
2435
+ n[9].i18n
2436
+ ) },
2437
+ /*loading_status*/
2438
+ n[7]
2439
+ ];
2440
+ let o = {};
2441
+ for (let a = 0; a < s.length; a += 1)
2442
+ o = vn(o, s[a]);
2443
+ return e = new dn({ props: o }), e.$on(
2444
+ "clear_status",
2445
+ /*clear_status_handler*/
2446
+ n[14]
2447
+ ), {
2448
+ c() {
2449
+ Mt(e.$$.fragment), t = En(), l = Ln("div"), qn(l, "class", "viewer svelte-gu2pck"), ct(
2450
+ l,
2451
+ "height",
2452
+ /*height*/
2453
+ n[0]
2454
+ );
2455
+ },
2456
+ m(a, r) {
2457
+ zt(e, a, r), Ae(a, t, r), Ae(a, l, r), n[15](l), i = !0;
2458
+ },
2459
+ p(a, r) {
2460
+ const f = r & /*gradio, loading_status*/
2461
+ 640 ? Vn(s, [
2462
+ r & /*gradio*/
2463
+ 512 && { autoscroll: (
2464
+ /*gradio*/
2465
+ a[9].autoscroll
2466
+ ) },
2467
+ r & /*gradio*/
2468
+ 512 && { i18n: (
2469
+ /*gradio*/
2470
+ a[9].i18n
2471
+ ) },
2472
+ r & /*loading_status*/
2473
+ 128 && Mn(
2474
+ /*loading_status*/
2475
+ a[7]
2476
+ )
2477
+ ]) : {};
2478
+ e.$set(f), r & /*height*/
2479
+ 1 && ct(
2480
+ l,
2481
+ "height",
2482
+ /*height*/
2483
+ a[0]
2484
+ );
2485
+ },
2486
+ i(a) {
2487
+ i || (ae(e.$$.fragment, a), i = !0);
2488
+ },
2489
+ o(a) {
2490
+ ye(e.$$.fragment, a), i = !1;
2491
+ },
2492
+ d(a) {
2493
+ a && (Ne(t), Ne(l)), Vt(e, a), n[15](null);
2494
+ }
2495
+ };
2496
+ }
2497
+ function Zn(n) {
2498
+ let e, t, l = !/*interactive*/
2499
+ n[8] && _t(n);
2500
+ return {
2501
+ c() {
2502
+ l && l.c(), e = Sn();
2503
+ },
2504
+ m(i, s) {
2505
+ l && l.m(i, s), Ae(i, e, s), t = !0;
2506
+ },
2507
+ p(i, [s]) {
2508
+ /*interactive*/
2509
+ i[8] ? l && (zn(), ye(l, 1, 1, () => {
2510
+ l = null;
2511
+ }), Fn()) : l ? (l.p(i, s), s & /*interactive*/
2512
+ 256 && ae(l, 1)) : (l = _t(i), l.c(), ae(l, 1), l.m(e.parentNode, e));
2513
+ },
2514
+ i(i) {
2515
+ t || (ae(l), t = !0);
2516
+ },
2517
+ o(i) {
2518
+ ye(l), t = !1;
2519
+ },
2520
+ d(i) {
2521
+ i && Ne(e), l && l.d(i);
2522
+ }
2523
+ };
2524
+ }
2525
+ function Pn(n, e, t) {
2526
+ let { elem_id: l = "" } = e, { elem_classes: i = [] } = e, { visible: s = !0 } = e, { height: o = 640 } = e, { value: a = null } = e, { container: r = !0 } = e, { scale: f = null } = e, { min_width: u = void 0 } = e, { loading_status: _ } = e, { interactive: k } = e, { gradio: m } = e, p, C, y;
2527
+ jn(() => (t(13, C = new Ht()), C.start(void 0, y), () => C.stop()));
2528
+ const L = () => m.dispatch("clear_status", _);
2529
+ function d(c) {
2530
+ Cn[c ? "unshift" : "push"](() => {
2531
+ y = c, t(10, y);
2532
+ });
2533
+ }
2534
+ return n.$$set = (c) => {
2535
+ "elem_id" in c && t(1, l = c.elem_id), "elem_classes" in c && t(2, i = c.elem_classes), "visible" in c && t(3, s = c.visible), "height" in c && t(0, o = c.height), "value" in c && t(12, a = c.value), "container" in c && t(4, r = c.container), "scale" in c && t(5, f = c.scale), "min_width" in c && t(6, u = c.min_width), "loading_status" in c && t(7, _ = c.loading_status), "interactive" in c && t(8, k = c.interactive), "gradio" in c && t(9, m = c.gradio);
2536
+ }, n.$$.update = () => {
2537
+ if (n.$$.dirty & /*height*/
2538
+ 1 && t(0, o = typeof o == "number" ? `${o}px` : o), n.$$.dirty & /*value, gradio*/
2539
+ 4608 && m.dispatch("change"), n.$$.dirty & /*value, rr*/
2540
+ 12288 && a !== null && Array.isArray(a))
2541
+ for (const c of a)
2542
+ typeof c != "string" ? c.url && C.open(c.url) : C.open(c);
2543
+ }, [
2544
+ o,
2545
+ l,
2546
+ i,
2547
+ s,
2548
+ r,
2549
+ f,
2550
+ u,
2551
+ _,
2552
+ k,
2553
+ m,
2554
+ y,
2555
+ p,
2556
+ a,
2557
+ C,
2558
+ L,
2559
+ d
2560
+ ];
2561
+ }
2562
+ class Bn extends yn {
2563
+ constructor(e) {
2564
+ super(), Nn(this, e, Pn, Zn, An, {
2565
+ elem_id: 1,
2566
+ elem_classes: 2,
2567
+ visible: 3,
2568
+ height: 0,
2569
+ value: 12,
2570
+ container: 4,
2571
+ scale: 5,
2572
+ min_width: 6,
2573
+ loading_status: 7,
2574
+ interactive: 8,
2575
+ gradio: 9
2576
+ });
2577
+ }
2578
+ get elem_id() {
2579
+ return this.$$.ctx[1];
2580
+ }
2581
+ set elem_id(e) {
2582
+ this.$$set({ elem_id: e }), Z();
2583
+ }
2584
+ get elem_classes() {
2585
+ return this.$$.ctx[2];
2586
+ }
2587
+ set elem_classes(e) {
2588
+ this.$$set({ elem_classes: e }), Z();
2589
+ }
2590
+ get visible() {
2591
+ return this.$$.ctx[3];
2592
+ }
2593
+ set visible(e) {
2594
+ this.$$set({ visible: e }), Z();
2595
+ }
2596
+ get height() {
2597
+ return this.$$.ctx[0];
2598
+ }
2599
+ set height(e) {
2600
+ this.$$set({ height: e }), Z();
2601
+ }
2602
+ get value() {
2603
+ return this.$$.ctx[12];
2604
+ }
2605
+ set value(e) {
2606
+ this.$$set({ value: e }), Z();
2607
+ }
2608
+ get container() {
2609
+ return this.$$.ctx[4];
2610
+ }
2611
+ set container(e) {
2612
+ this.$$set({ container: e }), Z();
2613
+ }
2614
+ get scale() {
2615
+ return this.$$.ctx[5];
2616
+ }
2617
+ set scale(e) {
2618
+ this.$$set({ scale: e }), Z();
2619
+ }
2620
+ get min_width() {
2621
+ return this.$$.ctx[6];
2622
+ }
2623
+ set min_width(e) {
2624
+ this.$$set({ min_width: e }), Z();
2625
+ }
2626
+ get loading_status() {
2627
+ return this.$$.ctx[7];
2628
+ }
2629
+ set loading_status(e) {
2630
+ this.$$set({ loading_status: e }), Z();
2631
+ }
2632
+ get interactive() {
2633
+ return this.$$.ctx[8];
2634
+ }
2635
+ set interactive(e) {
2636
+ this.$$set({ interactive: e }), Z();
2637
+ }
2638
+ get gradio() {
2639
+ return this.$$.ctx[9];
2640
+ }
2641
+ set gradio(e) {
2642
+ this.$$set({ gradio: e }), Z();
2643
+ }
2644
+ }
2645
+ export {
2646
+ Wn as BaseExample,
2647
+ Bn as default
2648
+ };
src/backend/gradio_rerun/templates/component/re_viewer-Ds4oCzjL.js ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:047f5433f4af85ce67eda895e55b573889a27e094a2c569b3089424a940e5783
3
+ size 28197645
src/backend/gradio_rerun/templates/component/style.css ADDED
@@ -0,0 +1 @@
 
 
1
+ /*! tailwindcss v4.0.0-alpha.14 | MIT License | https://tailwindcss.com */@layer theme{:root{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-family-sans);--default-font-feature-settings:var(--font-family-sans--font-feature-settings);--default-font-variation-settings:var(--font-family-sans--font-variation-settings);--default-mono-font-family:var(--font-family-mono);--default-mono-font-feature-settings:var(--font-family-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-family-mono--font-variation-settings);--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--color-black:#000;--color-white:#fff;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-slate-950:#020617;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-gray-950:#030712;--color-zinc-50:#fafafa;--color-zinc-100:#f4f4f5;--color-zinc-200:#e4e4e7;--color-zinc-300:#d4d4d8;--color-zinc-400:#a1a1aa;--color-zinc-500:#71717a;--color-zinc-600:#52525b;--color-zinc-700:#3f3f46;--color-zinc-800:#27272a;--color-zinc-900:#18181b;--color-zinc-950:#09090b;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a3a3a3;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-neutral-950:#0a0a0a;--color-stone-50:#fafaf9;--color-stone-100:#f5f5f4;--color-stone-200:#e7e5e4;--color-stone-300:#d6d3d1;--color-stone-400:#a8a29e;--color-stone-500:#78716c;--color-stone-600:#57534e;--color-stone-700:#44403c;--color-stone-800:#292524;--color-stone-900:#1c1917;--color-stone-950:#0c0a09;--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-200:#fecaca;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-800:#991b1b;--color-red-900:#7f1d1d;--color-red-950:#450a0a;--color-orange-50:#fff7ed;--color-orange-100:#ffedd5;--color-orange-200:#fed7aa;--color-orange-300:#fdba74;--color-orange-400:#fb923c;--color-orange-500:#f97316;--color-orange-600:#ea580c;--color-orange-700:#c2410c;--color-orange-800:#9a3412;--color-orange-900:#7c2d12;--color-orange-950:#431407;--color-amber-50:#fffbeb;--color-amber-100:#fef3c7;--color-amber-200:#fde68a;--color-amber-300:#fcd34d;--color-amber-400:#fbbf24;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-800:#92400e;--color-amber-900:#78350f;--color-amber-950:#451a03;--color-yellow-50:#fefce8;--color-yellow-100:#fef9c3;--color-yellow-200:#fef08a;--color-yellow-300:#fde047;--color-yellow-400:#facc15;--color-yellow-500:#eab308;--color-yellow-600:#ca8a04;--color-yellow-700:#a16207;--color-yellow-800:#854d0e;--color-yellow-900:#713f12;--color-yellow-950:#422006;--color-lime-50:#f7fee7;--color-lime-100:#ecfccb;--color-lime-200:#d9f99d;--color-lime-300:#bef264;--color-lime-400:#a3e635;--color-lime-500:#84cc16;--color-lime-600:#65a30d;--color-lime-700:#4d7c0f;--color-lime-800:#3f6212;--color-lime-900:#365314;--color-lime-950:#1a2e05;--color-green-50:#f0fdf4;--color-green-100:#dcfce7;--color-green-200:#bbf7d0;--color-green-300:#86efac;--color-green-400:#4ade80;--color-green-500:#22c55e;--color-green-600:#16a34a;--color-green-700:#15803d;--color-green-800:#166534;--color-green-900:#14532d;--color-green-950:#052e16;--color-emerald-50:#ecfdf5;--color-emerald-100:#d1fae5;--color-emerald-200:#a7f3d0;--color-emerald-300:#6ee7b7;--color-emerald-400:#34d399;--color-emerald-500:#10b981;--color-emerald-600:#059669;--color-emerald-700:#047857;--color-emerald-800:#065f46;--color-emerald-900:#064e3b;--color-emerald-950:#022c22;--color-teal-50:#f0fdfa;--color-teal-100:#ccfbf1;--color-teal-200:#99f6e4;--color-teal-300:#5eead4;--color-teal-400:#2dd4bf;--color-teal-500:#14b8a6;--color-teal-600:#0d9488;--color-teal-700:#0f766e;--color-teal-800:#115e59;--color-teal-900:#134e4a;--color-teal-950:#042f2e;--color-cyan-50:#ecfeff;--color-cyan-100:#cffafe;--color-cyan-200:#a5f3fc;--color-cyan-300:#67e8f9;--color-cyan-400:#22d3ee;--color-cyan-500:#06b6d4;--color-cyan-600:#0891b2;--color-cyan-700:#0e7490;--color-cyan-800:#155e75;--color-cyan-900:#164e63;--color-cyan-950:#083344;--color-sky-50:#f0f9ff;--color-sky-100:#e0f2fe;--color-sky-200:#bae6fd;--color-sky-300:#7dd3fc;--color-sky-400:#38bdf8;--color-sky-500:#0ea5e9;--color-sky-600:#0284c7;--color-sky-700:#0369a1;--color-sky-800:#075985;--color-sky-900:#0c4a6e;--color-sky-950:#082f49;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-300:#93c5fd;--color-blue-400:#60a5fa;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-blue-800:#1e40af;--color-blue-900:#1e3a8a;--color-blue-950:#172554;--color-indigo-50:#eef2ff;--color-indigo-100:#e0e7ff;--color-indigo-200:#c7d2fe;--color-indigo-300:#a5b4fc;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#4338ca;--color-indigo-800:#3730a3;--color-indigo-900:#312e81;--color-indigo-950:#1e1b4b;--color-violet-50:#f5f3ff;--color-violet-100:#ede9fe;--color-violet-200:#ddd6fe;--color-violet-300:#c4b5fd;--color-violet-400:#a78bfa;--color-violet-500:#8b5cf6;--color-violet-600:#7c3aed;--color-violet-700:#6d28d9;--color-violet-800:#5b21b6;--color-violet-900:#4c1d95;--color-violet-950:#2e1065;--color-purple-50:#faf5ff;--color-purple-100:#f3e8ff;--color-purple-200:#e9d5ff;--color-purple-300:#d8b4fe;--color-purple-400:#c084fc;--color-purple-500:#a855f7;--color-purple-600:#9333ea;--color-purple-700:#7e22ce;--color-purple-800:#6b21a8;--color-purple-900:#581c87;--color-purple-950:#3b0764;--color-fuchsia-50:#fdf4ff;--color-fuchsia-100:#fae8ff;--color-fuchsia-200:#f5d0fe;--color-fuchsia-300:#f0abfc;--color-fuchsia-400:#e879f9;--color-fuchsia-500:#d946ef;--color-fuchsia-600:#c026d3;--color-fuchsia-700:#a21caf;--color-fuchsia-800:#86198f;--color-fuchsia-900:#701a75;--color-fuchsia-950:#4a044e;--color-pink-50:#fdf2f8;--color-pink-100:#fce7f3;--color-pink-200:#fbcfe8;--color-pink-300:#f9a8d4;--color-pink-400:#f472b6;--color-pink-500:#ec4899;--color-pink-600:#db2777;--color-pink-700:#be185d;--color-pink-800:#9d174d;--color-pink-900:#831843;--color-pink-950:#500724;--color-rose-50:#fff1f2;--color-rose-100:#ffe4e6;--color-rose-200:#fecdd3;--color-rose-300:#fda4af;--color-rose-400:#fb7185;--color-rose-500:#f43f5e;--color-rose-600:#e11d48;--color-rose-700:#be123c;--color-rose-800:#9f1239;--color-rose-900:#881337;--color-rose-950:#4c0519;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur:8px;--blur-sm:4px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--radius:.25rem;--radius-sm:.125rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-xs:0 1px #0000000d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000d;--inset-shadow-xs:inset 0 1px #0000000d;--inset-shadow-sm:inset 0 1px 1px #0000000d;--inset-shadow:inset 0 2px 4px #0000000d;--drop-shadow:0 1px 2px #0000001a,0 1px 1px #0000000f;--drop-shadow-sm:0 1px 1px #0000000d;--drop-shadow-md:0 4px 3px #00000012,0 2px 2px #0000000f;--drop-shadow-lg:0 10px 8px #0000000a,0 4px 3px #0000001a;--drop-shadow-xl:0 20px 13px #00000008,0 8px 5px #00000014;--drop-shadow-2xl:0 25px 25px #00000026;--spacing-px:1px;--spacing-0:0px;--spacing-0_5:.125rem;--spacing-1:.25rem;--spacing-1_5:.375rem;--spacing-2:.5rem;--spacing-2_5:.625rem;--spacing-3:.75rem;--spacing-3_5:.875rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-7:1.75rem;--spacing-8:2rem;--spacing-9:2.25rem;--spacing-10:2.5rem;--spacing-11:2.75rem;--spacing-12:3rem;--spacing-14:3.5rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-28:7rem;--spacing-32:8rem;--spacing-36:9rem;--spacing-40:10rem;--spacing-44:11rem;--spacing-48:12rem;--spacing-52:13rem;--spacing-56:14rem;--spacing-60:15rem;--spacing-64:16rem;--spacing-72:18rem;--spacing-80:20rem;--spacing-96:24rem;--width-3xs:16rem;--width-2xs:18rem;--width-xs:20rem;--width-sm:24rem;--width-md:28rem;--width-lg:32rem;--width-xl:36rem;--width-2xl:42rem;--width-3xl:48rem;--width-4xl:56rem;--width-5xl:64rem;--width-6xl:72rem;--width-7xl:80rem;--width-prose:65ch;--font-family-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-family-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-size-xs:.75rem;--font-size-xs--line-height:1rem;--font-size-sm:.875rem;--font-size-sm--line-height:1.25rem;--font-size-base:1rem;--font-size-base--line-height:1.5rem;--font-size-lg:1.125rem;--font-size-lg--line-height:1.75rem;--font-size-xl:1.25rem;--font-size-xl--line-height:1.75rem;--font-size-2xl:1.5rem;--font-size-2xl--line-height:2rem;--font-size-3xl:1.875rem;--font-size-3xl--line-height:2.25rem;--font-size-4xl:2.25rem;--font-size-4xl--line-height:2.5rem;--font-size-5xl:3rem;--font-size-5xl--line-height:1;--font-size-6xl:3.75rem;--font-size-6xl--line-height:1;--font-size-7xl:4.5rem;--font-size-7xl--line-height:1;--font-size-8xl:6rem;--font-size-8xl--line-height:1;--font-size-9xl:8rem;--font-size-9xl--line-height:1;--letter-spacing-tighter:-.05em;--letter-spacing-tight:-.025em;--letter-spacing-normal:0em;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--letter-spacing-widest:.1em;--line-height-none:1;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--line-height-3:.75rem;--line-height-4:1rem;--line-height-5:1.25rem;--line-height-6:1.5rem;--line-height-7:1.75rem;--line-height-8:2rem;--line-height-9:2.25rem;--line-height-10:2.5rem;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--transition-timing-function-linear:linear;--transition-timing-function-in:cubic-bezier(.4,0,1,1);--transition-timing-function-out:cubic-bezier(0,0,.2,1);--transition-timing-function-in-out:cubic-bezier(.4,0,.2,1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{color:inherit;border-top-width:1px;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;background:0 0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;background:0 0}input:where(:not([type=button],[type=reset],[type=submit])),select,textarea{border:1px solid}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}summary{display:list-item}ol,ul,menu{list-style:none}textarea{resize:vertical}::placeholder{opacity:1;color:color-mix(in srgb,currentColor 50%,transparent)}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.static,.static\/Loader,.static\/Toast,.static\/index,.static\/types{position:static}.block{display:block}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.border{border-style:var(--tw-border-style);border-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:var(--transition-timing-function-in-out,cubic-bezier(.4,0,.2,1))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@property --tw-rotate-x{syntax:"<transform-function>";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"<transform-function>";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"<transform-function>";inherits:false;initial-value:rotate(0)}@property --tw-skew-x{syntax:"<transform-function>";inherits:false;initial-value:skew(0)}@property --tw-skew-y{syntax:"<transform-function>";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"<custom-ident>";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}.block.svelte-nl1om8{position:relative;margin:0;box-shadow:var(--block-shadow);border-width:var(--block-border-width);border-color:var(--block-border-color);border-radius:var(--block-radius);background:var(--block-background-fill);width:100%;line-height:var(--line-sm)}.block.border_focus.svelte-nl1om8{border-color:var(--color-accent)}.block.border_contrast.svelte-nl1om8{border-color:var(--body-text-color)}.padded.svelte-nl1om8{padding:var(--block-padding)}.hidden.svelte-nl1om8{display:none}.hide-container.svelte-nl1om8{margin:0;box-shadow:none;--block-border-width:0;background:transparent;padding:0;overflow:visible}div.svelte-1hnfib2{margin-bottom:var(--spacing-lg);color:var(--block-info-text-color);font-weight:var(--block-info-text-weight);font-size:var(--block-info-text-size);line-height:var(--line-sm)}span.has-info.svelte-22c38v{margin-bottom:var(--spacing-xs)}span.svelte-22c38v:not(.has-info){margin-bottom:var(--spacing-lg)}span.svelte-22c38v{display:inline-block;position:relative;z-index:var(--layer-4);border:solid var(--block-title-border-width) var(--block-title-border-color);border-radius:var(--block-title-radius);background:var(--block-title-background-fill);padding:var(--block-title-padding);color:var(--block-title-text-color);font-weight:var(--block-title-text-weight);font-size:var(--block-title-text-size);line-height:var(--line-sm)}.hide.svelte-22c38v{margin:0;height:0}label.svelte-9gxdi0{display:inline-flex;align-items:center;z-index:var(--layer-2);box-shadow:var(--block-label-shadow);border:var(--block-label-border-width) solid var(--border-color-primary);border-top:none;border-left:none;border-radius:var(--block-label-radius);background:var(--block-label-background-fill);padding:var(--block-label-padding);pointer-events:none;color:var(--block-label-text-color);font-weight:var(--block-label-text-weight);font-size:var(--block-label-text-size);line-height:var(--line-sm)}.gr-group label.svelte-9gxdi0{border-top-left-radius:0}label.float.svelte-9gxdi0{position:absolute;top:var(--block-label-margin);left:var(--block-label-margin)}label.svelte-9gxdi0:not(.float){position:static;margin-top:var(--block-label-margin);margin-left:var(--block-label-margin)}.hide.svelte-9gxdi0{height:0}span.svelte-9gxdi0{opacity:.8;margin-right:var(--size-2);width:calc(var(--block-label-text-size) - 1px);height:calc(var(--block-label-text-size) - 1px)}.hide-label.svelte-9gxdi0{box-shadow:none;border-width:0;background:transparent;overflow:visible}button.svelte-1lrphxw{display:flex;justify-content:center;align-items:center;gap:1px;z-index:var(--layer-2);border-radius:var(--radius-sm);color:var(--block-label-text-color);border:1px solid transparent}button[disabled].svelte-1lrphxw{opacity:.5;box-shadow:none}button[disabled].svelte-1lrphxw:hover{cursor:not-allowed}.padded.svelte-1lrphxw{padding:2px;background:var(--bg-color);box-shadow:var(--shadow-drop);border:1px solid var(--button-secondary-border-color)}button.svelte-1lrphxw:hover,button.highlight.svelte-1lrphxw{cursor:pointer;color:var(--color-accent)}.padded.svelte-1lrphxw:hover{border:2px solid var(--button-secondary-border-color-hover);padding:1px;color:var(--block-label-text-color)}span.svelte-1lrphxw{padding:0 1px;font-size:10px}div.svelte-1lrphxw{padding:2px;display:flex;align-items:flex-end}.small.svelte-1lrphxw{width:14px;height:14px}.medium.svelte-1lrphxw{width:20px;height:20px}.large.svelte-1lrphxw{width:22px;height:22px}.pending.svelte-1lrphxw{animation:svelte-1lrphxw-flash .5s infinite}@keyframes svelte-1lrphxw-flash{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.transparent.svelte-1lrphxw{background:transparent;border:none;box-shadow:none}.empty.svelte-3w3rth{display:flex;justify-content:center;align-items:center;margin-top:calc(0px - var(--size-6));height:var(--size-full)}.icon.svelte-3w3rth{opacity:.5;height:var(--size-5);color:var(--body-text-color)}.small.svelte-3w3rth{min-height:calc(var(--size-32) - 20px)}.large.svelte-3w3rth{min-height:calc(var(--size-64) - 20px)}.unpadded_box.svelte-3w3rth{margin-top:0}.small_parent.svelte-3w3rth{min-height:100%!important}.dropdown-arrow.svelte-145leq6{fill:currentColor}.wrap.svelte-kzcjhc{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:var(--size-60);color:var(--block-label-text-color);line-height:var(--line-md);height:100%;padding-top:var(--size-3)}.or.svelte-kzcjhc{color:var(--body-text-color-subdued);display:flex}.icon-wrap.svelte-kzcjhc{width:30px;margin-bottom:var(--spacing-lg)}@media (--screen-md){.wrap.svelte-kzcjhc{font-size:var(--text-lg)}}.hovered.svelte-kzcjhc{color:var(--color-accent)}div.svelte-q32hvf{border-top:1px solid transparent;display:flex;max-height:100%;justify-content:center;align-items:center;gap:var(--spacing-sm);height:auto;align-items:flex-end;color:var(--block-label-text-color);flex-shrink:0}.show_border.svelte-q32hvf{border-top:1px solid var(--block-border-color);margin-top:var(--spacing-xxl);box-shadow:var(--shadow-drop)}.source-selection.svelte-1jp3vgd{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border-color-primary);width:95%;bottom:0;left:0;right:0;margin-left:auto;margin-right:auto}.icon.svelte-1jp3vgd{width:22px;height:22px;margin:var(--spacing-lg) var(--spacing-xs);padding:var(--spacing-xs);color:var(--neutral-400);border-radius:var(--radius-md)}.selected.svelte-1jp3vgd{color:var(--color-accent)}.icon.svelte-1jp3vgd:hover,.icon.svelte-1jp3vgd:focus{color:var(--color-accent)}svg.svelte-43sxxs.svelte-43sxxs{width:var(--size-20);height:var(--size-20)}svg.svelte-43sxxs path.svelte-43sxxs{fill:var(--loader-color)}div.svelte-43sxxs.svelte-43sxxs{z-index:var(--layer-2)}.margin.svelte-43sxxs.svelte-43sxxs{margin:var(--size-4)}.wrap.svelte-1yk38uw.svelte-1yk38uw{display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:var(--layer-top);transition:opacity .1s ease-in-out;border-radius:var(--block-radius);background:var(--block-background-fill);padding:0 var(--size-6);max-height:var(--size-screen-h);overflow:hidden}.wrap.center.svelte-1yk38uw.svelte-1yk38uw{top:0;right:0;left:0}.wrap.default.svelte-1yk38uw.svelte-1yk38uw{inset:0}.hide.svelte-1yk38uw.svelte-1yk38uw{opacity:0;pointer-events:none}.generating.svelte-1yk38uw.svelte-1yk38uw{animation:svelte-1yk38uw-pulse 2s cubic-bezier(.4,0,.6,1) infinite;border:2px solid var(--color-accent);background:transparent;z-index:var(--layer-1)}.translucent.svelte-1yk38uw.svelte-1yk38uw{background:none}@keyframes svelte-1yk38uw-pulse{0%,to{opacity:1}50%{opacity:.5}}.loading.svelte-1yk38uw.svelte-1yk38uw{z-index:var(--layer-2);color:var(--body-text-color)}.eta-bar.svelte-1yk38uw.svelte-1yk38uw{position:absolute;inset:0;transform-origin:left;opacity:.8;z-index:var(--layer-1);transition:10ms;background:var(--background-fill-secondary)}.progress-bar-wrap.svelte-1yk38uw.svelte-1yk38uw{border:1px solid var(--border-color-primary);background:var(--background-fill-primary);width:55.5%;height:var(--size-4)}.progress-bar.svelte-1yk38uw.svelte-1yk38uw{transform-origin:left;background-color:var(--loader-color);width:var(--size-full);height:var(--size-full)}.progress-level.svelte-1yk38uw.svelte-1yk38uw{display:flex;flex-direction:column;align-items:center;gap:1;z-index:var(--layer-2);width:var(--size-full)}.progress-level-inner.svelte-1yk38uw.svelte-1yk38uw{margin:var(--size-2) auto;color:var(--body-text-color);font-size:var(--text-sm);font-family:var(--font-mono)}.meta-text.svelte-1yk38uw.svelte-1yk38uw{position:absolute;top:0;right:0;z-index:var(--layer-2);padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-family:var(--font-mono)}.meta-text-center.svelte-1yk38uw.svelte-1yk38uw{display:flex;position:absolute;top:0;right:0;justify-content:center;align-items:center;transform:translateY(var(--size-6));z-index:var(--layer-2);padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-family:var(--font-mono);text-align:center}.error.svelte-1yk38uw.svelte-1yk38uw{box-shadow:var(--shadow-drop);border:solid 1px var(--error-border-color);border-radius:var(--radius-full);background:var(--error-background-fill);padding-right:var(--size-4);padding-left:var(--size-4);color:var(--error-text-color);font-weight:var(--weight-semibold);font-size:var(--text-lg);line-height:var(--line-lg);font-family:var(--font)}.minimal.svelte-1yk38uw .progress-text.svelte-1yk38uw{background:var(--block-background-fill)}.border.svelte-1yk38uw.svelte-1yk38uw{border:1px solid var(--border-color-primary)}.clear-status.svelte-1yk38uw.svelte-1yk38uw{position:absolute;display:flex;top:var(--size-2);right:var(--size-2);justify-content:flex-end;gap:var(--spacing-sm);z-index:var(--layer-1)}.toast-body.svelte-solcu7{display:flex;position:relative;right:0;left:0;align-items:center;margin:var(--size-6) var(--size-4);margin:auto;border-radius:var(--container-radius);overflow:hidden;pointer-events:auto}.toast-body.error.svelte-solcu7{border:1px solid var(--color-red-700);background:var(--color-red-50)}.dark .toast-body.error.svelte-solcu7{border:1px solid var(--color-red-500);background-color:var(--color-grey-950)}.toast-body.warning.svelte-solcu7{border:1px solid var(--color-yellow-700);background:var(--color-yellow-50)}.dark .toast-body.warning.svelte-solcu7{border:1px solid var(--color-yellow-500);background-color:var(--color-grey-950)}.toast-body.info.svelte-solcu7{border:1px solid var(--color-grey-700);background:var(--color-grey-50)}.dark .toast-body.info.svelte-solcu7{border:1px solid var(--color-grey-500);background-color:var(--color-grey-950)}.toast-title.svelte-solcu7{display:flex;align-items:center;font-weight:var(--weight-bold);font-size:var(--text-lg);line-height:var(--line-sm);text-transform:capitalize}.toast-title.error.svelte-solcu7{color:var(--color-red-700)}.dark .toast-title.error.svelte-solcu7{color:var(--color-red-50)}.toast-title.warning.svelte-solcu7{color:var(--color-yellow-700)}.dark .toast-title.warning.svelte-solcu7{color:var(--color-yellow-50)}.toast-title.info.svelte-solcu7{color:var(--color-grey-700)}.dark .toast-title.info.svelte-solcu7{color:var(--color-grey-50)}.toast-close.svelte-solcu7{margin:0 var(--size-3);border-radius:var(--size-3);padding:0px var(--size-1-5);font-size:var(--size-5);line-height:var(--size-5)}.toast-close.error.svelte-solcu7{color:var(--color-red-700)}.dark .toast-close.error.svelte-solcu7{color:var(--color-red-500)}.toast-close.warning.svelte-solcu7{color:var(--color-yellow-700)}.dark .toast-close.warning.svelte-solcu7{color:var(--color-yellow-500)}.toast-close.info.svelte-solcu7{color:var(--color-grey-700)}.dark .toast-close.info.svelte-solcu7{color:var(--color-grey-500)}.toast-text.svelte-solcu7{font-size:var(--text-lg)}.toast-text.error.svelte-solcu7{color:var(--color-red-700)}.dark .toast-text.error.svelte-solcu7{color:var(--color-red-50)}.toast-text.warning.svelte-solcu7{color:var(--color-yellow-700)}.dark .toast-text.warning.svelte-solcu7{color:var(--color-yellow-50)}.toast-text.info.svelte-solcu7{color:var(--color-grey-700)}.dark .toast-text.info.svelte-solcu7{color:var(--color-grey-50)}.toast-details.svelte-solcu7{margin:var(--size-3) var(--size-3) var(--size-3) 0;width:100%}.toast-icon.svelte-solcu7{display:flex;position:absolute;position:relative;flex-shrink:0;justify-content:center;align-items:center;margin:var(--size-2);border-radius:var(--radius-full);padding:var(--size-1);padding-left:calc(var(--size-1) - 1px);width:35px;height:35px}.toast-icon.error.svelte-solcu7{color:var(--color-red-700)}.dark .toast-icon.error.svelte-solcu7{color:var(--color-red-500)}.toast-icon.warning.svelte-solcu7{color:var(--color-yellow-700)}.dark .toast-icon.warning.svelte-solcu7{color:var(--color-yellow-500)}.toast-icon.info.svelte-solcu7{color:var(--color-grey-700)}.dark .toast-icon.info.svelte-solcu7{color:var(--color-grey-500)}@keyframes svelte-solcu7-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.timer.svelte-solcu7{position:absolute;bottom:0;left:0;transform-origin:0 0;animation:svelte-solcu7-countdown 10s linear forwards;width:100%;height:var(--size-1)}.timer.error.svelte-solcu7{background:var(--color-red-700)}.dark .timer.error.svelte-solcu7{background:var(--color-red-500)}.timer.warning.svelte-solcu7{background:var(--color-yellow-700)}.dark .timer.warning.svelte-solcu7{background:var(--color-yellow-500)}.timer.info.svelte-solcu7{background:var(--color-grey-700)}.dark .timer.info.svelte-solcu7{background:var(--color-grey-500)}.toast-wrap.svelte-gatr8h{display:flex;position:fixed;top:var(--size-4);right:var(--size-4);flex-direction:column;align-items:end;gap:var(--size-2);z-index:var(--layer-top);width:calc(100% - var(--size-8))}@media (--screen-sm){.toast-wrap.svelte-gatr8h{width:calc(var(--size-96) + var(--size-10))}}.container.svelte-giydt1 img{width:100%;height:100%}.container.selected.svelte-giydt1.svelte-giydt1{border-color:var(--border-color-accent)}.container.table.svelte-giydt1.svelte-giydt1{margin:0 auto;border:2px solid var(--border-color-primary);border-radius:var(--radius-lg);overflow:hidden;width:var(--size-20);height:var(--size-20);object-fit:cover}.container.gallery.svelte-giydt1.svelte-giydt1{height:var(--size-20);max-height:var(--size-20);object-fit:cover}.container.svelte-giydt1 img.svelte-giydt1{object-fit:cover}.viewer.svelte-gu2pck{width:100%}div.viewer>canvas{position:initial!important;top:unset!important}
src/backend/gradio_rerun/templates/example/index.js ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const {
2
+ SvelteComponent: g,
3
+ append: v,
4
+ attr: c,
5
+ detach: o,
6
+ element: r,
7
+ empty: y,
8
+ init: b,
9
+ insert: m,
10
+ noop: u,
11
+ safe_not_equal: k,
12
+ src_url_equal: _,
13
+ toggle_class: f
14
+ } = window.__gradio__svelte__internal;
15
+ function d(a) {
16
+ let l, e, t;
17
+ return {
18
+ c() {
19
+ l = r("div"), e = r("img"), _(e.src, t = /*value*/
20
+ a[0].url) || c(e, "src", t), c(e, "alt", ""), c(e, "class", "svelte-giydt1"), c(l, "class", "container svelte-giydt1"), f(
21
+ l,
22
+ "table",
23
+ /*type*/
24
+ a[1] === "table"
25
+ ), f(
26
+ l,
27
+ "gallery",
28
+ /*type*/
29
+ a[1] === "gallery"
30
+ ), f(
31
+ l,
32
+ "selected",
33
+ /*selected*/
34
+ a[2]
35
+ );
36
+ },
37
+ m(i, n) {
38
+ m(i, l, n), v(l, e);
39
+ },
40
+ p(i, n) {
41
+ n & /*value*/
42
+ 1 && !_(e.src, t = /*value*/
43
+ i[0].url) && c(e, "src", t), n & /*type*/
44
+ 2 && f(
45
+ l,
46
+ "table",
47
+ /*type*/
48
+ i[1] === "table"
49
+ ), n & /*type*/
50
+ 2 && f(
51
+ l,
52
+ "gallery",
53
+ /*type*/
54
+ i[1] === "gallery"
55
+ ), n & /*selected*/
56
+ 4 && f(
57
+ l,
58
+ "selected",
59
+ /*selected*/
60
+ i[2]
61
+ );
62
+ },
63
+ d(i) {
64
+ i && o(l);
65
+ }
66
+ };
67
+ }
68
+ function p(a) {
69
+ let l, e = (
70
+ /*value*/
71
+ a[0] && d(a)
72
+ );
73
+ return {
74
+ c() {
75
+ e && e.c(), l = y();
76
+ },
77
+ m(t, i) {
78
+ e && e.m(t, i), m(t, l, i);
79
+ },
80
+ p(t, [i]) {
81
+ /*value*/
82
+ t[0] ? e ? e.p(t, i) : (e = d(t), e.c(), e.m(l.parentNode, l)) : e && (e.d(1), e = null);
83
+ },
84
+ i: u,
85
+ o: u,
86
+ d(t) {
87
+ t && o(l), e && e.d(t);
88
+ }
89
+ };
90
+ }
91
+ function q(a, l, e) {
92
+ let { value: t } = l, { type: i } = l, { selected: n = !1 } = l;
93
+ return a.$$set = (s) => {
94
+ "value" in s && e(0, t = s.value), "type" in s && e(1, i = s.type), "selected" in s && e(2, n = s.selected);
95
+ }, [t, i, n];
96
+ }
97
+ class w extends g {
98
+ constructor(l) {
99
+ super(), b(this, l, q, p, k, { value: 0, type: 1, selected: 2 });
100
+ }
101
+ }
102
+ export {
103
+ w as default
104
+ };
src/backend/gradio_rerun/templates/example/style.css ADDED
@@ -0,0 +1 @@
 
 
1
+ .container.svelte-giydt1 img{width:100%;height:100%}.container.selected.svelte-giydt1.svelte-giydt1{border-color:var(--border-color-accent)}.container.table.svelte-giydt1.svelte-giydt1{margin:0 auto;border:2px solid var(--border-color-primary);border-radius:var(--radius-lg);overflow:hidden;width:var(--size-20);height:var(--size-20);object-fit:cover}.container.gallery.svelte-giydt1.svelte-giydt1{height:var(--size-20);max-height:var(--size-20);object-fit:cover}.container.svelte-giydt1 img.svelte-giydt1{object-fit:cover}
src/demo/__init__.py ADDED
File without changes
src/demo/app.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from gradio_rerun import Rerun
3
+
4
+
5
+ example = Rerun().example_value()
6
+
7
+
8
+ def predict(url: str, file_path: str | list[str] | None):
9
+ if url:
10
+ return url
11
+ return file_path
12
+
13
+
14
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
15
+ with gr.Row():
16
+ with gr.Column():
17
+ with gr.Group():
18
+ file_path = gr.File(file_count="multiple", type="filepath")
19
+ url = gr.Text(
20
+ info="Or use a URL",
21
+ label="URL",
22
+ )
23
+ with gr.Column():
24
+ pass
25
+ btn = gr.Button("Run", scale=0)
26
+ with gr.Row():
27
+ rerun_viewer = Rerun(height=900)
28
+
29
+ inputs = [file_path, url]
30
+ outputs = [rerun_viewer]
31
+
32
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
33
+
34
+ gr.Examples(
35
+ examples=[
36
+ [
37
+ None,
38
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
39
+ ],
40
+ [
41
+ ["./examples/rgbd.rrd"],
42
+ None,
43
+ ],
44
+ [
45
+ ["./examples/rrt-star.rrd"],
46
+ None,
47
+ ],
48
+ [
49
+ ["./examples/structure_from_motion.rrd"],
50
+ None,
51
+ ],
52
+ [
53
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
54
+ None,
55
+ ],
56
+ ],
57
+ fn=predict,
58
+ inputs=inputs,
59
+ outputs=outputs,
60
+ run_on_click=True,
61
+ )
62
+
63
+ if __name__ == "__main__":
64
+ demo.launch()
src/demo/css.css ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ html {
2
+ font-family: Inter;
3
+ font-size: 16px;
4
+ font-weight: 400;
5
+ line-height: 1.5;
6
+ -webkit-text-size-adjust: 100%;
7
+ background: #fff;
8
+ color: #323232;
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ text-rendering: optimizeLegibility;
12
+ }
13
+
14
+ :root {
15
+ --space: 1;
16
+ --vspace: calc(var(--space) * 1rem);
17
+ --vspace-0: calc(3 * var(--space) * 1rem);
18
+ --vspace-1: calc(2 * var(--space) * 1rem);
19
+ --vspace-2: calc(1.5 * var(--space) * 1rem);
20
+ --vspace-3: calc(0.5 * var(--space) * 1rem);
21
+ }
22
+
23
+ .app {
24
+ max-width: 748px !important;
25
+ }
26
+
27
+ .prose p {
28
+ margin: var(--vspace) 0;
29
+ line-height: var(--vspace * 2);
30
+ font-size: 1rem;
31
+ }
32
+
33
+ code {
34
+ font-family: "Inconsolata", sans-serif;
35
+ font-size: 16px;
36
+ }
37
+
38
+ h1,
39
+ h1 code {
40
+ font-weight: 400;
41
+ line-height: calc(2.5 / var(--space) * var(--vspace));
42
+ }
43
+
44
+ h1 code {
45
+ background: none;
46
+ border: none;
47
+ letter-spacing: 0.05em;
48
+ padding-bottom: 5px;
49
+ position: relative;
50
+ padding: 0;
51
+ }
52
+
53
+ h2 {
54
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
55
+ line-height: 1em;
56
+ }
57
+
58
+ h3,
59
+ h3 code {
60
+ margin: var(--vspace-1) 0 var(--vspace-2) 0;
61
+ line-height: 1em;
62
+ }
63
+
64
+ h4,
65
+ h5,
66
+ h6 {
67
+ margin: var(--vspace-3) 0 var(--vspace-3) 0;
68
+ line-height: var(--vspace);
69
+ }
70
+
71
+ .bigtitle,
72
+ h1,
73
+ h1 code {
74
+ font-size: calc(8px * 4.5);
75
+ word-break: break-word;
76
+ }
77
+
78
+ .title,
79
+ h2,
80
+ h2 code {
81
+ font-size: calc(8px * 3.375);
82
+ font-weight: lighter;
83
+ word-break: break-word;
84
+ border: none;
85
+ background: none;
86
+ }
87
+
88
+ .subheading1,
89
+ h3,
90
+ h3 code {
91
+ font-size: calc(8px * 1.8);
92
+ font-weight: 600;
93
+ border: none;
94
+ background: none;
95
+ letter-spacing: 0.1em;
96
+ text-transform: uppercase;
97
+ }
98
+
99
+ h2 code {
100
+ padding: 0;
101
+ position: relative;
102
+ letter-spacing: 0.05em;
103
+ }
104
+
105
+ blockquote {
106
+ font-size: calc(8px * 1.1667);
107
+ font-style: italic;
108
+ line-height: calc(1.1667 * var(--vspace));
109
+ margin: var(--vspace-2) var(--vspace-2);
110
+ }
111
+
112
+ .subheading2,
113
+ h4 {
114
+ font-size: calc(8px * 1.4292);
115
+ text-transform: uppercase;
116
+ font-weight: 600;
117
+ }
118
+
119
+ .subheading3,
120
+ h5 {
121
+ font-size: calc(8px * 1.2917);
122
+ line-height: calc(1.2917 * var(--vspace));
123
+
124
+ font-weight: lighter;
125
+ text-transform: uppercase;
126
+ letter-spacing: 0.15em;
127
+ }
128
+
129
+ h6 {
130
+ font-size: calc(8px * 1.1667);
131
+ font-size: 1.1667em;
132
+ font-weight: normal;
133
+ font-style: italic;
134
+ font-family: "le-monde-livre-classic-byol", serif !important;
135
+ letter-spacing: 0px !important;
136
+ }
137
+
138
+ #start .md > *:first-child {
139
+ margin-top: 0;
140
+ }
141
+
142
+ h2 + h3 {
143
+ margin-top: 0;
144
+ }
145
+
146
+ .md hr {
147
+ border: none;
148
+ border-top: 1px solid var(--block-border-color);
149
+ margin: var(--vspace-2) 0 var(--vspace-2) 0;
150
+ }
151
+ .prose ul {
152
+ margin: var(--vspace-2) 0 var(--vspace-1) 0;
153
+ }
154
+
155
+ .gap {
156
+ gap: 0;
157
+ }
src/demo/requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ gradio_rerun
src/demo/space.py ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from app import demo as app
4
+ import os
5
+
6
+ _docs = {'Rerun': {'description': 'Creates an image component that can be used to upload images (as an input) or display images (as an output).', 'members': {'__init__': {'value': {'type': 'list[str] | None', 'default': 'None', 'description': 'A path or URL for the default value that Rerun component is going to take. If callable, the function will be called whenever the app loads to set the initial value of the component.'}, 'label': {'type': 'str | None', 'default': 'None', 'description': 'The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.'}, 'every': {'type': 'float | None', 'default': 'None', 'description': "If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. Queue must be enabled. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute."}, 'show_label': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will display label.'}, 'show_download_button': {'type': 'bool', 'default': 'True', 'description': 'If True, will display button to download image.'}, 'container': {'type': 'bool', 'default': 'True', 'description': 'If True, will place the component in a container - providing some extra padding around the border.'}, 'scale': {'type': 'int | None', 'default': 'None', 'description': 'relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.'}, 'min_width': {'type': 'int', 'default': '160', 'description': 'minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.'}, 'height': {'type': 'int | str', 'default': '640', 'description': 'height of component in pixels. If a string is provided, will be interpreted as a CSS value. If None, will be set to 640px.'}, 'interactive': {'type': 'bool | None', 'default': 'None', 'description': 'if True, will allow users to upload and edit an image; if False, can only be used to display images. If not provided, this is inferred based on whether the component is used as an input or output.'}, 'visible': {'type': 'bool', 'default': 'True', 'description': 'If False, component will be hidden.'}, 'elem_id': {'type': 'str | None', 'default': 'None', 'description': 'An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'elem_classes': {'type': 'list[str] | str | None', 'default': 'None', 'description': 'An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.'}, 'render': {'type': 'bool', 'default': 'True', 'description': 'If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.'}}, 'postprocess': {'value': {'type': 'list[gradio.data_classes.FileData]\n | gradio.data_classes.FileData\n | str\n | list[str]', 'description': 'Expects a `str` or `pathlib.Path` object containing the path to the image.'}}, 'preprocess': {'return': {'type': 'str | None', 'description': 'A `str` containing the path to the image.'}, 'value': None}}, 'events': {'clear': {'type': None, 'default': None, 'description': 'This listener is triggered when the user clears the Rerun using the X button for the component.'}, 'change': {'type': None, 'default': None, 'description': 'Triggered when the value of the Rerun changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input.'}, 'upload': {'type': None, 'default': None, 'description': 'This listener is triggered when the user uploads a file into the Rerun.'}}}, '__meta__': {'additional_interfaces': {}, 'user_fn_refs': {'Rerun': []}}}
7
+
8
+ abs_path = os.path.join(os.path.dirname(__file__), "css.css")
9
+
10
+ with gr.Blocks(
11
+ css=abs_path,
12
+ theme=gr.themes.Default(
13
+ font_mono=[
14
+ gr.themes.GoogleFont("Inconsolata"),
15
+ "monospace",
16
+ ],
17
+ ),
18
+ ) as demo:
19
+ gr.Markdown(
20
+ """
21
+ # `gradio_rerun`
22
+
23
+ <div style="display: flex; gap: 7px;">
24
+ <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange"> <a href="https://github.com/radames/gradio-rerun-viewer/issues" target="_blank"><img alt="Static Badge" src="https://img.shields.io/badge/Issues-white?logo=github&logoColor=black"></a>
25
+ </div>
26
+
27
+ Rerun viewer with Gradio
28
+ """, elem_classes=["md-custom"], header_links=True)
29
+ app.render()
30
+ gr.Markdown(
31
+ """
32
+ ## Installation
33
+
34
+ ```bash
35
+ pip install gradio_rerun
36
+ ```
37
+
38
+ ## Usage
39
+
40
+ ```python
41
+ import gradio as gr
42
+ from gradio_rerun import Rerun
43
+
44
+
45
+ example = Rerun().example_value()
46
+
47
+
48
+ def predict(url: str, file_path: str | list[str] | None):
49
+ if url:
50
+ return url
51
+ return file_path
52
+
53
+
54
+ with gr.Blocks(css=".gradio-container { max-width: unset!important; }") as demo:
55
+ with gr.Row():
56
+ with gr.Column():
57
+ with gr.Group():
58
+ file_path = gr.File(file_count="multiple", type="filepath")
59
+ url = gr.Text(
60
+ info="Or use a URL",
61
+ label="URL",
62
+ )
63
+ with gr.Column():
64
+ pass
65
+ btn = gr.Button("Run", scale=0)
66
+ with gr.Row():
67
+ rerun_viewer = Rerun(height=900)
68
+
69
+ inputs = [file_path, url]
70
+ outputs = [rerun_viewer]
71
+
72
+ gr.on([btn.click, file_path.upload], fn=predict, inputs=inputs, outputs=outputs)
73
+
74
+ gr.Examples(
75
+ examples=[
76
+ [
77
+ None,
78
+ "https://app.rerun.io/version/0.15.1/examples/detect_and_track_objects.rrd",
79
+ ],
80
+ [
81
+ ["./examples/rgbd.rrd"],
82
+ None,
83
+ ],
84
+ [
85
+ ["./examples/rrt-star.rrd"],
86
+ None,
87
+ ],
88
+ [
89
+ ["./examples/structure_from_motion.rrd"],
90
+ None,
91
+ ],
92
+ [
93
+ ["./examples/structure_from_motion.rrd", "./examples/rrt-star.rrd"],
94
+ None,
95
+ ],
96
+ ],
97
+ fn=predict,
98
+ inputs=inputs,
99
+ outputs=outputs,
100
+ run_on_click=True,
101
+ )
102
+
103
+ if __name__ == "__main__":
104
+ demo.launch()
105
+
106
+ ```
107
+ """, elem_classes=["md-custom"], header_links=True)
108
+
109
+
110
+ gr.Markdown("""
111
+ ## `Rerun`
112
+
113
+ ### Initialization
114
+ """, elem_classes=["md-custom"], header_links=True)
115
+
116
+ gr.ParamViewer(value=_docs["Rerun"]["members"]["__init__"], linkify=[])
117
+
118
+
119
+ gr.Markdown("### Events")
120
+ gr.ParamViewer(value=_docs["Rerun"]["events"], linkify=['Event'])
121
+
122
+
123
+
124
+
125
+ gr.Markdown("""
126
+
127
+ ### User function
128
+
129
+ The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
130
+
131
+ - When used as an Input, the component only impacts the input signature of the user function.
132
+ - When used as an output, the component only impacts the return signature of the user function.
133
+
134
+ The code snippet below is accurate in cases where the component is used as both an input and an output.
135
+
136
+ - **As input:** Is passed, a `str` containing the path to the image.
137
+ - **As output:** Should return, expects a `str` or `pathlib.Path` object containing the path to the image.
138
+
139
+ ```python
140
+ def predict(
141
+ value: str | None
142
+ ) -> list[gradio.data_classes.FileData]
143
+ | gradio.data_classes.FileData
144
+ | str
145
+ | list[str]:
146
+ return value
147
+ ```
148
+ """, elem_classes=["md-custom", "Rerun-user-fn"], header_links=True)
149
+
150
+
151
+
152
+
153
+ demo.load(None, js=r"""function() {
154
+ const refs = {};
155
+ const user_fn_refs = {
156
+ Rerun: [], };
157
+ requestAnimationFrame(() => {
158
+
159
+ Object.entries(user_fn_refs).forEach(([key, refs]) => {
160
+ if (refs.length > 0) {
161
+ const el = document.querySelector(`.${key}-user-fn`);
162
+ if (!el) return;
163
+ refs.forEach(ref => {
164
+ el.innerHTML = el.innerHTML.replace(
165
+ new RegExp("\\b"+ref+"\\b", "g"),
166
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
167
+ );
168
+ })
169
+ }
170
+ })
171
+
172
+ Object.entries(refs).forEach(([key, refs]) => {
173
+ if (refs.length > 0) {
174
+ const el = document.querySelector(`.${key}`);
175
+ if (!el) return;
176
+ refs.forEach(ref => {
177
+ el.innerHTML = el.innerHTML.replace(
178
+ new RegExp("\\b"+ref+"\\b", "g"),
179
+ `<a href="#h-${ref.toLowerCase()}">${ref}</a>`
180
+ );
181
+ })
182
+ }
183
+ })
184
+ })
185
+ }
186
+
187
+ """)
188
+
189
+ demo.launch()
src/examples/rgbd.rrd ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:23a374ab6f973424d2e6d40d54c90a5898c4ae4c3909987167fc4e349e9f7b35
3
+ size 38623309
src/examples/rrt-star.rrd ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d26f9f5343552292208d232f2480ac24a7a9cebb331ba8ce4fa8ef3a44f5c283
3
+ size 10487798
src/examples/structure_from_motion.rrd ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c6b4aae56c08714b4aa230cb2c75682eef8e2e6de1c2ea636e15e4eca0f9e26f
3
+ size 7175301
src/frontend/Example.svelte ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import type { FileData } from "@gradio/client";
3
+
4
+ export let value: null | FileData;
5
+ export let type: "gallery" | "table";
6
+ export let selected = false;
7
+ </script>
8
+
9
+ {#if value}
10
+ <div
11
+ class="container"
12
+ class:table={type === "table"}
13
+ class:gallery={type === "gallery"}
14
+ class:selected
15
+ >
16
+ <img src={value.url} alt="" />
17
+ </div>
18
+ {/if}
19
+
20
+ <style>
21
+ .container :global(img) {
22
+ width: 100%;
23
+ height: 100%;
24
+ }
25
+
26
+ .container.selected {
27
+ border-color: var(--border-color-accent);
28
+ }
29
+
30
+ .container.table {
31
+ margin: 0 auto;
32
+ border: 2px solid var(--border-color-primary);
33
+ border-radius: var(--radius-lg);
34
+ overflow: hidden;
35
+ width: var(--size-20);
36
+ height: var(--size-20);
37
+ object-fit: cover;
38
+ }
39
+
40
+ .container.gallery {
41
+ height: var(--size-20);
42
+ max-height: var(--size-20);
43
+ object-fit: cover;
44
+ }
45
+ .container img {
46
+ object-fit: cover;
47
+ }
48
+ </style>
src/frontend/Index.svelte ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <svelte:options accessors={true} />
2
+
3
+ <script context="module" lang="ts">
4
+ export { default as BaseExample } from "./Example.svelte";
5
+ </script>
6
+
7
+ <script lang="ts">
8
+ import "./app.css";
9
+ import type { Gradio } from "@gradio/utils";
10
+
11
+ import { WebViewer } from "@rerun-io/web-viewer";
12
+ import { onMount } from "svelte";
13
+
14
+ import { Block } from "@gradio/atoms";
15
+ import { StatusTracker } from "@gradio/statustracker";
16
+ import type { FileData } from "@gradio/client";
17
+ import type { LoadingStatus } from "@gradio/statustracker";
18
+
19
+ export let elem_id = "";
20
+ export let elem_classes: string[] = [];
21
+ export let visible = true;
22
+ export let height: number | string = 640;
23
+ export let value: null | FileData[] | string[] = null;
24
+ export let container = true;
25
+ export let scale: number | null = null;
26
+ export let min_width: number | undefined = undefined;
27
+ export let loading_status: LoadingStatus;
28
+ export let interactive: boolean;
29
+
30
+ export let gradio: Gradio<{
31
+ change: never;
32
+ upload: never;
33
+ clear: never;
34
+ clear_status: LoadingStatus;
35
+ }>;
36
+
37
+ $: height = typeof height === "number" ? `${height}px` : height;
38
+
39
+ $: value, gradio.dispatch("change");
40
+ let dragging: boolean;
41
+ let rr: WebViewer;
42
+ let ref: HTMLDivElement;
43
+
44
+ onMount(() => {
45
+ rr = new WebViewer();
46
+ rr.start(undefined, ref);
47
+ return () => rr.stop();
48
+ });
49
+
50
+ $: if (value !== null && Array.isArray(value)) {
51
+ for (const file of value) {
52
+ if (typeof file !== "string") {
53
+ if (file.url) {
54
+ rr.open(file.url);
55
+ }
56
+ } else {
57
+ rr.open(file);
58
+ }
59
+ }
60
+ }
61
+ </script>
62
+
63
+ {#if !interactive}
64
+ <Block
65
+ {visible}
66
+ variant={"solid"}
67
+ border_mode={dragging ? "focus" : "base"}
68
+ padding={false}
69
+ {elem_id}
70
+ {elem_classes}
71
+ allow_overflow={false}
72
+ {container}
73
+ {scale}
74
+ {min_width}
75
+ >
76
+ <StatusTracker
77
+ autoscroll={gradio.autoscroll}
78
+ i18n={gradio.i18n}
79
+ {...loading_status}
80
+ on:clear_status={() => gradio.dispatch("clear_status", loading_status)}
81
+ />
82
+ <div class="viewer" bind:this={ref} style:height />
83
+ </Block>
84
+ {/if}
85
+
86
+ <style>
87
+ .viewer {
88
+ width: 100%;
89
+ }
90
+
91
+ :global(div.viewer > canvas) {
92
+ position: initial !important;
93
+ top: unset !important;
94
+ }
95
+ </style>
src/frontend/app.css ADDED
@@ -0,0 +1 @@
 
 
1
+ @import "tailwindcss";
src/frontend/gradio.config.js ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import tailwindcss from "@tailwindcss/vite";
2
+ import wasm from "vite-plugin-wasm";
3
+
4
+ export default {
5
+ plugins: [wasm(), tailwindcss()],
6
+ svelte: {
7
+ preprocess: [],
8
+ },
9
+ };
src/frontend/package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
src/frontend/package.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "gradio_rerun",
3
+ "version": "0.4.0",
4
+ "description": "Gradio UI packages",
5
+ "type": "module",
6
+ "author": "",
7
+ "license": "ISC",
8
+ "private": false,
9
+ "dependencies": {
10
+ "@gradio/atoms": "0.7.1",
11
+ "@gradio/client": "0.17.0",
12
+ "@gradio/icons": "0.4.0",
13
+ "@gradio/statustracker": "0.5.0",
14
+ "@gradio/upload": "0.9.0",
15
+ "@gradio/utils": "0.4.0",
16
+ "@gradio/wasm": "0.10.0",
17
+ "@rerun-io/web-viewer": "^0.15.1",
18
+ "cropperjs": "^1.5.12",
19
+ "lazy-brush": "^1.0.1",
20
+ "resize-observer-polyfill": "^1.5.1",
21
+ "vite-plugin-wasm": "^3.3.0"
22
+ },
23
+ "devDependencies": {
24
+ "@gradio/preview": "0.8.3",
25
+ "@tailwindcss/vite": "^4.0.0-alpha.14",
26
+ "tailwindcss": "^4.0.0-alpha.14"
27
+ },
28
+ "main_changeset": true,
29
+ "main": "./Index.svelte",
30
+ "exports": {
31
+ ".": "./Index.svelte",
32
+ "./example": "./Example.svelte",
33
+ "./package.json": "./package.json"
34
+ }
35
+ }
src/frontend/pnpm-lock.yaml ADDED
@@ -0,0 +1,2769 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ lockfileVersion: '6.0'
2
+
3
+ settings:
4
+ autoInstallPeers: true
5
+ excludeLinksFromLockfile: false
6
+
7
+ dependencies:
8
+ '@gradio/atoms':
9
+ specifier: 0.7.1
10
+ version: 0.7.1(svelte@4.2.15)
11
+ '@gradio/client':
12
+ specifier: 0.17.0
13
+ version: 0.17.0
14
+ '@gradio/icons':
15
+ specifier: 0.4.0
16
+ version: 0.4.0
17
+ '@gradio/statustracker':
18
+ specifier: 0.5.0
19
+ version: 0.5.0(svelte@4.2.15)
20
+ '@gradio/upload':
21
+ specifier: 0.9.0
22
+ version: 0.9.0(svelte@4.2.15)
23
+ '@gradio/utils':
24
+ specifier: 0.4.0
25
+ version: 0.4.0(svelte@4.2.15)
26
+ '@gradio/wasm':
27
+ specifier: 0.10.0
28
+ version: 0.10.0
29
+ cropperjs:
30
+ specifier: ^1.5.12
31
+ version: 1.6.2
32
+ lazy-brush:
33
+ specifier: ^1.0.1
34
+ version: 1.0.1
35
+ resize-observer-polyfill:
36
+ specifier: ^1.5.1
37
+ version: 1.5.1
38
+
39
+ devDependencies:
40
+ '@gradio/preview':
41
+ specifier: 0.8.3
42
+ version: 0.8.3(postcss@8.4.38)(svelte@4.2.15)
43
+ '@tailwindcss/vite':
44
+ specifier: 4.0.0-alpha.14
45
+ version: 4.0.0-alpha.14(vite@5.2.10)
46
+ tailwindcss:
47
+ specifier: 4.0.0-alpha.14
48
+ version: 4.0.0-alpha.14
49
+
50
+ packages:
51
+
52
+ /@adobe/css-tools@4.3.3:
53
+ resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==}
54
+ dev: true
55
+
56
+ /@ampproject/remapping@2.3.0:
57
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
58
+ engines: {node: '>=6.0.0'}
59
+ dependencies:
60
+ '@jridgewell/gen-mapping': 0.3.5
61
+ '@jridgewell/trace-mapping': 0.3.25
62
+
63
+ /@babel/helper-string-parser@7.24.1:
64
+ resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
65
+ engines: {node: '>=6.9.0'}
66
+ dev: true
67
+
68
+ /@babel/helper-validator-identifier@7.22.20:
69
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
70
+ engines: {node: '>=6.9.0'}
71
+ dev: true
72
+
73
+ /@babel/parser@7.24.4:
74
+ resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
75
+ engines: {node: '>=6.0.0'}
76
+ hasBin: true
77
+ dependencies:
78
+ '@babel/types': 7.24.0
79
+ dev: true
80
+
81
+ /@babel/types@7.24.0:
82
+ resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
83
+ engines: {node: '>=6.9.0'}
84
+ dependencies:
85
+ '@babel/helper-string-parser': 7.24.1
86
+ '@babel/helper-validator-identifier': 7.22.20
87
+ to-fast-properties: 2.0.0
88
+ dev: true
89
+
90
+ /@esbuild/aix-ppc64@0.19.12:
91
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
92
+ engines: {node: '>=12'}
93
+ cpu: [ppc64]
94
+ os: [aix]
95
+ requiresBuild: true
96
+ dev: false
97
+ optional: true
98
+
99
+ /@esbuild/aix-ppc64@0.20.2:
100
+ resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
101
+ engines: {node: '>=12'}
102
+ cpu: [ppc64]
103
+ os: [aix]
104
+ requiresBuild: true
105
+ dev: true
106
+ optional: true
107
+
108
+ /@esbuild/android-arm64@0.19.12:
109
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
110
+ engines: {node: '>=12'}
111
+ cpu: [arm64]
112
+ os: [android]
113
+ requiresBuild: true
114
+ dev: false
115
+ optional: true
116
+
117
+ /@esbuild/android-arm64@0.20.2:
118
+ resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
119
+ engines: {node: '>=12'}
120
+ cpu: [arm64]
121
+ os: [android]
122
+ requiresBuild: true
123
+ dev: true
124
+ optional: true
125
+
126
+ /@esbuild/android-arm@0.19.12:
127
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
128
+ engines: {node: '>=12'}
129
+ cpu: [arm]
130
+ os: [android]
131
+ requiresBuild: true
132
+ dev: false
133
+ optional: true
134
+
135
+ /@esbuild/android-arm@0.20.2:
136
+ resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
137
+ engines: {node: '>=12'}
138
+ cpu: [arm]
139
+ os: [android]
140
+ requiresBuild: true
141
+ dev: true
142
+ optional: true
143
+
144
+ /@esbuild/android-x64@0.19.12:
145
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
146
+ engines: {node: '>=12'}
147
+ cpu: [x64]
148
+ os: [android]
149
+ requiresBuild: true
150
+ dev: false
151
+ optional: true
152
+
153
+ /@esbuild/android-x64@0.20.2:
154
+ resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
155
+ engines: {node: '>=12'}
156
+ cpu: [x64]
157
+ os: [android]
158
+ requiresBuild: true
159
+ dev: true
160
+ optional: true
161
+
162
+ /@esbuild/darwin-arm64@0.19.12:
163
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
164
+ engines: {node: '>=12'}
165
+ cpu: [arm64]
166
+ os: [darwin]
167
+ requiresBuild: true
168
+ dev: false
169
+ optional: true
170
+
171
+ /@esbuild/darwin-arm64@0.20.2:
172
+ resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
173
+ engines: {node: '>=12'}
174
+ cpu: [arm64]
175
+ os: [darwin]
176
+ requiresBuild: true
177
+ dev: true
178
+ optional: true
179
+
180
+ /@esbuild/darwin-x64@0.19.12:
181
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
182
+ engines: {node: '>=12'}
183
+ cpu: [x64]
184
+ os: [darwin]
185
+ requiresBuild: true
186
+ dev: false
187
+ optional: true
188
+
189
+ /@esbuild/darwin-x64@0.20.2:
190
+ resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
191
+ engines: {node: '>=12'}
192
+ cpu: [x64]
193
+ os: [darwin]
194
+ requiresBuild: true
195
+ dev: true
196
+ optional: true
197
+
198
+ /@esbuild/freebsd-arm64@0.19.12:
199
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
200
+ engines: {node: '>=12'}
201
+ cpu: [arm64]
202
+ os: [freebsd]
203
+ requiresBuild: true
204
+ dev: false
205
+ optional: true
206
+
207
+ /@esbuild/freebsd-arm64@0.20.2:
208
+ resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
209
+ engines: {node: '>=12'}
210
+ cpu: [arm64]
211
+ os: [freebsd]
212
+ requiresBuild: true
213
+ dev: true
214
+ optional: true
215
+
216
+ /@esbuild/freebsd-x64@0.19.12:
217
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
218
+ engines: {node: '>=12'}
219
+ cpu: [x64]
220
+ os: [freebsd]
221
+ requiresBuild: true
222
+ dev: false
223
+ optional: true
224
+
225
+ /@esbuild/freebsd-x64@0.20.2:
226
+ resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
227
+ engines: {node: '>=12'}
228
+ cpu: [x64]
229
+ os: [freebsd]
230
+ requiresBuild: true
231
+ dev: true
232
+ optional: true
233
+
234
+ /@esbuild/linux-arm64@0.19.12:
235
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
236
+ engines: {node: '>=12'}
237
+ cpu: [arm64]
238
+ os: [linux]
239
+ requiresBuild: true
240
+ dev: false
241
+ optional: true
242
+
243
+ /@esbuild/linux-arm64@0.20.2:
244
+ resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
245
+ engines: {node: '>=12'}
246
+ cpu: [arm64]
247
+ os: [linux]
248
+ requiresBuild: true
249
+ dev: true
250
+ optional: true
251
+
252
+ /@esbuild/linux-arm@0.19.12:
253
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
254
+ engines: {node: '>=12'}
255
+ cpu: [arm]
256
+ os: [linux]
257
+ requiresBuild: true
258
+ dev: false
259
+ optional: true
260
+
261
+ /@esbuild/linux-arm@0.20.2:
262
+ resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
263
+ engines: {node: '>=12'}
264
+ cpu: [arm]
265
+ os: [linux]
266
+ requiresBuild: true
267
+ dev: true
268
+ optional: true
269
+
270
+ /@esbuild/linux-ia32@0.19.12:
271
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
272
+ engines: {node: '>=12'}
273
+ cpu: [ia32]
274
+ os: [linux]
275
+ requiresBuild: true
276
+ dev: false
277
+ optional: true
278
+
279
+ /@esbuild/linux-ia32@0.20.2:
280
+ resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
281
+ engines: {node: '>=12'}
282
+ cpu: [ia32]
283
+ os: [linux]
284
+ requiresBuild: true
285
+ dev: true
286
+ optional: true
287
+
288
+ /@esbuild/linux-loong64@0.14.54:
289
+ resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
290
+ engines: {node: '>=12'}
291
+ cpu: [loong64]
292
+ os: [linux]
293
+ requiresBuild: true
294
+ dev: true
295
+ optional: true
296
+
297
+ /@esbuild/linux-loong64@0.19.12:
298
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
299
+ engines: {node: '>=12'}
300
+ cpu: [loong64]
301
+ os: [linux]
302
+ requiresBuild: true
303
+ dev: false
304
+ optional: true
305
+
306
+ /@esbuild/linux-loong64@0.20.2:
307
+ resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
308
+ engines: {node: '>=12'}
309
+ cpu: [loong64]
310
+ os: [linux]
311
+ requiresBuild: true
312
+ dev: true
313
+ optional: true
314
+
315
+ /@esbuild/linux-mips64el@0.19.12:
316
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
317
+ engines: {node: '>=12'}
318
+ cpu: [mips64el]
319
+ os: [linux]
320
+ requiresBuild: true
321
+ dev: false
322
+ optional: true
323
+
324
+ /@esbuild/linux-mips64el@0.20.2:
325
+ resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
326
+ engines: {node: '>=12'}
327
+ cpu: [mips64el]
328
+ os: [linux]
329
+ requiresBuild: true
330
+ dev: true
331
+ optional: true
332
+
333
+ /@esbuild/linux-ppc64@0.19.12:
334
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
335
+ engines: {node: '>=12'}
336
+ cpu: [ppc64]
337
+ os: [linux]
338
+ requiresBuild: true
339
+ dev: false
340
+ optional: true
341
+
342
+ /@esbuild/linux-ppc64@0.20.2:
343
+ resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
344
+ engines: {node: '>=12'}
345
+ cpu: [ppc64]
346
+ os: [linux]
347
+ requiresBuild: true
348
+ dev: true
349
+ optional: true
350
+
351
+ /@esbuild/linux-riscv64@0.19.12:
352
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
353
+ engines: {node: '>=12'}
354
+ cpu: [riscv64]
355
+ os: [linux]
356
+ requiresBuild: true
357
+ dev: false
358
+ optional: true
359
+
360
+ /@esbuild/linux-riscv64@0.20.2:
361
+ resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
362
+ engines: {node: '>=12'}
363
+ cpu: [riscv64]
364
+ os: [linux]
365
+ requiresBuild: true
366
+ dev: true
367
+ optional: true
368
+
369
+ /@esbuild/linux-s390x@0.19.12:
370
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
371
+ engines: {node: '>=12'}
372
+ cpu: [s390x]
373
+ os: [linux]
374
+ requiresBuild: true
375
+ dev: false
376
+ optional: true
377
+
378
+ /@esbuild/linux-s390x@0.20.2:
379
+ resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
380
+ engines: {node: '>=12'}
381
+ cpu: [s390x]
382
+ os: [linux]
383
+ requiresBuild: true
384
+ dev: true
385
+ optional: true
386
+
387
+ /@esbuild/linux-x64@0.19.12:
388
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
389
+ engines: {node: '>=12'}
390
+ cpu: [x64]
391
+ os: [linux]
392
+ requiresBuild: true
393
+ dev: false
394
+ optional: true
395
+
396
+ /@esbuild/linux-x64@0.20.2:
397
+ resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
398
+ engines: {node: '>=12'}
399
+ cpu: [x64]
400
+ os: [linux]
401
+ requiresBuild: true
402
+ dev: true
403
+ optional: true
404
+
405
+ /@esbuild/netbsd-x64@0.19.12:
406
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
407
+ engines: {node: '>=12'}
408
+ cpu: [x64]
409
+ os: [netbsd]
410
+ requiresBuild: true
411
+ dev: false
412
+ optional: true
413
+
414
+ /@esbuild/netbsd-x64@0.20.2:
415
+ resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
416
+ engines: {node: '>=12'}
417
+ cpu: [x64]
418
+ os: [netbsd]
419
+ requiresBuild: true
420
+ dev: true
421
+ optional: true
422
+
423
+ /@esbuild/openbsd-x64@0.19.12:
424
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
425
+ engines: {node: '>=12'}
426
+ cpu: [x64]
427
+ os: [openbsd]
428
+ requiresBuild: true
429
+ dev: false
430
+ optional: true
431
+
432
+ /@esbuild/openbsd-x64@0.20.2:
433
+ resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
434
+ engines: {node: '>=12'}
435
+ cpu: [x64]
436
+ os: [openbsd]
437
+ requiresBuild: true
438
+ dev: true
439
+ optional: true
440
+
441
+ /@esbuild/sunos-x64@0.19.12:
442
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
443
+ engines: {node: '>=12'}
444
+ cpu: [x64]
445
+ os: [sunos]
446
+ requiresBuild: true
447
+ dev: false
448
+ optional: true
449
+
450
+ /@esbuild/sunos-x64@0.20.2:
451
+ resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
452
+ engines: {node: '>=12'}
453
+ cpu: [x64]
454
+ os: [sunos]
455
+ requiresBuild: true
456
+ dev: true
457
+ optional: true
458
+
459
+ /@esbuild/win32-arm64@0.19.12:
460
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
461
+ engines: {node: '>=12'}
462
+ cpu: [arm64]
463
+ os: [win32]
464
+ requiresBuild: true
465
+ dev: false
466
+ optional: true
467
+
468
+ /@esbuild/win32-arm64@0.20.2:
469
+ resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
470
+ engines: {node: '>=12'}
471
+ cpu: [arm64]
472
+ os: [win32]
473
+ requiresBuild: true
474
+ dev: true
475
+ optional: true
476
+
477
+ /@esbuild/win32-ia32@0.19.12:
478
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
479
+ engines: {node: '>=12'}
480
+ cpu: [ia32]
481
+ os: [win32]
482
+ requiresBuild: true
483
+ dev: false
484
+ optional: true
485
+
486
+ /@esbuild/win32-ia32@0.20.2:
487
+ resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
488
+ engines: {node: '>=12'}
489
+ cpu: [ia32]
490
+ os: [win32]
491
+ requiresBuild: true
492
+ dev: true
493
+ optional: true
494
+
495
+ /@esbuild/win32-x64@0.19.12:
496
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
497
+ engines: {node: '>=12'}
498
+ cpu: [x64]
499
+ os: [win32]
500
+ requiresBuild: true
501
+ dev: false
502
+ optional: true
503
+
504
+ /@esbuild/win32-x64@0.20.2:
505
+ resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
506
+ engines: {node: '>=12'}
507
+ cpu: [x64]
508
+ os: [win32]
509
+ requiresBuild: true
510
+ dev: true
511
+ optional: true
512
+
513
+ /@formatjs/ecma402-abstract@1.11.4:
514
+ resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==}
515
+ dependencies:
516
+ '@formatjs/intl-localematcher': 0.2.25
517
+ tslib: 2.6.2
518
+ dev: false
519
+
520
+ /@formatjs/fast-memoize@1.2.1:
521
+ resolution: {integrity: sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==}
522
+ dependencies:
523
+ tslib: 2.6.2
524
+ dev: false
525
+
526
+ /@formatjs/icu-messageformat-parser@2.1.0:
527
+ resolution: {integrity: sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==}
528
+ dependencies:
529
+ '@formatjs/ecma402-abstract': 1.11.4
530
+ '@formatjs/icu-skeleton-parser': 1.3.6
531
+ tslib: 2.6.2
532
+ dev: false
533
+
534
+ /@formatjs/icu-skeleton-parser@1.3.6:
535
+ resolution: {integrity: sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==}
536
+ dependencies:
537
+ '@formatjs/ecma402-abstract': 1.11.4
538
+ tslib: 2.6.2
539
+ dev: false
540
+
541
+ /@formatjs/intl-localematcher@0.2.25:
542
+ resolution: {integrity: sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==}
543
+ dependencies:
544
+ tslib: 2.6.2
545
+ dev: false
546
+
547
+ /@gradio/atoms@0.7.1(svelte@4.2.15):
548
+ resolution: {integrity: sha512-tdQ1B9CYCNBodj1jKRG9aiNdzsQ2w8EszqsMcMxaoMrUNVU3OvBCxGXPNba86mXveP/bDnVoDfk/I9ef+ZYb1Q==}
549
+ dependencies:
550
+ '@gradio/icons': 0.4.0
551
+ '@gradio/utils': 0.4.0(svelte@4.2.15)
552
+ transitivePeerDependencies:
553
+ - svelte
554
+ dev: false
555
+
556
+ /@gradio/client@0.17.0:
557
+ resolution: {integrity: sha512-1f00UtwOLzj+pfHzyA8Avp+xR3/7O5I/YXgseq3gHRxjeY1kjwXQ4eXi9Ks8f6IguHSb7hFOW2SnFLjBbaz5bQ==}
558
+ engines: {node: '>=18.0.0'}
559
+ dependencies:
560
+ bufferutil: 4.0.8
561
+ semiver: 1.1.0
562
+ typescript: 5.4.5
563
+ ws: 8.16.0(bufferutil@4.0.8)
564
+ transitivePeerDependencies:
565
+ - utf-8-validate
566
+ dev: false
567
+
568
+ /@gradio/column@0.1.1:
569
+ resolution: {integrity: sha512-0+7Nf/PGmbaz4jQ5cxIxneqv7V+iknT17sknL7w1a5pB6B8aqzogkwe8GdACRkq1MjWQb8wZiaJFFJZKnioLhg==}
570
+ dev: false
571
+
572
+ /@gradio/icons@0.4.0:
573
+ resolution: {integrity: sha512-yQqmgNql1HzN/+NG6EfRBWTyXA7zxKwtKYfP8jiVo1LZXlfd+oUt8pSrUfLGiGgqTsoMUXsbmdQpifVVg9U6yA==}
574
+ dev: false
575
+
576
+ /@gradio/preview@0.8.3(postcss@8.4.38)(svelte@4.2.15):
577
+ resolution: {integrity: sha512-HY6hMzfkvo4lL2C2nyiQDfCtFSOWLTjjhFFlT168t57MCsHKAEJlc96s3vK2O3KsCQbFYp9HGdkFr+Z8f2PYIQ==}
578
+ dependencies:
579
+ '@originjs/vite-plugin-commonjs': 1.0.3
580
+ '@rollup/plugin-sucrase': 5.0.2
581
+ '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.2.10)
582
+ '@types/which': 3.0.3
583
+ coffeescript: 2.7.0
584
+ lightningcss: 1.24.1
585
+ pug: 3.0.2
586
+ sass: 1.75.0
587
+ stylus: 0.63.0
588
+ sucrase: 3.35.0
589
+ sugarss: 4.0.1(postcss@8.4.38)
590
+ svelte-hmr: 0.16.0(svelte@4.2.15)
591
+ svelte-preprocess: 5.1.4(coffeescript@2.7.0)(postcss@8.4.38)(pug@3.0.2)(sass@1.75.0)(stylus@0.63.0)(sugarss@4.0.1)(svelte@4.2.15)(typescript@5.4.5)
592
+ typescript: 5.4.5
593
+ vite: 5.2.10(lightningcss@1.24.1)(sass@1.75.0)(stylus@0.63.0)(sugarss@4.0.1)
594
+ which: 4.0.0
595
+ yootils: 0.3.1
596
+ transitivePeerDependencies:
597
+ - '@babel/core'
598
+ - '@types/node'
599
+ - less
600
+ - postcss
601
+ - postcss-load-config
602
+ - rollup
603
+ - supports-color
604
+ - svelte
605
+ - terser
606
+ dev: true
607
+
608
+ /@gradio/statustracker@0.5.0(svelte@4.2.15):
609
+ resolution: {integrity: sha512-qjnEDWc1snf7ExNJMa/qcpAK6FBu64YFA815vV0THAcdvuFSCQa/nocC/+K7QF07r7Nl4ThsBtK68TiC4V4XbA==}
610
+ dependencies:
611
+ '@gradio/atoms': 0.7.1(svelte@4.2.15)
612
+ '@gradio/column': 0.1.1
613
+ '@gradio/icons': 0.4.0
614
+ '@gradio/utils': 0.4.0(svelte@4.2.15)
615
+ transitivePeerDependencies:
616
+ - svelte
617
+ dev: false
618
+
619
+ /@gradio/theme@0.2.2:
620
+ resolution: {integrity: sha512-aOjh7+BWK8WRpQBC2leFZBLyek6D0GO9KkWjystoZRwH1r+l6eBli2BDPPO/ljpJChO3HsOFpJsWA97JjQNe2g==}
621
+ dev: false
622
+
623
+ /@gradio/upload@0.9.0(svelte@4.2.15):
624
+ resolution: {integrity: sha512-OBvpb1vQWRNHOrxjxDuJhwx4GqVfETJchqiMGio/tW2bLuN/cricp0uttanG6TJTvPVb9Y5QcXc7adbDhQVauQ==}
625
+ dependencies:
626
+ '@gradio/atoms': 0.7.1(svelte@4.2.15)
627
+ '@gradio/client': 0.17.0
628
+ '@gradio/icons': 0.4.0
629
+ '@gradio/utils': 0.4.0(svelte@4.2.15)
630
+ '@gradio/wasm': 0.10.0
631
+ transitivePeerDependencies:
632
+ - svelte
633
+ - utf-8-validate
634
+ dev: false
635
+
636
+ /@gradio/utils@0.4.0(svelte@4.2.15):
637
+ resolution: {integrity: sha512-YTxuxQiKnHuTD90yybB+0mOnbE9gNZYLA7cNePP71pMuxWcdQrZdd7Zz1z3vzfpJ86C5cIx3K+rH3P+8weZlfg==}
638
+ dependencies:
639
+ '@gradio/theme': 0.2.2
640
+ svelte-i18n: 3.7.4(svelte@4.2.15)
641
+ transitivePeerDependencies:
642
+ - svelte
643
+ dev: false
644
+
645
+ /@gradio/wasm@0.10.0:
646
+ resolution: {integrity: sha512-ephuiuimvMad6KzNPz/3OdnjgE5wsJdVfAAqu+J0qloetbH42LfeRLsVe5WqGo2WpjzXq5MC8I8MJ7lpQMhUpw==}
647
+ dependencies:
648
+ '@types/path-browserify': 1.0.2
649
+ path-browserify: 1.0.1
650
+ dev: false
651
+
652
+ /@isaacs/cliui@8.0.2:
653
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
654
+ engines: {node: '>=12'}
655
+ dependencies:
656
+ string-width: 5.1.2
657
+ string-width-cjs: /string-width@4.2.3
658
+ strip-ansi: 7.1.0
659
+ strip-ansi-cjs: /strip-ansi@6.0.1
660
+ wrap-ansi: 8.1.0
661
+ wrap-ansi-cjs: /wrap-ansi@7.0.0
662
+ dev: true
663
+
664
+ /@jridgewell/gen-mapping@0.3.5:
665
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
666
+ engines: {node: '>=6.0.0'}
667
+ dependencies:
668
+ '@jridgewell/set-array': 1.2.1
669
+ '@jridgewell/sourcemap-codec': 1.4.15
670
+ '@jridgewell/trace-mapping': 0.3.25
671
+
672
+ /@jridgewell/resolve-uri@3.1.2:
673
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
674
+ engines: {node: '>=6.0.0'}
675
+
676
+ /@jridgewell/set-array@1.2.1:
677
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
678
+ engines: {node: '>=6.0.0'}
679
+
680
+ /@jridgewell/sourcemap-codec@1.4.15:
681
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
682
+
683
+ /@jridgewell/trace-mapping@0.3.25:
684
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
685
+ dependencies:
686
+ '@jridgewell/resolve-uri': 3.1.2
687
+ '@jridgewell/sourcemap-codec': 1.4.15
688
+
689
+ /@originjs/vite-plugin-commonjs@1.0.3:
690
+ resolution: {integrity: sha512-KuEXeGPptM2lyxdIEJ4R11+5ztipHoE7hy8ClZt3PYaOVQ/pyngd2alaSrPnwyFeOW1UagRBaQ752aA1dTMdOQ==}
691
+ dependencies:
692
+ esbuild: 0.14.54
693
+ dev: true
694
+
695
+ /@pkgjs/parseargs@0.11.0:
696
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
697
+ engines: {node: '>=14'}
698
+ requiresBuild: true
699
+ dev: true
700
+ optional: true
701
+
702
+ /@rollup/plugin-sucrase@5.0.2:
703
+ resolution: {integrity: sha512-4MhIVH9Dy2Hwose1/x5QMs0XF7yn9jDd/yozHqzdIrMWIolgFpGnrnVhQkqTaK1RALY/fpyrEKmwH/04vr1THA==}
704
+ engines: {node: '>=14.0.0'}
705
+ peerDependencies:
706
+ rollup: ^2.53.1||^3.0.0||^4.0.0
707
+ peerDependenciesMeta:
708
+ rollup:
709
+ optional: true
710
+ dependencies:
711
+ '@rollup/pluginutils': 5.1.0
712
+ sucrase: 3.35.0
713
+ dev: true
714
+
715
+ /@rollup/pluginutils@5.1.0:
716
+ resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
717
+ engines: {node: '>=14.0.0'}
718
+ peerDependencies:
719
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
720
+ peerDependenciesMeta:
721
+ rollup:
722
+ optional: true
723
+ dependencies:
724
+ '@types/estree': 1.0.5
725
+ estree-walker: 2.0.2
726
+ picomatch: 2.3.1
727
+ dev: true
728
+
729
+ /@rollup/rollup-android-arm-eabi@4.16.4:
730
+ resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==}
731
+ cpu: [arm]
732
+ os: [android]
733
+ requiresBuild: true
734
+ dev: true
735
+ optional: true
736
+
737
+ /@rollup/rollup-android-arm64@4.16.4:
738
+ resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==}
739
+ cpu: [arm64]
740
+ os: [android]
741
+ requiresBuild: true
742
+ dev: true
743
+ optional: true
744
+
745
+ /@rollup/rollup-darwin-arm64@4.16.4:
746
+ resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==}
747
+ cpu: [arm64]
748
+ os: [darwin]
749
+ requiresBuild: true
750
+ dev: true
751
+ optional: true
752
+
753
+ /@rollup/rollup-darwin-x64@4.16.4:
754
+ resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==}
755
+ cpu: [x64]
756
+ os: [darwin]
757
+ requiresBuild: true
758
+ dev: true
759
+ optional: true
760
+
761
+ /@rollup/rollup-linux-arm-gnueabihf@4.16.4:
762
+ resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==}
763
+ cpu: [arm]
764
+ os: [linux]
765
+ requiresBuild: true
766
+ dev: true
767
+ optional: true
768
+
769
+ /@rollup/rollup-linux-arm-musleabihf@4.16.4:
770
+ resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==}
771
+ cpu: [arm]
772
+ os: [linux]
773
+ requiresBuild: true
774
+ dev: true
775
+ optional: true
776
+
777
+ /@rollup/rollup-linux-arm64-gnu@4.16.4:
778
+ resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==}
779
+ cpu: [arm64]
780
+ os: [linux]
781
+ requiresBuild: true
782
+ dev: true
783
+ optional: true
784
+
785
+ /@rollup/rollup-linux-arm64-musl@4.16.4:
786
+ resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==}
787
+ cpu: [arm64]
788
+ os: [linux]
789
+ requiresBuild: true
790
+ dev: true
791
+ optional: true
792
+
793
+ /@rollup/rollup-linux-powerpc64le-gnu@4.16.4:
794
+ resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==}
795
+ cpu: [ppc64]
796
+ os: [linux]
797
+ requiresBuild: true
798
+ dev: true
799
+ optional: true
800
+
801
+ /@rollup/rollup-linux-riscv64-gnu@4.16.4:
802
+ resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==}
803
+ cpu: [riscv64]
804
+ os: [linux]
805
+ requiresBuild: true
806
+ dev: true
807
+ optional: true
808
+
809
+ /@rollup/rollup-linux-s390x-gnu@4.16.4:
810
+ resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==}
811
+ cpu: [s390x]
812
+ os: [linux]
813
+ requiresBuild: true
814
+ dev: true
815
+ optional: true
816
+
817
+ /@rollup/rollup-linux-x64-gnu@4.16.4:
818
+ resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==}
819
+ cpu: [x64]
820
+ os: [linux]
821
+ requiresBuild: true
822
+ dev: true
823
+ optional: true
824
+
825
+ /@rollup/rollup-linux-x64-musl@4.16.4:
826
+ resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==}
827
+ cpu: [x64]
828
+ os: [linux]
829
+ requiresBuild: true
830
+ dev: true
831
+ optional: true
832
+
833
+ /@rollup/rollup-win32-arm64-msvc@4.16.4:
834
+ resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==}
835
+ cpu: [arm64]
836
+ os: [win32]
837
+ requiresBuild: true
838
+ dev: true
839
+ optional: true
840
+
841
+ /@rollup/rollup-win32-ia32-msvc@4.16.4:
842
+ resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==}
843
+ cpu: [ia32]
844
+ os: [win32]
845
+ requiresBuild: true
846
+ dev: true
847
+ optional: true
848
+
849
+ /@rollup/rollup-win32-x64-msvc@4.16.4:
850
+ resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==}
851
+ cpu: [x64]
852
+ os: [win32]
853
+ requiresBuild: true
854
+ dev: true
855
+ optional: true
856
+
857
+ /@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0)(svelte@4.2.15)(vite@5.2.10):
858
+ resolution: {integrity: sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==}
859
+ engines: {node: ^18.0.0 || >=20}
860
+ peerDependencies:
861
+ '@sveltejs/vite-plugin-svelte': ^3.0.0
862
+ svelte: ^4.0.0 || ^5.0.0-next.0
863
+ vite: ^5.0.0
864
+ dependencies:
865
+ '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.2.10)
866
+ debug: 4.3.4
867
+ svelte: 4.2.15
868
+ vite: 5.2.10(lightningcss@1.24.1)(sass@1.75.0)(stylus@0.63.0)(sugarss@4.0.1)
869
+ transitivePeerDependencies:
870
+ - supports-color
871
+ dev: true
872
+
873
+ /@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.10):
874
+ resolution: {integrity: sha512-sY6ncCvg+O3njnzbZexcVtUqOBE3iYmQPJ9y+yXSkOwG576QI/xJrBnQSRXFLGwJNBa0T78JEKg5cIR0WOAuUw==}
875
+ engines: {node: ^18.0.0 || >=20}
876
+ peerDependencies:
877
+ svelte: ^4.0.0 || ^5.0.0-next.0
878
+ vite: ^5.0.0
879
+ dependencies:
880
+ '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.0)(svelte@4.2.15)(vite@5.2.10)
881
+ debug: 4.3.4
882
+ deepmerge: 4.3.1
883
+ kleur: 4.1.5
884
+ magic-string: 0.30.10
885
+ svelte: 4.2.15
886
+ svelte-hmr: 0.16.0(svelte@4.2.15)
887
+ vite: 5.2.10(lightningcss@1.24.1)(sass@1.75.0)(stylus@0.63.0)(sugarss@4.0.1)
888
+ vitefu: 0.2.5(vite@5.2.10)
889
+ transitivePeerDependencies:
890
+ - supports-color
891
+ dev: true
892
+
893
+ /@tailwindcss/oxide-android-arm64@4.0.0-alpha.14:
894
+ resolution: {integrity: sha512-9ssgbWrn0VwcEtni5aBVrP/QXPWhpryXs4HJlqTz1HQTdjWHBF8bObBKxeixq3vVACLvjHm922jHirpvejiUYQ==}
895
+ engines: {node: '>= 10'}
896
+ cpu: [arm64]
897
+ os: [android]
898
+ requiresBuild: true
899
+ dev: true
900
+ optional: true
901
+
902
+ /@tailwindcss/oxide-darwin-arm64@4.0.0-alpha.14:
903
+ resolution: {integrity: sha512-TMbwZb2Jg5Xf0KtYRp0CoVzNdTrOGZkhPcdIPbqkHouzhtvynyd/iD6e4aCpm0RqPICg3MLguPu81kO3lEJu9g==}
904
+ engines: {node: '>= 10'}
905
+ cpu: [arm64]
906
+ os: [darwin]
907
+ requiresBuild: true
908
+ dev: true
909
+ optional: true
910
+
911
+ /@tailwindcss/oxide-darwin-x64@4.0.0-alpha.14:
912
+ resolution: {integrity: sha512-aOPlkpptgDmCRbbqqYYhotnFvVDMQ8x6VjRp2kDVNdEtzoCLClAjDutERIC7CGUusX796RvGPLgkKd8YWNi+8w==}
913
+ engines: {node: '>= 10'}
914
+ cpu: [x64]
915
+ os: [darwin]
916
+ requiresBuild: true
917
+ dev: true
918
+ optional: true
919
+
920
+ /@tailwindcss/oxide-freebsd-x64@4.0.0-alpha.14:
921
+ resolution: {integrity: sha512-YVgGduxowoA0qqTvsMZLfTAVm7mwwixlyuTTDyoQiQc4gXm3HhIamFTEiAY9xafUZysbdPMs+ITxXFb22SxIUg==}
922
+ engines: {node: '>= 10'}
923
+ cpu: [x64]
924
+ os: [freebsd]
925
+ requiresBuild: true
926
+ dev: true
927
+ optional: true
928
+
929
+ /@tailwindcss/oxide-linux-arm-gnueabihf@4.0.0-alpha.14:
930
+ resolution: {integrity: sha512-avhbIj1rsXX5VSGlv29wdbNumPjPz86IBmbTRbAbXV6PRqGIDPika/0TZGo3IDAaevsXU2xc1HkVqBeZ/Hj5AQ==}
931
+ engines: {node: '>= 10'}
932
+ cpu: [arm]
933
+ os: [linux]
934
+ requiresBuild: true
935
+ dev: true
936
+ optional: true
937
+
938
+ /@tailwindcss/oxide-linux-arm64-gnu@4.0.0-alpha.14:
939
+ resolution: {integrity: sha512-NQKcFIb3xii3CSusisWR/0EH1sJfvF6I90XGi+geTdHXv77bU/McpMshrtPMcMHkbQqVlJbnJ2ttDN+zae3lcA==}
940
+ engines: {node: '>= 10'}
941
+ cpu: [arm64]
942
+ os: [linux]
943
+ requiresBuild: true
944
+ dev: true
945
+ optional: true
946
+
947
+ /@tailwindcss/oxide-linux-arm64-musl@4.0.0-alpha.14:
948
+ resolution: {integrity: sha512-bUYWc/jA5Kx2pESuGO7gRA5L1Hy/Jo8/ERbs/Pq5aXdNN+lllh4OEKCCjb02GSQvj7jsmPt8OAJifcur7sYUdg==}
949
+ engines: {node: '>= 10'}
950
+ cpu: [arm64]
951
+ os: [linux]
952
+ requiresBuild: true
953
+ dev: true
954
+ optional: true
955
+
956
+ /@tailwindcss/oxide-linux-x64-gnu@4.0.0-alpha.14:
957
+ resolution: {integrity: sha512-+FCUYOLBU9KTCxAY2NNfVgsvJ1dbNfTuhV13iIsrXTuEvu/P69H8YJzoiNB5oTPPgrKnClVj/KWw9n+GycHvEQ==}
958
+ engines: {node: '>= 10'}
959
+ cpu: [x64]
960
+ os: [linux]
961
+ requiresBuild: true
962
+ dev: true
963
+ optional: true
964
+
965
+ /@tailwindcss/oxide-linux-x64-musl@4.0.0-alpha.14:
966
+ resolution: {integrity: sha512-zl3iXwC1of+7pCyByIvYpQ88JZrwfWT0dETfJHuWYSuO8NSjU93oQHFV79UZTYqD9XkUevrQBNQCd5s5/7QS8g==}
967
+ engines: {node: '>= 10'}
968
+ cpu: [x64]
969
+ os: [linux]
970
+ requiresBuild: true
971
+ dev: true
972
+ optional: true
973
+
974
+ /@tailwindcss/oxide-win32-x64-msvc@4.0.0-alpha.14:
975
+ resolution: {integrity: sha512-IKaiQO/XxpuCv7ZpVngMaJEoswCqM7ncByHY68YRXkNH1tBVJl1H2Hz/jej7ziBlvEDvBY4qFgeJJAhh/tOiMQ==}
976
+ engines: {node: '>= 10'}
977
+ cpu: [x64]
978
+ os: [win32]
979
+ requiresBuild: true
980
+ dev: true
981
+ optional: true
982
+
983
+ /@tailwindcss/oxide@4.0.0-alpha.14:
984
+ resolution: {integrity: sha512-KpYsgwFd1I9UeqoCtBF62KXYKkp1RuxJm26M0EGTHVvUV+Cln0KZaouKJ1/7mqH8hD/TrzIwX5cGVMb2ShM4Qg==}
985
+ engines: {node: '>= 10'}
986
+ optionalDependencies:
987
+ '@tailwindcss/oxide-android-arm64': 4.0.0-alpha.14
988
+ '@tailwindcss/oxide-darwin-arm64': 4.0.0-alpha.14
989
+ '@tailwindcss/oxide-darwin-x64': 4.0.0-alpha.14
990
+ '@tailwindcss/oxide-freebsd-x64': 4.0.0-alpha.14
991
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.0-alpha.14
992
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.0.0-alpha.14
993
+ '@tailwindcss/oxide-linux-arm64-musl': 4.0.0-alpha.14
994
+ '@tailwindcss/oxide-linux-x64-gnu': 4.0.0-alpha.14
995
+ '@tailwindcss/oxide-linux-x64-musl': 4.0.0-alpha.14
996
+ '@tailwindcss/oxide-win32-x64-msvc': 4.0.0-alpha.14
997
+ dev: true
998
+
999
+ /@tailwindcss/vite@4.0.0-alpha.14(vite@5.2.10):
1000
+ resolution: {integrity: sha512-tvKPP948JrgSR1Ig5ogLYEn1h4FW36W3p0eCGFGJV++NF7QsBh0j98HydrhvQDxsC9jZ037yGWUOc4VPMbt22g==}
1001
+ peerDependencies:
1002
+ vite: ^5.2.0
1003
+ dependencies:
1004
+ '@tailwindcss/oxide': 4.0.0-alpha.14
1005
+ lightningcss: 1.24.1
1006
+ tailwindcss: 4.0.0-alpha.14
1007
+ vite: 5.2.10(lightningcss@1.24.1)(sass@1.75.0)(stylus@0.63.0)(sugarss@4.0.1)
1008
+ dev: true
1009
+
1010
+ /@types/estree@1.0.5:
1011
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
1012
+
1013
+ /@types/path-browserify@1.0.2:
1014
+ resolution: {integrity: sha512-ZkC5IUqqIFPXx3ASTTybTzmQdwHwe2C0u3eL75ldQ6T9E9IWFJodn6hIfbZGab73DfyiHN4Xw15gNxUq2FbvBA==}
1015
+ dev: false
1016
+
1017
+ /@types/pug@2.0.10:
1018
+ resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
1019
+ dev: true
1020
+
1021
+ /@types/which@3.0.3:
1022
+ resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==}
1023
+ dev: true
1024
+
1025
+ /acorn@7.4.1:
1026
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
1027
+ engines: {node: '>=0.4.0'}
1028
+ hasBin: true
1029
+ dev: true
1030
+
1031
+ /acorn@8.11.3:
1032
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
1033
+ engines: {node: '>=0.4.0'}
1034
+ hasBin: true
1035
+
1036
+ /ansi-regex@5.0.1:
1037
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
1038
+ engines: {node: '>=8'}
1039
+ dev: true
1040
+
1041
+ /ansi-regex@6.0.1:
1042
+ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
1043
+ engines: {node: '>=12'}
1044
+ dev: true
1045
+
1046
+ /ansi-styles@4.3.0:
1047
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
1048
+ engines: {node: '>=8'}
1049
+ dependencies:
1050
+ color-convert: 2.0.1
1051
+ dev: true
1052
+
1053
+ /ansi-styles@6.2.1:
1054
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
1055
+ engines: {node: '>=12'}
1056
+ dev: true
1057
+
1058
+ /any-promise@1.3.0:
1059
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
1060
+ dev: true
1061
+
1062
+ /anymatch@3.1.3:
1063
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
1064
+ engines: {node: '>= 8'}
1065
+ dependencies:
1066
+ normalize-path: 3.0.0
1067
+ picomatch: 2.3.1
1068
+ dev: true
1069
+
1070
+ /aria-query@5.3.0:
1071
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
1072
+ dependencies:
1073
+ dequal: 2.0.3
1074
+
1075
+ /asap@2.0.6:
1076
+ resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
1077
+ dev: true
1078
+
1079
+ /assert-never@1.2.1:
1080
+ resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==}
1081
+ dev: true
1082
+
1083
+ /axobject-query@4.0.0:
1084
+ resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==}
1085
+ dependencies:
1086
+ dequal: 2.0.3
1087
+
1088
+ /babel-walk@3.0.0-canary-5:
1089
+ resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==}
1090
+ engines: {node: '>= 10.0.0'}
1091
+ dependencies:
1092
+ '@babel/types': 7.24.0
1093
+ dev: true
1094
+
1095
+ /balanced-match@1.0.2:
1096
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1097
+ dev: true
1098
+
1099
+ /binary-extensions@2.3.0:
1100
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
1101
+ engines: {node: '>=8'}
1102
+ dev: true
1103
+
1104
+ /brace-expansion@1.1.11:
1105
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
1106
+ dependencies:
1107
+ balanced-match: 1.0.2
1108
+ concat-map: 0.0.1
1109
+ dev: true
1110
+
1111
+ /brace-expansion@2.0.1:
1112
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
1113
+ dependencies:
1114
+ balanced-match: 1.0.2
1115
+ dev: true
1116
+
1117
+ /braces@3.0.2:
1118
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
1119
+ engines: {node: '>=8'}
1120
+ dependencies:
1121
+ fill-range: 7.0.1
1122
+ dev: true
1123
+
1124
+ /buffer-crc32@0.2.13:
1125
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
1126
+ dev: true
1127
+
1128
+ /bufferutil@4.0.8:
1129
+ resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==}
1130
+ engines: {node: '>=6.14.2'}
1131
+ requiresBuild: true
1132
+ dependencies:
1133
+ node-gyp-build: 4.8.0
1134
+ dev: false
1135
+
1136
+ /call-bind@1.0.7:
1137
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
1138
+ engines: {node: '>= 0.4'}
1139
+ dependencies:
1140
+ es-define-property: 1.0.0
1141
+ es-errors: 1.3.0
1142
+ function-bind: 1.1.2
1143
+ get-intrinsic: 1.2.4
1144
+ set-function-length: 1.2.2
1145
+ dev: true
1146
+
1147
+ /character-parser@2.2.0:
1148
+ resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==}
1149
+ dependencies:
1150
+ is-regex: 1.1.4
1151
+ dev: true
1152
+
1153
+ /chokidar@3.6.0:
1154
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
1155
+ engines: {node: '>= 8.10.0'}
1156
+ dependencies:
1157
+ anymatch: 3.1.3
1158
+ braces: 3.0.2
1159
+ glob-parent: 5.1.2
1160
+ is-binary-path: 2.1.0
1161
+ is-glob: 4.0.3
1162
+ normalize-path: 3.0.0
1163
+ readdirp: 3.6.0
1164
+ optionalDependencies:
1165
+ fsevents: 2.3.3
1166
+ dev: true
1167
+
1168
+ /cli-color@2.0.4:
1169
+ resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==}
1170
+ engines: {node: '>=0.10'}
1171
+ dependencies:
1172
+ d: 1.0.2
1173
+ es5-ext: 0.10.64
1174
+ es6-iterator: 2.0.3
1175
+ memoizee: 0.4.15
1176
+ timers-ext: 0.1.7
1177
+ dev: false
1178
+
1179
+ /code-red@1.0.4:
1180
+ resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
1181
+ dependencies:
1182
+ '@jridgewell/sourcemap-codec': 1.4.15
1183
+ '@types/estree': 1.0.5
1184
+ acorn: 8.11.3
1185
+ estree-walker: 3.0.3
1186
+ periscopic: 3.1.0
1187
+
1188
+ /coffeescript@2.7.0:
1189
+ resolution: {integrity: sha512-hzWp6TUE2d/jCcN67LrW1eh5b/rSDKQK6oD6VMLlggYVUUFexgTH9z3dNYihzX4RMhze5FTUsUmOXViJKFQR/A==}
1190
+ engines: {node: '>=6'}
1191
+ hasBin: true
1192
+ dev: true
1193
+
1194
+ /color-convert@2.0.1:
1195
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1196
+ engines: {node: '>=7.0.0'}
1197
+ dependencies:
1198
+ color-name: 1.1.4
1199
+ dev: true
1200
+
1201
+ /color-name@1.1.4:
1202
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1203
+ dev: true
1204
+
1205
+ /commander@4.1.1:
1206
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1207
+ engines: {node: '>= 6'}
1208
+ dev: true
1209
+
1210
+ /concat-map@0.0.1:
1211
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1212
+ dev: true
1213
+
1214
+ /constantinople@4.0.1:
1215
+ resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==}
1216
+ dependencies:
1217
+ '@babel/parser': 7.24.4
1218
+ '@babel/types': 7.24.0
1219
+ dev: true
1220
+
1221
+ /cropperjs@1.6.2:
1222
+ resolution: {integrity: sha512-nhymn9GdnV3CqiEHJVai54TULFAE3VshJTXSqSJKa8yXAKyBKDWdhHarnlIPrshJ0WMFTGuFvG02YjLXfPiuOA==}
1223
+ dev: false
1224
+
1225
+ /cross-spawn@7.0.3:
1226
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1227
+ engines: {node: '>= 8'}
1228
+ dependencies:
1229
+ path-key: 3.1.1
1230
+ shebang-command: 2.0.0
1231
+ which: 2.0.2
1232
+ dev: true
1233
+
1234
+ /css-tree@2.3.1:
1235
+ resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
1236
+ engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
1237
+ dependencies:
1238
+ mdn-data: 2.0.30
1239
+ source-map-js: 1.2.0
1240
+
1241
+ /d@1.0.2:
1242
+ resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
1243
+ engines: {node: '>=0.12'}
1244
+ dependencies:
1245
+ es5-ext: 0.10.64
1246
+ type: 2.7.2
1247
+ dev: false
1248
+
1249
+ /debug@4.3.4:
1250
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1251
+ engines: {node: '>=6.0'}
1252
+ peerDependencies:
1253
+ supports-color: '*'
1254
+ peerDependenciesMeta:
1255
+ supports-color:
1256
+ optional: true
1257
+ dependencies:
1258
+ ms: 2.1.2
1259
+ dev: true
1260
+
1261
+ /deepmerge@4.3.1:
1262
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
1263
+ engines: {node: '>=0.10.0'}
1264
+
1265
+ /define-data-property@1.1.4:
1266
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
1267
+ engines: {node: '>= 0.4'}
1268
+ dependencies:
1269
+ es-define-property: 1.0.0
1270
+ es-errors: 1.3.0
1271
+ gopd: 1.0.1
1272
+ dev: true
1273
+
1274
+ /dequal@2.0.3:
1275
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1276
+ engines: {node: '>=6'}
1277
+
1278
+ /detect-indent@6.1.0:
1279
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
1280
+ engines: {node: '>=8'}
1281
+ dev: true
1282
+
1283
+ /detect-libc@1.0.3:
1284
+ resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
1285
+ engines: {node: '>=0.10'}
1286
+ hasBin: true
1287
+ dev: true
1288
+
1289
+ /doctypes@1.1.0:
1290
+ resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==}
1291
+ dev: true
1292
+
1293
+ /eastasianwidth@0.2.0:
1294
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
1295
+ dev: true
1296
+
1297
+ /emoji-regex@8.0.0:
1298
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1299
+ dev: true
1300
+
1301
+ /emoji-regex@9.2.2:
1302
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
1303
+ dev: true
1304
+
1305
+ /es-define-property@1.0.0:
1306
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
1307
+ engines: {node: '>= 0.4'}
1308
+ dependencies:
1309
+ get-intrinsic: 1.2.4
1310
+ dev: true
1311
+
1312
+ /es-errors@1.3.0:
1313
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
1314
+ engines: {node: '>= 0.4'}
1315
+ dev: true
1316
+
1317
+ /es5-ext@0.10.64:
1318
+ resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
1319
+ engines: {node: '>=0.10'}
1320
+ requiresBuild: true
1321
+ dependencies:
1322
+ es6-iterator: 2.0.3
1323
+ es6-symbol: 3.1.4
1324
+ esniff: 2.0.1
1325
+ next-tick: 1.1.0
1326
+ dev: false
1327
+
1328
+ /es6-iterator@2.0.3:
1329
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
1330
+ dependencies:
1331
+ d: 1.0.2
1332
+ es5-ext: 0.10.64
1333
+ es6-symbol: 3.1.4
1334
+ dev: false
1335
+
1336
+ /es6-promise@3.3.1:
1337
+ resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
1338
+ dev: true
1339
+
1340
+ /es6-symbol@3.1.4:
1341
+ resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
1342
+ engines: {node: '>=0.12'}
1343
+ dependencies:
1344
+ d: 1.0.2
1345
+ ext: 1.7.0
1346
+ dev: false
1347
+
1348
+ /es6-weak-map@2.0.3:
1349
+ resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
1350
+ dependencies:
1351
+ d: 1.0.2
1352
+ es5-ext: 0.10.64
1353
+ es6-iterator: 2.0.3
1354
+ es6-symbol: 3.1.4
1355
+ dev: false
1356
+
1357
+ /esbuild-android-64@0.14.54:
1358
+ resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
1359
+ engines: {node: '>=12'}
1360
+ cpu: [x64]
1361
+ os: [android]
1362
+ requiresBuild: true
1363
+ dev: true
1364
+ optional: true
1365
+
1366
+ /esbuild-android-arm64@0.14.54:
1367
+ resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
1368
+ engines: {node: '>=12'}
1369
+ cpu: [arm64]
1370
+ os: [android]
1371
+ requiresBuild: true
1372
+ dev: true
1373
+ optional: true
1374
+
1375
+ /esbuild-darwin-64@0.14.54:
1376
+ resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
1377
+ engines: {node: '>=12'}
1378
+ cpu: [x64]
1379
+ os: [darwin]
1380
+ requiresBuild: true
1381
+ dev: true
1382
+ optional: true
1383
+
1384
+ /esbuild-darwin-arm64@0.14.54:
1385
+ resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
1386
+ engines: {node: '>=12'}
1387
+ cpu: [arm64]
1388
+ os: [darwin]
1389
+ requiresBuild: true
1390
+ dev: true
1391
+ optional: true
1392
+
1393
+ /esbuild-freebsd-64@0.14.54:
1394
+ resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
1395
+ engines: {node: '>=12'}
1396
+ cpu: [x64]
1397
+ os: [freebsd]
1398
+ requiresBuild: true
1399
+ dev: true
1400
+ optional: true
1401
+
1402
+ /esbuild-freebsd-arm64@0.14.54:
1403
+ resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
1404
+ engines: {node: '>=12'}
1405
+ cpu: [arm64]
1406
+ os: [freebsd]
1407
+ requiresBuild: true
1408
+ dev: true
1409
+ optional: true
1410
+
1411
+ /esbuild-linux-32@0.14.54:
1412
+ resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
1413
+ engines: {node: '>=12'}
1414
+ cpu: [ia32]
1415
+ os: [linux]
1416
+ requiresBuild: true
1417
+ dev: true
1418
+ optional: true
1419
+
1420
+ /esbuild-linux-64@0.14.54:
1421
+ resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
1422
+ engines: {node: '>=12'}
1423
+ cpu: [x64]
1424
+ os: [linux]
1425
+ requiresBuild: true
1426
+ dev: true
1427
+ optional: true
1428
+
1429
+ /esbuild-linux-arm64@0.14.54:
1430
+ resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
1431
+ engines: {node: '>=12'}
1432
+ cpu: [arm64]
1433
+ os: [linux]
1434
+ requiresBuild: true
1435
+ dev: true
1436
+ optional: true
1437
+
1438
+ /esbuild-linux-arm@0.14.54:
1439
+ resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
1440
+ engines: {node: '>=12'}
1441
+ cpu: [arm]
1442
+ os: [linux]
1443
+ requiresBuild: true
1444
+ dev: true
1445
+ optional: true
1446
+
1447
+ /esbuild-linux-mips64le@0.14.54:
1448
+ resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
1449
+ engines: {node: '>=12'}
1450
+ cpu: [mips64el]
1451
+ os: [linux]
1452
+ requiresBuild: true
1453
+ dev: true
1454
+ optional: true
1455
+
1456
+ /esbuild-linux-ppc64le@0.14.54:
1457
+ resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
1458
+ engines: {node: '>=12'}
1459
+ cpu: [ppc64]
1460
+ os: [linux]
1461
+ requiresBuild: true
1462
+ dev: true
1463
+ optional: true
1464
+
1465
+ /esbuild-linux-riscv64@0.14.54:
1466
+ resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
1467
+ engines: {node: '>=12'}
1468
+ cpu: [riscv64]
1469
+ os: [linux]
1470
+ requiresBuild: true
1471
+ dev: true
1472
+ optional: true
1473
+
1474
+ /esbuild-linux-s390x@0.14.54:
1475
+ resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
1476
+ engines: {node: '>=12'}
1477
+ cpu: [s390x]
1478
+ os: [linux]
1479
+ requiresBuild: true
1480
+ dev: true
1481
+ optional: true
1482
+
1483
+ /esbuild-netbsd-64@0.14.54:
1484
+ resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
1485
+ engines: {node: '>=12'}
1486
+ cpu: [x64]
1487
+ os: [netbsd]
1488
+ requiresBuild: true
1489
+ dev: true
1490
+ optional: true
1491
+
1492
+ /esbuild-openbsd-64@0.14.54:
1493
+ resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
1494
+ engines: {node: '>=12'}
1495
+ cpu: [x64]
1496
+ os: [openbsd]
1497
+ requiresBuild: true
1498
+ dev: true
1499
+ optional: true
1500
+
1501
+ /esbuild-sunos-64@0.14.54:
1502
+ resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
1503
+ engines: {node: '>=12'}
1504
+ cpu: [x64]
1505
+ os: [sunos]
1506
+ requiresBuild: true
1507
+ dev: true
1508
+ optional: true
1509
+
1510
+ /esbuild-windows-32@0.14.54:
1511
+ resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
1512
+ engines: {node: '>=12'}
1513
+ cpu: [ia32]
1514
+ os: [win32]
1515
+ requiresBuild: true
1516
+ dev: true
1517
+ optional: true
1518
+
1519
+ /esbuild-windows-64@0.14.54:
1520
+ resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
1521
+ engines: {node: '>=12'}
1522
+ cpu: [x64]
1523
+ os: [win32]
1524
+ requiresBuild: true
1525
+ dev: true
1526
+ optional: true
1527
+
1528
+ /esbuild-windows-arm64@0.14.54:
1529
+ resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
1530
+ engines: {node: '>=12'}
1531
+ cpu: [arm64]
1532
+ os: [win32]
1533
+ requiresBuild: true
1534
+ dev: true
1535
+ optional: true
1536
+
1537
+ /esbuild@0.14.54:
1538
+ resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
1539
+ engines: {node: '>=12'}
1540
+ hasBin: true
1541
+ requiresBuild: true
1542
+ optionalDependencies:
1543
+ '@esbuild/linux-loong64': 0.14.54
1544
+ esbuild-android-64: 0.14.54
1545
+ esbuild-android-arm64: 0.14.54
1546
+ esbuild-darwin-64: 0.14.54
1547
+ esbuild-darwin-arm64: 0.14.54
1548
+ esbuild-freebsd-64: 0.14.54
1549
+ esbuild-freebsd-arm64: 0.14.54
1550
+ esbuild-linux-32: 0.14.54
1551
+ esbuild-linux-64: 0.14.54
1552
+ esbuild-linux-arm: 0.14.54
1553
+ esbuild-linux-arm64: 0.14.54
1554
+ esbuild-linux-mips64le: 0.14.54
1555
+ esbuild-linux-ppc64le: 0.14.54
1556
+ esbuild-linux-riscv64: 0.14.54
1557
+ esbuild-linux-s390x: 0.14.54
1558
+ esbuild-netbsd-64: 0.14.54
1559
+ esbuild-openbsd-64: 0.14.54
1560
+ esbuild-sunos-64: 0.14.54
1561
+ esbuild-windows-32: 0.14.54
1562
+ esbuild-windows-64: 0.14.54
1563
+ esbuild-windows-arm64: 0.14.54
1564
+ dev: true
1565
+
1566
+ /esbuild@0.19.12:
1567
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
1568
+ engines: {node: '>=12'}
1569
+ hasBin: true
1570
+ requiresBuild: true
1571
+ optionalDependencies:
1572
+ '@esbuild/aix-ppc64': 0.19.12
1573
+ '@esbuild/android-arm': 0.19.12
1574
+ '@esbuild/android-arm64': 0.19.12
1575
+ '@esbuild/android-x64': 0.19.12
1576
+ '@esbuild/darwin-arm64': 0.19.12
1577
+ '@esbuild/darwin-x64': 0.19.12
1578
+ '@esbuild/freebsd-arm64': 0.19.12
1579
+ '@esbuild/freebsd-x64': 0.19.12
1580
+ '@esbuild/linux-arm': 0.19.12
1581
+ '@esbuild/linux-arm64': 0.19.12
1582
+ '@esbuild/linux-ia32': 0.19.12
1583
+ '@esbuild/linux-loong64': 0.19.12
1584
+ '@esbuild/linux-mips64el': 0.19.12
1585
+ '@esbuild/linux-ppc64': 0.19.12
1586
+ '@esbuild/linux-riscv64': 0.19.12
1587
+ '@esbuild/linux-s390x': 0.19.12
1588
+ '@esbuild/linux-x64': 0.19.12
1589
+ '@esbuild/netbsd-x64': 0.19.12
1590
+ '@esbuild/openbsd-x64': 0.19.12
1591
+ '@esbuild/sunos-x64': 0.19.12
1592
+ '@esbuild/win32-arm64': 0.19.12
1593
+ '@esbuild/win32-ia32': 0.19.12
1594
+ '@esbuild/win32-x64': 0.19.12
1595
+ dev: false
1596
+
1597
+ /esbuild@0.20.2:
1598
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
1599
+ engines: {node: '>=12'}
1600
+ hasBin: true
1601
+ requiresBuild: true
1602
+ optionalDependencies:
1603
+ '@esbuild/aix-ppc64': 0.20.2
1604
+ '@esbuild/android-arm': 0.20.2
1605
+ '@esbuild/android-arm64': 0.20.2
1606
+ '@esbuild/android-x64': 0.20.2
1607
+ '@esbuild/darwin-arm64': 0.20.2
1608
+ '@esbuild/darwin-x64': 0.20.2
1609
+ '@esbuild/freebsd-arm64': 0.20.2
1610
+ '@esbuild/freebsd-x64': 0.20.2
1611
+ '@esbuild/linux-arm': 0.20.2
1612
+ '@esbuild/linux-arm64': 0.20.2
1613
+ '@esbuild/linux-ia32': 0.20.2
1614
+ '@esbuild/linux-loong64': 0.20.2
1615
+ '@esbuild/linux-mips64el': 0.20.2
1616
+ '@esbuild/linux-ppc64': 0.20.2
1617
+ '@esbuild/linux-riscv64': 0.20.2
1618
+ '@esbuild/linux-s390x': 0.20.2
1619
+ '@esbuild/linux-x64': 0.20.2
1620
+ '@esbuild/netbsd-x64': 0.20.2
1621
+ '@esbuild/openbsd-x64': 0.20.2
1622
+ '@esbuild/sunos-x64': 0.20.2
1623
+ '@esbuild/win32-arm64': 0.20.2
1624
+ '@esbuild/win32-ia32': 0.20.2
1625
+ '@esbuild/win32-x64': 0.20.2
1626
+ dev: true
1627
+
1628
+ /esniff@2.0.1:
1629
+ resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
1630
+ engines: {node: '>=0.10'}
1631
+ dependencies:
1632
+ d: 1.0.2
1633
+ es5-ext: 0.10.64
1634
+ event-emitter: 0.3.5
1635
+ type: 2.7.2
1636
+ dev: false
1637
+
1638
+ /estree-walker@2.0.2:
1639
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1640
+
1641
+ /estree-walker@3.0.3:
1642
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
1643
+ dependencies:
1644
+ '@types/estree': 1.0.5
1645
+
1646
+ /event-emitter@0.3.5:
1647
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
1648
+ dependencies:
1649
+ d: 1.0.2
1650
+ es5-ext: 0.10.64
1651
+ dev: false
1652
+
1653
+ /ext@1.7.0:
1654
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
1655
+ dependencies:
1656
+ type: 2.7.2
1657
+ dev: false
1658
+
1659
+ /fill-range@7.0.1:
1660
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1661
+ engines: {node: '>=8'}
1662
+ dependencies:
1663
+ to-regex-range: 5.0.1
1664
+ dev: true
1665
+
1666
+ /foreground-child@3.1.1:
1667
+ resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
1668
+ engines: {node: '>=14'}
1669
+ dependencies:
1670
+ cross-spawn: 7.0.3
1671
+ signal-exit: 4.1.0
1672
+ dev: true
1673
+
1674
+ /fs.realpath@1.0.0:
1675
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1676
+ dev: true
1677
+
1678
+ /fsevents@2.3.3:
1679
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1680
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1681
+ os: [darwin]
1682
+ requiresBuild: true
1683
+ dev: true
1684
+ optional: true
1685
+
1686
+ /function-bind@1.1.2:
1687
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1688
+ dev: true
1689
+
1690
+ /get-intrinsic@1.2.4:
1691
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
1692
+ engines: {node: '>= 0.4'}
1693
+ dependencies:
1694
+ es-errors: 1.3.0
1695
+ function-bind: 1.1.2
1696
+ has-proto: 1.0.3
1697
+ has-symbols: 1.0.3
1698
+ hasown: 2.0.2
1699
+ dev: true
1700
+
1701
+ /glob-parent@5.1.2:
1702
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1703
+ engines: {node: '>= 6'}
1704
+ dependencies:
1705
+ is-glob: 4.0.3
1706
+ dev: true
1707
+
1708
+ /glob@10.3.12:
1709
+ resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==}
1710
+ engines: {node: '>=16 || 14 >=14.17'}
1711
+ hasBin: true
1712
+ dependencies:
1713
+ foreground-child: 3.1.1
1714
+ jackspeak: 2.3.6
1715
+ minimatch: 9.0.4
1716
+ minipass: 7.0.4
1717
+ path-scurry: 1.10.2
1718
+ dev: true
1719
+
1720
+ /glob@7.2.3:
1721
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1722
+ dependencies:
1723
+ fs.realpath: 1.0.0
1724
+ inflight: 1.0.6
1725
+ inherits: 2.0.4
1726
+ minimatch: 3.1.2
1727
+ once: 1.4.0
1728
+ path-is-absolute: 1.0.1
1729
+ dev: true
1730
+
1731
+ /globalyzer@0.1.0:
1732
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
1733
+ dev: false
1734
+
1735
+ /globrex@0.1.2:
1736
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
1737
+ dev: false
1738
+
1739
+ /gopd@1.0.1:
1740
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1741
+ dependencies:
1742
+ get-intrinsic: 1.2.4
1743
+ dev: true
1744
+
1745
+ /graceful-fs@4.2.11:
1746
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1747
+ dev: true
1748
+
1749
+ /has-property-descriptors@1.0.2:
1750
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
1751
+ dependencies:
1752
+ es-define-property: 1.0.0
1753
+ dev: true
1754
+
1755
+ /has-proto@1.0.3:
1756
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
1757
+ engines: {node: '>= 0.4'}
1758
+ dev: true
1759
+
1760
+ /has-symbols@1.0.3:
1761
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1762
+ engines: {node: '>= 0.4'}
1763
+ dev: true
1764
+
1765
+ /has-tostringtag@1.0.2:
1766
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
1767
+ engines: {node: '>= 0.4'}
1768
+ dependencies:
1769
+ has-symbols: 1.0.3
1770
+ dev: true
1771
+
1772
+ /hasown@2.0.2:
1773
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1774
+ engines: {node: '>= 0.4'}
1775
+ dependencies:
1776
+ function-bind: 1.1.2
1777
+ dev: true
1778
+
1779
+ /immutable@4.3.5:
1780
+ resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==}
1781
+ dev: true
1782
+
1783
+ /inflight@1.0.6:
1784
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1785
+ dependencies:
1786
+ once: 1.4.0
1787
+ wrappy: 1.0.2
1788
+ dev: true
1789
+
1790
+ /inherits@2.0.4:
1791
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1792
+ dev: true
1793
+
1794
+ /intl-messageformat@9.13.0:
1795
+ resolution: {integrity: sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==}
1796
+ dependencies:
1797
+ '@formatjs/ecma402-abstract': 1.11.4
1798
+ '@formatjs/fast-memoize': 1.2.1
1799
+ '@formatjs/icu-messageformat-parser': 2.1.0
1800
+ tslib: 2.6.2
1801
+ dev: false
1802
+
1803
+ /is-binary-path@2.1.0:
1804
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1805
+ engines: {node: '>=8'}
1806
+ dependencies:
1807
+ binary-extensions: 2.3.0
1808
+ dev: true
1809
+
1810
+ /is-core-module@2.13.1:
1811
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
1812
+ dependencies:
1813
+ hasown: 2.0.2
1814
+ dev: true
1815
+
1816
+ /is-expression@4.0.0:
1817
+ resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==}
1818
+ dependencies:
1819
+ acorn: 7.4.1
1820
+ object-assign: 4.1.1
1821
+ dev: true
1822
+
1823
+ /is-extglob@2.1.1:
1824
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1825
+ engines: {node: '>=0.10.0'}
1826
+ dev: true
1827
+
1828
+ /is-fullwidth-code-point@3.0.0:
1829
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1830
+ engines: {node: '>=8'}
1831
+ dev: true
1832
+
1833
+ /is-glob@4.0.3:
1834
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1835
+ engines: {node: '>=0.10.0'}
1836
+ dependencies:
1837
+ is-extglob: 2.1.1
1838
+ dev: true
1839
+
1840
+ /is-number@7.0.0:
1841
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1842
+ engines: {node: '>=0.12.0'}
1843
+ dev: true
1844
+
1845
+ /is-promise@2.2.2:
1846
+ resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
1847
+
1848
+ /is-reference@3.0.2:
1849
+ resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
1850
+ dependencies:
1851
+ '@types/estree': 1.0.5
1852
+
1853
+ /is-regex@1.1.4:
1854
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1855
+ engines: {node: '>= 0.4'}
1856
+ dependencies:
1857
+ call-bind: 1.0.7
1858
+ has-tostringtag: 1.0.2
1859
+ dev: true
1860
+
1861
+ /isexe@2.0.0:
1862
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1863
+ dev: true
1864
+
1865
+ /isexe@3.1.1:
1866
+ resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
1867
+ engines: {node: '>=16'}
1868
+ dev: true
1869
+
1870
+ /jackspeak@2.3.6:
1871
+ resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
1872
+ engines: {node: '>=14'}
1873
+ dependencies:
1874
+ '@isaacs/cliui': 8.0.2
1875
+ optionalDependencies:
1876
+ '@pkgjs/parseargs': 0.11.0
1877
+ dev: true
1878
+
1879
+ /js-stringify@1.0.2:
1880
+ resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==}
1881
+ dev: true
1882
+
1883
+ /jstransformer@1.0.0:
1884
+ resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==}
1885
+ dependencies:
1886
+ is-promise: 2.2.2
1887
+ promise: 7.3.1
1888
+ dev: true
1889
+
1890
+ /kleur@4.1.5:
1891
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
1892
+ engines: {node: '>=6'}
1893
+ dev: true
1894
+
1895
+ /lazy-brush@1.0.1:
1896
+ resolution: {integrity: sha512-xT/iSClTVi7vLoF8dCWTBhCuOWqsLXCMPa6ucVmVAk6hyNCM5JeS1NLhXqIrJktUg+caEYKlqSOUU4u3cpXzKg==}
1897
+ dev: false
1898
+
1899
+ /lightningcss-darwin-arm64@1.24.1:
1900
+ resolution: {integrity: sha512-1jQ12jBy+AE/73uGQWGSafK5GoWgmSiIQOGhSEXiFJSZxzV+OXIx+a9h2EYHxdJfX864M+2TAxWPWb0Vv+8y4w==}
1901
+ engines: {node: '>= 12.0.0'}
1902
+ cpu: [arm64]
1903
+ os: [darwin]
1904
+ requiresBuild: true
1905
+ dev: true
1906
+ optional: true
1907
+
1908
+ /lightningcss-darwin-x64@1.24.1:
1909
+ resolution: {integrity: sha512-R4R1d7VVdq2mG4igMU+Di8GPf0b64ZLnYVkubYnGG0Qxq1KaXQtAzcLI43EkpnoWvB/kUg8JKCWH4S13NfiLcQ==}
1910
+ engines: {node: '>= 12.0.0'}
1911
+ cpu: [x64]
1912
+ os: [darwin]
1913
+ requiresBuild: true
1914
+ dev: true
1915
+ optional: true
1916
+
1917
+ /lightningcss-freebsd-x64@1.24.1:
1918
+ resolution: {integrity: sha512-z6NberUUw5ALES6Ixn2shmjRRrM1cmEn1ZQPiM5IrZ6xHHL5a1lPin9pRv+w6eWfcrEo+qGG6R9XfJrpuY3e4g==}
1919
+ engines: {node: '>= 12.0.0'}
1920
+ cpu: [x64]
1921
+ os: [freebsd]
1922
+ requiresBuild: true
1923
+ dev: true
1924
+ optional: true
1925
+
1926
+ /lightningcss-linux-arm-gnueabihf@1.24.1:
1927
+ resolution: {integrity: sha512-NLQLnBQW/0sSg74qLNI8F8QKQXkNg4/ukSTa+XhtkO7v3BnK19TS1MfCbDHt+TTdSgNEBv0tubRuapcKho2EWw==}
1928
+ engines: {node: '>= 12.0.0'}
1929
+ cpu: [arm]
1930
+ os: [linux]
1931
+ requiresBuild: true
1932
+ dev: true
1933
+ optional: true
1934
+
1935
+ /lightningcss-linux-arm64-gnu@1.24.1:
1936
+ resolution: {integrity: sha512-AQxWU8c9E9JAjAi4Qw9CvX2tDIPjgzCTrZCSXKELfs4mCwzxRkHh2RCxX8sFK19RyJoJAjA/Kw8+LMNRHS5qEg==}
1937
+ engines: {node: '>= 12.0.0'}
1938
+ cpu: [arm64]
1939
+ os: [linux]
1940
+ requiresBuild: true
1941
+ dev: true
1942
+ optional: true
1943
+
1944
+ /lightningcss-linux-arm64-musl@1.24.1:
1945
+ resolution: {integrity: sha512-JCgH/SrNrhqsguUA0uJUM1PvN5+dVuzPIlXcoWDHSv2OU/BWlj2dUYr3XNzEw748SmNZPfl2NjQrAdzaPOn1lA==}
1946
+ engines: {node: '>= 12.0.0'}
1947
+ cpu: [arm64]
1948
+ os: [linux]
1949
+ requiresBuild: true
1950
+ dev: true
1951
+ optional: true
1952
+
1953
+ /lightningcss-linux-x64-gnu@1.24.1:
1954
+ resolution: {integrity: sha512-TYdEsC63bHV0h47aNRGN3RiK7aIeco3/keN4NkoSQ5T8xk09KHuBdySltWAvKLgT8JvR+ayzq8ZHnL1wKWY0rw==}
1955
+ engines: {node: '>= 12.0.0'}
1956
+ cpu: [x64]
1957
+ os: [linux]
1958
+ requiresBuild: true
1959
+ dev: true
1960
+ optional: true
1961
+
1962
+ /lightningcss-linux-x64-musl@1.24.1:
1963
+ resolution: {integrity: sha512-HLfzVik3RToot6pQ2Rgc3JhfZkGi01hFetHt40HrUMoeKitLoqUUT5owM6yTZPTytTUW9ukLBJ1pc3XNMSvlLw==}
1964
+ engines: {node: '>= 12.0.0'}
1965
+ cpu: [x64]
1966
+ os: [linux]
1967
+ requiresBuild: true
1968
+ dev: true
1969
+ optional: true
1970
+
1971
+ /lightningcss-win32-x64-msvc@1.24.1:
1972
+ resolution: {integrity: sha512-joEupPjYJ7PjZtDsS5lzALtlAudAbgIBMGJPNeFe5HfdmJXFd13ECmEM+5rXNxYVMRHua2w8132R6ab5Z6K9Ow==}
1973
+ engines: {node: '>= 12.0.0'}
1974
+ cpu: [x64]
1975
+ os: [win32]
1976
+ requiresBuild: true
1977
+ dev: true
1978
+ optional: true
1979
+
1980
+ /lightningcss@1.24.1:
1981
+ resolution: {integrity: sha512-kUpHOLiH5GB0ERSv4pxqlL0RYKnOXtgGtVe7shDGfhS0AZ4D1ouKFYAcLcZhql8aMspDNzaUCumGHZ78tb2fTg==}
1982
+ engines: {node: '>= 12.0.0'}
1983
+ dependencies:
1984
+ detect-libc: 1.0.3
1985
+ optionalDependencies:
1986
+ lightningcss-darwin-arm64: 1.24.1
1987
+ lightningcss-darwin-x64: 1.24.1
1988
+ lightningcss-freebsd-x64: 1.24.1
1989
+ lightningcss-linux-arm-gnueabihf: 1.24.1
1990
+ lightningcss-linux-arm64-gnu: 1.24.1
1991
+ lightningcss-linux-arm64-musl: 1.24.1
1992
+ lightningcss-linux-x64-gnu: 1.24.1
1993
+ lightningcss-linux-x64-musl: 1.24.1
1994
+ lightningcss-win32-x64-msvc: 1.24.1
1995
+ dev: true
1996
+
1997
+ /lines-and-columns@1.2.4:
1998
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1999
+ dev: true
2000
+
2001
+ /locate-character@3.0.0:
2002
+ resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
2003
+
2004
+ /lru-cache@10.2.1:
2005
+ resolution: {integrity: sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==}
2006
+ engines: {node: 14 || >=16.14}
2007
+ dev: true
2008
+
2009
+ /lru-queue@0.1.0:
2010
+ resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
2011
+ dependencies:
2012
+ es5-ext: 0.10.64
2013
+ dev: false
2014
+
2015
+ /magic-string@0.30.10:
2016
+ resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
2017
+ dependencies:
2018
+ '@jridgewell/sourcemap-codec': 1.4.15
2019
+
2020
+ /mdn-data@2.0.30:
2021
+ resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
2022
+
2023
+ /memoizee@0.4.15:
2024
+ resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
2025
+ dependencies:
2026
+ d: 1.0.2
2027
+ es5-ext: 0.10.64
2028
+ es6-weak-map: 2.0.3
2029
+ event-emitter: 0.3.5
2030
+ is-promise: 2.2.2
2031
+ lru-queue: 0.1.0
2032
+ next-tick: 1.1.0
2033
+ timers-ext: 0.1.7
2034
+ dev: false
2035
+
2036
+ /min-indent@1.0.1:
2037
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
2038
+ engines: {node: '>=4'}
2039
+ dev: true
2040
+
2041
+ /minimatch@3.1.2:
2042
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
2043
+ dependencies:
2044
+ brace-expansion: 1.1.11
2045
+ dev: true
2046
+
2047
+ /minimatch@9.0.4:
2048
+ resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
2049
+ engines: {node: '>=16 || 14 >=14.17'}
2050
+ dependencies:
2051
+ brace-expansion: 2.0.1
2052
+ dev: true
2053
+
2054
+ /minimist@1.2.8:
2055
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
2056
+ dev: true
2057
+
2058
+ /minipass@7.0.4:
2059
+ resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
2060
+ engines: {node: '>=16 || 14 >=14.17'}
2061
+ dev: true
2062
+
2063
+ /mkdirp@0.5.6:
2064
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
2065
+ hasBin: true
2066
+ dependencies:
2067
+ minimist: 1.2.8
2068
+ dev: true
2069
+
2070
+ /mri@1.2.0:
2071
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
2072
+ engines: {node: '>=4'}
2073
+ dev: false
2074
+
2075
+ /ms@2.1.2:
2076
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
2077
+ dev: true
2078
+
2079
+ /mz@2.7.0:
2080
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
2081
+ dependencies:
2082
+ any-promise: 1.3.0
2083
+ object-assign: 4.1.1
2084
+ thenify-all: 1.6.0
2085
+ dev: true
2086
+
2087
+ /nanoid@3.3.7:
2088
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
2089
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2090
+ hasBin: true
2091
+ dev: true
2092
+
2093
+ /next-tick@1.1.0:
2094
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
2095
+ dev: false
2096
+
2097
+ /node-gyp-build@4.8.0:
2098
+ resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==}
2099
+ hasBin: true
2100
+ dev: false
2101
+
2102
+ /normalize-path@3.0.0:
2103
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
2104
+ engines: {node: '>=0.10.0'}
2105
+ dev: true
2106
+
2107
+ /object-assign@4.1.1:
2108
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
2109
+ engines: {node: '>=0.10.0'}
2110
+ dev: true
2111
+
2112
+ /once@1.4.0:
2113
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
2114
+ dependencies:
2115
+ wrappy: 1.0.2
2116
+ dev: true
2117
+
2118
+ /path-browserify@1.0.1:
2119
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
2120
+ dev: false
2121
+
2122
+ /path-is-absolute@1.0.1:
2123
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
2124
+ engines: {node: '>=0.10.0'}
2125
+ dev: true
2126
+
2127
+ /path-key@3.1.1:
2128
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2129
+ engines: {node: '>=8'}
2130
+ dev: true
2131
+
2132
+ /path-parse@1.0.7:
2133
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2134
+ dev: true
2135
+
2136
+ /path-scurry@1.10.2:
2137
+ resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
2138
+ engines: {node: '>=16 || 14 >=14.17'}
2139
+ dependencies:
2140
+ lru-cache: 10.2.1
2141
+ minipass: 7.0.4
2142
+ dev: true
2143
+
2144
+ /periscopic@3.1.0:
2145
+ resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
2146
+ dependencies:
2147
+ '@types/estree': 1.0.5
2148
+ estree-walker: 3.0.3
2149
+ is-reference: 3.0.2
2150
+
2151
+ /picocolors@1.0.0:
2152
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
2153
+ dev: true
2154
+
2155
+ /picomatch@2.3.1:
2156
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2157
+ engines: {node: '>=8.6'}
2158
+ dev: true
2159
+
2160
+ /pirates@4.0.6:
2161
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
2162
+ engines: {node: '>= 6'}
2163
+ dev: true
2164
+
2165
+ /postcss@8.4.38:
2166
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
2167
+ engines: {node: ^10 || ^12 || >=14}
2168
+ dependencies:
2169
+ nanoid: 3.3.7
2170
+ picocolors: 1.0.0
2171
+ source-map-js: 1.2.0
2172
+ dev: true
2173
+
2174
+ /promise@7.3.1:
2175
+ resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
2176
+ dependencies:
2177
+ asap: 2.0.6
2178
+ dev: true
2179
+
2180
+ /pug-attrs@3.0.0:
2181
+ resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==}
2182
+ dependencies:
2183
+ constantinople: 4.0.1
2184
+ js-stringify: 1.0.2
2185
+ pug-runtime: 3.0.1
2186
+ dev: true
2187
+
2188
+ /pug-code-gen@3.0.2:
2189
+ resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==}
2190
+ dependencies:
2191
+ constantinople: 4.0.1
2192
+ doctypes: 1.1.0
2193
+ js-stringify: 1.0.2
2194
+ pug-attrs: 3.0.0
2195
+ pug-error: 2.0.0
2196
+ pug-runtime: 3.0.1
2197
+ void-elements: 3.1.0
2198
+ with: 7.0.2
2199
+ dev: true
2200
+
2201
+ /pug-error@2.0.0:
2202
+ resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==}
2203
+ dev: true
2204
+
2205
+ /pug-filters@4.0.0:
2206
+ resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==}
2207
+ dependencies:
2208
+ constantinople: 4.0.1
2209
+ jstransformer: 1.0.0
2210
+ pug-error: 2.0.0
2211
+ pug-walk: 2.0.0
2212
+ resolve: 1.22.8
2213
+ dev: true
2214
+
2215
+ /pug-lexer@5.0.1:
2216
+ resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==}
2217
+ dependencies:
2218
+ character-parser: 2.2.0
2219
+ is-expression: 4.0.0
2220
+ pug-error: 2.0.0
2221
+ dev: true
2222
+
2223
+ /pug-linker@4.0.0:
2224
+ resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==}
2225
+ dependencies:
2226
+ pug-error: 2.0.0
2227
+ pug-walk: 2.0.0
2228
+ dev: true
2229
+
2230
+ /pug-load@3.0.0:
2231
+ resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==}
2232
+ dependencies:
2233
+ object-assign: 4.1.1
2234
+ pug-walk: 2.0.0
2235
+ dev: true
2236
+
2237
+ /pug-parser@6.0.0:
2238
+ resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==}
2239
+ dependencies:
2240
+ pug-error: 2.0.0
2241
+ token-stream: 1.0.0
2242
+ dev: true
2243
+
2244
+ /pug-runtime@3.0.1:
2245
+ resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==}
2246
+ dev: true
2247
+
2248
+ /pug-strip-comments@2.0.0:
2249
+ resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==}
2250
+ dependencies:
2251
+ pug-error: 2.0.0
2252
+ dev: true
2253
+
2254
+ /pug-walk@2.0.0:
2255
+ resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==}
2256
+ dev: true
2257
+
2258
+ /pug@3.0.2:
2259
+ resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==}
2260
+ dependencies:
2261
+ pug-code-gen: 3.0.2
2262
+ pug-filters: 4.0.0
2263
+ pug-lexer: 5.0.1
2264
+ pug-linker: 4.0.0
2265
+ pug-load: 3.0.0
2266
+ pug-parser: 6.0.0
2267
+ pug-runtime: 3.0.1
2268
+ pug-strip-comments: 2.0.0
2269
+ dev: true
2270
+
2271
+ /readdirp@3.6.0:
2272
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
2273
+ engines: {node: '>=8.10.0'}
2274
+ dependencies:
2275
+ picomatch: 2.3.1
2276
+ dev: true
2277
+
2278
+ /resize-observer-polyfill@1.5.1:
2279
+ resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
2280
+ dev: false
2281
+
2282
+ /resolve@1.22.8:
2283
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
2284
+ hasBin: true
2285
+ dependencies:
2286
+ is-core-module: 2.13.1
2287
+ path-parse: 1.0.7
2288
+ supports-preserve-symlinks-flag: 1.0.0
2289
+ dev: true
2290
+
2291
+ /rimraf@2.7.1:
2292
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
2293
+ hasBin: true
2294
+ dependencies:
2295
+ glob: 7.2.3
2296
+ dev: true
2297
+
2298
+ /rollup@4.16.4:
2299
+ resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==}
2300
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
2301
+ hasBin: true
2302
+ dependencies:
2303
+ '@types/estree': 1.0.5
2304
+ optionalDependencies:
2305
+ '@rollup/rollup-android-arm-eabi': 4.16.4
2306
+ '@rollup/rollup-android-arm64': 4.16.4
2307
+ '@rollup/rollup-darwin-arm64': 4.16.4
2308
+ '@rollup/rollup-darwin-x64': 4.16.4
2309
+ '@rollup/rollup-linux-arm-gnueabihf': 4.16.4
2310
+ '@rollup/rollup-linux-arm-musleabihf': 4.16.4
2311
+ '@rollup/rollup-linux-arm64-gnu': 4.16.4
2312
+ '@rollup/rollup-linux-arm64-musl': 4.16.4
2313
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.16.4
2314
+ '@rollup/rollup-linux-riscv64-gnu': 4.16.4
2315
+ '@rollup/rollup-linux-s390x-gnu': 4.16.4
2316
+ '@rollup/rollup-linux-x64-gnu': 4.16.4
2317
+ '@rollup/rollup-linux-x64-musl': 4.16.4
2318
+ '@rollup/rollup-win32-arm64-msvc': 4.16.4
2319
+ '@rollup/rollup-win32-ia32-msvc': 4.16.4
2320
+ '@rollup/rollup-win32-x64-msvc': 4.16.4
2321
+ fsevents: 2.3.3
2322
+ dev: true
2323
+
2324
+ /sade@1.8.1:
2325
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
2326
+ engines: {node: '>=6'}
2327
+ dependencies:
2328
+ mri: 1.2.0
2329
+ dev: false
2330
+
2331
+ /sander@0.5.1:
2332
+ resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
2333
+ dependencies:
2334
+ es6-promise: 3.3.1
2335
+ graceful-fs: 4.2.11
2336
+ mkdirp: 0.5.6
2337
+ rimraf: 2.7.1
2338
+ dev: true
2339
+
2340
+ /sass@1.75.0:
2341
+ resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==}
2342
+ engines: {node: '>=14.0.0'}
2343
+ hasBin: true
2344
+ dependencies:
2345
+ chokidar: 3.6.0
2346
+ immutable: 4.3.5
2347
+ source-map-js: 1.2.0
2348
+ dev: true
2349
+
2350
+ /sax@1.3.0:
2351
+ resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
2352
+ dev: true
2353
+
2354
+ /semiver@1.1.0:
2355
+ resolution: {integrity: sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==}
2356
+ engines: {node: '>=6'}
2357
+ dev: false
2358
+
2359
+ /set-function-length@1.2.2:
2360
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
2361
+ engines: {node: '>= 0.4'}
2362
+ dependencies:
2363
+ define-data-property: 1.1.4
2364
+ es-errors: 1.3.0
2365
+ function-bind: 1.1.2
2366
+ get-intrinsic: 1.2.4
2367
+ gopd: 1.0.1
2368
+ has-property-descriptors: 1.0.2
2369
+ dev: true
2370
+
2371
+ /shebang-command@2.0.0:
2372
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2373
+ engines: {node: '>=8'}
2374
+ dependencies:
2375
+ shebang-regex: 3.0.0
2376
+ dev: true
2377
+
2378
+ /shebang-regex@3.0.0:
2379
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2380
+ engines: {node: '>=8'}
2381
+ dev: true
2382
+
2383
+ /signal-exit@4.1.0:
2384
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
2385
+ engines: {node: '>=14'}
2386
+ dev: true
2387
+
2388
+ /sorcery@0.11.0:
2389
+ resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
2390
+ hasBin: true
2391
+ dependencies:
2392
+ '@jridgewell/sourcemap-codec': 1.4.15
2393
+ buffer-crc32: 0.2.13
2394
+ minimist: 1.2.8
2395
+ sander: 0.5.1
2396
+ dev: true
2397
+
2398
+ /source-map-js@1.2.0:
2399
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
2400
+ engines: {node: '>=0.10.0'}
2401
+
2402
+ /source-map@0.7.4:
2403
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
2404
+ engines: {node: '>= 8'}
2405
+ dev: true
2406
+
2407
+ /string-width@4.2.3:
2408
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
2409
+ engines: {node: '>=8'}
2410
+ dependencies:
2411
+ emoji-regex: 8.0.0
2412
+ is-fullwidth-code-point: 3.0.0
2413
+ strip-ansi: 6.0.1
2414
+ dev: true
2415
+
2416
+ /string-width@5.1.2:
2417
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
2418
+ engines: {node: '>=12'}
2419
+ dependencies:
2420
+ eastasianwidth: 0.2.0
2421
+ emoji-regex: 9.2.2
2422
+ strip-ansi: 7.1.0
2423
+ dev: true
2424
+
2425
+ /strip-ansi@6.0.1:
2426
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2427
+ engines: {node: '>=8'}
2428
+ dependencies:
2429
+ ansi-regex: 5.0.1
2430
+ dev: true
2431
+
2432
+ /strip-ansi@7.1.0:
2433
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
2434
+ engines: {node: '>=12'}
2435
+ dependencies:
2436
+ ansi-regex: 6.0.1
2437
+ dev: true
2438
+
2439
+ /strip-indent@3.0.0:
2440
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
2441
+ engines: {node: '>=8'}
2442
+ dependencies:
2443
+ min-indent: 1.0.1
2444
+ dev: true
2445
+
2446
+ /stylus@0.63.0:
2447
+ resolution: {integrity: sha512-OMlgrTCPzE/ibtRMoeLVhOY0RcNuNWh0rhAVqeKnk/QwcuUKQbnqhZ1kg2vzD8VU/6h3FoPTq4RJPHgLBvX6Bw==}
2448
+ hasBin: true
2449
+ dependencies:
2450
+ '@adobe/css-tools': 4.3.3
2451
+ debug: 4.3.4
2452
+ glob: 7.2.3
2453
+ sax: 1.3.0
2454
+ source-map: 0.7.4
2455
+ transitivePeerDependencies:
2456
+ - supports-color
2457
+ dev: true
2458
+
2459
+ /sucrase@3.35.0:
2460
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
2461
+ engines: {node: '>=16 || 14 >=14.17'}
2462
+ hasBin: true
2463
+ dependencies:
2464
+ '@jridgewell/gen-mapping': 0.3.5
2465
+ commander: 4.1.1
2466
+ glob: 10.3.12
2467
+ lines-and-columns: 1.2.4
2468
+ mz: 2.7.0
2469
+ pirates: 4.0.6
2470
+ ts-interface-checker: 0.1.13
2471
+ dev: true
2472
+
2473
+ /sugarss@4.0.1(postcss@8.4.38):
2474
+ resolution: {integrity: sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==}
2475
+ engines: {node: '>=12.0'}
2476
+ peerDependencies:
2477
+ postcss: ^8.3.3
2478
+ dependencies:
2479
+ postcss: 8.4.38
2480
+ dev: true
2481
+
2482
+ /supports-preserve-symlinks-flag@1.0.0:
2483
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2484
+ engines: {node: '>= 0.4'}
2485
+ dev: true
2486
+
2487
+ /svelte-hmr@0.16.0(svelte@4.2.15):
2488
+ resolution: {integrity: sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==}
2489
+ engines: {node: ^12.20 || ^14.13.1 || >= 16}
2490
+ peerDependencies:
2491
+ svelte: ^3.19.0 || ^4.0.0
2492
+ dependencies:
2493
+ svelte: 4.2.15
2494
+ dev: true
2495
+
2496
+ /svelte-i18n@3.7.4(svelte@4.2.15):
2497
+ resolution: {integrity: sha512-yGRCNo+eBT4cPuU7IVsYTYjxB7I2V8qgUZPlHnNctJj5IgbJgV78flsRzpjZ/8iUYZrS49oCt7uxlU3AZv/N5Q==}
2498
+ engines: {node: '>= 16'}
2499
+ hasBin: true
2500
+ peerDependencies:
2501
+ svelte: ^3 || ^4
2502
+ dependencies:
2503
+ cli-color: 2.0.4
2504
+ deepmerge: 4.3.1
2505
+ esbuild: 0.19.12
2506
+ estree-walker: 2.0.2
2507
+ intl-messageformat: 9.13.0
2508
+ sade: 1.8.1
2509
+ svelte: 4.2.15
2510
+ tiny-glob: 0.2.9
2511
+ dev: false
2512
+
2513
+ /svelte-preprocess@5.1.4(coffeescript@2.7.0)(postcss@8.4.38)(pug@3.0.2)(sass@1.75.0)(stylus@0.63.0)(sugarss@4.0.1)(svelte@4.2.15)(typescript@5.4.5):
2514
+ resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==}
2515
+ engines: {node: '>= 16.0.0'}
2516
+ requiresBuild: true
2517
+ peerDependencies:
2518
+ '@babel/core': ^7.10.2
2519
+ coffeescript: ^2.5.1
2520
+ less: ^3.11.3 || ^4.0.0
2521
+ postcss: ^7 || ^8
2522
+ postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0
2523
+ pug: ^3.0.0
2524
+ sass: ^1.26.8
2525
+ stylus: ^0.55.0
2526
+ sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
2527
+ svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
2528
+ typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
2529
+ peerDependenciesMeta:
2530
+ '@babel/core':
2531
+ optional: true
2532
+ coffeescript:
2533
+ optional: true
2534
+ less:
2535
+ optional: true
2536
+ postcss:
2537
+ optional: true
2538
+ postcss-load-config:
2539
+ optional: true
2540
+ pug:
2541
+ optional: true
2542
+ sass:
2543
+ optional: true
2544
+ stylus:
2545
+ optional: true
2546
+ sugarss:
2547
+ optional: true
2548
+ typescript:
2549
+ optional: true
2550
+ dependencies:
2551
+ '@types/pug': 2.0.10
2552
+ coffeescript: 2.7.0
2553
+ detect-indent: 6.1.0
2554
+ magic-string: 0.30.10
2555
+ postcss: 8.4.38
2556
+ pug: 3.0.2
2557
+ sass: 1.75.0
2558
+ sorcery: 0.11.0
2559
+ strip-indent: 3.0.0
2560
+ stylus: 0.63.0
2561
+ sugarss: 4.0.1(postcss@8.4.38)
2562
+ svelte: 4.2.15
2563
+ typescript: 5.4.5
2564
+ dev: true
2565
+
2566
+ /svelte@4.2.15:
2567
+ resolution: {integrity: sha512-j9KJSccHgLeRERPlhMKrCXpk2TqL2m5Z+k+OBTQhZOhIdCCd3WfqV+ylPWeipEwq17P/ekiSFWwrVQv93i3bsg==}
2568
+ engines: {node: '>=16'}
2569
+ dependencies:
2570
+ '@ampproject/remapping': 2.3.0
2571
+ '@jridgewell/sourcemap-codec': 1.4.15
2572
+ '@jridgewell/trace-mapping': 0.3.25
2573
+ '@types/estree': 1.0.5
2574
+ acorn: 8.11.3
2575
+ aria-query: 5.3.0
2576
+ axobject-query: 4.0.0
2577
+ code-red: 1.0.4
2578
+ css-tree: 2.3.1
2579
+ estree-walker: 3.0.3
2580
+ is-reference: 3.0.2
2581
+ locate-character: 3.0.0
2582
+ magic-string: 0.30.10
2583
+ periscopic: 3.1.0
2584
+
2585
+ /tailwindcss@4.0.0-alpha.14:
2586
+ resolution: {integrity: sha512-7qAhQPrsWyaaDk0IjOEhTEdgDWsN0MjB3kk38DxK5vXqPJ7C57FYlARA6vrE36WL0K/mYdAA54vWJbWbDfoVcQ==}
2587
+ dev: true
2588
+
2589
+ /thenify-all@1.6.0:
2590
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
2591
+ engines: {node: '>=0.8'}
2592
+ dependencies:
2593
+ thenify: 3.3.1
2594
+ dev: true
2595
+
2596
+ /thenify@3.3.1:
2597
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
2598
+ dependencies:
2599
+ any-promise: 1.3.0
2600
+ dev: true
2601
+
2602
+ /timers-ext@0.1.7:
2603
+ resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
2604
+ dependencies:
2605
+ es5-ext: 0.10.64
2606
+ next-tick: 1.1.0
2607
+ dev: false
2608
+
2609
+ /tiny-glob@0.2.9:
2610
+ resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
2611
+ dependencies:
2612
+ globalyzer: 0.1.0
2613
+ globrex: 0.1.2
2614
+ dev: false
2615
+
2616
+ /to-fast-properties@2.0.0:
2617
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
2618
+ engines: {node: '>=4'}
2619
+ dev: true
2620
+
2621
+ /to-regex-range@5.0.1:
2622
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2623
+ engines: {node: '>=8.0'}
2624
+ dependencies:
2625
+ is-number: 7.0.0
2626
+ dev: true
2627
+
2628
+ /token-stream@1.0.0:
2629
+ resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==}
2630
+ dev: true
2631
+
2632
+ /ts-interface-checker@0.1.13:
2633
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
2634
+ dev: true
2635
+
2636
+ /tslib@2.6.2:
2637
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
2638
+ dev: false
2639
+
2640
+ /type@2.7.2:
2641
+ resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
2642
+ dev: false
2643
+
2644
+ /typescript@5.4.5:
2645
+ resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
2646
+ engines: {node: '>=14.17'}
2647
+ hasBin: true
2648
+
2649
+ /vite@5.2.10(lightningcss@1.24.1)(sass@1.75.0)(stylus@0.63.0)(sugarss@4.0.1):
2650
+ resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==}
2651
+ engines: {node: ^18.0.0 || >=20.0.0}
2652
+ hasBin: true
2653
+ peerDependencies:
2654
+ '@types/node': ^18.0.0 || >=20.0.0
2655
+ less: '*'
2656
+ lightningcss: ^1.21.0
2657
+ sass: '*'
2658
+ stylus: '*'
2659
+ sugarss: '*'
2660
+ terser: ^5.4.0
2661
+ peerDependenciesMeta:
2662
+ '@types/node':
2663
+ optional: true
2664
+ less:
2665
+ optional: true
2666
+ lightningcss:
2667
+ optional: true
2668
+ sass:
2669
+ optional: true
2670
+ stylus:
2671
+ optional: true
2672
+ sugarss:
2673
+ optional: true
2674
+ terser:
2675
+ optional: true
2676
+ dependencies:
2677
+ esbuild: 0.20.2
2678
+ lightningcss: 1.24.1
2679
+ postcss: 8.4.38
2680
+ rollup: 4.16.4
2681
+ sass: 1.75.0
2682
+ stylus: 0.63.0
2683
+ sugarss: 4.0.1(postcss@8.4.38)
2684
+ optionalDependencies:
2685
+ fsevents: 2.3.3
2686
+ dev: true
2687
+
2688
+ /vitefu@0.2.5(vite@5.2.10):
2689
+ resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
2690
+ peerDependencies:
2691
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0
2692
+ peerDependenciesMeta:
2693
+ vite:
2694
+ optional: true
2695
+ dependencies:
2696
+ vite: 5.2.10(lightningcss@1.24.1)(sass@1.75.0)(stylus@0.63.0)(sugarss@4.0.1)
2697
+ dev: true
2698
+
2699
+ /void-elements@3.1.0:
2700
+ resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
2701
+ engines: {node: '>=0.10.0'}
2702
+ dev: true
2703
+
2704
+ /which@2.0.2:
2705
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2706
+ engines: {node: '>= 8'}
2707
+ hasBin: true
2708
+ dependencies:
2709
+ isexe: 2.0.0
2710
+ dev: true
2711
+
2712
+ /which@4.0.0:
2713
+ resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
2714
+ engines: {node: ^16.13.0 || >=18.0.0}
2715
+ hasBin: true
2716
+ dependencies:
2717
+ isexe: 3.1.1
2718
+ dev: true
2719
+
2720
+ /with@7.0.2:
2721
+ resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==}
2722
+ engines: {node: '>= 10.0.0'}
2723
+ dependencies:
2724
+ '@babel/parser': 7.24.4
2725
+ '@babel/types': 7.24.0
2726
+ assert-never: 1.2.1
2727
+ babel-walk: 3.0.0-canary-5
2728
+ dev: true
2729
+
2730
+ /wrap-ansi@7.0.0:
2731
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2732
+ engines: {node: '>=10'}
2733
+ dependencies:
2734
+ ansi-styles: 4.3.0
2735
+ string-width: 4.2.3
2736
+ strip-ansi: 6.0.1
2737
+ dev: true
2738
+
2739
+ /wrap-ansi@8.1.0:
2740
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
2741
+ engines: {node: '>=12'}
2742
+ dependencies:
2743
+ ansi-styles: 6.2.1
2744
+ string-width: 5.1.2
2745
+ strip-ansi: 7.1.0
2746
+ dev: true
2747
+
2748
+ /wrappy@1.0.2:
2749
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2750
+ dev: true
2751
+
2752
+ /ws@8.16.0(bufferutil@4.0.8):
2753
+ resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
2754
+ engines: {node: '>=10.0.0'}
2755
+ peerDependencies:
2756
+ bufferutil: ^4.0.1
2757
+ utf-8-validate: '>=5.0.2'
2758
+ peerDependenciesMeta:
2759
+ bufferutil:
2760
+ optional: true
2761
+ utf-8-validate:
2762
+ optional: true
2763
+ dependencies:
2764
+ bufferutil: 4.0.8
2765
+ dev: false
2766
+
2767
+ /yootils@0.3.1:
2768
+ resolution: {integrity: sha512-A7AMeJfGefk317I/3tBoUYRcDcNavKEkpiPN/nQsBz/viI2GvT7BtrqdPD6rGqBFN8Ax7v4obf+Cl32JF9DDVw==}
2769
+ dev: true
src/pyproject.toml ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [build-system]
2
+ requires = [
3
+ "hatchling",
4
+ "hatch-requirements-txt",
5
+ "hatch-fancy-pypi-readme>=22.5.0",
6
+ ]
7
+ build-backend = "hatchling.build"
8
+
9
+ [project]
10
+ name = "gradio_rerun"
11
+ version = "0.0.1"
12
+ description = "Rerun viewer with Gradio"
13
+ readme = "README.md"
14
+ license = "apache-2.0"
15
+ requires-python = ">=3.8"
16
+ authors = [{ name = "Radamés Ajna", email = "radamajna@gmail.com" }]
17
+ keywords = ["gradio-custom-component", "multimodal data", "visualization", "machine learning", "robotics", "Rerun", "rerun-viewer"]
18
+ # Add dependencies here
19
+ dependencies = ["gradio>=4.0,<5.0"]
20
+ classifiers = [
21
+ 'Development Status :: 3 - Alpha',
22
+ 'Operating System :: OS Independent',
23
+ 'Programming Language :: Python :: 3',
24
+ 'Programming Language :: Python :: 3 :: Only',
25
+ 'Programming Language :: Python :: 3.8',
26
+ 'Programming Language :: Python :: 3.9',
27
+ 'Programming Language :: Python :: 3.10',
28
+ 'Programming Language :: Python :: 3.11',
29
+ 'Topic :: Scientific/Engineering',
30
+ 'Topic :: Scientific/Engineering :: Artificial Intelligence',
31
+ 'Topic :: Scientific/Engineering :: Visualization',
32
+ ]
33
+
34
+ # The repository and space URLs are optional, but recommended.
35
+ # Adding a repository URL will create a badge in the auto-generated README that links to the repository.
36
+ # Adding a space URL will create a badge in the auto-generated README that links to the space.
37
+ # This will make it easy for people to find your deployed demo or source code when they
38
+ # encounter your project in the wild.
39
+
40
+ [project.urls]
41
+ repository = "https://github.com/radames/gradio-rerun-viewer"
42
+ # space = "your space url"
43
+
44
+ [project.optional-dependencies]
45
+ dev = ["build", "twine"]
46
+
47
+ [tool.hatch.build]
48
+ artifacts = ["/backend/gradio_rerun/templates", "*.pyi"]
49
+
50
+ [tool.hatch.build.targets.wheel]
51
+ packages = ["/backend/gradio_rerun"]