@cryptotaxi247 / CoPilot / commits / 415d892a

docs: add Remotion animated hub hero to docs home (#704)

Co-authored-by: Clawdbot <clawdbot@Clawdbots-Mac-mini.local>

taylorcopilot committed Feb 14, 2026 at 13:10 UTC 415d892aedb63b7155788fa72f2f67f08ef93d4e
9 files changed +2991
docs/assets/hero/copilot-hub.mp4
Binary files /dev/null and b/docs/assets/hero/copilot-hub.mp4 differ
docs/assets/hero/copilot-hub.webm
Binary files /dev/null and b/docs/assets/hero/copilot-hub.webm differ
docs/index.md
+5
@@ -2,6 +2,11 @@
2
3 CoPilot is a **single pane of glass** for operating an open‑source SOC/SIEM stack (Wazuh, Graylog, Velociraptor, Grafana, Shuffle, etc.).
4
5 +<video autoplay loop muted playsinline style="width:100%; border-radius:16px; margin: 12px 0 18px; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.02);">
6 + <source src="assets/hero/copilot-hub.webm" type="video/webm">
7 + <source src="assets/hero/copilot-hub.mp4" type="video/mp4">
8 +</video>
9 +
10 <div class="sf-home-grid" markdown>
11
12 <div class="sf-card" markdown>
tools/remotion-hero/package-lock.json new
+2582
@@ -0,0 +1,2582 @@
1 +{
2 + "name": "remotion-hero",
3 + "version": "1.0.0",
4 + "lockfileVersion": 3,
5 + "requires": true,
6 + "packages": {
7 + "": {
8 + "name": "remotion-hero",
9 + "version": "1.0.0",
10 + "dependencies": {
11 + "@remotion/bundler": "^4.0.422",
12 + "@remotion/renderer": "^4.0.363",
13 + "lucide-react": "^0.542.0",
14 + "react": "^19.1.1",
15 + "react-dom": "^19.1.1",
16 + "remotion": "^4.0.363"
17 + }
18 + },
19 + "node_modules/@esbuild/aix-ppc64": {
20 + "version": "0.25.0",
21 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz",
22 + "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==",
23 + "cpu": [
24 + "ppc64"
25 + ],
26 + "license": "MIT",
27 + "optional": true,
28 + "os": [
29 + "aix"
30 + ],
31 + "engines": {
32 + "node": ">=18"
33 + }
34 + },
35 + "node_modules/@esbuild/android-arm": {
36 + "version": "0.25.0",
37 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz",
38 + "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==",
39 + "cpu": [
40 + "arm"
41 + ],
42 + "license": "MIT",
43 + "optional": true,
44 + "os": [
45 + "android"
46 + ],
47 + "engines": {
48 + "node": ">=18"
49 + }
50 + },
51 + "node_modules/@esbuild/android-arm64": {
52 + "version": "0.25.0",
53 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz",
54 + "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==",
55 + "cpu": [
56 + "arm64"
57 + ],
58 + "license": "MIT",
59 + "optional": true,
60 + "os": [
61 + "android"
62 + ],
63 + "engines": {
64 + "node": ">=18"
65 + }
66 + },
67 + "node_modules/@esbuild/android-x64": {
68 + "version": "0.25.0",
69 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz",
70 + "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==",
71 + "cpu": [
72 + "x64"
73 + ],
74 + "license": "MIT",
75 + "optional": true,
76 + "os": [
77 + "android"
78 + ],
79 + "engines": {
80 + "node": ">=18"
81 + }
82 + },
83 + "node_modules/@esbuild/darwin-arm64": {
84 + "version": "0.25.0",
85 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz",
86 + "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==",
87 + "cpu": [
88 + "arm64"
89 + ],
90 + "license": "MIT",
91 + "optional": true,
92 + "os": [
93 + "darwin"
94 + ],
95 + "engines": {
96 + "node": ">=18"
97 + }
98 + },
99 + "node_modules/@esbuild/darwin-x64": {
100 + "version": "0.25.0",
101 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz",
102 + "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==",
103 + "cpu": [
104 + "x64"
105 + ],
106 + "license": "MIT",
107 + "optional": true,
108 + "os": [
109 + "darwin"
110 + ],
111 + "engines": {
112 + "node": ">=18"
113 + }
114 + },
115 + "node_modules/@esbuild/freebsd-arm64": {
116 + "version": "0.25.0",
117 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz",
118 + "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==",
119 + "cpu": [
120 + "arm64"
121 + ],
122 + "license": "MIT",
123 + "optional": true,
124 + "os": [
125 + "freebsd"
126 + ],
127 + "engines": {
128 + "node": ">=18"
129 + }
130 + },
131 + "node_modules/@esbuild/freebsd-x64": {
132 + "version": "0.25.0",
133 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz",
134 + "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==",
135 + "cpu": [
136 + "x64"
137 + ],
138 + "license": "MIT",
139 + "optional": true,
140 + "os": [
141 + "freebsd"
142 + ],
143 + "engines": {
144 + "node": ">=18"
145 + }
146 + },
147 + "node_modules/@esbuild/linux-arm": {
148 + "version": "0.25.0",
149 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz",
150 + "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==",
151 + "cpu": [
152 + "arm"
153 + ],
154 + "license": "MIT",
155 + "optional": true,
156 + "os": [
157 + "linux"
158 + ],
159 + "engines": {
160 + "node": ">=18"
161 + }
162 + },
163 + "node_modules/@esbuild/linux-arm64": {
164 + "version": "0.25.0",
165 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz",
166 + "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==",
167 + "cpu": [
168 + "arm64"
169 + ],
170 + "license": "MIT",
171 + "optional": true,
172 + "os": [
173 + "linux"
174 + ],
175 + "engines": {
176 + "node": ">=18"
177 + }
178 + },
179 + "node_modules/@esbuild/linux-ia32": {
180 + "version": "0.25.0",
181 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz",
182 + "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==",
183 + "cpu": [
184 + "ia32"
185 + ],
186 + "license": "MIT",
187 + "optional": true,
188 + "os": [
189 + "linux"
190 + ],
191 + "engines": {
192 + "node": ">=18"
193 + }
194 + },
195 + "node_modules/@esbuild/linux-loong64": {
196 + "version": "0.25.0",
197 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz",
198 + "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==",
199 + "cpu": [
200 + "loong64"
201 + ],
202 + "license": "MIT",
203 + "optional": true,
204 + "os": [
205 + "linux"
206 + ],
207 + "engines": {
208 + "node": ">=18"
209 + }
210 + },
211 + "node_modules/@esbuild/linux-mips64el": {
212 + "version": "0.25.0",
213 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz",
214 + "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==",
215 + "cpu": [
216 + "mips64el"
217 + ],
218 + "license": "MIT",
219 + "optional": true,
220 + "os": [
221 + "linux"
222 + ],
223 + "engines": {
224 + "node": ">=18"
225 + }
226 + },
227 + "node_modules/@esbuild/linux-ppc64": {
228 + "version": "0.25.0",
229 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz",
230 + "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==",
231 + "cpu": [
232 + "ppc64"
233 + ],
234 + "license": "MIT",
235 + "optional": true,
236 + "os": [
237 + "linux"
238 + ],
239 + "engines": {
240 + "node": ">=18"
241 + }
242 + },
243 + "node_modules/@esbuild/linux-riscv64": {
244 + "version": "0.25.0",
245 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz",
246 + "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==",
247 + "cpu": [
248 + "riscv64"
249 + ],
250 + "license": "MIT",
251 + "optional": true,
252 + "os": [
253 + "linux"
254 + ],
255 + "engines": {
256 + "node": ">=18"
257 + }
258 + },
259 + "node_modules/@esbuild/linux-s390x": {
260 + "version": "0.25.0",
261 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz",
262 + "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==",
263 + "cpu": [
264 + "s390x"
265 + ],
266 + "license": "MIT",
267 + "optional": true,
268 + "os": [
269 + "linux"
270 + ],
271 + "engines": {
272 + "node": ">=18"
273 + }
274 + },
275 + "node_modules/@esbuild/linux-x64": {
276 + "version": "0.25.0",
277 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz",
278 + "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==",
279 + "cpu": [
280 + "x64"
281 + ],
282 + "license": "MIT",
283 + "optional": true,
284 + "os": [
285 + "linux"
286 + ],
287 + "engines": {
288 + "node": ">=18"
289 + }
290 + },
291 + "node_modules/@esbuild/netbsd-arm64": {
292 + "version": "0.25.0",
293 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz",
294 + "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==",
295 + "cpu": [
296 + "arm64"
297 + ],
298 + "license": "MIT",
299 + "optional": true,
300 + "os": [
301 + "netbsd"
302 + ],
303 + "engines": {
304 + "node": ">=18"
305 + }
306 + },
307 + "node_modules/@esbuild/netbsd-x64": {
308 + "version": "0.25.0",
309 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz",
310 + "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==",
311 + "cpu": [
312 + "x64"
313 + ],
314 + "license": "MIT",
315 + "optional": true,
316 + "os": [
317 + "netbsd"
318 + ],
319 + "engines": {
320 + "node": ">=18"
321 + }
322 + },
323 + "node_modules/@esbuild/openbsd-arm64": {
324 + "version": "0.25.0",
325 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz",
326 + "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==",
327 + "cpu": [
328 + "arm64"
329 + ],
330 + "license": "MIT",
331 + "optional": true,
332 + "os": [
333 + "openbsd"
334 + ],
335 + "engines": {
336 + "node": ">=18"
337 + }
338 + },
339 + "node_modules/@esbuild/openbsd-x64": {
340 + "version": "0.25.0",
341 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz",
342 + "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==",
343 + "cpu": [
344 + "x64"
345 + ],
346 + "license": "MIT",
347 + "optional": true,
348 + "os": [
349 + "openbsd"
350 + ],
351 + "engines": {
352 + "node": ">=18"
353 + }
354 + },
355 + "node_modules/@esbuild/sunos-x64": {
356 + "version": "0.25.0",
357 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz",
358 + "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==",
359 + "cpu": [
360 + "x64"
361 + ],
362 + "license": "MIT",
363 + "optional": true,
364 + "os": [
365 + "sunos"
366 + ],
367 + "engines": {
368 + "node": ">=18"
369 + }
370 + },
371 + "node_modules/@esbuild/win32-arm64": {
372 + "version": "0.25.0",
373 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz",
374 + "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==",
375 + "cpu": [
376 + "arm64"
377 + ],
378 + "license": "MIT",
379 + "optional": true,
380 + "os": [
381 + "win32"
382 + ],
383 + "engines": {
384 + "node": ">=18"
385 + }
386 + },
387 + "node_modules/@esbuild/win32-ia32": {
388 + "version": "0.25.0",
389 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz",
390 + "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==",
391 + "cpu": [
392 + "ia32"
393 + ],
394 + "license": "MIT",
395 + "optional": true,
396 + "os": [
397 + "win32"
398 + ],
399 + "engines": {
400 + "node": ">=18"
401 + }
402 + },
403 + "node_modules/@esbuild/win32-x64": {
404 + "version": "0.25.0",
405 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz",
406 + "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==",
407 + "cpu": [
408 + "x64"
409 + ],
410 + "license": "MIT",
411 + "optional": true,
412 + "os": [
413 + "win32"
414 + ],
415 + "engines": {
416 + "node": ">=18"
417 + }
418 + },
419 + "node_modules/@jridgewell/gen-mapping": {
420 + "version": "0.3.13",
421 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
422 + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
423 + "license": "MIT",
424 + "dependencies": {
425 + "@jridgewell/sourcemap-codec": "^1.5.0",
426 + "@jridgewell/trace-mapping": "^0.3.24"
427 + }
428 + },
429 + "node_modules/@jridgewell/resolve-uri": {
430 + "version": "3.1.2",
431 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
432 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
433 + "license": "MIT",
434 + "engines": {
435 + "node": ">=6.0.0"
436 + }
437 + },
438 + "node_modules/@jridgewell/source-map": {
439 + "version": "0.3.11",
440 + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
441 + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
442 + "license": "MIT",
443 + "dependencies": {
444 + "@jridgewell/gen-mapping": "^0.3.5",
445 + "@jridgewell/trace-mapping": "^0.3.25"
446 + }
447 + },
448 + "node_modules/@jridgewell/sourcemap-codec": {
449 + "version": "1.5.5",
450 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
451 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
452 + "license": "MIT"
453 + },
454 + "node_modules/@jridgewell/trace-mapping": {
455 + "version": "0.3.31",
456 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
457 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
458 + "license": "MIT",
459 + "dependencies": {
460 + "@jridgewell/resolve-uri": "^3.1.0",
461 + "@jridgewell/sourcemap-codec": "^1.4.14"
462 + }
463 + },
464 + "node_modules/@remotion/bundler": {
465 + "version": "4.0.422",
466 + "resolved": "https://registry.npmjs.org/@remotion/bundler/-/bundler-4.0.422.tgz",
467 + "integrity": "sha512-C57PsRRPLV64FZfcRHN2YT2DtnOkDfH8nEudGTmOohZzfMbc1sM4of76vnVMUfC6GnRwmWHyB7+b743uKtN/Cw==",
468 + "license": "SEE LICENSE IN LICENSE.md",
469 + "dependencies": {
470 + "@remotion/media-parser": "4.0.422",
471 + "@remotion/studio": "4.0.422",
472 + "@remotion/studio-shared": "4.0.422",
473 + "css-loader": "5.2.7",
474 + "esbuild": "0.25.0",
475 + "react-refresh": "0.9.0",
476 + "remotion": "4.0.422",
477 + "source-map": "0.7.3",
478 + "style-loader": "4.0.0",
479 + "webpack": "5.105.0"
480 + },
481 + "peerDependencies": {
482 + "react": ">=16.8.0",
483 + "react-dom": ">=16.8.0"
484 + }
485 + },
486 + "node_modules/@remotion/bundler/node_modules/source-map": {
487 + "version": "0.7.3",
488 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
489 + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
490 + "license": "BSD-3-Clause",
491 + "engines": {
492 + "node": ">= 8"
493 + }
494 + },
495 + "node_modules/@remotion/compositor-darwin-arm64": {
496 + "version": "4.0.422",
497 + "resolved": "https://registry.npmjs.org/@remotion/compositor-darwin-arm64/-/compositor-darwin-arm64-4.0.422.tgz",
498 + "integrity": "sha512-QRkA7qjutTETL5QY2d53iWsS/HWAq0H3x+N8nE9Rn+J58CxDqmkyrb8MLeMbDsGd+qfIxvwax+WVkxrnzggp5A==",
499 + "cpu": [
500 + "arm64"
501 + ],
502 + "optional": true,
503 + "os": [
504 + "darwin"
505 + ]
506 + },
507 + "node_modules/@remotion/compositor-darwin-x64": {
508 + "version": "4.0.422",
509 + "resolved": "https://registry.npmjs.org/@remotion/compositor-darwin-x64/-/compositor-darwin-x64-4.0.422.tgz",
510 + "integrity": "sha512-SyqbzldBuR16Gi6IbZQod+zo5yI9bJ5uBk9V3tTOShZQnukNn5CLJVw2chgqa5eN7Etlc/YIW7JXzW8hCik0Vw==",
511 + "cpu": [
512 + "x64"
513 + ],
514 + "optional": true,
515 + "os": [
516 + "darwin"
517 + ]
518 + },
519 + "node_modules/@remotion/compositor-linux-arm64-gnu": {
520 + "version": "4.0.422",
521 + "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-arm64-gnu/-/compositor-linux-arm64-gnu-4.0.422.tgz",
522 + "integrity": "sha512-GIoaX8DREQg1uYL+RXv4Wbj0jem2UFp/dfcXB7PaK465BIzOI7xir8lNEv1Zv5GdXNZfxbjisgA79oQT7oZhPA==",
523 + "cpu": [
524 + "arm64"
525 + ],
526 + "optional": true,
527 + "os": [
528 + "linux"
529 + ]
530 + },
531 + "node_modules/@remotion/compositor-linux-arm64-musl": {
532 + "version": "4.0.422",
533 + "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-arm64-musl/-/compositor-linux-arm64-musl-4.0.422.tgz",
534 + "integrity": "sha512-wP7xwPmj9JBbCPk+UqeABwMzUYOQSfa8ZujSTmIRMMlmCUAvGYq8sL6womUzk2pnb8AZJbvThiD9lFSfhxLB4Q==",
535 + "cpu": [
536 + "arm64"
537 + ],
538 + "optional": true,
539 + "os": [
540 + "linux"
541 + ]
542 + },
543 + "node_modules/@remotion/compositor-linux-x64-gnu": {
544 + "version": "4.0.422",
545 + "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-x64-gnu/-/compositor-linux-x64-gnu-4.0.422.tgz",
546 + "integrity": "sha512-CPcucg1L+WQfzDOU1MdwjonGOnMOofsCFo6cbOfL/5ZlaxrOgItSEuVEuWTb03GnNGY6qIolbqLftO9hkzJMBQ==",
547 + "cpu": [
548 + "x64"
549 + ],
550 + "optional": true,
551 + "os": [
552 + "linux"
553 + ]
554 + },
555 + "node_modules/@remotion/compositor-linux-x64-musl": {
556 + "version": "4.0.422",
557 + "resolved": "https://registry.npmjs.org/@remotion/compositor-linux-x64-musl/-/compositor-linux-x64-musl-4.0.422.tgz",
558 + "integrity": "sha512-jU9zBo6j/c3GA0BNUhY1TLZv6S3ZNkQEBhH+hqspDA3fymcrWGxL0KDAO3vRwBXJS2SDQAJn3qRoSG44oFfV8Q==",
559 + "cpu": [
560 + "x64"
561 + ],
562 + "optional": true,
563 + "os": [
564 + "linux"
565 + ]
566 + },
567 + "node_modules/@remotion/compositor-win32-x64-msvc": {
568 + "version": "4.0.422",
569 + "resolved": "https://registry.npmjs.org/@remotion/compositor-win32-x64-msvc/-/compositor-win32-x64-msvc-4.0.422.tgz",
570 + "integrity": "sha512-CwMFLfwQWY/U5yrJ0dfcsApOnlGs0QmuhTFc45WgTwZrU/J9N4rfiRGqnc+lBAbMdypOJAjzCjXCbphUOGT91w==",
571 + "cpu": [
572 + "x64"
573 + ],
574 + "optional": true,
575 + "os": [
576 + "win32"
577 + ]
578 + },
579 + "node_modules/@remotion/licensing": {
580 + "version": "4.0.422",
581 + "resolved": "https://registry.npmjs.org/@remotion/licensing/-/licensing-4.0.422.tgz",
582 + "integrity": "sha512-A3r/i5NCE1g9yEKm4v3L5FzpPgARNK6nOFGaEqQek8ZBAPg26ppakSgvBPXwf5RBa+oZ5qlgBwr6OCrZGd8hzA==",
583 + "license": "MIT"
584 + },
585 + "node_modules/@remotion/media-parser": {
586 + "version": "4.0.422",
587 + "resolved": "https://registry.npmjs.org/@remotion/media-parser/-/media-parser-4.0.422.tgz",
588 + "integrity": "sha512-pcf60MSygwgQhs5l2yzkyuaVynkVuHd7Tifbn3WIoYWtVHFWAQB+gf4gr32IxpdKD1xMH/fvxEI/W7BkRvuhGA==",
589 + "license": "Remotion License https://remotion.dev/license"
590 + },
591 + "node_modules/@remotion/media-utils": {
592 + "version": "4.0.422",
593 + "resolved": "https://registry.npmjs.org/@remotion/media-utils/-/media-utils-4.0.422.tgz",
594 + "integrity": "sha512-uIDbk/XPFx0SoSMddxNW97+X84R3QhSC6+AkFH3F4Vldr16dEVc/zfDCXRIMYznM3LBuz1ziFaJBsaHQylQ3Jw==",
595 + "license": "MIT",
596 + "dependencies": {
597 + "@remotion/media-parser": "4.0.422",
598 + "@remotion/webcodecs": "4.0.422",
599 + "mediabunny": "1.29.0",
600 + "remotion": "4.0.422"
601 + },
602 + "peerDependencies": {
603 + "react": ">=16.8.0",
604 + "react-dom": ">=16.8.0"
605 + }
606 + },
607 + "node_modules/@remotion/player": {
608 + "version": "4.0.422",
609 + "resolved": "https://registry.npmjs.org/@remotion/player/-/player-4.0.422.tgz",
610 + "integrity": "sha512-Rt5WbL2FPIw6+ir2ypwNE3bJXTDEEtbYsLqf+8yd+Pw61w22aY/XqXkPCJLFGYETd2WwH+jJHL3EOdG7damKUA==",
611 + "license": "SEE LICENSE IN LICENSE.md",
612 + "dependencies": {
613 + "remotion": "4.0.422"
614 + },
615 + "peerDependencies": {
616 + "react": ">=16.8.0",
617 + "react-dom": ">=16.8.0"
618 + }
619 + },
620 + "node_modules/@remotion/renderer": {
621 + "version": "4.0.422",
622 + "resolved": "https://registry.npmjs.org/@remotion/renderer/-/renderer-4.0.422.tgz",
623 + "integrity": "sha512-o58v9yUjrg4b0JxXjTDP/bcgaERtRMAc/hnZJfY9IqcRxaxAz/Z0iIMKIXnNRFDgdrSmVvI6FyKSAiWGrSLlPw==",
624 + "license": "SEE LICENSE IN LICENSE.md",
625 + "dependencies": {
626 + "@remotion/licensing": "4.0.422",
627 + "@remotion/streaming": "4.0.422",
628 + "execa": "5.1.1",
629 + "extract-zip": "2.0.1",
630 + "remotion": "4.0.422",
631 + "source-map": "^0.8.0-beta.0",
632 + "ws": "8.17.1"
633 + },
634 + "optionalDependencies": {
635 + "@remotion/compositor-darwin-arm64": "4.0.422",
636 + "@remotion/compositor-darwin-x64": "4.0.422",
637 + "@remotion/compositor-linux-arm64-gnu": "4.0.422",
638 + "@remotion/compositor-linux-arm64-musl": "4.0.422",
639 + "@remotion/compositor-linux-x64-gnu": "4.0.422",
640 + "@remotion/compositor-linux-x64-musl": "4.0.422",
641 + "@remotion/compositor-win32-x64-msvc": "4.0.422"
642 + },
643 + "peerDependencies": {
644 + "react": ">=16.8.0",
645 + "react-dom": ">=16.8.0"
646 + }
647 + },
648 + "node_modules/@remotion/streaming": {
649 + "version": "4.0.422",
650 + "resolved": "https://registry.npmjs.org/@remotion/streaming/-/streaming-4.0.422.tgz",
651 + "integrity": "sha512-yCHuQZUXJe7RzqT+j2HWiEuU6MfIcvp2unZ6ohbiFEWgd+Vo8MpMgSDb81xVkYbXzxhcCqpCHBMlY8XRFT04EQ==",
652 + "license": "MIT"
653 + },
654 + "node_modules/@remotion/studio": {
655 + "version": "4.0.422",
656 + "resolved": "https://registry.npmjs.org/@remotion/studio/-/studio-4.0.422.tgz",
657 + "integrity": "sha512-Zk2Edmtwd5kwyVRUXUGgkSY09dmOdOc/ga6YjPFFebhYW9+oY3qZtaJ3DCBNKOd1WXDDK/LXfWPibrxYJozA7g==",
658 + "license": "MIT",
659 + "dependencies": {
660 + "@remotion/media-utils": "4.0.422",
661 + "@remotion/player": "4.0.422",
662 + "@remotion/renderer": "4.0.422",
663 + "@remotion/studio-shared": "4.0.422",
664 + "@remotion/web-renderer": "4.0.422",
665 + "@remotion/zod-types": "4.0.422",
666 + "mediabunny": "1.29.0",
667 + "memfs": "3.4.3",
668 + "open": "^8.4.2",
669 + "remotion": "4.0.422",
670 + "semver": "7.5.3",
671 + "source-map": "0.7.3",
672 + "zod": "3.22.3"
673 + },
674 + "peerDependencies": {
675 + "react": ">=16.8.0",
676 + "react-dom": ">=16.8.0"
677 + }
678 + },
679 + "node_modules/@remotion/studio-shared": {
680 + "version": "4.0.422",
681 + "resolved": "https://registry.npmjs.org/@remotion/studio-shared/-/studio-shared-4.0.422.tgz",
682 + "integrity": "sha512-5vlfhaxUvhLwZFHt+O15tpxqowgHEQUhHdKPJXe8OrJiIxPPYDkXyr2MzGnItLItGMnJVW9W360DQeyumMyyhA==",
683 + "license": "MIT",
684 + "dependencies": {
685 + "remotion": "4.0.422"
686 + }
687 + },
688 + "node_modules/@remotion/studio/node_modules/source-map": {
689 + "version": "0.7.3",
690 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
691 + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
692 + "license": "BSD-3-Clause",
693 + "engines": {
694 + "node": ">= 8"
695 + }
696 + },
697 + "node_modules/@remotion/web-renderer": {
698 + "version": "4.0.422",
699 + "resolved": "https://registry.npmjs.org/@remotion/web-renderer/-/web-renderer-4.0.422.tgz",
700 + "integrity": "sha512-xrqOqZlUTxr0XxI4XDZyFpxVMjliYxdtZu0oD+8EDS+A9gSMHvcyexcnm3XECYDQA3OMatHa6mvAX0elkl4MrQ==",
701 + "license": "UNLICENSED",
702 + "dependencies": {
703 + "@remotion/licensing": "4.0.422",
704 + "mediabunny": "1.29.0",
705 + "remotion": "4.0.422"
706 + },
707 + "peerDependencies": {
708 + "react": ">=18.0.0",
709 + "react-dom": ">=18.0.0"
710 + }
711 + },
712 + "node_modules/@remotion/webcodecs": {
713 + "version": "4.0.422",
714 + "resolved": "https://registry.npmjs.org/@remotion/webcodecs/-/webcodecs-4.0.422.tgz",
715 + "integrity": "sha512-w4ebOLWtn/SbmNpdoDLvQleK9Whl4JajVHLnNxydavRCOvILhtvf1mNZN2FqlHcH1zbL51G35gxRElArCU/5wA==",
716 + "license": "Remotion License (See https://remotion.dev/docs/webcodecs#license)",
717 + "dependencies": {
718 + "@remotion/media-parser": "4.0.422"
719 + }
720 + },
721 + "node_modules/@remotion/zod-types": {
722 + "version": "4.0.422",
723 + "resolved": "https://registry.npmjs.org/@remotion/zod-types/-/zod-types-4.0.422.tgz",
724 + "integrity": "sha512-k6bNkk3j7Ejrxzfl65kftFXDd06bdKOkW6plOURXLiwa6YSbLgd42uLS34VnIWbWrS6Oyg3XxA0Wxveu3Fujig==",
725 + "license": "MIT",
726 + "dependencies": {
727 + "remotion": "4.0.422"
728 + },
729 + "peerDependencies": {
730 + "zod": "3.22.3"
731 + }
732 + },
733 + "node_modules/@types/dom-mediacapture-transform": {
734 + "version": "0.1.11",
735 + "resolved": "https://registry.npmjs.org/@types/dom-mediacapture-transform/-/dom-mediacapture-transform-0.1.11.tgz",
736 + "integrity": "sha512-Y2p+nGf1bF2XMttBnsVPHUWzRRZzqUoJAKmiP10b5umnO6DDrWI0BrGDJy1pOHoOULVmGSfFNkQrAlC5dcj6nQ==",
737 + "license": "MIT",
738 + "dependencies": {
739 + "@types/dom-webcodecs": "*"
740 + }
741 + },
742 + "node_modules/@types/dom-webcodecs": {
743 + "version": "0.1.13",
744 + "resolved": "https://registry.npmjs.org/@types/dom-webcodecs/-/dom-webcodecs-0.1.13.tgz",
745 + "integrity": "sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ==",
746 + "license": "MIT"
747 + },
748 + "node_modules/@types/eslint": {
749 + "version": "9.6.1",
750 + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
751 + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
752 + "license": "MIT",
753 + "dependencies": {
754 + "@types/estree": "*",
755 + "@types/json-schema": "*"
756 + }
757 + },
758 + "node_modules/@types/eslint-scope": {
759 + "version": "3.7.7",
760 + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
761 + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
762 + "license": "MIT",
763 + "dependencies": {
764 + "@types/eslint": "*",
765 + "@types/estree": "*"
766 + }
767 + },
768 + "node_modules/@types/estree": {
769 + "version": "1.0.8",
770 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
771 + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
772 + "license": "MIT"
773 + },
774 + "node_modules/@types/json-schema": {
775 + "version": "7.0.15",
776 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
777 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
778 + "license": "MIT"
779 + },
780 + "node_modules/@types/node": {
781 + "version": "25.2.3",
782 + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.3.tgz",
783 + "integrity": "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==",
784 + "license": "MIT",
785 + "dependencies": {
786 + "undici-types": "~7.16.0"
787 + }
788 + },
789 + "node_modules/@types/yauzl": {
790 + "version": "2.10.3",
791 + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
792 + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
793 + "license": "MIT",
794 + "optional": true,
795 + "dependencies": {
796 + "@types/node": "*"
797 + }
798 + },
799 + "node_modules/@webassemblyjs/ast": {
800 + "version": "1.14.1",
801 + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
802 + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
803 + "license": "MIT",
804 + "dependencies": {
805 + "@webassemblyjs/helper-numbers": "1.13.2",
806 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
807 + }
808 + },
809 + "node_modules/@webassemblyjs/floating-point-hex-parser": {
810 + "version": "1.13.2",
811 + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
812 + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
813 + "license": "MIT"
814 + },
815 + "node_modules/@webassemblyjs/helper-api-error": {
816 + "version": "1.13.2",
817 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
818 + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
819 + "license": "MIT"
820 + },
821 + "node_modules/@webassemblyjs/helper-buffer": {
822 + "version": "1.14.1",
823 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
824 + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
825 + "license": "MIT"
826 + },
827 + "node_modules/@webassemblyjs/helper-numbers": {
828 + "version": "1.13.2",
829 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
830 + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
831 + "license": "MIT",
832 + "dependencies": {
833 + "@webassemblyjs/floating-point-hex-parser": "1.13.2",
834 + "@webassemblyjs/helper-api-error": "1.13.2",
835 + "@xtuc/long": "4.2.2"
836 + }
837 + },
838 + "node_modules/@webassemblyjs/helper-wasm-bytecode": {
839 + "version": "1.13.2",
840 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
841 + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
842 + "license": "MIT"
843 + },
844 + "node_modules/@webassemblyjs/helper-wasm-section": {
845 + "version": "1.14.1",
846 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
847 + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
848 + "license": "MIT",
849 + "dependencies": {
850 + "@webassemblyjs/ast": "1.14.1",
851 + "@webassemblyjs/helper-buffer": "1.14.1",
852 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
853 + "@webassemblyjs/wasm-gen": "1.14.1"
854 + }
855 + },
856 + "node_modules/@webassemblyjs/ieee754": {
857 + "version": "1.13.2",
858 + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
859 + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
860 + "license": "MIT",
861 + "dependencies": {
862 + "@xtuc/ieee754": "^1.2.0"
863 + }
864 + },
865 + "node_modules/@webassemblyjs/leb128": {
866 + "version": "1.13.2",
867 + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
868 + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
869 + "license": "Apache-2.0",
870 + "dependencies": {
871 + "@xtuc/long": "4.2.2"
872 + }
873 + },
874 + "node_modules/@webassemblyjs/utf8": {
875 + "version": "1.13.2",
876 + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
877 + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
878 + "license": "MIT"
879 + },
880 + "node_modules/@webassemblyjs/wasm-edit": {
881 + "version": "1.14.1",
882 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
883 + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
884 + "license": "MIT",
885 + "dependencies": {
886 + "@webassemblyjs/ast": "1.14.1",
887 + "@webassemblyjs/helper-buffer": "1.14.1",
888 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
889 + "@webassemblyjs/helper-wasm-section": "1.14.1",
890 + "@webassemblyjs/wasm-gen": "1.14.1",
891 + "@webassemblyjs/wasm-opt": "1.14.1",
892 + "@webassemblyjs/wasm-parser": "1.14.1",
893 + "@webassemblyjs/wast-printer": "1.14.1"
894 + }
895 + },
896 + "node_modules/@webassemblyjs/wasm-gen": {
897 + "version": "1.14.1",
898 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
899 + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
900 + "license": "MIT",
901 + "dependencies": {
902 + "@webassemblyjs/ast": "1.14.1",
903 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
904 + "@webassemblyjs/ieee754": "1.13.2",
905 + "@webassemblyjs/leb128": "1.13.2",
906 + "@webassemblyjs/utf8": "1.13.2"
907 + }
908 + },
909 + "node_modules/@webassemblyjs/wasm-opt": {
910 + "version": "1.14.1",
911 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
912 + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
913 + "license": "MIT",
914 + "dependencies": {
915 + "@webassemblyjs/ast": "1.14.1",
916 + "@webassemblyjs/helper-buffer": "1.14.1",
917 + "@webassemblyjs/wasm-gen": "1.14.1",
918 + "@webassemblyjs/wasm-parser": "1.14.1"
919 + }
920 + },
921 + "node_modules/@webassemblyjs/wasm-parser": {
922 + "version": "1.14.1",
923 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
924 + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
925 + "license": "MIT",
926 + "dependencies": {
927 + "@webassemblyjs/ast": "1.14.1",
928 + "@webassemblyjs/helper-api-error": "1.13.2",
929 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
930 + "@webassemblyjs/ieee754": "1.13.2",
931 + "@webassemblyjs/leb128": "1.13.2",
932 + "@webassemblyjs/utf8": "1.13.2"
933 + }
934 + },
935 + "node_modules/@webassemblyjs/wast-printer": {
936 + "version": "1.14.1",
937 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
938 + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
939 + "license": "MIT",
940 + "dependencies": {
941 + "@webassemblyjs/ast": "1.14.1",
942 + "@xtuc/long": "4.2.2"
943 + }
944 + },
945 + "node_modules/@xtuc/ieee754": {
946 + "version": "1.2.0",
947 + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
948 + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
949 + "license": "BSD-3-Clause"
950 + },
951 + "node_modules/@xtuc/long": {
952 + "version": "4.2.2",
953 + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
954 + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
955 + "license": "Apache-2.0"
956 + },
957 + "node_modules/acorn": {
958 + "version": "8.15.0",
959 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
960 + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
961 + "license": "MIT",
962 + "bin": {
963 + "acorn": "bin/acorn"
964 + },
965 + "engines": {
966 + "node": ">=0.4.0"
967 + }
968 + },
969 + "node_modules/acorn-import-phases": {
970 + "version": "1.0.4",
971 + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
972 + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
973 + "license": "MIT",
974 + "engines": {
975 + "node": ">=10.13.0"
976 + },
977 + "peerDependencies": {
978 + "acorn": "^8.14.0"
979 + }
980 + },
981 + "node_modules/ajv": {
982 + "version": "6.12.6",
983 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
984 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
985 + "license": "MIT",
986 + "dependencies": {
987 + "fast-deep-equal": "^3.1.1",
988 + "fast-json-stable-stringify": "^2.0.0",
989 + "json-schema-traverse": "^0.4.1",
990 + "uri-js": "^4.2.2"
991 + },
992 + "funding": {
993 + "type": "github",
994 + "url": "https://github.com/sponsors/epoberezkin"
995 + }
996 + },
997 + "node_modules/ajv-formats": {
998 + "version": "2.1.1",
999 + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
1000 + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
1001 + "license": "MIT",
1002 + "dependencies": {
1003 + "ajv": "^8.0.0"
1004 + },
1005 + "peerDependencies": {
1006 + "ajv": "^8.0.0"
1007 + },
1008 + "peerDependenciesMeta": {
1009 + "ajv": {
1010 + "optional": true
1011 + }
1012 + }
1013 + },
1014 + "node_modules/ajv-formats/node_modules/ajv": {
1015 + "version": "8.18.0",
1016 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
1017 + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
1018 + "license": "MIT",
1019 + "dependencies": {
1020 + "fast-deep-equal": "^3.1.3",
1021 + "fast-uri": "^3.0.1",
1022 + "json-schema-traverse": "^1.0.0",
1023 + "require-from-string": "^2.0.2"
1024 + },
1025 + "funding": {
1026 + "type": "github",
1027 + "url": "https://github.com/sponsors/epoberezkin"
1028 + }
1029 + },
1030 + "node_modules/ajv-formats/node_modules/json-schema-traverse": {
1031 + "version": "1.0.0",
1032 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
1033 + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
1034 + "license": "MIT"
1035 + },
1036 + "node_modules/ajv-keywords": {
1037 + "version": "3.5.2",
1038 + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
1039 + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
1040 + "license": "MIT",
1041 + "peerDependencies": {
1042 + "ajv": "^6.9.1"
1043 + }
1044 + },
1045 + "node_modules/baseline-browser-mapping": {
1046 + "version": "2.9.19",
1047 + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz",
1048 + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
1049 + "license": "Apache-2.0",
1050 + "bin": {
1051 + "baseline-browser-mapping": "dist/cli.js"
1052 + }
1053 + },
1054 + "node_modules/big.js": {
1055 + "version": "5.2.2",
1056 + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
1057 + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
1058 + "license": "MIT",
1059 + "engines": {
1060 + "node": "*"
1061 + }
1062 + },
1063 + "node_modules/browserslist": {
1064 + "version": "4.28.1",
1065 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
1066 + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
1067 + "funding": [
1068 + {
1069 + "type": "opencollective",
1070 + "url": "https://opencollective.com/browserslist"
1071 + },
1072 + {
1073 + "type": "tidelift",
1074 + "url": "https://tidelift.com/funding/github/npm/browserslist"
1075 + },
1076 + {
1077 + "type": "github",
1078 + "url": "https://github.com/sponsors/ai"
1079 + }
1080 + ],
1081 + "license": "MIT",
1082 + "dependencies": {
1083 + "baseline-browser-mapping": "^2.9.0",
1084 + "caniuse-lite": "^1.0.30001759",
1085 + "electron-to-chromium": "^1.5.263",
1086 + "node-releases": "^2.0.27",
1087 + "update-browserslist-db": "^1.2.0"
1088 + },
1089 + "bin": {
1090 + "browserslist": "cli.js"
1091 + },
1092 + "engines": {
1093 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1094 + }
1095 + },
1096 + "node_modules/buffer-crc32": {
1097 + "version": "0.2.13",
1098 + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
1099 + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
1100 + "license": "MIT",
1101 + "engines": {
1102 + "node": "*"
1103 + }
1104 + },
1105 + "node_modules/buffer-from": {
1106 + "version": "1.1.2",
1107 + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
1108 + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
1109 + "license": "MIT"
1110 + },
1111 + "node_modules/caniuse-lite": {
1112 + "version": "1.0.30001769",
1113 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz",
1114 + "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==",
1115 + "funding": [
1116 + {
1117 + "type": "opencollective",
1118 + "url": "https://opencollective.com/browserslist"
1119 + },
1120 + {
1121 + "type": "tidelift",
1122 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1123 + },
1124 + {
1125 + "type": "github",
1126 + "url": "https://github.com/sponsors/ai"
1127 + }
1128 + ],
1129 + "license": "CC-BY-4.0"
1130 + },
1131 + "node_modules/chrome-trace-event": {
1132 + "version": "1.0.4",
1133 + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
1134 + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
1135 + "license": "MIT",
1136 + "engines": {
1137 + "node": ">=6.0"
1138 + }
1139 + },
1140 + "node_modules/commander": {
1141 + "version": "2.20.3",
1142 + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1143 + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1144 + "license": "MIT"
1145 + },
1146 + "node_modules/cross-spawn": {
1147 + "version": "7.0.6",
1148 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
1149 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
1150 + "license": "MIT",
1151 + "dependencies": {
1152 + "path-key": "^3.1.0",
1153 + "shebang-command": "^2.0.0",
1154 + "which": "^2.0.1"
1155 + },
1156 + "engines": {
1157 + "node": ">= 8"
1158 + }
1159 + },
1160 + "node_modules/css-loader": {
1161 + "version": "5.2.7",
1162 + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
1163 + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==",
1164 + "license": "MIT",
1165 + "dependencies": {
1166 + "icss-utils": "^5.1.0",
1167 + "loader-utils": "^2.0.0",
1168 + "postcss": "^8.2.15",
1169 + "postcss-modules-extract-imports": "^3.0.0",
1170 + "postcss-modules-local-by-default": "^4.0.0",
1171 + "postcss-modules-scope": "^3.0.0",
1172 + "postcss-modules-values": "^4.0.0",
1173 + "postcss-value-parser": "^4.1.0",
1174 + "schema-utils": "^3.0.0",
1175 + "semver": "^7.3.5"
1176 + },
1177 + "engines": {
1178 + "node": ">= 10.13.0"
1179 + },
1180 + "funding": {
1181 + "type": "opencollective",
1182 + "url": "https://opencollective.com/webpack"
1183 + },
1184 + "peerDependencies": {
1185 + "webpack": "^4.27.0 || ^5.0.0"
1186 + }
1187 + },
1188 + "node_modules/cssesc": {
1189 + "version": "3.0.0",
1190 + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
1191 + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
1192 + "license": "MIT",
1193 + "bin": {
1194 + "cssesc": "bin/cssesc"
1195 + },
1196 + "engines": {
1197 + "node": ">=4"
1198 + }
1199 + },
1200 + "node_modules/debug": {
1201 + "version": "4.4.3",
1202 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
1203 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1204 + "license": "MIT",
1205 + "dependencies": {
1206 + "ms": "^2.1.3"
1207 + },
1208 + "engines": {
1209 + "node": ">=6.0"
1210 + },
1211 + "peerDependenciesMeta": {
1212 + "supports-color": {
1213 + "optional": true
1214 + }
1215 + }
1216 + },
1217 + "node_modules/define-lazy-prop": {
1218 + "version": "2.0.0",
1219 + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
1220 + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
1221 + "license": "MIT",
1222 + "engines": {
1223 + "node": ">=8"
1224 + }
1225 + },
1226 + "node_modules/electron-to-chromium": {
1227 + "version": "1.5.286",
1228 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz",
1229 + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==",
1230 + "license": "ISC"
1231 + },
1232 + "node_modules/emojis-list": {
1233 + "version": "3.0.0",
1234 + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
1235 + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
1236 + "license": "MIT",
1237 + "engines": {
1238 + "node": ">= 4"
1239 + }
1240 + },
1241 + "node_modules/end-of-stream": {
1242 + "version": "1.4.5",
1243 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
1244 + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
1245 + "license": "MIT",
1246 + "dependencies": {
1247 + "once": "^1.4.0"
1248 + }
1249 + },
1250 + "node_modules/enhanced-resolve": {
1251 + "version": "5.19.0",
1252 + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz",
1253 + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==",
1254 + "license": "MIT",
1255 + "dependencies": {
1256 + "graceful-fs": "^4.2.4",
1257 + "tapable": "^2.3.0"
1258 + },
1259 + "engines": {
1260 + "node": ">=10.13.0"
1261 + }
1262 + },
1263 + "node_modules/es-module-lexer": {
1264 + "version": "2.0.0",
1265 + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
1266 + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
1267 + "license": "MIT"
1268 + },
1269 + "node_modules/esbuild": {
1270 + "version": "0.25.0",
1271 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz",
1272 + "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==",
1273 + "hasInstallScript": true,
1274 + "license": "MIT",
1275 + "bin": {
1276 + "esbuild": "bin/esbuild"
1277 + },
1278 + "engines": {
1279 + "node": ">=18"
1280 + },
1281 + "optionalDependencies": {
1282 + "@esbuild/aix-ppc64": "0.25.0",
1283 + "@esbuild/android-arm": "0.25.0",
1284 + "@esbuild/android-arm64": "0.25.0",
1285 + "@esbuild/android-x64": "0.25.0",
1286 + "@esbuild/darwin-arm64": "0.25.0",
1287 + "@esbuild/darwin-x64": "0.25.0",
1288 + "@esbuild/freebsd-arm64": "0.25.0",
1289 + "@esbuild/freebsd-x64": "0.25.0",
1290 + "@esbuild/linux-arm": "0.25.0",
1291 + "@esbuild/linux-arm64": "0.25.0",
1292 + "@esbuild/linux-ia32": "0.25.0",
1293 + "@esbuild/linux-loong64": "0.25.0",
1294 + "@esbuild/linux-mips64el": "0.25.0",
1295 + "@esbuild/linux-ppc64": "0.25.0",
1296 + "@esbuild/linux-riscv64": "0.25.0",
1297 + "@esbuild/linux-s390x": "0.25.0",
1298 + "@esbuild/linux-x64": "0.25.0",
1299 + "@esbuild/netbsd-arm64": "0.25.0",
1300 + "@esbuild/netbsd-x64": "0.25.0",
1301 + "@esbuild/openbsd-arm64": "0.25.0",
1302 + "@esbuild/openbsd-x64": "0.25.0",
1303 + "@esbuild/sunos-x64": "0.25.0",
1304 + "@esbuild/win32-arm64": "0.25.0",
1305 + "@esbuild/win32-ia32": "0.25.0",
1306 + "@esbuild/win32-x64": "0.25.0"
1307 + }
1308 + },
1309 + "node_modules/escalade": {
1310 + "version": "3.2.0",
1311 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
1312 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1313 + "license": "MIT",
1314 + "engines": {
1315 + "node": ">=6"
1316 + }
1317 + },
1318 + "node_modules/eslint-scope": {
1319 + "version": "5.1.1",
1320 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
1321 + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
1322 + "license": "BSD-2-Clause",
1323 + "dependencies": {
1324 + "esrecurse": "^4.3.0",
1325 + "estraverse": "^4.1.1"
1326 + },
1327 + "engines": {
1328 + "node": ">=8.0.0"
1329 + }
1330 + },
1331 + "node_modules/esrecurse": {
1332 + "version": "4.3.0",
1333 + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1334 + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1335 + "license": "BSD-2-Clause",
1336 + "dependencies": {
1337 + "estraverse": "^5.2.0"
1338 + },
1339 + "engines": {
1340 + "node": ">=4.0"
1341 + }
1342 + },
1343 + "node_modules/esrecurse/node_modules/estraverse": {
1344 + "version": "5.3.0",
1345 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1346 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1347 + "license": "BSD-2-Clause",
1348 + "engines": {
1349 + "node": ">=4.0"
1350 + }
1351 + },
1352 + "node_modules/estraverse": {
1353 + "version": "4.3.0",
1354 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
1355 + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
1356 + "license": "BSD-2-Clause",
1357 + "engines": {
1358 + "node": ">=4.0"
1359 + }
1360 + },
1361 + "node_modules/events": {
1362 + "version": "3.3.0",
1363 + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
1364 + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
1365 + "license": "MIT",
1366 + "engines": {
1367 + "node": ">=0.8.x"
1368 + }
1369 + },
1370 + "node_modules/execa": {
1371 + "version": "5.1.1",
1372 + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
1373 + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
1374 + "license": "MIT",
1375 + "dependencies": {
1376 + "cross-spawn": "^7.0.3",
1377 + "get-stream": "^6.0.0",
1378 + "human-signals": "^2.1.0",
1379 + "is-stream": "^2.0.0",
1380 + "merge-stream": "^2.0.0",
1381 + "npm-run-path": "^4.0.1",
1382 + "onetime": "^5.1.2",
1383 + "signal-exit": "^3.0.3",
1384 + "strip-final-newline": "^2.0.0"
1385 + },
1386 + "engines": {
1387 + "node": ">=10"
1388 + },
1389 + "funding": {
1390 + "url": "https://github.com/sindresorhus/execa?sponsor=1"
1391 + }
1392 + },
1393 + "node_modules/extract-zip": {
1394 + "version": "2.0.1",
1395 + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
1396 + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
1397 + "license": "BSD-2-Clause",
1398 + "dependencies": {
1399 + "debug": "^4.1.1",
1400 + "get-stream": "^5.1.0",
1401 + "yauzl": "^2.10.0"
1402 + },
1403 + "bin": {
1404 + "extract-zip": "cli.js"
1405 + },
1406 + "engines": {
1407 + "node": ">= 10.17.0"
1408 + },
1409 + "optionalDependencies": {
1410 + "@types/yauzl": "^2.9.1"
1411 + }
1412 + },
1413 + "node_modules/extract-zip/node_modules/get-stream": {
1414 + "version": "5.2.0",
1415 + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
1416 + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
1417 + "license": "MIT",
1418 + "dependencies": {
1419 + "pump": "^3.0.0"
1420 + },
1421 + "engines": {
1422 + "node": ">=8"
1423 + },
1424 + "funding": {
1425 + "url": "https://github.com/sponsors/sindresorhus"
1426 + }
1427 + },
1428 + "node_modules/fast-deep-equal": {
1429 + "version": "3.1.3",
1430 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1431 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1432 + "license": "MIT"
1433 + },
1434 + "node_modules/fast-json-stable-stringify": {
1435 + "version": "2.1.0",
1436 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1437 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1438 + "license": "MIT"
1439 + },
1440 + "node_modules/fast-uri": {
1441 + "version": "3.1.0",
1442 + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
1443 + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
1444 + "funding": [
1445 + {
1446 + "type": "github",
1447 + "url": "https://github.com/sponsors/fastify"
1448 + },
1449 + {
1450 + "type": "opencollective",
1451 + "url": "https://opencollective.com/fastify"
1452 + }
1453 + ],
1454 + "license": "BSD-3-Clause"
1455 + },
1456 + "node_modules/fd-slicer": {
1457 + "version": "1.1.0",
1458 + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
1459 + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
1460 + "license": "MIT",
1461 + "dependencies": {
1462 + "pend": "~1.2.0"
1463 + }
1464 + },
1465 + "node_modules/fs-monkey": {
1466 + "version": "1.0.3",
1467 + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
1468 + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==",
1469 + "license": "Unlicense"
1470 + },
1471 + "node_modules/get-stream": {
1472 + "version": "6.0.1",
1473 + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
1474 + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
1475 + "license": "MIT",
1476 + "engines": {
1477 + "node": ">=10"
1478 + },
1479 + "funding": {
1480 + "url": "https://github.com/sponsors/sindresorhus"
1481 + }
1482 + },
1483 + "node_modules/glob-to-regexp": {
1484 + "version": "0.4.1",
1485 + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
1486 + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
1487 + "license": "BSD-2-Clause"
1488 + },
1489 + "node_modules/graceful-fs": {
1490 + "version": "4.2.11",
1491 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
1492 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
1493 + "license": "ISC"
1494 + },
1495 + "node_modules/has-flag": {
1496 + "version": "4.0.0",
1497 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1498 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1499 + "license": "MIT",
1500 + "engines": {
1501 + "node": ">=8"
1502 + }
1503 + },
1504 + "node_modules/human-signals": {
1505 + "version": "2.1.0",
1506 + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
1507 + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
1508 + "license": "Apache-2.0",
1509 + "engines": {
1510 + "node": ">=10.17.0"
1511 + }
1512 + },
1513 + "node_modules/icss-utils": {
1514 + "version": "5.1.0",
1515 + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
1516 + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
1517 + "license": "ISC",
1518 + "engines": {
1519 + "node": "^10 || ^12 || >= 14"
1520 + },
1521 + "peerDependencies": {
1522 + "postcss": "^8.1.0"
1523 + }
1524 + },
1525 + "node_modules/is-docker": {
1526 + "version": "2.2.1",
1527 + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
1528 + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
1529 + "license": "MIT",
1530 + "bin": {
1531 + "is-docker": "cli.js"
1532 + },
1533 + "engines": {
1534 + "node": ">=8"
1535 + },
1536 + "funding": {
1537 + "url": "https://github.com/sponsors/sindresorhus"
1538 + }
1539 + },
1540 + "node_modules/is-stream": {
1541 + "version": "2.0.1",
1542 + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
1543 + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
1544 + "license": "MIT",
1545 + "engines": {
1546 + "node": ">=8"
1547 + },
1548 + "funding": {
1549 + "url": "https://github.com/sponsors/sindresorhus"
1550 + }
1551 + },
1552 + "node_modules/is-wsl": {
1553 + "version": "2.2.0",
1554 + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
1555 + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
1556 + "license": "MIT",
1557 + "dependencies": {
1558 + "is-docker": "^2.0.0"
1559 + },
1560 + "engines": {
1561 + "node": ">=8"
1562 + }
1563 + },
1564 + "node_modules/isexe": {
1565 + "version": "2.0.0",
1566 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1567 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1568 + "license": "ISC"
1569 + },
1570 + "node_modules/jest-worker": {
1571 + "version": "27.5.1",
1572 + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
1573 + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
1574 + "license": "MIT",
1575 + "dependencies": {
1576 + "@types/node": "*",
1577 + "merge-stream": "^2.0.0",
1578 + "supports-color": "^8.0.0"
1579 + },
1580 + "engines": {
1581 + "node": ">= 10.13.0"
1582 + }
1583 + },
1584 + "node_modules/json-parse-even-better-errors": {
1585 + "version": "2.3.1",
1586 + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
1587 + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
1588 + "license": "MIT"
1589 + },
1590 + "node_modules/json-schema-traverse": {
1591 + "version": "0.4.1",
1592 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1593 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1594 + "license": "MIT"
1595 + },
1596 + "node_modules/json5": {
1597 + "version": "2.2.3",
1598 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
1599 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
1600 + "license": "MIT",
1601 + "bin": {
1602 + "json5": "lib/cli.js"
1603 + },
1604 + "engines": {
1605 + "node": ">=6"
1606 + }
1607 + },
1608 + "node_modules/loader-runner": {
1609 + "version": "4.3.1",
1610 + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz",
1611 + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==",
1612 + "license": "MIT",
1613 + "engines": {
1614 + "node": ">=6.11.5"
1615 + },
1616 + "funding": {
1617 + "type": "opencollective",
1618 + "url": "https://opencollective.com/webpack"
1619 + }
1620 + },
1621 + "node_modules/loader-utils": {
1622 + "version": "2.0.4",
1623 + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
1624 + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
1625 + "license": "MIT",
1626 + "dependencies": {
1627 + "big.js": "^5.2.2",
1628 + "emojis-list": "^3.0.0",
1629 + "json5": "^2.1.2"
1630 + },
1631 + "engines": {
1632 + "node": ">=8.9.0"
1633 + }
1634 + },
1635 + "node_modules/lodash.sortby": {
1636 + "version": "4.7.0",
1637 + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
1638 + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
1639 + "license": "MIT"
1640 + },
1641 + "node_modules/lru-cache": {
1642 + "version": "6.0.0",
1643 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1644 + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1645 + "license": "ISC",
1646 + "dependencies": {
1647 + "yallist": "^4.0.0"
1648 + },
1649 + "engines": {
1650 + "node": ">=10"
1651 + }
1652 + },
1653 + "node_modules/lucide-react": {
1654 + "version": "0.542.0",
1655 + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.542.0.tgz",
1656 + "integrity": "sha512-w3hD8/SQB7+lzU2r4VdFyzzOzKnUjTZIF/MQJGSSvni7Llewni4vuViRppfRAa2guOsY5k4jZyxw/i9DQHv+dw==",
1657 + "license": "ISC",
1658 + "peerDependencies": {
1659 + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
1660 + }
1661 + },
1662 + "node_modules/mediabunny": {
1663 + "version": "1.29.0",
1664 + "resolved": "https://registry.npmjs.org/mediabunny/-/mediabunny-1.29.0.tgz",
1665 + "integrity": "sha512-18B8w/rhO/ph/AFsIXvzZg8RaSQZ+ZYfJ99MZlTjDmlgCT58jV3azrnWQ/OSquYDi8q0xmn64mnfTEHgww3+zw==",
1666 + "license": "MPL-2.0",
1667 + "workspaces": [
1668 + "packages/*"
1669 + ],
1670 + "dependencies": {
1671 + "@types/dom-mediacapture-transform": "^0.1.11",
1672 + "@types/dom-webcodecs": "0.1.13"
1673 + },
1674 + "funding": {
1675 + "type": "individual",
1676 + "url": "https://github.com/sponsors/Vanilagy"
1677 + }
1678 + },
1679 + "node_modules/memfs": {
1680 + "version": "3.4.3",
1681 + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.3.tgz",
1682 + "integrity": "sha512-eivjfi7Ahr6eQTn44nvTnR60e4a1Fs1Via2kCR5lHo/kyNoiMWaXCNJ/GpSd0ilXas2JSOl9B5FTIhflXu0hlg==",
1683 + "license": "Unlicense",
1684 + "dependencies": {
1685 + "fs-monkey": "1.0.3"
1686 + },
1687 + "engines": {
1688 + "node": ">= 4.0.0"
1689 + }
1690 + },
1691 + "node_modules/merge-stream": {
1692 + "version": "2.0.0",
1693 + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
1694 + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
1695 + "license": "MIT"
1696 + },
1697 + "node_modules/mime-db": {
1698 + "version": "1.52.0",
1699 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1700 + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
1701 + "license": "MIT",
1702 + "engines": {
1703 + "node": ">= 0.6"
1704 + }
1705 + },
1706 + "node_modules/mime-types": {
1707 + "version": "2.1.35",
1708 + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1709 + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1710 + "license": "MIT",
1711 + "dependencies": {
1712 + "mime-db": "1.52.0"
1713 + },
1714 + "engines": {
1715 + "node": ">= 0.6"
1716 + }
1717 + },
1718 + "node_modules/mimic-fn": {
1719 + "version": "2.1.0",
1720 + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
1721 + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
1722 + "license": "MIT",
1723 + "engines": {
1724 + "node": ">=6"
1725 + }
1726 + },
1727 + "node_modules/ms": {
1728 + "version": "2.1.3",
1729 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1730 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1731 + "license": "MIT"
1732 + },
1733 + "node_modules/nanoid": {
1734 + "version": "3.3.11",
1735 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
1736 + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
1737 + "funding": [
1738 + {
1739 + "type": "github",
1740 + "url": "https://github.com/sponsors/ai"
1741 + }
1742 + ],
1743 + "license": "MIT",
1744 + "bin": {
1745 + "nanoid": "bin/nanoid.cjs"
1746 + },
1747 + "engines": {
1748 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1749 + }
1750 + },
1751 + "node_modules/neo-async": {
1752 + "version": "2.6.2",
1753 + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
1754 + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
1755 + "license": "MIT"
1756 + },
1757 + "node_modules/node-releases": {
1758 + "version": "2.0.27",
1759 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
1760 + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
1761 + "license": "MIT"
1762 + },
1763 + "node_modules/npm-run-path": {
1764 + "version": "4.0.1",
1765 + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
1766 + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
1767 + "license": "MIT",
1768 + "dependencies": {
1769 + "path-key": "^3.0.0"
1770 + },
1771 + "engines": {
1772 + "node": ">=8"
1773 + }
1774 + },
1775 + "node_modules/once": {
1776 + "version": "1.4.0",
1777 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1778 + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
1779 + "license": "ISC",
1780 + "dependencies": {
1781 + "wrappy": "1"
1782 + }
1783 + },
1784 + "node_modules/onetime": {
1785 + "version": "5.1.2",
1786 + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
1787 + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
1788 + "license": "MIT",
1789 + "dependencies": {
1790 + "mimic-fn": "^2.1.0"
1791 + },
1792 + "engines": {
1793 + "node": ">=6"
1794 + },
1795 + "funding": {
1796 + "url": "https://github.com/sponsors/sindresorhus"
1797 + }
1798 + },
1799 + "node_modules/open": {
1800 + "version": "8.4.2",
1801 + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
1802 + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
1803 + "license": "MIT",
1804 + "dependencies": {
1805 + "define-lazy-prop": "^2.0.0",
1806 + "is-docker": "^2.1.1",
1807 + "is-wsl": "^2.2.0"
1808 + },
1809 + "engines": {
1810 + "node": ">=12"
1811 + },
1812 + "funding": {
1813 + "url": "https://github.com/sponsors/sindresorhus"
1814 + }
1815 + },
1816 + "node_modules/path-key": {
1817 + "version": "3.1.1",
1818 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1819 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1820 + "license": "MIT",
1821 + "engines": {
1822 + "node": ">=8"
1823 + }
1824 + },
1825 + "node_modules/pend": {
1826 + "version": "1.2.0",
1827 + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
1828 + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
1829 + "license": "MIT"
1830 + },
1831 + "node_modules/picocolors": {
1832 + "version": "1.1.1",
1833 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
1834 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1835 + "license": "ISC"
1836 + },
1837 + "node_modules/postcss": {
1838 + "version": "8.5.6",
1839 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
1840 + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
1841 + "funding": [
1842 + {
1843 + "type": "opencollective",
1844 + "url": "https://opencollective.com/postcss/"
1845 + },
1846 + {
1847 + "type": "tidelift",
1848 + "url": "https://tidelift.com/funding/github/npm/postcss"
1849 + },
1850 + {
1851 + "type": "github",
1852 + "url": "https://github.com/sponsors/ai"
1853 + }
1854 + ],
1855 + "license": "MIT",
1856 + "dependencies": {
1857 + "nanoid": "^3.3.11",
1858 + "picocolors": "^1.1.1",
1859 + "source-map-js": "^1.2.1"
1860 + },
1861 + "engines": {
1862 + "node": "^10 || ^12 || >=14"
1863 + }
1864 + },
1865 + "node_modules/postcss-modules-extract-imports": {
1866 + "version": "3.1.0",
1867 + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz",
1868 + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==",
1869 + "license": "ISC",
1870 + "engines": {
1871 + "node": "^10 || ^12 || >= 14"
1872 + },
1873 + "peerDependencies": {
1874 + "postcss": "^8.1.0"
1875 + }
1876 + },
1877 + "node_modules/postcss-modules-local-by-default": {
1878 + "version": "4.2.0",
1879 + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz",
1880 + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==",
1881 + "license": "MIT",
1882 + "dependencies": {
1883 + "icss-utils": "^5.0.0",
1884 + "postcss-selector-parser": "^7.0.0",
1885 + "postcss-value-parser": "^4.1.0"
1886 + },
1887 + "engines": {
1888 + "node": "^10 || ^12 || >= 14"
1889 + },
1890 + "peerDependencies": {
1891 + "postcss": "^8.1.0"
1892 + }
1893 + },
1894 + "node_modules/postcss-modules-scope": {
1895 + "version": "3.2.1",
1896 + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz",
1897 + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==",
1898 + "license": "ISC",
1899 + "dependencies": {
1900 + "postcss-selector-parser": "^7.0.0"
1901 + },
1902 + "engines": {
1903 + "node": "^10 || ^12 || >= 14"
1904 + },
1905 + "peerDependencies": {
1906 + "postcss": "^8.1.0"
1907 + }
1908 + },
1909 + "node_modules/postcss-modules-values": {
1910 + "version": "4.0.0",
1911 + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
1912 + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
1913 + "license": "ISC",
1914 + "dependencies": {
1915 + "icss-utils": "^5.0.0"
1916 + },
1917 + "engines": {
1918 + "node": "^10 || ^12 || >= 14"
1919 + },
1920 + "peerDependencies": {
1921 + "postcss": "^8.1.0"
1922 + }
1923 + },
1924 + "node_modules/postcss-selector-parser": {
1925 + "version": "7.1.1",
1926 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
1927 + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
1928 + "license": "MIT",
1929 + "dependencies": {
1930 + "cssesc": "^3.0.0",
1931 + "util-deprecate": "^1.0.2"
1932 + },
1933 + "engines": {
1934 + "node": ">=4"
1935 + }
1936 + },
1937 + "node_modules/postcss-value-parser": {
1938 + "version": "4.2.0",
1939 + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
1940 + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
1941 + "license": "MIT"
1942 + },
1943 + "node_modules/pump": {
1944 + "version": "3.0.3",
1945 + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz",
1946 + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==",
1947 + "license": "MIT",
1948 + "dependencies": {
1949 + "end-of-stream": "^1.1.0",
1950 + "once": "^1.3.1"
1951 + }
1952 + },
1953 + "node_modules/punycode": {
1954 + "version": "2.3.1",
1955 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
1956 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
1957 + "license": "MIT",
1958 + "engines": {
1959 + "node": ">=6"
1960 + }
1961 + },
1962 + "node_modules/randombytes": {
1963 + "version": "2.1.0",
1964 + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1965 + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1966 + "license": "MIT",
1967 + "dependencies": {
1968 + "safe-buffer": "^5.1.0"
1969 + }
1970 + },
1971 + "node_modules/react": {
1972 + "version": "19.2.4",
1973 + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
1974 + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
1975 + "license": "MIT",
1976 + "engines": {
1977 + "node": ">=0.10.0"
1978 + }
1979 + },
1980 + "node_modules/react-dom": {
1981 + "version": "19.2.4",
1982 + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
1983 + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
1984 + "license": "MIT",
1985 + "dependencies": {
1986 + "scheduler": "^0.27.0"
1987 + },
1988 + "peerDependencies": {
1989 + "react": "^19.2.4"
1990 + }
1991 + },
1992 + "node_modules/react-refresh": {
1993 + "version": "0.9.0",
1994 + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz",
1995 + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==",
1996 + "license": "MIT",
1997 + "engines": {
1998 + "node": ">=0.10.0"
1999 + }
2000 + },
2001 + "node_modules/remotion": {
2002 + "version": "4.0.422",
2003 + "resolved": "https://registry.npmjs.org/remotion/-/remotion-4.0.422.tgz",
2004 + "integrity": "sha512-WseRmnneZu98/t4hmMxQkscSlX5G/1E2w/4deU98tIiJbm6bEBBSXA5g1RxamrZNdwGhcp6N3LN1KJCmrJHFCw==",
2005 + "license": "SEE LICENSE IN LICENSE.md",
2006 + "peerDependencies": {
2007 + "react": ">=16.8.0",
2008 + "react-dom": ">=16.8.0"
2009 + }
2010 + },
2011 + "node_modules/require-from-string": {
2012 + "version": "2.0.2",
2013 + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
2014 + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
2015 + "license": "MIT",
2016 + "engines": {
2017 + "node": ">=0.10.0"
2018 + }
2019 + },
2020 + "node_modules/safe-buffer": {
2021 + "version": "5.2.1",
2022 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2023 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
2024 + "funding": [
2025 + {
2026 + "type": "github",
2027 + "url": "https://github.com/sponsors/feross"
2028 + },
2029 + {
2030 + "type": "patreon",
2031 + "url": "https://www.patreon.com/feross"
2032 + },
2033 + {
2034 + "type": "consulting",
2035 + "url": "https://feross.org/support"
2036 + }
2037 + ],
2038 + "license": "MIT"
2039 + },
2040 + "node_modules/scheduler": {
2041 + "version": "0.27.0",
2042 + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
2043 + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
2044 + "license": "MIT"
2045 + },
2046 + "node_modules/schema-utils": {
2047 + "version": "3.3.0",
2048 + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
2049 + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
2050 + "license": "MIT",
2051 + "dependencies": {
2052 + "@types/json-schema": "^7.0.8",
2053 + "ajv": "^6.12.5",
2054 + "ajv-keywords": "^3.5.2"
2055 + },
2056 + "engines": {
2057 + "node": ">= 10.13.0"
2058 + },
2059 + "funding": {
2060 + "type": "opencollective",
2061 + "url": "https://opencollective.com/webpack"
2062 + }
2063 + },
2064 + "node_modules/semver": {
2065 + "version": "7.5.3",
2066 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
2067 + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
2068 + "license": "ISC",
2069 + "dependencies": {
2070 + "lru-cache": "^6.0.0"
2071 + },
2072 + "bin": {
2073 + "semver": "bin/semver.js"
2074 + },
2075 + "engines": {
2076 + "node": ">=10"
2077 + }
2078 + },
2079 + "node_modules/serialize-javascript": {
2080 + "version": "6.0.2",
2081 + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
2082 + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
2083 + "license": "BSD-3-Clause",
2084 + "dependencies": {
2085 + "randombytes": "^2.1.0"
2086 + }
2087 + },
2088 + "node_modules/shebang-command": {
2089 + "version": "2.0.0",
2090 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2091 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2092 + "license": "MIT",
2093 + "dependencies": {
2094 + "shebang-regex": "^3.0.0"
2095 + },
2096 + "engines": {
2097 + "node": ">=8"
2098 + }
2099 + },
2100 + "node_modules/shebang-regex": {
2101 + "version": "3.0.0",
2102 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2103 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2104 + "license": "MIT",
2105 + "engines": {
2106 + "node": ">=8"
2107 + }
2108 + },
2109 + "node_modules/signal-exit": {
2110 + "version": "3.0.7",
2111 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
2112 + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
2113 + "license": "ISC"
2114 + },
2115 + "node_modules/source-map": {
2116 + "version": "0.8.0-beta.0",
2117 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
2118 + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
2119 + "deprecated": "The work that was done in this beta branch won't be included in future versions",
2120 + "license": "BSD-3-Clause",
2121 + "dependencies": {
2122 + "whatwg-url": "^7.0.0"
2123 + },
2124 + "engines": {
2125 + "node": ">= 8"
2126 + }
2127 + },
2128 + "node_modules/source-map-js": {
2129 + "version": "1.2.1",
2130 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2131 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2132 + "license": "BSD-3-Clause",
2133 + "engines": {
2134 + "node": ">=0.10.0"
2135 + }
2136 + },
2137 + "node_modules/source-map-support": {
2138 + "version": "0.5.21",
2139 + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
2140 + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
2141 + "license": "MIT",
2142 + "dependencies": {
2143 + "buffer-from": "^1.0.0",
2144 + "source-map": "^0.6.0"
2145 + }
2146 + },
2147 + "node_modules/source-map-support/node_modules/source-map": {
2148 + "version": "0.6.1",
2149 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2150 + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2151 + "license": "BSD-3-Clause",
2152 + "engines": {
2153 + "node": ">=0.10.0"
2154 + }
2155 + },
2156 + "node_modules/strip-final-newline": {
2157 + "version": "2.0.0",
2158 + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
2159 + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
2160 + "license": "MIT",
2161 + "engines": {
2162 + "node": ">=6"
2163 + }
2164 + },
2165 + "node_modules/style-loader": {
2166 + "version": "4.0.0",
2167 + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz",
2168 + "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==",
2169 + "license": "MIT",
2170 + "engines": {
2171 + "node": ">= 18.12.0"
2172 + },
2173 + "funding": {
2174 + "type": "opencollective",
2175 + "url": "https://opencollective.com/webpack"
2176 + },
2177 + "peerDependencies": {
2178 + "webpack": "^5.27.0"
2179 + }
2180 + },
2181 + "node_modules/supports-color": {
2182 + "version": "8.1.1",
2183 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
2184 + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
2185 + "license": "MIT",
2186 + "dependencies": {
2187 + "has-flag": "^4.0.0"
2188 + },
2189 + "engines": {
2190 + "node": ">=10"
2191 + },
2192 + "funding": {
2193 + "url": "https://github.com/chalk/supports-color?sponsor=1"
2194 + }
2195 + },
2196 + "node_modules/tapable": {
2197 + "version": "2.3.0",
2198 + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
2199 + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
2200 + "license": "MIT",
2201 + "engines": {
2202 + "node": ">=6"
2203 + },
2204 + "funding": {
2205 + "type": "opencollective",
2206 + "url": "https://opencollective.com/webpack"
2207 + }
2208 + },
2209 + "node_modules/terser": {
2210 + "version": "5.46.0",
2211 + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz",
2212 + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==",
2213 + "license": "BSD-2-Clause",
2214 + "dependencies": {
2215 + "@jridgewell/source-map": "^0.3.3",
2216 + "acorn": "^8.15.0",
2217 + "commander": "^2.20.0",
2218 + "source-map-support": "~0.5.20"
2219 + },
2220 + "bin": {
2221 + "terser": "bin/terser"
2222 + },
2223 + "engines": {
2224 + "node": ">=10"
2225 + }
2226 + },
2227 + "node_modules/terser-webpack-plugin": {
2228 + "version": "5.3.16",
2229 + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz",
2230 + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==",
2231 + "license": "MIT",
2232 + "dependencies": {
2233 + "@jridgewell/trace-mapping": "^0.3.25",
2234 + "jest-worker": "^27.4.5",
2235 + "schema-utils": "^4.3.0",
2236 + "serialize-javascript": "^6.0.2",
2237 + "terser": "^5.31.1"
2238 + },
2239 + "engines": {
2240 + "node": ">= 10.13.0"
2241 + },
2242 + "funding": {
2243 + "type": "opencollective",
2244 + "url": "https://opencollective.com/webpack"
2245 + },
2246 + "peerDependencies": {
2247 + "webpack": "^5.1.0"
2248 + },
2249 + "peerDependenciesMeta": {
2250 + "@swc/core": {
2251 + "optional": true
2252 + },
2253 + "esbuild": {
2254 + "optional": true
2255 + },
2256 + "uglify-js": {
2257 + "optional": true
2258 + }
2259 + }
2260 + },
2261 + "node_modules/terser-webpack-plugin/node_modules/ajv": {
2262 + "version": "8.18.0",
2263 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
2264 + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
2265 + "license": "MIT",
2266 + "dependencies": {
2267 + "fast-deep-equal": "^3.1.3",
2268 + "fast-uri": "^3.0.1",
2269 + "json-schema-traverse": "^1.0.0",
2270 + "require-from-string": "^2.0.2"
2271 + },
2272 + "funding": {
2273 + "type": "github",
2274 + "url": "https://github.com/sponsors/epoberezkin"
2275 + }
2276 + },
2277 + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": {
2278 + "version": "5.1.0",
2279 + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
2280 + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
2281 + "license": "MIT",
2282 + "dependencies": {
2283 + "fast-deep-equal": "^3.1.3"
2284 + },
2285 + "peerDependencies": {
2286 + "ajv": "^8.8.2"
2287 + }
2288 + },
2289 + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": {
2290 + "version": "1.0.0",
2291 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
2292 + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
2293 + "license": "MIT"
2294 + },
2295 + "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
2296 + "version": "4.3.3",
2297 + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
2298 + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
2299 + "license": "MIT",
2300 + "dependencies": {
2301 + "@types/json-schema": "^7.0.9",
2302 + "ajv": "^8.9.0",
2303 + "ajv-formats": "^2.1.1",
2304 + "ajv-keywords": "^5.1.0"
2305 + },
2306 + "engines": {
2307 + "node": ">= 10.13.0"
2308 + },
2309 + "funding": {
2310 + "type": "opencollective",
2311 + "url": "https://opencollective.com/webpack"
2312 + }
2313 + },
2314 + "node_modules/tr46": {
2315 + "version": "1.0.1",
2316 + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
2317 + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==",
2318 + "license": "MIT",
2319 + "dependencies": {
2320 + "punycode": "^2.1.0"
2321 + }
2322 + },
2323 + "node_modules/undici-types": {
2324 + "version": "7.16.0",
2325 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
2326 + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
2327 + "license": "MIT"
2328 + },
2329 + "node_modules/update-browserslist-db": {
2330 + "version": "1.2.3",
2331 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
2332 + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
2333 + "funding": [
2334 + {
2335 + "type": "opencollective",
2336 + "url": "https://opencollective.com/browserslist"
2337 + },
2338 + {
2339 + "type": "tidelift",
2340 + "url": "https://tidelift.com/funding/github/npm/browserslist"
2341 + },
2342 + {
2343 + "type": "github",
2344 + "url": "https://github.com/sponsors/ai"
2345 + }
2346 + ],
2347 + "license": "MIT",
2348 + "dependencies": {
2349 + "escalade": "^3.2.0",
2350 + "picocolors": "^1.1.1"
2351 + },
2352 + "bin": {
2353 + "update-browserslist-db": "cli.js"
2354 + },
2355 + "peerDependencies": {
2356 + "browserslist": ">= 4.21.0"
2357 + }
2358 + },
2359 + "node_modules/uri-js": {
2360 + "version": "4.4.1",
2361 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
2362 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
2363 + "license": "BSD-2-Clause",
2364 + "dependencies": {
2365 + "punycode": "^2.1.0"
2366 + }
2367 + },
2368 + "node_modules/util-deprecate": {
2369 + "version": "1.0.2",
2370 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2371 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
2372 + "license": "MIT"
2373 + },
2374 + "node_modules/watchpack": {
2375 + "version": "2.5.1",
2376 + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz",
2377 + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==",
2378 + "license": "MIT",
2379 + "dependencies": {
2380 + "glob-to-regexp": "^0.4.1",
2381 + "graceful-fs": "^4.1.2"
2382 + },
2383 + "engines": {
2384 + "node": ">=10.13.0"
2385 + }
2386 + },
2387 + "node_modules/webidl-conversions": {
2388 + "version": "4.0.2",
2389 + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
2390 + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
2391 + "license": "BSD-2-Clause"
2392 + },
2393 + "node_modules/webpack": {
2394 + "version": "5.105.0",
2395 + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.0.tgz",
2396 + "integrity": "sha512-gX/dMkRQc7QOMzgTe6KsYFM7DxeIONQSui1s0n/0xht36HvrgbxtM1xBlgx596NbpHuQU8P7QpKwrZYwUX48nw==",
2397 + "license": "MIT",
2398 + "dependencies": {
2399 + "@types/eslint-scope": "^3.7.7",
2400 + "@types/estree": "^1.0.8",
2401 + "@types/json-schema": "^7.0.15",
2402 + "@webassemblyjs/ast": "^1.14.1",
2403 + "@webassemblyjs/wasm-edit": "^1.14.1",
2404 + "@webassemblyjs/wasm-parser": "^1.14.1",
2405 + "acorn": "^8.15.0",
2406 + "acorn-import-phases": "^1.0.3",
2407 + "browserslist": "^4.28.1",
2408 + "chrome-trace-event": "^1.0.2",
2409 + "enhanced-resolve": "^5.19.0",
2410 + "es-module-lexer": "^2.0.0",
2411 + "eslint-scope": "5.1.1",
2412 + "events": "^3.2.0",
2413 + "glob-to-regexp": "^0.4.1",
2414 + "graceful-fs": "^4.2.11",
2415 + "json-parse-even-better-errors": "^2.3.1",
2416 + "loader-runner": "^4.3.1",
2417 + "mime-types": "^2.1.27",
2418 + "neo-async": "^2.6.2",
2419 + "schema-utils": "^4.3.3",
2420 + "tapable": "^2.3.0",
2421 + "terser-webpack-plugin": "^5.3.16",
2422 + "watchpack": "^2.5.1",
2423 + "webpack-sources": "^3.3.3"
2424 + },
2425 + "bin": {
2426 + "webpack": "bin/webpack.js"
2427 + },
2428 + "engines": {
2429 + "node": ">=10.13.0"
2430 + },
2431 + "funding": {
2432 + "type": "opencollective",
2433 + "url": "https://opencollective.com/webpack"
2434 + },
2435 + "peerDependenciesMeta": {
2436 + "webpack-cli": {
2437 + "optional": true
2438 + }
2439 + }
2440 + },
2441 + "node_modules/webpack-sources": {
2442 + "version": "3.3.3",
2443 + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
2444 + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
2445 + "license": "MIT",
2446 + "engines": {
2447 + "node": ">=10.13.0"
2448 + }
2449 + },
2450 + "node_modules/webpack/node_modules/ajv": {
2451 + "version": "8.18.0",
2452 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
2453 + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
2454 + "license": "MIT",
2455 + "dependencies": {
2456 + "fast-deep-equal": "^3.1.3",
2457 + "fast-uri": "^3.0.1",
2458 + "json-schema-traverse": "^1.0.0",
2459 + "require-from-string": "^2.0.2"
2460 + },
2461 + "funding": {
2462 + "type": "github",
2463 + "url": "https://github.com/sponsors/epoberezkin"
2464 + }
2465 + },
2466 + "node_modules/webpack/node_modules/ajv-keywords": {
2467 + "version": "5.1.0",
2468 + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
2469 + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
2470 + "license": "MIT",
2471 + "dependencies": {
2472 + "fast-deep-equal": "^3.1.3"
2473 + },
2474 + "peerDependencies": {
2475 + "ajv": "^8.8.2"
2476 + }
2477 + },
2478 + "node_modules/webpack/node_modules/json-schema-traverse": {
2479 + "version": "1.0.0",
2480 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
2481 + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
2482 + "license": "MIT"
2483 + },
2484 + "node_modules/webpack/node_modules/schema-utils": {
2485 + "version": "4.3.3",
2486 + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
2487 + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
2488 + "license": "MIT",
2489 + "dependencies": {
2490 + "@types/json-schema": "^7.0.9",
2491 + "ajv": "^8.9.0",
2492 + "ajv-formats": "^2.1.1",
2493 + "ajv-keywords": "^5.1.0"
2494 + },
2495 + "engines": {
2496 + "node": ">= 10.13.0"
2497 + },
2498 + "funding": {
2499 + "type": "opencollective",
2500 + "url": "https://opencollective.com/webpack"
2501 + }
2502 + },
2503 + "node_modules/whatwg-url": {
2504 + "version": "7.1.0",
2505 + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
2506 + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
2507 + "license": "MIT",
2508 + "dependencies": {
2509 + "lodash.sortby": "^4.7.0",
2510 + "tr46": "^1.0.1",
2511 + "webidl-conversions": "^4.0.2"
2512 + }
2513 + },
2514 + "node_modules/which": {
2515 + "version": "2.0.2",
2516 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2517 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2518 + "license": "ISC",
2519 + "dependencies": {
2520 + "isexe": "^2.0.0"
2521 + },
2522 + "bin": {
2523 + "node-which": "bin/node-which"
2524 + },
2525 + "engines": {
2526 + "node": ">= 8"
2527 + }
2528 + },
2529 + "node_modules/wrappy": {
2530 + "version": "1.0.2",
2531 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2532 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
2533 + "license": "ISC"
2534 + },
2535 + "node_modules/ws": {
2536 + "version": "8.17.1",
2537 + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
2538 + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
2539 + "license": "MIT",
2540 + "engines": {
2541 + "node": ">=10.0.0"
2542 + },
2543 + "peerDependencies": {
2544 + "bufferutil": "^4.0.1",
2545 + "utf-8-validate": ">=5.0.2"
2546 + },
2547 + "peerDependenciesMeta": {
2548 + "bufferutil": {
2549 + "optional": true
2550 + },
2551 + "utf-8-validate": {
2552 + "optional": true
2553 + }
2554 + }
2555 + },
2556 + "node_modules/yallist": {
2557 + "version": "4.0.0",
2558 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2559 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
2560 + "license": "ISC"
2561 + },
2562 + "node_modules/yauzl": {
2563 + "version": "2.10.0",
2564 + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
2565 + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
2566 + "license": "MIT",
2567 + "dependencies": {
2568 + "buffer-crc32": "~0.2.3",
2569 + "fd-slicer": "~1.1.0"
2570 + }
2571 + },
2572 + "node_modules/zod": {
2573 + "version": "3.22.3",
2574 + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.3.tgz",
2575 + "integrity": "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==",
2576 + "license": "MIT",
2577 + "funding": {
2578 + "url": "https://github.com/sponsors/colinhacks"
2579 + }
2580 + }
2581 + }
2582 +}
tools/remotion-hero/package.json new
+19
@@ -0,0 +1,19 @@
1 +{
2 + "name": "remotion-hero",
3 + "version": "1.0.0",
4 + "private": true,
5 + "type": "module",
6 + "scripts": {
7 + "render:mp4": "node ./scripts/render.mjs mp4",
8 + "render:webm": "node ./scripts/render.mjs webm",
9 + "render": "npm run render:webm && npm run render:mp4"
10 + },
11 + "dependencies": {
12 + "@remotion/bundler": "^4.0.422",
13 + "@remotion/renderer": "^4.0.363",
14 + "lucide-react": "^0.542.0",
15 + "react": "^19.1.1",
16 + "react-dom": "^19.1.1",
17 + "remotion": "^4.0.363"
18 + }
19 +}
tools/remotion-hero/scripts/render.mjs new
+44
@@ -0,0 +1,44 @@
1 +import {bundle} from '@remotion/bundler';
2 +import {getCompositions, renderMedia, selectComposition} from '@remotion/renderer';
3 +import path from 'node:path';
4 +import os from 'node:os';
5 +
6 +const format = process.argv[2];
7 +if (!format || !['mp4', 'webm'].includes(format)) {
8 + console.error('Usage: node scripts/render.mjs <mp4|webm>');
9 + process.exit(1);
10 +}
11 +
12 +const root = path.resolve(process.cwd());
13 +const entry = path.join(root, 'src', 'index.ts');
14 +
15 +const outDir = path.resolve(root, '..', '..', 'docs', 'assets', 'hero');
16 +const outPath = path.join(outDir, `copilot-hub.${format}`);
17 +
18 +const tmpDir = path.join(os.tmpdir(), 'copilot-remotion-bundle');
19 +
20 +const serveUrl = await bundle({
21 + entryPoint: entry,
22 + outDir: tmpDir,
23 + webpackOverride: (config) => config,
24 +});
25 +
26 +// Resolve composition metadata (duration, fps, etc.)
27 +const composition = await selectComposition({
28 + serveUrl,
29 + id: 'copilot-hub',
30 + inputProps: {},
31 +});
32 +
33 +await renderMedia({
34 + composition,
35 + serveUrl,
36 + codec: format === 'webm' ? 'vp9' : 'h264',
37 + outputLocation: outPath,
38 + inputProps: {},
39 + crf: format === 'webm' ? 36 : 22,
40 + pixelFormat: 'yuv420p',
41 + mute: true,
42 +});
43 +
44 +console.log(`Rendered ${outPath}`);
tools/remotion-hero/src/Root.tsx new
+18
@@ -0,0 +1,18 @@
1 +import React from 'react';
2 +import {Composition} from 'remotion';
3 +import {HubSpoke} from './scenes/HubSpoke';
4 +
5 +export const RemotionRoot: React.FC = () => {
6 + return (
7 + <>
8 + <Composition
9 + id="copilot-hub"
10 + component={HubSpoke}
11 + durationInFrames={180} // 6s @ 30fps
12 + fps={30}
13 + width={1600}
14 + height={600}
15 + />
16 + </>
17 + );
18 +};
tools/remotion-hero/src/index.ts new
+4
@@ -0,0 +1,4 @@
1 +import {registerRoot} from 'remotion';
2 +import {RemotionRoot} from './Root';
3 +
4 +registerRoot(RemotionRoot);
tools/remotion-hero/src/scenes/HubSpoke.tsx new
+319
@@ -0,0 +1,319 @@
1 +import React, {useMemo} from 'react';
2 +import {
3 + AbsoluteFill,
4 + interpolate,
5 + random,
6 + spring,
7 + useCurrentFrame,
8 + useVideoConfig,
9 +} from 'remotion';
10 +import {
11 + Database,
12 + Gauge,
13 + GitBranch,
14 + LayoutDashboard,
15 + Logs,
16 + Server,
17 + ShieldCheck,
18 +} from 'lucide-react';
19 +
20 +type NodeSpec = {
21 + id: string;
22 + label: string;
23 + Icon: React.FC<{size?: number; color?: string}>;
24 + angleDeg: number;
25 +};
26 +
27 +const BG = '#0b0912';
28 +const PRIMARY = '#f85d3b';
29 +const ACCENT = '#884fff';
30 +
31 +const NodeCard: React.FC<{
32 + cx: number;
33 + cy: number;
34 + label: string;
35 + Icon: NodeSpec['Icon'];
36 + accent: string;
37 + appear: number;
38 +}> = ({cx, cy, label, Icon, accent, appear}) => {
39 + const frame = useCurrentFrame();
40 + const {fps} = useVideoConfig();
41 + const s = spring({frame, fps, config: {damping: 14, mass: 0.8, stiffness: 120}});
42 + const scale = interpolate(s, [0, 1], [0.92, 1]) * appear;
43 + const opacity = interpolate(s, [0, 1], [0, 1]) * appear;
44 +
45 + return (
46 + <div
47 + style={{
48 + position: 'absolute',
49 + left: cx,
50 + top: cy,
51 + transform: `translate(-50%, -50%) scale(${scale})`,
52 + opacity,
53 + width: 180,
54 + padding: '14px 14px 12px',
55 + borderRadius: 16,
56 + background: 'rgba(255,255,255,0.03)',
57 + border: '1px solid rgba(255,255,255,0.08)',
58 + backdropFilter: 'blur(8px)',
59 + boxShadow: `0 0 24px rgba(136,79,255,0.08)`,
60 + textAlign: 'center',
61 + fontFamily:
62 + 'IBM Plex Sans, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial',
63 + }}
64 + >
65 + <div
66 + style={{
67 + display: 'inline-flex',
68 + alignItems: 'center',
69 + justifyContent: 'center',
70 + width: 58,
71 + height: 58,
72 + borderRadius: 18,
73 + background: 'rgba(255,255,255,0.02)',
74 + border: `1px solid rgba(255,255,255,0.10)`,
75 + boxShadow: `0 0 18px ${accent}33`,
76 + }}
77 + >
78 + <Icon size={30} color={accent} />
79 + </div>
80 + <div style={{marginTop: 10, fontSize: 16, fontWeight: 600, color: 'rgba(255,255,255,0.92)'}}>
81 + {label}
82 + </div>
83 + </div>
84 + );
85 +};
86 +
87 +const Stream: React.FC<{
88 + x1: number;
89 + y1: number;
90 + x2: number;
91 + y2: number;
92 + color: string;
93 + seed: number;
94 +}> = ({x1, y1, x2, y2, color, seed}) => {
95 + const frame = useCurrentFrame();
96 + const {durationInFrames} = useVideoConfig();
97 +
98 + // Dotted stream
99 + const dash = 10;
100 + const gap = 8;
101 + const speed = 2.0 + random(seed) * 1.4;
102 + const offset = (frame * speed) % (dash + gap);
103 +
104 + // Occasional packet pulse (repeatable)
105 + const t = (frame + Math.floor(random(seed + 1) * 60)) % durationInFrames;
106 + const pulseEvery = 45 + Math.floor(random(seed + 2) * 35);
107 + const pulsePhase = t % pulseEvery;
108 + const pulseT = pulsePhase / pulseEvery;
109 + const packetVisible = pulsePhase < 18;
110 +
111 + // Quadratic curve control point (bend outward)
112 + const mx = (x1 + x2) / 2;
113 + const my = (y1 + y2) / 2;
114 + const bend = 80;
115 + const cx = mx + (my - 300) * 0.15;
116 + const cy = my - bend;
117 +
118 + const path = `M ${x1} ${y1} Q ${cx} ${cy} ${x2} ${y2}`;
119 +
120 + // Packet position along curve (approx via linear interpolation on t; fine for small effect)
121 + const px = x1 + (x2 - x1) * pulseT;
122 + const py = y1 + (y2 - y1) * pulseT;
123 +
124 + return (
125 + <svg
126 + style={{
127 + position: 'absolute',
128 + left: 0,
129 + top: 0,
130 + width: '100%',
131 + height: '100%',
132 + overflow: 'visible',
133 + }}
134 + >
135 + <path
136 + d={path}
137 + fill="none"
138 + stroke={color}
139 + strokeWidth={2.2}
140 + strokeDasharray={`${dash} ${gap}`}
141 + strokeDashoffset={-offset}
142 + opacity={0.45}
143 + style={{
144 + filter: `drop-shadow(0 0 10px ${color}55) drop-shadow(0 0 18px ${color}33)`,
145 + }}
146 + />
147 + {packetVisible ? (
148 + <circle
149 + cx={px}
150 + cy={py}
151 + r={4.2}
152 + fill={color}
153 + opacity={0.9}
154 + style={{filter: `drop-shadow(0 0 14px ${color})`}}
155 + />
156 + ) : null}
157 + </svg>
158 + );
159 +};
160 +
161 +export const HubSpoke: React.FC = () => {
162 + const frame = useCurrentFrame();
163 + const {fps, durationInFrames, width, height} = useVideoConfig();
164 +
165 + const center = {x: width / 2, y: height / 2};
166 + const radius = 210;
167 +
168 + const nodes: NodeSpec[] = useMemo(
169 + () => [
170 + { id: 'wazuh-manager', label: 'Wazuh Manager', Icon: Server, angleDeg: -90 },
171 + { id: 'wazuh-indexer', label: 'Wazuh Indexer', Icon: Database, angleDeg: -30 },
172 + { id: 'graylog', label: 'Graylog', Icon: Logs, angleDeg: 30 },
173 + { id: 'grafana', label: 'Grafana', Icon: Gauge, angleDeg: 90 },
174 + { id: 'shuffle', label: 'Shuffle', Icon: GitBranch, angleDeg: 150 },
175 + { id: 'velociraptor', label: 'Velociraptor', Icon: LayoutDashboard, angleDeg: 210 },
176 + ],
177 + []
178 + );
179 +
180 + const appear = spring({frame, fps, config: {damping: 16, stiffness: 120, mass: 0.9}});
181 +
182 + const hubPulse = 0.5 + 0.5 * Math.sin((frame / durationInFrames) * Math.PI * 2);
183 + const hubGlow = interpolate(hubPulse, [0, 1], [0.25, 0.6]);
184 +
185 + return (
186 + <AbsoluteFill
187 + style={{
188 + backgroundColor: BG,
189 + overflow: 'hidden',
190 + }}
191 + >
192 + {/* Background: subtle grid + gradient */}
193 + <AbsoluteFill
194 + style={{
195 + background:
196 + `radial-gradient(900px 380px at 50% 30%, rgba(136,79,255,0.18), transparent 60%),` +
197 + `radial-gradient(700px 420px at 70% 70%, rgba(248,93,59,0.12), transparent 55%),` +
198 + `linear-gradient(180deg, rgba(255,255,255,0.02), transparent 40%)`,
199 + }}
200 + />
201 + <AbsoluteFill
202 + style={{
203 + backgroundImage:
204 + 'linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px)',
205 + backgroundSize: '56px 56px',
206 + opacity: 0.10,
207 + transform: `translateY(${interpolate(
208 + (frame % durationInFrames) / durationInFrames,
209 + [0, 1],
210 + [0, -56]
211 + )}px)`,
212 + }}
213 + />
214 +
215 + {/* Streams */}
216 + {nodes.map((n, idx) => {
217 + const a = (n.angleDeg * Math.PI) / 180;
218 + const x = center.x + Math.cos(a) * radius;
219 + const y = center.y + Math.sin(a) * radius;
220 + const color = idx % 2 === 0 ? PRIMARY : ACCENT;
221 + return (
222 + <Stream
223 + key={n.id}
224 + x1={x}
225 + y1={y}
226 + x2={center.x}
227 + y2={center.y}
228 + color={color}
229 + seed={idx + 10}
230 + />
231 + );
232 + })}
233 +
234 + {/* Hub */}
235 + <div
236 + style={{
237 + position: 'absolute',
238 + left: center.x,
239 + top: center.y,
240 + transform: `translate(-50%, -50%) scale(${0.98 + appear * 0.02})`,
241 + width: 320,
242 + padding: '22px 18px 18px',
243 + borderRadius: 22,
244 + background: 'rgba(255,255,255,0.04)',
245 + border: '1px solid rgba(255,255,255,0.10)',
246 + textAlign: 'center',
247 + boxShadow: `0 0 35px rgba(248,93,59,${hubGlow}), 0 0 55px rgba(136,79,255,0.18)`,
248 + backdropFilter: 'blur(10px)',
249 + fontFamily:
250 + 'IBM Plex Sans, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial',
251 + }}
252 + >
253 + <div
254 + style={{
255 + display: 'inline-flex',
256 + alignItems: 'center',
257 + justifyContent: 'center',
258 + width: 76,
259 + height: 76,
260 + borderRadius: 22,
261 + background: 'rgba(255,255,255,0.02)',
262 + border: '1px solid rgba(255,255,255,0.12)',
263 + boxShadow: `0 0 22px ${PRIMARY}55`,
264 + }}
265 + >
266 + <ShieldCheck size={38} color={PRIMARY} />
267 + </div>
268 + <div
269 + style={{
270 + marginTop: 12,
271 + fontSize: 22,
272 + fontWeight: 700,
273 + color: 'rgba(255,255,255,0.94)',
274 + letterSpacing: 0.2,
275 + }}
276 + >
277 + SOCFortress CoPilot
278 + </div>
279 + <div
280 + style={{
281 + marginTop: 6,
282 + fontSize: 15,
283 + color: 'rgba(255,255,255,0.70)',
284 + }}
285 + >
286 + Connect • Enrich • Automate
287 + </div>
288 + </div>
289 +
290 + {/* Outer nodes */}
291 + {nodes.map((n, idx) => {
292 + const a = (n.angleDeg * Math.PI) / 180;
293 + const x = center.x + Math.cos(a) * radius;
294 + const y = center.y + Math.sin(a) * radius;
295 + const accent = idx % 2 === 0 ? PRIMARY : ACCENT;
296 + return (
297 + <NodeCard
298 + key={n.id}
299 + cx={x}
300 + cy={y}
301 + label={n.label}
302 + Icon={n.Icon}
303 + accent={accent}
304 + appear={appear}
305 + />
306 + );
307 + })}
308 +
309 + {/* Subtle vignette */}
310 + <AbsoluteFill
311 + style={{
312 + background:
313 + 'radial-gradient(circle at 50% 50%, transparent 40%, rgba(0,0,0,0.55) 85%)',
314 + opacity: 0.55,
315 + }}
316 + />
317 + </AbsoluteFill>
318 + );
319 +};