3v324v23 commited on
Commit
23d4307
·
1 Parent(s): fcf74ae

upload firebase

Browse files
Files changed (5) hide show
  1. package.json +1 -0
  2. pnpm-lock.yaml +1276 -8
  3. src/firebase-admin.ts +50 -0
  4. src/render.ts +24 -4
  5. src/server.ts +4 -4
package.json CHANGED
@@ -29,6 +29,7 @@
29
  "@remotion/web-renderer": "4.0.407",
30
  "cors": "^2.8.5",
31
  "express": "^4.18.2",
 
32
  "lodash": "^4.17.21",
33
  "react": "^18.2.0",
34
  "react-dom": "^18.2.0",
 
29
  "@remotion/web-renderer": "4.0.407",
30
  "cors": "^2.8.5",
31
  "express": "^4.18.2",
32
+ "firebase": "^12.9.0",
33
  "lodash": "^4.17.21",
34
  "react": "^18.2.0",
35
  "react-dom": "^18.2.0",
pnpm-lock.yaml CHANGED
@@ -26,18 +26,48 @@ importers:
26
  '@designcombo/types':
27
  specifier: ^5.4.2
28
  version: 5.5.8
 
 
 
 
 
 
29
  '@remotion/bundler':
30
  specifier: 4.0.407
31
  version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
 
 
 
 
 
 
 
 
 
 
 
 
32
  '@remotion/renderer':
33
  specifier: 4.0.407
34
  version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
 
 
 
 
 
 
 
 
 
35
  cors:
36
  specifier: ^2.8.5
37
  version: 2.8.5
38
  express:
39
  specifier: ^4.18.2
40
  version: 4.22.1
 
 
 
41
  lodash:
42
  specifier: ^4.17.21
43
  version: 4.17.21
@@ -84,6 +114,51 @@ importers:
84
 
85
  packages:
86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  '@designcombo/animations@5.5.8':
88
  resolution: {integrity: sha512-D8eMxJxF9MDDkaO4ijDSe53XkSvl5aH8SssF3kDnmasN7rlUCq72aGdfwxJWPV3kiv7zBzuAkxF7baGteByYUQ==}
89
  peerDependencies:
@@ -117,6 +192,60 @@ packages:
117
  '@designcombo/types@5.5.8':
118
  resolution: {integrity: sha512-fhgYm55vn5c48j2Ur6LlQYT/2Xzgy6ItvDQfz9yD3M02LqO/Vb5xT9EY3/qCCSaluI9GFjCAM9N8cjkvdEalWg==}
119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  '@esbuild/aix-ppc64@0.25.0':
121
  resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==}
122
  engines: {node: '>=18'}
@@ -423,6 +552,225 @@ packages:
423
  cpu: [x64]
424
  os: [win32]
425
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
426
  '@jridgewell/gen-mapping@0.3.13':
427
  resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
428
 
@@ -443,6 +791,36 @@ packages:
443
  resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
444
  hasBin: true
445
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
446
  '@remotion/bundler@4.0.407':
447
  resolution: {integrity: sha512-6nU/Tg1hWVTCt9NAUjYQQQ5fU6JA7XoOQalqbSTRf8GnN7PBdhM7qHcLaDSYczsTjI9bnS7MyKGbSTgdxYbcew==}
448
  peerDependencies:
@@ -463,21 +841,25 @@ packages:
463
  resolution: {integrity: sha512-3n2Q3xtPUt3U+ZI5CEtx4T2V4aFS3pX/PMEXtz7v5gA+ioV7dB21Pf0rstAdyhGONyug7aveZqZX6sptYZSW8A==}
464
  cpu: [arm64]
465
  os: [linux]
 
466
 
467
  '@remotion/compositor-linux-arm64-musl@4.0.407':
468
  resolution: {integrity: sha512-bshGOHul9Q8ezoFGcvIuXbpiz7sfl3Vq4V/dBBxtS+y//Nj1mBNE26gP8uHB1c+egg1mY8zvGe0U/63ntafu5w==}
469
  cpu: [arm64]
470
  os: [linux]
 
471
 
472
  '@remotion/compositor-linux-x64-gnu@4.0.407':
473
  resolution: {integrity: sha512-ZK2LWwzZYXY0LR+P3X2RqoYX152iUum+b7OwTJ2CisDWX2+2oaMtXxdBN9d/O8GIplKuthMuOZhVPEVegAun2Q==}
474
  cpu: [x64]
475
  os: [linux]
 
476
 
477
  '@remotion/compositor-linux-x64-musl@4.0.407':
478
  resolution: {integrity: sha512-27TsuS+SnbWN0hpUCOr3wiMl5YuWP7KJ0bRTROIsAPS8PxBOHnx6Ql9+U0jnP0dNcM0nfTNyXHbkhgS9XGLqNA==}
479
  cpu: [x64]
480
  os: [linux]
 
481
 
482
  '@remotion/compositor-win32-x64-msvc@4.0.407':
483
  resolution: {integrity: sha512-jzyzXnzp+Ca6iguMCn4YED5JISEIyecI7nSmtHvrL+9TvnxBFm6NZfofAeRasRlgEoR/Q7PDtOWsUTequSYnVQ==}
@@ -496,9 +878,18 @@ packages:
496
  react: '>=16.8.0'
497
  react-dom: '>=16.8.0'
498
 
 
 
 
 
 
 
499
  '@remotion/paths@4.0.340':
500
  resolution: {integrity: sha512-cOKj+SDnh+r8yQZ6WR5hHDPFW5rCdttzH19xvlWd9sRYuE/QnU63CQsaqkiPOkhwu57v9BxkcKTkQ+pWetgPCA==}
501
 
 
 
 
502
  '@remotion/player@4.0.407':
503
  resolution: {integrity: sha512-R40bQz5h5z//5oVmjUZep4uILM9Fck2zxDQiWZLEXNNiBSnRWvy537TE9JBH7t8YuV9yzueBx6sxxX0IcY1U5w==}
504
  peerDependencies:
@@ -517,6 +908,12 @@ packages:
517
  react: '>=16.8.0'
518
  react-dom: '>=16.8.0'
519
 
 
 
 
 
 
 
520
  '@remotion/streaming@4.0.407':
521
  resolution: {integrity: sha512-v8saNy7FZZN0qtpYdao5Knvxod0pLGbpsx5UludEhaXtcvOMT883nUPtgUHYxaY/AnCgxNXVgUEjqSglSU1E7w==}
522
 
@@ -535,6 +932,12 @@ packages:
535
  react: '>=16.8.0'
536
  react-dom: '>=16.8.0'
537
 
 
 
 
 
 
 
538
  '@remotion/web-renderer@4.0.407':
539
  resolution: {integrity: sha512-wO3IE+opVoT6mdcrZUzvD9urdglOr91qXO4uJqbTgzcVzRCpRp2iOPKQCjPmI/RxWQ6+fWN4VjZJP1E0iQIgGw==}
540
  peerDependencies:
@@ -601,6 +1004,9 @@ packages:
601
  '@types/node@20.19.30':
602
  resolution: {integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==}
603
 
 
 
 
604
  '@types/prop-types@15.7.15':
605
  resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
606
 
@@ -734,6 +1140,10 @@ packages:
734
  resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
735
  engines: {node: '>=8'}
736
 
 
 
 
 
737
  aproba@2.1.0:
738
  resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==}
739
 
@@ -748,6 +1158,10 @@ packages:
748
  asynckit@0.4.0:
749
  resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
750
 
 
 
 
 
751
  balanced-match@1.0.2:
752
  resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
753
 
@@ -788,6 +1202,10 @@ packages:
788
  resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
789
  engines: {node: '>= 0.4'}
790
 
 
 
 
 
791
  caniuse-lite@1.0.30001765:
792
  resolution: {integrity: sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==}
793
 
@@ -803,6 +1221,17 @@ packages:
803
  resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
804
  engines: {node: '>=6.0'}
805
 
 
 
 
 
 
 
 
 
 
 
 
806
  color-support@1.1.3:
807
  resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
808
  hasBin: true
@@ -828,6 +1257,9 @@ packages:
828
  resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
829
  engines: {node: '>= 0.6'}
830
 
 
 
 
831
  cookie-signature@1.0.7:
832
  resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==}
833
 
@@ -839,6 +1271,10 @@ packages:
839
  resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
840
  engines: {node: '>= 0.10'}
841
 
 
 
 
 
842
  cross-spawn@7.0.6:
843
  resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
844
  engines: {node: '>= 8'}
@@ -955,6 +1391,9 @@ packages:
955
  resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
956
  engines: {node: '>=0.12'}
957
 
 
 
 
958
  es-define-property@1.0.1:
959
  resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
960
  engines: {node: '>= 0.4'}
@@ -991,6 +1430,10 @@ packages:
991
  escape-html@1.0.3:
992
  resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
993
 
 
 
 
 
994
  escodegen@2.1.0:
995
  resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
996
  engines: {node: '>=6.0'}
@@ -1055,6 +1498,10 @@ packages:
1055
  fast-uri@3.1.0:
1056
  resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
1057
 
 
 
 
 
1058
  fd-slicer@1.1.0:
1059
  resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
1060
 
@@ -1062,6 +1509,12 @@ packages:
1062
  resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==}
1063
  engines: {node: '>= 0.8'}
1064
 
 
 
 
 
 
 
1065
  form-data@4.0.5:
1066
  resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
1067
  engines: {node: '>= 6'}
@@ -1097,6 +1550,10 @@ packages:
1097
  engines: {node: '>=10'}
1098
  deprecated: This package is no longer supported.
1099
 
 
 
 
 
1100
  get-intrinsic@1.3.0:
1101
  resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
1102
  engines: {node: '>= 0.4'}
@@ -1149,6 +1606,9 @@ packages:
1149
  resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1150
  engines: {node: '>= 0.4'}
1151
 
 
 
 
1152
  html-encoding-sniffer@3.0.0:
1153
  resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
1154
  engines: {node: '>=12'}
@@ -1157,6 +1617,9 @@ packages:
1157
  resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
1158
  engines: {node: '>= 0.8'}
1159
 
 
 
 
1160
  http-proxy-agent@5.0.0:
1161
  resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
1162
  engines: {node: '>= 6'}
@@ -1183,9 +1646,16 @@ packages:
1183
  peerDependencies:
1184
  postcss: ^8.1.0
1185
 
 
 
 
1186
  immer@10.2.0:
1187
  resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==}
1188
 
 
 
 
 
1189
  inflight@1.0.6:
1190
  resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1191
  deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
@@ -1197,6 +1667,13 @@ packages:
1197
  resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
1198
  engines: {node: '>= 0.10'}
1199
 
 
 
 
 
 
 
 
1200
  is-docker@2.2.1:
1201
  resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
1202
  engines: {node: '>=8'}
@@ -1236,6 +1713,11 @@ packages:
1236
  canvas:
1237
  optional: true
1238
 
 
 
 
 
 
1239
  json-parse-even-better-errors@2.3.1:
1240
  resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
1241
 
@@ -1250,6 +1732,9 @@ packages:
1250
  engines: {node: '>=6'}
1251
  hasBin: true
1252
 
 
 
 
1253
  loader-runner@4.3.1:
1254
  resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==}
1255
  engines: {node: '>=6.11.5'}
@@ -1261,6 +1746,9 @@ packages:
1261
  lodash-es@4.17.22:
1262
  resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==}
1263
 
 
 
 
1264
  lodash.clonedeep@4.5.0:
1265
  resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
1266
 
@@ -1278,6 +1766,9 @@ packages:
1278
  lodash@4.17.21:
1279
  resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1280
 
 
 
 
1281
  loose-envify@1.4.0:
1282
  resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1283
  hasBin: true
@@ -1436,6 +1927,14 @@ packages:
1436
  resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
1437
  engines: {node: '>=12'}
1438
 
 
 
 
 
 
 
 
 
1439
  parse5@7.3.0:
1440
  resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
1441
 
@@ -1451,9 +1950,16 @@ packages:
1451
  resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1452
  engines: {node: '>=8'}
1453
 
 
 
 
1454
  path-to-regexp@0.1.12:
1455
  resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
1456
 
 
 
 
 
1457
  pend@1.2.0:
1458
  resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
1459
 
@@ -1495,6 +2001,10 @@ packages:
1495
  resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
1496
  engines: {node: ^10 || ^12 || >=14}
1497
 
 
 
 
 
1498
  proxy-addr@2.0.7:
1499
  resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
1500
  engines: {node: '>= 0.10'}
@@ -1532,6 +2042,9 @@ packages:
1532
  peerDependencies:
1533
  react: ^18.3.1
1534
 
 
 
 
1535
  react-refresh@0.9.0:
1536
  resolution: {integrity: sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==}
1537
  engines: {node: '>=0.10.0'}
@@ -1556,6 +2069,10 @@ packages:
1556
  react: '>=16.8.0'
1557
  react-dom: '>=16.8.0'
1558
 
 
 
 
 
1559
  require-from-string@2.0.2:
1560
  resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
1561
  engines: {node: '>=0.10.0'}
@@ -1563,9 +2080,18 @@ packages:
1563
  requires-port@1.0.0:
1564
  resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
1565
 
 
 
 
 
1566
  resolve-pkg-maps@1.0.0:
1567
  resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
1568
 
 
 
 
 
 
1569
  rimraf@3.0.2:
1570
  resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1571
  deprecated: Rimraf versions prior to v4 are no longer supported
@@ -1666,6 +2192,10 @@ packages:
1666
  source-map-support@0.5.21:
1667
  resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
1668
 
 
 
 
 
1669
  source-map@0.6.1:
1670
  resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1671
  engines: {node: '>=0.10.0'}
@@ -1704,10 +2234,17 @@ packages:
1704
  peerDependencies:
1705
  webpack: ^5.27.0
1706
 
 
 
 
1707
  supports-color@8.1.1:
1708
  resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
1709
  engines: {node: '>=10'}
1710
 
 
 
 
 
1711
  symbol-tree@3.2.4:
1712
  resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
1713
 
@@ -1827,6 +2364,9 @@ packages:
1827
  resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==}
1828
  engines: {node: '>=10.13.0'}
1829
 
 
 
 
1830
  webidl-conversions@3.0.1:
1831
  resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
1832
 
@@ -1851,6 +2391,14 @@ packages:
1851
  webpack-cli:
1852
  optional: true
1853
 
 
 
 
 
 
 
 
 
1854
  whatwg-encoding@2.0.0:
1855
  resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
1856
  engines: {node: '>=12'}
@@ -1878,6 +2426,10 @@ packages:
1878
  wide-align@1.1.5:
1879
  resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
1880
 
 
 
 
 
1881
  wrappy@1.0.2:
1882
  resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1883
 
@@ -1912,9 +2464,25 @@ packages:
1912
  xmlchars@2.2.0:
1913
  resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
1914
 
 
 
 
 
1915
  yallist@4.0.0:
1916
  resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
1917
 
 
 
 
 
 
 
 
 
 
 
 
 
1918
  yauzl@2.10.0:
1919
  resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
1920
 
@@ -1938,6 +2506,62 @@ packages:
1938
 
1939
  snapshots:
1940
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1941
  '@designcombo/animations@5.5.8(@designcombo/events@1.0.2)(@designcombo/types@5.5.8)(react@18.3.1)(remotion@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1))':
1942
  dependencies:
1943
  '@designcombo/events': 1.0.2
@@ -1993,6 +2617,89 @@ snapshots:
1993
  dependencies:
1994
  rxjs: 7.8.2
1995
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1996
  '@esbuild/aix-ppc64@0.25.0':
1997
  optional: true
1998
 
@@ -2146,6 +2853,336 @@ snapshots:
2146
  '@esbuild/win32-x64@0.27.2':
2147
  optional: true
2148
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2149
  '@jridgewell/gen-mapping@0.3.13':
2150
  dependencies:
2151
  '@jridgewell/sourcemap-codec': 1.5.5
@@ -2181,6 +3218,29 @@ snapshots:
2181
  - supports-color
2182
  optional: true
2183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2184
  '@remotion/bundler@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2185
  dependencies:
2186
  '@remotion/media-parser': 4.0.407
@@ -2237,8 +3297,17 @@ snapshots:
2237
  react-dom: 18.3.1(react@18.3.1)
2238
  remotion: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2239
 
 
 
 
 
 
 
 
2240
  '@remotion/paths@4.0.340': {}
2241
 
 
 
2242
  '@remotion/player@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2243
  dependencies:
2244
  react: 18.3.1
@@ -2275,6 +3344,12 @@ snapshots:
2275
  react: 18.3.1
2276
  react-dom: 18.3.1(react@18.3.1)
2277
 
 
 
 
 
 
 
2278
  '@remotion/streaming@4.0.407': {}
2279
 
2280
  '@remotion/studio-shared@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
@@ -2314,6 +3389,14 @@ snapshots:
2314
  react-dom: 18.3.1(react@18.3.1)
2315
  remotion: 4.0.340(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2316
 
 
 
 
 
 
 
 
 
2317
  '@remotion/web-renderer@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2318
  dependencies:
2319
  '@remotion/licensing': 4.0.407
@@ -2398,6 +3481,8 @@ snapshots:
2398
  dependencies:
2399
  undici-types: 6.21.0
2400
 
 
 
2401
  '@types/prop-types@15.7.15': {}
2402
 
2403
  '@types/qs@6.14.0': {}
@@ -2569,8 +3654,11 @@ snapshots:
2569
  json-schema-traverse: 1.0.0
2570
  require-from-string: 2.0.2
2571
 
2572
- ansi-regex@5.0.1:
2573
- optional: true
 
 
 
2574
 
2575
  aproba@2.1.0:
2576
  optional: true
@@ -2586,6 +3674,12 @@ snapshots:
2586
  asynckit@0.4.0:
2587
  optional: true
2588
 
 
 
 
 
 
 
2589
  balanced-match@1.0.2:
2590
  optional: true
2591
 
@@ -2640,6 +3734,8 @@ snapshots:
2640
  call-bind-apply-helpers: 1.0.2
2641
  get-intrinsic: 1.3.0
2642
 
 
 
2643
  caniuse-lite@1.0.30001765: {}
2644
 
2645
  canvas@2.11.2:
@@ -2657,6 +3753,18 @@ snapshots:
2657
 
2658
  chrome-trace-event@1.0.4: {}
2659
 
 
 
 
 
 
 
 
 
 
 
 
 
2660
  color-support@1.1.3:
2661
  optional: true
2662
 
@@ -2679,6 +3787,8 @@ snapshots:
2679
 
2680
  content-type@1.0.5: {}
2681
 
 
 
2682
  cookie-signature@1.0.7: {}
2683
 
2684
  cookie@0.7.2: {}
@@ -2688,6 +3798,14 @@ snapshots:
2688
  object-assign: 4.1.1
2689
  vary: 1.1.2
2690
 
 
 
 
 
 
 
 
 
2691
  cross-spawn@7.0.6:
2692
  dependencies:
2693
  path-key: 3.1.1
@@ -2776,8 +3894,7 @@ snapshots:
2776
 
2777
  electron-to-chromium@1.5.267: {}
2778
 
2779
- emoji-regex@8.0.0:
2780
- optional: true
2781
 
2782
  emojis-list@3.0.0: {}
2783
 
@@ -2795,6 +3912,10 @@ snapshots:
2795
  entities@6.0.1:
2796
  optional: true
2797
 
 
 
 
 
2798
  es-define-property@1.0.1: {}
2799
 
2800
  es-errors@1.3.0: {}
@@ -2874,6 +3995,8 @@ snapshots:
2874
 
2875
  escape-html@1.0.3: {}
2876
 
 
 
2877
  escodegen@2.1.0:
2878
  dependencies:
2879
  esprima: 4.0.1
@@ -2980,6 +4103,10 @@ snapshots:
2980
 
2981
  fast-uri@3.1.0: {}
2982
 
 
 
 
 
2983
  fd-slicer@1.1.0:
2984
  dependencies:
2985
  pend: 1.2.0
@@ -2996,6 +4123,41 @@ snapshots:
2996
  transitivePeerDependencies:
2997
  - supports-color
2998
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2999
  form-data@4.0.5:
3000
  dependencies:
3001
  asynckit: 0.4.0
@@ -3037,6 +4199,8 @@ snapshots:
3037
  wide-align: 1.1.5
3038
  optional: true
3039
 
 
 
3040
  get-intrinsic@1.3.0:
3041
  dependencies:
3042
  call-bind-apply-helpers: 1.0.2
@@ -3097,6 +4261,10 @@ snapshots:
3097
  dependencies:
3098
  function-bind: 1.1.2
3099
 
 
 
 
 
3100
  html-encoding-sniffer@3.0.0:
3101
  dependencies:
3102
  whatwg-encoding: 2.0.0
@@ -3110,6 +4278,8 @@ snapshots:
3110
  statuses: 2.0.2
3111
  toidentifier: 1.0.1
3112
 
 
 
3113
  http-proxy-agent@5.0.0:
3114
  dependencies:
3115
  '@tootallnate/once': 2.0.0
@@ -3142,8 +4312,15 @@ snapshots:
3142
  dependencies:
3143
  postcss: 8.5.6
3144
 
 
 
3145
  immer@10.2.0: {}
3146
 
 
 
 
 
 
3147
  inflight@1.0.6:
3148
  dependencies:
3149
  once: 1.4.0
@@ -3154,10 +4331,15 @@ snapshots:
3154
 
3155
  ipaddr.js@1.9.1: {}
3156
 
 
 
 
 
 
 
3157
  is-docker@2.2.1: {}
3158
 
3159
- is-fullwidth-code-point@3.0.0:
3160
- optional: true
3161
 
3162
  is-potential-custom-element-name@1.0.1:
3163
  optional: true
@@ -3214,6 +4396,8 @@ snapshots:
3214
  - utf-8-validate
3215
  optional: true
3216
 
 
 
3217
  json-parse-even-better-errors@2.3.1: {}
3218
 
3219
  json-schema-traverse@0.4.1: {}
@@ -3222,6 +4406,8 @@ snapshots:
3222
 
3223
  json5@2.2.3: {}
3224
 
 
 
3225
  loader-runner@4.3.1: {}
3226
 
3227
  loader-utils@2.0.4:
@@ -3232,6 +4418,8 @@ snapshots:
3232
 
3233
  lodash-es@4.17.22: {}
3234
 
 
 
3235
  lodash.clonedeep@4.5.0: {}
3236
 
3237
  lodash.isequal@4.5.0: {}
@@ -3242,6 +4430,8 @@ snapshots:
3242
 
3243
  lodash@4.17.21: {}
3244
 
 
 
3245
  loose-envify@1.4.0:
3246
  dependencies:
3247
  js-tokens: 4.0.0
@@ -3375,6 +4565,17 @@ snapshots:
3375
  is-docker: 2.2.1
3376
  is-wsl: 2.2.0
3377
 
 
 
 
 
 
 
 
 
 
 
 
3378
  parse5@7.3.0:
3379
  dependencies:
3380
  entities: 6.0.1
@@ -3387,8 +4588,12 @@ snapshots:
3387
 
3388
  path-key@3.1.1: {}
3389
 
 
 
3390
  path-to-regexp@0.1.12: {}
3391
 
 
 
3392
  pend@1.2.0: {}
3393
 
3394
  picocolors@1.1.1: {}
@@ -3427,6 +4632,21 @@ snapshots:
3427
  picocolors: 1.1.1
3428
  source-map-js: 1.2.1
3429
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3430
  proxy-addr@2.0.7:
3431
  dependencies:
3432
  forwarded: 0.2.0
@@ -3470,6 +4690,8 @@ snapshots:
3470
  react: 18.3.1
3471
  scheduler: 0.23.2
3472
 
 
 
3473
  react-refresh@0.9.0: {}
3474
 
3475
  react@18.3.1:
@@ -3493,13 +4715,23 @@ snapshots:
3493
  react: 18.3.1
3494
  react-dom: 18.3.1(react@18.3.1)
3495
 
 
 
3496
  require-from-string@2.0.2: {}
3497
 
3498
  requires-port@1.0.0:
3499
  optional: true
3500
 
 
 
3501
  resolve-pkg-maps@1.0.0: {}
3502
 
 
 
 
 
 
 
3503
  rimraf@3.0.2:
3504
  dependencies:
3505
  glob: 7.2.3
@@ -3633,6 +4865,8 @@ snapshots:
3633
  buffer-from: 1.1.2
3634
  source-map: 0.6.1
3635
 
 
 
3636
  source-map@0.6.1: {}
3637
 
3638
  source-map@0.7.3: {}
@@ -3648,7 +4882,6 @@ snapshots:
3648
  emoji-regex: 8.0.0
3649
  is-fullwidth-code-point: 3.0.0
3650
  strip-ansi: 6.0.1
3651
- optional: true
3652
 
3653
  string_decoder@1.3.0:
3654
  dependencies:
@@ -3658,7 +4891,6 @@ snapshots:
3658
  strip-ansi@6.0.1:
3659
  dependencies:
3660
  ansi-regex: 5.0.1
3661
- optional: true
3662
 
3663
  strip-final-newline@2.0.0: {}
3664
 
@@ -3666,10 +4898,14 @@ snapshots:
3666
  dependencies:
3667
  webpack: 5.96.1(esbuild@0.25.0)
3668
 
 
 
3669
  supports-color@8.1.1:
3670
  dependencies:
3671
  has-flag: 4.0.0
3672
 
 
 
3673
  symbol-tree@3.2.4:
3674
  optional: true
3675
 
@@ -3786,6 +5022,8 @@ snapshots:
3786
  glob-to-regexp: 0.4.1
3787
  graceful-fs: 4.2.11
3788
 
 
 
3789
  webidl-conversions@3.0.1:
3790
  optional: true
3791
 
@@ -3826,6 +5064,14 @@ snapshots:
3826
  - esbuild
3827
  - uglify-js
3828
 
 
 
 
 
 
 
 
 
3829
  whatwg-encoding@2.0.0:
3830
  dependencies:
3831
  iconv-lite: 0.6.3
@@ -3861,6 +5107,12 @@ snapshots:
3861
  string-width: 4.2.3
3862
  optional: true
3863
 
 
 
 
 
 
 
3864
  wrappy@1.0.2: {}
3865
 
3866
  ws@8.17.1: {}
@@ -3874,8 +5126,24 @@ snapshots:
3874
  xmlchars@2.2.0:
3875
  optional: true
3876
 
 
 
3877
  yallist@4.0.0: {}
3878
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3879
  yauzl@2.10.0:
3880
  dependencies:
3881
  buffer-crc32: 0.2.13
 
26
  '@designcombo/types':
27
  specifier: ^5.4.2
28
  version: 5.5.8
29
+ '@emotion/react':
30
+ specifier: ^11.14.0
31
+ version: 11.14.0(@types/react@18.3.27)(react@18.3.1)
32
+ '@emotion/styled':
33
+ specifier: ^11.14.0
34
+ version: 11.14.1(@emotion/react@11.14.0(@types/react@18.3.27)(react@18.3.1))(@types/react@18.3.27)(react@18.3.1)
35
  '@remotion/bundler':
36
  specifier: 4.0.407
37
  version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
38
+ '@remotion/media':
39
+ specifier: 4.0.407
40
+ version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
41
+ '@remotion/media-utils':
42
+ specifier: 4.0.407
43
+ version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
44
+ '@remotion/paths':
45
+ specifier: 4.0.407
46
+ version: 4.0.407
47
+ '@remotion/player':
48
+ specifier: 4.0.407
49
+ version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
50
  '@remotion/renderer':
51
  specifier: 4.0.407
52
  version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
53
+ '@remotion/shapes':
54
+ specifier: 4.0.407
55
+ version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
56
+ '@remotion/transitions':
57
+ specifier: 4.0.407
58
+ version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
59
+ '@remotion/web-renderer':
60
+ specifier: 4.0.407
61
+ version: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
62
  cors:
63
  specifier: ^2.8.5
64
  version: 2.8.5
65
  express:
66
  specifier: ^4.18.2
67
  version: 4.22.1
68
+ firebase:
69
+ specifier: ^12.9.0
70
+ version: 12.9.0
71
  lodash:
72
  specifier: ^4.17.21
73
  version: 4.17.21
 
114
 
115
  packages:
116
 
117
+ '@babel/code-frame@7.29.0':
118
+ resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
119
+ engines: {node: '>=6.9.0'}
120
+
121
+ '@babel/generator@7.29.1':
122
+ resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
123
+ engines: {node: '>=6.9.0'}
124
+
125
+ '@babel/helper-globals@7.28.0':
126
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
127
+ engines: {node: '>=6.9.0'}
128
+
129
+ '@babel/helper-module-imports@7.28.6':
130
+ resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
131
+ engines: {node: '>=6.9.0'}
132
+
133
+ '@babel/helper-string-parser@7.27.1':
134
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
135
+ engines: {node: '>=6.9.0'}
136
+
137
+ '@babel/helper-validator-identifier@7.28.5':
138
+ resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
139
+ engines: {node: '>=6.9.0'}
140
+
141
+ '@babel/parser@7.29.0':
142
+ resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==}
143
+ engines: {node: '>=6.0.0'}
144
+ hasBin: true
145
+
146
+ '@babel/runtime@7.28.6':
147
+ resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==}
148
+ engines: {node: '>=6.9.0'}
149
+
150
+ '@babel/template@7.28.6':
151
+ resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
152
+ engines: {node: '>=6.9.0'}
153
+
154
+ '@babel/traverse@7.29.0':
155
+ resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
156
+ engines: {node: '>=6.9.0'}
157
+
158
+ '@babel/types@7.29.0':
159
+ resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
160
+ engines: {node: '>=6.9.0'}
161
+
162
  '@designcombo/animations@5.5.8':
163
  resolution: {integrity: sha512-D8eMxJxF9MDDkaO4ijDSe53XkSvl5aH8SssF3kDnmasN7rlUCq72aGdfwxJWPV3kiv7zBzuAkxF7baGteByYUQ==}
164
  peerDependencies:
 
192
  '@designcombo/types@5.5.8':
193
  resolution: {integrity: sha512-fhgYm55vn5c48j2Ur6LlQYT/2Xzgy6ItvDQfz9yD3M02LqO/Vb5xT9EY3/qCCSaluI9GFjCAM9N8cjkvdEalWg==}
194
 
195
+ '@emotion/babel-plugin@11.13.5':
196
+ resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
197
+
198
+ '@emotion/cache@11.14.0':
199
+ resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==}
200
+
201
+ '@emotion/hash@0.9.2':
202
+ resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==}
203
+
204
+ '@emotion/is-prop-valid@1.4.0':
205
+ resolution: {integrity: sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==}
206
+
207
+ '@emotion/memoize@0.9.0':
208
+ resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==}
209
+
210
+ '@emotion/react@11.14.0':
211
+ resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==}
212
+ peerDependencies:
213
+ '@types/react': '*'
214
+ react: '>=16.8.0'
215
+ peerDependenciesMeta:
216
+ '@types/react':
217
+ optional: true
218
+
219
+ '@emotion/serialize@1.3.3':
220
+ resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==}
221
+
222
+ '@emotion/sheet@1.4.0':
223
+ resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==}
224
+
225
+ '@emotion/styled@11.14.1':
226
+ resolution: {integrity: sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==}
227
+ peerDependencies:
228
+ '@emotion/react': ^11.0.0-rc.0
229
+ '@types/react': '*'
230
+ react: '>=16.8.0'
231
+ peerDependenciesMeta:
232
+ '@types/react':
233
+ optional: true
234
+
235
+ '@emotion/unitless@0.10.0':
236
+ resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==}
237
+
238
+ '@emotion/use-insertion-effect-with-fallbacks@1.2.0':
239
+ resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==}
240
+ peerDependencies:
241
+ react: '>=16.8.0'
242
+
243
+ '@emotion/utils@1.4.2':
244
+ resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==}
245
+
246
+ '@emotion/weak-memoize@0.4.0':
247
+ resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==}
248
+
249
  '@esbuild/aix-ppc64@0.25.0':
250
  resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==}
251
  engines: {node: '>=18'}
 
552
  cpu: [x64]
553
  os: [win32]
554
 
555
+ '@firebase/ai@2.8.0':
556
+ resolution: {integrity: sha512-grWYGFPsSo+pt+6CYeKR0kWnUfoLLS3xgWPvNrhAS5EPxl6xWq7+HjDZqX24yLneETyl45AVgDsTbVgxeWeRfg==}
557
+ engines: {node: '>=20.0.0'}
558
+ peerDependencies:
559
+ '@firebase/app': 0.x
560
+ '@firebase/app-types': 0.x
561
+
562
+ '@firebase/analytics-compat@0.2.25':
563
+ resolution: {integrity: sha512-fdzoaG0BEKbqksRDhmf4JoyZf16Wosrl0Y7tbZtJyVDOOwziE0vrFjmZuTdviL0yhak+Nco6rMsUUbkbD+qb6Q==}
564
+ peerDependencies:
565
+ '@firebase/app-compat': 0.x
566
+
567
+ '@firebase/analytics-types@0.8.3':
568
+ resolution: {integrity: sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==}
569
+
570
+ '@firebase/analytics@0.10.19':
571
+ resolution: {integrity: sha512-3wU676fh60gaiVYQEEXsbGS4HbF2XsiBphyvvqDbtC1U4/dO4coshbYktcCHq+HFaGIK07iHOh4pME0hEq1fcg==}
572
+ peerDependencies:
573
+ '@firebase/app': 0.x
574
+
575
+ '@firebase/app-check-compat@0.4.0':
576
+ resolution: {integrity: sha512-UfK2Q8RJNjYM/8MFORltZRG9lJj11k0nW84rrffiKvcJxLf1jf6IEjCIkCamykHE73C6BwqhVfhIBs69GXQV0g==}
577
+ engines: {node: '>=20.0.0'}
578
+ peerDependencies:
579
+ '@firebase/app-compat': 0.x
580
+
581
+ '@firebase/app-check-interop-types@0.3.3':
582
+ resolution: {integrity: sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==}
583
+
584
+ '@firebase/app-check-types@0.5.3':
585
+ resolution: {integrity: sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==}
586
+
587
+ '@firebase/app-check@0.11.0':
588
+ resolution: {integrity: sha512-XAvALQayUMBJo58U/rxW02IhsesaxxfWVmVkauZvGEz3vOAjMEQnzFlyblqkc2iAaO82uJ2ZVyZv9XzPfxjJ6w==}
589
+ engines: {node: '>=20.0.0'}
590
+ peerDependencies:
591
+ '@firebase/app': 0.x
592
+
593
+ '@firebase/app-compat@0.5.8':
594
+ resolution: {integrity: sha512-4De6SUZ36zozl9kh5rZSxKWULpgty27rMzZ6x+xkoo7+NWyhWyFdsdvhFsWhTw/9GGj0wXIcbTjwHYCUIUuHyg==}
595
+ engines: {node: '>=20.0.0'}
596
+
597
+ '@firebase/app-types@0.9.3':
598
+ resolution: {integrity: sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==}
599
+
600
+ '@firebase/app@0.14.8':
601
+ resolution: {integrity: sha512-WiE9uCGRLUnShdjb9iP20sA3ToWrBbNXr14/N5mow7Nls9dmKgfGaGX5cynLvrltxq2OrDLh1VDNaUgsnS/k/g==}
602
+ engines: {node: '>=20.0.0'}
603
+
604
+ '@firebase/auth-compat@0.6.2':
605
+ resolution: {integrity: sha512-8UhCzF6pav9bw/eXA8Zy1QAKssPRYEYXaWagie1ewLTwHkXv6bKp/j6/IwzSYQP67sy/BMFXIFaCCsoXzFLr7A==}
606
+ engines: {node: '>=20.0.0'}
607
+ peerDependencies:
608
+ '@firebase/app-compat': 0.x
609
+
610
+ '@firebase/auth-interop-types@0.2.4':
611
+ resolution: {integrity: sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==}
612
+
613
+ '@firebase/auth-types@0.13.0':
614
+ resolution: {integrity: sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==}
615
+ peerDependencies:
616
+ '@firebase/app-types': 0.x
617
+ '@firebase/util': 1.x
618
+
619
+ '@firebase/auth@1.12.0':
620
+ resolution: {integrity: sha512-zkvLpsrxynWHk07qGrUDfCSqKf4AvfZGEqJ7mVCtYGjNNDbGE71k0Yn84rg8QEZu4hQw1BC0qDEHzpNVBcSVmA==}
621
+ engines: {node: '>=20.0.0'}
622
+ peerDependencies:
623
+ '@firebase/app': 0.x
624
+ '@react-native-async-storage/async-storage': ^2.2.0
625
+ peerDependenciesMeta:
626
+ '@react-native-async-storage/async-storage':
627
+ optional: true
628
+
629
+ '@firebase/component@0.7.0':
630
+ resolution: {integrity: sha512-wR9En2A+WESUHexjmRHkqtaVH94WLNKt6rmeqZhSLBybg4Wyf0Umk04SZsS6sBq4102ZsDBFwoqMqJYj2IoDSg==}
631
+ engines: {node: '>=20.0.0'}
632
+
633
+ '@firebase/data-connect@0.3.12':
634
+ resolution: {integrity: sha512-baPddcoNLj/+vYo+HSJidJUdr5W4OkhT109c5qhR8T1dJoZcyJpkv/dFpYlw/VJ3dV66vI8GHQFrmAZw/xUS4g==}
635
+ peerDependencies:
636
+ '@firebase/app': 0.x
637
+
638
+ '@firebase/database-compat@2.1.0':
639
+ resolution: {integrity: sha512-8nYc43RqxScsePVd1qe1xxvWNf0OBnbwHxmXJ7MHSuuTVYFO3eLyLW3PiCKJ9fHnmIz4p4LbieXwz+qtr9PZDg==}
640
+ engines: {node: '>=20.0.0'}
641
+
642
+ '@firebase/database-types@1.0.16':
643
+ resolution: {integrity: sha512-xkQLQfU5De7+SPhEGAXFBnDryUWhhlFXelEg2YeZOQMCdoe7dL64DDAd77SQsR+6uoXIZY5MB4y/inCs4GTfcw==}
644
+
645
+ '@firebase/database@1.1.0':
646
+ resolution: {integrity: sha512-gM6MJFae3pTyNLoc9VcJNuaUDej0ctdjn3cVtILo3D5lpp0dmUHHLFN/pUKe7ImyeB1KAvRlEYxvIHNF04Filg==}
647
+ engines: {node: '>=20.0.0'}
648
+
649
+ '@firebase/firestore-compat@0.4.5':
650
+ resolution: {integrity: sha512-yVX1CkVvqBI4qbA56uZo42xFA4TNU0ICQ+9AFDvYq9U9Xu6iAx9lFDAk/tN+NGereQQXXCSnpISwc/oxsQqPLA==}
651
+ engines: {node: '>=20.0.0'}
652
+ peerDependencies:
653
+ '@firebase/app-compat': 0.x
654
+
655
+ '@firebase/firestore-types@3.0.3':
656
+ resolution: {integrity: sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==}
657
+ peerDependencies:
658
+ '@firebase/app-types': 0.x
659
+ '@firebase/util': 1.x
660
+
661
+ '@firebase/firestore@4.11.0':
662
+ resolution: {integrity: sha512-Zb88s8rssBd0J2Tt+NUXMPt2sf+Dq7meatKiJf5t9oto1kZ8w9gK59Koe1uPVbaKfdgBp++N/z0I4G/HamyEhg==}
663
+ engines: {node: '>=20.0.0'}
664
+ peerDependencies:
665
+ '@firebase/app': 0.x
666
+
667
+ '@firebase/functions-compat@0.4.1':
668
+ resolution: {integrity: sha512-AxxUBXKuPrWaVNQ8o1cG1GaCAtXT8a0eaTDfqgS5VsRYLAR0ALcfqDLwo/QyijZj1w8Qf8n3Qrfy/+Im245hOQ==}
669
+ engines: {node: '>=20.0.0'}
670
+ peerDependencies:
671
+ '@firebase/app-compat': 0.x
672
+
673
+ '@firebase/functions-types@0.6.3':
674
+ resolution: {integrity: sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==}
675
+
676
+ '@firebase/functions@0.13.1':
677
+ resolution: {integrity: sha512-sUeWSb0rw5T+6wuV2o9XNmh9yHxjFI9zVGFnjFi+n7drTEWpl7ZTz1nROgGrSu472r+LAaj+2YaSicD4R8wfbw==}
678
+ engines: {node: '>=20.0.0'}
679
+ peerDependencies:
680
+ '@firebase/app': 0.x
681
+
682
+ '@firebase/installations-compat@0.2.19':
683
+ resolution: {integrity: sha512-khfzIY3EI5LePePo7vT19/VEIH1E3iYsHknI/6ek9T8QCozAZshWT9CjlwOzZrKvTHMeNcbpo/VSOSIWDSjWdQ==}
684
+ peerDependencies:
685
+ '@firebase/app-compat': 0.x
686
+
687
+ '@firebase/installations-types@0.5.3':
688
+ resolution: {integrity: sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==}
689
+ peerDependencies:
690
+ '@firebase/app-types': 0.x
691
+
692
+ '@firebase/installations@0.6.19':
693
+ resolution: {integrity: sha512-nGDmiwKLI1lerhwfwSHvMR9RZuIH5/8E3kgUWnVRqqL7kGVSktjLTWEMva7oh5yxQ3zXfIlIwJwMcaM5bK5j8Q==}
694
+ peerDependencies:
695
+ '@firebase/app': 0.x
696
+
697
+ '@firebase/logger@0.5.0':
698
+ resolution: {integrity: sha512-cGskaAvkrnh42b3BA3doDWeBmuHFO/Mx5A83rbRDYakPjO9bJtRL3dX7javzc2Rr/JHZf4HlterTW2lUkfeN4g==}
699
+ engines: {node: '>=20.0.0'}
700
+
701
+ '@firebase/messaging-compat@0.2.23':
702
+ resolution: {integrity: sha512-SN857v/kBUvlQ9X/UjAqBoQ2FEaL1ZozpnmL1ByTe57iXkmnVVFm9KqAsTfmf+OEwWI4kJJe9NObtN/w22lUgg==}
703
+ peerDependencies:
704
+ '@firebase/app-compat': 0.x
705
+
706
+ '@firebase/messaging-interop-types@0.2.3':
707
+ resolution: {integrity: sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==}
708
+
709
+ '@firebase/messaging@0.12.23':
710
+ resolution: {integrity: sha512-cfuzv47XxqW4HH/OcR5rM+AlQd1xL/VhuaeW/wzMW1LFrsFcTn0GND/hak1vkQc2th8UisBcrkVcQAnOnKwYxg==}
711
+ peerDependencies:
712
+ '@firebase/app': 0.x
713
+
714
+ '@firebase/performance-compat@0.2.22':
715
+ resolution: {integrity: sha512-xLKxaSAl/FVi10wDX/CHIYEUP13jXUjinL+UaNXT9ByIvxII5Ne5150mx6IgM8G6Q3V+sPiw9C8/kygkyHUVxg==}
716
+ peerDependencies:
717
+ '@firebase/app-compat': 0.x
718
+
719
+ '@firebase/performance-types@0.2.3':
720
+ resolution: {integrity: sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==}
721
+
722
+ '@firebase/performance@0.7.9':
723
+ resolution: {integrity: sha512-UzybENl1EdM2I1sjYm74xGt/0JzRnU/0VmfMAKo2LSpHJzaj77FCLZXmYQ4oOuE+Pxtt8Wy2BVJEENiZkaZAzQ==}
724
+ peerDependencies:
725
+ '@firebase/app': 0.x
726
+
727
+ '@firebase/remote-config-compat@0.2.21':
728
+ resolution: {integrity: sha512-9+lm0eUycxbu8GO25JfJe4s6R2xlDqlVt0CR6CvN9E6B4AFArEV4qfLoDVRgIEB7nHKwvH2nYRocPWfmjRQTnw==}
729
+ peerDependencies:
730
+ '@firebase/app-compat': 0.x
731
+
732
+ '@firebase/remote-config-types@0.5.0':
733
+ resolution: {integrity: sha512-vI3bqLoF14L/GchtgayMiFpZJF+Ao3uR8WCde0XpYNkSokDpAKca2DxvcfeZv7lZUqkUwQPL2wD83d3vQ4vvrg==}
734
+
735
+ '@firebase/remote-config@0.8.0':
736
+ resolution: {integrity: sha512-sJz7C2VACeE257Z/3kY9Ap2WXbFsgsDLfaGfZmmToKAK39ipXxFan+vzB9CSbF6mP7bzjyzEnqPcMXhAnYE6fQ==}
737
+ peerDependencies:
738
+ '@firebase/app': 0.x
739
+
740
+ '@firebase/storage-compat@0.4.0':
741
+ resolution: {integrity: sha512-vDzhgGczr1OfcOy285YAPur5pWDEvD67w4thyeCUh6Ys0izN9fNYtA1MJERmNBfqjqu0lg0FM5GLbw0Il21M+g==}
742
+ engines: {node: '>=20.0.0'}
743
+ peerDependencies:
744
+ '@firebase/app-compat': 0.x
745
+
746
+ '@firebase/storage-types@0.8.3':
747
+ resolution: {integrity: sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==}
748
+ peerDependencies:
749
+ '@firebase/app-types': 0.x
750
+ '@firebase/util': 1.x
751
+
752
+ '@firebase/storage@0.14.0':
753
+ resolution: {integrity: sha512-xWWbb15o6/pWEw8H01UQ1dC5U3rf8QTAzOChYyCpafV6Xki7KVp3Yaw2nSklUwHEziSWE9KoZJS7iYeyqWnYFA==}
754
+ engines: {node: '>=20.0.0'}
755
+ peerDependencies:
756
+ '@firebase/app': 0.x
757
+
758
+ '@firebase/util@1.13.0':
759
+ resolution: {integrity: sha512-0AZUyYUfpMNcztR5l09izHwXkZpghLgCUaAGjtMwXnCg3bj4ml5VgiwqOMOxJ+Nw4qN/zJAaOQBcJ7KGkWStqQ==}
760
+ engines: {node: '>=20.0.0'}
761
+
762
+ '@firebase/webchannel-wrapper@1.0.5':
763
+ resolution: {integrity: sha512-+uGNN7rkfn41HLO0vekTFhTxk61eKa8mTpRGLO0QSqlQdKvIoGAvLp3ppdVIWbTGYJWM6Kp0iN+PjMIOcnVqTw==}
764
+
765
+ '@grpc/grpc-js@1.9.15':
766
+ resolution: {integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==}
767
+ engines: {node: ^8.13.0 || >=10.10.0}
768
+
769
+ '@grpc/proto-loader@0.7.15':
770
+ resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==}
771
+ engines: {node: '>=6'}
772
+ hasBin: true
773
+
774
  '@jridgewell/gen-mapping@0.3.13':
775
  resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
776
 
 
791
  resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
792
  hasBin: true
793
 
794
+ '@protobufjs/aspromise@1.1.2':
795
+ resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
796
+
797
+ '@protobufjs/base64@1.1.2':
798
+ resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
799
+
800
+ '@protobufjs/codegen@2.0.4':
801
+ resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
802
+
803
+ '@protobufjs/eventemitter@1.1.0':
804
+ resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
805
+
806
+ '@protobufjs/fetch@1.1.0':
807
+ resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
808
+
809
+ '@protobufjs/float@1.0.2':
810
+ resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
811
+
812
+ '@protobufjs/inquire@1.1.0':
813
+ resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
814
+
815
+ '@protobufjs/path@1.1.2':
816
+ resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
817
+
818
+ '@protobufjs/pool@1.1.0':
819
+ resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
820
+
821
+ '@protobufjs/utf8@1.1.0':
822
+ resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
823
+
824
  '@remotion/bundler@4.0.407':
825
  resolution: {integrity: sha512-6nU/Tg1hWVTCt9NAUjYQQQ5fU6JA7XoOQalqbSTRf8GnN7PBdhM7qHcLaDSYczsTjI9bnS7MyKGbSTgdxYbcew==}
826
  peerDependencies:
 
841
  resolution: {integrity: sha512-3n2Q3xtPUt3U+ZI5CEtx4T2V4aFS3pX/PMEXtz7v5gA+ioV7dB21Pf0rstAdyhGONyug7aveZqZX6sptYZSW8A==}
842
  cpu: [arm64]
843
  os: [linux]
844
+ libc: [glibc]
845
 
846
  '@remotion/compositor-linux-arm64-musl@4.0.407':
847
  resolution: {integrity: sha512-bshGOHul9Q8ezoFGcvIuXbpiz7sfl3Vq4V/dBBxtS+y//Nj1mBNE26gP8uHB1c+egg1mY8zvGe0U/63ntafu5w==}
848
  cpu: [arm64]
849
  os: [linux]
850
+ libc: [musl]
851
 
852
  '@remotion/compositor-linux-x64-gnu@4.0.407':
853
  resolution: {integrity: sha512-ZK2LWwzZYXY0LR+P3X2RqoYX152iUum+b7OwTJ2CisDWX2+2oaMtXxdBN9d/O8GIplKuthMuOZhVPEVegAun2Q==}
854
  cpu: [x64]
855
  os: [linux]
856
+ libc: [glibc]
857
 
858
  '@remotion/compositor-linux-x64-musl@4.0.407':
859
  resolution: {integrity: sha512-27TsuS+SnbWN0hpUCOr3wiMl5YuWP7KJ0bRTROIsAPS8PxBOHnx6Ql9+U0jnP0dNcM0nfTNyXHbkhgS9XGLqNA==}
860
  cpu: [x64]
861
  os: [linux]
862
+ libc: [musl]
863
 
864
  '@remotion/compositor-win32-x64-msvc@4.0.407':
865
  resolution: {integrity: sha512-jzyzXnzp+Ca6iguMCn4YED5JISEIyecI7nSmtHvrL+9TvnxBFm6NZfofAeRasRlgEoR/Q7PDtOWsUTequSYnVQ==}
 
878
  react: '>=16.8.0'
879
  react-dom: '>=16.8.0'
880
 
881
+ '@remotion/media@4.0.407':
882
+ resolution: {integrity: sha512-gHYi1FfeG0XcdfGczLxz4LCcx2qGWHZ8ASD7g3NPuH7KdZ9H7RsbntpHW983ElG2f7ds5WpPupUe0YDhKsVV9Q==}
883
+ peerDependencies:
884
+ react: '>=16.8.0'
885
+ react-dom: '>=16.8.0'
886
+
887
  '@remotion/paths@4.0.340':
888
  resolution: {integrity: sha512-cOKj+SDnh+r8yQZ6WR5hHDPFW5rCdttzH19xvlWd9sRYuE/QnU63CQsaqkiPOkhwu57v9BxkcKTkQ+pWetgPCA==}
889
 
890
+ '@remotion/paths@4.0.407':
891
+ resolution: {integrity: sha512-P1+N56Dj+XUjtCgIEax3joHlSKGGf8sUZx8qp/H7wNbhfhFnuhc0LIddCHJWMKnB4njx6+h92SxQpjNm9zmiyQ==}
892
+
893
  '@remotion/player@4.0.407':
894
  resolution: {integrity: sha512-R40bQz5h5z//5oVmjUZep4uILM9Fck2zxDQiWZLEXNNiBSnRWvy537TE9JBH7t8YuV9yzueBx6sxxX0IcY1U5w==}
895
  peerDependencies:
 
908
  react: '>=16.8.0'
909
  react-dom: '>=16.8.0'
910
 
911
+ '@remotion/shapes@4.0.407':
912
+ resolution: {integrity: sha512-uAY8TZIcZUaoZOze6d3NSqDRIViJUbWuPENS739OezavCQhO47D7IW7A08+ZexJdUdfa0Xszq8las9VXnlTfAw==}
913
+ peerDependencies:
914
+ react: '>=16.8.0'
915
+ react-dom: '>=16.8.0'
916
+
917
  '@remotion/streaming@4.0.407':
918
  resolution: {integrity: sha512-v8saNy7FZZN0qtpYdao5Knvxod0pLGbpsx5UludEhaXtcvOMT883nUPtgUHYxaY/AnCgxNXVgUEjqSglSU1E7w==}
919
 
 
932
  react: '>=16.8.0'
933
  react-dom: '>=16.8.0'
934
 
935
+ '@remotion/transitions@4.0.407':
936
+ resolution: {integrity: sha512-XnRoBM/IEjQ3BHjTlJS/b3o8uxq9CH/s8qAC9n1PWkhoWx4I1/JaUqFbkunc6LQIAPC7286up2Edtx2zAOP1rA==}
937
+ peerDependencies:
938
+ react: '>=16.8.0'
939
+ react-dom: '>=16.8.0'
940
+
941
  '@remotion/web-renderer@4.0.407':
942
  resolution: {integrity: sha512-wO3IE+opVoT6mdcrZUzvD9urdglOr91qXO4uJqbTgzcVzRCpRp2iOPKQCjPmI/RxWQ6+fWN4VjZJP1E0iQIgGw==}
943
  peerDependencies:
 
1004
  '@types/node@20.19.30':
1005
  resolution: {integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==}
1006
 
1007
+ '@types/parse-json@4.0.2':
1008
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
1009
+
1010
  '@types/prop-types@15.7.15':
1011
  resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
1012
 
 
1140
  resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
1141
  engines: {node: '>=8'}
1142
 
1143
+ ansi-styles@4.3.0:
1144
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
1145
+ engines: {node: '>=8'}
1146
+
1147
  aproba@2.1.0:
1148
  resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==}
1149
 
 
1158
  asynckit@0.4.0:
1159
  resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
1160
 
1161
+ babel-plugin-macros@3.1.0:
1162
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
1163
+ engines: {node: '>=10', npm: '>=6'}
1164
+
1165
  balanced-match@1.0.2:
1166
  resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1167
 
 
1202
  resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
1203
  engines: {node: '>= 0.4'}
1204
 
1205
+ callsites@3.1.0:
1206
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1207
+ engines: {node: '>=6'}
1208
+
1209
  caniuse-lite@1.0.30001765:
1210
  resolution: {integrity: sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==}
1211
 
 
1221
  resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
1222
  engines: {node: '>=6.0'}
1223
 
1224
+ cliui@8.0.1:
1225
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
1226
+ engines: {node: '>=12'}
1227
+
1228
+ color-convert@2.0.1:
1229
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1230
+ engines: {node: '>=7.0.0'}
1231
+
1232
+ color-name@1.1.4:
1233
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1234
+
1235
  color-support@1.1.3:
1236
  resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
1237
  hasBin: true
 
1257
  resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
1258
  engines: {node: '>= 0.6'}
1259
 
1260
+ convert-source-map@1.9.0:
1261
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
1262
+
1263
  cookie-signature@1.0.7:
1264
  resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==}
1265
 
 
1271
  resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
1272
  engines: {node: '>= 0.10'}
1273
 
1274
+ cosmiconfig@7.1.0:
1275
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
1276
+ engines: {node: '>=10'}
1277
+
1278
  cross-spawn@7.0.6:
1279
  resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
1280
  engines: {node: '>= 8'}
 
1391
  resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
1392
  engines: {node: '>=0.12'}
1393
 
1394
+ error-ex@1.3.4:
1395
+ resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
1396
+
1397
  es-define-property@1.0.1:
1398
  resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
1399
  engines: {node: '>= 0.4'}
 
1430
  escape-html@1.0.3:
1431
  resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
1432
 
1433
+ escape-string-regexp@4.0.0:
1434
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1435
+ engines: {node: '>=10'}
1436
+
1437
  escodegen@2.1.0:
1438
  resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
1439
  engines: {node: '>=6.0'}
 
1498
  fast-uri@3.1.0:
1499
  resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
1500
 
1501
+ faye-websocket@0.11.4:
1502
+ resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
1503
+ engines: {node: '>=0.8.0'}
1504
+
1505
  fd-slicer@1.1.0:
1506
  resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
1507
 
 
1509
  resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==}
1510
  engines: {node: '>= 0.8'}
1511
 
1512
+ find-root@1.1.0:
1513
+ resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
1514
+
1515
+ firebase@12.9.0:
1516
+ resolution: {integrity: sha512-CwwTYoqZg6KxygPOaaJqIc4aoLvo0RCRrXoln9GoxLE8QyAwTydBaSLGVlR4WPcuOgN3OEL0tJLT1H4IU/dv7w==}
1517
+
1518
  form-data@4.0.5:
1519
  resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==}
1520
  engines: {node: '>= 6'}
 
1550
  engines: {node: '>=10'}
1551
  deprecated: This package is no longer supported.
1552
 
1553
+ get-caller-file@2.0.5:
1554
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
1555
+ engines: {node: 6.* || 8.* || >= 10.*}
1556
+
1557
  get-intrinsic@1.3.0:
1558
  resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
1559
  engines: {node: '>= 0.4'}
 
1606
  resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1607
  engines: {node: '>= 0.4'}
1608
 
1609
+ hoist-non-react-statics@3.3.2:
1610
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
1611
+
1612
  html-encoding-sniffer@3.0.0:
1613
  resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
1614
  engines: {node: '>=12'}
 
1617
  resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
1618
  engines: {node: '>= 0.8'}
1619
 
1620
+ http-parser-js@0.5.10:
1621
+ resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==}
1622
+
1623
  http-proxy-agent@5.0.0:
1624
  resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
1625
  engines: {node: '>= 6'}
 
1646
  peerDependencies:
1647
  postcss: ^8.1.0
1648
 
1649
+ idb@7.1.1:
1650
+ resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
1651
+
1652
  immer@10.2.0:
1653
  resolution: {integrity: sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==}
1654
 
1655
+ import-fresh@3.3.1:
1656
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
1657
+ engines: {node: '>=6'}
1658
+
1659
  inflight@1.0.6:
1660
  resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1661
  deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
 
1667
  resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
1668
  engines: {node: '>= 0.10'}
1669
 
1670
+ is-arrayish@0.2.1:
1671
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
1672
+
1673
+ is-core-module@2.16.1:
1674
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
1675
+ engines: {node: '>= 0.4'}
1676
+
1677
  is-docker@2.2.1:
1678
  resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
1679
  engines: {node: '>=8'}
 
1713
  canvas:
1714
  optional: true
1715
 
1716
+ jsesc@3.1.0:
1717
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
1718
+ engines: {node: '>=6'}
1719
+ hasBin: true
1720
+
1721
  json-parse-even-better-errors@2.3.1:
1722
  resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
1723
 
 
1732
  engines: {node: '>=6'}
1733
  hasBin: true
1734
 
1735
+ lines-and-columns@1.2.4:
1736
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1737
+
1738
  loader-runner@4.3.1:
1739
  resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==}
1740
  engines: {node: '>=6.11.5'}
 
1746
  lodash-es@4.17.22:
1747
  resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==}
1748
 
1749
+ lodash.camelcase@4.3.0:
1750
+ resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
1751
+
1752
  lodash.clonedeep@4.5.0:
1753
  resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
1754
 
 
1766
  lodash@4.17.21:
1767
  resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1768
 
1769
+ long@5.3.2:
1770
+ resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==}
1771
+
1772
  loose-envify@1.4.0:
1773
  resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1774
  hasBin: true
 
1927
  resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
1928
  engines: {node: '>=12'}
1929
 
1930
+ parent-module@1.0.1:
1931
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1932
+ engines: {node: '>=6'}
1933
+
1934
+ parse-json@5.2.0:
1935
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
1936
+ engines: {node: '>=8'}
1937
+
1938
  parse5@7.3.0:
1939
  resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
1940
 
 
1950
  resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1951
  engines: {node: '>=8'}
1952
 
1953
+ path-parse@1.0.7:
1954
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1955
+
1956
  path-to-regexp@0.1.12:
1957
  resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
1958
 
1959
+ path-type@4.0.0:
1960
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1961
+ engines: {node: '>=8'}
1962
+
1963
  pend@1.2.0:
1964
  resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
1965
 
 
2001
  resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
2002
  engines: {node: ^10 || ^12 || >=14}
2003
 
2004
+ protobufjs@7.5.4:
2005
+ resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==}
2006
+ engines: {node: '>=12.0.0'}
2007
+
2008
  proxy-addr@2.0.7:
2009
  resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
2010
  engines: {node: '>= 0.10'}
 
2042
  peerDependencies:
2043
  react: ^18.3.1
2044
 
2045
+ react-is@16.13.1:
2046
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
2047
+
2048
  react-refresh@0.9.0:
2049
  resolution: {integrity: sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==}
2050
  engines: {node: '>=0.10.0'}
 
2069
  react: '>=16.8.0'
2070
  react-dom: '>=16.8.0'
2071
 
2072
+ require-directory@2.1.1:
2073
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
2074
+ engines: {node: '>=0.10.0'}
2075
+
2076
  require-from-string@2.0.2:
2077
  resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
2078
  engines: {node: '>=0.10.0'}
 
2080
  requires-port@1.0.0:
2081
  resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
2082
 
2083
+ resolve-from@4.0.0:
2084
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2085
+ engines: {node: '>=4'}
2086
+
2087
  resolve-pkg-maps@1.0.0:
2088
  resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
2089
 
2090
+ resolve@1.22.11:
2091
+ resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==}
2092
+ engines: {node: '>= 0.4'}
2093
+ hasBin: true
2094
+
2095
  rimraf@3.0.2:
2096
  resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2097
  deprecated: Rimraf versions prior to v4 are no longer supported
 
2192
  source-map-support@0.5.21:
2193
  resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
2194
 
2195
+ source-map@0.5.7:
2196
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
2197
+ engines: {node: '>=0.10.0'}
2198
+
2199
  source-map@0.6.1:
2200
  resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
2201
  engines: {node: '>=0.10.0'}
 
2234
  peerDependencies:
2235
  webpack: ^5.27.0
2236
 
2237
+ stylis@4.2.0:
2238
+ resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
2239
+
2240
  supports-color@8.1.1:
2241
  resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
2242
  engines: {node: '>=10'}
2243
 
2244
+ supports-preserve-symlinks-flag@1.0.0:
2245
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2246
+ engines: {node: '>= 0.4'}
2247
+
2248
  symbol-tree@3.2.4:
2249
  resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
2250
 
 
2364
  resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==}
2365
  engines: {node: '>=10.13.0'}
2366
 
2367
+ web-vitals@4.2.4:
2368
+ resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==}
2369
+
2370
  webidl-conversions@3.0.1:
2371
  resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
2372
 
 
2391
  webpack-cli:
2392
  optional: true
2393
 
2394
+ websocket-driver@0.7.4:
2395
+ resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
2396
+ engines: {node: '>=0.8.0'}
2397
+
2398
+ websocket-extensions@0.1.4:
2399
+ resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
2400
+ engines: {node: '>=0.8.0'}
2401
+
2402
  whatwg-encoding@2.0.0:
2403
  resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
2404
  engines: {node: '>=12'}
 
2426
  wide-align@1.1.5:
2427
  resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
2428
 
2429
+ wrap-ansi@7.0.0:
2430
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2431
+ engines: {node: '>=10'}
2432
+
2433
  wrappy@1.0.2:
2434
  resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2435
 
 
2464
  xmlchars@2.2.0:
2465
  resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
2466
 
2467
+ y18n@5.0.8:
2468
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
2469
+ engines: {node: '>=10'}
2470
+
2471
  yallist@4.0.0:
2472
  resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2473
 
2474
+ yaml@1.10.2:
2475
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
2476
+ engines: {node: '>= 6'}
2477
+
2478
+ yargs-parser@21.1.1:
2479
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
2480
+ engines: {node: '>=12'}
2481
+
2482
+ yargs@17.7.2:
2483
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
2484
+ engines: {node: '>=12'}
2485
+
2486
  yauzl@2.10.0:
2487
  resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
2488
 
 
2506
 
2507
  snapshots:
2508
 
2509
+ '@babel/code-frame@7.29.0':
2510
+ dependencies:
2511
+ '@babel/helper-validator-identifier': 7.28.5
2512
+ js-tokens: 4.0.0
2513
+ picocolors: 1.1.1
2514
+
2515
+ '@babel/generator@7.29.1':
2516
+ dependencies:
2517
+ '@babel/parser': 7.29.0
2518
+ '@babel/types': 7.29.0
2519
+ '@jridgewell/gen-mapping': 0.3.13
2520
+ '@jridgewell/trace-mapping': 0.3.31
2521
+ jsesc: 3.1.0
2522
+
2523
+ '@babel/helper-globals@7.28.0': {}
2524
+
2525
+ '@babel/helper-module-imports@7.28.6':
2526
+ dependencies:
2527
+ '@babel/traverse': 7.29.0
2528
+ '@babel/types': 7.29.0
2529
+ transitivePeerDependencies:
2530
+ - supports-color
2531
+
2532
+ '@babel/helper-string-parser@7.27.1': {}
2533
+
2534
+ '@babel/helper-validator-identifier@7.28.5': {}
2535
+
2536
+ '@babel/parser@7.29.0':
2537
+ dependencies:
2538
+ '@babel/types': 7.29.0
2539
+
2540
+ '@babel/runtime@7.28.6': {}
2541
+
2542
+ '@babel/template@7.28.6':
2543
+ dependencies:
2544
+ '@babel/code-frame': 7.29.0
2545
+ '@babel/parser': 7.29.0
2546
+ '@babel/types': 7.29.0
2547
+
2548
+ '@babel/traverse@7.29.0':
2549
+ dependencies:
2550
+ '@babel/code-frame': 7.29.0
2551
+ '@babel/generator': 7.29.1
2552
+ '@babel/helper-globals': 7.28.0
2553
+ '@babel/parser': 7.29.0
2554
+ '@babel/template': 7.28.6
2555
+ '@babel/types': 7.29.0
2556
+ debug: 4.4.3
2557
+ transitivePeerDependencies:
2558
+ - supports-color
2559
+
2560
+ '@babel/types@7.29.0':
2561
+ dependencies:
2562
+ '@babel/helper-string-parser': 7.27.1
2563
+ '@babel/helper-validator-identifier': 7.28.5
2564
+
2565
  '@designcombo/animations@5.5.8(@designcombo/events@1.0.2)(@designcombo/types@5.5.8)(react@18.3.1)(remotion@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1))':
2566
  dependencies:
2567
  '@designcombo/events': 1.0.2
 
2617
  dependencies:
2618
  rxjs: 7.8.2
2619
 
2620
+ '@emotion/babel-plugin@11.13.5':
2621
+ dependencies:
2622
+ '@babel/helper-module-imports': 7.28.6
2623
+ '@babel/runtime': 7.28.6
2624
+ '@emotion/hash': 0.9.2
2625
+ '@emotion/memoize': 0.9.0
2626
+ '@emotion/serialize': 1.3.3
2627
+ babel-plugin-macros: 3.1.0
2628
+ convert-source-map: 1.9.0
2629
+ escape-string-regexp: 4.0.0
2630
+ find-root: 1.1.0
2631
+ source-map: 0.5.7
2632
+ stylis: 4.2.0
2633
+ transitivePeerDependencies:
2634
+ - supports-color
2635
+
2636
+ '@emotion/cache@11.14.0':
2637
+ dependencies:
2638
+ '@emotion/memoize': 0.9.0
2639
+ '@emotion/sheet': 1.4.0
2640
+ '@emotion/utils': 1.4.2
2641
+ '@emotion/weak-memoize': 0.4.0
2642
+ stylis: 4.2.0
2643
+
2644
+ '@emotion/hash@0.9.2': {}
2645
+
2646
+ '@emotion/is-prop-valid@1.4.0':
2647
+ dependencies:
2648
+ '@emotion/memoize': 0.9.0
2649
+
2650
+ '@emotion/memoize@0.9.0': {}
2651
+
2652
+ '@emotion/react@11.14.0(@types/react@18.3.27)(react@18.3.1)':
2653
+ dependencies:
2654
+ '@babel/runtime': 7.28.6
2655
+ '@emotion/babel-plugin': 11.13.5
2656
+ '@emotion/cache': 11.14.0
2657
+ '@emotion/serialize': 1.3.3
2658
+ '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1)
2659
+ '@emotion/utils': 1.4.2
2660
+ '@emotion/weak-memoize': 0.4.0
2661
+ hoist-non-react-statics: 3.3.2
2662
+ react: 18.3.1
2663
+ optionalDependencies:
2664
+ '@types/react': 18.3.27
2665
+ transitivePeerDependencies:
2666
+ - supports-color
2667
+
2668
+ '@emotion/serialize@1.3.3':
2669
+ dependencies:
2670
+ '@emotion/hash': 0.9.2
2671
+ '@emotion/memoize': 0.9.0
2672
+ '@emotion/unitless': 0.10.0
2673
+ '@emotion/utils': 1.4.2
2674
+ csstype: 3.2.3
2675
+
2676
+ '@emotion/sheet@1.4.0': {}
2677
+
2678
+ '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@18.3.27)(react@18.3.1))(@types/react@18.3.27)(react@18.3.1)':
2679
+ dependencies:
2680
+ '@babel/runtime': 7.28.6
2681
+ '@emotion/babel-plugin': 11.13.5
2682
+ '@emotion/is-prop-valid': 1.4.0
2683
+ '@emotion/react': 11.14.0(@types/react@18.3.27)(react@18.3.1)
2684
+ '@emotion/serialize': 1.3.3
2685
+ '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1)
2686
+ '@emotion/utils': 1.4.2
2687
+ react: 18.3.1
2688
+ optionalDependencies:
2689
+ '@types/react': 18.3.27
2690
+ transitivePeerDependencies:
2691
+ - supports-color
2692
+
2693
+ '@emotion/unitless@0.10.0': {}
2694
+
2695
+ '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@18.3.1)':
2696
+ dependencies:
2697
+ react: 18.3.1
2698
+
2699
+ '@emotion/utils@1.4.2': {}
2700
+
2701
+ '@emotion/weak-memoize@0.4.0': {}
2702
+
2703
  '@esbuild/aix-ppc64@0.25.0':
2704
  optional: true
2705
 
 
2853
  '@esbuild/win32-x64@0.27.2':
2854
  optional: true
2855
 
2856
+ '@firebase/ai@2.8.0(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)':
2857
+ dependencies:
2858
+ '@firebase/app': 0.14.8
2859
+ '@firebase/app-check-interop-types': 0.3.3
2860
+ '@firebase/app-types': 0.9.3
2861
+ '@firebase/component': 0.7.0
2862
+ '@firebase/logger': 0.5.0
2863
+ '@firebase/util': 1.13.0
2864
+ tslib: 2.8.1
2865
+
2866
+ '@firebase/analytics-compat@0.2.25(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)':
2867
+ dependencies:
2868
+ '@firebase/analytics': 0.10.19(@firebase/app@0.14.8)
2869
+ '@firebase/analytics-types': 0.8.3
2870
+ '@firebase/app-compat': 0.5.8
2871
+ '@firebase/component': 0.7.0
2872
+ '@firebase/util': 1.13.0
2873
+ tslib: 2.8.1
2874
+ transitivePeerDependencies:
2875
+ - '@firebase/app'
2876
+
2877
+ '@firebase/analytics-types@0.8.3': {}
2878
+
2879
+ '@firebase/analytics@0.10.19(@firebase/app@0.14.8)':
2880
+ dependencies:
2881
+ '@firebase/app': 0.14.8
2882
+ '@firebase/component': 0.7.0
2883
+ '@firebase/installations': 0.6.19(@firebase/app@0.14.8)
2884
+ '@firebase/logger': 0.5.0
2885
+ '@firebase/util': 1.13.0
2886
+ tslib: 2.8.1
2887
+
2888
+ '@firebase/app-check-compat@0.4.0(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)':
2889
+ dependencies:
2890
+ '@firebase/app-check': 0.11.0(@firebase/app@0.14.8)
2891
+ '@firebase/app-check-types': 0.5.3
2892
+ '@firebase/app-compat': 0.5.8
2893
+ '@firebase/component': 0.7.0
2894
+ '@firebase/logger': 0.5.0
2895
+ '@firebase/util': 1.13.0
2896
+ tslib: 2.8.1
2897
+ transitivePeerDependencies:
2898
+ - '@firebase/app'
2899
+
2900
+ '@firebase/app-check-interop-types@0.3.3': {}
2901
+
2902
+ '@firebase/app-check-types@0.5.3': {}
2903
+
2904
+ '@firebase/app-check@0.11.0(@firebase/app@0.14.8)':
2905
+ dependencies:
2906
+ '@firebase/app': 0.14.8
2907
+ '@firebase/component': 0.7.0
2908
+ '@firebase/logger': 0.5.0
2909
+ '@firebase/util': 1.13.0
2910
+ tslib: 2.8.1
2911
+
2912
+ '@firebase/app-compat@0.5.8':
2913
+ dependencies:
2914
+ '@firebase/app': 0.14.8
2915
+ '@firebase/component': 0.7.0
2916
+ '@firebase/logger': 0.5.0
2917
+ '@firebase/util': 1.13.0
2918
+ tslib: 2.8.1
2919
+
2920
+ '@firebase/app-types@0.9.3': {}
2921
+
2922
+ '@firebase/app@0.14.8':
2923
+ dependencies:
2924
+ '@firebase/component': 0.7.0
2925
+ '@firebase/logger': 0.5.0
2926
+ '@firebase/util': 1.13.0
2927
+ idb: 7.1.1
2928
+ tslib: 2.8.1
2929
+
2930
+ '@firebase/auth-compat@0.6.2(@firebase/app-compat@0.5.8)(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)':
2931
+ dependencies:
2932
+ '@firebase/app-compat': 0.5.8
2933
+ '@firebase/auth': 1.12.0(@firebase/app@0.14.8)
2934
+ '@firebase/auth-types': 0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)
2935
+ '@firebase/component': 0.7.0
2936
+ '@firebase/util': 1.13.0
2937
+ tslib: 2.8.1
2938
+ transitivePeerDependencies:
2939
+ - '@firebase/app'
2940
+ - '@firebase/app-types'
2941
+ - '@react-native-async-storage/async-storage'
2942
+
2943
+ '@firebase/auth-interop-types@0.2.4': {}
2944
+
2945
+ '@firebase/auth-types@0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)':
2946
+ dependencies:
2947
+ '@firebase/app-types': 0.9.3
2948
+ '@firebase/util': 1.13.0
2949
+
2950
+ '@firebase/auth@1.12.0(@firebase/app@0.14.8)':
2951
+ dependencies:
2952
+ '@firebase/app': 0.14.8
2953
+ '@firebase/component': 0.7.0
2954
+ '@firebase/logger': 0.5.0
2955
+ '@firebase/util': 1.13.0
2956
+ tslib: 2.8.1
2957
+
2958
+ '@firebase/component@0.7.0':
2959
+ dependencies:
2960
+ '@firebase/util': 1.13.0
2961
+ tslib: 2.8.1
2962
+
2963
+ '@firebase/data-connect@0.3.12(@firebase/app@0.14.8)':
2964
+ dependencies:
2965
+ '@firebase/app': 0.14.8
2966
+ '@firebase/auth-interop-types': 0.2.4
2967
+ '@firebase/component': 0.7.0
2968
+ '@firebase/logger': 0.5.0
2969
+ '@firebase/util': 1.13.0
2970
+ tslib: 2.8.1
2971
+
2972
+ '@firebase/database-compat@2.1.0':
2973
+ dependencies:
2974
+ '@firebase/component': 0.7.0
2975
+ '@firebase/database': 1.1.0
2976
+ '@firebase/database-types': 1.0.16
2977
+ '@firebase/logger': 0.5.0
2978
+ '@firebase/util': 1.13.0
2979
+ tslib: 2.8.1
2980
+
2981
+ '@firebase/database-types@1.0.16':
2982
+ dependencies:
2983
+ '@firebase/app-types': 0.9.3
2984
+ '@firebase/util': 1.13.0
2985
+
2986
+ '@firebase/database@1.1.0':
2987
+ dependencies:
2988
+ '@firebase/app-check-interop-types': 0.3.3
2989
+ '@firebase/auth-interop-types': 0.2.4
2990
+ '@firebase/component': 0.7.0
2991
+ '@firebase/logger': 0.5.0
2992
+ '@firebase/util': 1.13.0
2993
+ faye-websocket: 0.11.4
2994
+ tslib: 2.8.1
2995
+
2996
+ '@firebase/firestore-compat@0.4.5(@firebase/app-compat@0.5.8)(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)':
2997
+ dependencies:
2998
+ '@firebase/app-compat': 0.5.8
2999
+ '@firebase/component': 0.7.0
3000
+ '@firebase/firestore': 4.11.0(@firebase/app@0.14.8)
3001
+ '@firebase/firestore-types': 3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)
3002
+ '@firebase/util': 1.13.0
3003
+ tslib: 2.8.1
3004
+ transitivePeerDependencies:
3005
+ - '@firebase/app'
3006
+ - '@firebase/app-types'
3007
+
3008
+ '@firebase/firestore-types@3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)':
3009
+ dependencies:
3010
+ '@firebase/app-types': 0.9.3
3011
+ '@firebase/util': 1.13.0
3012
+
3013
+ '@firebase/firestore@4.11.0(@firebase/app@0.14.8)':
3014
+ dependencies:
3015
+ '@firebase/app': 0.14.8
3016
+ '@firebase/component': 0.7.0
3017
+ '@firebase/logger': 0.5.0
3018
+ '@firebase/util': 1.13.0
3019
+ '@firebase/webchannel-wrapper': 1.0.5
3020
+ '@grpc/grpc-js': 1.9.15
3021
+ '@grpc/proto-loader': 0.7.15
3022
+ tslib: 2.8.1
3023
+
3024
+ '@firebase/functions-compat@0.4.1(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)':
3025
+ dependencies:
3026
+ '@firebase/app-compat': 0.5.8
3027
+ '@firebase/component': 0.7.0
3028
+ '@firebase/functions': 0.13.1(@firebase/app@0.14.8)
3029
+ '@firebase/functions-types': 0.6.3
3030
+ '@firebase/util': 1.13.0
3031
+ tslib: 2.8.1
3032
+ transitivePeerDependencies:
3033
+ - '@firebase/app'
3034
+
3035
+ '@firebase/functions-types@0.6.3': {}
3036
+
3037
+ '@firebase/functions@0.13.1(@firebase/app@0.14.8)':
3038
+ dependencies:
3039
+ '@firebase/app': 0.14.8
3040
+ '@firebase/app-check-interop-types': 0.3.3
3041
+ '@firebase/auth-interop-types': 0.2.4
3042
+ '@firebase/component': 0.7.0
3043
+ '@firebase/messaging-interop-types': 0.2.3
3044
+ '@firebase/util': 1.13.0
3045
+ tslib: 2.8.1
3046
+
3047
+ '@firebase/installations-compat@0.2.19(@firebase/app-compat@0.5.8)(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)':
3048
+ dependencies:
3049
+ '@firebase/app-compat': 0.5.8
3050
+ '@firebase/component': 0.7.0
3051
+ '@firebase/installations': 0.6.19(@firebase/app@0.14.8)
3052
+ '@firebase/installations-types': 0.5.3(@firebase/app-types@0.9.3)
3053
+ '@firebase/util': 1.13.0
3054
+ tslib: 2.8.1
3055
+ transitivePeerDependencies:
3056
+ - '@firebase/app'
3057
+ - '@firebase/app-types'
3058
+
3059
+ '@firebase/installations-types@0.5.3(@firebase/app-types@0.9.3)':
3060
+ dependencies:
3061
+ '@firebase/app-types': 0.9.3
3062
+
3063
+ '@firebase/installations@0.6.19(@firebase/app@0.14.8)':
3064
+ dependencies:
3065
+ '@firebase/app': 0.14.8
3066
+ '@firebase/component': 0.7.0
3067
+ '@firebase/util': 1.13.0
3068
+ idb: 7.1.1
3069
+ tslib: 2.8.1
3070
+
3071
+ '@firebase/logger@0.5.0':
3072
+ dependencies:
3073
+ tslib: 2.8.1
3074
+
3075
+ '@firebase/messaging-compat@0.2.23(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)':
3076
+ dependencies:
3077
+ '@firebase/app-compat': 0.5.8
3078
+ '@firebase/component': 0.7.0
3079
+ '@firebase/messaging': 0.12.23(@firebase/app@0.14.8)
3080
+ '@firebase/util': 1.13.0
3081
+ tslib: 2.8.1
3082
+ transitivePeerDependencies:
3083
+ - '@firebase/app'
3084
+
3085
+ '@firebase/messaging-interop-types@0.2.3': {}
3086
+
3087
+ '@firebase/messaging@0.12.23(@firebase/app@0.14.8)':
3088
+ dependencies:
3089
+ '@firebase/app': 0.14.8
3090
+ '@firebase/component': 0.7.0
3091
+ '@firebase/installations': 0.6.19(@firebase/app@0.14.8)
3092
+ '@firebase/messaging-interop-types': 0.2.3
3093
+ '@firebase/util': 1.13.0
3094
+ idb: 7.1.1
3095
+ tslib: 2.8.1
3096
+
3097
+ '@firebase/performance-compat@0.2.22(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)':
3098
+ dependencies:
3099
+ '@firebase/app-compat': 0.5.8
3100
+ '@firebase/component': 0.7.0
3101
+ '@firebase/logger': 0.5.0
3102
+ '@firebase/performance': 0.7.9(@firebase/app@0.14.8)
3103
+ '@firebase/performance-types': 0.2.3
3104
+ '@firebase/util': 1.13.0
3105
+ tslib: 2.8.1
3106
+ transitivePeerDependencies:
3107
+ - '@firebase/app'
3108
+
3109
+ '@firebase/performance-types@0.2.3': {}
3110
+
3111
+ '@firebase/performance@0.7.9(@firebase/app@0.14.8)':
3112
+ dependencies:
3113
+ '@firebase/app': 0.14.8
3114
+ '@firebase/component': 0.7.0
3115
+ '@firebase/installations': 0.6.19(@firebase/app@0.14.8)
3116
+ '@firebase/logger': 0.5.0
3117
+ '@firebase/util': 1.13.0
3118
+ tslib: 2.8.1
3119
+ web-vitals: 4.2.4
3120
+
3121
+ '@firebase/remote-config-compat@0.2.21(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)':
3122
+ dependencies:
3123
+ '@firebase/app-compat': 0.5.8
3124
+ '@firebase/component': 0.7.0
3125
+ '@firebase/logger': 0.5.0
3126
+ '@firebase/remote-config': 0.8.0(@firebase/app@0.14.8)
3127
+ '@firebase/remote-config-types': 0.5.0
3128
+ '@firebase/util': 1.13.0
3129
+ tslib: 2.8.1
3130
+ transitivePeerDependencies:
3131
+ - '@firebase/app'
3132
+
3133
+ '@firebase/remote-config-types@0.5.0': {}
3134
+
3135
+ '@firebase/remote-config@0.8.0(@firebase/app@0.14.8)':
3136
+ dependencies:
3137
+ '@firebase/app': 0.14.8
3138
+ '@firebase/component': 0.7.0
3139
+ '@firebase/installations': 0.6.19(@firebase/app@0.14.8)
3140
+ '@firebase/logger': 0.5.0
3141
+ '@firebase/util': 1.13.0
3142
+ tslib: 2.8.1
3143
+
3144
+ '@firebase/storage-compat@0.4.0(@firebase/app-compat@0.5.8)(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)':
3145
+ dependencies:
3146
+ '@firebase/app-compat': 0.5.8
3147
+ '@firebase/component': 0.7.0
3148
+ '@firebase/storage': 0.14.0(@firebase/app@0.14.8)
3149
+ '@firebase/storage-types': 0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)
3150
+ '@firebase/util': 1.13.0
3151
+ tslib: 2.8.1
3152
+ transitivePeerDependencies:
3153
+ - '@firebase/app'
3154
+ - '@firebase/app-types'
3155
+
3156
+ '@firebase/storage-types@0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)':
3157
+ dependencies:
3158
+ '@firebase/app-types': 0.9.3
3159
+ '@firebase/util': 1.13.0
3160
+
3161
+ '@firebase/storage@0.14.0(@firebase/app@0.14.8)':
3162
+ dependencies:
3163
+ '@firebase/app': 0.14.8
3164
+ '@firebase/component': 0.7.0
3165
+ '@firebase/util': 1.13.0
3166
+ tslib: 2.8.1
3167
+
3168
+ '@firebase/util@1.13.0':
3169
+ dependencies:
3170
+ tslib: 2.8.1
3171
+
3172
+ '@firebase/webchannel-wrapper@1.0.5': {}
3173
+
3174
+ '@grpc/grpc-js@1.9.15':
3175
+ dependencies:
3176
+ '@grpc/proto-loader': 0.7.15
3177
+ '@types/node': 20.19.30
3178
+
3179
+ '@grpc/proto-loader@0.7.15':
3180
+ dependencies:
3181
+ lodash.camelcase: 4.3.0
3182
+ long: 5.3.2
3183
+ protobufjs: 7.5.4
3184
+ yargs: 17.7.2
3185
+
3186
  '@jridgewell/gen-mapping@0.3.13':
3187
  dependencies:
3188
  '@jridgewell/sourcemap-codec': 1.5.5
 
3218
  - supports-color
3219
  optional: true
3220
 
3221
+ '@protobufjs/aspromise@1.1.2': {}
3222
+
3223
+ '@protobufjs/base64@1.1.2': {}
3224
+
3225
+ '@protobufjs/codegen@2.0.4': {}
3226
+
3227
+ '@protobufjs/eventemitter@1.1.0': {}
3228
+
3229
+ '@protobufjs/fetch@1.1.0':
3230
+ dependencies:
3231
+ '@protobufjs/aspromise': 1.1.2
3232
+ '@protobufjs/inquire': 1.1.0
3233
+
3234
+ '@protobufjs/float@1.0.2': {}
3235
+
3236
+ '@protobufjs/inquire@1.1.0': {}
3237
+
3238
+ '@protobufjs/path@1.1.2': {}
3239
+
3240
+ '@protobufjs/pool@1.1.0': {}
3241
+
3242
+ '@protobufjs/utf8@1.1.0': {}
3243
+
3244
  '@remotion/bundler@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
3245
  dependencies:
3246
  '@remotion/media-parser': 4.0.407
 
3297
  react-dom: 18.3.1(react@18.3.1)
3298
  remotion: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3299
 
3300
+ '@remotion/media@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
3301
+ dependencies:
3302
+ mediabunny: 1.27.3
3303
+ react: 18.3.1
3304
+ react-dom: 18.3.1(react@18.3.1)
3305
+ remotion: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3306
+
3307
  '@remotion/paths@4.0.340': {}
3308
 
3309
+ '@remotion/paths@4.0.407': {}
3310
+
3311
  '@remotion/player@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
3312
  dependencies:
3313
  react: 18.3.1
 
3344
  react: 18.3.1
3345
  react-dom: 18.3.1(react@18.3.1)
3346
 
3347
+ '@remotion/shapes@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
3348
+ dependencies:
3349
+ '@remotion/paths': 4.0.407
3350
+ react: 18.3.1
3351
+ react-dom: 18.3.1(react@18.3.1)
3352
+
3353
  '@remotion/streaming@4.0.407': {}
3354
 
3355
  '@remotion/studio-shared@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
 
3389
  react-dom: 18.3.1(react@18.3.1)
3390
  remotion: 4.0.340(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3391
 
3392
+ '@remotion/transitions@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
3393
+ dependencies:
3394
+ '@remotion/paths': 4.0.407
3395
+ '@remotion/shapes': 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3396
+ react: 18.3.1
3397
+ react-dom: 18.3.1(react@18.3.1)
3398
+ remotion: 4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
3399
+
3400
  '@remotion/web-renderer@4.0.407(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
3401
  dependencies:
3402
  '@remotion/licensing': 4.0.407
 
3481
  dependencies:
3482
  undici-types: 6.21.0
3483
 
3484
+ '@types/parse-json@4.0.2': {}
3485
+
3486
  '@types/prop-types@15.7.15': {}
3487
 
3488
  '@types/qs@6.14.0': {}
 
3654
  json-schema-traverse: 1.0.0
3655
  require-from-string: 2.0.2
3656
 
3657
+ ansi-regex@5.0.1: {}
3658
+
3659
+ ansi-styles@4.3.0:
3660
+ dependencies:
3661
+ color-convert: 2.0.1
3662
 
3663
  aproba@2.1.0:
3664
  optional: true
 
3674
  asynckit@0.4.0:
3675
  optional: true
3676
 
3677
+ babel-plugin-macros@3.1.0:
3678
+ dependencies:
3679
+ '@babel/runtime': 7.28.6
3680
+ cosmiconfig: 7.1.0
3681
+ resolve: 1.22.11
3682
+
3683
  balanced-match@1.0.2:
3684
  optional: true
3685
 
 
3734
  call-bind-apply-helpers: 1.0.2
3735
  get-intrinsic: 1.3.0
3736
 
3737
+ callsites@3.1.0: {}
3738
+
3739
  caniuse-lite@1.0.30001765: {}
3740
 
3741
  canvas@2.11.2:
 
3753
 
3754
  chrome-trace-event@1.0.4: {}
3755
 
3756
+ cliui@8.0.1:
3757
+ dependencies:
3758
+ string-width: 4.2.3
3759
+ strip-ansi: 6.0.1
3760
+ wrap-ansi: 7.0.0
3761
+
3762
+ color-convert@2.0.1:
3763
+ dependencies:
3764
+ color-name: 1.1.4
3765
+
3766
+ color-name@1.1.4: {}
3767
+
3768
  color-support@1.1.3:
3769
  optional: true
3770
 
 
3787
 
3788
  content-type@1.0.5: {}
3789
 
3790
+ convert-source-map@1.9.0: {}
3791
+
3792
  cookie-signature@1.0.7: {}
3793
 
3794
  cookie@0.7.2: {}
 
3798
  object-assign: 4.1.1
3799
  vary: 1.1.2
3800
 
3801
+ cosmiconfig@7.1.0:
3802
+ dependencies:
3803
+ '@types/parse-json': 4.0.2
3804
+ import-fresh: 3.3.1
3805
+ parse-json: 5.2.0
3806
+ path-type: 4.0.0
3807
+ yaml: 1.10.2
3808
+
3809
  cross-spawn@7.0.6:
3810
  dependencies:
3811
  path-key: 3.1.1
 
3894
 
3895
  electron-to-chromium@1.5.267: {}
3896
 
3897
+ emoji-regex@8.0.0: {}
 
3898
 
3899
  emojis-list@3.0.0: {}
3900
 
 
3912
  entities@6.0.1:
3913
  optional: true
3914
 
3915
+ error-ex@1.3.4:
3916
+ dependencies:
3917
+ is-arrayish: 0.2.1
3918
+
3919
  es-define-property@1.0.1: {}
3920
 
3921
  es-errors@1.3.0: {}
 
3995
 
3996
  escape-html@1.0.3: {}
3997
 
3998
+ escape-string-regexp@4.0.0: {}
3999
+
4000
  escodegen@2.1.0:
4001
  dependencies:
4002
  esprima: 4.0.1
 
4103
 
4104
  fast-uri@3.1.0: {}
4105
 
4106
+ faye-websocket@0.11.4:
4107
+ dependencies:
4108
+ websocket-driver: 0.7.4
4109
+
4110
  fd-slicer@1.1.0:
4111
  dependencies:
4112
  pend: 1.2.0
 
4123
  transitivePeerDependencies:
4124
  - supports-color
4125
 
4126
+ find-root@1.1.0: {}
4127
+
4128
+ firebase@12.9.0:
4129
+ dependencies:
4130
+ '@firebase/ai': 2.8.0(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)
4131
+ '@firebase/analytics': 0.10.19(@firebase/app@0.14.8)
4132
+ '@firebase/analytics-compat': 0.2.25(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)
4133
+ '@firebase/app': 0.14.8
4134
+ '@firebase/app-check': 0.11.0(@firebase/app@0.14.8)
4135
+ '@firebase/app-check-compat': 0.4.0(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)
4136
+ '@firebase/app-compat': 0.5.8
4137
+ '@firebase/app-types': 0.9.3
4138
+ '@firebase/auth': 1.12.0(@firebase/app@0.14.8)
4139
+ '@firebase/auth-compat': 0.6.2(@firebase/app-compat@0.5.8)(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)
4140
+ '@firebase/data-connect': 0.3.12(@firebase/app@0.14.8)
4141
+ '@firebase/database': 1.1.0
4142
+ '@firebase/database-compat': 2.1.0
4143
+ '@firebase/firestore': 4.11.0(@firebase/app@0.14.8)
4144
+ '@firebase/firestore-compat': 0.4.5(@firebase/app-compat@0.5.8)(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)
4145
+ '@firebase/functions': 0.13.1(@firebase/app@0.14.8)
4146
+ '@firebase/functions-compat': 0.4.1(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)
4147
+ '@firebase/installations': 0.6.19(@firebase/app@0.14.8)
4148
+ '@firebase/installations-compat': 0.2.19(@firebase/app-compat@0.5.8)(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)
4149
+ '@firebase/messaging': 0.12.23(@firebase/app@0.14.8)
4150
+ '@firebase/messaging-compat': 0.2.23(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)
4151
+ '@firebase/performance': 0.7.9(@firebase/app@0.14.8)
4152
+ '@firebase/performance-compat': 0.2.22(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)
4153
+ '@firebase/remote-config': 0.8.0(@firebase/app@0.14.8)
4154
+ '@firebase/remote-config-compat': 0.2.21(@firebase/app-compat@0.5.8)(@firebase/app@0.14.8)
4155
+ '@firebase/storage': 0.14.0(@firebase/app@0.14.8)
4156
+ '@firebase/storage-compat': 0.4.0(@firebase/app-compat@0.5.8)(@firebase/app-types@0.9.3)(@firebase/app@0.14.8)
4157
+ '@firebase/util': 1.13.0
4158
+ transitivePeerDependencies:
4159
+ - '@react-native-async-storage/async-storage'
4160
+
4161
  form-data@4.0.5:
4162
  dependencies:
4163
  asynckit: 0.4.0
 
4199
  wide-align: 1.1.5
4200
  optional: true
4201
 
4202
+ get-caller-file@2.0.5: {}
4203
+
4204
  get-intrinsic@1.3.0:
4205
  dependencies:
4206
  call-bind-apply-helpers: 1.0.2
 
4261
  dependencies:
4262
  function-bind: 1.1.2
4263
 
4264
+ hoist-non-react-statics@3.3.2:
4265
+ dependencies:
4266
+ react-is: 16.13.1
4267
+
4268
  html-encoding-sniffer@3.0.0:
4269
  dependencies:
4270
  whatwg-encoding: 2.0.0
 
4278
  statuses: 2.0.2
4279
  toidentifier: 1.0.1
4280
 
4281
+ http-parser-js@0.5.10: {}
4282
+
4283
  http-proxy-agent@5.0.0:
4284
  dependencies:
4285
  '@tootallnate/once': 2.0.0
 
4312
  dependencies:
4313
  postcss: 8.5.6
4314
 
4315
+ idb@7.1.1: {}
4316
+
4317
  immer@10.2.0: {}
4318
 
4319
+ import-fresh@3.3.1:
4320
+ dependencies:
4321
+ parent-module: 1.0.1
4322
+ resolve-from: 4.0.0
4323
+
4324
  inflight@1.0.6:
4325
  dependencies:
4326
  once: 1.4.0
 
4331
 
4332
  ipaddr.js@1.9.1: {}
4333
 
4334
+ is-arrayish@0.2.1: {}
4335
+
4336
+ is-core-module@2.16.1:
4337
+ dependencies:
4338
+ hasown: 2.0.2
4339
+
4340
  is-docker@2.2.1: {}
4341
 
4342
+ is-fullwidth-code-point@3.0.0: {}
 
4343
 
4344
  is-potential-custom-element-name@1.0.1:
4345
  optional: true
 
4396
  - utf-8-validate
4397
  optional: true
4398
 
4399
+ jsesc@3.1.0: {}
4400
+
4401
  json-parse-even-better-errors@2.3.1: {}
4402
 
4403
  json-schema-traverse@0.4.1: {}
 
4406
 
4407
  json5@2.2.3: {}
4408
 
4409
+ lines-and-columns@1.2.4: {}
4410
+
4411
  loader-runner@4.3.1: {}
4412
 
4413
  loader-utils@2.0.4:
 
4418
 
4419
  lodash-es@4.17.22: {}
4420
 
4421
+ lodash.camelcase@4.3.0: {}
4422
+
4423
  lodash.clonedeep@4.5.0: {}
4424
 
4425
  lodash.isequal@4.5.0: {}
 
4430
 
4431
  lodash@4.17.21: {}
4432
 
4433
+ long@5.3.2: {}
4434
+
4435
  loose-envify@1.4.0:
4436
  dependencies:
4437
  js-tokens: 4.0.0
 
4565
  is-docker: 2.2.1
4566
  is-wsl: 2.2.0
4567
 
4568
+ parent-module@1.0.1:
4569
+ dependencies:
4570
+ callsites: 3.1.0
4571
+
4572
+ parse-json@5.2.0:
4573
+ dependencies:
4574
+ '@babel/code-frame': 7.29.0
4575
+ error-ex: 1.3.4
4576
+ json-parse-even-better-errors: 2.3.1
4577
+ lines-and-columns: 1.2.4
4578
+
4579
  parse5@7.3.0:
4580
  dependencies:
4581
  entities: 6.0.1
 
4588
 
4589
  path-key@3.1.1: {}
4590
 
4591
+ path-parse@1.0.7: {}
4592
+
4593
  path-to-regexp@0.1.12: {}
4594
 
4595
+ path-type@4.0.0: {}
4596
+
4597
  pend@1.2.0: {}
4598
 
4599
  picocolors@1.1.1: {}
 
4632
  picocolors: 1.1.1
4633
  source-map-js: 1.2.1
4634
 
4635
+ protobufjs@7.5.4:
4636
+ dependencies:
4637
+ '@protobufjs/aspromise': 1.1.2
4638
+ '@protobufjs/base64': 1.1.2
4639
+ '@protobufjs/codegen': 2.0.4
4640
+ '@protobufjs/eventemitter': 1.1.0
4641
+ '@protobufjs/fetch': 1.1.0
4642
+ '@protobufjs/float': 1.0.2
4643
+ '@protobufjs/inquire': 1.1.0
4644
+ '@protobufjs/path': 1.1.2
4645
+ '@protobufjs/pool': 1.1.0
4646
+ '@protobufjs/utf8': 1.1.0
4647
+ '@types/node': 20.19.30
4648
+ long: 5.3.2
4649
+
4650
  proxy-addr@2.0.7:
4651
  dependencies:
4652
  forwarded: 0.2.0
 
4690
  react: 18.3.1
4691
  scheduler: 0.23.2
4692
 
4693
+ react-is@16.13.1: {}
4694
+
4695
  react-refresh@0.9.0: {}
4696
 
4697
  react@18.3.1:
 
4715
  react: 18.3.1
4716
  react-dom: 18.3.1(react@18.3.1)
4717
 
4718
+ require-directory@2.1.1: {}
4719
+
4720
  require-from-string@2.0.2: {}
4721
 
4722
  requires-port@1.0.0:
4723
  optional: true
4724
 
4725
+ resolve-from@4.0.0: {}
4726
+
4727
  resolve-pkg-maps@1.0.0: {}
4728
 
4729
+ resolve@1.22.11:
4730
+ dependencies:
4731
+ is-core-module: 2.16.1
4732
+ path-parse: 1.0.7
4733
+ supports-preserve-symlinks-flag: 1.0.0
4734
+
4735
  rimraf@3.0.2:
4736
  dependencies:
4737
  glob: 7.2.3
 
4865
  buffer-from: 1.1.2
4866
  source-map: 0.6.1
4867
 
4868
+ source-map@0.5.7: {}
4869
+
4870
  source-map@0.6.1: {}
4871
 
4872
  source-map@0.7.3: {}
 
4882
  emoji-regex: 8.0.0
4883
  is-fullwidth-code-point: 3.0.0
4884
  strip-ansi: 6.0.1
 
4885
 
4886
  string_decoder@1.3.0:
4887
  dependencies:
 
4891
  strip-ansi@6.0.1:
4892
  dependencies:
4893
  ansi-regex: 5.0.1
 
4894
 
4895
  strip-final-newline@2.0.0: {}
4896
 
 
4898
  dependencies:
4899
  webpack: 5.96.1(esbuild@0.25.0)
4900
 
4901
+ stylis@4.2.0: {}
4902
+
4903
  supports-color@8.1.1:
4904
  dependencies:
4905
  has-flag: 4.0.0
4906
 
4907
+ supports-preserve-symlinks-flag@1.0.0: {}
4908
+
4909
  symbol-tree@3.2.4:
4910
  optional: true
4911
 
 
5022
  glob-to-regexp: 0.4.1
5023
  graceful-fs: 4.2.11
5024
 
5025
+ web-vitals@4.2.4: {}
5026
+
5027
  webidl-conversions@3.0.1:
5028
  optional: true
5029
 
 
5064
  - esbuild
5065
  - uglify-js
5066
 
5067
+ websocket-driver@0.7.4:
5068
+ dependencies:
5069
+ http-parser-js: 0.5.10
5070
+ safe-buffer: 5.2.1
5071
+ websocket-extensions: 0.1.4
5072
+
5073
+ websocket-extensions@0.1.4: {}
5074
+
5075
  whatwg-encoding@2.0.0:
5076
  dependencies:
5077
  iconv-lite: 0.6.3
 
5107
  string-width: 4.2.3
5108
  optional: true
5109
 
5110
+ wrap-ansi@7.0.0:
5111
+ dependencies:
5112
+ ansi-styles: 4.3.0
5113
+ string-width: 4.2.3
5114
+ strip-ansi: 6.0.1
5115
+
5116
  wrappy@1.0.2: {}
5117
 
5118
  ws@8.17.1: {}
 
5126
  xmlchars@2.2.0:
5127
  optional: true
5128
 
5129
+ y18n@5.0.8: {}
5130
+
5131
  yallist@4.0.0: {}
5132
 
5133
+ yaml@1.10.2: {}
5134
+
5135
+ yargs-parser@21.1.1: {}
5136
+
5137
+ yargs@17.7.2:
5138
+ dependencies:
5139
+ cliui: 8.0.1
5140
+ escalade: 3.2.0
5141
+ get-caller-file: 2.0.5
5142
+ require-directory: 2.1.1
5143
+ string-width: 4.2.3
5144
+ y18n: 5.0.8
5145
+ yargs-parser: 21.1.1
5146
+
5147
  yauzl@2.10.0:
5148
  dependencies:
5149
  buffer-crc32: 0.2.13
src/firebase-admin.ts ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Firebase Client SDK for Render Server
3
+ *
4
+ * Uses the same credentials as frontend (NEXT_PUBLIC_* variables).
5
+ * This simplifies deployment since you don't need separate Service Account.
6
+ */
7
+
8
+ import { initializeApp, getApps } from 'firebase/app';
9
+ import { getStorage, ref, uploadBytes, getDownloadURL } from 'firebase/storage';
10
+ import fs from 'fs';
11
+
12
+ const firebaseConfig = {
13
+ apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
14
+ authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
15
+ projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
16
+ storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
17
+ messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
18
+ appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
19
+ };
20
+
21
+ // Check if Firebase is already initialized
22
+ const app = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0];
23
+ const storage = getStorage(app);
24
+
25
+ /**
26
+ * Upload a file to Firebase Storage and return the public URL
27
+ */
28
+ export async function uploadToFirebase(
29
+ filePath: string,
30
+ destination: string
31
+ ): Promise<string> {
32
+ console.log(`[Firebase] Uploading ${filePath} to ${destination}`);
33
+
34
+ // Read file as buffer
35
+ const fileBuffer = fs.readFileSync(filePath);
36
+
37
+ // Create storage reference
38
+ const storageRef = ref(storage, destination);
39
+
40
+ // Upload
41
+ await uploadBytes(storageRef, fileBuffer, {
42
+ contentType: 'video/mp4',
43
+ });
44
+
45
+ // Get download URL
46
+ const downloadURL = await getDownloadURL(storageRef);
47
+ console.log(`[Firebase] Upload complete: ${downloadURL}`);
48
+
49
+ return downloadURL;
50
+ }
src/render.ts CHANGED
@@ -2,12 +2,14 @@
2
  * Render Module
3
  *
4
  * Handles Remotion video rendering with optimized settings.
 
5
  */
6
 
7
  import { bundle } from '@remotion/bundler';
8
  import { renderMedia, selectComposition, getCompositions } from '@remotion/renderer';
9
  import path from 'path';
10
  import fs from 'fs';
 
11
 
12
  const REMOTION_ENTRY = path.resolve(process.cwd(), 'remotion/index.tsx');
13
  const VIDEOS_DIR = path.join(process.cwd(), 'videos');
@@ -102,10 +104,10 @@ export async function renderVideo(
102
  lastReportedProgress = pct;
103
  console.log(`[Render] Progress: ${pct}% (${renderedFrames}/${composition.durationInFrames})`);
104
 
105
- // Update status file with current progress
106
  updateJobStatus(jobId, {
107
  status: 'rendering',
108
- progress: pct,
109
  renderedFrames,
110
  totalFrames: composition.durationInFrames
111
  });
@@ -113,6 +115,24 @@ export async function renderVideo(
113
  },
114
  });
115
 
116
- console.log(`[Render] Completed: ${outputPath}`);
117
- return outputPath;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  }
 
 
2
  * Render Module
3
  *
4
  * Handles Remotion video rendering with optimized settings.
5
+ * After render completes, uploads to Firebase Storage.
6
  */
7
 
8
  import { bundle } from '@remotion/bundler';
9
  import { renderMedia, selectComposition, getCompositions } from '@remotion/renderer';
10
  import path from 'path';
11
  import fs from 'fs';
12
+ import { uploadToFirebase } from './firebase-admin';
13
 
14
  const REMOTION_ENTRY = path.resolve(process.cwd(), 'remotion/index.tsx');
15
  const VIDEOS_DIR = path.join(process.cwd(), 'videos');
 
104
  lastReportedProgress = pct;
105
  console.log(`[Render] Progress: ${pct}% (${renderedFrames}/${composition.durationInFrames})`);
106
 
107
+ // Update status file with current progress (max 90% for render, 10% for upload)
108
  updateJobStatus(jobId, {
109
  status: 'rendering',
110
+ progress: Math.min(pct * 0.9, 90),
111
  renderedFrames,
112
  totalFrames: composition.durationInFrames
113
  });
 
115
  },
116
  });
117
 
118
+ console.log(`[Render] Render completed: ${outputPath}`);
119
+
120
+ // Upload to Firebase Storage
121
+ updateJobStatus(jobId, { status: 'uploading', progress: 92 });
122
+ console.log(`[Render] Uploading to Firebase...`);
123
+
124
+ const firebaseUrl = await uploadToFirebase(outputPath, `exports/${jobId}.${format}`);
125
+
126
+ console.log(`[Render] Upload completed: ${firebaseUrl}`);
127
+
128
+ // Clean up local file to save space
129
+ try {
130
+ fs.unlinkSync(outputPath);
131
+ console.log(`[Render] Cleaned up local file: ${outputPath}`);
132
+ } catch (e) {
133
+ console.warn(`[Render] Failed to clean up local file: ${outputPath}`);
134
+ }
135
+
136
+ return firebaseUrl;
137
  }
138
+
src/server.ts CHANGED
@@ -62,14 +62,14 @@ app.post('/render', async (req, res) => {
62
 
63
  // Start render in background
64
  renderVideo(jobId, design, options || {})
65
- .then((outputPath) => {
66
- const filename = path.basename(outputPath);
67
  fs.writeFileSync(statusFile, JSON.stringify({
68
  status: 'completed',
69
  progress: 100,
70
- outputUrl: `/videos/${filename}`
71
  }));
72
- console.log(`[Render] Completed: ${jobId}`);
73
  })
74
  .catch((error) => {
75
  console.error(`[Render] Failed: ${jobId}`, error);
 
62
 
63
  // Start render in background
64
  renderVideo(jobId, design, options || {})
65
+ .then((firebaseUrl) => {
66
+ // renderVideo now returns Firebase URL directly
67
  fs.writeFileSync(statusFile, JSON.stringify({
68
  status: 'completed',
69
  progress: 100,
70
+ outputUrl: firebaseUrl
71
  }));
72
+ console.log(`[Render] Completed: ${jobId} -> ${firebaseUrl}`);
73
  })
74
  .catch((error) => {
75
  console.error(`[Render] Failed: ${jobId}`, error);