karaoke-gen 0.105.4__py3-none-any.whl → 0.107.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. backend/api/routes/users.py +14 -3
  2. backend/config.py +3 -0
  3. backend/services/encoding_interface.py +4 -0
  4. backend/services/job_notification_service.py +4 -21
  5. backend/tests/test_job_notification_service.py +24 -58
  6. backend/tests/test_video_worker_orchestrator.py +189 -0
  7. backend/workers/video_worker_orchestrator.py +7 -0
  8. karaoke_gen/instrumental_review/server.py +145 -35
  9. karaoke_gen/nextjs_frontend/__init__.py +98 -0
  10. karaoke_gen/nextjs_frontend/out/404/index.html +1 -0
  11. karaoke_gen/nextjs_frontend/out/404.html +1 -0
  12. karaoke_gen/nextjs_frontend/out/__next.__PAGE__.txt +9 -0
  13. karaoke_gen/nextjs_frontend/out/__next._full.txt +22 -0
  14. karaoke_gen/nextjs_frontend/out/__next._head.txt +8 -0
  15. karaoke_gen/nextjs_frontend/out/__next._index.txt +9 -0
  16. karaoke_gen/nextjs_frontend/out/__next._tree.txt +2 -0
  17. karaoke_gen/nextjs_frontend/out/_next/static/chunks/01a7f8fe40f1ff47.js +1 -0
  18. karaoke_gen/nextjs_frontend/out/_next/static/chunks/112f346e31f991df.js +4 -0
  19. karaoke_gen/nextjs_frontend/out/_next/static/chunks/16d1a4dd9d8a873a.js +3 -0
  20. karaoke_gen/nextjs_frontend/out/_next/static/chunks/1ab85c362b8b0e86.js +9 -0
  21. karaoke_gen/nextjs_frontend/out/_next/static/chunks/247eb132b7f7b574.js +1 -0
  22. karaoke_gen/nextjs_frontend/out/_next/static/chunks/2b80d15cc95e4818.js +1 -0
  23. karaoke_gen/nextjs_frontend/out/_next/static/chunks/32c7eba5cd46c1bc.js +7 -0
  24. karaoke_gen/nextjs_frontend/out/_next/static/chunks/483f26794eae53d0.js +1 -0
  25. karaoke_gen/nextjs_frontend/out/_next/static/chunks/550c3b02e85f196a.js +1 -0
  26. karaoke_gen/nextjs_frontend/out/_next/static/chunks/55c5ade44387bef8.js +1 -0
  27. karaoke_gen/nextjs_frontend/out/_next/static/chunks/5628d92b5893add2.css +1 -0
  28. karaoke_gen/nextjs_frontend/out/_next/static/chunks/56ebf7665e4341c8.js +7 -0
  29. karaoke_gen/nextjs_frontend/out/_next/static/chunks/5997132b61dec430.js +1 -0
  30. karaoke_gen/nextjs_frontend/out/_next/static/chunks/5ea55255bce3eb9e.js +5 -0
  31. karaoke_gen/nextjs_frontend/out/_next/static/chunks/5eda89a57490b3cd.js +1 -0
  32. karaoke_gen/nextjs_frontend/out/_next/static/chunks/692f5d9e0d700c76.js +3 -0
  33. karaoke_gen/nextjs_frontend/out/_next/static/chunks/71d7a05b14f9f0f4.js +1 -0
  34. karaoke_gen/nextjs_frontend/out/_next/static/chunks/81ac355749ef3302.js +1 -0
  35. karaoke_gen/nextjs_frontend/out/_next/static/chunks/95f7e5934dbb0e5d.js +1 -0
  36. karaoke_gen/nextjs_frontend/out/_next/static/chunks/9bce8f19eaa46940.js +1 -0
  37. karaoke_gen/nextjs_frontend/out/_next/static/chunks/a6dad97d9634a72d.js +1 -0
  38. karaoke_gen/nextjs_frontend/out/_next/static/chunks/a9ed54eed3e14c92.js +2 -0
  39. karaoke_gen/nextjs_frontend/out/_next/static/chunks/b35cd41238ecfb17.js +1 -0
  40. karaoke_gen/nextjs_frontend/out/_next/static/chunks/b5bc3c3d5ebd49eb.js +1 -0
  41. karaoke_gen/nextjs_frontend/out/_next/static/chunks/b5c078c08db5ae32.js +5 -0
  42. karaoke_gen/nextjs_frontend/out/_next/static/chunks/be9c44a178104187.js +1 -0
  43. karaoke_gen/nextjs_frontend/out/_next/static/chunks/c4c840e18cb4861c.js +1 -0
  44. karaoke_gen/nextjs_frontend/out/_next/static/chunks/c645af7d6b65f73e.js +1 -0
  45. karaoke_gen/nextjs_frontend/out/_next/static/chunks/d2c5e2575df784d4.js +1 -0
  46. karaoke_gen/nextjs_frontend/out/_next/static/chunks/d30af02b96d81462.js +1 -0
  47. karaoke_gen/nextjs_frontend/out/_next/static/chunks/d9bdf64f4ec1e9b7.js +7 -0
  48. karaoke_gen/nextjs_frontend/out/_next/static/chunks/dcde6ed684dacd0e.js +5 -0
  49. karaoke_gen/nextjs_frontend/out/_next/static/chunks/e422cbe931246000.js +1 -0
  50. karaoke_gen/nextjs_frontend/out/_next/static/chunks/e483af34fc792d38.js +1 -0
  51. karaoke_gen/nextjs_frontend/out/_next/static/chunks/e57422aad6b897da.js +1 -0
  52. karaoke_gen/nextjs_frontend/out/_next/static/chunks/ef02697fb404726a.js +1 -0
  53. karaoke_gen/nextjs_frontend/out/_next/static/chunks/ff1a16fafef87110.js +1 -0
  54. karaoke_gen/nextjs_frontend/out/_next/static/chunks/turbopack-2d9ca3017a9deedf.js +3 -0
  55. karaoke_gen/nextjs_frontend/out/_next/static/zpw_-rjFIDV5tlPPtnvRI/_buildManifest.js +11 -0
  56. karaoke_gen/nextjs_frontend/out/_next/static/zpw_-rjFIDV5tlPPtnvRI/_clientMiddlewareManifest.json +1 -0
  57. karaoke_gen/nextjs_frontend/out/_next/static/zpw_-rjFIDV5tlPPtnvRI/_ssgManifest.js +1 -0
  58. karaoke_gen/nextjs_frontend/out/_not-found/__next._full.txt +18 -0
  59. karaoke_gen/nextjs_frontend/out/_not-found/__next._head.txt +8 -0
  60. karaoke_gen/nextjs_frontend/out/_not-found/__next._index.txt +9 -0
  61. karaoke_gen/nextjs_frontend/out/_not-found/__next._not-found.__PAGE__.txt +5 -0
  62. karaoke_gen/nextjs_frontend/out/_not-found/__next._not-found.txt +4 -0
  63. karaoke_gen/nextjs_frontend/out/_not-found/__next._tree.txt +2 -0
  64. karaoke_gen/nextjs_frontend/out/_not-found/index.html +1 -0
  65. karaoke_gen/nextjs_frontend/out/_not-found/index.txt +18 -0
  66. karaoke_gen/nextjs_frontend/out/admin/__next._full.txt +25 -0
  67. karaoke_gen/nextjs_frontend/out/admin/__next._head.txt +8 -0
  68. karaoke_gen/nextjs_frontend/out/admin/__next._index.txt +9 -0
  69. karaoke_gen/nextjs_frontend/out/admin/__next._tree.txt +2 -0
  70. karaoke_gen/nextjs_frontend/out/admin/__next.admin.__PAGE__.txt +9 -0
  71. karaoke_gen/nextjs_frontend/out/admin/__next.admin.txt +7 -0
  72. karaoke_gen/nextjs_frontend/out/admin/beta/__next._full.txt +25 -0
  73. karaoke_gen/nextjs_frontend/out/admin/beta/__next._head.txt +8 -0
  74. karaoke_gen/nextjs_frontend/out/admin/beta/__next._index.txt +9 -0
  75. karaoke_gen/nextjs_frontend/out/admin/beta/__next._tree.txt +2 -0
  76. karaoke_gen/nextjs_frontend/out/admin/beta/__next.admin.beta.__PAGE__.txt +9 -0
  77. karaoke_gen/nextjs_frontend/out/admin/beta/__next.admin.beta.txt +4 -0
  78. karaoke_gen/nextjs_frontend/out/admin/beta/__next.admin.txt +7 -0
  79. karaoke_gen/nextjs_frontend/out/admin/beta/index.html +1 -0
  80. karaoke_gen/nextjs_frontend/out/admin/beta/index.txt +25 -0
  81. karaoke_gen/nextjs_frontend/out/admin/index.html +1 -0
  82. karaoke_gen/nextjs_frontend/out/admin/index.txt +25 -0
  83. karaoke_gen/nextjs_frontend/out/admin/jobs/__next._full.txt +25 -0
  84. karaoke_gen/nextjs_frontend/out/admin/jobs/__next._head.txt +8 -0
  85. karaoke_gen/nextjs_frontend/out/admin/jobs/__next._index.txt +9 -0
  86. karaoke_gen/nextjs_frontend/out/admin/jobs/__next._tree.txt +2 -0
  87. karaoke_gen/nextjs_frontend/out/admin/jobs/__next.admin.jobs.__PAGE__.txt +9 -0
  88. karaoke_gen/nextjs_frontend/out/admin/jobs/__next.admin.jobs.txt +4 -0
  89. karaoke_gen/nextjs_frontend/out/admin/jobs/__next.admin.txt +7 -0
  90. karaoke_gen/nextjs_frontend/out/admin/jobs/index.html +1 -0
  91. karaoke_gen/nextjs_frontend/out/admin/jobs/index.txt +25 -0
  92. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next._full.txt +25 -0
  93. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next._head.txt +8 -0
  94. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next._index.txt +9 -0
  95. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next._tree.txt +2 -0
  96. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next.admin.rate-limits.__PAGE__.txt +9 -0
  97. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next.admin.rate-limits.txt +4 -0
  98. karaoke_gen/nextjs_frontend/out/admin/rate-limits/__next.admin.txt +7 -0
  99. karaoke_gen/nextjs_frontend/out/admin/rate-limits/index.html +1 -0
  100. karaoke_gen/nextjs_frontend/out/admin/rate-limits/index.txt +25 -0
  101. karaoke_gen/nextjs_frontend/out/admin/searches/__next._full.txt +25 -0
  102. karaoke_gen/nextjs_frontend/out/admin/searches/__next._head.txt +8 -0
  103. karaoke_gen/nextjs_frontend/out/admin/searches/__next._index.txt +9 -0
  104. karaoke_gen/nextjs_frontend/out/admin/searches/__next._tree.txt +2 -0
  105. karaoke_gen/nextjs_frontend/out/admin/searches/__next.admin.searches.__PAGE__.txt +9 -0
  106. karaoke_gen/nextjs_frontend/out/admin/searches/__next.admin.searches.txt +4 -0
  107. karaoke_gen/nextjs_frontend/out/admin/searches/__next.admin.txt +7 -0
  108. karaoke_gen/nextjs_frontend/out/admin/searches/index.html +1 -0
  109. karaoke_gen/nextjs_frontend/out/admin/searches/index.txt +25 -0
  110. karaoke_gen/nextjs_frontend/out/admin/users/__next._full.txt +25 -0
  111. karaoke_gen/nextjs_frontend/out/admin/users/__next._head.txt +8 -0
  112. karaoke_gen/nextjs_frontend/out/admin/users/__next._index.txt +9 -0
  113. karaoke_gen/nextjs_frontend/out/admin/users/__next._tree.txt +2 -0
  114. karaoke_gen/nextjs_frontend/out/admin/users/__next.admin.txt +7 -0
  115. karaoke_gen/nextjs_frontend/out/admin/users/__next.admin.users.__PAGE__.txt +9 -0
  116. karaoke_gen/nextjs_frontend/out/admin/users/__next.admin.users.txt +4 -0
  117. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next._full.txt +25 -0
  118. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next._head.txt +8 -0
  119. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next._index.txt +9 -0
  120. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next._tree.txt +2 -0
  121. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next.admin.txt +7 -0
  122. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next.admin.users.detail.__PAGE__.txt +9 -0
  123. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next.admin.users.detail.txt +4 -0
  124. karaoke_gen/nextjs_frontend/out/admin/users/detail/__next.admin.users.txt +4 -0
  125. karaoke_gen/nextjs_frontend/out/admin/users/detail/index.html +1 -0
  126. karaoke_gen/nextjs_frontend/out/admin/users/detail/index.txt +25 -0
  127. karaoke_gen/nextjs_frontend/out/admin/users/index.html +1 -0
  128. karaoke_gen/nextjs_frontend/out/admin/users/index.txt +25 -0
  129. karaoke_gen/nextjs_frontend/out/app/__next._full.txt +22 -0
  130. karaoke_gen/nextjs_frontend/out/app/__next._head.txt +8 -0
  131. karaoke_gen/nextjs_frontend/out/app/__next._index.txt +9 -0
  132. karaoke_gen/nextjs_frontend/out/app/__next._tree.txt +2 -0
  133. karaoke_gen/nextjs_frontend/out/app/__next.app.__PAGE__.txt +9 -0
  134. karaoke_gen/nextjs_frontend/out/app/__next.app.txt +4 -0
  135. karaoke_gen/nextjs_frontend/out/app/index.html +1 -0
  136. karaoke_gen/nextjs_frontend/out/app/index.txt +22 -0
  137. karaoke_gen/nextjs_frontend/out/app/jobs/__next._full.txt +19 -0
  138. karaoke_gen/nextjs_frontend/out/app/jobs/__next._head.txt +8 -0
  139. karaoke_gen/nextjs_frontend/out/app/jobs/__next._index.txt +9 -0
  140. karaoke_gen/nextjs_frontend/out/app/jobs/__next._tree.txt +2 -0
  141. karaoke_gen/nextjs_frontend/out/app/jobs/__next.app.jobs.$oc$slug.__PAGE__.txt +6 -0
  142. karaoke_gen/nextjs_frontend/out/app/jobs/__next.app.jobs.$oc$slug.txt +4 -0
  143. karaoke_gen/nextjs_frontend/out/app/jobs/__next.app.jobs.txt +4 -0
  144. karaoke_gen/nextjs_frontend/out/app/jobs/__next.app.txt +4 -0
  145. karaoke_gen/nextjs_frontend/out/app/jobs/index.html +1 -0
  146. karaoke_gen/nextjs_frontend/out/app/jobs/index.txt +19 -0
  147. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next._full.txt +19 -0
  148. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next._head.txt +8 -0
  149. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next._index.txt +9 -0
  150. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next._tree.txt +2 -0
  151. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next.app.jobs.$oc$slug.__PAGE__.txt +6 -0
  152. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next.app.jobs.$oc$slug.txt +4 -0
  153. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next.app.jobs.txt +4 -0
  154. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/__next.app.txt +4 -0
  155. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/index.html +1 -0
  156. karaoke_gen/nextjs_frontend/out/app/jobs/local/instrumental/index.txt +19 -0
  157. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next._full.txt +19 -0
  158. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next._head.txt +8 -0
  159. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next._index.txt +9 -0
  160. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next._tree.txt +2 -0
  161. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next.app.jobs.$oc$slug.__PAGE__.txt +6 -0
  162. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next.app.jobs.$oc$slug.txt +4 -0
  163. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next.app.jobs.txt +4 -0
  164. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/__next.app.txt +4 -0
  165. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/index.html +1 -0
  166. karaoke_gen/nextjs_frontend/out/app/jobs/local/review/index.txt +19 -0
  167. karaoke_gen/nextjs_frontend/out/auth/verify/__next._full.txt +22 -0
  168. karaoke_gen/nextjs_frontend/out/auth/verify/__next._head.txt +8 -0
  169. karaoke_gen/nextjs_frontend/out/auth/verify/__next._index.txt +9 -0
  170. karaoke_gen/nextjs_frontend/out/auth/verify/__next._tree.txt +2 -0
  171. karaoke_gen/nextjs_frontend/out/auth/verify/__next.auth.txt +4 -0
  172. karaoke_gen/nextjs_frontend/out/auth/verify/__next.auth.verify.__PAGE__.txt +9 -0
  173. karaoke_gen/nextjs_frontend/out/auth/verify/__next.auth.verify.txt +4 -0
  174. karaoke_gen/nextjs_frontend/out/auth/verify/index.html +1 -0
  175. karaoke_gen/nextjs_frontend/out/auth/verify/index.txt +22 -0
  176. karaoke_gen/nextjs_frontend/out/index.html +1 -0
  177. karaoke_gen/nextjs_frontend/out/index.txt +22 -0
  178. karaoke_gen/nextjs_frontend/out/manifest.webmanifest +31 -0
  179. karaoke_gen/nextjs_frontend/out/order/success/__next._full.txt +22 -0
  180. karaoke_gen/nextjs_frontend/out/order/success/__next._head.txt +8 -0
  181. karaoke_gen/nextjs_frontend/out/order/success/__next._index.txt +9 -0
  182. karaoke_gen/nextjs_frontend/out/order/success/__next._tree.txt +2 -0
  183. karaoke_gen/nextjs_frontend/out/order/success/__next.order.success.__PAGE__.txt +9 -0
  184. karaoke_gen/nextjs_frontend/out/order/success/__next.order.success.txt +4 -0
  185. karaoke_gen/nextjs_frontend/out/order/success/__next.order.txt +4 -0
  186. karaoke_gen/nextjs_frontend/out/order/success/index.html +1 -0
  187. karaoke_gen/nextjs_frontend/out/order/success/index.txt +22 -0
  188. karaoke_gen/nextjs_frontend/out/payment/success/__next._full.txt +22 -0
  189. karaoke_gen/nextjs_frontend/out/payment/success/__next._head.txt +8 -0
  190. karaoke_gen/nextjs_frontend/out/payment/success/__next._index.txt +9 -0
  191. karaoke_gen/nextjs_frontend/out/payment/success/__next._tree.txt +2 -0
  192. karaoke_gen/nextjs_frontend/out/payment/success/__next.payment.success.__PAGE__.txt +9 -0
  193. karaoke_gen/nextjs_frontend/out/payment/success/__next.payment.success.txt +4 -0
  194. karaoke_gen/nextjs_frontend/out/payment/success/__next.payment.txt +4 -0
  195. karaoke_gen/nextjs_frontend/out/payment/success/index.html +1 -0
  196. karaoke_gen/nextjs_frontend/out/payment/success/index.txt +22 -0
  197. karaoke_gen/nextjs_frontend/out/screenshots/email-action_reminder.png +0 -0
  198. karaoke_gen/nextjs_frontend/out/screenshots/email-beta_welcome.png +0 -0
  199. karaoke_gen/nextjs_frontend/out/screenshots/email-job_completion.png +0 -0
  200. karaoke_gen/nextjs_frontend/out/screenshots/example-output.avif +0 -0
  201. karaoke_gen/nextjs_frontend/out/screenshots/homepage-full.png +0 -0
  202. karaoke_gen/nextjs_frontend/out/screenshots/homepage-hero.png +0 -0
  203. karaoke_gen/nextjs_frontend/out/screenshots/instrumental-review.avif +0 -0
  204. karaoke_gen/nextjs_frontend/out/screenshots/instrumental-review.png +0 -0
  205. karaoke_gen/nextjs_frontend/out/screenshots/job-dashboard.avif +0 -0
  206. karaoke_gen/nextjs_frontend/out/screenshots/lyrics-review.avif +0 -0
  207. karaoke_gen/nextjs_frontend/out/screenshots/lyrics-review.png +0 -0
  208. karaoke_gen/nextjs_frontend/out/sw.js +183 -0
  209. karaoke_gen/utils/cli_args.py +3 -3
  210. karaoke_gen/utils/gen_cli.py +4 -0
  211. karaoke_gen/utils/remote_cli.py +8 -40
  212. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/METADATA +1 -1
  213. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/RECORD +227 -121
  214. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/WHEEL +1 -1
  215. lyrics_transcriber/correction/agentic/agent.py +83 -60
  216. lyrics_transcriber/correction/anchor_sequence.py +48 -3
  217. lyrics_transcriber/correction/corrector.py +92 -58
  218. lyrics_transcriber/review/server.py +165 -33
  219. lyrics_transcriber/utils/tracing.py +214 -0
  220. karaoke_gen/instrumental_review/static/index.html +0 -1721
  221. lyrics_transcriber/frontend/.gitignore +0 -24
  222. lyrics_transcriber/frontend/.yarn/releases/yarn-4.7.0.cjs +0 -935
  223. lyrics_transcriber/frontend/.yarnrc.yml +0 -3
  224. lyrics_transcriber/frontend/README.md +0 -50
  225. lyrics_transcriber/frontend/REPLACE_ALL_FUNCTIONALITY.md +0 -210
  226. lyrics_transcriber/frontend/__init__.py +0 -25
  227. lyrics_transcriber/frontend/e2e/agentic-corrections.spec.ts +0 -207
  228. lyrics_transcriber/frontend/e2e/fixtures/agentic-correction-data.json +0 -226
  229. lyrics_transcriber/frontend/eslint.config.js +0 -28
  230. lyrics_transcriber/frontend/index.html +0 -22
  231. lyrics_transcriber/frontend/package-lock.json +0 -4553
  232. lyrics_transcriber/frontend/package.json +0 -48
  233. lyrics_transcriber/frontend/playwright.config.ts +0 -69
  234. lyrics_transcriber/frontend/public/android-chrome-192x192.png +0 -0
  235. lyrics_transcriber/frontend/public/android-chrome-512x512.png +0 -0
  236. lyrics_transcriber/frontend/src/App.tsx +0 -243
  237. lyrics_transcriber/frontend/src/api.ts +0 -262
  238. lyrics_transcriber/frontend/src/components/AIFeedbackModal.tsx +0 -111
  239. lyrics_transcriber/frontend/src/components/AddLyricsModal.tsx +0 -114
  240. lyrics_transcriber/frontend/src/components/AgenticCorrectionMetrics.tsx +0 -204
  241. lyrics_transcriber/frontend/src/components/AppHeader.tsx +0 -65
  242. lyrics_transcriber/frontend/src/components/AudioPlayer.tsx +0 -180
  243. lyrics_transcriber/frontend/src/components/CorrectedWordWithActions.tsx +0 -175
  244. lyrics_transcriber/frontend/src/components/CorrectionAnnotationModal.tsx +0 -359
  245. lyrics_transcriber/frontend/src/components/CorrectionDetailCard.tsx +0 -281
  246. lyrics_transcriber/frontend/src/components/CorrectionMetrics.tsx +0 -162
  247. lyrics_transcriber/frontend/src/components/DurationTimelineView.tsx +0 -257
  248. lyrics_transcriber/frontend/src/components/EditActionBar.tsx +0 -94
  249. lyrics_transcriber/frontend/src/components/EditModal.tsx +0 -720
  250. lyrics_transcriber/frontend/src/components/EditTimelineSection.tsx +0 -592
  251. lyrics_transcriber/frontend/src/components/EditWordList.tsx +0 -431
  252. lyrics_transcriber/frontend/src/components/FileUpload.tsx +0 -77
  253. lyrics_transcriber/frontend/src/components/FindReplaceModal.tsx +0 -467
  254. lyrics_transcriber/frontend/src/components/Header.tsx +0 -520
  255. lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx +0 -1526
  256. lyrics_transcriber/frontend/src/components/LyricsSynchronizer/SyncControls.tsx +0 -216
  257. lyrics_transcriber/frontend/src/components/LyricsSynchronizer/TimelineCanvas.tsx +0 -721
  258. lyrics_transcriber/frontend/src/components/LyricsSynchronizer/UpcomingWordsBar.tsx +0 -80
  259. lyrics_transcriber/frontend/src/components/LyricsSynchronizer/index.tsx +0 -999
  260. lyrics_transcriber/frontend/src/components/MetricsDashboard.tsx +0 -51
  261. lyrics_transcriber/frontend/src/components/ModeSelectionModal.tsx +0 -127
  262. lyrics_transcriber/frontend/src/components/ModeSelector.tsx +0 -67
  263. lyrics_transcriber/frontend/src/components/ModelSelector.tsx +0 -23
  264. lyrics_transcriber/frontend/src/components/PreviewVideoSection.tsx +0 -177
  265. lyrics_transcriber/frontend/src/components/ReferenceView.tsx +0 -268
  266. lyrics_transcriber/frontend/src/components/ReplaceAllLyricsModal.tsx +0 -336
  267. lyrics_transcriber/frontend/src/components/ReviewChangesModal.tsx +0 -354
  268. lyrics_transcriber/frontend/src/components/SegmentDetailsModal.tsx +0 -64
  269. lyrics_transcriber/frontend/src/components/TimelineEditor.tsx +0 -383
  270. lyrics_transcriber/frontend/src/components/TimingOffsetModal.tsx +0 -131
  271. lyrics_transcriber/frontend/src/components/TranscriptionView.tsx +0 -266
  272. lyrics_transcriber/frontend/src/components/WordDivider.tsx +0 -191
  273. lyrics_transcriber/frontend/src/components/shared/components/HighlightedText.tsx +0 -466
  274. lyrics_transcriber/frontend/src/components/shared/components/SourceSelector.tsx +0 -56
  275. lyrics_transcriber/frontend/src/components/shared/components/Word.tsx +0 -89
  276. lyrics_transcriber/frontend/src/components/shared/constants.ts +0 -30
  277. lyrics_transcriber/frontend/src/components/shared/hooks/useWordClick.ts +0 -180
  278. lyrics_transcriber/frontend/src/components/shared/styles.ts +0 -13
  279. lyrics_transcriber/frontend/src/components/shared/types.js +0 -2
  280. lyrics_transcriber/frontend/src/components/shared/types.ts +0 -135
  281. lyrics_transcriber/frontend/src/components/shared/utils/keyboardHandlers.ts +0 -177
  282. lyrics_transcriber/frontend/src/components/shared/utils/localStorage.ts +0 -78
  283. lyrics_transcriber/frontend/src/components/shared/utils/referenceLineCalculator.ts +0 -75
  284. lyrics_transcriber/frontend/src/components/shared/utils/segmentOperations.ts +0 -360
  285. lyrics_transcriber/frontend/src/components/shared/utils/timingUtils.ts +0 -110
  286. lyrics_transcriber/frontend/src/components/shared/utils/wordUtils.ts +0 -22
  287. lyrics_transcriber/frontend/src/hooks/useManualSync.ts +0 -537
  288. lyrics_transcriber/frontend/src/main.tsx +0 -11
  289. lyrics_transcriber/frontend/src/theme.ts +0 -406
  290. lyrics_transcriber/frontend/src/types/global.d.ts +0 -9
  291. lyrics_transcriber/frontend/src/types.js +0 -2
  292. lyrics_transcriber/frontend/src/types.ts +0 -199
  293. lyrics_transcriber/frontend/src/validation.ts +0 -132
  294. lyrics_transcriber/frontend/src/vite-env.d.ts +0 -1
  295. lyrics_transcriber/frontend/tsconfig.app.json +0 -26
  296. lyrics_transcriber/frontend/tsconfig.json +0 -25
  297. lyrics_transcriber/frontend/tsconfig.node.json +0 -23
  298. lyrics_transcriber/frontend/tsconfig.tsbuildinfo +0 -1
  299. lyrics_transcriber/frontend/update_version.js +0 -11
  300. lyrics_transcriber/frontend/vite.config.d.ts +0 -2
  301. lyrics_transcriber/frontend/vite.config.js +0 -15
  302. lyrics_transcriber/frontend/vite.config.ts +0 -16
  303. lyrics_transcriber/frontend/web_assets/android-chrome-192x192.png +0 -0
  304. lyrics_transcriber/frontend/web_assets/android-chrome-512x512.png +0 -0
  305. lyrics_transcriber/frontend/web_assets/apple-touch-icon.png +0 -0
  306. lyrics_transcriber/frontend/web_assets/assets/index-BSMgOq4Z.js +0 -44465
  307. lyrics_transcriber/frontend/web_assets/assets/index-BSMgOq4Z.js.map +0 -1
  308. lyrics_transcriber/frontend/web_assets/favicon-16x16.png +0 -0
  309. lyrics_transcriber/frontend/web_assets/favicon-32x32.png +0 -0
  310. lyrics_transcriber/frontend/web_assets/favicon.ico +0 -0
  311. lyrics_transcriber/frontend/web_assets/index.html +0 -22
  312. lyrics_transcriber/frontend/web_assets/nomad-karaoke-logo.png +0 -0
  313. lyrics_transcriber/frontend/web_assets/nomad-karaoke-logo.svg +0 -5
  314. lyrics_transcriber/frontend/yarn.lock +0 -3711
  315. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/apple-touch-icon.png +0 -0
  316. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/favicon-16x16.png +0 -0
  317. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/favicon-32x32.png +0 -0
  318. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/favicon.ico +0 -0
  319. {lyrics_transcriber/frontend/public → karaoke_gen/nextjs_frontend/out}/nomad-karaoke-logo.svg +0 -0
  320. /lyrics_transcriber/frontend/public/nomad-karaoke-logo.png → /karaoke_gen/nextjs_frontend/out/nomad-logo.png +0 -0
  321. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/entry_points.txt +0 -0
  322. {karaoke_gen-0.105.4.dist-info → karaoke_gen-0.107.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,5 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,48425,e=>{"use strict";var t=e.i(71645),n=e.i(74080),r=e.i(91918),o=e.i(43476),i=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce((e,n)=>{let i=t.forwardRef((e,t)=>{let{asChild:i,...a}=e,u=i?r.Slot:n;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(u,{...a,ref:t})});return i.displayName=`Primitive.${n}`,{...e,[n]:i}},{});function a(e,t){e&&n.flushSync(()=>e.dispatchEvent(t))}e.s(["Primitive",()=>i,"dispatchDiscreteCustomEvent",()=>a])},81140,30030,e=>{"use strict";function t(e,n,{checkForDefaultPrevented:r=!0}={}){return function(t){if(e?.(t),!1===r||!t.defaultPrevented)return n?.(t)}}e.s(["composeEventHandlers",()=>t],81140);var n=e.i(71645),r=e.i(43476);function o(e,t){let o=n.createContext(t),i=e=>{let{children:t,...i}=e,a=n.useMemo(()=>i,Object.values(i));return(0,r.jsx)(o.Provider,{value:a,children:t})};return i.displayName=e+"Provider",[i,function(r){let i=n.useContext(o);if(i)return i;if(void 0!==t)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}]}function i(e,t=[]){let o=[],a=()=>{let t=o.map(e=>n.createContext(e));return function(r){let o=r?.[e]||t;return n.useMemo(()=>({[`__scope${e}`]:{...r,[e]:o}}),[r,o])}};return a.scopeName=e,[function(t,i){let a=n.createContext(i),u=o.length;o=[...o,i];let c=t=>{let{scope:o,children:i,...c}=t,s=o?.[e]?.[u]||a,l=n.useMemo(()=>c,Object.values(c));return(0,r.jsx)(s.Provider,{value:l,children:i})};return c.displayName=t+"Provider",[c,function(r,o){let c=o?.[e]?.[u]||a,s=n.useContext(c);if(s)return s;if(void 0!==i)return i;throw Error(`\`${r}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let o=r.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return n.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}(a,...t)]}e.s(["createContext",()=>o,"createContextScope",()=>i],30030)},10772,34620,e=>{"use strict";var t=e.i(71645),n=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useLayoutEffect",()=>n],34620);var r=t["useId".toString()]||(()=>void 0),o=0;function i(e){let[i,a]=t.useState(r());return n(()=>{e||a(e=>e??String(o++))},[e]),e||(i?`radix-${i}`:"")}e.s(["useId",()=>i],10772)},30207,e=>{"use strict";var t=e.i(71645);function n(e){let n=t.useRef(e);return t.useEffect(()=>{n.current=e}),t.useMemo(()=>(...e)=>n.current?.(...e),[])}e.s(["useCallbackRef",()=>n])},69340,e=>{"use strict";var t=e.i(71645),n=e.i(30207);function r({prop:e,defaultProp:r,onChange:o=()=>{}}){let[i,a]=function({defaultProp:e,onChange:r}){let o=t.useState(e),[i]=o,a=t.useRef(i),u=(0,n.useCallbackRef)(r);return t.useEffect(()=>{a.current!==i&&(u(i),a.current=i)},[i,a,u]),o}({defaultProp:r,onChange:o}),u=void 0!==e,c=u?e:i,s=(0,n.useCallbackRef)(o);return[c,t.useCallback(t=>{if(u){let n="function"==typeof t?t(e):t;n!==e&&s(n)}else a(t)},[u,e,a,s])]}e.s(["useControllableState",()=>r])},26330,e=>{"use strict";var t,n=e.i(71645),r=e.i(81140),o=e.i(48425),i=e.i(20783),a=e.i(30207),u=e.i(43476),c="dismissableLayer.update",s=n.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),l=n.forwardRef((e,l)=>{let{disableOutsidePointerEvents:p=!1,onEscapeKeyDown:v,onPointerDownOutside:m,onFocusOutside:h,onInteractOutside:g,onDismiss:y,...E}=e,b=n.useContext(s),[w,C]=n.useState(null),R=w?.ownerDocument??globalThis?.document,[,N]=n.useState({}),S=(0,i.useComposedRefs)(l,e=>C(e)),P=Array.from(b.layers),[x]=[...b.layersWithOutsidePointerEventsDisabled].slice(-1),O=P.indexOf(x),D=w?P.indexOf(w):-1,T=b.layersWithOutsidePointerEventsDisabled.size>0,L=D>=O,M=function(e,t=globalThis?.document){let r=(0,a.useCallbackRef)(e),o=n.useRef(!1),i=n.useRef(()=>{});return n.useEffect(()=>{let e=e=>{if(e.target&&!o.current){let n=function(){f("dismissableLayer.pointerDownOutside",r,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",i.current),i.current=n,t.addEventListener("click",i.current,{once:!0})):n()}else t.removeEventListener("click",i.current);o.current=!1},n=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(n),t.removeEventListener("pointerdown",e),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>o.current=!0}}(e=>{let t=e.target,n=[...b.branches].some(e=>e.contains(t));L&&!n&&(m?.(e),g?.(e),e.defaultPrevented||y?.())},R),k=function(e,t=globalThis?.document){let r=(0,a.useCallbackRef)(e),o=n.useRef(!1);return n.useEffect(()=>{let e=e=>{e.target&&!o.current&&f("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}(e=>{let t=e.target;![...b.branches].some(e=>e.contains(t))&&(h?.(e),g?.(e),e.defaultPrevented||y?.())},R);return!function(e,t=globalThis?.document){let r=(0,a.useCallbackRef)(e);n.useEffect(()=>{let e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{D===b.layers.size-1&&(v?.(e),!e.defaultPrevented&&y&&(e.preventDefault(),y()))},R),n.useEffect(()=>{if(w)return p&&(0===b.layersWithOutsidePointerEventsDisabled.size&&(t=R.body.style.pointerEvents,R.body.style.pointerEvents="none"),b.layersWithOutsidePointerEventsDisabled.add(w)),b.layers.add(w),d(),()=>{p&&1===b.layersWithOutsidePointerEventsDisabled.size&&(R.body.style.pointerEvents=t)}},[w,R,p,b]),n.useEffect(()=>()=>{w&&(b.layers.delete(w),b.layersWithOutsidePointerEventsDisabled.delete(w),d())},[w,b]),n.useEffect(()=>{let e=()=>N({});return document.addEventListener(c,e),()=>document.removeEventListener(c,e)},[]),(0,u.jsx)(o.Primitive.div,{...E,ref:S,style:{pointerEvents:T?L?"auto":"none":void 0,...e.style},onFocusCapture:(0,r.composeEventHandlers)(e.onFocusCapture,k.onFocusCapture),onBlurCapture:(0,r.composeEventHandlers)(e.onBlurCapture,k.onBlurCapture),onPointerDownCapture:(0,r.composeEventHandlers)(e.onPointerDownCapture,M.onPointerDownCapture)})});function d(){let e=new CustomEvent(c);document.dispatchEvent(e)}function f(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?(0,o.dispatchDiscreteCustomEvent)(i,a):i.dispatchEvent(a)}l.displayName="DismissableLayer",n.forwardRef((e,t)=>{let r=n.useContext(s),a=n.useRef(null),c=(0,i.useComposedRefs)(t,a);return n.useEffect(()=>{let e=a.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,u.jsx)(o.Primitive.div,{...e,ref:c})}).displayName="DismissableLayerBranch",e.s(["DismissableLayer",()=>l],26330)},65491,e=>{"use strict";let t;var n=e.i(71645),r=e.i(20783),o=e.i(48425),i=e.i(30207),a=e.i(43476),u="focusScope.autoFocusOnMount",c="focusScope.autoFocusOnUnmount",s={bubbles:!1,cancelable:!0},l=n.forwardRef((e,t)=>{let{loop:l=!1,trapped:m=!1,onMountAutoFocus:h,onUnmountAutoFocus:g,...y}=e,[E,b]=n.useState(null),w=(0,i.useCallbackRef)(h),C=(0,i.useCallbackRef)(g),R=n.useRef(null),N=(0,r.useComposedRefs)(t,e=>b(e)),S=n.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;n.useEffect(()=>{if(m){let e=function(e){if(S.paused||!E)return;let t=e.target;E.contains(t)?R.current=t:p(R.current,{select:!0})},t=function(e){if(S.paused||!E)return;let t=e.relatedTarget;null!==t&&(E.contains(t)||p(R.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let n=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&p(E)});return E&&n.observe(E,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[m,E,S.paused]),n.useEffect(()=>{if(E){v.add(S);let e=document.activeElement;if(!E.contains(e)){let t=new CustomEvent(u,s);E.addEventListener(u,w),E.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(p(r,{select:t}),document.activeElement!==n)return}(d(E).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&p(E))}return()=>{E.removeEventListener(u,w),setTimeout(()=>{let t=new CustomEvent(c,s);E.addEventListener(c,C),E.dispatchEvent(t),t.defaultPrevented||p(e??document.body,{select:!0}),E.removeEventListener(c,C),v.remove(S)},0)}}},[E,w,C,S]);let P=n.useCallback(e=>{if(!l&&!m||S.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){var r;let t,o=e.currentTarget,[i,a]=[f(t=d(r=o),r),f(t.reverse(),r)];i&&a?e.shiftKey||n!==a?e.shiftKey&&n===i&&(e.preventDefault(),l&&p(a,{select:!0})):(e.preventDefault(),l&&p(i,{select:!0})):n===o&&e.preventDefault()}},[l,m,S.paused]);return(0,a.jsx)(o.Primitive.div,{tabIndex:-1,...y,ref:N,onKeyDown:P})});function d(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function f(e,t){for(let n of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(n,{upTo:t}))return n}function p(e,{select:t=!1}={}){if(e&&e.focus){var n;let r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&(n=e)instanceof HTMLInputElement&&"select"in n&&t&&e.select()}}l.displayName="FocusScope";var v=(t=[],{add(e){let n=t[0];e!==n&&n?.pause(),(t=m(t,e)).unshift(e)},remove(e){t=m(t,e),t[0]?.resume()}});function m(e,t){let n=[...e],r=n.indexOf(t);return -1!==r&&n.splice(r,1),n}e.s(["FocusScope",()=>l])},74606,e=>{"use strict";var t=e.i(71645),n=e.i(74080),r=e.i(48425),o=e.i(34620),i=e.i(43476),a=t.forwardRef((e,a)=>{let{container:u,...c}=e,[s,l]=t.useState(!1);(0,o.useLayoutEffect)(()=>l(!0),[]);let d=u||s&&globalThis?.document?.body;return d?n.default.createPortal((0,i.jsx)(r.Primitive.div,{...c,ref:a}),d):null});a.displayName="Portal",e.s(["Portal",()=>a])},96626,e=>{"use strict";var t=e.i(71645),n=e.i(20783),r=e.i(34620),o=e=>{var o;let a,u,{present:c,children:s}=e,l=function(e){var n,o;let[a,u]=t.useState(),c=t.useRef({}),s=t.useRef(e),l=t.useRef("none"),[d,f]=(n=e?"mounted":"unmounted",o={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>o[e][t]??e,n));return t.useEffect(()=>{let e=i(c.current);l.current="mounted"===d?e:"none"},[d]),(0,r.useLayoutEffect)(()=>{let t=c.current,n=s.current;if(n!==e){let r=l.current,o=i(t);e?f("MOUNT"):"none"===o||t?.display==="none"?f("UNMOUNT"):n&&r!==o?f("ANIMATION_OUT"):f("UNMOUNT"),s.current=e}},[e,f]),(0,r.useLayoutEffect)(()=>{if(a){let e,t=a.ownerDocument.defaultView??window,n=n=>{let r=i(c.current).includes(n.animationName);if(n.target===a&&r&&(f("ANIMATION_END"),!s.current)){let n=a.style.animationFillMode;a.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===a.style.animationFillMode&&(a.style.animationFillMode=n)})}},r=e=>{e.target===a&&(l.current=i(c.current))};return a.addEventListener("animationstart",r),a.addEventListener("animationcancel",n),a.addEventListener("animationend",n),()=>{t.clearTimeout(e),a.removeEventListener("animationstart",r),a.removeEventListener("animationcancel",n),a.removeEventListener("animationend",n)}}f("ANIMATION_END")},[a,f]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:t.useCallback(e=>{e&&(c.current=getComputedStyle(e)),u(e)},[])}}(c),d="function"==typeof s?s({present:l.isPresent}):t.Children.only(s),f=(0,n.useComposedRefs)(l.ref,(o=d,(u=(a=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?o.ref:(u=(a=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?o.props.ref:o.props.ref||o.ref));return"function"==typeof s||l.isPresent?t.cloneElement(d,{ref:f}):null};function i(e){return e?.animationName||"none"}o.displayName="Presence",e.s(["Presence",()=>o])},3536,e=>{"use strict";var t=e.i(71645),n=0;function r(){t.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??o()),document.body.insertAdjacentElement("beforeend",e[1]??o()),n++,()=>{1===n&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),n--}},[])}function o(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}e.s(["useFocusGuards",()=>r])},85369,e=>{"use strict";var t,n,r,o,i,a,u,c=function(){return(c=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function s(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}var l=("function"==typeof SuppressedError&&SuppressedError,e.i(71645)),d="right-scroll-bar-position",f="width-before-scroll-bar";function p(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var v="undefined"!=typeof window?l.useLayoutEffect:l.useEffect,m=new WeakMap,h=(void 0===t&&(t={}),(void 0===n&&(n=function(e){return e}),r=[],o=!1,i={read:function(){if(o)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:null},useMedium:function(e){var t=n(e,o);return r.push(t),function(){r=r.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(o=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){o=!0;var t=[];if(r.length){var n=r;r=[],n.forEach(e),t=r}var i=function(){var n=t;t=[],n.forEach(e)},a=function(){return Promise.resolve().then(i)};a(),r={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),r}}}}).options=c({async:!0,ssr:!1},t),i),g=function(){},y=l.forwardRef(function(e,t){var n,r,o,i,a=l.useRef(null),u=l.useState({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:g}),d=u[0],f=u[1],y=e.forwardProps,E=e.children,b=e.className,w=e.removeScrollBar,C=e.enabled,R=e.shards,N=e.sideCar,S=e.noRelative,P=e.noIsolation,x=e.inert,O=e.allowPinchZoom,D=e.as,T=e.gapMode,L=s(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),M=(n=[a,t],r=function(e){return n.forEach(function(t){return p(t,e)})},(o=(0,l.useState)(function(){return{value:null,callback:r,facade:{get current(){return o.value},set current(value){var e=o.value;e!==value&&(o.value=value,o.callback(value,e))}}}})[0]).callback=r,i=o.facade,v(function(){var e=m.get(i);if(e){var t=new Set(e),r=new Set(n),o=i.current;t.forEach(function(e){r.has(e)||p(e,null)}),r.forEach(function(e){t.has(e)||p(e,o)})}m.set(i,n)},[n]),i),k=c(c({},L),d);return l.createElement(l.Fragment,null,C&&l.createElement(N,{sideCar:h,removeScrollBar:w,shards:R,noRelative:S,noIsolation:P,inert:x,setCallbacks:f,allowPinchZoom:!!O,lockRef:a,gapMode:T}),y?l.cloneElement(l.Children.only(E),c(c({},k),{ref:M})):l.createElement(void 0===D?"div":D,c({},k,{className:b,ref:M}),E))});y.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},y.classNames={fullWidth:f,zeroRight:d};var E=function(e){var t=e.sideCar,n=s(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error("Sidecar medium not found");return l.createElement(r,c({},n))};E.isSideCarExport=!0;var b=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=u||("undefined"!=typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var r,o;(r=t).styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n)),o=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(o)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},w=function(){var e=b();return function(t,n){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},C=function(){var e=w();return function(t){return e(t.styles,t.dynamic),null}},R={left:0,top:0,right:0,gap:0},N=function(e){return parseInt(e||"",10)||0},S=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[N(n),N(r),N(o)]},P=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return R;var t=S(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},x=C(),O="data-scroll-locked",D=function(e,t,n,r){var o=e.left,i=e.top,a=e.right,u=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(u,"px ").concat(r,";\n }\n body[").concat(O,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(i,"px;\n padding-right: ").concat(a,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(u,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(u,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(d," {\n right: ").concat(u,"px ").concat(r,";\n }\n \n .").concat(f," {\n margin-right: ").concat(u,"px ").concat(r,";\n }\n \n .").concat(d," .").concat(d," {\n right: 0 ").concat(r,";\n }\n \n .").concat(f," .").concat(f," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(O,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(u,"px;\n }\n")},T=function(){var e=parseInt(document.body.getAttribute(O)||"0",10);return isFinite(e)?e:0},L=function(){l.useEffect(function(){return document.body.setAttribute(O,(T()+1).toString()),function(){var e=T()-1;e<=0?document.body.removeAttribute(O):document.body.setAttribute(O,e.toString())}},[])},M=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=void 0===r?"margin":r;L();var i=l.useMemo(function(){return P(o)},[o]);return l.createElement(x,{styles:D(i,!t,o,n?"":"!important")})},k=!1;if("undefined"!=typeof window)try{var A=Object.defineProperty({},"passive",{get:function(){return k=!0,!0}});window.addEventListener("test",A,A),window.removeEventListener("test",A,A)}catch(e){k=!1}var I=!!k&&{passive:!1},j=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&(n.overflowY!==n.overflowX||"TEXTAREA"===e.tagName||"visible"!==n[t])},F=function(e,t){var n=t.ownerDocument,r=t;do{if("undefined"!=typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),_(e,r)){var o=W(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body)return!1},_=function(e,t){return"v"===e?j(t,"overflowY"):j(t,"overflowX")},W=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},B=function(e,t,n,r,o){var i,a=(i=window.getComputedStyle(t).direction,"h"===e&&"rtl"===i?-1:1),u=a*r,c=n.target,s=t.contains(c),l=!1,d=u>0,f=0,p=0;do{if(!c)break;var v=W(e,c),m=v[0],h=v[1]-v[2]-a*m;(m||h)&&_(e,c)&&(f+=h,p+=m);var g=c.parentNode;c=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!s&&c!==document.body||s&&(t.contains(c)||t===c))return d&&(o&&1>Math.abs(f)||!o&&u>f)?l=!0:!d&&(o&&1>Math.abs(p)||!o&&-u>p)&&(l=!0),l},U=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},H=function(e){return[e.deltaX,e.deltaY]},$=function(e){return e&&"current"in e?e.current:e},K=0,X=[];let Y=(a=function(e){var t=l.useRef([]),n=l.useRef([0,0]),r=l.useRef(),o=l.useState(K++)[0],i=l.useState(C)[0],a=l.useRef(e);l.useEffect(function(){a.current=e},[e]),l.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=(function(e,t,n){if(n||2==arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map($),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var u=l.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!a.current.allowPinchZoom;var o,i=U(e),u=n.current,c="deltaX"in e?e.deltaX:u[0]-i[0],s="deltaY"in e?e.deltaY:u[1]-i[1],l=e.target,d=Math.abs(c)>Math.abs(s)?"h":"v";if("touches"in e&&"h"===d&&"range"===l.type)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===l||p.contains(l)))return!1;var v=F(d,l);if(!v)return!0;if(v?o=d:(o="v"===d?"h":"v",v=F(d,l)),!v)return!1;if(!r.current&&"changedTouches"in e&&(c||s)&&(r.current=o),!o)return!0;var m=r.current||o;return B(m,t,e,"h"===m?c:s,!0)},[]),c=l.useCallback(function(e){if(X.length&&X[X.length-1]===i){var n="deltaY"in e?H(e):U(e),r=t.current.filter(function(t){var r;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(r=t.delta,r[0]===n[0]&&r[1]===n[1])})[0];if(r&&r.should){e.cancelable&&e.preventDefault();return}if(!r){var o=(a.current.shards||[]).map($).filter(Boolean).filter(function(t){return t.contains(e.target)});(o.length>0?u(e,o[0]):!a.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),s=l.useCallback(function(e,n,r,o){var i={name:e,delta:n,target:r,should:o,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(r)};t.current.push(i),setTimeout(function(){t.current=t.current.filter(function(e){return e!==i})},1)},[]),d=l.useCallback(function(e){n.current=U(e),r.current=void 0},[]),f=l.useCallback(function(t){s(t.type,H(t),t.target,u(t,e.lockRef.current))},[]),p=l.useCallback(function(t){s(t.type,U(t),t.target,u(t,e.lockRef.current))},[]);l.useEffect(function(){return X.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",c,I),document.addEventListener("touchmove",c,I),document.addEventListener("touchstart",d,I),function(){X=X.filter(function(e){return e!==i}),document.removeEventListener("wheel",c,I),document.removeEventListener("touchmove",c,I),document.removeEventListener("touchstart",d,I)}},[]);var v=e.removeScrollBar,m=e.inert;return l.createElement(l.Fragment,null,m?l.createElement(i,{styles:"\n .block-interactivity-".concat(o," {pointer-events: none;}\n .allow-interactivity-").concat(o," {pointer-events: all;}\n")}):null,v?l.createElement(M,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},h.useMedium(a),E);var z=l.forwardRef(function(e,t){return l.createElement(y,c({},e,{ref:t,sideCar:Y}))});z.classNames=y.classNames,e.s(["RemoveScroll",0,z],85369)},86312,e=>{"use strict";var t=new WeakMap,n=new WeakMap,r={},o=0,i=function(e){return e&&(e.host||i(e.parentNode))},a=function(e,a,u,c){var s=(Array.isArray(e)?e:[e]).map(function(e){if(a.contains(e))return e;var t=i(e);return t&&a.contains(t)?t:(console.error("aria-hidden",e,"in not contained inside",a,". Doing nothing"),null)}).filter(function(e){return!!e});r[u]||(r[u]=new WeakMap);var l=r[u],d=[],f=new Set,p=new Set(s),v=function(e){!e||f.has(e)||(f.add(e),v(e.parentNode))};s.forEach(v);var m=function(e){!e||p.has(e)||Array.prototype.forEach.call(e.children,function(e){if(f.has(e))m(e);else try{var r=e.getAttribute(c),o=null!==r&&"false"!==r,i=(t.get(e)||0)+1,a=(l.get(e)||0)+1;t.set(e,i),l.set(e,a),d.push(e),1===i&&o&&n.set(e,!0),1===a&&e.setAttribute(u,"true"),o||e.setAttribute(c,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return m(a),f.clear(),o++,function(){d.forEach(function(e){var r=t.get(e)-1,o=l.get(e)-1;t.set(e,r),l.set(e,o),r||(n.has(e)||e.removeAttribute(c),n.delete(e)),o||e.removeAttribute(u)}),--o||(t=new WeakMap,t=new WeakMap,n=new WeakMap,r={})}},u=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||("undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),a(r,o,n,"aria-hidden")):function(){return null}};e.s(["hideOthers",()=>u])},26999,e=>{"use strict";var t=e.i(71645),n=e.i(81140),r=e.i(20783),o=e.i(30030),i=e.i(10772),a=e.i(69340),u=e.i(26330),c=e.i(65491),s=e.i(74606),l=e.i(96626),d=e.i(48425),f=e.i(3536),p=e.i(85369),v=e.i(86312),m=e.i(91918),h=e.i(43476),g="Dialog",[y,E]=(0,o.createContextScope)(g),[b,w]=y(g),C=e=>{let{__scopeDialog:n,children:r,open:o,defaultOpen:u,onOpenChange:c,modal:s=!0}=e,l=t.useRef(null),d=t.useRef(null),[f=!1,p]=(0,a.useControllableState)({prop:o,defaultProp:u,onChange:c});return(0,h.jsx)(b,{scope:n,triggerRef:l,contentRef:d,contentId:(0,i.useId)(),titleId:(0,i.useId)(),descriptionId:(0,i.useId)(),open:f,onOpenChange:p,onOpenToggle:t.useCallback(()=>p(e=>!e),[p]),modal:s,children:r})};C.displayName=g;var R="DialogTrigger",N=t.forwardRef((e,t)=>{let{__scopeDialog:o,...i}=e,a=w(R,o),u=(0,r.useComposedRefs)(t,a.triggerRef);return(0,h.jsx)(d.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":$(a.open),...i,ref:u,onClick:(0,n.composeEventHandlers)(e.onClick,a.onOpenToggle)})});N.displayName=R;var S="DialogPortal",[P,x]=y(S,{forceMount:void 0}),O=e=>{let{__scopeDialog:n,forceMount:r,children:o,container:i}=e,a=w(S,n);return(0,h.jsx)(P,{scope:n,forceMount:r,children:t.Children.map(o,e=>(0,h.jsx)(l.Presence,{present:r||a.open,children:(0,h.jsx)(s.Portal,{asChild:!0,container:i,children:e})}))})};O.displayName=S;var D="DialogOverlay",T=t.forwardRef((e,t)=>{let n=x(D,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=w(D,e.__scopeDialog);return i.modal?(0,h.jsx)(l.Presence,{present:r||i.open,children:(0,h.jsx)(L,{...o,ref:t})}):null});T.displayName=D;var L=t.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=w(D,n);return(0,h.jsx)(p.RemoveScroll,{as:m.Slot,allowPinchZoom:!0,shards:[o.contentRef],children:(0,h.jsx)(d.Primitive.div,{"data-state":$(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),M="DialogContent",k=t.forwardRef((e,t)=>{let n=x(M,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,i=w(M,e.__scopeDialog);return(0,h.jsx)(l.Presence,{present:r||i.open,children:i.modal?(0,h.jsx)(A,{...o,ref:t}):(0,h.jsx)(I,{...o,ref:t})})});k.displayName=M;var A=t.forwardRef((e,o)=>{let i=w(M,e.__scopeDialog),a=t.useRef(null),u=(0,r.useComposedRefs)(o,i.contentRef,a);return t.useEffect(()=>{let e=a.current;if(e)return(0,v.hideOthers)(e)},[]),(0,h.jsx)(j,{...e,ref:u,trapFocus:i.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),i.triggerRef.current?.focus()}),onPointerDownOutside:(0,n.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:(0,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),I=t.forwardRef((e,n)=>{let r=w(M,e.__scopeDialog),o=t.useRef(!1),i=t.useRef(!1);return(0,h.jsx)(j,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||r.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(i.current=!0));let n=t.target;r.triggerRef.current?.contains(n)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&i.current&&t.preventDefault()}})}),j=t.forwardRef((e,n)=>{let{__scopeDialog:o,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:s,...l}=e,d=w(M,o),p=t.useRef(null),v=(0,r.useComposedRefs)(n,p);return(0,f.useFocusGuards)(),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(c.FocusScope,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:a,onUnmountAutoFocus:s,children:(0,h.jsx)(u.DismissableLayer,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":$(d.open),...l,ref:v,onDismiss:()=>d.onOpenChange(!1)})}),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(z,{titleId:d.titleId}),(0,h.jsx)(Z,{contentRef:p,descriptionId:d.descriptionId})]})]})}),F="DialogTitle",_=t.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=w(F,n);return(0,h.jsx)(d.Primitive.h2,{id:o.titleId,...r,ref:t})});_.displayName=F;var W="DialogDescription",B=t.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=w(W,n);return(0,h.jsx)(d.Primitive.p,{id:o.descriptionId,...r,ref:t})});B.displayName=W;var U="DialogClose",H=t.forwardRef((e,t)=>{let{__scopeDialog:r,...o}=e,i=w(U,r);return(0,h.jsx)(d.Primitive.button,{type:"button",...o,ref:t,onClick:(0,n.composeEventHandlers)(e.onClick,()=>i.onOpenChange(!1))})});function $(e){return e?"open":"closed"}H.displayName=U;var K="DialogTitleWarning",[X,Y]=(0,o.createContext)(K,{contentName:M,titleName:F,docsSlug:"dialog"}),z=({titleId:e})=>{let n=Y(K),r=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users.
2
+
3
+ If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component.
4
+
5
+ For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return t.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},Z=({contentRef:e,descriptionId:n})=>{let r=Y("DialogDescriptionWarning"),o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r.contentName}}.`;return t.useEffect(()=>{let t=e.current?.getAttribute("aria-describedby");n&&t&&(document.getElementById(n)||console.warn(o))},[o,e,n]),null};e.s(["Close",()=>H,"Content",()=>k,"Description",()=>B,"Overlay",()=>T,"Portal",()=>O,"Root",()=>C,"Title",()=>_,"Trigger",()=>N,"WarningProvider",()=>X,"createDialogScope",()=>E])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},16715,e=>{"use strict";let t=(0,e.i(75254).default)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},94179,e=>{"use strict";var t=e.i(43476),r=e.i(91918),n=e.i(25913),o=e.i(47163);let a=(0,n.cva)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:n,asChild:i=!1,...s}){let l=i?r.Slot:"span";return(0,t.jsx)(l,{"data-slot":"badge",className:(0,o.cn)(a({variant:n}),e),...s})}e.s(["Badge",()=>i])},70065,e=>{"use strict";var t=e.i(43476),r=e.i(47163);function n({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,r.cn)("bg-card text-card-foreground flex flex-col gap-1 rounded-lg border shadow-sm",e),...n})}function o({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...n})}function a({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("leading-none font-semibold",e),...n})}function i({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,r.cn)("text-muted-foreground text-sm",e),...n})}function s({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-6",e),...n})}e.s(["Card",()=>n,"CardContent",()=>s,"CardDescription",()=>i,"CardHeader",()=>o,"CardTitle",()=>a])},27612,e=>{"use strict";let t=(0,e.i(75254).default)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);e.s(["Trash2",()=>t],27612)},10708,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(48425),o=r.forwardRef((e,r)=>(0,t.jsx)(n.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));o.displayName="Label";var a=e.i(47163);function i({className:e,...r}){return(0,t.jsx)(o,{"data-slot":"label",className:(0,a.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...r})}e.s(["Label",()=>i],10708)},30374,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(26999),o=e.i(37727),a=e.i(47163);let i=n.Root,s=n.Trigger,l=n.Portal;n.Close;let u=r.forwardRef(({className:e,...r},o)=>(0,t.jsx)(n.Overlay,{ref:o,className:"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",...r}));u.displayName=n.Overlay.displayName;let c=r.forwardRef(({className:e,children:r,...i},s)=>(0,t.jsxs)(l,{children:[(0,t.jsx)(u,{}),(0,t.jsxs)(n.Content,{ref:s,className:(0,a.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...i,children:[r,(0,t.jsxs)(n.Close,{className:"absolute right-3 top-2.5 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,t.jsx)(o.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));c.displayName=n.Content.displayName;let d=({className:e,...r})=>(0,t.jsx)("div",{className:"flex flex-col space-y-1.5 text-center sm:text-left",...r});d.displayName="DialogHeader";let f=({className:e,...r})=>(0,t.jsx)("div",{className:"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",...r});f.displayName="DialogFooter";let p=r.forwardRef(({className:e,...r},o)=>(0,t.jsx)(n.Title,{ref:o,className:(0,a.cn)("text-lg font-semibold leading-none tracking-tight",e),...r}));p.displayName=n.Title.displayName;let h=r.forwardRef(({className:e,...r},o)=>(0,t.jsx)(n.Description,{ref:o,className:"text-sm text-muted-foreground",...r}));h.displayName=n.Description.displayName,e.s(["Dialog",()=>i,"DialogContent",()=>c,"DialogDescription",()=>h,"DialogFooter",()=>f,"DialogHeader",()=>d,"DialogTitle",()=>p,"DialogTrigger",()=>s])},7233,e=>{"use strict";let t=(0,e.i(75254).default)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},73375,e=>{"use strict";let t=(0,e.i(75254).default)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],73375)},91799,97250,34080,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);e.s(["Moon",()=>r],91799);let n=(0,t.default)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",()=>n],97250);var o=e.i(71645);let a="nomad-karaoke-theme";function i(){let[e,t]=(0,o.useState)("dark"),[r,n]=(0,o.useState)(!1);(0,o.useEffect)(()=>{n(!0);let e=localStorage.getItem(a);"light"===e||"dark"===e?(t(e),i(e)):i("dark")},[]);let i=e=>{let t=document.documentElement;"light"===e?t.classList.add("light"):t.classList.remove("light")},s=(0,o.useCallback)(e=>{t(e),localStorage.setItem(a,e),i(e)},[]),l=(0,o.useCallback)(()=>{s("dark"===e?"light":"dark")},[e,s]),u="dark"===e;return{theme:e,setTheme:s,toggleTheme:l,isDarkMode:u,mounted:r}}e.s(["useTheme",()=>i],34080)},69638,e=>{"use strict";let t=(0,e.i(75254).default)("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);e.s(["CheckCircle",()=>t],69638)},73884,e=>{"use strict";let t=(0,e.i(75254).default)("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",()=>t],73884)},63209,e=>{"use strict";let t=(0,e.i(75254).default)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],63209)},67240,e=>{"use strict";let t=(0,e.i(75254).default)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",()=>t],67240)},74886,e=>{"use strict";let t=(0,e.i(75254).default)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],74886)},3116,e=>{"use strict";let t=(0,e.i(75254).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);e.s(["Clock",()=>t],3116)},55436,e=>{"use strict";let t=(0,e.i(75254).default)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);e.s(["Search",()=>t],55436)},31278,17521,e=>{"use strict";let t=(0,e.i(75254).default)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["default",()=>t],17521),e.s(["Loader2",()=>t],31278)},18566,(e,t,r)=>{t.exports=e.r(76562)},23750,e=>{"use strict";var t=e.i(43476),r=e.i(47163);function n({className:e,type:n,...o}){return(0,t.jsx)("input",{type:n,"data-slot":"input",className:(0,r.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...o})}e.s(["Input",()=>n])},71689,e=>{"use strict";let t=(0,e.i(75254).default)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],71689)},69074,e=>{"use strict";let t=(0,e.i(75254).default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);e.s(["Upload",()=>t],69074)},43531,e=>{"use strict";var t=e.i(78745);e.s(["Check",()=>t.default])},86311,e=>{"use strict";let t=(0,e.i(75254).default)("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);e.s(["MessageSquare",()=>t],86311)},78716,e=>{"use strict";let t=(0,e.i(75254).default)("Video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]);e.s(["Video",()=>t],78716)},83086,e=>{"use strict";let t=(0,e.i(75254).default)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);e.s(["Sparkles",()=>t],83086)},62474,e=>{"use strict";var t=e.i(43476),r=e.i(91799),n=e.i(97250),o=e.i(34080),a=e.i(67881);function i(){let{theme:e,toggleTheme:i,mounted:s}=(0,o.useTheme)();return s?(0,t.jsxs)(a.Button,{variant:"ghost",size:"icon",onClick:i,className:"w-9 h-9",title:`Switch to ${"dark"===e?"light":"dark"} mode`,children:["dark"===e?(0,t.jsx)(n.Sun,{className:"h-5 w-5 text-muted-foreground hover:text-foreground transition-colors"}):(0,t.jsx)(r.Moon,{className:"h-5 w-5 text-muted-foreground hover:text-foreground transition-colors"}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})]}):(0,t.jsx)(a.Button,{variant:"ghost",size:"icon",className:"w-9 h-9",children:(0,t.jsx)("span",{className:"sr-only",children:"Toggle theme"})})}e.s(["ThemeToggle",()=>i])},42727,e=>{"use strict";var t=e.i(71645),r=e.i(81140),n=e.i(75830),o=e.i(20783),a=e.i(30030),i=e.i(10772),s=e.i(48425),l=e.i(30207),u=e.i(69340),c=e.i(86318),d=e.i(43476),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[g,m,y]=(0,n.createCollection)(h),[v,x]=(0,a.createContextScope)(h,[y]),[b,k]=v(h),w=t.forwardRef((e,t)=>(0,d.jsx)(g.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(g.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(C,{...e,ref:t})})}));w.displayName=h;var C=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:a,orientation:i,loop:h=!1,dir:g,currentTabStopId:y,defaultCurrentTabStopId:v,onCurrentTabStopIdChange:x,onEntryFocus:k,preventScrollOnEntryFocus:w=!1,...C}=e,j=t.useRef(null),T=(0,o.useComposedRefs)(n,j),E=(0,c.useDirection)(g),[R=null,S]=(0,u.useControllableState)({prop:y,defaultProp:v,onChange:x}),[N,M]=t.useState(!1),L=(0,l.useCallbackRef)(k),_=m(a),O=t.useRef(!1),[D,A]=t.useState(0);return t.useEffect(()=>{let e=j.current;if(e)return e.addEventListener(f,L),()=>e.removeEventListener(f,L)},[L]),(0,d.jsx)(b,{scope:a,orientation:i,dir:E,loop:h,currentTabStopId:R,onItemFocus:t.useCallback(e=>S(e),[S]),onItemShiftTab:t.useCallback(()=>M(!0),[]),onFocusableItemAdd:t.useCallback(()=>A(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>A(e=>e-1),[]),children:(0,d.jsx)(s.Primitive.div,{tabIndex:N||0===D?-1:0,"data-orientation":i,...C,ref:T,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{O.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!O.current;if(e.target===e.currentTarget&&t&&!N){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=_().filter(e=>e.focusable);P([e.find(e=>e.active),e.find(e=>e.id===R),...e].filter(Boolean).map(e=>e.ref.current),w)}}O.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>M(!1))})})}),j="RovingFocusGroupItem",T=t.forwardRef((e,n)=>{let{__scopeRovingFocusGroup:o,focusable:a=!0,active:l=!1,tabStopId:u,...c}=e,f=(0,i.useId)(),p=u||f,h=k(j,o),y=h.currentTabStopId===p,v=m(o),{onFocusableItemAdd:x,onFocusableItemRemove:b}=h;return t.useEffect(()=>{if(a)return x(),()=>b()},[a,x,b]),(0,d.jsx)(g.ItemSlot,{scope:o,id:p,focusable:a,active:l,children:(0,d.jsx)(s.Primitive.span,{tabIndex:y?0:-1,"data-orientation":h.orientation,...c,ref:n,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{a?h.onItemFocus(p):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>h.onItemFocus(p)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let o=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return E[o]}(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&o.reverse();let a=o.indexOf(e.currentTarget);o=h.loop?(r=o,n=a+1,r.map((e,t)=>r[(n+t)%r.length])):o.slice(a+1)}setTimeout(()=>P(o))}})})})});T.displayName=j;var E={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function P(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>T,"Root",()=>w,"createRovingFocusGroupScope",()=>x])},84762,e=>{"use strict";var t=e.i(43476),r=e.i(47163);function n({className:e,...n}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...n})}e.s(["Textarea",()=>n])},63059,46349,e=>{"use strict";let t=(0,e.i(75254).default)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",()=>t],46349),e.s(["ChevronRight",()=>t],63059)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(a.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${o}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return k},MissingStaticPage:function(){return b},NormalizeError:function(){return v},PageNotFoundError:function(){return x},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let g="undefined"!=typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class v extends Error{}class x extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class k extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),o=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return x}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(90809),i=e.r(43476),s=a._(e.r(71645)),l=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(91949),h=e.r(73668),g=e.r(9396);function m(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function y(t){var r;let n,o,a,[l,y]=(0,s.useOptimistic)(p.IDLE_LINK_STATUS),x=(0,s.useRef)(null),{href:b,as:k,children:w,prefetch:C=null,passHref:j,replace:T,shallow:E,scroll:P,onClick:R,onMouseEnter:S,onTouchStart:N,legacyBehavior:M=!1,onNavigate:L,ref:_,unstable_dynamicOnHover:O,...D}=t;n=w,M&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let A=s.default.useContext(u.AppRouterContext),I=!1!==C,z=!1!==C?null===(r=C)||"auto"===r?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,{href:F,as:H}=s.default.useMemo(()=>{let e=m(b);return{href:e,as:k?m(k):e}},[b,k]);if(M){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=s.default.Children.only(n)}let U=M?o&&"object"==typeof o&&o.ref:_,B=s.default.useCallback(e=>(null!==A&&(x.current=(0,p.mountLinkInstance)(e,F,A,z,I,y)),()=>{x.current&&((0,p.unmountLinkForCurrentNavigation)(x.current),x.current=null),(0,p.unmountPrefetchableInstance)(e)}),[I,F,A,z,y]),$={ref:(0,c.useMergedRef)(B,U),onClick(t){M||"function"!=typeof R||R(t),M&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!A||t.defaultPrevented||function(t,r,n,o,a,i,l){if("undefined"!=typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);s.default.startTransition(()=>{d(n||r,a?"replace":"push",i??!0,o.current)})}}(t,F,H,x,T,P,L)},onMouseEnter(e){M||"function"!=typeof S||S(e),M&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),A&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){M||"function"!=typeof N||N(e),M&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),A&&I&&(0,p.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,d.isAbsoluteUrl)(H)?$.href=H:M&&!j&&("a"!==o.type||"href"in o.props)||($.href=(0,f.addBasePath)(H)),a=M?s.default.cloneElement(o,$):(0,i.jsx)("a",{...D,...$,children:n}),(0,i.jsx)(v.Provider,{value:l,children:a})}e.r(84508);let v=(0,s.createContext)(p.IDLE_LINK_STATUS),x=()=>(0,s.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},19036,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(81140),o=e.i(20783),a=e.i(30030),i=e.i(69340),s=e.i(99682),l=e.i(35804),u=e.i(48425),c="Switch",[d,f]=(0,a.createContextScope)(c),[p,h]=d(c),g=r.forwardRef((e,a)=>{let{__scopeSwitch:s,name:l,checked:c,defaultChecked:d,required:f,disabled:h,value:g="on",onCheckedChange:m,form:y,...b}=e,[k,w]=r.useState(null),C=(0,o.useComposedRefs)(a,e=>w(e)),j=r.useRef(!1),T=!k||y||!!k.closest("form"),[E=!1,P]=(0,i.useControllableState)({prop:c,defaultProp:d,onChange:m});return(0,t.jsxs)(p,{scope:s,checked:E,disabled:h,children:[(0,t.jsx)(u.Primitive.button,{type:"button",role:"switch","aria-checked":E,"aria-required":f,"data-state":x(E),"data-disabled":h?"":void 0,disabled:h,value:g,...b,ref:C,onClick:(0,n.composeEventHandlers)(e.onClick,e=>{P(e=>!e),T&&(j.current=e.isPropagationStopped(),j.current||e.stopPropagation())})}),T&&(0,t.jsx)(v,{control:k,bubbles:!j.current,name:l,value:g,checked:E,required:f,disabled:h,form:y,style:{transform:"translateX(-100%)"}})]})});g.displayName=c;var m="SwitchThumb",y=r.forwardRef((e,r)=>{let{__scopeSwitch:n,...o}=e,a=h(m,n);return(0,t.jsx)(u.Primitive.span,{"data-state":x(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:r})});y.displayName=m;var v=e=>{let{control:n,checked:o,bubbles:a=!0,...i}=e,u=r.useRef(null),c=(0,s.usePrevious)(o),d=(0,l.useSize)(n);return r.useEffect(()=>{let e=u.current,t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(c!==o&&t){let r=new Event("click",{bubbles:a});t.call(e,o),e.dispatchEvent(r)}},[c,o,a]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:o,...i,tabIndex:-1,ref:u,style:{...e.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function x(e){return e?"checked":"unchecked"}var b=e.i(47163);function k({className:e,...r}){return(0,t.jsx)(g,{"data-slot":"switch",className:(0,b.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...r,children:(0,t.jsx)(y,{"data-slot":"switch-thumb",className:"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"})})}e.s(["Switch",()=>k],19036)},28231,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(81140),o=e.i(20783),a=e.i(30030),i=e.i(26330),s=e.i(10772),l=e.i(53660),u=e.i(74606),c=e.i(96626),d=e.i(48425),f=e.i(91918),p=e.i(69340),h=e.i(59411),[g,m]=(0,a.createContextScope)("Tooltip",[l.createPopperScope]),y=(0,l.createPopperScope)(),v="TooltipProvider",x="tooltip.open",[b,k]=g(v),w=e=>{let{__scopeTooltip:n,delayDuration:o=700,skipDelayDuration:a=300,disableHoverableContent:i=!1,children:s}=e,[l,u]=r.useState(!0),c=r.useRef(!1),d=r.useRef(0);return r.useEffect(()=>{let e=d.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(b,{scope:n,isOpenDelayed:l,delayDuration:o,onOpen:r.useCallback(()=>{window.clearTimeout(d.current),u(!1)},[]),onClose:r.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>u(!0),a)},[a]),isPointerInTransitRef:c,onPointerInTransitChange:r.useCallback(e=>{c.current=e},[]),disableHoverableContent:i,children:s})};w.displayName=v;var C="Tooltip",[j,T]=g(C),E=e=>{let{__scopeTooltip:n,children:o,open:a,defaultOpen:i=!1,onOpenChange:u,disableHoverableContent:c,delayDuration:d}=e,f=k(C,e.__scopeTooltip),h=y(n),[g,m]=r.useState(null),v=(0,s.useId)(),b=r.useRef(0),w=c??f.disableHoverableContent,T=d??f.delayDuration,E=r.useRef(!1),[P=!1,R]=(0,p.useControllableState)({prop:a,defaultProp:i,onChange:e=>{e?(f.onOpen(),document.dispatchEvent(new CustomEvent(x))):f.onClose(),u?.(e)}}),S=r.useMemo(()=>P?E.current?"delayed-open":"instant-open":"closed",[P]),N=r.useCallback(()=>{window.clearTimeout(b.current),b.current=0,E.current=!1,R(!0)},[R]),M=r.useCallback(()=>{window.clearTimeout(b.current),b.current=0,R(!1)},[R]),L=r.useCallback(()=>{window.clearTimeout(b.current),b.current=window.setTimeout(()=>{E.current=!0,R(!0),b.current=0},T)},[T,R]);return r.useEffect(()=>()=>{b.current&&(window.clearTimeout(b.current),b.current=0)},[]),(0,t.jsx)(l.Root,{...h,children:(0,t.jsx)(j,{scope:n,contentId:v,open:P,stateAttribute:S,trigger:g,onTriggerChange:m,onTriggerEnter:r.useCallback(()=>{f.isOpenDelayed?L():N()},[f.isOpenDelayed,L,N]),onTriggerLeave:r.useCallback(()=>{w?M():(window.clearTimeout(b.current),b.current=0)},[M,w]),onOpen:N,onClose:M,disableHoverableContent:w,children:o})})};E.displayName=C;var P="TooltipTrigger",R=r.forwardRef((e,a)=>{let{__scopeTooltip:i,...s}=e,u=T(P,i),c=k(P,i),f=y(i),p=r.useRef(null),h=(0,o.useComposedRefs)(a,p,u.onTriggerChange),g=r.useRef(!1),m=r.useRef(!1),v=r.useCallback(()=>g.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,t.jsx)(l.Anchor,{asChild:!0,...f,children:(0,t.jsx)(d.Primitive.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...s,ref:h,onPointerMove:(0,n.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(m.current||c.isPointerInTransitRef.current||(u.onTriggerEnter(),m.current=!0))}),onPointerLeave:(0,n.composeEventHandlers)(e.onPointerLeave,()=>{u.onTriggerLeave(),m.current=!1}),onPointerDown:(0,n.composeEventHandlers)(e.onPointerDown,()=>{g.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{g.current||u.onOpen()}),onBlur:(0,n.composeEventHandlers)(e.onBlur,u.onClose),onClick:(0,n.composeEventHandlers)(e.onClick,u.onClose)})})});R.displayName=P;var S="TooltipPortal",[N,M]=g(S,{forceMount:void 0}),L=e=>{let{__scopeTooltip:r,forceMount:n,children:o,container:a}=e,i=T(S,r);return(0,t.jsx)(N,{scope:r,forceMount:n,children:(0,t.jsx)(c.Presence,{present:n||i.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:a,children:o})})})};L.displayName=S;var _="TooltipContent",O=r.forwardRef((e,r)=>{let n=M(_,e.__scopeTooltip),{forceMount:o=n.forceMount,side:a="top",...i}=e,s=T(_,e.__scopeTooltip);return(0,t.jsx)(c.Presence,{present:o||s.open,children:s.disableHoverableContent?(0,t.jsx)(z,{side:a,...i,ref:r}):(0,t.jsx)(D,{side:a,...i,ref:r})})}),D=r.forwardRef((e,n)=>{let a=T(_,e.__scopeTooltip),i=k(_,e.__scopeTooltip),s=r.useRef(null),l=(0,o.useComposedRefs)(n,s),[u,c]=r.useState(null),{trigger:d,onClose:f}=a,p=s.current,{onPointerInTransitChange:h}=i,g=r.useCallback(()=>{c(null),h(!1)},[h]),m=r.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(r,n,o,a)){case a:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());c(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,a),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),h(!0)},[h]);return r.useEffect(()=>()=>g(),[g]),r.useEffect(()=>{if(d&&p){let e=e=>m(e,p),t=e=>m(e,d);return d.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[d,p,m,g]),r.useEffect(()=>{if(u){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=d?.contains(t)||p?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let i=t[e].x,s=t[e].y,l=t[a].x,u=t[a].y;s>n!=u>n&&r<(l-i)*(n-s)/(u-s)+i&&(o=!o)}return o}(r,u);n?g():o&&(g(),f())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,p,u,f,g]),(0,t.jsx)(z,{...e,ref:l})}),[A,I]=g(C,{isInside:!1}),z=r.forwardRef((e,n)=>{let{__scopeTooltip:o,children:a,"aria-label":s,onEscapeKeyDown:u,onPointerDownOutside:c,...d}=e,p=T(_,o),g=y(o),{onClose:m}=p;return r.useEffect(()=>(document.addEventListener(x,m),()=>document.removeEventListener(x,m)),[m]),r.useEffect(()=>{if(p.trigger){let e=e=>{let t=e.target;t?.contains(p.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[p.trigger,m]),(0,t.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,t.jsxs)(l.Content,{"data-state":p.stateAttribute,...g,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(f.Slottable,{children:a}),(0,t.jsx)(A,{scope:o,isInside:!0,children:(0,t.jsx)(h.Root,{id:p.contentId,role:"tooltip",children:s||a})})]})})});O.displayName=_;var F="TooltipArrow",H=r.forwardRef((e,r)=>{let{__scopeTooltip:n,...o}=e,a=y(n);return I(F,n).isInside?null:(0,t.jsx)(l.Arrow,{...a,...o,ref:r})});H.displayName=F;var U=e.i(47163);function B({delayDuration:e=0,...r}){return(0,t.jsx)(w,{"data-slot":"tooltip-provider",delayDuration:e,...r})}function $({...e}){return(0,t.jsx)(B,{children:(0,t.jsx)(E,{"data-slot":"tooltip",...e})})}function K({...e}){return(0,t.jsx)(R,{"data-slot":"tooltip-trigger",...e})}function q({className:e,sideOffset:r=0,children:n,...o}){return(0,t.jsx)(L,{children:(0,t.jsxs)(O,{"data-slot":"tooltip-content",sideOffset:r,className:(0,U.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...o,children:[n,(0,t.jsx)(H,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}e.s(["Tooltip",()=>$,"TooltipContent",()=>q,"TooltipProvider",()=>B,"TooltipTrigger",()=>K],28231)},69035,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(48425),o="horizontal",a=["horizontal","vertical"],i=r.forwardRef((e,r)=>{var i;let{decorative:s,orientation:l=o,...u}=e,c=(i=l,a.includes(i))?l:o;return(0,t.jsx)(n.Primitive.div,{"data-orientation":c,...s?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"},...u,ref:r})});i.displayName="Separator";var s=e.i(47163);function l({className:e,orientation:r="horizontal",decorative:n=!0,...o}){return(0,t.jsx)(i,{"data-slot":"separator",decorative:n,orientation:r,className:(0,s.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...o})}e.s(["Separator",()=>l],69035)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,78784,e=>{"use strict";var t=e.i(78745);e.s(["CheckIcon",()=>t.default])},99219,e=>{"use strict";let t=(0,e.i(75254).default)("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["default",()=>t])},78745,e=>{"use strict";let t=(0,e.i(75254).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t])},31171,e=>{"use strict";let t=(0,e.i(75254).default)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["default",()=>t])},35804,e=>{"use strict";var t=e.i(71645),r=e.i(34620);function n(e){let[n,o]=t.useState(void 0);return(0,r.useLayoutEffect)(()=>{if(e){o({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,n;if(!Array.isArray(t)||!t.length)return;let l=t[0];if("borderBoxSize"in l){let e=l.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,n=t.blockSize}else r=e.offsetWidth,n=e.offsetHeight;o({width:r,height:n})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}o(void 0)},[e]),n}e.s(["useSize",()=>n])},99682,e=>{"use strict";var t=e.i(71645);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},75830,86318,e=>{"use strict";var t=e.i(71645),r=e.i(30030),n=e.i(20783),o=e.i(91918),l=e.i(43476);function a(e){let a=e+"CollectionProvider",[i,s]=(0,r.createContextScope)(a),[d,c]=i(a,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:n}=e,o=t.default.useRef(null),a=t.default.useRef(new Map).current;return(0,l.jsx)(d,{scope:r,itemMap:a,collectionRef:o,children:n})};u.displayName=a;let p=e+"CollectionSlot",f=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,i=c(p,r),s=(0,n.useComposedRefs)(t,i.collectionRef);return(0,l.jsx)(o.Slot,{ref:s,children:a})});f.displayName=p;let v=e+"CollectionItemSlot",m="data-radix-collection-item",h=t.default.forwardRef((e,r)=>{let{scope:a,children:i,...s}=e,d=t.default.useRef(null),u=(0,n.useComposedRefs)(r,d),p=c(v,a);return t.default.useEffect(()=>(p.itemMap.set(d,{ref:d,...s}),()=>void p.itemMap.delete(d))),(0,l.jsx)(o.Slot,{...{[m]:""},ref:u,children:i})});return h.displayName=v,[{Provider:u,Slot:f,ItemSlot:h},function(r){let n=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},s]}e.s(["createCollection",()=>a],75830);var i=t.createContext(void 0);function s(e){let r=t.useContext(i);return e||r||"ltr"}e.s(["useDirection",()=>s],86318)},62870,70152,9797,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(74080);function o(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s(["clamp",()=>o],70152);var l=e.i(81140),a=e.i(75830),i=e.i(20783),s=e.i(30030),d=e.i(86318),c=e.i(26330),u=e.i(3536),p=e.i(65491),f=e.i(10772),v=e.i(53660),m=e.i(74606),h=e.i(48425),x=e.i(91918),g=e.i(30207),w=e.i(69340),y=e.i(34620),b=e.i(99682),S=e.i(59411),C=e.i(86312),j=e.i(85369),R=[" ","Enter","ArrowUp","ArrowDown"],E=[" ","Enter"],P="Select",[k,T,I]=(0,a.createCollection)(P),[N,H]=(0,s.createContextScope)(P,[I,v.createPopperScope]),M=(0,v.createPopperScope)(),[D,L]=N(P),[A,z]=N(P),_=e=>{let{__scopeSelect:n,children:o,open:l,defaultOpen:a,onOpenChange:i,value:s,defaultValue:c,onValueChange:u,dir:p,name:m,autoComplete:h,disabled:x,required:g,form:y}=e,b=M(n),[S,C]=r.useState(null),[j,R]=r.useState(null),[E,P]=r.useState(!1),T=(0,d.useDirection)(p),[I=!1,N]=(0,w.useControllableState)({prop:l,defaultProp:a,onChange:i}),[H,L]=(0,w.useControllableState)({prop:s,defaultProp:c,onChange:u}),z=r.useRef(null),_=!S||y||!!S.closest("form"),[B,O]=r.useState(new Set),V=Array.from(B).map(e=>e.props.value).join(";");return(0,t.jsx)(v.Root,{...b,children:(0,t.jsxs)(D,{required:g,scope:n,trigger:S,onTriggerChange:C,valueNode:j,onValueNodeChange:R,valueNodeHasChildren:E,onValueNodeHasChildrenChange:P,contentId:(0,f.useId)(),value:H,onValueChange:L,open:I,onOpenChange:N,dir:T,triggerPointerDownPosRef:z,disabled:x,children:[(0,t.jsx)(k.Provider,{scope:n,children:(0,t.jsx)(A,{scope:e.__scopeSelect,onNativeOptionAdd:r.useCallback(e=>{O(t=>new Set(t).add(e))},[]),onNativeOptionRemove:r.useCallback(e=>{O(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:o})}),_?(0,t.jsxs)(eb,{"aria-hidden":!0,required:g,tabIndex:-1,name:m,autoComplete:h,value:H,onChange:e=>L(e.target.value),disabled:x,form:y,children:[void 0===H?(0,t.jsx)("option",{value:""}):null,Array.from(B)]},V):null]})})};_.displayName=P;var B="SelectTrigger",O=r.forwardRef((e,n)=>{let{__scopeSelect:o,disabled:a=!1,...s}=e,d=M(o),c=L(B,o),u=c.disabled||a,p=(0,i.useComposedRefs)(n,c.onTriggerChange),f=T(o),m=r.useRef("touch"),[x,g,w]=eS(e=>{let t=f().filter(e=>!e.disabled),r=t.find(e=>e.value===c.value),n=eC(t,e,r);void 0!==n&&c.onValueChange(n.value)}),y=e=>{u||(c.onOpenChange(!0),w()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(v.Anchor,{asChild:!0,...d,children:(0,t.jsx)(h.Primitive.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":ey(c.value)?"":void 0,...s,ref:p,onClick:(0,l.composeEventHandlers)(s.onClick,e=>{e.currentTarget.focus(),"mouse"!==m.current&&y(e)}),onPointerDown:(0,l.composeEventHandlers)(s.onPointerDown,e=>{m.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(y(e),e.preventDefault())}),onKeyDown:(0,l.composeEventHandlers)(s.onKeyDown,e=>{let t=""!==x.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||g(e.key),(!t||" "!==e.key)&&R.includes(e.key)&&(y(),e.preventDefault())})})})});O.displayName=B;var V="SelectValue",K=r.forwardRef((e,r)=>{let{__scopeSelect:n,className:o,style:l,children:a,placeholder:s="",...d}=e,c=L(V,n),{onValueNodeHasChildrenChange:u}=c,p=void 0!==a,f=(0,i.useComposedRefs)(r,c.onValueNodeChange);return(0,y.useLayoutEffect)(()=>{u(p)},[u,p]),(0,t.jsx)(h.Primitive.span,{...d,ref:f,style:{pointerEvents:"none"},children:ey(c.value)?(0,t.jsx)(t.Fragment,{children:s}):a})});K.displayName=V;var F=r.forwardRef((e,r)=>{let{__scopeSelect:n,children:o,...l}=e;return(0,t.jsx)(h.Primitive.span,{"aria-hidden":!0,...l,ref:r,children:o||"▼"})});F.displayName="SelectIcon";var U=e=>(0,t.jsx)(m.Portal,{asChild:!0,...e});U.displayName="SelectPortal";var W="SelectContent",q=r.forwardRef((e,o)=>{let l=L(W,e.__scopeSelect),[a,i]=r.useState();return((0,y.useLayoutEffect)(()=>{i(new DocumentFragment)},[]),l.open)?(0,t.jsx)(Y,{...e,ref:o}):a?n.createPortal((0,t.jsx)(G,{scope:e.__scopeSelect,children:(0,t.jsx)(k.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),a):null});q.displayName=W;var[G,X]=N(W),Y=r.forwardRef((e,n)=>{let{__scopeSelect:o,position:a="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:d,onPointerDownOutside:f,side:v,sideOffset:m,align:h,alignOffset:g,arrowPadding:w,collisionBoundary:y,collisionPadding:b,sticky:S,hideWhenDetached:R,avoidCollisions:E,...P}=e,k=L(W,o),[I,N]=r.useState(null),[H,M]=r.useState(null),D=(0,i.useComposedRefs)(n,e=>N(e)),[A,z]=r.useState(null),[_,B]=r.useState(null),O=T(o),[V,K]=r.useState(!1),F=r.useRef(!1);r.useEffect(()=>{if(I)return(0,C.hideOthers)(I)},[I]),(0,u.useFocusGuards)();let U=r.useCallback(e=>{let[t,...r]=O().map(e=>e.ref.current),[n]=r.slice(-1),o=document.activeElement;for(let r of e)if(r===o||(r?.scrollIntoView({block:"nearest"}),r===t&&H&&(H.scrollTop=0),r===n&&H&&(H.scrollTop=H.scrollHeight),r?.focus(),document.activeElement!==o))return},[O,H]),q=r.useCallback(()=>U([A,I]),[U,A,I]);r.useEffect(()=>{V&&q()},[V,q]);let{onOpenChange:X,triggerPointerDownPosRef:Y}=k;r.useEffect(()=>{if(I){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(Y.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(Y.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():I.contains(r.target)||X(!1),document.removeEventListener("pointermove",t),Y.current=null};return null!==Y.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[I,X,Y]),r.useEffect(()=>{let e=()=>X(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[X]);let[J,Q]=eS(e=>{let t=O().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=eC(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),ee=r.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==k.value&&k.value===t||n)&&(z(e),n&&(F.current=!0))},[k.value]),et=r.useCallback(()=>I?.focus(),[I]),er=r.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==k.value&&k.value===t||n)&&B(e)},[k.value]),en="popper"===a?$:Z,eo=en===$?{side:v,sideOffset:m,align:h,alignOffset:g,arrowPadding:w,collisionBoundary:y,collisionPadding:b,sticky:S,hideWhenDetached:R,avoidCollisions:E}:{};return(0,t.jsx)(G,{scope:o,content:I,viewport:H,onViewportChange:M,itemRefCallback:ee,selectedItem:A,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:q,selectedItemText:_,position:a,isPositioned:V,searchRef:J,children:(0,t.jsx)(j.RemoveScroll,{as:x.Slot,allowPinchZoom:!0,children:(0,t.jsx)(p.FocusScope,{asChild:!0,trapped:k.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,l.composeEventHandlers)(s,e=>{k.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(c.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>k.onOpenChange(!1),children:(0,t.jsx)(en,{role:"listbox",id:k.contentId,"data-state":k.open?"open":"closed",dir:k.dir,onContextMenu:e=>e.preventDefault(),...P,...eo,onPlaced:()=>K(!0),ref:D,style:{display:"flex",flexDirection:"column",outline:"none",...P.style},onKeyDown:(0,l.composeEventHandlers)(P.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Q(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=O().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>U(t)),e.preventDefault()}})})})})})})});Y.displayName="SelectContentImpl";var Z=r.forwardRef((e,n)=>{let{__scopeSelect:l,onPlaced:a,...s}=e,d=L(W,l),c=X(W,l),[u,p]=r.useState(null),[f,v]=r.useState(null),m=(0,i.useComposedRefs)(n,e=>v(e)),x=T(l),g=r.useRef(!1),w=r.useRef(!0),{viewport:b,selectedItem:S,selectedItemText:C,focusSelectedItem:j}=c,R=r.useCallback(()=>{if(d.trigger&&d.valueNode&&u&&f&&b&&S&&C){let e=d.trigger.getBoundingClientRect(),t=f.getBoundingClientRect(),r=d.valueNode.getBoundingClientRect(),n=C.getBoundingClientRect();if("rtl"!==d.dir){let l=n.left-t.left,a=r.left-l,i=e.left-a,s=e.width+i,d=Math.max(s,t.width),c=o(a,[10,Math.max(10,window.innerWidth-10-d)]);u.style.minWidth=s+"px",u.style.left=c+"px"}else{let l=t.right-n.right,a=window.innerWidth-r.right-l,i=window.innerWidth-e.right-a,s=e.width+i,d=Math.max(s,t.width),c=o(a,[10,Math.max(10,window.innerWidth-10-d)]);u.style.minWidth=s+"px",u.style.right=c+"px"}let l=x(),i=window.innerHeight-20,s=b.scrollHeight,c=window.getComputedStyle(f),p=parseInt(c.borderTopWidth,10),v=parseInt(c.paddingTop,10),m=parseInt(c.borderBottomWidth,10),h=p+v+s+parseInt(c.paddingBottom,10)+m,w=Math.min(5*S.offsetHeight,h),y=window.getComputedStyle(b),j=parseInt(y.paddingTop,10),R=parseInt(y.paddingBottom,10),E=e.top+e.height/2-10,P=S.offsetHeight/2,k=p+v+(S.offsetTop+P);if(k<=E){let e=l.length>0&&S===l[l.length-1].ref.current;u.style.bottom="0px";let t=Math.max(i-E,P+(e?R:0)+(f.clientHeight-b.offsetTop-b.offsetHeight)+m);u.style.height=k+t+"px"}else{let e=l.length>0&&S===l[0].ref.current;u.style.top="0px";let t=Math.max(E,p+b.offsetTop+(e?j:0)+P);u.style.height=t+(h-k)+"px",b.scrollTop=k-E+b.offsetTop}u.style.margin="10px 0",u.style.minHeight=w+"px",u.style.maxHeight=i+"px",a?.(),requestAnimationFrame(()=>g.current=!0)}},[x,d.trigger,d.valueNode,u,f,b,S,C,d.dir,a]);(0,y.useLayoutEffect)(()=>R(),[R]);let[E,P]=r.useState();(0,y.useLayoutEffect)(()=>{f&&P(window.getComputedStyle(f).zIndex)},[f]);let k=r.useCallback(e=>{e&&!0===w.current&&(R(),j?.(),w.current=!1)},[R,j]);return(0,t.jsx)(J,{scope:l,contentWrapper:u,shouldExpandOnScrollRef:g,onScrollButtonChange:k,children:(0,t.jsx)("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:E},children:(0,t.jsx)(h.Primitive.div,{...s,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});Z.displayName="SelectItemAlignedPosition";var $=r.forwardRef((e,r)=>{let{__scopeSelect:n,align:o="start",collisionPadding:l=10,...a}=e,i=M(n);return(0,t.jsx)(v.Content,{...i,...a,ref:r,align:o,collisionPadding:l,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});$.displayName="SelectPopperPosition";var[J,Q]=N(W,{}),ee="SelectViewport",et=r.forwardRef((e,n)=>{let{__scopeSelect:o,nonce:a,...s}=e,d=X(ee,o),c=Q(ee,o),u=(0,i.useComposedRefs)(n,d.onViewportChange),p=r.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,t.jsx)(k.Slot,{scope:o,children:(0,t.jsx)(h.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:(0,l.composeEventHandlers)(s.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=c;if(n?.current&&r){let e=Math.abs(p.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,o=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(o<n){let l=o+e,a=Math.min(n,l),i=l-a;r.style.height=a+"px","0px"===r.style.bottom&&(t.scrollTop=i>0?i:0,r.style.justifyContent="flex-end")}}}p.current=t.scrollTop})})})]})});et.displayName=ee;var er="SelectGroup",[en,eo]=N(er);r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e,l=(0,f.useId)();return(0,t.jsx)(en,{scope:n,id:l,children:(0,t.jsx)(h.Primitive.div,{role:"group","aria-labelledby":l,...o,ref:r})})}).displayName=er;var el="SelectLabel";r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e,l=eo(el,n);return(0,t.jsx)(h.Primitive.div,{id:l.id,...o,ref:r})}).displayName=el;var ea="SelectItem",[ei,es]=N(ea),ed=r.forwardRef((e,n)=>{let{__scopeSelect:o,value:a,disabled:s=!1,textValue:d,...c}=e,u=L(ea,o),p=X(ea,o),v=u.value===a,[m,x]=r.useState(d??""),[g,w]=r.useState(!1),y=(0,i.useComposedRefs)(n,e=>p.itemRefCallback?.(e,a,s)),b=(0,f.useId)(),S=r.useRef("touch"),C=()=>{s||(u.onValueChange(a),u.onOpenChange(!1))};if(""===a)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(ei,{scope:o,value:a,disabled:s,textId:b,isSelected:v,onItemTextChange:r.useCallback(e=>{x(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(k.ItemSlot,{scope:o,value:a,disabled:s,textValue:m,children:(0,t.jsx)(h.Primitive.div,{role:"option","aria-labelledby":b,"data-highlighted":g?"":void 0,"aria-selected":v&&g,"data-state":v?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...c,ref:y,onFocus:(0,l.composeEventHandlers)(c.onFocus,()=>w(!0)),onBlur:(0,l.composeEventHandlers)(c.onBlur,()=>w(!1)),onClick:(0,l.composeEventHandlers)(c.onClick,()=>{"mouse"!==S.current&&C()}),onPointerUp:(0,l.composeEventHandlers)(c.onPointerUp,()=>{"mouse"===S.current&&C()}),onPointerDown:(0,l.composeEventHandlers)(c.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:(0,l.composeEventHandlers)(c.onPointerMove,e=>{S.current=e.pointerType,s?p.onItemLeave?.():"mouse"===S.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,l.composeEventHandlers)(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&p.onItemLeave?.()}),onKeyDown:(0,l.composeEventHandlers)(c.onKeyDown,e=>{(p.searchRef?.current===""||" "!==e.key)&&(E.includes(e.key)&&C()," "===e.key&&e.preventDefault())})})})})});ed.displayName=ea;var ec="SelectItemText",eu=r.forwardRef((e,o)=>{let{__scopeSelect:l,className:a,style:s,...d}=e,c=L(ec,l),u=X(ec,l),p=es(ec,l),f=z(ec,l),[v,m]=r.useState(null),x=(0,i.useComposedRefs)(o,e=>m(e),p.onItemTextChange,e=>u.itemTextRefCallback?.(e,p.value,p.disabled)),g=v?.textContent,w=r.useMemo(()=>(0,t.jsx)("option",{value:p.value,disabled:p.disabled,children:g},p.value),[p.disabled,p.value,g]),{onNativeOptionAdd:b,onNativeOptionRemove:S}=f;return(0,y.useLayoutEffect)(()=>(b(w),()=>S(w)),[b,S,w]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h.Primitive.span,{id:p.textId,...d,ref:x}),p.isSelected&&c.valueNode&&!c.valueNodeHasChildren?n.createPortal(d.children,c.valueNode):null]})});eu.displayName=ec;var ep="SelectItemIndicator",ef=r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e;return es(ep,n).isSelected?(0,t.jsx)(h.Primitive.span,{"aria-hidden":!0,...o,ref:r}):null});ef.displayName=ep;var ev="SelectScrollUpButton",em=r.forwardRef((e,n)=>{let o=X(ev,e.__scopeSelect),l=Q(ev,e.__scopeSelect),[a,s]=r.useState(!1),d=(0,i.useComposedRefs)(n,l.onScrollButtonChange);return(0,y.useLayoutEffect)(()=>{if(o.viewport&&o.isPositioned){let e=function(){s(t.scrollTop>0)},t=o.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[o.viewport,o.isPositioned]),a?(0,t.jsx)(eg,{...e,ref:d,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=o;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});em.displayName=ev;var eh="SelectScrollDownButton",ex=r.forwardRef((e,n)=>{let o=X(eh,e.__scopeSelect),l=Q(eh,e.__scopeSelect),[a,s]=r.useState(!1),d=(0,i.useComposedRefs)(n,l.onScrollButtonChange);return(0,y.useLayoutEffect)(()=>{if(o.viewport&&o.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;s(Math.ceil(t.scrollTop)<e)},t=o.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[o.viewport,o.isPositioned]),a?(0,t.jsx)(eg,{...e,ref:d,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=o;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ex.displayName=eh;var eg=r.forwardRef((e,n)=>{let{__scopeSelect:o,onAutoScroll:a,...i}=e,s=X("SelectScrollButton",o),d=r.useRef(null),c=T(o),u=r.useCallback(()=>{null!==d.current&&(window.clearInterval(d.current),d.current=null)},[]);return r.useEffect(()=>()=>u(),[u]),(0,y.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,t.jsx)(h.Primitive.div,{"aria-hidden":!0,...i,ref:n,style:{flexShrink:0,...i.style},onPointerDown:(0,l.composeEventHandlers)(i.onPointerDown,()=>{null===d.current&&(d.current=window.setInterval(a,50))}),onPointerMove:(0,l.composeEventHandlers)(i.onPointerMove,()=>{s.onItemLeave?.(),null===d.current&&(d.current=window.setInterval(a,50))}),onPointerLeave:(0,l.composeEventHandlers)(i.onPointerLeave,()=>{u()})})});r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e;return(0,t.jsx)(h.Primitive.div,{"aria-hidden":!0,...o,ref:r})}).displayName="SelectSeparator";var ew="SelectArrow";function ey(e){return""===e||void 0===e}r.forwardRef((e,r)=>{let{__scopeSelect:n,...o}=e,l=M(n),a=L(ew,n),i=X(ew,n);return a.open&&"popper"===i.position?(0,t.jsx)(v.Arrow,{...l,...o,ref:r}):null}).displayName=ew;var eb=r.forwardRef((e,n)=>{let{value:o,...l}=e,a=r.useRef(null),s=(0,i.useComposedRefs)(n,a),d=(0,b.usePrevious)(o);return r.useEffect(()=>{let e=a.current,t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(d!==o&&t){let r=new Event("change",{bubbles:!0});t.call(e,o),e.dispatchEvent(r)}},[d,o]),(0,t.jsx)(S.VisuallyHidden,{asChild:!0,children:(0,t.jsx)("select",{...l,ref:s,defaultValue:o})})});function eS(e){let t=(0,g.useCallbackRef)(e),n=r.useRef(""),o=r.useRef(0),l=r.useCallback(e=>{let r=n.current+e;t(r),function e(t){n.current=t,window.clearTimeout(o.current),""!==t&&(o.current=window.setTimeout(()=>e(""),1e3))}(r)},[t]),a=r.useCallback(()=>{n.current="",window.clearTimeout(o.current)},[]);return r.useEffect(()=>()=>window.clearTimeout(o.current),[]),[n,l,a]}function eC(e,t,r){var n,o;let l=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,a=r?e.indexOf(r):-1,i=(n=e,o=Math.max(a,0),n.map((e,t)=>n[(o+t)%n.length]));1===l.length&&(i=i.filter(e=>e!==r));let s=i.find(e=>e.textValue.toLowerCase().startsWith(l.toLowerCase()));return s!==r?s:void 0}eb.displayName="BubbleSelect";var ej=e.i(78784),eR=e.i(31171);e.s(["ChevronDownIcon",()=>eR.default],9797);var eR=eR,eE=e.i(99219),eE=eE,eP=e.i(47163);function ek({...e}){return(0,t.jsx)(_,{"data-slot":"select",...e})}function eT({...e}){return(0,t.jsx)(K,{"data-slot":"select-value",...e})}function eI({className:e,size:r="default",children:n,...o}){return(0,t.jsxs)(O,{"data-slot":"select-trigger","data-size":r,className:(0,eP.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o,children:[n,(0,t.jsx)(F,{asChild:!0,children:(0,t.jsx)(eR.default,{className:"size-4 opacity-50"})})]})}function eN({className:e,children:r,position:n="popper",...o}){return(0,t.jsx)(U,{children:(0,t.jsxs)(q,{"data-slot":"select-content",className:(0,eP.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...o,children:[(0,t.jsx)(eM,{}),(0,t.jsx)(et,{className:(0,eP.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:r}),(0,t.jsx)(eD,{})]})})}function eH({className:e,children:r,...n}){return(0,t.jsxs)(ed,{"data-slot":"select-item",className:(0,eP.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[(0,t.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,t.jsx)(ef,{children:(0,t.jsx)(ej.CheckIcon,{className:"size-4"})})}),(0,t.jsx)(eu,{children:r})]})}function eM({className:e,...r}){return(0,t.jsx)(em,{"data-slot":"select-scroll-up-button",className:(0,eP.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eE.default,{className:"size-4"})})}function eD({className:e,...r}){return(0,t.jsx)(ex,{"data-slot":"select-scroll-down-button",className:(0,eP.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eR.default,{className:"size-4"})})}e.s(["Select",()=>ek,"SelectContent",()=>eN,"SelectItem",()=>eH,"SelectTrigger",()=>eI,"SelectValue",()=>eT],62870)}]);